effector-storage 5.0.0 → 5.0.1
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.
- package/README.md +3 -3
- package/async-storage/index.cjs.map +1 -1
- package/async-storage/index.js.flow +1 -1
- package/async-storage/index.js.map +1 -1
- package/index.cjs +1 -1
- package/index.cjs.map +1 -1
- package/index.js +1 -1
- package/index.js.flow +1 -1
- package/index.js.map +1 -1
- package/local/index.cjs.map +1 -1
- package/local/index.js.flow +1 -1
- package/local/index.js.map +1 -1
- package/memory/index.cjs.map +1 -1
- package/memory/index.js.flow +1 -1
- package/memory/index.js.map +1 -1
- package/nil/index.cjs.map +1 -1
- package/nil/index.js.flow +1 -1
- package/nil/index.js.map +1 -1
- package/package.json +1 -1
- package/query/index.cjs.map +1 -1
- package/query/index.js.flow +1 -1
- package/query/index.js.map +1 -1
- package/rn/async/index.cjs.map +1 -1
- package/rn/async/index.js.flow +1 -1
- package/rn/async/index.js.map +1 -1
- package/rn/encrypted/index.cjs.map +1 -1
- package/rn/encrypted/index.js.flow +1 -1
- package/rn/encrypted/index.js.map +1 -1
- package/session/index.cjs.map +1 -1
- package/session/index.js.flow +1 -1
- package/session/index.js.map +1 -1
- package/storage/index.cjs.map +1 -1
- package/storage/index.js.flow +1 -1
- package/storage/index.js.map +1 -1
package/README.md
CHANGED
|
@@ -182,20 +182,20 @@ In order to synchronize _something_, you need to specify effector units. Dependi
|
|
|
182
182
|
Payload structure:
|
|
183
183
|
- `key` ([_string_]): Same `key` as above.
|
|
184
184
|
- `keyPrefix` ([_string_]): Prefix, used in adapter, to be concatenated to `key`. By default = `''`.
|
|
185
|
-
- `operation` (_`'set'`_ | _`'get'`_):
|
|
185
|
+
- `operation` (_`'set'`_ | _`'get'`_): Type of operation, read (get) or write (set).
|
|
186
186
|
- `value` (_State_): Value set to `store` or got from `store`.
|
|
187
187
|
- `fail`? ([_Event_] | [_Effect_] | [_Store_]): Unit, which will be triggered in case of any error (serialization/deserialization error, storage is full and so on). **Note!** If `fail` unit is not specified, any errors will be printed using `console.error(Error)`.<br>
|
|
188
188
|
Payload structure:
|
|
189
189
|
- `key` ([_string_]): Same `key` as above.
|
|
190
190
|
- `keyPrefix` ([_string_]): Prefix, used in adapter, to be concatenated to `key`. By default = `''`.
|
|
191
|
-
- `operation` (_`'set'`_ | _`'get'`_):
|
|
191
|
+
- `operation` (_`'set'`_ | _`'get'`_): Type of operation, read (get) or write (set).
|
|
192
192
|
- `error` ([_Error_]): Error instance
|
|
193
193
|
- `value`? (_any_): In case of _'set'_ operation — value from `store`. In case of _'get'_ operation could contain raw value from storage or could be empty.
|
|
194
194
|
- `finally`? ([_Event_] | [_Effect_] | [_Store_]): Unit, which will be triggered either in case of success or error.<br>
|
|
195
195
|
Payload structure:
|
|
196
196
|
- `key` ([_string_]): Same `key` as above.
|
|
197
197
|
- `keyPrefix` ([_string_]): Prefix, used in adapter, to be concatenated to `key`. By default = `''`.
|
|
198
|
-
- `operation` (_`'set'`_ | _`'get'`_):
|
|
198
|
+
- `operation` (_`'set'`_ | _`'get'`_): Type of operation, read (get) or write (set).
|
|
199
199
|
- `status` (_`'done'`_ | _`'fail'`_): Operation status.
|
|
200
200
|
- `error`? ([_Error_]): Error instance, in case of error.
|
|
201
201
|
- `value`? (_any_): Value, in case it is exists (look above).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/async-storage/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport interface AsyncStorage {\n getItem: (key: string) => Promise<string | null>\n setItem: (key: string, value: string) => Promise<void>\n}\n\nexport interface AsyncStorageConfig {\n storage: AsyncStorage\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\n/**\n * Generic `AsyncStorage` adapter factory\n */\nexport function asyncStorage({\n storage,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n}: AsyncStorageConfig): StorageAdapter {\n const adapter: StorageAdapter = <State>(key: string) => ({\n async get() {\n const item = await storage.getItem(key)\n return item === null ? undefined : deserialize(item)\n },\n\n async set(value: State) {\n await storage.setItem(key, serialize(value))\n },\n })\n\n adapter.keyArea = storage\n return adapter\n}\n"],"names":["storage","serialize","JSON","stringify","deserialize","parse","adapter","key","item","getItem","undefined","value","setItem","keyArea"],"mappings":"kCAgBO,UAAsBA,QAC3BA,EAD2BC,UAE3BA,EAAYC,KAAKC,UAFUC,YAG3BA,EAAcF,KAAKG,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/async-storage/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport interface AsyncStorage {\n getItem: (key: string) => Promise<string | null>\n setItem: (key: string, value: string) => Promise<void>\n}\n\nexport interface AsyncStorageConfig {\n storage: AsyncStorage\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\n/**\n * Generic `AsyncStorage` adapter factory\n */\nexport function asyncStorage({\n storage,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n}: AsyncStorageConfig): StorageAdapter {\n const adapter: StorageAdapter = <State>(key: string) => ({\n async get() {\n const item = await storage.getItem(key)\n return item === null ? undefined : deserialize(item)\n },\n\n async set(value: State) {\n await storage.setItem(key, serialize(value))\n },\n })\n\n adapter.keyArea = storage\n return adapter\n}\n"],"names":["storage","serialize","JSON","stringify","deserialize","parse","adapter","key","async","item","getItem","undefined","value","setItem","keyArea"],"mappings":"kCAgBO,UAAsBA,QAC3BA,EAD2BC,UAE3BA,EAAYC,KAAKC,UAFUC,YAG3BA,EAAcF,KAAKG,QAEnB,IAAMC,EAAkCC,IAAiB,CACvDC,YACE,IAAMC,QAAaT,EAAQU,QAAQH,GACnC,OAAgB,OAATE,OAAgBE,EAAYP,EAAYK,EAHM,EAMvDD,UAAUI,SACFZ,EAAQa,QAAQN,EAAKN,EAAUW,GACtC,IAIH,OADAN,EAAQQ,QAAUd,EACXM,CACR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/async-storage/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport interface AsyncStorage {\n getItem: (key: string) => Promise<string | null>\n setItem: (key: string, value: string) => Promise<void>\n}\n\nexport interface AsyncStorageConfig {\n storage: AsyncStorage\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\n/**\n * Generic `AsyncStorage` adapter factory\n */\nexport function asyncStorage({\n storage,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n}: AsyncStorageConfig): StorageAdapter {\n const adapter: StorageAdapter = <State>(key: string) => ({\n async get() {\n const item = await storage.getItem(key)\n return item === null ? undefined : deserialize(item)\n },\n\n async set(value: State) {\n await storage.setItem(key, serialize(value))\n },\n })\n\n adapter.keyArea = storage\n return adapter\n}\n"],"names":["asyncStorage","storage","serialize","JSON","stringify","deserialize","parse","adapter","key","item","getItem","undefined","value","setItem","keyArea"],"mappings":"AAgBO,SAASA,GAAaC,QAC3BA,EAD2BC,UAE3BA,EAAYC,KAAKC,UAFUC,YAG3BA,EAAcF,KAAKG,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/async-storage/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport interface AsyncStorage {\n getItem: (key: string) => Promise<string | null>\n setItem: (key: string, value: string) => Promise<void>\n}\n\nexport interface AsyncStorageConfig {\n storage: AsyncStorage\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\n/**\n * Generic `AsyncStorage` adapter factory\n */\nexport function asyncStorage({\n storage,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n}: AsyncStorageConfig): StorageAdapter {\n const adapter: StorageAdapter = <State>(key: string) => ({\n async get() {\n const item = await storage.getItem(key)\n return item === null ? undefined : deserialize(item)\n },\n\n async set(value: State) {\n await storage.setItem(key, serialize(value))\n },\n })\n\n adapter.keyArea = storage\n return adapter\n}\n"],"names":["asyncStorage","storage","serialize","JSON","stringify","deserialize","parse","adapter","key","async","item","getItem","undefined","value","setItem","keyArea"],"mappings":"AAgBO,SAASA,GAAaC,QAC3BA,EAD2BC,UAE3BA,EAAYC,KAAKC,UAFUC,YAG3BA,EAAcF,KAAKG,QAEnB,IAAMC,EAAkCC,IAAiB,CACvDC,YACE,IAAMC,QAAaT,EAAQU,QAAQH,GACnC,OAAgB,OAATE,OAAgBE,EAAYP,EAAYK,EAHM,EAMvDD,UAAUI,SACFZ,EAAQa,QAAQN,EAAKN,EAAUW,GACtC,IAIH,OADAN,EAAQQ,QAAUd,EACXM,CACR"}
|
package/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("effector"),r=new Map,t=e.createEvent();function o(o){return a=>function({adapter:o,
|
|
1
|
+
"use strict";var e=require("effector"),r=new Map,t=e.createEvent();function o(o){return a=>function({adapter:o,store:a,source:i=a,target:f=a,clock:s=i,done:n,fail:d=t,finally:u,pickup:c,key:l,keyPrefix:p=""}){if(!o)throw Error("Adapter is not defined");if(!i)throw Error("Store or source is not defined");if(!f)throw Error("Target is not defined");if(!l&&i.shortName===i.id)throw Error("Key or name is not defined");if(i===f&&!e.is.store(i))throw Error("Source must be different from target");var v=l||i.shortName,y=function(t,o){var a=r.get(t);void 0===a&&(a=new Map,r.set(t,a));var i=a.get(o);return void 0!==i||(i=e.createStore(null,{serialize:"ignore"}),a.set(o,i)),i}(o.keyArea||o,p+v),k=e.createNode(),m=()=>e.clearNode(k),w=e=>({status:r,params:t,result:o,error:a})=>"done"===r?{status:r,key:v,keyPrefix:p,operation:e,value:"get"===e?o:t}:{status:r,key:v,keyPrefix:p,operation:e,value:t,error:a};return e.withRegion(k,(()=>{var r=e.createEffect(),t=e.createEffect(),a=e.createEvent(),l=a.filterMap((({status:e,key:r,keyPrefix:t,operation:o,value:a})=>"done"===e?{key:r,keyPrefix:t,operation:o,value:a}:void 0)),k=a.filterMap((({status:e,key:r,keyPrefix:t,operation:o,error:a,value:i})=>"fail"===e?{key:r,keyPrefix:t,operation:o,error:a,value:i}:void 0)),m=o(p+v,r);r.use(m.get),t.use(m.set);var g=e.createEvent();e.sample({source:i,clock:s,target:g}),e.guard({source:e.sample(y,g,((e,r)=>[r,e])),filter:([e,r])=>e!==r,target:t.prepend((([e])=>e))}),e.forward({from:[r.doneData,t],to:y}),e.forward({from:[r.doneData,y],to:f}),e.forward({from:[r.finally.map(w("get")),t.finally.map(w("set"))],to:a}),e.forward({from:k,to:d}),n&&e.forward({from:l,to:n}),u&&e.forward({from:a,to:u}),c?e.forward({from:c,to:r.prepend((()=>{}))}):r()})),m.unsubscribe=m}({...o,...a})}t.watch((e=>console.error(e.error)));var a=o();exports.createPersist=o,exports.persist=a;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/area.ts","../src/persist.ts","../src/index.ts"],"sourcesContent":["import type { Store } from 'effector'\nimport { createStore } from 'effector'\n\n/**\n * Keys areas / namespaces cache\n */\nconst areas = new Map<any, Map<string, Store<any>>>()\n\n/**\n * Get store, responsible for the key in key area / namespace\n */\nexport function getAreaStorage<State>(keyArea: any, key: string): Store<State> {\n let area = areas.get(keyArea)\n if (area === undefined) {\n area = new Map()\n areas.set(keyArea, area)\n }\n\n let store = area.get(key)\n if (store !== undefined) {\n return store\n }\n\n store = createStore(null)\n area.set(key, store)\n\n return store\n}\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist,\n ConfigSourceTarget,\n ConfigStore,\n Done,\n Fail,\n Finally,\n} from './types'\nimport {\n clearNode,\n createEffect,\n createEvent,\n createNode,\n forward,\n guard,\n is,\n sample,\n withRegion,\n} from 'effector'\nimport { getAreaStorage } from './area'\n\n/**\n * Default sink for unhandled errors\n */\nconst sink = createEvent<Fail<any>>()\nsink.watch((payload) => console.error(payload.error))\n\n/**\n * Main `persist` function\n */\nexport function persist<State, Err = Error>({\n adapter,\n
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/area.ts","../src/persist.ts","../src/index.ts"],"sourcesContent":["import type { Store } from 'effector'\nimport { createStore } from 'effector'\n\n/**\n * Keys areas / namespaces cache\n */\nconst areas = new Map<any, Map<string, Store<any>>>()\n\n/**\n * Get store, responsible for the key in key area / namespace\n */\nexport function getAreaStorage<State>(keyArea: any, key: string): Store<State> {\n let area = areas.get(keyArea)\n if (area === undefined) {\n area = new Map()\n areas.set(keyArea, area)\n }\n\n let store = area.get(key)\n if (store !== undefined) {\n return store\n }\n\n // @ts-expect-error due to old typings in import\n store = createStore(null, { serialize: 'ignore' })\n area.set(key, store)\n\n return store\n}\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist,\n ConfigSourceTarget,\n ConfigStore,\n Done,\n Fail,\n Finally,\n} from './types'\nimport {\n clearNode,\n createEffect,\n createEvent,\n createNode,\n forward,\n guard,\n is,\n sample,\n withRegion,\n} from 'effector'\nimport { getAreaStorage } from './area'\n\n/**\n * Default sink for unhandled errors\n */\nconst sink = createEvent<Fail<any>>()\nsink.watch((payload) => console.error(payload.error))\n\n/**\n * Main `persist` function\n */\nexport function persist<State, Err = Error>({\n adapter,\n store,\n source = store,\n target = store,\n clock = source,\n done,\n fail = sink,\n finally: anyway,\n pickup,\n key: keyName,\n keyPrefix = '',\n}: Partial<\n ConfigPersist & ConfigStore<State, Err> & ConfigSourceTarget<State, Err>\n>): Subscription {\n if (!adapter) {\n throw Error('Adapter is not defined')\n }\n if (!source) {\n throw Error('Store or source is not defined')\n }\n if (!target) {\n throw Error('Target is not defined')\n }\n if (!keyName && source.shortName === (source as any).id) {\n throw Error('Key or name is not defined')\n }\n if (source === target && !is.store(source)) {\n throw Error('Source must be different from target')\n }\n\n const key = keyName || source.shortName\n const storage = getAreaStorage<State>(\n adapter.keyArea || adapter,\n keyPrefix + key\n )\n const region = createNode()\n const desist = () => clearNode(region)\n\n const op =\n (operation: 'get' | 'set') =>\n ({ status, params, result, error }: any): any =>\n status === 'done'\n ? {\n status,\n key,\n keyPrefix,\n operation,\n value: operation === 'get' ? result : params,\n }\n : {\n status,\n key,\n keyPrefix,\n operation,\n value: params,\n error,\n }\n\n // create all auxiliary units and nodes within the region,\n // to be able to remove them all at once on unsubscription\n withRegion(region, () => {\n const getFx = createEffect<void, State, Err>()\n const setFx = createEffect<State, void, Err>()\n\n const localAnyway = createEvent<Finally<State, Err>>()\n const localDone = localAnyway.filterMap<Done<State>>(\n ({ status, key, keyPrefix, operation, value }) =>\n status === 'done' ? { key, keyPrefix, operation, value } : undefined\n )\n const localFail = localAnyway.filterMap<Fail<Err>>(\n ({ status, key, keyPrefix, operation, error, value }: any) =>\n status === 'fail'\n ? { key, keyPrefix, operation, error, value }\n : undefined\n )\n\n const value = adapter<State>(keyPrefix + key, getFx)\n getFx.use(value.get)\n setFx.use(value.set)\n\n const trigger = createEvent<State>()\n sample({\n source,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n clock: clock!, // `clock` is always defined, as long as `source` is defined\n target: trigger,\n })\n\n guard({\n source: sample<State, State, [State, State]>(\n storage,\n trigger,\n (current, proposed) => [proposed, current]\n ),\n filter: ([proposed, current]) => proposed !== current,\n target: setFx.prepend<[State, State]>(([proposed]) => proposed),\n })\n forward({ from: [getFx.doneData, setFx], to: storage })\n forward({ from: [getFx.doneData, storage], to: target })\n forward({\n from: [getFx.finally.map(op('get')), setFx.finally.map(op('set'))],\n to: localAnyway,\n })\n\n forward({ from: localFail, to: fail })\n if (done) forward({ from: localDone, to: done })\n if (anyway) forward({ from: localAnyway, to: anyway })\n\n if (pickup) {\n // pick up value from storage ONLY on `pickup` update\n forward({ from: pickup, to: getFx.prepend(() => undefined) })\n } else {\n // kick getter to pick up initial value from storage\n getFx()\n }\n })\n\n return (desist.unsubscribe = desist)\n}\n","import type { ConfigPersist, Persist } from './types'\nimport { persist as base } from './persist'\n\nexport type {\n ConfigPersist,\n ConfigSourceTarget,\n ConfigStore,\n Done,\n Fail,\n Finally,\n Persist,\n StorageAdapter,\n} from './types'\n\n/**\n * Creates custom `persist`\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) => base({ ...defaults, ...config })\n}\n\n/**\n * Default `persist`\n */\nexport const persist = createPersist()\n"],"names":["areas","Map","sink","createEvent","createPersist","defaults","config","adapter","store","source","target","clock","done","fail","finally","anyway","pickup","key","keyName","keyPrefix","Error","shortName","id","is","storage","keyArea","area","get","undefined","set","createStore","serialize","getAreaStorage","region","createNode","desist","clearNode","op","operation","status","params","result","error","value","withRegion","getFx","createEffect","setFx","localAnyway","localDone","filterMap","localFail","use","trigger","sample","guard","current","proposed","filter","prepend","forward","from","doneData","to","map","unsubscribe","base","watch","payload","console","persist"],"mappings":"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"}
|
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createStore as e,createEvent as r,is as o,createNode as t,
|
|
1
|
+
import{createStore as e,createEvent as r,is as o,createNode as t,withRegion as a,createEffect as i,sample as n,guard as f,forward as s,clearNode as u}from"effector";var l=new Map,d=r();function p(p){return y=>function({adapter:p,store:y,source:k=y,target:c=y,clock:m=k,done:v,fail:g=d,finally:h,pickup:w,key:x,keyPrefix:P=""}){if(!p)throw Error("Adapter is not defined");if(!k)throw Error("Store or source is not defined");if(!c)throw Error("Target is not defined");if(!x&&k.shortName===k.id)throw Error("Key or name is not defined");if(k===c&&!o.store(k))throw Error("Source must be different from target");var E=x||k.shortName,M=function(r,o){var t=l.get(r);void 0===t&&(t=new Map,l.set(r,t));var a=t.get(o);return void 0!==a||(a=e(null,{serialize:"ignore"}),t.set(o,a)),a}(p.keyArea||p,P+E),b=t(),A=()=>u(b),D=e=>({status:r,params:o,result:t,error:a})=>"done"===r?{status:r,key:E,keyPrefix:P,operation:e,value:"get"===e?t:o}:{status:r,key:E,keyPrefix:P,operation:e,value:o,error:a};return a(b,(()=>{var e=i(),o=i(),t=r(),a=t.filterMap((({status:e,key:r,keyPrefix:o,operation:t,value:a})=>"done"===e?{key:r,keyPrefix:o,operation:t,value:a}:void 0)),u=t.filterMap((({status:e,key:r,keyPrefix:o,operation:t,error:a,value:i})=>"fail"===e?{key:r,keyPrefix:o,operation:t,error:a,value:i}:void 0)),l=p(P+E,e);e.use(l.get),o.use(l.set);var d=r();n({source:k,clock:m,target:d}),f({source:n(M,d,((e,r)=>[r,e])),filter:([e,r])=>e!==r,target:o.prepend((([e])=>e))}),s({from:[e.doneData,o],to:M}),s({from:[e.doneData,M],to:c}),s({from:[e.finally.map(D("get")),o.finally.map(D("set"))],to:t}),s({from:u,to:g}),v&&s({from:a,to:v}),h&&s({from:t,to:h}),w?s({from:w,to:e.prepend((()=>{}))}):e()})),A.unsubscribe=A}({...p,...y})}d.watch((e=>console.error(e.error)));var y=p();export{p as createPersist,y as persist};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/index.js.flow
CHANGED
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/area.ts","../src/persist.ts","../src/index.ts"],"sourcesContent":["import type { Store } from 'effector'\nimport { createStore } from 'effector'\n\n/**\n * Keys areas / namespaces cache\n */\nconst areas = new Map<any, Map<string, Store<any>>>()\n\n/**\n * Get store, responsible for the key in key area / namespace\n */\nexport function getAreaStorage<State>(keyArea: any, key: string): Store<State> {\n let area = areas.get(keyArea)\n if (area === undefined) {\n area = new Map()\n areas.set(keyArea, area)\n }\n\n let store = area.get(key)\n if (store !== undefined) {\n return store\n }\n\n store = createStore(null)\n area.set(key, store)\n\n return store\n}\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist,\n ConfigSourceTarget,\n ConfigStore,\n Done,\n Fail,\n Finally,\n} from './types'\nimport {\n clearNode,\n createEffect,\n createEvent,\n createNode,\n forward,\n guard,\n is,\n sample,\n withRegion,\n} from 'effector'\nimport { getAreaStorage } from './area'\n\n/**\n * Default sink for unhandled errors\n */\nconst sink = createEvent<Fail<any>>()\nsink.watch((payload) => console.error(payload.error))\n\n/**\n * Main `persist` function\n */\nexport function persist<State, Err = Error>({\n adapter,\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/area.ts","../src/persist.ts","../src/index.ts"],"sourcesContent":["import type { Store } from 'effector'\nimport { createStore } from 'effector'\n\n/**\n * Keys areas / namespaces cache\n */\nconst areas = new Map<any, Map<string, Store<any>>>()\n\n/**\n * Get store, responsible for the key in key area / namespace\n */\nexport function getAreaStorage<State>(keyArea: any, key: string): Store<State> {\n let area = areas.get(keyArea)\n if (area === undefined) {\n area = new Map()\n areas.set(keyArea, area)\n }\n\n let store = area.get(key)\n if (store !== undefined) {\n return store\n }\n\n // @ts-expect-error due to old typings in import\n store = createStore(null, { serialize: 'ignore' })\n area.set(key, store)\n\n return store\n}\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist,\n ConfigSourceTarget,\n ConfigStore,\n Done,\n Fail,\n Finally,\n} from './types'\nimport {\n clearNode,\n createEffect,\n createEvent,\n createNode,\n forward,\n guard,\n is,\n sample,\n withRegion,\n} from 'effector'\nimport { getAreaStorage } from './area'\n\n/**\n * Default sink for unhandled errors\n */\nconst sink = createEvent<Fail<any>>()\nsink.watch((payload) => console.error(payload.error))\n\n/**\n * Main `persist` function\n */\nexport function persist<State, Err = Error>({\n adapter,\n store,\n source = store,\n target = store,\n clock = source,\n done,\n fail = sink,\n finally: anyway,\n pickup,\n key: keyName,\n keyPrefix = '',\n}: Partial<\n ConfigPersist & ConfigStore<State, Err> & ConfigSourceTarget<State, Err>\n>): Subscription {\n if (!adapter) {\n throw Error('Adapter is not defined')\n }\n if (!source) {\n throw Error('Store or source is not defined')\n }\n if (!target) {\n throw Error('Target is not defined')\n }\n if (!keyName && source.shortName === (source as any).id) {\n throw Error('Key or name is not defined')\n }\n if (source === target && !is.store(source)) {\n throw Error('Source must be different from target')\n }\n\n const key = keyName || source.shortName\n const storage = getAreaStorage<State>(\n adapter.keyArea || adapter,\n keyPrefix + key\n )\n const region = createNode()\n const desist = () => clearNode(region)\n\n const op =\n (operation: 'get' | 'set') =>\n ({ status, params, result, error }: any): any =>\n status === 'done'\n ? {\n status,\n key,\n keyPrefix,\n operation,\n value: operation === 'get' ? result : params,\n }\n : {\n status,\n key,\n keyPrefix,\n operation,\n value: params,\n error,\n }\n\n // create all auxiliary units and nodes within the region,\n // to be able to remove them all at once on unsubscription\n withRegion(region, () => {\n const getFx = createEffect<void, State, Err>()\n const setFx = createEffect<State, void, Err>()\n\n const localAnyway = createEvent<Finally<State, Err>>()\n const localDone = localAnyway.filterMap<Done<State>>(\n ({ status, key, keyPrefix, operation, value }) =>\n status === 'done' ? { key, keyPrefix, operation, value } : undefined\n )\n const localFail = localAnyway.filterMap<Fail<Err>>(\n ({ status, key, keyPrefix, operation, error, value }: any) =>\n status === 'fail'\n ? { key, keyPrefix, operation, error, value }\n : undefined\n )\n\n const value = adapter<State>(keyPrefix + key, getFx)\n getFx.use(value.get)\n setFx.use(value.set)\n\n const trigger = createEvent<State>()\n sample({\n source,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n clock: clock!, // `clock` is always defined, as long as `source` is defined\n target: trigger,\n })\n\n guard({\n source: sample<State, State, [State, State]>(\n storage,\n trigger,\n (current, proposed) => [proposed, current]\n ),\n filter: ([proposed, current]) => proposed !== current,\n target: setFx.prepend<[State, State]>(([proposed]) => proposed),\n })\n forward({ from: [getFx.doneData, setFx], to: storage })\n forward({ from: [getFx.doneData, storage], to: target })\n forward({\n from: [getFx.finally.map(op('get')), setFx.finally.map(op('set'))],\n to: localAnyway,\n })\n\n forward({ from: localFail, to: fail })\n if (done) forward({ from: localDone, to: done })\n if (anyway) forward({ from: localAnyway, to: anyway })\n\n if (pickup) {\n // pick up value from storage ONLY on `pickup` update\n forward({ from: pickup, to: getFx.prepend(() => undefined) })\n } else {\n // kick getter to pick up initial value from storage\n getFx()\n }\n })\n\n return (desist.unsubscribe = desist)\n}\n","import type { ConfigPersist, Persist } from './types'\nimport { persist as base } from './persist'\n\nexport type {\n ConfigPersist,\n ConfigSourceTarget,\n ConfigStore,\n Done,\n Fail,\n Finally,\n Persist,\n StorageAdapter,\n} from './types'\n\n/**\n * Creates custom `persist`\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) => base({ ...defaults, ...config })\n}\n\n/**\n * Default `persist`\n */\nexport const persist = createPersist()\n"],"names":["areas","Map","sink","createEvent","createPersist","defaults","config","adapter","store","source","target","clock","done","fail","finally","anyway","pickup","key","keyName","keyPrefix","Error","shortName","id","is","storage","keyArea","area","get","undefined","set","createStore","serialize","getAreaStorage","region","createNode","desist","clearNode","op","operation","status","params","result","error","value","withRegion","getFx","createEffect","setFx","localAnyway","localDone","filterMap","localFail","use","trigger","sample","guard","current","proposed","filter","prepend","forward","from","doneData","to","map","unsubscribe","base","watch","payload","console","persist"],"mappings":"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"}
|
package/local/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/local/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { storage } from '../storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n sync?: boolean\n}\n\nexport interface AdapterConfig {\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Function, checking if `localStorage` exists and accessible\n */\nfunction supports() {\n try {\n return typeof localStorage !== 'undefined'\n } catch (error) {\n return false // should somehow return error instance?\n }\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `localStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: supports()\n ? storage({\n storage: localStorage,\n sync: true,\n ...defaults,\n ...config,\n })\n : nil('local'),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["supports","localStorage","error","createPersist","defaults","config","base","adapter","storage","sync","nil","persist"],"mappings":"2GAyCA,SAASA,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/local/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { storage } from '../storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n sync?: boolean\n}\n\nexport interface AdapterConfig {\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Function, checking if `localStorage` exists and accessible\n */\nfunction supports() {\n try {\n return typeof localStorage !== 'undefined'\n } catch (error) {\n return false // should somehow return error instance?\n }\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `localStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: supports()\n ? storage({\n storage: localStorage,\n sync: true,\n ...defaults,\n ...config,\n })\n : nil('local'),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["supports","localStorage","error","createPersist","defaults","config","base","adapter","storage","sync","nil","persist"],"mappings":"2GAyCA,SAASA,IACP,IACE,MAA+B,oBAAjBC,YAGf,CAFC,MAAOC,GACP,OAAO,CACR,CACF,CAMM,SAASC,EAAcC,GAC5B,OAAQC,GACNC,EAAAA,QAAK,CACHC,QAASP,IACLQ,UAAQ,CACNA,QAASP,aACTQ,MAAM,KACHL,KACAC,IAELK,EAAGA,IAAC,YACLN,KACAC,GAER,CAKYM,IAAAA,EAAUR"}
|
package/local/index.js.flow
CHANGED
package/local/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/local/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { storage } from '../storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n sync?: boolean\n}\n\nexport interface AdapterConfig {\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Function, checking if `localStorage` exists and accessible\n */\nfunction supports() {\n try {\n return typeof localStorage !== 'undefined'\n } catch (error) {\n return false // should somehow return error instance?\n }\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `localStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: supports()\n ? storage({\n storage: localStorage,\n sync: true,\n ...defaults,\n ...config,\n })\n : nil('local'),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["supports","localStorage","error","createPersist","defaults","config","base","adapter","storage","sync","nil","persist"],"mappings":"0HAyCA,SAASA,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/local/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { storage } from '../storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n sync?: boolean\n}\n\nexport interface AdapterConfig {\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Function, checking if `localStorage` exists and accessible\n */\nfunction supports() {\n try {\n return typeof localStorage !== 'undefined'\n } catch (error) {\n return false // should somehow return error instance?\n }\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `localStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: supports()\n ? storage({\n storage: localStorage,\n sync: true,\n ...defaults,\n ...config,\n })\n : nil('local'),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["supports","localStorage","error","createPersist","defaults","config","base","adapter","storage","sync","nil","persist"],"mappings":"0HAyCA,SAASA,IACP,IACE,MAA+B,oBAAjBC,YAGf,CAFC,MAAOC,GACP,OAAO,CACR,CACF,CAMM,SAASC,EAAcC,GAC5B,OAAQC,GACNC,EAAK,CACHC,QAASP,IACLQ,EAAQ,CACNA,QAASP,aACTQ,MAAM,KACHL,KACAC,IAELK,EAAI,YACLN,KACAC,GAER,CAKYM,IAAAA,EAAUR"}
|
package/memory/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/memory/adapter.ts","../../src/memory/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nconst data = new Map<string, any>()\n\nexport const memory: StorageAdapter = <State>(key: string) => ({\n get: () => data.get(key),\n set: (value: State) => data.set(key, value),\n})\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { memory } from './adapter'\n\nexport type {\n ConfigPersist,\n Done,\n Fail,\n Finally,\n StorageAdapter,\n} from '../types'\n\nexport interface ConfigStore<State, Err = Error>\n extends ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `memory` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: memory,\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["data","Map","memory","key","get","set","value","createPersist","defaults","config","base","adapter","persist"],"mappings":"2CAEMA,EAAO,IAAIC,IAEJC,EAAiCC,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/memory/adapter.ts","../../src/memory/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nconst data = new Map<string, any>()\n\nexport const memory: StorageAdapter = <State>(key: string) => ({\n get: () => data.get(key),\n set: (value: State) => data.set(key, value),\n})\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { memory } from './adapter'\n\nexport type {\n ConfigPersist,\n Done,\n Fail,\n Finally,\n StorageAdapter,\n} from '../types'\n\nexport interface ConfigStore<State, Err = Error>\n extends ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `memory` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: memory,\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["data","Map","memory","key","get","set","value","createPersist","defaults","config","base","adapter","persist"],"mappings":"2CAEMA,EAAO,IAAIC,IAEJC,EAAiCC,IAAiB,CAC7DC,IAAK,IAAMJ,EAAKI,IAAID,GACpBE,IAAMC,GAAiBN,EAAKK,IAAIF,EAAKG,KC6BhC,SAASC,EAAcC,GAC5B,OAAQC,GACNC,EAAAA,QAAK,CACHC,QAAST,KACNM,KACAC,GAER,CAKYG,IAAAA,EAAUL"}
|
package/memory/index.js.flow
CHANGED
package/memory/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/memory/adapter.ts","../../src/memory/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nconst data = new Map<string, any>()\n\nexport const memory: StorageAdapter = <State>(key: string) => ({\n get: () => data.get(key),\n set: (value: State) => data.set(key, value),\n})\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { memory } from './adapter'\n\nexport type {\n ConfigPersist,\n Done,\n Fail,\n Finally,\n StorageAdapter,\n} from '../types'\n\nexport interface ConfigStore<State, Err = Error>\n extends ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `memory` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: memory,\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["data","Map","memory","key","get","set","value","createPersist","defaults","config","base","adapter","persist"],"mappings":"sCAEA,IAAMA,EAAO,IAAIC,IAEJC,EAAiCC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/memory/adapter.ts","../../src/memory/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nconst data = new Map<string, any>()\n\nexport const memory: StorageAdapter = <State>(key: string) => ({\n get: () => data.get(key),\n set: (value: State) => data.set(key, value),\n})\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { memory } from './adapter'\n\nexport type {\n ConfigPersist,\n Done,\n Fail,\n Finally,\n StorageAdapter,\n} from '../types'\n\nexport interface ConfigStore<State, Err = Error>\n extends ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `memory` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: memory,\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["data","Map","memory","key","get","set","value","createPersist","defaults","config","base","adapter","persist"],"mappings":"sCAEA,IAAMA,EAAO,IAAIC,IAEJC,EAAiCC,IAAiB,CAC7DC,IAAK,IAAMJ,EAAKI,IAAID,GACpBE,IAAMC,GAAiBN,EAAKK,IAAIF,EAAKG,KC6BhC,SAASC,EAAcC,GAC5B,OAAQC,GACNC,EAAK,CACHC,QAAST,KACNM,KACAC,GAER,CAKYG,IAAAA,EAAUL"}
|
package/nil/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/nil/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\n/**\n * Nil/Void adapter\n */\nexport function nil(keyArea?: any): StorageAdapter {\n const adapter: StorageAdapter = () =>\n <any>{\n get() {}, // eslint-disable-line @typescript-eslint/no-empty-function\n set() {}, // eslint-disable-line @typescript-eslint/no-empty-function\n }\n\n adapter.keyArea = keyArea\n return adapter\n}\n"],"names":["keyArea","adapter","get","set"],"mappings":"yBAKO,SAAaA,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/nil/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\n/**\n * Nil/Void adapter\n */\nexport function nil(keyArea?: any): StorageAdapter {\n const adapter: StorageAdapter = () =>\n <any>{\n get() {}, // eslint-disable-line @typescript-eslint/no-empty-function\n set() {}, // eslint-disable-line @typescript-eslint/no-empty-function\n }\n\n adapter.keyArea = keyArea\n return adapter\n}\n"],"names":["keyArea","adapter","get","set"],"mappings":"yBAKO,SAAaA,GAClB,IAAMC,EAA0B,KACzB,CACHC,MADG,EAEHC,MAFG,IAMP,OADAF,EAAQD,QAAUA,EACXC,CACR"}
|
package/nil/index.js.flow
CHANGED
package/nil/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/nil/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\n/**\n * Nil/Void adapter\n */\nexport function nil(keyArea?: any): StorageAdapter {\n const adapter: StorageAdapter = () =>\n <any>{\n get() {}, // eslint-disable-line @typescript-eslint/no-empty-function\n set() {}, // eslint-disable-line @typescript-eslint/no-empty-function\n }\n\n adapter.keyArea = keyArea\n return adapter\n}\n"],"names":["nil","keyArea","adapter","get","set"],"mappings":"AAKO,SAASA,EAAIC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/nil/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\n/**\n * Nil/Void adapter\n */\nexport function nil(keyArea?: any): StorageAdapter {\n const adapter: StorageAdapter = () =>\n <any>{\n get() {}, // eslint-disable-line @typescript-eslint/no-empty-function\n set() {}, // eslint-disable-line @typescript-eslint/no-empty-function\n }\n\n adapter.keyArea = keyArea\n return adapter\n}\n"],"names":["nil","keyArea","adapter","get","set"],"mappings":"AAKO,SAASA,EAAIC,GAClB,IAAMC,EAA0B,KACzB,CACHC,MADG,EAEHC,MAFG,IAMP,OADAF,EAAQD,QAAUA,EACXC,CACR"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effector-storage",
|
|
3
3
|
"description": "Module for Effector to sync stores with different storages",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.1",
|
|
5
5
|
"author": "Victor Didenko <yumaa.verdin@gmail.com> (https://yumaa.name)",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
package/query/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/query/adapter.ts","../../src/query/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport type ChangeMethod = (\n params: URLSearchParams | string,\n erase?: boolean\n) => void\n\nexport type StateBehavior = 'keep' | 'erase'\n\nexport interface QueryConfig {\n method?: ChangeMethod\n state?: StateBehavior\n}\n\nconst keyArea = Symbol() // eslint-disable-line symbol-description\n\n/*\n * Location change methods list\n */\n\nconst url = (params: URLSearchParams | string) =>\n location.pathname +\n (params + '' ? '?' + params : '') +\n (location.hash && location.hash !== '#' ? location.hash : '')\n\nexport const pushState: ChangeMethod = (params, erase): void =>\n history.pushState(erase ? null : history.state, '', url(params))\n\nexport const replaceState: ChangeMethod = (params, erase): void =>\n history.replaceState(erase ? null : history.state, '', url(params))\n\nexport const locationAssign: ChangeMethod = (params): void =>\n location.assign(url(params))\n\nexport const locationReplace: ChangeMethod = (params): void =>\n location.replace(url(params))\n\n/**\n * Query string adapter factory\n */\nexport function query(\n { method = pushState, state }: QueryConfig,\n def: any\n): StorageAdapter {\n const adapter: StorageAdapter = <State>(\n key: string,\n update: (raw?: any) => any\n ) => {\n if (typeof addEventListener !== 'undefined') {\n addEventListener('popstate', () => setTimeout(update, 0))\n }\n\n return {\n get() {\n const params = new URLSearchParams(location.search)\n return params.get(key) || def\n },\n\n set(value: State) {\n const params = new URLSearchParams(location.search)\n if (value != null) {\n params.set(key, `${value}`)\n } else {\n params.delete(key)\n }\n method(params, state === 'erase')\n },\n }\n }\n\n adapter.keyArea = keyArea\n return adapter\n}\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport type { ChangeMethod, StateBehavior } from './adapter'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { query } from './adapter'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\nexport {\n pushState,\n replaceState,\n locationAssign,\n locationReplace,\n} from './adapter'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n method?: ChangeMethod\n state?: StateBehavior\n}\n\nexport interface AdapterConfig {\n method?: ChangeMethod\n state?: StateBehavior\n def?: any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `query` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) => {\n const def =\n config.def !== undefined\n ? config.def\n : 'store' in config\n ? config.store.defaultState\n : null\n\n return base({\n adapter:\n typeof history !== 'undefined' && typeof location !== 'undefined'\n ? query({ ...defaults, ...config }, def)\n : nil('query'),\n ...defaults,\n ...config,\n })\n }\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["keyArea","Symbol","url","params","location","pathname","hash","pushState","erase","history","state","query","method","def","adapter","key","update","addEventListener","setTimeout","get","URLSearchParams","search","set","value","delete","createPersist","defaults","config","undefined","store","defaultState","base","nil","persist","assign","replace","replaceState"],"mappings":"yEAcMA,EAAUC,SAMVC,EAAOC,GACXC,SAASC,UACRF,EAAS,GAAK,IAAMA,EAAS,KAC7BC,SAASE,MAA0B,MAAlBF,SAASE,KAAeF,SAASE,KAAO,IAE/CC,EAA0B,CAACJ,EAAQK,IAC9CC,QAAQF,UAAUC,EAAQ,KAAOC,QAAQC,MAAO,GAAIR,EAAIC,IAcnD,SAASQ,GACdC,OAAEA,EAASL,EAAXG,MAAsBA,GACtBG,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/query/adapter.ts","../../src/query/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport type ChangeMethod = (\n params: URLSearchParams | string,\n erase?: boolean\n) => void\n\nexport type StateBehavior = 'keep' | 'erase'\n\nexport interface QueryConfig {\n method?: ChangeMethod\n state?: StateBehavior\n}\n\nconst keyArea = Symbol() // eslint-disable-line symbol-description\n\n/*\n * Location change methods list\n */\n\nconst url = (params: URLSearchParams | string) =>\n location.pathname +\n (params + '' ? '?' + params : '') +\n (location.hash && location.hash !== '#' ? location.hash : '')\n\nexport const pushState: ChangeMethod = (params, erase): void =>\n history.pushState(erase ? null : history.state, '', url(params))\n\nexport const replaceState: ChangeMethod = (params, erase): void =>\n history.replaceState(erase ? null : history.state, '', url(params))\n\nexport const locationAssign: ChangeMethod = (params): void =>\n location.assign(url(params))\n\nexport const locationReplace: ChangeMethod = (params): void =>\n location.replace(url(params))\n\n/**\n * Query string adapter factory\n */\nexport function query(\n { method = pushState, state }: QueryConfig,\n def: any\n): StorageAdapter {\n const adapter: StorageAdapter = <State>(\n key: string,\n update: (raw?: any) => any\n ) => {\n if (typeof addEventListener !== 'undefined') {\n addEventListener('popstate', () => setTimeout(update, 0))\n }\n\n return {\n get() {\n const params = new URLSearchParams(location.search)\n return params.get(key) || def\n },\n\n set(value: State) {\n const params = new URLSearchParams(location.search)\n if (value != null) {\n params.set(key, `${value}`)\n } else {\n params.delete(key)\n }\n method(params, state === 'erase')\n },\n }\n }\n\n adapter.keyArea = keyArea\n return adapter\n}\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport type { ChangeMethod, StateBehavior } from './adapter'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { query } from './adapter'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\nexport {\n pushState,\n replaceState,\n locationAssign,\n locationReplace,\n} from './adapter'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n method?: ChangeMethod\n state?: StateBehavior\n}\n\nexport interface AdapterConfig {\n method?: ChangeMethod\n state?: StateBehavior\n def?: any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `query` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) => {\n const def =\n config.def !== undefined\n ? config.def\n : 'store' in config\n ? config.store.defaultState\n : null\n\n return base({\n adapter:\n typeof history !== 'undefined' && typeof location !== 'undefined'\n ? query({ ...defaults, ...config }, def)\n : nil('query'),\n ...defaults,\n ...config,\n })\n }\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["keyArea","Symbol","url","params","location","pathname","hash","pushState","erase","history","state","query","method","def","adapter","key","update","addEventListener","setTimeout","get","URLSearchParams","search","set","value","delete","createPersist","defaults","config","undefined","store","defaultState","base","nil","persist","assign","replace","replaceState"],"mappings":"yEAcMA,EAAUC,SAMVC,EAAOC,GACXC,SAASC,UACRF,EAAS,GAAK,IAAMA,EAAS,KAC7BC,SAASE,MAA0B,MAAlBF,SAASE,KAAeF,SAASE,KAAO,IAE/CC,EAA0B,CAACJ,EAAQK,IAC9CC,QAAQF,UAAUC,EAAQ,KAAOC,QAAQC,MAAO,GAAIR,EAAIC,IAcnD,SAASQ,GACdC,OAAEA,EAASL,EAAXG,MAAsBA,GACtBG,GAEA,IAAMC,EAA0B,CAC9BC,EACAC,KAEgC,oBAArBC,kBACTA,iBAAiB,YAAY,IAAMC,WAAWF,EAAQ,KAGjD,CACLG,IAAG,IACc,IAAIC,gBAAgBhB,SAASiB,QAC9BF,IAAIJ,IAAQF,EAG5BS,IAAIC,GACF,IAAMpB,EAAS,IAAIiB,gBAAgBhB,SAASiB,QAC/B,MAATE,EACFpB,EAAOmB,IAAIP,EAAM,GAAEQ,KAEnBpB,EAAOqB,OAAOT,GAEhBH,EAAOT,EAAkB,UAAVO,EAChB,IAKL,OADAI,EAAQd,QAAUA,EACXc,CACR,CCtBM,SAASW,EAAcC,GAC5B,OAAQC,IACN,IAAMd,OACWe,IAAfD,EAAOd,IACHc,EAAOd,IACP,UAAWc,EACXA,EAAOE,MAAMC,aACb,KAEN,OAAOC,UAAK,CACVjB,QACqB,oBAAZL,SAA+C,oBAAbL,SACrCO,EAAM,IAAKe,KAAaC,GAAUd,GAClCmB,EAAGA,IAAC,YACPN,KACAC,GANL,CASH,CAKYM,IAAAA,EAAUR,mDD1CsBtB,GAC3CC,SAAS8B,OAAOhC,EAAIC,4BAEwBA,GAC5CC,SAAS+B,QAAQjC,EAAIC,+DAPmB,CAACA,EAAQK,IACjDC,QAAQ2B,aAAa5B,EAAQ,KAAOC,QAAQC,MAAO,GAAIR,EAAIC"}
|
package/query/index.js.flow
CHANGED
package/query/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/query/adapter.ts","../../src/query/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport type ChangeMethod = (\n params: URLSearchParams | string,\n erase?: boolean\n) => void\n\nexport type StateBehavior = 'keep' | 'erase'\n\nexport interface QueryConfig {\n method?: ChangeMethod\n state?: StateBehavior\n}\n\nconst keyArea = Symbol() // eslint-disable-line symbol-description\n\n/*\n * Location change methods list\n */\n\nconst url = (params: URLSearchParams | string) =>\n location.pathname +\n (params + '' ? '?' + params : '') +\n (location.hash && location.hash !== '#' ? location.hash : '')\n\nexport const pushState: ChangeMethod = (params, erase): void =>\n history.pushState(erase ? null : history.state, '', url(params))\n\nexport const replaceState: ChangeMethod = (params, erase): void =>\n history.replaceState(erase ? null : history.state, '', url(params))\n\nexport const locationAssign: ChangeMethod = (params): void =>\n location.assign(url(params))\n\nexport const locationReplace: ChangeMethod = (params): void =>\n location.replace(url(params))\n\n/**\n * Query string adapter factory\n */\nexport function query(\n { method = pushState, state }: QueryConfig,\n def: any\n): StorageAdapter {\n const adapter: StorageAdapter = <State>(\n key: string,\n update: (raw?: any) => any\n ) => {\n if (typeof addEventListener !== 'undefined') {\n addEventListener('popstate', () => setTimeout(update, 0))\n }\n\n return {\n get() {\n const params = new URLSearchParams(location.search)\n return params.get(key) || def\n },\n\n set(value: State) {\n const params = new URLSearchParams(location.search)\n if (value != null) {\n params.set(key, `${value}`)\n } else {\n params.delete(key)\n }\n method(params, state === 'erase')\n },\n }\n }\n\n adapter.keyArea = keyArea\n return adapter\n}\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport type { ChangeMethod, StateBehavior } from './adapter'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { query } from './adapter'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\nexport {\n pushState,\n replaceState,\n locationAssign,\n locationReplace,\n} from './adapter'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n method?: ChangeMethod\n state?: StateBehavior\n}\n\nexport interface AdapterConfig {\n method?: ChangeMethod\n state?: StateBehavior\n def?: any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `query` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) => {\n const def =\n config.def !== undefined\n ? config.def\n : 'store' in config\n ? config.store.defaultState\n : null\n\n return base({\n adapter:\n typeof history !== 'undefined' && typeof location !== 'undefined'\n ? query({ ...defaults, ...config }, def)\n : nil('query'),\n ...defaults,\n ...config,\n })\n }\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["keyArea","Symbol","url","params","location","pathname","hash","pushState","erase","history","state","replaceState","locationAssign","assign","locationReplace","replace","query","method","def","adapter","key","update","addEventListener","setTimeout","get","URLSearchParams","search","set","value","delete","createPersist","defaults","config","undefined","store","defaultState","base","nil","persist"],"mappings":"4EAcA,IAAMA,EAAUC,SAMVC,EAAOC,GACXC,SAASC,UACRF,EAAS,GAAK,IAAMA,EAAS,KAC7BC,SAASE,MAA0B,MAAlBF,SAASE,KAAeF,SAASE,KAAO,IAE/CC,EAA0B,CAACJ,EAAQK,IAC9CC,QAAQF,UAAUC,EAAQ,KAAOC,QAAQC,MAAO,GAAIR,EAAIC,IAE7CQ,EAA6B,CAACR,EAAQK,IACjDC,QAAQE,aAAaH,EAAQ,KAAOC,QAAQC,MAAO,GAAIR,EAAIC,IAEhDS,EAAgCT,GAC3CC,SAASS,OAAOX,EAAIC,IAETW,EAAiCX,GAC5CC,SAASW,QAAQb,EAAIC,IAKhB,SAASa,GACdC,OAAEA,EAASV,EAAXG,MAAsBA,GACtBQ,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/query/adapter.ts","../../src/query/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport type ChangeMethod = (\n params: URLSearchParams | string,\n erase?: boolean\n) => void\n\nexport type StateBehavior = 'keep' | 'erase'\n\nexport interface QueryConfig {\n method?: ChangeMethod\n state?: StateBehavior\n}\n\nconst keyArea = Symbol() // eslint-disable-line symbol-description\n\n/*\n * Location change methods list\n */\n\nconst url = (params: URLSearchParams | string) =>\n location.pathname +\n (params + '' ? '?' + params : '') +\n (location.hash && location.hash !== '#' ? location.hash : '')\n\nexport const pushState: ChangeMethod = (params, erase): void =>\n history.pushState(erase ? null : history.state, '', url(params))\n\nexport const replaceState: ChangeMethod = (params, erase): void =>\n history.replaceState(erase ? null : history.state, '', url(params))\n\nexport const locationAssign: ChangeMethod = (params): void =>\n location.assign(url(params))\n\nexport const locationReplace: ChangeMethod = (params): void =>\n location.replace(url(params))\n\n/**\n * Query string adapter factory\n */\nexport function query(\n { method = pushState, state }: QueryConfig,\n def: any\n): StorageAdapter {\n const adapter: StorageAdapter = <State>(\n key: string,\n update: (raw?: any) => any\n ) => {\n if (typeof addEventListener !== 'undefined') {\n addEventListener('popstate', () => setTimeout(update, 0))\n }\n\n return {\n get() {\n const params = new URLSearchParams(location.search)\n return params.get(key) || def\n },\n\n set(value: State) {\n const params = new URLSearchParams(location.search)\n if (value != null) {\n params.set(key, `${value}`)\n } else {\n params.delete(key)\n }\n method(params, state === 'erase')\n },\n }\n }\n\n adapter.keyArea = keyArea\n return adapter\n}\n","import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport type { ChangeMethod, StateBehavior } from './adapter'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { query } from './adapter'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\nexport {\n pushState,\n replaceState,\n locationAssign,\n locationReplace,\n} from './adapter'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n method?: ChangeMethod\n state?: StateBehavior\n}\n\nexport interface AdapterConfig {\n method?: ChangeMethod\n state?: StateBehavior\n def?: any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `query` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) => {\n const def =\n config.def !== undefined\n ? config.def\n : 'store' in config\n ? config.store.defaultState\n : null\n\n return base({\n adapter:\n typeof history !== 'undefined' && typeof location !== 'undefined'\n ? query({ ...defaults, ...config }, def)\n : nil('query'),\n ...defaults,\n ...config,\n })\n }\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["keyArea","Symbol","url","params","location","pathname","hash","pushState","erase","history","state","replaceState","locationAssign","assign","locationReplace","replace","query","method","def","adapter","key","update","addEventListener","setTimeout","get","URLSearchParams","search","set","value","delete","createPersist","defaults","config","undefined","store","defaultState","base","nil","persist"],"mappings":"4EAcA,IAAMA,EAAUC,SAMVC,EAAOC,GACXC,SAASC,UACRF,EAAS,GAAK,IAAMA,EAAS,KAC7BC,SAASE,MAA0B,MAAlBF,SAASE,KAAeF,SAASE,KAAO,IAE/CC,EAA0B,CAACJ,EAAQK,IAC9CC,QAAQF,UAAUC,EAAQ,KAAOC,QAAQC,MAAO,GAAIR,EAAIC,IAE7CQ,EAA6B,CAACR,EAAQK,IACjDC,QAAQE,aAAaH,EAAQ,KAAOC,QAAQC,MAAO,GAAIR,EAAIC,IAEhDS,EAAgCT,GAC3CC,SAASS,OAAOX,EAAIC,IAETW,EAAiCX,GAC5CC,SAASW,QAAQb,EAAIC,IAKhB,SAASa,GACdC,OAAEA,EAASV,EAAXG,MAAsBA,GACtBQ,GAEA,IAAMC,EAA0B,CAC9BC,EACAC,KAEgC,oBAArBC,kBACTA,iBAAiB,YAAY,IAAMC,WAAWF,EAAQ,KAGjD,CACLG,IAAG,IACc,IAAIC,gBAAgBrB,SAASsB,QAC9BF,IAAIJ,IAAQF,EAG5BS,IAAIC,GACF,IAAMzB,EAAS,IAAIsB,gBAAgBrB,SAASsB,QAC/B,MAATE,EACFzB,EAAOwB,IAAIP,EAAM,GAAEQ,KAEnBzB,EAAO0B,OAAOT,GAEhBH,EAAOd,EAAkB,UAAVO,EAChB,IAKL,OADAS,EAAQnB,QAAUA,EACXmB,CACR,CCtBM,SAASW,EAAcC,GAC5B,OAAQC,IACN,IAAMd,OACWe,IAAfD,EAAOd,IACHc,EAAOd,IACP,UAAWc,EACXA,EAAOE,MAAMC,aACb,KAEN,OAAOC,EAAK,CACVjB,QACqB,oBAAZV,SAA+C,oBAAbL,SACrCY,EAAM,IAAKe,KAAaC,GAAUd,GAClCmB,EAAI,YACPN,KACAC,GANL,CASH,CAKYM,IAAAA,EAAUR"}
|
package/rn/async/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/rn/async/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../../types'\nimport { persist as base } from '../../persist'\nimport { asyncStorage } from '../../async-storage'\nimport AsyncStorage from '@react-native-async-storage/async-storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {}\n\nexport interface AdapterConfig {\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `AsyncStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: asyncStorage({\n storage: AsyncStorage,\n ...defaults,\n ...config,\n }),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["createPersist","defaults","config","base","adapter","asyncStorage","storage","AsyncStorage","persist"],"mappings":"6NAuCO,SAASA,EAAcC,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/rn/async/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../../types'\nimport { persist as base } from '../../persist'\nimport { asyncStorage } from '../../async-storage'\nimport AsyncStorage from '@react-native-async-storage/async-storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {}\n\nexport interface AdapterConfig {\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `AsyncStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: asyncStorage({\n storage: AsyncStorage,\n ...defaults,\n ...config,\n }),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["createPersist","defaults","config","base","adapter","asyncStorage","storage","AsyncStorage","persist"],"mappings":"6NAuCO,SAASA,EAAcC,GAC5B,OAAQC,GACNC,EAAAA,QAAK,CACHC,QAASC,EAAAA,aAAa,CACpBC,QAASC,KACNN,KACAC,OAEFD,KACAC,GAER,CAKYM,IAAAA,EAAUR"}
|
package/rn/async/index.js.flow
CHANGED
package/rn/async/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/rn/async/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../../types'\nimport { persist as base } from '../../persist'\nimport { asyncStorage } from '../../async-storage'\nimport AsyncStorage from '@react-native-async-storage/async-storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {}\n\nexport interface AdapterConfig {\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `AsyncStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: asyncStorage({\n storage: AsyncStorage,\n ...defaults,\n ...config,\n }),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["createPersist","defaults","config","base","adapter","asyncStorage","storage","AsyncStorage","persist"],"mappings":"8JAuCO,SAASA,EAAcC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/rn/async/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../../types'\nimport { persist as base } from '../../persist'\nimport { asyncStorage } from '../../async-storage'\nimport AsyncStorage from '@react-native-async-storage/async-storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {}\n\nexport interface AdapterConfig {\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `AsyncStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: asyncStorage({\n storage: AsyncStorage,\n ...defaults,\n ...config,\n }),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["createPersist","defaults","config","base","adapter","asyncStorage","storage","AsyncStorage","persist"],"mappings":"8JAuCO,SAASA,EAAcC,GAC5B,OAAQC,GACNC,EAAK,CACHC,QAASC,EAAa,CACpBC,QAASC,KACNN,KACAC,OAEFD,KACAC,GAER,CAKYM,IAAAA,EAAUR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/rn/encrypted/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../../types'\nimport { persist as base } from '../../persist'\nimport { asyncStorage } from '../../async-storage'\nimport EncryptedStorage from 'react-native-encrypted-storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {}\n\nexport interface AdapterConfig {\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `EncryptedStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: asyncStorage({\n storage: EncryptedStorage,\n ...defaults,\n ...config,\n }),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["createPersist","defaults","config","base","adapter","asyncStorage","storage","EncryptedStorage","persist"],"mappings":"kNAuCO,SAASA,EAAcC,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/rn/encrypted/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../../types'\nimport { persist as base } from '../../persist'\nimport { asyncStorage } from '../../async-storage'\nimport EncryptedStorage from 'react-native-encrypted-storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {}\n\nexport interface AdapterConfig {\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `EncryptedStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: asyncStorage({\n storage: EncryptedStorage,\n ...defaults,\n ...config,\n }),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["createPersist","defaults","config","base","adapter","asyncStorage","storage","EncryptedStorage","persist"],"mappings":"kNAuCO,SAASA,EAAcC,GAC5B,OAAQC,GACNC,EAAAA,QAAK,CACHC,QAASC,EAAAA,aAAa,CACpBC,QAASC,KACNN,KACAC,OAEFD,KACAC,GAER,CAKYM,IAAAA,EAAUR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/rn/encrypted/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../../types'\nimport { persist as base } from '../../persist'\nimport { asyncStorage } from '../../async-storage'\nimport EncryptedStorage from 'react-native-encrypted-storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {}\n\nexport interface AdapterConfig {\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `EncryptedStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: asyncStorage({\n storage: EncryptedStorage,\n ...defaults,\n ...config,\n }),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["createPersist","defaults","config","base","adapter","asyncStorage","storage","EncryptedStorage","persist"],"mappings":"mJAuCO,SAASA,EAAcC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/rn/encrypted/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../../types'\nimport { persist as base } from '../../persist'\nimport { asyncStorage } from '../../async-storage'\nimport EncryptedStorage from 'react-native-encrypted-storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {}\n\nexport interface AdapterConfig {\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `EncryptedStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: asyncStorage({\n storage: EncryptedStorage,\n ...defaults,\n ...config,\n }),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["createPersist","defaults","config","base","adapter","asyncStorage","storage","EncryptedStorage","persist"],"mappings":"mJAuCO,SAASA,EAAcC,GAC5B,OAAQC,GACNC,EAAK,CACHC,QAASC,EAAa,CACpBC,QAASC,KACNN,KACAC,OAEFD,KACAC,GAER,CAKYM,IAAAA,EAAUR"}
|
package/session/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/session/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { storage } from '../storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n sync?: boolean\n}\n\nexport interface AdapterConfig {\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Function, checking if `sessionStorage` exists and accessible\n */\nfunction supports() {\n try {\n return typeof sessionStorage !== 'undefined'\n } catch (error) {\n return false // should somehow return error instance?\n }\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `sessionStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: supports()\n ? storage({\n storage: sessionStorage,\n ...defaults,\n ...config,\n })\n : nil('session'),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["supports","sessionStorage","error","createPersist","defaults","config","base","adapter","storage","nil","persist"],"mappings":"2GAyCA,SAASA,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/session/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { storage } from '../storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n sync?: boolean\n}\n\nexport interface AdapterConfig {\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Function, checking if `sessionStorage` exists and accessible\n */\nfunction supports() {\n try {\n return typeof sessionStorage !== 'undefined'\n } catch (error) {\n return false // should somehow return error instance?\n }\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `sessionStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: supports()\n ? storage({\n storage: sessionStorage,\n ...defaults,\n ...config,\n })\n : nil('session'),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["supports","sessionStorage","error","createPersist","defaults","config","base","adapter","storage","nil","persist"],"mappings":"2GAyCA,SAASA,IACP,IACE,MAAiC,oBAAnBC,cAGf,CAFC,MAAOC,GACP,OAAO,CACR,CACF,CAMM,SAASC,EAAcC,GAC5B,OAAQC,GACNC,EAAAA,QAAK,CACHC,QAASP,IACLQ,UAAQ,CACNA,QAASP,kBACNG,KACAC,IAELI,EAAGA,IAAC,cACLL,KACAC,GAER,CAKYK,IAAAA,EAAUP"}
|
package/session/index.js.flow
CHANGED
package/session/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/session/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { storage } from '../storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n sync?: boolean\n}\n\nexport interface AdapterConfig {\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Function, checking if `sessionStorage` exists and accessible\n */\nfunction supports() {\n try {\n return typeof sessionStorage !== 'undefined'\n } catch (error) {\n return false // should somehow return error instance?\n }\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `sessionStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: supports()\n ? storage({\n storage: sessionStorage,\n ...defaults,\n ...config,\n })\n : nil('session'),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["supports","sessionStorage","error","createPersist","defaults","config","base","adapter","storage","nil","persist"],"mappings":"0HAyCA,SAASA,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/session/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n ConfigPersist as BaseConfigPersist,\n ConfigCommon,\n ConfigJustStore,\n ConfigJustSourceTarget,\n} from '../types'\nimport { persist as base } from '../persist'\nimport { nil } from '../nil'\nimport { storage } from '../storage'\n\nexport type { Done, Fail, Finally, StorageAdapter } from '../types'\n\nexport interface ConfigPersist extends BaseConfigPersist {\n sync?: boolean\n}\n\nexport interface AdapterConfig {\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustStore<State> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n extends AdapterConfig,\n ConfigCommon<State, Err>,\n ConfigJustSourceTarget<State> {}\n\nexport interface Persist {\n <State, Err = Error>(config: ConfigSourceTarget<State, Err>): Subscription\n <State, Err = Error>(config: ConfigStore<State, Err>): Subscription\n}\n\n/**\n * Function, checking if `sessionStorage` exists and accessible\n */\nfunction supports() {\n try {\n return typeof sessionStorage !== 'undefined'\n } catch (error) {\n return false // should somehow return error instance?\n }\n}\n\n/**\n * Creates custom partially applied `persist`\n * with predefined `sessionStorage` adapter\n */\nexport function createPersist(defaults?: ConfigPersist): Persist {\n return (config) =>\n base({\n adapter: supports()\n ? storage({\n storage: sessionStorage,\n ...defaults,\n ...config,\n })\n : nil('session'),\n ...defaults,\n ...config,\n })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["supports","sessionStorage","error","createPersist","defaults","config","base","adapter","storage","nil","persist"],"mappings":"0HAyCA,SAASA,IACP,IACE,MAAiC,oBAAnBC,cAGf,CAFC,MAAOC,GACP,OAAO,CACR,CACF,CAMM,SAASC,EAAcC,GAC5B,OAAQC,GACNC,EAAK,CACHC,QAASP,IACLQ,EAAQ,CACNA,QAASP,kBACNG,KACAC,IAELI,EAAI,cACLL,KACAC,GAER,CAKYK,IAAAA,EAAUP"}
|
package/storage/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/storage/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport interface StorageConfig {\n storage: Storage\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\n/**\n * Generic `Storage` adapter factory\n */\nexport function storage({\n storage,\n sync = false,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n}: StorageConfig): StorageAdapter {\n const adapter: StorageAdapter = <State>(\n key: string,\n update: (raw?: any) => any\n ) => {\n if (sync && typeof addEventListener !== 'undefined') {\n addEventListener('storage', (e) => {\n if (e.storageArea === storage) {\n if (e.key === key) update(e.newValue)\n\n // `key` attribute is `null` when the change is caused by the storage `clear()` method\n if (e.key === null) update(null)\n }\n })\n }\n\n return {\n get(value?: string | null) {\n const item = value !== undefined ? value : storage.getItem(key)\n return value === undefined && item === null\n ? undefined\n : deserialize(item as any)\n },\n\n set(value: State) {\n storage.setItem(key, serialize(value))\n },\n }\n }\n\n adapter.keyArea = storage\n return adapter\n}\n"],"names":["storage","sync","serialize","JSON","stringify","deserialize","parse","adapter","key","update","addEventListener","e","storageArea","newValue","get","value","item","undefined","getItem","set","setItem","keyArea"],"mappings":"6BAYO,UAAiBA,QACtBA,EADsBC,KAEtBA,GAAO,EAFeC,UAGtBA,EAAYC,KAAKC,UAHKC,YAItBA,EAAcF,KAAKG,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/storage/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport interface StorageConfig {\n storage: Storage\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\n/**\n * Generic `Storage` adapter factory\n */\nexport function storage({\n storage,\n sync = false,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n}: StorageConfig): StorageAdapter {\n const adapter: StorageAdapter = <State>(\n key: string,\n update: (raw?: any) => any\n ) => {\n if (sync && typeof addEventListener !== 'undefined') {\n addEventListener('storage', (e) => {\n if (e.storageArea === storage) {\n if (e.key === key) update(e.newValue)\n\n // `key` attribute is `null` when the change is caused by the storage `clear()` method\n if (e.key === null) update(null)\n }\n })\n }\n\n return {\n get(value?: string | null) {\n const item = value !== undefined ? value : storage.getItem(key)\n return value === undefined && item === null\n ? undefined\n : deserialize(item as any)\n },\n\n set(value: State) {\n storage.setItem(key, serialize(value))\n },\n }\n }\n\n adapter.keyArea = storage\n return adapter\n}\n"],"names":["storage","sync","serialize","JSON","stringify","deserialize","parse","adapter","key","update","addEventListener","e","storageArea","newValue","get","value","item","undefined","getItem","set","setItem","keyArea"],"mappings":"6BAYO,UAAiBA,QACtBA,EADsBC,KAEtBA,GAAO,EAFeC,UAGtBA,EAAYC,KAAKC,UAHKC,YAItBA,EAAcF,KAAKG,QAEnB,IAAMC,EAA0B,CAC9BC,EACAC,KAEIR,GAAoC,oBAArBS,kBACjBA,iBAAiB,WAAYC,IACvBA,EAAEC,cAAgBZ,IAChBW,EAAEH,MAAQA,GAAKC,EAAOE,EAAEE,UAGd,OAAVF,EAAEH,KAAcC,EAAO,MAC5B,IAIE,CACLK,IAAIC,GACF,IAAMC,OAAiBC,IAAVF,EAAsBA,EAAQf,EAAQkB,QAAQV,GAC3D,YAAiBS,IAAVF,GAAgC,OAATC,OAC1BC,EACAZ,EAAYW,EALb,EAQLG,IAAIJ,GACFf,EAAQoB,QAAQZ,EAAKN,EAAUa,GAChC,IAKL,OADAR,EAAQc,QAAUrB,EACXO,CACR"}
|
package/storage/index.js.flow
CHANGED
package/storage/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/storage/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport interface StorageConfig {\n storage: Storage\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\n/**\n * Generic `Storage` adapter factory\n */\nexport function storage({\n storage,\n sync = false,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n}: StorageConfig): StorageAdapter {\n const adapter: StorageAdapter = <State>(\n key: string,\n update: (raw?: any) => any\n ) => {\n if (sync && typeof addEventListener !== 'undefined') {\n addEventListener('storage', (e) => {\n if (e.storageArea === storage) {\n if (e.key === key) update(e.newValue)\n\n // `key` attribute is `null` when the change is caused by the storage `clear()` method\n if (e.key === null) update(null)\n }\n })\n }\n\n return {\n get(value?: string | null) {\n const item = value !== undefined ? value : storage.getItem(key)\n return value === undefined && item === null\n ? undefined\n : deserialize(item as any)\n },\n\n set(value: State) {\n storage.setItem(key, serialize(value))\n },\n }\n }\n\n adapter.keyArea = storage\n return adapter\n}\n"],"names":["storage","sync","serialize","JSON","stringify","deserialize","parse","adapter","key","update","addEventListener","e","storageArea","newValue","get","value","item","undefined","getItem","set","setItem","keyArea"],"mappings":"AAYO,SAASA,GAAQA,QACtBA,EADsBC,KAEtBA,GAAO,EAFeC,UAGtBA,EAAYC,KAAKC,UAHKC,YAItBA,EAAcF,KAAKG,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/storage/index.ts"],"sourcesContent":["import type { StorageAdapter } from '..'\n\nexport interface StorageConfig {\n storage: Storage\n sync?: boolean\n serialize?: (value: any) => string\n deserialize?: (value: string) => any\n}\n\n/**\n * Generic `Storage` adapter factory\n */\nexport function storage({\n storage,\n sync = false,\n serialize = JSON.stringify,\n deserialize = JSON.parse,\n}: StorageConfig): StorageAdapter {\n const adapter: StorageAdapter = <State>(\n key: string,\n update: (raw?: any) => any\n ) => {\n if (sync && typeof addEventListener !== 'undefined') {\n addEventListener('storage', (e) => {\n if (e.storageArea === storage) {\n if (e.key === key) update(e.newValue)\n\n // `key` attribute is `null` when the change is caused by the storage `clear()` method\n if (e.key === null) update(null)\n }\n })\n }\n\n return {\n get(value?: string | null) {\n const item = value !== undefined ? value : storage.getItem(key)\n return value === undefined && item === null\n ? undefined\n : deserialize(item as any)\n },\n\n set(value: State) {\n storage.setItem(key, serialize(value))\n },\n }\n }\n\n adapter.keyArea = storage\n return adapter\n}\n"],"names":["storage","sync","serialize","JSON","stringify","deserialize","parse","adapter","key","update","addEventListener","e","storageArea","newValue","get","value","item","undefined","getItem","set","setItem","keyArea"],"mappings":"AAYO,SAASA,GAAQA,QACtBA,EADsBC,KAEtBA,GAAO,EAFeC,UAGtBA,EAAYC,KAAKC,UAHKC,YAItBA,EAAcF,KAAKG,QAEnB,IAAMC,EAA0B,CAC9BC,EACAC,KAEIR,GAAoC,oBAArBS,kBACjBA,iBAAiB,WAAYC,IACvBA,EAAEC,cAAgBZ,IAChBW,EAAEH,MAAQA,GAAKC,EAAOE,EAAEE,UAGd,OAAVF,EAAEH,KAAcC,EAAO,MAC5B,IAIE,CACLK,IAAIC,GACF,IAAMC,OAAiBC,IAAVF,EAAsBA,EAAQf,EAAQkB,QAAQV,GAC3D,YAAiBS,IAAVF,GAAgC,OAATC,OAC1BC,EACAZ,EAAYW,EALb,EAQLG,IAAIJ,GACFf,EAAQoB,QAAQZ,EAAKN,EAAUa,GAChC,IAKL,OADAR,EAAQc,QAAUrB,EACXO,CACR"}
|