@polioan/global-js
TypeScript icon, indicating that this package has built-in type declarations

2.0.1 • Public • Published

global-js

version license

get, set global values in any js env

Use case

Test

import { setGlobal, getEnv } from '@polioan/global-js'

function toTest() {
  return 333
}

if (getEnv('NODE_ENV') === 'test') {
  setGlobal('toTest', toTest)
}

Global cache (useful for hot reload)

import { getEnv, getGlobal, setGlobal } from '@polioan/global-js'
import { PrismaClient } from '@prisma/client'

export const prisma: PrismaClient = getGlobal('prisma') ?? new PrismaClient({})

if (getEnv('NODE_ENV') !== 'production') {
  setGlobal('prisma', prisma)
}

Libs for browser

import { setGlobal } from '@polioan/global-js'

class Myjquery {}

setGlobal('$', new Myjquery())

Polyfills

import { setGlobal } from '@polioan/global-js'

if (typeof structuredClone === 'undefined') {
  setGlobal('structuredClone', value => JSON.parse(JSON.stringify(value)))
}

Creating global libraries

import { setGlobal } from '@polioan/global-js'

declare global {
  var calculate: (a: number, b: number) => number
}

setGlobal('calculate', (a: number, b: number) => a + b)

const test = calculate(2, 3) // will work

Install

npm

npm i @polioan/global-js

yarn

yarn add @polioan/global-js

CDN

<script src="https://unpkg.com/@polioan/global-js@2.0.1/dist/index.global.js"></script>
<script>
  setGlobal('some', 'test')
</script>

Deno

import { setGlobal } from 'https://deno.land/x/global_js@2.0.1/src/index.ts'
setGlobal('some', 'test')

Package Sidebar

Install

npm i @polioan/global-js

Weekly Downloads

2

Version

2.0.1

License

MIT

Unpacked Size

13.1 kB

Total Files

7

Last publish

Collaborators

  • polioan