Add isClientSide helper for server-side rendering
This commit is contained in:
parent
5f039f5f86
commit
3fae7adc4a
@ -2,3 +2,4 @@ export * from './ClientRenderer'
|
||||
export * from './IClientConfig'
|
||||
export * from './IRenderer'
|
||||
export * from './IStoreFactory'
|
||||
export * from './isClientSide'
|
||||
|
||||
27
packages/client/src/renderer/isClientSide.test.ts
Normal file
27
packages/client/src/renderer/isClientSide.test.ts
Normal file
@ -0,0 +1,27 @@
|
||||
import {isClientSide} from './isClientSide'
|
||||
|
||||
describe('isClientSide', () => {
|
||||
|
||||
describe('client', () => {
|
||||
it('returns true when running in browser', () => {
|
||||
expect(isClientSide()).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
describe('server', () => {
|
||||
|
||||
const g: any = global
|
||||
const window = g.window
|
||||
beforeEach(() => {
|
||||
delete g.window
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
g.window = window
|
||||
})
|
||||
it('returns false when running on server', () => {
|
||||
expect(isClientSide()).toBe(false)
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
5
packages/client/src/renderer/isClientSide.ts
Normal file
5
packages/client/src/renderer/isClientSide.ts
Normal file
@ -0,0 +1,5 @@
|
||||
export function isClientSide() {
|
||||
return typeof window !== 'undefined' &&
|
||||
typeof window.document !== 'undefined' &&
|
||||
typeof window.document.createElement === 'function'
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user