ccstate 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -28
- package/core/index.cjs +5 -3
- package/core/index.cjs.map +1 -0
- package/core/index.d.cts +1 -0
- package/core/index.d.cts.map +1 -0
- package/core/index.d.ts +1 -0
- package/core/index.d.ts.map +1 -0
- package/core/index.js +5 -3
- package/core/index.js.map +1 -0
- package/debug/index.cjs +7 -5
- package/debug/index.cjs.map +1 -0
- package/debug/index.d.cts +1 -0
- package/debug/index.d.cts.map +1 -0
- package/debug/index.d.ts +1 -0
- package/debug/index.d.ts.map +1 -0
- package/debug/index.js +7 -5
- package/debug/index.js.map +1 -0
- package/index.cjs +7 -5
- package/index.cjs.map +1 -0
- package/index.d.cts +1 -0
- package/index.d.cts.map +1 -0
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -0
- package/index.js +7 -5
- package/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/core/atom-manager.ts","../../src/core/store.ts","../../src/debug/debug-store.ts","../../src/debug/console-inspector.ts"],"sourcesContent":["import type { ReadableAtom, Command, Getter, Computed, State } from '../../types/core/atom';\nimport type { StoreOptions } from '../../types/core/store';\n\ntype DataWithCalledState<T> =\n | {\n called: false;\n }\n | {\n called: true;\n data: T;\n };\n\nexport interface StateState<T> {\n mounted?: Mounted;\n val: T;\n epoch: number;\n}\n\nexport interface ComputedState<T> {\n mounted?: Mounted;\n val: T;\n dependencies: Map<ReadableAtom<unknown>, number>;\n epoch: number;\n abortController?: AbortController;\n}\n\ntype CommonReadableState<T> = StateState<T> | ComputedState<T>;\n\ntype AtomState<T> = StateState<T> | ComputedState<T>;\n\ninterface Mounted {\n listeners: Set<Command<unknown, []>>;\n readDepts: Set<ReadableAtom<unknown>>;\n}\n\nfunction canReadAsCompute<T>(atom: ReadableAtom<T>): atom is Computed<T> {\n return 'read' in atom;\n}\n\nfunction isComputedState<T>(state: CommonReadableState<T>): state is ComputedState<T> {\n return 'dependencies' in state;\n}\n\nexport class AtomManager {\n private atomStateMap = new WeakMap<ReadableAtom<unknown>, AtomState<unknown>>();\n\n constructor(private readonly options?: StoreOptions) {}\n\n private tryGetCachedState = <T>(atom: Computed<T>, ignoreMounted: boolean): ComputedState<T> | undefined => {\n const atomState = this.atomStateMap.get(atom) as ComputedState<T> | undefined;\n if (!atomState) {\n return undefined;\n }\n\n if (atomState.mounted && !ignoreMounted) {\n return atomState;\n }\n\n for (const [dep, epoch] of atomState.dependencies.entries()) {\n const depState = this.readAtomState(dep);\n if (depState.epoch !== epoch) {\n return undefined;\n }\n }\n\n return atomState;\n };\n\n private readComputedAtom<T>(atom: Computed<T>, ignoreMounted = false): ComputedState<T> {\n const cachedState = this.tryGetCachedState(atom, ignoreMounted);\n if (cachedState) {\n return cachedState;\n }\n\n const computedInterceptor = this.options?.interceptor?.computed;\n if (!computedInterceptor) {\n return this.computeComputedAtom(atom, ignoreMounted);\n }\n\n let result: DataWithCalledState<ComputedState<T>> = {\n called: false,\n } as DataWithCalledState<ComputedState<T>>;\n\n computedInterceptor(atom, () => {\n result = {\n called: true,\n data: this.computeComputedAtom(atom, ignoreMounted),\n };\n\n return result.data.val;\n });\n\n if (!result.called) {\n throw new Error('interceptor must call fn sync');\n }\n\n return result.data;\n }\n\n private computeComputedAtom<T>(atom: Computed<T>, ignoreMounted = false): ComputedState<T> {\n const self: Computed<T> = atom;\n let atomState: ComputedState<T> | undefined = this.atomStateMap.get(self) as ComputedState<T> | undefined;\n if (!atomState) {\n atomState = {\n dependencies: new Map<ReadableAtom<unknown>, number>(),\n epoch: -1,\n } as ComputedState<T>;\n this.atomStateMap.set(self, atomState);\n }\n\n const lastDeps = atomState.dependencies;\n const readDeps = new Map<ReadableAtom<unknown>, number>();\n atomState.dependencies = readDeps;\n const wrappedGet: Getter = (depAtom) => {\n const depState = this.readAtomState(depAtom, ignoreMounted);\n\n // get 可能发生在异步过程中,当重复调用时,只有最新的 get 过程会修改 deps\n if (atomState.dependencies === readDeps) {\n readDeps.set(depAtom, depState.epoch);\n\n const selfMounted = !!atomState.mounted;\n if (selfMounted && !depState.mounted) {\n this.mount(depAtom).readDepts.add(self);\n } else if (selfMounted && depState.mounted) {\n depState.mounted.readDepts.add(self);\n }\n }\n\n return depState.val;\n };\n\n const getInterceptor = this.options?.interceptor?.get;\n const ret = self.read(\n function <U>(depAtom: ReadableAtom<U>) {\n if (!getInterceptor) {\n return wrappedGet(depAtom);\n }\n\n let result: DataWithCalledState<U> = {\n called: false,\n } as DataWithCalledState<U>;\n\n const fn = () => {\n result = {\n called: true,\n data: wrappedGet(depAtom),\n };\n\n return result.data;\n };\n\n getInterceptor(depAtom, fn);\n\n if (!result.called) {\n throw new Error('interceptor must call fn sync');\n }\n return result.data;\n },\n {\n get signal() {\n atomState.abortController?.abort(`abort ${self.debugLabel ?? 'anonymous'} atom`);\n atomState.abortController = new AbortController();\n return atomState.abortController.signal;\n },\n },\n );\n\n if (atomState.val !== ret) {\n atomState.val = ret;\n atomState.epoch += 1;\n }\n\n for (const key of lastDeps.keys()) {\n if (!readDeps.has(key)) {\n const depState = this.atomStateMap.get(key);\n if (depState?.mounted) {\n depState.mounted.readDepts.delete(self);\n this.tryUnmount(key);\n }\n }\n }\n\n return atomState;\n }\n\n private readStateAtom<T>(atom: State<T>): StateState<T> {\n const atomState = this.atomStateMap.get(atom);\n if (!atomState) {\n const initState = {\n val: atom.init,\n epoch: 0,\n };\n this.atomStateMap.set(atom, initState);\n return initState as StateState<T>;\n }\n\n return atomState as StateState<T>;\n }\n\n public readAtomState<T>(atom: State<T>, ignoreMounted?: boolean): StateState<T>;\n public readAtomState<T>(atom: Computed<T>, ignoreMounted?: boolean): ComputedState<T>;\n public readAtomState<T>(atom: State<T> | Computed<T>, ignoreMounted?: boolean): CommonReadableState<T>;\n public readAtomState<T>(\n atom: State<T> | Computed<T>,\n ignoreMounted = false,\n ): StateState<T> | ComputedState<T> | CommonReadableState<T> {\n if (canReadAsCompute(atom)) {\n return this.readComputedAtom(atom, ignoreMounted);\n }\n\n return this.readStateAtom(atom);\n }\n\n private tryGetMount(atom: ReadableAtom<unknown>): Mounted | undefined {\n return this.atomStateMap.get(atom)?.mounted;\n }\n\n public mount<T>(atom: ReadableAtom<T>): Mounted {\n const mounted = this.tryGetMount(atom);\n if (mounted) {\n return mounted;\n }\n\n this.options?.interceptor?.mount?.(atom);\n\n const atomState = this.readAtomState(atom);\n\n atomState.mounted = atomState.mounted ?? {\n listeners: new Set(),\n readDepts: new Set(),\n };\n\n if (isComputedState(atomState)) {\n for (const [dep] of Array.from(atomState.dependencies)) {\n const mounted = this.mount(dep);\n mounted.readDepts.add(atom);\n }\n }\n\n return atomState.mounted;\n }\n\n public tryUnmount<T>(atom: ReadableAtom<T>): void {\n const atomState = this.atomStateMap.get(atom);\n if (!atomState?.mounted || atomState.mounted.listeners.size || atomState.mounted.readDepts.size) {\n return;\n }\n\n this.options?.interceptor?.unmount?.(atom);\n\n if (isComputedState(atomState)) {\n for (const [dep] of Array.from(atomState.dependencies)) {\n const depState = this.readAtomState(dep);\n depState.mounted?.readDepts.delete(atom);\n this.tryUnmount(dep);\n }\n }\n\n atomState.mounted = undefined;\n }\n\n public inited(atom: ReadableAtom<unknown>) {\n return this.atomStateMap.has(atom);\n }\n}\n\nexport class ListenerManager {\n private pendingListeners = new Set<Command<unknown, []>>();\n\n markPendingListeners(atomManager: AtomManager, atom: ReadableAtom<unknown>) {\n let queue: ReadableAtom<unknown>[] = [atom];\n while (queue.length > 0) {\n const nextQueue: ReadableAtom<unknown>[] = [];\n for (const atom of queue) {\n const atomState = atomManager.readAtomState(atom, true);\n\n if (atomState.mounted?.listeners) {\n for (const listener of atomState.mounted.listeners) {\n this.pendingListeners.add(listener);\n }\n }\n\n const readDepts = atomState.mounted?.readDepts;\n if (readDepts) {\n for (const dep of Array.from(readDepts)) {\n nextQueue.push(dep);\n }\n }\n }\n\n queue = nextQueue;\n }\n }\n\n *notify(): Generator<Command<unknown, []>, void, unknown> {\n const pendingListeners = this.pendingListeners;\n this.pendingListeners = new Set();\n\n for (const listener of pendingListeners) {\n yield listener;\n }\n }\n}\n","import type { ReadableAtom, Command, Getter, State, Updater, Setter } from '../../types/core/atom';\nimport type { Store, StoreOptions, SubscribeOptions } from '../../types/core/store';\nimport { AtomManager, ListenerManager } from './atom-manager';\n\ntype DataWithCalledState<T> =\n | {\n called: false;\n }\n | {\n called: true;\n data: T;\n };\n\nexport class StoreImpl implements Store {\n constructor(\n protected readonly atomManager: AtomManager,\n protected readonly listenerManager: ListenerManager,\n protected readonly options?: StoreOptions,\n ) {}\n\n private innerSet = <T, Args extends unknown[]>(\n atom: State<T> | Command<T, Args>,\n ...args: [T | Updater<T>] | Args\n ): undefined | T => {\n if ('read' in atom) {\n return;\n }\n\n if ('write' in atom) {\n const ret = atom.write({ get: this.get, set: this.set }, ...(args as Args));\n return ret;\n }\n\n const newValue =\n typeof args[0] === 'function'\n ? (args[0] as Updater<T>)(this.atomManager.readAtomState(atom).val)\n : (args[0] as T);\n\n if (!this.atomManager.inited(atom)) {\n this.atomManager.readAtomState(atom).val = newValue;\n this.listenerManager.markPendingListeners(this.atomManager, atom);\n return;\n }\n const atomState = this.atomManager.readAtomState(atom);\n atomState.val = newValue;\n atomState.epoch += 1;\n this.listenerManager.markPendingListeners(this.atomManager, atom);\n return undefined;\n };\n\n get: Getter = <T>(atom: ReadableAtom<T>): T => {\n if (!this.options?.interceptor?.get) {\n return this.atomManager.readAtomState(atom).val;\n }\n let result: DataWithCalledState<T> = {\n called: false,\n } as DataWithCalledState<T>;\n\n const fnWithRet = () => {\n result = {\n called: true,\n data: this.atomManager.readAtomState(atom).val,\n };\n return result.data;\n };\n\n this.options.interceptor.get(atom, fnWithRet);\n if (!result.called) {\n throw new Error('interceptor must call fn sync');\n }\n\n return result.data;\n };\n\n private notify = () => {\n for (const listener of this.listenerManager.notify()) {\n let notifyed = false;\n const fn = () => {\n notifyed = true;\n return listener.write({ get: this.get, set: this.set });\n };\n if (this.options?.interceptor?.notify) {\n this.options.interceptor.notify(listener, fn);\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- notify must call fn sync\n if (!notifyed) {\n throw new Error('interceptor must call fn sync');\n }\n } else {\n fn();\n }\n }\n };\n\n set: Setter = <T, Args extends unknown[]>(\n atom: State<T> | Command<T, Args>,\n ...args: [T | Updater<T>] | Args\n ): undefined | T => {\n let ret: T | undefined;\n const fn = () => {\n try {\n ret = this.innerSet(atom, ...args) as T | undefined;\n } finally {\n this.notify();\n }\n return ret;\n };\n\n if (this.options?.interceptor?.set) {\n if ('write' in atom) {\n this.options.interceptor.set(atom, fn, ...(args as Args));\n } else {\n this.options.interceptor.set(atom, fn, args[0] as T | Updater<T>);\n }\n } else {\n fn();\n }\n\n return ret;\n };\n\n private _subSingleAtom(\n target$: ReadableAtom<unknown>,\n cb$: Command<unknown, unknown[]>,\n options?: SubscribeOptions,\n ): () => void {\n let unsub: (() => void) | undefined;\n const fn = () => {\n let subscribed = true;\n const mounted = this.atomManager.mount(target$);\n mounted.listeners.add(cb$);\n\n unsub = () => {\n if (!subscribed) {\n return;\n }\n\n const fn = () => {\n subscribed = false;\n mounted.listeners.delete(cb$);\n\n if (mounted.readDepts.size === 0 && mounted.listeners.size === 0) {\n this.atomManager.tryUnmount(target$);\n }\n\n options?.signal?.addEventListener('abort', fn);\n };\n\n if (this.options?.interceptor?.unsub) {\n this.options.interceptor.unsub(target$, cb$, fn);\n\n // subscribed should be false if interceptor called fn sync\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (subscribed) {\n throw new Error('interceptor must call fn sync');\n }\n } else {\n fn();\n }\n };\n\n options?.signal?.addEventListener('abort', unsub);\n };\n\n if (this.options?.interceptor?.sub) {\n this.options.interceptor.sub(target$, cb$, fn);\n } else {\n fn();\n }\n\n if (!unsub) {\n throw new Error('interceptor must call fn sync');\n }\n\n return unsub;\n }\n\n sub(\n targets$: ReadableAtom<unknown>[] | ReadableAtom<unknown>,\n cb$: Command<unknown, unknown[]>,\n options?: SubscribeOptions,\n ): () => void {\n if (Array.isArray(targets$) && targets$.length === 0) {\n return () => void 0;\n }\n\n if (Array.isArray(targets$) && targets$.length === 1) {\n return this._subSingleAtom(targets$[0], cb$, options);\n } else if (!Array.isArray(targets$)) {\n return this._subSingleAtom(targets$, cb$, options);\n }\n\n const unsubscribes = new Set<() => void>();\n targets$.forEach((atom) => {\n unsubscribes.add(this._subSingleAtom(atom, cb$, options));\n });\n\n const unsub = () => {\n for (const unsubscribe of unsubscribes) {\n unsubscribe();\n }\n };\n\n return unsub;\n }\n}\n\nexport function createStore(): Store {\n const atomManager = new AtomManager();\n const listenerManager = new ListenerManager();\n\n return new StoreImpl(atomManager, listenerManager);\n}\n\nlet defaultStore: Store | undefined = undefined;\nexport function getDefaultStore(): Store {\n if (!defaultStore) {\n defaultStore = createStore();\n }\n return defaultStore;\n}\n","import type { StoreInterceptor, SubscribeOptions } from '../../types/core/store';\nimport type { DebugStore, NestedAtom } from '../../types/debug/debug-store';\nimport type { Computed, Command, Subscribe, State } from '../core';\nimport { AtomManager, ListenerManager } from '../core/atom-manager';\nimport { StoreImpl } from '../core/store';\n\nexport class DebugStoreImpl extends StoreImpl implements DebugStore {\n private readonly mountedAtomListenersCount = new Map<State<unknown> | Computed<unknown>, number>();\n\n override sub: Subscribe = (\n atoms: (State<unknown> | Computed<unknown>)[] | (State<unknown> | Computed<unknown>),\n cb: Command<unknown, unknown[]>,\n options?: SubscribeOptions,\n ): (() => void) => {\n const atomList = Array.isArray(atoms) ? atoms : [atoms];\n\n atomList.forEach((atom) => {\n this.mountedAtomListenersCount.set(atom, (this.mountedAtomListenersCount.get(atom) ?? 0) + 1);\n });\n\n const unsub = super.sub(atoms, cb, options);\n const decount = () => {\n atomList.forEach((atom) => {\n const count = this.mountedAtomListenersCount.get(atom) ?? 0;\n if (count === 0) {\n return;\n }\n\n this.mountedAtomListenersCount.set(atom, count - 1);\n if (count === 1) {\n this.mountedAtomListenersCount.delete(atom);\n }\n });\n };\n options?.signal?.addEventListener('abort', decount);\n return () => {\n unsub();\n decount();\n };\n };\n\n getReadDependencies = (atom: State<unknown> | Computed<unknown>): NestedAtom => {\n const atomState = this.atomManager.readAtomState(atom);\n\n if (!('dependencies' in atomState)) {\n return [atom];\n }\n\n return [\n atom,\n ...Array.from(atomState.dependencies).map(([key]) => {\n return this.getReadDependencies(key);\n }),\n ] as NestedAtom;\n };\n\n getReadDependents = (atom: State<unknown> | Computed<unknown>): NestedAtom => {\n const atomState = this.atomManager.readAtomState(atom);\n return [\n atom,\n ...Array.from(atomState.mounted?.readDepts ?? []).map((key) => this.getReadDependents(key)),\n ] as NestedAtom;\n };\n\n getSubscribeGraph = (): NestedAtom => {\n const subscribedAtoms = Array.from(this.mountedAtomListenersCount.keys());\n return subscribedAtoms.map((atom) => {\n const atomState = this.atomManager.readAtomState(atom);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- we know it's mounted\n const listeners = Array.from(atomState.mounted!.listeners);\n return [atom, ...listeners];\n });\n };\n\n isMounted = (atom: State<unknown> | Computed<unknown>): boolean => {\n const mountState = this.atomManager.readAtomState(atom);\n return mountState.mounted !== undefined;\n };\n}\n\nexport function createDebugStoreInternal(interceptor?: StoreInterceptor): DebugStore {\n const atomManager = new AtomManager({\n interceptor: interceptor,\n });\n const listenerManager = new ListenerManager();\n\n return new DebugStoreImpl(atomManager, listenerManager, {\n interceptor: interceptor,\n });\n}\n","import type { CallbackFunc, StoreEventType, StoreInterceptor } from '../../types/core/store';\nimport type { DebugStore } from '../../types/debug/debug-store';\nimport type { Computed, Command, Updater, State } from '../core';\nimport { createDebugStoreInternal } from './debug-store';\n\nexport interface AtomWatch {\n target: State<unknown> | Computed<unknown> | Command<unknown, unknown[]> | string | RegExp;\n actions?: Set<StoreEventType>;\n}\n\nexport class ConsoleInterceptor implements StoreInterceptor {\n constructor(private readonly watches: AtomWatch[]) {}\n\n private shouldLog = (\n atom: State<unknown> | Computed<unknown> | Command<unknown, unknown[]>,\n action: StoreEventType,\n ) => {\n return this.watches.some((watch) => {\n let atomMatched = false;\n if (typeof watch.target === 'string') {\n atomMatched = atom.toString().includes(watch.target);\n } else if (watch.target instanceof RegExp) {\n atomMatched = watch.target.test(atom.toString());\n } else {\n atomMatched = watch.target === atom;\n }\n\n if (!atomMatched) {\n return false;\n }\n\n return !watch.actions || watch.actions.has(action);\n });\n };\n\n get = <T>(atom$: State<T> | Computed<T>, fn: () => T) => {\n if (!this.shouldLog(atom$, 'get')) {\n fn();\n return;\n }\n\n console.group('[R][GET] ' + atom$.toString());\n console.log('ret:', fn());\n console.groupEnd();\n };\n\n computed = <T>(atom$: Computed<T>, fn: () => T) => {\n if (!this.shouldLog(atom$, 'computed')) {\n fn();\n return;\n }\n\n console.group('[R][CPT] ' + atom$.toString());\n console.log('ret:', fn());\n console.groupEnd();\n };\n\n set = <T, Args extends unknown[]>(\n atom$: State<T> | Command<T, Args>,\n fn: () => T,\n ...args: Args | [T | Updater<T>]\n ) => {\n if (!this.shouldLog(atom$ as unknown as State<T>, 'set')) {\n fn();\n return;\n }\n\n console.group('[R][SET] ' + atom$.toString(), '(', ...args, ')');\n console.log('ret:', fn());\n console.groupEnd();\n };\n\n sub = <T>(atom$: State<T> | Computed<T>, callback$: CallbackFunc<T>, fn: () => void) => {\n if (!this.shouldLog(atom$, 'sub')) {\n fn();\n return;\n }\n\n console.group('[R][SUB] ' + atom$.toString() + ', callback=' + callback$.toString());\n fn();\n console.groupEnd();\n };\n\n unsub = <T>(atom$: State<T> | Computed<T>, callback$: CallbackFunc<T>, fn: () => void) => {\n if (!this.shouldLog(atom$, 'unsub')) {\n fn();\n return;\n }\n\n console.group('[R][UNS] ' + atom$.toString() + ', callback=' + callback$.toString());\n fn();\n console.groupEnd();\n };\n\n mount = <T>(atom$: State<T> | Computed<T>) => {\n if (!this.shouldLog(atom$, 'mount')) {\n return;\n }\n\n console.log('[R][MNT] ' + atom$.toString());\n };\n\n unmount = <T>(atom$: State<T> | Computed<T>) => {\n if (!this.shouldLog(atom$, 'unmount')) {\n return;\n }\n\n console.log('[R][UNM] ' + atom$.toString());\n };\n\n notify = <T>(callback$: CallbackFunc<T>, fn: () => T) => {\n if (!this.shouldLog(callback$, 'notify')) {\n fn();\n return;\n }\n\n console.group('[R][NTF] ' + callback$.toString());\n console.log('ret:', fn());\n console.groupEnd();\n };\n}\n\nexport function createDebugStore(\n watches: (AtomWatch | string | RegExp | State<unknown> | Computed<unknown> | Command<unknown, unknown[]>)[] = [],\n defaultActions?: StoreEventType[],\n): DebugStore {\n const parsedDefaultActions = defaultActions ? new Set(defaultActions) : undefined;\n\n const parsedWatches = watches.map((watch): AtomWatch => {\n if (typeof watch === 'string' || watch instanceof RegExp) {\n return { target: watch, actions: parsedDefaultActions };\n }\n\n if ('target' in watch) {\n return watch;\n }\n\n return { target: watch, actions: parsedDefaultActions };\n });\n\n const interceptor = new ConsoleInterceptor(parsedWatches);\n return createDebugStoreInternal(interceptor);\n}\n"],"names":["canReadAsCompute","atom","isComputedState","state","AtomManager","options","_this","_classCallCheck","_defineProperty","WeakMap","ignoreMounted","atomState","atomStateMap","get","undefined","mounted","_iterator","_createForOfIteratorHelper","dependencies","entries","_step","s","n","done","_step$value","_slicedToArray","value","dep","epoch","depState","readAtomState","err","e","f","_createClass","key","readComputedAtom","_this$options","_this2","arguments","length","cachedState","tryGetCachedState","computedInterceptor","interceptor","computed","computeComputedAtom","result","called","data","val","Error","_this3","_this$options2","self","Map","set","lastDeps","readDeps","wrappedGet","depAtom","selfMounted","mount","readDepts","add","getInterceptor","ret","read","fn","signal","_atomState$abortContr","_self$debugLabel","abortController","abort","concat","debugLabel","AbortController","_iterator2","keys","_step2","has","tryUnmount","readStateAtom","initState","init","tryGetMount","_this$atomStateMap$ge","_this$options3","_this$options3$mount","_atomState$mounted","call","listeners","Set","_i","_Array$from","Array","from","_Array$from$_i","_this$options4","_this$options4$unmoun","size","unmount","_i2","_Array$from2","_depState$mounted","_Array$from2$_i","inited","ListenerManager","markPendingListeners","atomManager","queue","nextQueue","_iterator3","_step3","_atomState$mounted2","_atomState$mounted3","_iterator4","_step4","listener","pendingListeners","_i3","_Array$from3","push","_regeneratorRuntime","mark","notify","_iterator5","_step5","wrap","notify$","_context","prev","next","t0","finish","stop","StoreImpl","listenerManager","_len","args","_key","write","apply","_toConsumableArray","newValue","fnWithRet","_loop","notifyed","_len2","_key2","innerSet","_this$options$interce","_subSingleAtom","target$","cb$","unsub","_options$signal2","subscribed","_this2$options","_options$signal","addEventListener","sub","targets$","isArray","unsubscribes","forEach","unsubscribe","DebugStoreImpl","_StoreImpl","_callSuper","atoms","cb","atomList","_this$mountedAtomList","mountedAtomListenersCount","_superPropGet","decount","_this$mountedAtomList2","count","map","_ref","_ref2","getReadDependencies","_atomState$mounted$re","getReadDependents","subscribedAtoms","mountState","_inherits","createDebugStoreInternal","ConsoleInterceptor","watches","action","some","watch","atomMatched","target","toString","includes","RegExp","test","actions","atom$","shouldLog","console","group","log","groupEnd","_console","callback$","createDebugStore","defaultActions","parsedDefaultActions","parsedWatches"],"mappings":"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"}
|
package/debug/index.d.cts
CHANGED
|
@@ -56,3 +56,4 @@ interface AtomWatch {
|
|
|
56
56
|
declare function createDebugStore(watches?: (AtomWatch | string | RegExp | State<unknown> | Computed<unknown> | Command<unknown, unknown[]>)[], defaultActions?: StoreEventType[]): DebugStore;
|
|
57
57
|
|
|
58
58
|
export { type DebugStore, createDebugStore };
|
|
59
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/debug/index.d.ts
CHANGED
|
@@ -56,3 +56,4 @@ interface AtomWatch {
|
|
|
56
56
|
declare function createDebugStore(watches?: (AtomWatch | string | RegExp | State<unknown> | Computed<unknown> | Command<unknown, unknown[]>)[], defaultActions?: StoreEventType[]): DebugStore;
|
|
57
57
|
|
|
58
58
|
export { type DebugStore, createDebugStore };
|
|
59
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/debug/index.js
CHANGED
|
@@ -557,7 +557,7 @@ var AtomManager = /*#__PURE__*/function () {
|
|
|
557
557
|
}
|
|
558
558
|
var computedInterceptor = (_this$options = this.options) === null || _this$options === void 0 || (_this$options = _this$options.interceptor) === null || _this$options === void 0 ? void 0 : _this$options.computed;
|
|
559
559
|
if (!computedInterceptor) {
|
|
560
|
-
return this.computeComputedAtom(atom);
|
|
560
|
+
return this.computeComputedAtom(atom, ignoreMounted);
|
|
561
561
|
}
|
|
562
562
|
var result = {
|
|
563
563
|
called: false
|
|
@@ -565,7 +565,7 @@ var AtomManager = /*#__PURE__*/function () {
|
|
|
565
565
|
computedInterceptor(atom, function () {
|
|
566
566
|
result = {
|
|
567
567
|
called: true,
|
|
568
|
-
data: _this2.computeComputedAtom(atom)
|
|
568
|
+
data: _this2.computeComputedAtom(atom, ignoreMounted)
|
|
569
569
|
};
|
|
570
570
|
return result.data.val;
|
|
571
571
|
});
|
|
@@ -579,6 +579,7 @@ var AtomManager = /*#__PURE__*/function () {
|
|
|
579
579
|
value: function computeComputedAtom(atom) {
|
|
580
580
|
var _this3 = this,
|
|
581
581
|
_this$options2;
|
|
582
|
+
var ignoreMounted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
582
583
|
var self = atom;
|
|
583
584
|
var atomState = this.atomStateMap.get(self);
|
|
584
585
|
if (!atomState) {
|
|
@@ -592,7 +593,7 @@ var AtomManager = /*#__PURE__*/function () {
|
|
|
592
593
|
var readDeps = new Map();
|
|
593
594
|
atomState.dependencies = readDeps;
|
|
594
595
|
var wrappedGet = function wrappedGet(depAtom) {
|
|
595
|
-
var depState = _this3.readAtomState(depAtom);
|
|
596
|
+
var depState = _this3.readAtomState(depAtom, ignoreMounted);
|
|
596
597
|
|
|
597
598
|
// get 可能发生在异步过程中,当重复调用时,只有最新的 get 过程会修改 deps
|
|
598
599
|
if (atomState.dependencies === readDeps) {
|
|
@@ -1151,15 +1152,15 @@ var ConsoleInterceptor = /*#__PURE__*/_createClass(function ConsoleInterceptor(w
|
|
|
1151
1152
|
console.groupEnd();
|
|
1152
1153
|
});
|
|
1153
1154
|
_defineProperty(this, "set", function (atom$, fn) {
|
|
1155
|
+
var _console;
|
|
1154
1156
|
if (!_this.shouldLog(atom$, 'set')) {
|
|
1155
1157
|
fn();
|
|
1156
1158
|
return;
|
|
1157
1159
|
}
|
|
1158
|
-
console.group('[R][SET] ' + atom$.toString());
|
|
1159
1160
|
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
1160
1161
|
args[_key - 2] = arguments[_key];
|
|
1161
1162
|
}
|
|
1162
|
-
console.
|
|
1163
|
+
(_console = console).group.apply(_console, ['[R][SET] ' + atom$.toString(), '('].concat(args, [')']));
|
|
1163
1164
|
console.log('ret:', fn());
|
|
1164
1165
|
console.groupEnd();
|
|
1165
1166
|
});
|
|
@@ -1228,3 +1229,4 @@ function createDebugStore() {
|
|
|
1228
1229
|
}
|
|
1229
1230
|
|
|
1230
1231
|
export { createDebugStore };
|
|
1232
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/core/atom-manager.ts","../../src/core/store.ts","../../src/debug/debug-store.ts","../../src/debug/console-inspector.ts"],"sourcesContent":["import type { ReadableAtom, Command, Getter, Computed, State } from '../../types/core/atom';\nimport type { StoreOptions } from '../../types/core/store';\n\ntype DataWithCalledState<T> =\n | {\n called: false;\n }\n | {\n called: true;\n data: T;\n };\n\nexport interface StateState<T> {\n mounted?: Mounted;\n val: T;\n epoch: number;\n}\n\nexport interface ComputedState<T> {\n mounted?: Mounted;\n val: T;\n dependencies: Map<ReadableAtom<unknown>, number>;\n epoch: number;\n abortController?: AbortController;\n}\n\ntype CommonReadableState<T> = StateState<T> | ComputedState<T>;\n\ntype AtomState<T> = StateState<T> | ComputedState<T>;\n\ninterface Mounted {\n listeners: Set<Command<unknown, []>>;\n readDepts: Set<ReadableAtom<unknown>>;\n}\n\nfunction canReadAsCompute<T>(atom: ReadableAtom<T>): atom is Computed<T> {\n return 'read' in atom;\n}\n\nfunction isComputedState<T>(state: CommonReadableState<T>): state is ComputedState<T> {\n return 'dependencies' in state;\n}\n\nexport class AtomManager {\n private atomStateMap = new WeakMap<ReadableAtom<unknown>, AtomState<unknown>>();\n\n constructor(private readonly options?: StoreOptions) {}\n\n private tryGetCachedState = <T>(atom: Computed<T>, ignoreMounted: boolean): ComputedState<T> | undefined => {\n const atomState = this.atomStateMap.get(atom) as ComputedState<T> | undefined;\n if (!atomState) {\n return undefined;\n }\n\n if (atomState.mounted && !ignoreMounted) {\n return atomState;\n }\n\n for (const [dep, epoch] of atomState.dependencies.entries()) {\n const depState = this.readAtomState(dep);\n if (depState.epoch !== epoch) {\n return undefined;\n }\n }\n\n return atomState;\n };\n\n private readComputedAtom<T>(atom: Computed<T>, ignoreMounted = false): ComputedState<T> {\n const cachedState = this.tryGetCachedState(atom, ignoreMounted);\n if (cachedState) {\n return cachedState;\n }\n\n const computedInterceptor = this.options?.interceptor?.computed;\n if (!computedInterceptor) {\n return this.computeComputedAtom(atom, ignoreMounted);\n }\n\n let result: DataWithCalledState<ComputedState<T>> = {\n called: false,\n } as DataWithCalledState<ComputedState<T>>;\n\n computedInterceptor(atom, () => {\n result = {\n called: true,\n data: this.computeComputedAtom(atom, ignoreMounted),\n };\n\n return result.data.val;\n });\n\n if (!result.called) {\n throw new Error('interceptor must call fn sync');\n }\n\n return result.data;\n }\n\n private computeComputedAtom<T>(atom: Computed<T>, ignoreMounted = false): ComputedState<T> {\n const self: Computed<T> = atom;\n let atomState: ComputedState<T> | undefined = this.atomStateMap.get(self) as ComputedState<T> | undefined;\n if (!atomState) {\n atomState = {\n dependencies: new Map<ReadableAtom<unknown>, number>(),\n epoch: -1,\n } as ComputedState<T>;\n this.atomStateMap.set(self, atomState);\n }\n\n const lastDeps = atomState.dependencies;\n const readDeps = new Map<ReadableAtom<unknown>, number>();\n atomState.dependencies = readDeps;\n const wrappedGet: Getter = (depAtom) => {\n const depState = this.readAtomState(depAtom, ignoreMounted);\n\n // get 可能发生在异步过程中,当重复调用时,只有最新的 get 过程会修改 deps\n if (atomState.dependencies === readDeps) {\n readDeps.set(depAtom, depState.epoch);\n\n const selfMounted = !!atomState.mounted;\n if (selfMounted && !depState.mounted) {\n this.mount(depAtom).readDepts.add(self);\n } else if (selfMounted && depState.mounted) {\n depState.mounted.readDepts.add(self);\n }\n }\n\n return depState.val;\n };\n\n const getInterceptor = this.options?.interceptor?.get;\n const ret = self.read(\n function <U>(depAtom: ReadableAtom<U>) {\n if (!getInterceptor) {\n return wrappedGet(depAtom);\n }\n\n let result: DataWithCalledState<U> = {\n called: false,\n } as DataWithCalledState<U>;\n\n const fn = () => {\n result = {\n called: true,\n data: wrappedGet(depAtom),\n };\n\n return result.data;\n };\n\n getInterceptor(depAtom, fn);\n\n if (!result.called) {\n throw new Error('interceptor must call fn sync');\n }\n return result.data;\n },\n {\n get signal() {\n atomState.abortController?.abort(`abort ${self.debugLabel ?? 'anonymous'} atom`);\n atomState.abortController = new AbortController();\n return atomState.abortController.signal;\n },\n },\n );\n\n if (atomState.val !== ret) {\n atomState.val = ret;\n atomState.epoch += 1;\n }\n\n for (const key of lastDeps.keys()) {\n if (!readDeps.has(key)) {\n const depState = this.atomStateMap.get(key);\n if (depState?.mounted) {\n depState.mounted.readDepts.delete(self);\n this.tryUnmount(key);\n }\n }\n }\n\n return atomState;\n }\n\n private readStateAtom<T>(atom: State<T>): StateState<T> {\n const atomState = this.atomStateMap.get(atom);\n if (!atomState) {\n const initState = {\n val: atom.init,\n epoch: 0,\n };\n this.atomStateMap.set(atom, initState);\n return initState as StateState<T>;\n }\n\n return atomState as StateState<T>;\n }\n\n public readAtomState<T>(atom: State<T>, ignoreMounted?: boolean): StateState<T>;\n public readAtomState<T>(atom: Computed<T>, ignoreMounted?: boolean): ComputedState<T>;\n public readAtomState<T>(atom: State<T> | Computed<T>, ignoreMounted?: boolean): CommonReadableState<T>;\n public readAtomState<T>(\n atom: State<T> | Computed<T>,\n ignoreMounted = false,\n ): StateState<T> | ComputedState<T> | CommonReadableState<T> {\n if (canReadAsCompute(atom)) {\n return this.readComputedAtom(atom, ignoreMounted);\n }\n\n return this.readStateAtom(atom);\n }\n\n private tryGetMount(atom: ReadableAtom<unknown>): Mounted | undefined {\n return this.atomStateMap.get(atom)?.mounted;\n }\n\n public mount<T>(atom: ReadableAtom<T>): Mounted {\n const mounted = this.tryGetMount(atom);\n if (mounted) {\n return mounted;\n }\n\n this.options?.interceptor?.mount?.(atom);\n\n const atomState = this.readAtomState(atom);\n\n atomState.mounted = atomState.mounted ?? {\n listeners: new Set(),\n readDepts: new Set(),\n };\n\n if (isComputedState(atomState)) {\n for (const [dep] of Array.from(atomState.dependencies)) {\n const mounted = this.mount(dep);\n mounted.readDepts.add(atom);\n }\n }\n\n return atomState.mounted;\n }\n\n public tryUnmount<T>(atom: ReadableAtom<T>): void {\n const atomState = this.atomStateMap.get(atom);\n if (!atomState?.mounted || atomState.mounted.listeners.size || atomState.mounted.readDepts.size) {\n return;\n }\n\n this.options?.interceptor?.unmount?.(atom);\n\n if (isComputedState(atomState)) {\n for (const [dep] of Array.from(atomState.dependencies)) {\n const depState = this.readAtomState(dep);\n depState.mounted?.readDepts.delete(atom);\n this.tryUnmount(dep);\n }\n }\n\n atomState.mounted = undefined;\n }\n\n public inited(atom: ReadableAtom<unknown>) {\n return this.atomStateMap.has(atom);\n }\n}\n\nexport class ListenerManager {\n private pendingListeners = new Set<Command<unknown, []>>();\n\n markPendingListeners(atomManager: AtomManager, atom: ReadableAtom<unknown>) {\n let queue: ReadableAtom<unknown>[] = [atom];\n while (queue.length > 0) {\n const nextQueue: ReadableAtom<unknown>[] = [];\n for (const atom of queue) {\n const atomState = atomManager.readAtomState(atom, true);\n\n if (atomState.mounted?.listeners) {\n for (const listener of atomState.mounted.listeners) {\n this.pendingListeners.add(listener);\n }\n }\n\n const readDepts = atomState.mounted?.readDepts;\n if (readDepts) {\n for (const dep of Array.from(readDepts)) {\n nextQueue.push(dep);\n }\n }\n }\n\n queue = nextQueue;\n }\n }\n\n *notify(): Generator<Command<unknown, []>, void, unknown> {\n const pendingListeners = this.pendingListeners;\n this.pendingListeners = new Set();\n\n for (const listener of pendingListeners) {\n yield listener;\n }\n }\n}\n","import type { ReadableAtom, Command, Getter, State, Updater, Setter } from '../../types/core/atom';\nimport type { Store, StoreOptions, SubscribeOptions } from '../../types/core/store';\nimport { AtomManager, ListenerManager } from './atom-manager';\n\ntype DataWithCalledState<T> =\n | {\n called: false;\n }\n | {\n called: true;\n data: T;\n };\n\nexport class StoreImpl implements Store {\n constructor(\n protected readonly atomManager: AtomManager,\n protected readonly listenerManager: ListenerManager,\n protected readonly options?: StoreOptions,\n ) {}\n\n private innerSet = <T, Args extends unknown[]>(\n atom: State<T> | Command<T, Args>,\n ...args: [T | Updater<T>] | Args\n ): undefined | T => {\n if ('read' in atom) {\n return;\n }\n\n if ('write' in atom) {\n const ret = atom.write({ get: this.get, set: this.set }, ...(args as Args));\n return ret;\n }\n\n const newValue =\n typeof args[0] === 'function'\n ? (args[0] as Updater<T>)(this.atomManager.readAtomState(atom).val)\n : (args[0] as T);\n\n if (!this.atomManager.inited(atom)) {\n this.atomManager.readAtomState(atom).val = newValue;\n this.listenerManager.markPendingListeners(this.atomManager, atom);\n return;\n }\n const atomState = this.atomManager.readAtomState(atom);\n atomState.val = newValue;\n atomState.epoch += 1;\n this.listenerManager.markPendingListeners(this.atomManager, atom);\n return undefined;\n };\n\n get: Getter = <T>(atom: ReadableAtom<T>): T => {\n if (!this.options?.interceptor?.get) {\n return this.atomManager.readAtomState(atom).val;\n }\n let result: DataWithCalledState<T> = {\n called: false,\n } as DataWithCalledState<T>;\n\n const fnWithRet = () => {\n result = {\n called: true,\n data: this.atomManager.readAtomState(atom).val,\n };\n return result.data;\n };\n\n this.options.interceptor.get(atom, fnWithRet);\n if (!result.called) {\n throw new Error('interceptor must call fn sync');\n }\n\n return result.data;\n };\n\n private notify = () => {\n for (const listener of this.listenerManager.notify()) {\n let notifyed = false;\n const fn = () => {\n notifyed = true;\n return listener.write({ get: this.get, set: this.set });\n };\n if (this.options?.interceptor?.notify) {\n this.options.interceptor.notify(listener, fn);\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- notify must call fn sync\n if (!notifyed) {\n throw new Error('interceptor must call fn sync');\n }\n } else {\n fn();\n }\n }\n };\n\n set: Setter = <T, Args extends unknown[]>(\n atom: State<T> | Command<T, Args>,\n ...args: [T | Updater<T>] | Args\n ): undefined | T => {\n let ret: T | undefined;\n const fn = () => {\n try {\n ret = this.innerSet(atom, ...args) as T | undefined;\n } finally {\n this.notify();\n }\n return ret;\n };\n\n if (this.options?.interceptor?.set) {\n if ('write' in atom) {\n this.options.interceptor.set(atom, fn, ...(args as Args));\n } else {\n this.options.interceptor.set(atom, fn, args[0] as T | Updater<T>);\n }\n } else {\n fn();\n }\n\n return ret;\n };\n\n private _subSingleAtom(\n target$: ReadableAtom<unknown>,\n cb$: Command<unknown, unknown[]>,\n options?: SubscribeOptions,\n ): () => void {\n let unsub: (() => void) | undefined;\n const fn = () => {\n let subscribed = true;\n const mounted = this.atomManager.mount(target$);\n mounted.listeners.add(cb$);\n\n unsub = () => {\n if (!subscribed) {\n return;\n }\n\n const fn = () => {\n subscribed = false;\n mounted.listeners.delete(cb$);\n\n if (mounted.readDepts.size === 0 && mounted.listeners.size === 0) {\n this.atomManager.tryUnmount(target$);\n }\n\n options?.signal?.addEventListener('abort', fn);\n };\n\n if (this.options?.interceptor?.unsub) {\n this.options.interceptor.unsub(target$, cb$, fn);\n\n // subscribed should be false if interceptor called fn sync\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (subscribed) {\n throw new Error('interceptor must call fn sync');\n }\n } else {\n fn();\n }\n };\n\n options?.signal?.addEventListener('abort', unsub);\n };\n\n if (this.options?.interceptor?.sub) {\n this.options.interceptor.sub(target$, cb$, fn);\n } else {\n fn();\n }\n\n if (!unsub) {\n throw new Error('interceptor must call fn sync');\n }\n\n return unsub;\n }\n\n sub(\n targets$: ReadableAtom<unknown>[] | ReadableAtom<unknown>,\n cb$: Command<unknown, unknown[]>,\n options?: SubscribeOptions,\n ): () => void {\n if (Array.isArray(targets$) && targets$.length === 0) {\n return () => void 0;\n }\n\n if (Array.isArray(targets$) && targets$.length === 1) {\n return this._subSingleAtom(targets$[0], cb$, options);\n } else if (!Array.isArray(targets$)) {\n return this._subSingleAtom(targets$, cb$, options);\n }\n\n const unsubscribes = new Set<() => void>();\n targets$.forEach((atom) => {\n unsubscribes.add(this._subSingleAtom(atom, cb$, options));\n });\n\n const unsub = () => {\n for (const unsubscribe of unsubscribes) {\n unsubscribe();\n }\n };\n\n return unsub;\n }\n}\n\nexport function createStore(): Store {\n const atomManager = new AtomManager();\n const listenerManager = new ListenerManager();\n\n return new StoreImpl(atomManager, listenerManager);\n}\n\nlet defaultStore: Store | undefined = undefined;\nexport function getDefaultStore(): Store {\n if (!defaultStore) {\n defaultStore = createStore();\n }\n return defaultStore;\n}\n","import type { StoreInterceptor, SubscribeOptions } from '../../types/core/store';\nimport type { DebugStore, NestedAtom } from '../../types/debug/debug-store';\nimport type { Computed, Command, Subscribe, State } from '../core';\nimport { AtomManager, ListenerManager } from '../core/atom-manager';\nimport { StoreImpl } from '../core/store';\n\nexport class DebugStoreImpl extends StoreImpl implements DebugStore {\n private readonly mountedAtomListenersCount = new Map<State<unknown> | Computed<unknown>, number>();\n\n override sub: Subscribe = (\n atoms: (State<unknown> | Computed<unknown>)[] | (State<unknown> | Computed<unknown>),\n cb: Command<unknown, unknown[]>,\n options?: SubscribeOptions,\n ): (() => void) => {\n const atomList = Array.isArray(atoms) ? atoms : [atoms];\n\n atomList.forEach((atom) => {\n this.mountedAtomListenersCount.set(atom, (this.mountedAtomListenersCount.get(atom) ?? 0) + 1);\n });\n\n const unsub = super.sub(atoms, cb, options);\n const decount = () => {\n atomList.forEach((atom) => {\n const count = this.mountedAtomListenersCount.get(atom) ?? 0;\n if (count === 0) {\n return;\n }\n\n this.mountedAtomListenersCount.set(atom, count - 1);\n if (count === 1) {\n this.mountedAtomListenersCount.delete(atom);\n }\n });\n };\n options?.signal?.addEventListener('abort', decount);\n return () => {\n unsub();\n decount();\n };\n };\n\n getReadDependencies = (atom: State<unknown> | Computed<unknown>): NestedAtom => {\n const atomState = this.atomManager.readAtomState(atom);\n\n if (!('dependencies' in atomState)) {\n return [atom];\n }\n\n return [\n atom,\n ...Array.from(atomState.dependencies).map(([key]) => {\n return this.getReadDependencies(key);\n }),\n ] as NestedAtom;\n };\n\n getReadDependents = (atom: State<unknown> | Computed<unknown>): NestedAtom => {\n const atomState = this.atomManager.readAtomState(atom);\n return [\n atom,\n ...Array.from(atomState.mounted?.readDepts ?? []).map((key) => this.getReadDependents(key)),\n ] as NestedAtom;\n };\n\n getSubscribeGraph = (): NestedAtom => {\n const subscribedAtoms = Array.from(this.mountedAtomListenersCount.keys());\n return subscribedAtoms.map((atom) => {\n const atomState = this.atomManager.readAtomState(atom);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- we know it's mounted\n const listeners = Array.from(atomState.mounted!.listeners);\n return [atom, ...listeners];\n });\n };\n\n isMounted = (atom: State<unknown> | Computed<unknown>): boolean => {\n const mountState = this.atomManager.readAtomState(atom);\n return mountState.mounted !== undefined;\n };\n}\n\nexport function createDebugStoreInternal(interceptor?: StoreInterceptor): DebugStore {\n const atomManager = new AtomManager({\n interceptor: interceptor,\n });\n const listenerManager = new ListenerManager();\n\n return new DebugStoreImpl(atomManager, listenerManager, {\n interceptor: interceptor,\n });\n}\n","import type { CallbackFunc, StoreEventType, StoreInterceptor } from '../../types/core/store';\nimport type { DebugStore } from '../../types/debug/debug-store';\nimport type { Computed, Command, Updater, State } from '../core';\nimport { createDebugStoreInternal } from './debug-store';\n\nexport interface AtomWatch {\n target: State<unknown> | Computed<unknown> | Command<unknown, unknown[]> | string | RegExp;\n actions?: Set<StoreEventType>;\n}\n\nexport class ConsoleInterceptor implements StoreInterceptor {\n constructor(private readonly watches: AtomWatch[]) {}\n\n private shouldLog = (\n atom: State<unknown> | Computed<unknown> | Command<unknown, unknown[]>,\n action: StoreEventType,\n ) => {\n return this.watches.some((watch) => {\n let atomMatched = false;\n if (typeof watch.target === 'string') {\n atomMatched = atom.toString().includes(watch.target);\n } else if (watch.target instanceof RegExp) {\n atomMatched = watch.target.test(atom.toString());\n } else {\n atomMatched = watch.target === atom;\n }\n\n if (!atomMatched) {\n return false;\n }\n\n return !watch.actions || watch.actions.has(action);\n });\n };\n\n get = <T>(atom$: State<T> | Computed<T>, fn: () => T) => {\n if (!this.shouldLog(atom$, 'get')) {\n fn();\n return;\n }\n\n console.group('[R][GET] ' + atom$.toString());\n console.log('ret:', fn());\n console.groupEnd();\n };\n\n computed = <T>(atom$: Computed<T>, fn: () => T) => {\n if (!this.shouldLog(atom$, 'computed')) {\n fn();\n return;\n }\n\n console.group('[R][CPT] ' + atom$.toString());\n console.log('ret:', fn());\n console.groupEnd();\n };\n\n set = <T, Args extends unknown[]>(\n atom$: State<T> | Command<T, Args>,\n fn: () => T,\n ...args: Args | [T | Updater<T>]\n ) => {\n if (!this.shouldLog(atom$ as unknown as State<T>, 'set')) {\n fn();\n return;\n }\n\n console.group('[R][SET] ' + atom$.toString(), '(', ...args, ')');\n console.log('ret:', fn());\n console.groupEnd();\n };\n\n sub = <T>(atom$: State<T> | Computed<T>, callback$: CallbackFunc<T>, fn: () => void) => {\n if (!this.shouldLog(atom$, 'sub')) {\n fn();\n return;\n }\n\n console.group('[R][SUB] ' + atom$.toString() + ', callback=' + callback$.toString());\n fn();\n console.groupEnd();\n };\n\n unsub = <T>(atom$: State<T> | Computed<T>, callback$: CallbackFunc<T>, fn: () => void) => {\n if (!this.shouldLog(atom$, 'unsub')) {\n fn();\n return;\n }\n\n console.group('[R][UNS] ' + atom$.toString() + ', callback=' + callback$.toString());\n fn();\n console.groupEnd();\n };\n\n mount = <T>(atom$: State<T> | Computed<T>) => {\n if (!this.shouldLog(atom$, 'mount')) {\n return;\n }\n\n console.log('[R][MNT] ' + atom$.toString());\n };\n\n unmount = <T>(atom$: State<T> | Computed<T>) => {\n if (!this.shouldLog(atom$, 'unmount')) {\n return;\n }\n\n console.log('[R][UNM] ' + atom$.toString());\n };\n\n notify = <T>(callback$: CallbackFunc<T>, fn: () => T) => {\n if (!this.shouldLog(callback$, 'notify')) {\n fn();\n return;\n }\n\n console.group('[R][NTF] ' + callback$.toString());\n console.log('ret:', fn());\n console.groupEnd();\n };\n}\n\nexport function createDebugStore(\n watches: (AtomWatch | string | RegExp | State<unknown> | Computed<unknown> | Command<unknown, unknown[]>)[] = [],\n defaultActions?: StoreEventType[],\n): DebugStore {\n const parsedDefaultActions = defaultActions ? new Set(defaultActions) : undefined;\n\n const parsedWatches = watches.map((watch): AtomWatch => {\n if (typeof watch === 'string' || watch instanceof RegExp) {\n return { target: watch, actions: parsedDefaultActions };\n }\n\n if ('target' in watch) {\n return watch;\n }\n\n return { target: watch, actions: parsedDefaultActions };\n });\n\n const interceptor = new ConsoleInterceptor(parsedWatches);\n return createDebugStoreInternal(interceptor);\n}\n"],"names":["canReadAsCompute","atom","isComputedState","state","AtomManager","options","_this","_classCallCheck","_defineProperty","WeakMap","ignoreMounted","atomState","atomStateMap","get","undefined","mounted","_iterator","_createForOfIteratorHelper","dependencies","entries","_step","s","n","done","_step$value","_slicedToArray","value","dep","epoch","depState","readAtomState","err","e","f","_createClass","key","readComputedAtom","_this$options","_this2","arguments","length","cachedState","tryGetCachedState","computedInterceptor","interceptor","computed","computeComputedAtom","result","called","data","val","Error","_this3","_this$options2","self","Map","set","lastDeps","readDeps","wrappedGet","depAtom","selfMounted","mount","readDepts","add","getInterceptor","ret","read","fn","signal","_atomState$abortContr","_self$debugLabel","abortController","abort","concat","debugLabel","AbortController","_iterator2","keys","_step2","has","tryUnmount","readStateAtom","initState","init","tryGetMount","_this$atomStateMap$ge","_this$options3","_this$options3$mount","_atomState$mounted","call","listeners","Set","_i","_Array$from","Array","from","_Array$from$_i","_this$options4","_this$options4$unmoun","size","unmount","_i2","_Array$from2","_depState$mounted","_Array$from2$_i","inited","ListenerManager","markPendingListeners","atomManager","queue","nextQueue","_iterator3","_step3","_atomState$mounted2","_atomState$mounted3","_iterator4","_step4","listener","pendingListeners","_i3","_Array$from3","push","_regeneratorRuntime","mark","notify","_iterator5","_step5","wrap","notify$","_context","prev","next","t0","finish","stop","StoreImpl","listenerManager","_len","args","_key","write","apply","_toConsumableArray","newValue","fnWithRet","_loop","notifyed","_len2","_key2","innerSet","_this$options$interce","_subSingleAtom","target$","cb$","unsub","_options$signal2","subscribed","_this2$options","_options$signal","addEventListener","sub","targets$","isArray","unsubscribes","forEach","unsubscribe","DebugStoreImpl","_StoreImpl","_callSuper","atoms","cb","atomList","_this$mountedAtomList","mountedAtomListenersCount","_superPropGet","decount","_this$mountedAtomList2","count","map","_ref","_ref2","getReadDependencies","_atomState$mounted$re","getReadDependents","subscribedAtoms","mountState","_inherits","createDebugStoreInternal","ConsoleInterceptor","watches","action","some","watch","atomMatched","target","toString","includes","RegExp","test","actions","atom$","shouldLog","console","group","log","groupEnd","_console","callback$","createDebugStore","defaultActions","parsedDefaultActions","parsedWatches"],"mappings":"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"}
|
package/index.cjs
CHANGED
|
@@ -598,7 +598,7 @@ var AtomManager = /*#__PURE__*/function () {
|
|
|
598
598
|
}
|
|
599
599
|
var computedInterceptor = (_this$options = this.options) === null || _this$options === void 0 || (_this$options = _this$options.interceptor) === null || _this$options === void 0 ? void 0 : _this$options.computed;
|
|
600
600
|
if (!computedInterceptor) {
|
|
601
|
-
return this.computeComputedAtom(atom);
|
|
601
|
+
return this.computeComputedAtom(atom, ignoreMounted);
|
|
602
602
|
}
|
|
603
603
|
var result = {
|
|
604
604
|
called: false
|
|
@@ -606,7 +606,7 @@ var AtomManager = /*#__PURE__*/function () {
|
|
|
606
606
|
computedInterceptor(atom, function () {
|
|
607
607
|
result = {
|
|
608
608
|
called: true,
|
|
609
|
-
data: _this2.computeComputedAtom(atom)
|
|
609
|
+
data: _this2.computeComputedAtom(atom, ignoreMounted)
|
|
610
610
|
};
|
|
611
611
|
return result.data.val;
|
|
612
612
|
});
|
|
@@ -620,6 +620,7 @@ var AtomManager = /*#__PURE__*/function () {
|
|
|
620
620
|
value: function computeComputedAtom(atom) {
|
|
621
621
|
var _this3 = this,
|
|
622
622
|
_this$options2;
|
|
623
|
+
var ignoreMounted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
623
624
|
var self = atom;
|
|
624
625
|
var atomState = this.atomStateMap.get(self);
|
|
625
626
|
if (!atomState) {
|
|
@@ -633,7 +634,7 @@ var AtomManager = /*#__PURE__*/function () {
|
|
|
633
634
|
var readDeps = new Map();
|
|
634
635
|
atomState.dependencies = readDeps;
|
|
635
636
|
var wrappedGet = function wrappedGet(depAtom) {
|
|
636
|
-
var depState = _this3.readAtomState(depAtom);
|
|
637
|
+
var depState = _this3.readAtomState(depAtom, ignoreMounted);
|
|
637
638
|
|
|
638
639
|
// get 可能发生在异步过程中,当重复调用时,只有最新的 get 过程会修改 deps
|
|
639
640
|
if (atomState.dependencies === readDeps) {
|
|
@@ -1204,15 +1205,15 @@ var ConsoleInterceptor = /*#__PURE__*/_createClass(function ConsoleInterceptor(w
|
|
|
1204
1205
|
console.groupEnd();
|
|
1205
1206
|
});
|
|
1206
1207
|
_defineProperty(this, "set", function (atom$, fn) {
|
|
1208
|
+
var _console;
|
|
1207
1209
|
if (!_this.shouldLog(atom$, 'set')) {
|
|
1208
1210
|
fn();
|
|
1209
1211
|
return;
|
|
1210
1212
|
}
|
|
1211
|
-
console.group('[R][SET] ' + atom$.toString());
|
|
1212
1213
|
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
1213
1214
|
args[_key - 2] = arguments[_key];
|
|
1214
1215
|
}
|
|
1215
|
-
console.
|
|
1216
|
+
(_console = console).group.apply(_console, ['[R][SET] ' + atom$.toString(), '('].concat(args, [')']));
|
|
1216
1217
|
console.log('ret:', fn());
|
|
1217
1218
|
console.groupEnd();
|
|
1218
1219
|
});
|
|
@@ -1286,3 +1287,4 @@ exports.createDebugStore = createDebugStore;
|
|
|
1286
1287
|
exports.createStore = createStore;
|
|
1287
1288
|
exports.getDefaultStore = getDefaultStore;
|
|
1288
1289
|
exports.state = state;
|
|
1290
|
+
//# sourceMappingURL=index.cjs.map
|
package/index.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/core/atom.ts","../src/core/atom-manager.ts","../src/core/store.ts","../src/debug/debug-store.ts","../src/debug/console-inspector.ts"],"sourcesContent":["import type { Computed, Command, Read, State, Write } from '../../types/core/atom';\n\ninterface Options {\n debugLabel?: string;\n}\n\nlet globalId = 0;\n\nconst generateToString = (prefix: string, debugLabel?: string) => {\n const id = globalId++;\n const label = `${prefix}${String(id)}${debugLabel ? ':' + debugLabel : ''}`;\n return () => label;\n};\n\nexport function state<T>(init: T, options?: Options): State<T> {\n const ret: State<T> = {\n init,\n toString: generateToString('V', options?.debugLabel),\n };\n\n if (options?.debugLabel) {\n ret.debugLabel = options.debugLabel;\n }\n return ret;\n}\n\nexport function computed<T>(read: Read<T>, options?: Options): Computed<T> {\n const ret: Computed<T> = {\n read,\n toString: generateToString('C', options?.debugLabel),\n };\n if (options?.debugLabel) {\n ret.debugLabel = options.debugLabel;\n }\n return ret;\n}\n\nexport function command<T, Args extends unknown[]>(write: Write<T, Args>, options?: Options): Command<T, Args> {\n const ret: Command<T, Args> = {\n write,\n toString: generateToString('F', options?.debugLabel),\n };\n if (options?.debugLabel) {\n ret.debugLabel = options.debugLabel;\n }\n return ret;\n}\n","import type { ReadableAtom, Command, Getter, Computed, State } from '../../types/core/atom';\nimport type { StoreOptions } from '../../types/core/store';\n\ntype DataWithCalledState<T> =\n | {\n called: false;\n }\n | {\n called: true;\n data: T;\n };\n\nexport interface StateState<T> {\n mounted?: Mounted;\n val: T;\n epoch: number;\n}\n\nexport interface ComputedState<T> {\n mounted?: Mounted;\n val: T;\n dependencies: Map<ReadableAtom<unknown>, number>;\n epoch: number;\n abortController?: AbortController;\n}\n\ntype CommonReadableState<T> = StateState<T> | ComputedState<T>;\n\ntype AtomState<T> = StateState<T> | ComputedState<T>;\n\ninterface Mounted {\n listeners: Set<Command<unknown, []>>;\n readDepts: Set<ReadableAtom<unknown>>;\n}\n\nfunction canReadAsCompute<T>(atom: ReadableAtom<T>): atom is Computed<T> {\n return 'read' in atom;\n}\n\nfunction isComputedState<T>(state: CommonReadableState<T>): state is ComputedState<T> {\n return 'dependencies' in state;\n}\n\nexport class AtomManager {\n private atomStateMap = new WeakMap<ReadableAtom<unknown>, AtomState<unknown>>();\n\n constructor(private readonly options?: StoreOptions) {}\n\n private tryGetCachedState = <T>(atom: Computed<T>, ignoreMounted: boolean): ComputedState<T> | undefined => {\n const atomState = this.atomStateMap.get(atom) as ComputedState<T> | undefined;\n if (!atomState) {\n return undefined;\n }\n\n if (atomState.mounted && !ignoreMounted) {\n return atomState;\n }\n\n for (const [dep, epoch] of atomState.dependencies.entries()) {\n const depState = this.readAtomState(dep);\n if (depState.epoch !== epoch) {\n return undefined;\n }\n }\n\n return atomState;\n };\n\n private readComputedAtom<T>(atom: Computed<T>, ignoreMounted = false): ComputedState<T> {\n const cachedState = this.tryGetCachedState(atom, ignoreMounted);\n if (cachedState) {\n return cachedState;\n }\n\n const computedInterceptor = this.options?.interceptor?.computed;\n if (!computedInterceptor) {\n return this.computeComputedAtom(atom, ignoreMounted);\n }\n\n let result: DataWithCalledState<ComputedState<T>> = {\n called: false,\n } as DataWithCalledState<ComputedState<T>>;\n\n computedInterceptor(atom, () => {\n result = {\n called: true,\n data: this.computeComputedAtom(atom, ignoreMounted),\n };\n\n return result.data.val;\n });\n\n if (!result.called) {\n throw new Error('interceptor must call fn sync');\n }\n\n return result.data;\n }\n\n private computeComputedAtom<T>(atom: Computed<T>, ignoreMounted = false): ComputedState<T> {\n const self: Computed<T> = atom;\n let atomState: ComputedState<T> | undefined = this.atomStateMap.get(self) as ComputedState<T> | undefined;\n if (!atomState) {\n atomState = {\n dependencies: new Map<ReadableAtom<unknown>, number>(),\n epoch: -1,\n } as ComputedState<T>;\n this.atomStateMap.set(self, atomState);\n }\n\n const lastDeps = atomState.dependencies;\n const readDeps = new Map<ReadableAtom<unknown>, number>();\n atomState.dependencies = readDeps;\n const wrappedGet: Getter = (depAtom) => {\n const depState = this.readAtomState(depAtom, ignoreMounted);\n\n // get 可能发生在异步过程中,当重复调用时,只有最新的 get 过程会修改 deps\n if (atomState.dependencies === readDeps) {\n readDeps.set(depAtom, depState.epoch);\n\n const selfMounted = !!atomState.mounted;\n if (selfMounted && !depState.mounted) {\n this.mount(depAtom).readDepts.add(self);\n } else if (selfMounted && depState.mounted) {\n depState.mounted.readDepts.add(self);\n }\n }\n\n return depState.val;\n };\n\n const getInterceptor = this.options?.interceptor?.get;\n const ret = self.read(\n function <U>(depAtom: ReadableAtom<U>) {\n if (!getInterceptor) {\n return wrappedGet(depAtom);\n }\n\n let result: DataWithCalledState<U> = {\n called: false,\n } as DataWithCalledState<U>;\n\n const fn = () => {\n result = {\n called: true,\n data: wrappedGet(depAtom),\n };\n\n return result.data;\n };\n\n getInterceptor(depAtom, fn);\n\n if (!result.called) {\n throw new Error('interceptor must call fn sync');\n }\n return result.data;\n },\n {\n get signal() {\n atomState.abortController?.abort(`abort ${self.debugLabel ?? 'anonymous'} atom`);\n atomState.abortController = new AbortController();\n return atomState.abortController.signal;\n },\n },\n );\n\n if (atomState.val !== ret) {\n atomState.val = ret;\n atomState.epoch += 1;\n }\n\n for (const key of lastDeps.keys()) {\n if (!readDeps.has(key)) {\n const depState = this.atomStateMap.get(key);\n if (depState?.mounted) {\n depState.mounted.readDepts.delete(self);\n this.tryUnmount(key);\n }\n }\n }\n\n return atomState;\n }\n\n private readStateAtom<T>(atom: State<T>): StateState<T> {\n const atomState = this.atomStateMap.get(atom);\n if (!atomState) {\n const initState = {\n val: atom.init,\n epoch: 0,\n };\n this.atomStateMap.set(atom, initState);\n return initState as StateState<T>;\n }\n\n return atomState as StateState<T>;\n }\n\n public readAtomState<T>(atom: State<T>, ignoreMounted?: boolean): StateState<T>;\n public readAtomState<T>(atom: Computed<T>, ignoreMounted?: boolean): ComputedState<T>;\n public readAtomState<T>(atom: State<T> | Computed<T>, ignoreMounted?: boolean): CommonReadableState<T>;\n public readAtomState<T>(\n atom: State<T> | Computed<T>,\n ignoreMounted = false,\n ): StateState<T> | ComputedState<T> | CommonReadableState<T> {\n if (canReadAsCompute(atom)) {\n return this.readComputedAtom(atom, ignoreMounted);\n }\n\n return this.readStateAtom(atom);\n }\n\n private tryGetMount(atom: ReadableAtom<unknown>): Mounted | undefined {\n return this.atomStateMap.get(atom)?.mounted;\n }\n\n public mount<T>(atom: ReadableAtom<T>): Mounted {\n const mounted = this.tryGetMount(atom);\n if (mounted) {\n return mounted;\n }\n\n this.options?.interceptor?.mount?.(atom);\n\n const atomState = this.readAtomState(atom);\n\n atomState.mounted = atomState.mounted ?? {\n listeners: new Set(),\n readDepts: new Set(),\n };\n\n if (isComputedState(atomState)) {\n for (const [dep] of Array.from(atomState.dependencies)) {\n const mounted = this.mount(dep);\n mounted.readDepts.add(atom);\n }\n }\n\n return atomState.mounted;\n }\n\n public tryUnmount<T>(atom: ReadableAtom<T>): void {\n const atomState = this.atomStateMap.get(atom);\n if (!atomState?.mounted || atomState.mounted.listeners.size || atomState.mounted.readDepts.size) {\n return;\n }\n\n this.options?.interceptor?.unmount?.(atom);\n\n if (isComputedState(atomState)) {\n for (const [dep] of Array.from(atomState.dependencies)) {\n const depState = this.readAtomState(dep);\n depState.mounted?.readDepts.delete(atom);\n this.tryUnmount(dep);\n }\n }\n\n atomState.mounted = undefined;\n }\n\n public inited(atom: ReadableAtom<unknown>) {\n return this.atomStateMap.has(atom);\n }\n}\n\nexport class ListenerManager {\n private pendingListeners = new Set<Command<unknown, []>>();\n\n markPendingListeners(atomManager: AtomManager, atom: ReadableAtom<unknown>) {\n let queue: ReadableAtom<unknown>[] = [atom];\n while (queue.length > 0) {\n const nextQueue: ReadableAtom<unknown>[] = [];\n for (const atom of queue) {\n const atomState = atomManager.readAtomState(atom, true);\n\n if (atomState.mounted?.listeners) {\n for (const listener of atomState.mounted.listeners) {\n this.pendingListeners.add(listener);\n }\n }\n\n const readDepts = atomState.mounted?.readDepts;\n if (readDepts) {\n for (const dep of Array.from(readDepts)) {\n nextQueue.push(dep);\n }\n }\n }\n\n queue = nextQueue;\n }\n }\n\n *notify(): Generator<Command<unknown, []>, void, unknown> {\n const pendingListeners = this.pendingListeners;\n this.pendingListeners = new Set();\n\n for (const listener of pendingListeners) {\n yield listener;\n }\n }\n}\n","import type { ReadableAtom, Command, Getter, State, Updater, Setter } from '../../types/core/atom';\nimport type { Store, StoreOptions, SubscribeOptions } from '../../types/core/store';\nimport { AtomManager, ListenerManager } from './atom-manager';\n\ntype DataWithCalledState<T> =\n | {\n called: false;\n }\n | {\n called: true;\n data: T;\n };\n\nexport class StoreImpl implements Store {\n constructor(\n protected readonly atomManager: AtomManager,\n protected readonly listenerManager: ListenerManager,\n protected readonly options?: StoreOptions,\n ) {}\n\n private innerSet = <T, Args extends unknown[]>(\n atom: State<T> | Command<T, Args>,\n ...args: [T | Updater<T>] | Args\n ): undefined | T => {\n if ('read' in atom) {\n return;\n }\n\n if ('write' in atom) {\n const ret = atom.write({ get: this.get, set: this.set }, ...(args as Args));\n return ret;\n }\n\n const newValue =\n typeof args[0] === 'function'\n ? (args[0] as Updater<T>)(this.atomManager.readAtomState(atom).val)\n : (args[0] as T);\n\n if (!this.atomManager.inited(atom)) {\n this.atomManager.readAtomState(atom).val = newValue;\n this.listenerManager.markPendingListeners(this.atomManager, atom);\n return;\n }\n const atomState = this.atomManager.readAtomState(atom);\n atomState.val = newValue;\n atomState.epoch += 1;\n this.listenerManager.markPendingListeners(this.atomManager, atom);\n return undefined;\n };\n\n get: Getter = <T>(atom: ReadableAtom<T>): T => {\n if (!this.options?.interceptor?.get) {\n return this.atomManager.readAtomState(atom).val;\n }\n let result: DataWithCalledState<T> = {\n called: false,\n } as DataWithCalledState<T>;\n\n const fnWithRet = () => {\n result = {\n called: true,\n data: this.atomManager.readAtomState(atom).val,\n };\n return result.data;\n };\n\n this.options.interceptor.get(atom, fnWithRet);\n if (!result.called) {\n throw new Error('interceptor must call fn sync');\n }\n\n return result.data;\n };\n\n private notify = () => {\n for (const listener of this.listenerManager.notify()) {\n let notifyed = false;\n const fn = () => {\n notifyed = true;\n return listener.write({ get: this.get, set: this.set });\n };\n if (this.options?.interceptor?.notify) {\n this.options.interceptor.notify(listener, fn);\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- notify must call fn sync\n if (!notifyed) {\n throw new Error('interceptor must call fn sync');\n }\n } else {\n fn();\n }\n }\n };\n\n set: Setter = <T, Args extends unknown[]>(\n atom: State<T> | Command<T, Args>,\n ...args: [T | Updater<T>] | Args\n ): undefined | T => {\n let ret: T | undefined;\n const fn = () => {\n try {\n ret = this.innerSet(atom, ...args) as T | undefined;\n } finally {\n this.notify();\n }\n return ret;\n };\n\n if (this.options?.interceptor?.set) {\n if ('write' in atom) {\n this.options.interceptor.set(atom, fn, ...(args as Args));\n } else {\n this.options.interceptor.set(atom, fn, args[0] as T | Updater<T>);\n }\n } else {\n fn();\n }\n\n return ret;\n };\n\n private _subSingleAtom(\n target$: ReadableAtom<unknown>,\n cb$: Command<unknown, unknown[]>,\n options?: SubscribeOptions,\n ): () => void {\n let unsub: (() => void) | undefined;\n const fn = () => {\n let subscribed = true;\n const mounted = this.atomManager.mount(target$);\n mounted.listeners.add(cb$);\n\n unsub = () => {\n if (!subscribed) {\n return;\n }\n\n const fn = () => {\n subscribed = false;\n mounted.listeners.delete(cb$);\n\n if (mounted.readDepts.size === 0 && mounted.listeners.size === 0) {\n this.atomManager.tryUnmount(target$);\n }\n\n options?.signal?.addEventListener('abort', fn);\n };\n\n if (this.options?.interceptor?.unsub) {\n this.options.interceptor.unsub(target$, cb$, fn);\n\n // subscribed should be false if interceptor called fn sync\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (subscribed) {\n throw new Error('interceptor must call fn sync');\n }\n } else {\n fn();\n }\n };\n\n options?.signal?.addEventListener('abort', unsub);\n };\n\n if (this.options?.interceptor?.sub) {\n this.options.interceptor.sub(target$, cb$, fn);\n } else {\n fn();\n }\n\n if (!unsub) {\n throw new Error('interceptor must call fn sync');\n }\n\n return unsub;\n }\n\n sub(\n targets$: ReadableAtom<unknown>[] | ReadableAtom<unknown>,\n cb$: Command<unknown, unknown[]>,\n options?: SubscribeOptions,\n ): () => void {\n if (Array.isArray(targets$) && targets$.length === 0) {\n return () => void 0;\n }\n\n if (Array.isArray(targets$) && targets$.length === 1) {\n return this._subSingleAtom(targets$[0], cb$, options);\n } else if (!Array.isArray(targets$)) {\n return this._subSingleAtom(targets$, cb$, options);\n }\n\n const unsubscribes = new Set<() => void>();\n targets$.forEach((atom) => {\n unsubscribes.add(this._subSingleAtom(atom, cb$, options));\n });\n\n const unsub = () => {\n for (const unsubscribe of unsubscribes) {\n unsubscribe();\n }\n };\n\n return unsub;\n }\n}\n\nexport function createStore(): Store {\n const atomManager = new AtomManager();\n const listenerManager = new ListenerManager();\n\n return new StoreImpl(atomManager, listenerManager);\n}\n\nlet defaultStore: Store | undefined = undefined;\nexport function getDefaultStore(): Store {\n if (!defaultStore) {\n defaultStore = createStore();\n }\n return defaultStore;\n}\n","import type { StoreInterceptor, SubscribeOptions } from '../../types/core/store';\nimport type { DebugStore, NestedAtom } from '../../types/debug/debug-store';\nimport type { Computed, Command, Subscribe, State } from '../core';\nimport { AtomManager, ListenerManager } from '../core/atom-manager';\nimport { StoreImpl } from '../core/store';\n\nexport class DebugStoreImpl extends StoreImpl implements DebugStore {\n private readonly mountedAtomListenersCount = new Map<State<unknown> | Computed<unknown>, number>();\n\n override sub: Subscribe = (\n atoms: (State<unknown> | Computed<unknown>)[] | (State<unknown> | Computed<unknown>),\n cb: Command<unknown, unknown[]>,\n options?: SubscribeOptions,\n ): (() => void) => {\n const atomList = Array.isArray(atoms) ? atoms : [atoms];\n\n atomList.forEach((atom) => {\n this.mountedAtomListenersCount.set(atom, (this.mountedAtomListenersCount.get(atom) ?? 0) + 1);\n });\n\n const unsub = super.sub(atoms, cb, options);\n const decount = () => {\n atomList.forEach((atom) => {\n const count = this.mountedAtomListenersCount.get(atom) ?? 0;\n if (count === 0) {\n return;\n }\n\n this.mountedAtomListenersCount.set(atom, count - 1);\n if (count === 1) {\n this.mountedAtomListenersCount.delete(atom);\n }\n });\n };\n options?.signal?.addEventListener('abort', decount);\n return () => {\n unsub();\n decount();\n };\n };\n\n getReadDependencies = (atom: State<unknown> | Computed<unknown>): NestedAtom => {\n const atomState = this.atomManager.readAtomState(atom);\n\n if (!('dependencies' in atomState)) {\n return [atom];\n }\n\n return [\n atom,\n ...Array.from(atomState.dependencies).map(([key]) => {\n return this.getReadDependencies(key);\n }),\n ] as NestedAtom;\n };\n\n getReadDependents = (atom: State<unknown> | Computed<unknown>): NestedAtom => {\n const atomState = this.atomManager.readAtomState(atom);\n return [\n atom,\n ...Array.from(atomState.mounted?.readDepts ?? []).map((key) => this.getReadDependents(key)),\n ] as NestedAtom;\n };\n\n getSubscribeGraph = (): NestedAtom => {\n const subscribedAtoms = Array.from(this.mountedAtomListenersCount.keys());\n return subscribedAtoms.map((atom) => {\n const atomState = this.atomManager.readAtomState(atom);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- we know it's mounted\n const listeners = Array.from(atomState.mounted!.listeners);\n return [atom, ...listeners];\n });\n };\n\n isMounted = (atom: State<unknown> | Computed<unknown>): boolean => {\n const mountState = this.atomManager.readAtomState(atom);\n return mountState.mounted !== undefined;\n };\n}\n\nexport function createDebugStoreInternal(interceptor?: StoreInterceptor): DebugStore {\n const atomManager = new AtomManager({\n interceptor: interceptor,\n });\n const listenerManager = new ListenerManager();\n\n return new DebugStoreImpl(atomManager, listenerManager, {\n interceptor: interceptor,\n });\n}\n","import type { CallbackFunc, StoreEventType, StoreInterceptor } from '../../types/core/store';\nimport type { DebugStore } from '../../types/debug/debug-store';\nimport type { Computed, Command, Updater, State } from '../core';\nimport { createDebugStoreInternal } from './debug-store';\n\nexport interface AtomWatch {\n target: State<unknown> | Computed<unknown> | Command<unknown, unknown[]> | string | RegExp;\n actions?: Set<StoreEventType>;\n}\n\nexport class ConsoleInterceptor implements StoreInterceptor {\n constructor(private readonly watches: AtomWatch[]) {}\n\n private shouldLog = (\n atom: State<unknown> | Computed<unknown> | Command<unknown, unknown[]>,\n action: StoreEventType,\n ) => {\n return this.watches.some((watch) => {\n let atomMatched = false;\n if (typeof watch.target === 'string') {\n atomMatched = atom.toString().includes(watch.target);\n } else if (watch.target instanceof RegExp) {\n atomMatched = watch.target.test(atom.toString());\n } else {\n atomMatched = watch.target === atom;\n }\n\n if (!atomMatched) {\n return false;\n }\n\n return !watch.actions || watch.actions.has(action);\n });\n };\n\n get = <T>(atom$: State<T> | Computed<T>, fn: () => T) => {\n if (!this.shouldLog(atom$, 'get')) {\n fn();\n return;\n }\n\n console.group('[R][GET] ' + atom$.toString());\n console.log('ret:', fn());\n console.groupEnd();\n };\n\n computed = <T>(atom$: Computed<T>, fn: () => T) => {\n if (!this.shouldLog(atom$, 'computed')) {\n fn();\n return;\n }\n\n console.group('[R][CPT] ' + atom$.toString());\n console.log('ret:', fn());\n console.groupEnd();\n };\n\n set = <T, Args extends unknown[]>(\n atom$: State<T> | Command<T, Args>,\n fn: () => T,\n ...args: Args | [T | Updater<T>]\n ) => {\n if (!this.shouldLog(atom$ as unknown as State<T>, 'set')) {\n fn();\n return;\n }\n\n console.group('[R][SET] ' + atom$.toString(), '(', ...args, ')');\n console.log('ret:', fn());\n console.groupEnd();\n };\n\n sub = <T>(atom$: State<T> | Computed<T>, callback$: CallbackFunc<T>, fn: () => void) => {\n if (!this.shouldLog(atom$, 'sub')) {\n fn();\n return;\n }\n\n console.group('[R][SUB] ' + atom$.toString() + ', callback=' + callback$.toString());\n fn();\n console.groupEnd();\n };\n\n unsub = <T>(atom$: State<T> | Computed<T>, callback$: CallbackFunc<T>, fn: () => void) => {\n if (!this.shouldLog(atom$, 'unsub')) {\n fn();\n return;\n }\n\n console.group('[R][UNS] ' + atom$.toString() + ', callback=' + callback$.toString());\n fn();\n console.groupEnd();\n };\n\n mount = <T>(atom$: State<T> | Computed<T>) => {\n if (!this.shouldLog(atom$, 'mount')) {\n return;\n }\n\n console.log('[R][MNT] ' + atom$.toString());\n };\n\n unmount = <T>(atom$: State<T> | Computed<T>) => {\n if (!this.shouldLog(atom$, 'unmount')) {\n return;\n }\n\n console.log('[R][UNM] ' + atom$.toString());\n };\n\n notify = <T>(callback$: CallbackFunc<T>, fn: () => T) => {\n if (!this.shouldLog(callback$, 'notify')) {\n fn();\n return;\n }\n\n console.group('[R][NTF] ' + callback$.toString());\n console.log('ret:', fn());\n console.groupEnd();\n };\n}\n\nexport function createDebugStore(\n watches: (AtomWatch | string | RegExp | State<unknown> | Computed<unknown> | Command<unknown, unknown[]>)[] = [],\n defaultActions?: StoreEventType[],\n): DebugStore {\n const parsedDefaultActions = defaultActions ? new Set(defaultActions) : undefined;\n\n const parsedWatches = watches.map((watch): AtomWatch => {\n if (typeof watch === 'string' || watch instanceof RegExp) {\n return { target: watch, actions: parsedDefaultActions };\n }\n\n if ('target' in watch) {\n return watch;\n }\n\n return { target: watch, actions: parsedDefaultActions };\n });\n\n const interceptor = new ConsoleInterceptor(parsedWatches);\n return createDebugStoreInternal(interceptor);\n}\n"],"names":["globalId","generateToString","prefix","debugLabel","id","label","concat","String","state","init","options","ret","toString","computed","read","command","write","canReadAsCompute","atom","isComputedState","AtomManager","_this","_classCallCheck","_defineProperty","WeakMap","ignoreMounted","atomState","atomStateMap","get","undefined","mounted","_iterator","_createForOfIteratorHelper","dependencies","entries","_step","s","n","done","_step$value","_slicedToArray","value","dep","epoch","depState","readAtomState","err","e","f","_createClass","key","readComputedAtom","_this$options","_this2","arguments","length","cachedState","tryGetCachedState","computedInterceptor","interceptor","computeComputedAtom","result","called","data","val","Error","_this3","_this$options2","self","Map","set","lastDeps","readDeps","wrappedGet","depAtom","selfMounted","mount","readDepts","add","getInterceptor","fn","signal","_atomState$abortContr","_self$debugLabel","abortController","abort","AbortController","_iterator2","keys","_step2","has","tryUnmount","readStateAtom","initState","tryGetMount","_this$atomStateMap$ge","_this$options3","_this$options3$mount","_atomState$mounted","call","listeners","Set","_i","_Array$from","Array","from","_Array$from$_i","_this$options4","_this$options4$unmoun","size","unmount","_i2","_Array$from2","_depState$mounted","_Array$from2$_i","inited","ListenerManager","markPendingListeners","atomManager","queue","nextQueue","_iterator3","_step3","_atomState$mounted2","_atomState$mounted3","_iterator4","_step4","listener","pendingListeners","_i3","_Array$from3","push","_regeneratorRuntime","mark","notify","_iterator5","_step5","wrap","notify$","_context","prev","next","t0","finish","stop","StoreImpl","listenerManager","_len","args","_key","apply","_toConsumableArray","newValue","fnWithRet","_loop","notifyed","_len2","_key2","innerSet","_this$options$interce","_subSingleAtom","target$","cb$","unsub","_options$signal2","subscribed","_this2$options","_options$signal","addEventListener","sub","targets$","isArray","unsubscribes","forEach","unsubscribe","createStore","defaultStore","getDefaultStore","DebugStoreImpl","_StoreImpl","_callSuper","atoms","cb","atomList","_this$mountedAtomList","mountedAtomListenersCount","_superPropGet","decount","_this$mountedAtomList2","count","map","_ref","_ref2","getReadDependencies","_atomState$mounted$re","getReadDependents","subscribedAtoms","mountState","_inherits","createDebugStoreInternal","ConsoleInterceptor","watches","action","some","watch","atomMatched","target","includes","RegExp","test","actions","atom$","shouldLog","console","group","log","groupEnd","_console","callback$","createDebugStore","defaultActions","parsedDefaultActions","parsedWatches"],"mappings":"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"}
|
package/index.d.cts
CHANGED
|
@@ -66,3 +66,4 @@ interface AtomWatch {
|
|
|
66
66
|
declare function createDebugStore(watches?: (AtomWatch | string | RegExp | State<unknown> | Computed<unknown> | Command<unknown, unknown[]>)[], defaultActions?: StoreEventType[]): DebugStore;
|
|
67
67
|
|
|
68
68
|
export { type Command, type Computed, type DebugStore, type Getter, type Read, type Setter, type State, type Store, type Subscribe, type Updater, type Write, command, computed, createDebugStore, createStore, getDefaultStore, state };
|
|
69
|
+
//# sourceMappingURL=index.d.cts.map
|
package/index.d.cts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/index.d.ts
CHANGED
|
@@ -66,3 +66,4 @@ interface AtomWatch {
|
|
|
66
66
|
declare function createDebugStore(watches?: (AtomWatch | string | RegExp | State<unknown> | Computed<unknown> | Command<unknown, unknown[]>)[], defaultActions?: StoreEventType[]): DebugStore;
|
|
67
67
|
|
|
68
68
|
export { type Command, type Computed, type DebugStore, type Getter, type Read, type Setter, type State, type Store, type Subscribe, type Updater, type Write, command, computed, createDebugStore, createStore, getDefaultStore, state };
|
|
69
|
+
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|