UNPKG

@aimee-blue/ab-service-kit

Version:
1 lines 1.66 kB
{"version":3,"sources":["../../../src/shared/configuration/featureFlags.ts"],"names":["configureFlags","defaultFlags","load","params","flagsData","Config","then","config","featureFlags","latest","withLatest","whatever","pipe","something","item"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAEO,SAASA,cAAT,CAAgCC,YAAhC,EAAiD;AACtD,QAAMC,IAAI,GAAG,OAAOC,MAA+B,GAAG,EAAzC,KAAgD;AAC3D,UAAMC,SAAS,GAAI,MAAMC,MAAM,CAACH,IAAP,CAAYC,MAAZ,EAAoBG,IAApB,CACvBC,MAAM,IAAIA,MAAM,CAACC,YADM,CAAzB;AAGA,WAAO,EACL,GAAGP,YADE;AAEL,SAAGG;AAFE,KAAP;AAID,GARD;;AAUA,QAAMK,MAAM,GAAG,MAAM,iBAAM,MAAM,gBAAKP,IAAI,EAAT,CAAZ,CAArB;;AAEA,QAAMQ,UAAU,GAAG,MAAUC,QAAJ,IACvBA,QAAQ,CAACC,IAAT,CACE,wBAAQC,SAAS,IACf,gBAAKX,IAAI,EAAT,EAAaU,IAAb,CAAkB,oBAAIE,IAAI,IAAI,CAACD,SAAD,EAAYC,IAAZ,CAAZ,CAAlB,CADF,CADF,CADF;;AAOA,SAAO;AACLZ,IAAAA,IADK;AAELO,IAAAA,MAFK;AAGLC,IAAAA;AAHK,GAAP;AAKD","sourcesContent":["import * as Config from './config';\nimport { Observable, from, defer } from 'rxjs';\nimport { flatMap, map } from 'rxjs/operators';\n\nexport function configureFlags<F = {}>(defaultFlags: F) {\n const load = async (params: Config.IGetConfigParams = {}) => {\n const flagsData = (await Config.load(params).then(\n config => config.featureFlags\n )) as F;\n return {\n ...defaultFlags,\n ...flagsData,\n };\n };\n\n const latest = () => defer(() => from(load()));\n\n const withLatest = () => <T>(whatever: Observable<T>) =>\n whatever.pipe(\n flatMap(something =>\n from(load()).pipe(map(item => [something, item] as [T, F]))\n )\n );\n\n return {\n load,\n latest,\n withLatest,\n };\n}\n"],"file":"featureFlags.js"}