@bestdoctor/its-on-client
TypeScript icon, indicating that this package has built-in type declarations

1.3.0 • Public • Published

@bestdoctor/its-on-client

TypeScript клиент для ItsOn.

Установка

$ yarn add @bestdoctor/its-on-client

или

$ npm i -S @bestdoctor/its-on-client

Пример использование

Инициализация клиента

import { ItsOnClient, Flags } from '@bestdoctor/its-on-client'

const serializedFlags = process.env._ITS_ON_FLAGS_
const prefetchedFlags = serializedFlags ? JSON.parse(serializedFlags) as Flags : undefined

export const itsOnClient = new ItsOnClient({
  url: String(process.env.ITS_ON_URL),
  prefetchedFlags,
  debugFlags: {
    'some-debug-flag': true
  }
})

export const isActive = (flag: string) => itsOnClient.isActive(flag)

Инициализация клиента с ограничением флагов типизацией

import { ItsOnClient, Flags } from '@bestdoctor/its-on-client'

type ProjectFlags = 'some-flag' | 'another-flag' | 'some-awesome-flag'
or
enum ProjectFlags = {
  SOME_FLAG,
  ANOTHER_FLAG,
  NEW_ANOTHER_FLAG,
}

const serializedFlags = process.env._ITS_ON_FLAGS_
const prefetchedFlags = serializedFlags ? JSON.parse(serializedFlags) as Flags : undefined

export const itsOnClient = new ItsOnClient<ProjectFlags>({
  url: String(process.env.ITS_ON_URL),
  prefetchedFlags,
})

export const isActive = (flag: ProjectFlags) => itsOnClient.isActive(flag)

Загрузка флагов в головном компоненте

useEffect(() => {
  itsOnClient.fetchFlags().then(() => {
    setIsFlagsLoaded(true)
  })
}, [])

Вспомогательные функции

logFlag: (flag: string) => void

Вывод в консоль текущего значения флага

logAllFlags: () => void

Вывод в консоль всех флагов

logDebugFlags: () => void

Вывод в консоль всех отладочных флагов

Readme

Keywords

none

Package Sidebar

Install

npm i @bestdoctor/its-on-client

Weekly Downloads

9

Version

1.3.0

License

MIT

Unpacked Size

23.9 kB

Total Files

20

Last publish

Collaborators

  • lerikp
  • vivcogit
  • pro100filipp