mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-19 06:20:38 -07:00
fix: support for NodeJS 15, fixes #732
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import { getPerformance } from './performance'
|
||||
|
||||
describe('performance', () => {
|
||||
let globalPerformance: Performance
|
||||
beforeEach(() => {
|
||||
globalPerformance = global.performance
|
||||
})
|
||||
afterEach(() => {
|
||||
global.performance = globalPerformance
|
||||
delete (global as any).window
|
||||
})
|
||||
it('should use global.performance if exist', () => {
|
||||
const performance = {} as any as Performance
|
||||
global.performance = performance
|
||||
expect(getPerformance()).toEqual(performance)
|
||||
})
|
||||
it('should use window.performance if exist', () => {
|
||||
const performance = {} as any as Performance
|
||||
delete (global as any).performance
|
||||
global.window = { performance } as any
|
||||
expect(getPerformance()).toEqual(performance)
|
||||
})
|
||||
it('should use polyfill if no window/global.performance', () => {
|
||||
delete (global as any).performance
|
||||
const now = getPerformance().now()
|
||||
expect(Number.isInteger(now)).toBeTruthy()
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,13 @@
|
||||
interface LiquidPerformance {
|
||||
now: () => number
|
||||
}
|
||||
|
||||
const polyfill: LiquidPerformance = {
|
||||
now: () => Date.now()
|
||||
}
|
||||
|
||||
export function getPerformance (): LiquidPerformance {
|
||||
return (typeof global === 'object' && global.performance) ||
|
||||
(typeof window === 'object' && window.performance) ||
|
||||
polyfill
|
||||
}
|
||||
Reference in New Issue
Block a user