@offirmo/globalthis-ponyfill
v4.0.0
Published
Ponyfill for globalThis
Downloads
155
Maintainers
Readme
This is a trivial TypeScript-compatible globalThis
ponyfill.
- very small minzipped size
- NO dependencies
- doesn't alter the environment (ponyfill)
- compatible with node & browser
Usage
import { getGlobalThis } from '@offirmo/globalthis-ponyfill'
// typed access
declare global {
var foo: number
}
const globalThis = getGlobalThis()
globalThis.foo = 42
// untyped access
const globalThis = getGlobalThis<any>()
globalThis.bar = 42
Rationale
globalThis
is a TC-39 proposal which is already supported by Firefox and Chrome.- There are existing ponyfills/polyfills out there, but they didn't work for me:
- mine is much simpler: a single TS file of 6 meaningful lines
- I needed TypeScript
- a ponyfill is better than a polyfill, it doesn't patch the environment.
Credits
YES I had a look at ljharb/globalThis 's implementation (MIT) and started my implementation from it! Thanks a lot and all credits due!
About the proposed implementation here: https://mathiasbynens.be/notes/globalthis we can't use it: it creates a polyfill, not a ponyfill. However I took a line from the "naive implementation".