{"version":3,"file":"index.cjs","sources":["../../../packages/react-native-async-storage/src/index.ts"],"sourcesContent":["import type { Subscription } from 'effector'\nimport type {\n  ConfigPersist as BaseConfigPersist,\n  ConfigStore as BaseConfigStore,\n  ConfigSourceTarget as BaseConfigSourceTarget,\n  StorageAdapter,\n} from 'effector-storage'\nimport { persist as base, asyncStorage } from 'effector-storage'\nimport AsyncStorage from '@react-native-async-storage/async-storage'\n\nexport type {\n  Done,\n  Fail,\n  Finally,\n  StorageAdapter,\n  StorageAdapterFactory,\n} from 'effector-storage'\n\nexport interface ConfigPersist extends BaseConfigPersist {}\n\nexport interface AsyncStorageConfig {\n  serialize?: (value: any) => string\n  deserialize?: (value: string) => any\n}\n\nexport interface ConfigStore<State, Err = Error>\n  extends AsyncStorageConfig,\n    BaseConfigStore<State, Err> {}\n\nexport interface ConfigSourceTarget<State, Err = Error>\n  extends AsyncStorageConfig,\n    BaseConfigSourceTarget<State, Err> {}\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 `AsyncStorage` adapter\n */\nadapter.factory = true as const\nexport function adapter(config?: AsyncStorageConfig): StorageAdapter {\n  return asyncStorage({\n    storage: () => AsyncStorage,\n    ...config,\n  })\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,\n      ...defaults,\n      ...config,\n    })\n}\n\n/**\n * Default partially applied `persist`\n */\nexport const persist = createPersist()\n"],"names":["adapter","config","asyncStorage","storage","AsyncStorage","createPersist","defaults","base","factory","persist"],"mappings":"sGA0CO,SAASA,EAAQC,GACtB,OAAOC,eAAa,CAClBC,QAASA,IAAMC,KACZH,GAEP,CAMO,SAASI,EAAcC,GAC5B,OAAQL,GACNM,EAAAA,QAAK,CACHP,aACGM,KACAL,GAET,CAnBAD,EAAQQ,SAAU,EAwBLC,IAAAA,EAAUJ"}