@lytjs/store 3.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/dist/index.cjs ADDED
@@ -0,0 +1 @@
1
+ var A=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var K=Object.prototype.hasOwnProperty;var H=(o,n)=>{for(var S in n)A(o,S,{get:n[S],enumerable:!0})},V=(o,n,S,b)=>{if(n&&typeof n=="object"||typeof n=="function")for(let c of W(n))!K.call(o,c)&&c!==S&&A(o,c,{get:()=>n[c],enumerable:!(b=N(n,c))||b.enumerable});return o};var F=o=>V(A({},"__esModule",{value:!0}),o);var q={};H(q,{clearAllStores:()=>I,createStore:()=>w,getStore:()=>j,getStoreIds:()=>C});module.exports=F(q);var i=require("@lytjs/reactivity"),l=new Map;function j(o){return l.get(o)}function w(o,n={}){if(l.has(o))return console.warn(`[Lyt Store] Store "${o}" \u5DF2\u5B58\u5728\uFF0C\u5C06\u8FD4\u56DE\u5DF2\u5B58\u5728\u7684\u5B9E\u4F8B\u3002`),()=>l.get(o);let S=typeof n.state=="function"?n.state():n.state||{},b={};if(n.modules)for(let e of Object.keys(n.modules)){let t=n.modules[e],r=typeof t.state=="function"?t.state():t.state||{};b[e]={...r}}let c={...S,...b},a=(0,i.reactive)({...c}),v={};if(n.getters)for(let e of Object.keys(n.getters)){let t=n.getters[e],r=(0,i.computed)(()=>t(a));Object.defineProperty(v,e,{get(){return r.value},enumerable:!0})}if(n.modules)for(let e of Object.keys(n.modules)){let t=n.modules[e];if(t.getters)for(let r of Object.keys(t.getters)){let s=t.getters[r],y=`${e}/${r}`,f=(0,i.computed)(()=>{let g=a[e];return s(g)});Object.defineProperty(v,y,{get(){return f.value},enumerable:!0})}}let O={},m=[];if(n.actions)for(let e of Object.keys(n.actions)){let t=n.actions[e];O[e]=function(...r){for(let s of m)s({name:e,args:r});return t.apply(R,r)}}if(n.modules)for(let e of Object.keys(n.modules)){let t=n.modules[e];if(t.actions)for(let r of Object.keys(t.actions)){let s=t.actions[r],y=`${e}/${r}`;O[y]=function(...f){for(let g of m)g({name:y,args:f});return s.apply(R,f)}}}let p=[],d=!1,k=[];function h(e){let t=(0,i.toRaw)(e),r={};for(let s of Object.keys(t))r[s]=t[s];return r}function P(e,t){let r=new Set([...Object.keys(e),...Object.keys(t)]);for(let s of r){let y=s in e,f=s in t,g=e[s],x=t[s];!y&&f?$({storeId:o,type:"add",key:s,newValue:x}):y&&!f?$({storeId:o,type:"delete",key:s,oldValue:g}):Object.is(g,x)||$({storeId:o,type:"set",key:s,newValue:x,oldValue:g})}}function $(e){for(let t of p)t(e,a)}let u=null;function L(){if(u||d)return;let e=h(a);u=(0,i.watch)(a,()=>{let t=h(a);P(e,t),e=t},{deep:!0}),k.push(u)}function M(){if(p.length===0&&u){u();let e=k.indexOf(u);e!==-1&&k.splice(e,1),u=null}}let R={$id:o,get state(){return a},get getters(){return v},get actions(){return O},$expose(){return{state:a,getters:v}},$reset(){if(d){console.warn(`[Lyt Store] Store "${o}" \u5DF2\u9500\u6BC1\uFF0C\u65E0\u6CD5\u91CD\u7F6E\u3002`);return}let e=Object.keys(a),t=Object.keys(c);for(let r of t)a[r]=c[r];for(let r of e)t.includes(r)||delete a[r]},$subscribe(e){return d?(console.warn(`[Lyt Store] Store "${o}" \u5DF2\u9500\u6BC1\uFF0C\u65E0\u6CD5\u8BA2\u9605\u3002`),()=>{}):(p.push(e),L(),()=>{let t=p.indexOf(e);t!==-1&&p.splice(t,1),M()})},$dispose(){if(!d){for(let e of k)e();k.length=0,u=null,p.length=0,l.delete(o),d=!0}},$patch(e){if(d){console.warn(`[Lyt Store] Store "${o}" \u5DF2\u9500\u6BC1\uFF0C\u65E0\u6CD5\u66F4\u65B0\u3002`);return}if(typeof e=="function")e(a);else for(let t of Object.keys(e))a[t]=e[t]},use(e){if(d)return console.warn(`[Lyt Store] Store "${o}" \u5DF2\u9500\u6BC1\uFF0C\u65E0\u6CD5\u5B89\u88C5\u63D2\u4EF6\u3002`),()=>{};let t=e.install(R);return()=>{typeof t=="function"&&t()}},$onAction(e){return d?(console.warn(`[Lyt Store] Store "${o}" \u5DF2\u9500\u6BC1\uFF0C\u65E0\u6CD5\u6CE8\u518C action \u62E6\u622A\u5668\u3002`),()=>{}):(m.push(e),()=>{let t=m.indexOf(e);t!==-1&&m.splice(t,1)})}};return l.set(o,R),()=>R}function C(){return Array.from(l.keys())}function I(){for(let[o,n]of l)n.$dispose();l.clear()}
package/dist/index.mjs ADDED
@@ -0,0 +1 @@
1
+ import{reactive as C,computed as x,watch as I,toRaw as P}from"@lytjs/reactivity";var d=new Map;function L(r){return d.get(r)}function M(r,o={}){if(d.has(r))return console.warn(`[Lyt Store] Store "${r}" \u5DF2\u5B58\u5728\uFF0C\u5C06\u8FD4\u56DE\u5DF2\u5B58\u5728\u7684\u5B9E\u4F8B\u3002`),()=>d.get(r);let A=typeof o.state=="function"?o.state():o.state||{},O={};if(o.modules)for(let e of Object.keys(o.modules)){let t=o.modules[e],n=typeof t.state=="function"?t.state():t.state||{};O[e]={...n}}let m={...A,...O},a=C({...m}),b={};if(o.getters)for(let e of Object.keys(o.getters)){let t=o.getters[e],n=x(()=>t(a));Object.defineProperty(b,e,{get(){return n.value},enumerable:!0})}if(o.modules)for(let e of Object.keys(o.modules)){let t=o.modules[e];if(t.getters)for(let n of Object.keys(t.getters)){let s=t.getters[n],u=`${e}/${n}`,l=x(()=>{let y=a[e];return s(y)});Object.defineProperty(b,u,{get(){return l.value},enumerable:!0})}}let k={},g=[];if(o.actions)for(let e of Object.keys(o.actions)){let t=o.actions[e];k[e]=function(...n){for(let s of g)s({name:e,args:n});return t.apply(p,n)}}if(o.modules)for(let e of Object.keys(o.modules)){let t=o.modules[e];if(t.actions)for(let n of Object.keys(t.actions)){let s=t.actions[n],u=`${e}/${n}`;k[u]=function(...l){for(let y of g)y({name:u,args:l});return s.apply(p,l)}}}let f=[],c=!1,S=[];function $(e){let t=P(e),n={};for(let s of Object.keys(t))n[s]=t[s];return n}function h(e,t){let n=new Set([...Object.keys(e),...Object.keys(t)]);for(let s of n){let u=s in e,l=s in t,y=e[s],v=t[s];!u&&l?R({storeId:r,type:"add",key:s,newValue:v}):u&&!l?R({storeId:r,type:"delete",key:s,oldValue:y}):Object.is(y,v)||R({storeId:r,type:"set",key:s,newValue:v,oldValue:y})}}function R(e){for(let t of f)t(e,a)}let i=null;function j(){if(i||c)return;let e=$(a);i=I(a,()=>{let t=$(a);h(e,t),e=t},{deep:!0}),S.push(i)}function w(){if(f.length===0&&i){i();let e=S.indexOf(i);e!==-1&&S.splice(e,1),i=null}}let p={$id:r,get state(){return a},get getters(){return b},get actions(){return k},$expose(){return{state:a,getters:b}},$reset(){if(c){console.warn(`[Lyt Store] Store "${r}" \u5DF2\u9500\u6BC1\uFF0C\u65E0\u6CD5\u91CD\u7F6E\u3002`);return}let e=Object.keys(a),t=Object.keys(m);for(let n of t)a[n]=m[n];for(let n of e)t.includes(n)||delete a[n]},$subscribe(e){return c?(console.warn(`[Lyt Store] Store "${r}" \u5DF2\u9500\u6BC1\uFF0C\u65E0\u6CD5\u8BA2\u9605\u3002`),()=>{}):(f.push(e),j(),()=>{let t=f.indexOf(e);t!==-1&&f.splice(t,1),w()})},$dispose(){if(!c){for(let e of S)e();S.length=0,i=null,f.length=0,d.delete(r),c=!0}},$patch(e){if(c){console.warn(`[Lyt Store] Store "${r}" \u5DF2\u9500\u6BC1\uFF0C\u65E0\u6CD5\u66F4\u65B0\u3002`);return}if(typeof e=="function")e(a);else for(let t of Object.keys(e))a[t]=e[t]},use(e){if(c)return console.warn(`[Lyt Store] Store "${r}" \u5DF2\u9500\u6BC1\uFF0C\u65E0\u6CD5\u5B89\u88C5\u63D2\u4EF6\u3002`),()=>{};let t=e.install(p);return()=>{typeof t=="function"&&t()}},$onAction(e){return c?(console.warn(`[Lyt Store] Store "${r}" \u5DF2\u9500\u6BC1\uFF0C\u65E0\u6CD5\u6CE8\u518C action \u62E6\u622A\u5668\u3002`),()=>{}):(g.push(e),()=>{let t=g.indexOf(e);t!==-1&&g.splice(t,1)})}};return d.set(r,p),()=>p}function N(){return Array.from(d.keys())}function W(){for(let[r,o]of d)o.$dispose();d.clear()}export{W as clearAllStores,M as createStore,L as getStore,N as getStoreIds};
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Lyt.js 状态管理 — Store 创建
3
+ *
4
+ * 提供轻量级的状态管理方案,支持:
5
+ * - 响应式状态(reactive 包装)
6
+ * - 计算属性(computed 包装)
7
+ * - 操作方法(actions)
8
+ * - 状态订阅($subscribe)
9
+ * - 状态重置($reset)
10
+ * - Store 销毁($dispose)
11
+ *
12
+ * 设计理念:
13
+ * - 基于 @lytjs/reactivity 响应式系统
14
+ * - API 风格参考 Pinia,简洁易用
15
+ * - 零第三方运行时依赖
16
+ */
17
+ /** Store 选项 */
18
+ export interface StoreOptions<S extends Record<string, any> = Record<string, any>> {
19
+ /** 初始状态(对象或工厂函数) */
20
+ state?: S | (() => S);
21
+ /** 计算属性(getter 函数集合) */
22
+ getters?: Record<string, (state: S) => any>;
23
+ /** 操作方法 */
24
+ actions?: Record<string, (this: StoreApi<S>, ...args: any[]) => any>;
25
+ /** 模块化子模块 */
26
+ modules?: Record<string, ModuleOptions>;
27
+ }
28
+ /** 子模块选项 */
29
+ export interface ModuleOptions {
30
+ /** 子模块初始状态 */
31
+ state?: Record<string, any> | (() => Record<string, any>);
32
+ /** 子模块计算属性 */
33
+ getters?: Record<string, (state: any) => any>;
34
+ /** 子模块操作方法 */
35
+ actions?: Record<string, (this: StoreApi, ...args: any[]) => any>;
36
+ /** 嵌套子模块 */
37
+ modules?: Record<string, ModuleOptions>;
38
+ }
39
+ /** Store 插件接口 */
40
+ export interface StorePlugin {
41
+ /** 安装插件,返回卸载函数(可选) */
42
+ install: (store: StoreApi) => (() => void) | void;
43
+ }
44
+ /** 订阅回调参数 */
45
+ export interface SubscriptionCallbackArgument {
46
+ /** Store ID */
47
+ storeId: string;
48
+ /** 事件类型 */
49
+ type: 'set' | 'delete' | 'add' | 'direct';
50
+ /** 变化的键名 */
51
+ key: string;
52
+ /** 新值 */
53
+ newValue?: any;
54
+ /** 旧值 */
55
+ oldValue?: any;
56
+ }
57
+ /** 订阅回调函数 */
58
+ export type SubscriptionCallback = (mutation: SubscriptionCallbackArgument, state: any) => void;
59
+ /** Store 公共 API */
60
+ export interface StoreApi<S extends Record<string, any> = Record<string, any>> {
61
+ /** Store 唯一标识 */
62
+ $id: string;
63
+ /** 响应式状态 */
64
+ state: S;
65
+ /** 计算属性 */
66
+ getters: Record<string, any>;
67
+ /** 操作方法 */
68
+ actions: Record<string, (...args: any[]) => any>;
69
+ /** 在组件中使用 Store,返回 state 和 getters */
70
+ /** 获取 state 和 getters(用于非插件场景) */
71
+ $expose(): {
72
+ state: S;
73
+ getters: Record<string, any>;
74
+ };
75
+ /** 重置状态到初始值 */
76
+ $reset(): void;
77
+ /** 订阅状态变化 */
78
+ $subscribe(callback: SubscriptionCallback): () => void;
79
+ /** 销毁 Store */
80
+ $dispose(): void;
81
+ /** 批量更新状态(对象合并或函数式) */
82
+ $patch(partialOrFn: Partial<S> | ((state: S) => void)): void;
83
+ /** 安装插件 */
84
+ use(plugin: StorePlugin): () => void;
85
+ /** 拦截 action 调用 */
86
+ $onAction(callback: (action: {
87
+ name: string;
88
+ args: any[];
89
+ }) => void): () => void;
90
+ }
91
+ /**
92
+ * 获取已注册的 Store
93
+ *
94
+ * @param id - Store ID
95
+ * @returns Store 实例或 undefined
96
+ */
97
+ export declare function getStore<S extends Record<string, any> = Record<string, any>>(id: string): StoreApi<S> | undefined;
98
+ /**
99
+ * 创建 Store
100
+ *
101
+ * 创建一个包含响应式状态、计算属性和操作方法的状态管理单元。
102
+ *
103
+ * @param id - Store 唯一标识
104
+ * @param options - Store 配置选项
105
+ * @returns Store 实例
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * // 定义 Store
110
+ * const useCounterStore = createStore('counter', {
111
+ * state: () => ({
112
+ * count: 0,
113
+ * name: 'lyt',
114
+ * }),
115
+ * getters: {
116
+ * doubleCount: (state) => state.count * 2,
117
+ * },
118
+ * actions: {
119
+ * increment() {
120
+ * this.state.count++
121
+ * },
122
+ * async fetchData() {
123
+ * const data = await fetch('/api')
124
+ * this.state.name = data.name
125
+ * },
126
+ * },
127
+ * })
128
+ *
129
+ * // 使用 Store
130
+ * const store = useCounterStore()
131
+ * console.log(store.state.count) // 0
132
+ * console.log(store.getters.doubleCount) // 0
133
+ * store.actions.increment()
134
+ * console.log(store.state.count) // 1
135
+ * console.log(store.getters.doubleCount) // 2
136
+ *
137
+ * // 订阅变化
138
+ * store.$subscribe((mutation, state) => {
139
+ * console.log(`${mutation.type}: ${mutation.key}`)
140
+ * })
141
+ *
142
+ * // 重置状态
143
+ * store.$reset()
144
+ *
145
+ * // 销毁 Store
146
+ * store.$dispose()
147
+ * ```
148
+ */
149
+ export declare function createStore<S extends Record<string, any> = Record<string, any>>(id: string, options?: StoreOptions<S>): () => StoreApi<S>;
150
+ /**
151
+ * 获取所有已注册的 Store ID 列表
152
+ *
153
+ * @returns Store ID 数组
154
+ */
155
+ export declare function getStoreIds(): string[];
156
+ /**
157
+ * 清除所有已注册的 Store(仅用于测试)
158
+ *
159
+ * 销毁所有 Store 实例并清空注册表。
160
+ * 在测试环境的 afterEach 中调用以避免状态污染。
161
+ */
162
+ export declare function clearAllStores(): void;
163
+ //# sourceMappingURL=create-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-store.d.ts","sourceRoot":"","sources":["../../src/create-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Lyt.js 状态管理 — 统一导出入口
3
+ *
4
+ * 导出所有公共 API 和类型定义。
5
+ * 纯原生零依赖实现。
6
+ */
7
+ export { createStore, getStore, getStoreIds, clearAllStores } from './create-store';
8
+ export type { StoreOptions, StoreApi, SubscriptionCallback, SubscriptionCallbackArgument, ModuleOptions, StorePlugin, } from './create-store';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEpF,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACpB,4BAA4B,EAC5B,aAAa,EACb,WAAW,GACZ,MAAM,gBAAgB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@lytjs/store",
3
+ "version": "3.1.0",
4
+ "description": "Lyt.js 内置状态管理 - 轻量级全局状态管理,支持模块化和插件扩展",
5
+ "main": "./dist/index.cjs",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/types/index.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.cjs",
13
+ "default": "./dist/index.mjs"
14
+ }
15
+ },
16
+ "sideEffects": false,
17
+ "files": ["dist"],
18
+ "license": "MIT",
19
+ "author": "lytjs",
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://gitee.com/@lytjs/lytjs"
23
+ },
24
+ "homepage": "https://gitee.com/@lytjs/lytjs",
25
+ "keywords": [
26
+ "lyt",
27
+ "lytjs",
28
+ "javascript",
29
+ "framework",
30
+ "frontend",
31
+ "vue-like",
32
+ "lightweight",
33
+ "zero-dependency",
34
+ "store",
35
+ "state",
36
+ "state-management",
37
+ "状态管理"
38
+ ],
39
+ "dependencies": {
40
+ "@lytjs/reactivity": "workspace:*"
41
+ },
42
+ "publishConfig": {
43
+ "access": "public"
44
+ }
45
+ }