@wix/bex-utils 1.35.0 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["_reactive","require","PromiseState","constructor","params","_defineProperty2","default","reactive","type","fn","onError","once","status","value","promise","run","data","error","exports"],"sources":["../../src/PromiseState.ts"],"sourcesContent":["import { reactive } from './reactive';\n\nexport interface PromiseStatusIdle {\n type: 'idle';\n data?: undefined;\n promise?: undefined;\n}\nexport interface PromiseStatusLoading<T> {\n type: 'loading';\n data?: undefined;\n promise: Promise<T>;\n}\nexport interface PromiseStatusSuccess<T> {\n type: 'success';\n data: T;\n promise: Promise<T>;\n}\nexport interface PromiseStatusError {\n type: 'error';\n error: unknown;\n data?: undefined;\n promise?: undefined;\n}\n\nexport type PromiseStatus<T> =\n | PromiseStatusIdle\n | PromiseStatusLoading<T>\n | PromiseStatusSuccess<T>\n | PromiseStatusError;\n\nexport interface PromiseStateParams<T> {\n fn: () => Promise<T>;\n onError?: (err: unknown) => unknown;\n}\n\nexport class PromiseState<T> {\n readonly status = reactive<PromiseStatus<T>>({ type: 'idle' });\n readonly onError;\n fn;\n\n constructor(params: PromiseStateParams<T>) {\n this.fn = params.fn;\n this.onError = params.onError;\n }\n\n async once() {\n const {\n status: {\n value: { type, promise },\n },\n } = this;\n\n if (type === 'loading') {\n await promise;\n return;\n }\n\n if (type === 'success') {\n return;\n }\n\n return this.run();\n }\n\n async run() {\n const { fn, status, onError } = this;\n const promise = fn();\n\n status.value = {\n type: 'loading',\n promise,\n };\n\n try {\n const data = await promise;\n if (promise === status.value.promise) {\n status.value = {\n type: 'success',\n data,\n promise,\n };\n }\n } catch (error) {\n onError?.(error);\n if (promise === status.value.promise) {\n status.value = {\n type: 'error',\n error,\n };\n }\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAmCO,MAAMC,YAAY,CAAI;EAK3BC,WAAWA,CAACC,MAA6B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,kBAJzB,IAAAC,kBAAQ,EAAmB;MAAEC,IAAI,EAAE;IAAO,CAAC,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAK5D,IAAI,CAACG,EAAE,GAAGL,MAAM,CAACK,EAAE;IACnB,IAAI,CAACC,OAAO,GAAGN,MAAM,CAACM,OAAO;EAC/B;EAEA,MAAMC,IAAIA,CAAA,EAAG;IACX,MAAM;MACJC,MAAM,EAAE;QACNC,KAAK,EAAE;UAAEL,IAAI;UAAEM;QAAQ;MACzB;IACF,CAAC,GAAG,IAAI;IAER,IAAIN,IAAI,KAAK,SAAS,EAAE;MACtB,MAAMM,OAAO;MACb;IACF;IAEA,IAAIN,IAAI,KAAK,SAAS,EAAE;MACtB;IACF;IAEA,OAAO,IAAI,CAACO,GAAG,CAAC,CAAC;EACnB;EAEA,MAAMA,GAAGA,CAAA,EAAG;IACV,MAAM;MAAEN,EAAE;MAAEG,MAAM;MAAEF;IAAQ,CAAC,GAAG,IAAI;IACpC,MAAMI,OAAO,GAAGL,EAAE,CAAC,CAAC;IAEpBG,MAAM,CAACC,KAAK,GAAG;MACbL,IAAI,EAAE,SAAS;MACfM;IACF,CAAC;IAED,IAAI;MACF,MAAME,IAAI,GAAG,MAAMF,OAAO;MAC1B,IAAIA,OAAO,KAAKF,MAAM,CAACC,KAAK,CAACC,OAAO,EAAE;QACpCF,MAAM,CAACC,KAAK,GAAG;UACbL,IAAI,EAAE,SAAS;UACfQ,IAAI;UACJF;QACF,CAAC;MACH;IACF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACdP,OAAO,YAAPA,OAAO,CAAGO,KAAK,CAAC;MAChB,IAAIH,OAAO,KAAKF,MAAM,CAACC,KAAK,CAACC,OAAO,EAAE;QACpCF,MAAM,CAACC,KAAK,GAAG;UACbL,IAAI,EAAE,OAAO;UACbS;QACF,CAAC;MACH;IACF;EACF;AACF;AAACC,OAAA,CAAAhB,YAAA,GAAAA,YAAA"}
1
+ {"version":3,"names":["_reactive","require","PromiseState","constructor","params","_defineProperty2","default","reactive","type","fn","onError","once","status","value","promise","run","data","error","exports"],"sources":["../../src/PromiseState.ts"],"sourcesContent":["import { reactive } from './reactive';\n\nexport interface PromiseStatusIdle {\n type: 'idle';\n data?: undefined;\n promise?: undefined;\n}\nexport interface PromiseStatusLoading<T> {\n type: 'loading';\n data?: undefined;\n promise: Promise<T>;\n}\nexport interface PromiseStatusSuccess<T> {\n type: 'success';\n data: T;\n promise: Promise<T>;\n}\nexport interface PromiseStatusError {\n type: 'error';\n error: unknown;\n data?: undefined;\n promise?: undefined;\n}\n\nexport type PromiseStatus<T> =\n | PromiseStatusIdle\n | PromiseStatusLoading<T>\n | PromiseStatusSuccess<T>\n | PromiseStatusError;\n\nexport interface PromiseStateParams<T> {\n fn: () => Promise<T>;\n onError?: (err: unknown) => unknown;\n}\n\nexport class PromiseState<T> {\n readonly status = reactive<PromiseStatus<T>>({ type: 'idle' });\n readonly onError;\n fn;\n\n constructor(params: PromiseStateParams<T>) {\n this.fn = params.fn;\n this.onError = params.onError;\n }\n\n async once() {\n const {\n status: {\n value: { type, promise },\n },\n } = this;\n\n if (type === 'loading') {\n await promise;\n return;\n }\n\n if (type === 'success') {\n return;\n }\n\n return this.run();\n }\n\n async run() {\n const { fn, status, onError } = this;\n const promise = fn();\n\n status.value = {\n type: 'loading',\n promise,\n };\n\n try {\n const data = await promise;\n if (promise === status.value.promise) {\n status.value = {\n type: 'success',\n data,\n promise,\n };\n }\n } catch (error) {\n onError?.(error);\n if (promise === status.value.promise) {\n status.value = {\n type: 'error',\n error,\n };\n }\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAmCO,MAAMC,YAAY,CAAI;EAK3BC,WAAWA,CAACC,MAA6B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,kBAJzB,IAAAC,kBAAQ,EAAmB;MAAEC,IAAI,EAAE;IAAO,CAAC,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAK5D,IAAI,CAACG,EAAE,GAAGL,MAAM,CAACK,EAAE;IACnB,IAAI,CAACC,OAAO,GAAGN,MAAM,CAACM,OAAO;EAC/B;EAEA,MAAMC,IAAIA,CAAA,EAAG;IACX,MAAM;MACJC,MAAM,EAAE;QACNC,KAAK,EAAE;UAAEL,IAAI;UAAEM;QAAQ;MACzB;IACF,CAAC,GAAG,IAAI;IAER,IAAIN,IAAI,KAAK,SAAS,EAAE;MACtB,MAAMM,OAAO;MACb;IACF;IAEA,IAAIN,IAAI,KAAK,SAAS,EAAE;MACtB;IACF;IAEA,OAAO,IAAI,CAACO,GAAG,CAAC,CAAC;EACnB;EAEA,MAAMA,GAAGA,CAAA,EAAG;IACV,MAAM;MAAEN,EAAE;MAAEG,MAAM;MAAEF;IAAQ,CAAC,GAAG,IAAI;IACpC,MAAMI,OAAO,GAAGL,EAAE,CAAC,CAAC;IAEpBG,MAAM,CAACC,KAAK,GAAG;MACbL,IAAI,EAAE,SAAS;MACfM;IACF,CAAC;IAED,IAAI;MACF,MAAME,IAAI,GAAG,MAAMF,OAAO;MAC1B,IAAIA,OAAO,KAAKF,MAAM,CAACC,KAAK,CAACC,OAAO,EAAE;QACpCF,MAAM,CAACC,KAAK,GAAG;UACbL,IAAI,EAAE,SAAS;UACfQ,IAAI;UACJF;QACF,CAAC;MACH;IACF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACdP,OAAO,YAAPA,OAAO,CAAGO,KAAK,CAAC;MAChB,IAAIH,OAAO,KAAKF,MAAM,CAACC,KAAK,CAACC,OAAO,EAAE;QACpCF,MAAM,CAACC,KAAK,GAAG;UACbL,IAAI,EAAE,OAAO;UACbS;QACF,CAAC;MACH;IACF;EACF;AACF;AAACC,OAAA,CAAAhB,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["noOpBatchedUpdates","callback","exports"],"sources":["../../src/batchUpdates.ts"],"sourcesContent":["export type BatchUpdates = (callback: () => any) => void;\n\nexport const noOpBatchedUpdates: BatchUpdates = (callback) => callback();\n"],"mappings":";;;;AAEO,MAAMA,kBAAgC,GAAIC,QAAQ,IAAKA,QAAQ,CAAC,CAAC;AAACC,OAAA,CAAAF,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"names":["noOpBatchedUpdates","callback","exports"],"sources":["../../src/batchUpdates.ts"],"sourcesContent":["export type BatchUpdates = (callback: () => any) => void;\n\nexport const noOpBatchedUpdates: BatchUpdates = (callback) => callback();\n"],"mappings":";;;;AAEO,MAAMA,kBAAgC,GAAIC,QAAQ,IAAKA,QAAQ,CAAC,CAAC;AAACC,OAAA,CAAAF,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createEvents","listenersList","addListener","listener","push","i","indexOf","splice","emit","slice","forEach","e"],"sources":["../../src/events.ts"],"sourcesContent":["type AnyFn = (...args: any[]) => any;\ntype NoArgsFn = () => unknown;\nexport type Listener<F extends AnyFn = NoArgsFn> = F;\n\nexport interface Events<F extends AnyFn = NoArgsFn> {\n addListener(listener: F): () => void;\n emit(): void;\n}\n\nexport function createEvents<F extends AnyFn = NoArgsFn>(\n listenersList: F[] = [],\n): Events<F> {\n return {\n addListener(listener: F) {\n listenersList.push(listener);\n return () => {\n const i = listenersList.indexOf(listener);\n i !== -1 && listenersList.splice(i, 1);\n };\n },\n emit() {\n listenersList.slice().forEach((e) => e());\n },\n };\n}\n"],"mappings":";;;;AASO,SAASA,YAAYA,CAC1BC,aAAkB,GAAG,EAAE,EACZ;EACX,OAAO;IACLC,WAAWA,CAACC,QAAW,EAAE;MACvBF,aAAa,CAACG,IAAI,CAACD,QAAQ,CAAC;MAC5B,OAAO,MAAM;QACX,MAAME,CAAC,GAAGJ,aAAa,CAACK,OAAO,CAACH,QAAQ,CAAC;QACzCE,CAAC,KAAK,CAAC,CAAC,IAAIJ,aAAa,CAACM,MAAM,CAACF,CAAC,EAAE,CAAC,CAAC;MACxC,CAAC;IACH,CAAC;IACDG,IAAIA,CAAA,EAAG;MACLP,aAAa,CAACQ,KAAK,CAAC,CAAC,CAACC,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;IAC3C;EACF,CAAC;AACH"}
1
+ {"version":3,"names":["createEvents","listenersList","addListener","listener","push","i","indexOf","splice","emit","slice","forEach","e"],"sources":["../../src/events.ts"],"sourcesContent":["type AnyFn = (...args: any[]) => any;\ntype NoArgsFn = () => unknown;\nexport type Listener<F extends AnyFn = NoArgsFn> = F;\n\nexport interface Events<F extends AnyFn = NoArgsFn> {\n addListener(listener: F): () => void;\n emit(): void;\n}\n\nexport function createEvents<F extends AnyFn = NoArgsFn>(\n listenersList: F[] = [],\n): Events<F> {\n return {\n addListener(listener: F) {\n listenersList.push(listener);\n return () => {\n const i = listenersList.indexOf(listener);\n i !== -1 && listenersList.splice(i, 1);\n };\n },\n emit() {\n listenersList.slice().forEach((e) => e());\n },\n };\n}\n"],"mappings":";;;;AASO,SAASA,YAAYA,CAC1BC,aAAkB,GAAG,EAAE,EACZ;EACX,OAAO;IACLC,WAAWA,CAACC,QAAW,EAAE;MACvBF,aAAa,CAACG,IAAI,CAACD,QAAQ,CAAC;MAC5B,OAAO,MAAM;QACX,MAAME,CAAC,GAAGJ,aAAa,CAACK,OAAO,CAACH,QAAQ,CAAC;QACzCE,CAAC,KAAK,CAAC,CAAC,IAAIJ,aAAa,CAACM,MAAM,CAACF,CAAC,EAAE,CAAC,CAAC;MACxC,CAAC;IACH,CAAC;IACDG,IAAIA,CAAA,EAAG;MACLP,aAAa,CAACQ,KAAK,CAAC,CAAC,CAACC,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;IAC3C;EACF,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_setReactDOMBatchUpdates","require","Object","keys","forEach","key","exports"],"sources":["../../../src/exports/react-dom.ts"],"sourcesContent":["export * from '../setReactDOMBatchUpdates';\n"],"mappings":";;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,wBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,wBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,wBAAA,CAAAK,GAAA;AAAA"}
1
+ {"version":3,"names":["_setReactDOMBatchUpdates","require","Object","keys","forEach","key","exports"],"sources":["../../../src/exports/react-dom.ts"],"sourcesContent":["export * from '../setReactDOMBatchUpdates';\n"],"mappings":";;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,wBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,wBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,wBAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_setReactNativeBatchUpdates","require","Object","keys","forEach","key","exports"],"sources":["../../../src/exports/react-native.ts"],"sourcesContent":["export * from '../setReactNativeBatchUpdates';\n"],"mappings":";;;AAAA,IAAAA,2BAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,2BAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,2BAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,2BAAA,CAAAK,GAAA;AAAA"}
1
+ {"version":3,"names":["_setReactNativeBatchUpdates","require","Object","keys","forEach","key","exports"],"sources":["../../../src/exports/react-native.ts"],"sourcesContent":["export * from '../setReactNativeBatchUpdates';\n"],"mappings":";;;AAAA,IAAAA,2BAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,2BAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,2BAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,2BAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_useReactive","require","Object","keys","forEach","key","exports"],"sources":["../../../src/exports/react.ts"],"sourcesContent":["export * from '../useReactive';\n"],"mappings":";;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,YAAA,CAAAK,GAAA;AAAA"}
1
+ {"version":3,"names":["_useReactive","require","Object","keys","forEach","key","exports"],"sources":["../../../src/exports/react.ts"],"sourcesContent":["export * from '../useReactive';\n"],"mappings":";;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,YAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactive","require","Object","keys","forEach","key","exports","_PromiseState","_reactiveContext"],"sources":["../../src/index.ts"],"sourcesContent":["export * from './reactive';\nexport * from './PromiseState';\nexport * from './reactiveContext';\n"],"mappings":";;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,SAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,aAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,aAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,aAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,aAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,gBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,gBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,gBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,gBAAA,CAAAH,GAAA;AAAA"}
1
+ {"version":3,"names":["_reactive","require","Object","keys","forEach","key","exports","_PromiseState","_reactiveContext"],"sources":["../../src/index.ts"],"sourcesContent":["export * from './reactive';\nexport * from './PromiseState';\nexport * from './reactiveContext';\n"],"mappings":";;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,SAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,aAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,aAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,aAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,aAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,gBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,gBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,gBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,gBAAA,CAAAH,GAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_events","require","_reactiveContext","reactive","initialValue","listeners","_value","events","createEvents","value","v","reactiveContext","batchUpdates","emit","addListener"],"sources":["../../src/reactive.ts"],"sourcesContent":["import { createEvents, Listener } from './events';\nimport { reactiveContext } from './reactiveContext';\n\nexport interface Reactive<T> {\n value: T;\n addListener(listener: Listener): () => void;\n}\n\nexport function reactive<T>(\n initialValue: T,\n {\n listeners,\n }: {\n listeners?: Listener[];\n } = {},\n): Reactive<T> {\n let _value = initialValue;\n\n const events = createEvents(listeners);\n return {\n get value() {\n return _value;\n },\n set value(v: T) {\n _value = v;\n reactiveContext.batchUpdates(() => events.emit());\n },\n addListener: events.addListener,\n };\n}\n"],"mappings":";;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAOO,SAASE,QAAQA,CACtBC,YAAe,EACf;EACEC;AAGF,CAAC,GAAG,CAAC,CAAC,EACO;EACb,IAAIC,MAAM,GAAGF,YAAY;EAEzB,MAAMG,MAAM,GAAG,IAAAC,oBAAY,EAACH,SAAS,CAAC;EACtC,OAAO;IACL,IAAII,KAAKA,CAAA,EAAG;MACV,OAAOH,MAAM;IACf,CAAC;IACD,IAAIG,KAAKA,CAACC,CAAI,EAAE;MACdJ,MAAM,GAAGI,CAAC;MACVC,gCAAe,CAACC,YAAY,CAAC,MAAML,MAAM,CAACM,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IACDC,WAAW,EAAEP,MAAM,CAACO;EACtB,CAAC;AACH"}
1
+ {"version":3,"names":["_events","require","_reactiveContext","reactive","initialValue","listeners","_value","events","createEvents","value","v","reactiveContext","batchUpdates","emit","addListener"],"sources":["../../src/reactive.ts"],"sourcesContent":["import { createEvents, Listener } from './events';\nimport { reactiveContext } from './reactiveContext';\n\nexport interface Reactive<T> {\n value: T;\n addListener(listener: Listener): () => void;\n}\n\nexport function reactive<T>(\n initialValue: T,\n {\n listeners,\n }: {\n listeners?: Listener[];\n } = {},\n): Reactive<T> {\n let _value = initialValue;\n\n const events = createEvents(listeners);\n return {\n get value() {\n return _value;\n },\n set value(v: T) {\n _value = v;\n reactiveContext.batchUpdates(() => events.emit());\n },\n addListener: events.addListener,\n };\n}\n"],"mappings":";;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAOO,SAASE,QAAQA,CACtBC,YAAe,EACf;EACEC;AAGF,CAAC,GAAG,CAAC,CAAC,EACO;EACb,IAAIC,MAAM,GAAGF,YAAY;EAEzB,MAAMG,MAAM,GAAG,IAAAC,oBAAY,EAACH,SAAS,CAAC;EACtC,OAAO;IACL,IAAII,KAAKA,CAAA,EAAG;MACV,OAAOH,MAAM;IACf,CAAC;IACD,IAAIG,KAAKA,CAACC,CAAI,EAAE;MACdJ,MAAM,GAAGI,CAAC;MACVC,gCAAe,CAACC,YAAY,CAAC,MAAML,MAAM,CAACM,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IACDC,WAAW,EAAEP,MAAM,CAACO;EACtB,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_batchUpdates","require","reactiveContext","exports","batchUpdates","noOpBatchedUpdates"],"sources":["../../src/reactiveContext.ts"],"sourcesContent":["import { BatchUpdates, noOpBatchedUpdates } from './batchUpdates';\n\nexport interface ReactiveContext {\n batchUpdates: BatchUpdates;\n}\n\nexport const reactiveContext: ReactiveContext = {\n batchUpdates: noOpBatchedUpdates,\n};\n"],"mappings":";;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAMO,MAAMC,eAAgC,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC9CE,YAAY,EAAEC;AAChB,CAAC"}
1
+ {"version":3,"names":["_batchUpdates","require","reactiveContext","exports","batchUpdates","noOpBatchedUpdates"],"sources":["../../src/reactiveContext.ts"],"sourcesContent":["import { BatchUpdates, noOpBatchedUpdates } from './batchUpdates';\n\nexport interface ReactiveContext {\n batchUpdates: BatchUpdates;\n}\n\nexport const reactiveContext: ReactiveContext = {\n batchUpdates: noOpBatchedUpdates,\n};\n"],"mappings":";;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAMO,MAAMC,eAAgC,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC9CE,YAAY,EAAEC;AAChB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactDom","require","_reactiveContext","configure","reactiveContext","batchUpdates","unstable_batchedUpdates"],"sources":["../../src/setReactDOMBatchUpdates.ts"],"sourcesContent":["// https://dev.to/raibima/batch-your-react-updates-120b\n\nimport { unstable_batchedUpdates } from 'react-dom';\nimport { reactiveContext } from './reactiveContext';\n\nexport function configure() {\n reactiveContext.batchUpdates = unstable_batchedUpdates;\n}\n"],"mappings":";;;;AAEA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAHA;;AAKO,SAASE,SAASA,CAAA,EAAG;EAC1BC,gCAAe,CAACC,YAAY,GAAGC,iCAAuB;AACxD"}
1
+ {"version":3,"names":["_reactDom","require","_reactiveContext","configure","reactiveContext","batchUpdates","unstable_batchedUpdates"],"sources":["../../src/setReactDOMBatchUpdates.ts"],"sourcesContent":["// https://dev.to/raibima/batch-your-react-updates-120b\n\nimport { unstable_batchedUpdates } from 'react-dom';\nimport { reactiveContext } from './reactiveContext';\n\nexport function configure() {\n reactiveContext.batchUpdates = unstable_batchedUpdates;\n}\n"],"mappings":";;;;AAEA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAHA;;AAKO,SAASE,SAASA,CAAA,EAAG;EAC1BC,gCAAe,CAACC,YAAY,GAAGC,iCAAuB;AACxD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactiveContext","configure","reactiveContext","batchUpdates","unstable_batchedUpdates"],"sources":["../../src/setReactNativeBatchUpdates.ts"],"sourcesContent":["import { unstable_batchedUpdates } from 'react-native';\nimport { reactiveContext } from './reactiveContext';\n\nexport function configure() {\n reactiveContext.batchUpdates = unstable_batchedUpdates;\n}\n"],"mappings":";;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAEO,SAASE,SAASA,CAAA,EAAG;EAC1BC,gCAAe,CAACC,YAAY,GAAGC,oCAAuB;AACxD"}
1
+ {"version":3,"names":["_reactNative","require","_reactiveContext","configure","reactiveContext","batchUpdates","unstable_batchedUpdates"],"sources":["../../src/setReactNativeBatchUpdates.ts"],"sourcesContent":["import { unstable_batchedUpdates } from 'react-native';\nimport { reactiveContext } from './reactiveContext';\n\nexport function configure() {\n reactiveContext.batchUpdates = unstable_batchedUpdates;\n}\n"],"mappings":";;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAEO,SAASE,SAASA,CAAA,EAAG;EAC1BC,gCAAe,CAACC,YAAY,GAAGC,oCAAuB;AACxD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","useReactive","reactive","state","setState","useState","value","useEffect","addListener"],"sources":["../../src/useReactive.ts"],"sourcesContent":["import type { Reactive } from './reactive';\nimport { useEffect, useState } from 'react';\n\nexport function useReactive<T>(reactive: Reactive<T>) {\n const [state, setState] = useState(reactive.value);\n\n useEffect(() => {\n if (reactive.value !== state) {\n setState(reactive.value);\n }\n return reactive.addListener(() => {\n setState(reactive.value);\n });\n }, []);\n\n return state;\n}\n"],"mappings":";;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEO,SAASC,WAAWA,CAAIC,QAAqB,EAAE;EACpD,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAACH,QAAQ,CAACI,KAAK,CAAC;EAElD,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIL,QAAQ,CAACI,KAAK,KAAKH,KAAK,EAAE;MAC5BC,QAAQ,CAACF,QAAQ,CAACI,KAAK,CAAC;IAC1B;IACA,OAAOJ,QAAQ,CAACM,WAAW,CAAC,MAAM;MAChCJ,QAAQ,CAACF,QAAQ,CAACI,KAAK,CAAC;IAC1B,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOH,KAAK;AACd"}
1
+ {"version":3,"names":["_react","require","useReactive","reactive","state","setState","useState","value","useEffect","addListener"],"sources":["../../src/useReactive.ts"],"sourcesContent":["import type { Reactive } from './reactive';\nimport { useEffect, useState } from 'react';\n\nexport function useReactive<T>(reactive: Reactive<T>) {\n const [state, setState] = useState(reactive.value);\n\n useEffect(() => {\n if (reactive.value !== state) {\n setState(reactive.value);\n }\n return reactive.addListener(() => {\n setState(reactive.value);\n });\n }, []);\n\n return state;\n}\n"],"mappings":";;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEO,SAASC,WAAWA,CAAIC,QAAqB,EAAE;EACpD,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAACH,QAAQ,CAACI,KAAK,CAAC;EAElD,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIL,QAAQ,CAACI,KAAK,KAAKH,KAAK,EAAE;MAC5BC,QAAQ,CAACF,QAAQ,CAACI,KAAK,CAAC;IAC1B;IACA,OAAOJ,QAAQ,CAACM,WAAW,CAAC,MAAM;MAChCJ,QAAQ,CAACF,QAAQ,CAACI,KAAK,CAAC;IAC1B,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOH,KAAK;AACd","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/bex-utils",
3
- "version": "1.35.0",
3
+ "version": "1.37.0",
4
4
  "license": "UNLICENSED",
5
5
  "author": {
6
6
  "name": "Kobi",
@@ -147,5 +147,5 @@
147
147
  "wallaby": {
148
148
  "autoDetect": true
149
149
  },
150
- "falconPackageHash": "ef202e4b2af5557fea366bf005f7834c47a1acd84644a3c26395dfce"
150
+ "falconPackageHash": "66468d3f8cda81afa04a7bf71f85b615f5200b303d84098bdcc5d590"
151
151
  }