phecda-core 1.7.0 → 2.0.0-alpha.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.d.ts CHANGED
@@ -12,6 +12,7 @@ interface PhecdaHandler {
12
12
  [key: string]: any;
13
13
  }
14
14
  interface Phecda {
15
+ prototype: any;
15
16
  _namespace: {
16
17
  __INIT_EVENT__: Set<PropertyKey>;
17
18
  __EXPOSE_VAR__: Set<PropertyKey>;
@@ -92,22 +93,26 @@ declare function Inject<K extends keyof PhecdaInjectData>(key: K): PhecdaInjectD
92
93
 
93
94
  declare function validate(p: RegExp | string | Function | Object | Number, v: any): Promise<any>;
94
95
  declare function getTag<M extends new (...args: any) => any>(Model: M): any;
95
- declare function mergeOptions(obj1: any, obj2?: any): any;
96
96
 
97
97
  declare function isPhecda(target: any): any;
98
98
  declare function init(target: Phecda): void;
99
99
  declare function regisInitEvent(target: Phecda, key: string): void;
100
- declare function getInitEvent(target: Phecda): string[];
101
- declare function setModalVar(target: Phecda, key: PropertyKey): void;
100
+ declare function getOwnInitEvent(target: Phecda): string[];
101
+ declare function getInitEvent(target: Phecda): PropertyKey[];
102
+ declare function setModelVar(target: Phecda, key: PropertyKey): void;
102
103
  declare function setExposeKey(target: Phecda, key: PropertyKey): void;
103
104
  declare function setIgnoreKey(target: Phecda, key: PropertyKey): void;
104
- declare function getModelState(target: Phecda): string[];
105
- declare function getExposeKey(target: Phecda): string[];
106
- declare function getIgnoreKey(target: Phecda): string[];
105
+ declare function getOwnModelState(target: Phecda): string[];
106
+ declare function getModelState(target: Phecda): PropertyKey[];
107
+ declare function getOwnExposeKey(target: Phecda): string[];
108
+ declare function getExposeKey(target: Phecda): PropertyKey[];
109
+ declare function getOwnIgnoreKey(target: Phecda): string[];
107
110
  declare function regisHandler(target: Phecda, key: PropertyKey, handler: PhecdaHandler): void;
108
- declare function getHandler(target: Phecda, key: PropertyKey): PhecdaHandler[];
109
- declare function mergeState(target: Phecda, key: PropertyKey, state: any): void;
110
- declare function getState(target: Phecda, key: PropertyKey): Object | undefined;
111
+ declare function getOwnHandler(target: Phecda, key: PropertyKey): PhecdaHandler[];
112
+ declare function getHandler(target: Phecda, key: PropertyKey): any[];
113
+ declare function setState(target: Phecda, key: PropertyKey, state: Record<string, any>): void;
114
+ declare function getOwnState(target: Phecda, key: PropertyKey): Object;
115
+ declare function getState(target: Phecda, key: PropertyKey): any;
111
116
  declare function register(instance: Phecda): void;
112
117
  declare function registerAsync(instance: Phecda): Promise<void>;
113
118
 
@@ -121,4 +126,4 @@ declare function Watcher(eventName: keyof Events, options?: {
121
126
  declare function Effect(eventName: string, options?: any): (obj: any, key: string) => void;
122
127
  declare function Storage(storeKey?: string): (target: any, key?: PropertyKey) => void;
123
128
 
124
- export { Assign, Bind, ClassValue, Clear, DataMap, Effect, Empty, Err, Events, Expose, Global, Ignore, Init, Inject, NameSpace, Phecda, PhecdaHandler, PhecdaInjectData, Pipe, Provide, Rule, Storage, Tag, UsePipeOptions, Watcher, activeInstance, addDecoToClass, classToValue, getBind, getExposeKey, getHandler, getIgnoreKey, getInitEvent, getModelState, getProperty, getState, getTag, init, injectProperty, isPhecda, mergeOptions, mergeState, plainToClass, regisHandler, regisInitEvent, register, registerAsync, setExposeKey, setIgnoreKey, setModalVar, snapShot, to, validate };
129
+ export { Assign, Bind, ClassValue, Clear, DataMap, Effect, Empty, Err, Events, Expose, Global, Ignore, Init, Inject, NameSpace, Phecda, PhecdaHandler, PhecdaInjectData, Pipe, Provide, Rule, Storage, Tag, UsePipeOptions, Watcher, activeInstance, addDecoToClass, classToValue, getBind, getExposeKey, getHandler, getInitEvent, getModelState, getOwnExposeKey, getOwnHandler, getOwnIgnoreKey, getOwnInitEvent, getOwnModelState, getOwnState, getProperty, getState, getTag, init, injectProperty, isPhecda, plainToClass, regisHandler, regisInitEvent, register, registerAsync, setExposeKey, setIgnoreKey, setModelVar, setState, snapShot, to, validate };
@@ -46,17 +46,20 @@ var Phecda = (() => {
46
46
  getBind: () => getBind,
47
47
  getExposeKey: () => getExposeKey,
48
48
  getHandler: () => getHandler,
49
- getIgnoreKey: () => getIgnoreKey,
50
49
  getInitEvent: () => getInitEvent,
51
50
  getModelState: () => getModelState,
51
+ getOwnExposeKey: () => getOwnExposeKey,
52
+ getOwnHandler: () => getOwnHandler,
53
+ getOwnIgnoreKey: () => getOwnIgnoreKey,
54
+ getOwnInitEvent: () => getOwnInitEvent,
55
+ getOwnModelState: () => getOwnModelState,
56
+ getOwnState: () => getOwnState,
52
57
  getProperty: () => getProperty,
53
58
  getState: () => getState,
54
59
  getTag: () => getTag,
55
60
  init: () => init,
56
61
  injectProperty: () => injectProperty,
57
62
  isPhecda: () => isPhecda,
58
- mergeOptions: () => mergeOptions,
59
- mergeState: () => mergeState,
60
63
  plainToClass: () => plainToClass,
61
64
  regisHandler: () => regisHandler,
62
65
  regisInitEvent: () => regisInitEvent,
@@ -64,58 +67,22 @@ var Phecda = (() => {
64
67
  registerAsync: () => registerAsync,
65
68
  setExposeKey: () => setExposeKey,
66
69
  setIgnoreKey: () => setIgnoreKey,
67
- setModalVar: () => setModalVar,
70
+ setModelVar: () => setModelVar,
71
+ setState: () => setState,
68
72
  snapShot: () => snapShot,
69
73
  to: () => to,
70
74
  validate: () => validate
71
75
  });
72
76
 
73
- // src/utils.ts
74
- async function validate(p, v) {
75
- if (typeof p === "string" || typeof p === "number") {
76
- if (v === p)
77
- return true;
78
- }
79
- if (typeof p === "function")
80
- return p(v);
81
- if (p instanceof RegExp)
82
- return p.test(v);
83
- return false;
84
- }
85
- __name(validate, "validate");
86
- function getTag(Model) {
87
- return Model.prototype?.__TAG__;
88
- }
89
- __name(getTag, "getTag");
90
- function mergeOptions(obj1, obj2) {
91
- if (!obj2)
92
- return obj1;
93
- for (const i in obj2) {
94
- if (isObject(obj1[i]) && isObject(obj2[i])) {
95
- mergeOptions(obj1[i], obj2[i]);
96
- continue;
97
- }
98
- if (Array.isArray(obj1[i]) && Array.isArray(obj2[i])) {
99
- obj1[i].push(...obj2[i].filter((item) => !obj1[i].includes(item)));
100
- continue;
101
- }
102
- obj1[i] = obj2[i];
103
- }
104
- return obj1;
105
- }
106
- __name(mergeOptions, "mergeOptions");
107
- function isObject(obj) {
108
- return Object.prototype.toString.call(obj) === "[object Object]";
109
- }
110
- __name(isObject, "isObject");
111
-
112
77
  // src/core.ts
113
78
  function isPhecda(target) {
114
79
  return target && !!target.prototype._namespace;
115
80
  }
116
81
  __name(isPhecda, "isPhecda");
117
82
  function init(target) {
118
- if (!target._namespace) {
83
+ if (!target)
84
+ return;
85
+ if (!target.hasOwnProperty("_namespace")) {
119
86
  target._namespace = {
120
87
  __INIT_EVENT__: /* @__PURE__ */ new Set(),
121
88
  __EXPOSE_VAR__: /* @__PURE__ */ new Set(),
@@ -132,19 +99,32 @@ var Phecda = (() => {
132
99
  target._namespace.__INIT_EVENT__.add(key);
133
100
  }
134
101
  __name(regisInitEvent, "regisInitEvent");
135
- function getInitEvent(target) {
136
- init(target);
102
+ function getOwnInitEvent(target) {
103
+ if (!target?._namespace)
104
+ return [];
137
105
  return [
138
106
  ...target._namespace.__INIT_EVENT__
139
107
  ];
140
108
  }
109
+ __name(getOwnInitEvent, "getOwnInitEvent");
110
+ function getInitEvent(target) {
111
+ let proto = Object.getPrototypeOf(target);
112
+ const set = /* @__PURE__ */ new Set();
113
+ while (proto?._namespace) {
114
+ proto._namespace.__INIT_EVENT__.forEach((item) => set.add(item));
115
+ proto = Object.getPrototypeOf(proto);
116
+ }
117
+ return [
118
+ ...set
119
+ ];
120
+ }
141
121
  __name(getInitEvent, "getInitEvent");
142
- function setModalVar(target, key) {
122
+ function setModelVar(target, key) {
143
123
  init(target);
144
124
  target._namespace.__STATE_VAR__.add(key);
145
125
  setExposeKey(target, key);
146
126
  }
147
- __name(setModalVar, "setModalVar");
127
+ __name(setModelVar, "setModelVar");
148
128
  function setExposeKey(target, key) {
149
129
  init(target);
150
130
  target._namespace.__EXPOSE_VAR__.add(key);
@@ -155,27 +135,54 @@ var Phecda = (() => {
155
135
  target._namespace.__IGNORE_VAR__.add(key);
156
136
  }
157
137
  __name(setIgnoreKey, "setIgnoreKey");
158
- function getModelState(target) {
159
- init(target);
138
+ function getOwnModelState(target) {
139
+ target = Object.getPrototypeOf(target);
160
140
  return [
161
141
  ...target._namespace.__STATE_VAR__
162
142
  ];
163
143
  }
144
+ __name(getOwnModelState, "getOwnModelState");
145
+ function getModelState(target) {
146
+ let proto = Object.getPrototypeOf(target);
147
+ const set = /* @__PURE__ */ new Set();
148
+ while (proto?._namespace) {
149
+ proto._namespace.__STATE_VAR__.forEach((item) => set.add(item));
150
+ proto = Object.getPrototypeOf(proto);
151
+ }
152
+ return [
153
+ ...set
154
+ ];
155
+ }
164
156
  __name(getModelState, "getModelState");
165
- function getExposeKey(target) {
166
- init(target);
157
+ function getOwnExposeKey(target) {
158
+ target = Object.getPrototypeOf(target);
167
159
  return [
168
160
  ...target._namespace.__EXPOSE_VAR__
169
161
  ].filter((item) => !target._namespace.__IGNORE_VAR__.has(item));
170
162
  }
163
+ __name(getOwnExposeKey, "getOwnExposeKey");
164
+ function getExposeKey(target) {
165
+ let proto = Object.getPrototypeOf(target);
166
+ const set = /* @__PURE__ */ new Set();
167
+ while (proto?._namespace) {
168
+ [
169
+ ...proto._namespace.__EXPOSE_VAR__
170
+ ].forEach((item) => !proto._namespace.__IGNORE_VAR__.has(item) && set.add(item));
171
+ proto = Object.getPrototypeOf(proto);
172
+ }
173
+ return [
174
+ ...set
175
+ ];
176
+ }
171
177
  __name(getExposeKey, "getExposeKey");
172
- function getIgnoreKey(target) {
173
- init(target);
178
+ function getOwnIgnoreKey(target) {
179
+ if (!target?._namespace)
180
+ return [];
174
181
  return [
175
182
  ...target._namespace.__IGNORE_VAR__
176
183
  ];
177
184
  }
178
- __name(getIgnoreKey, "getIgnoreKey");
185
+ __name(getOwnIgnoreKey, "getOwnIgnoreKey");
179
186
  function regisHandler(target, key, handler) {
180
187
  init(target);
181
188
  if (!target._namespace.__STATE_HANDLER__.has(key))
@@ -186,22 +193,48 @@ var Phecda = (() => {
186
193
  target._namespace.__STATE_HANDLER__.get(key).push(handler);
187
194
  }
188
195
  __name(regisHandler, "regisHandler");
189
- function getHandler(target, key) {
196
+ function getOwnHandler(target, key) {
197
+ if (!target?._namespace)
198
+ return [];
190
199
  return target._namespace.__STATE_HANDLER__.get(key) || [];
191
200
  }
201
+ __name(getOwnHandler, "getOwnHandler");
202
+ function getHandler(target, key) {
203
+ let proto = Object.getPrototypeOf(target);
204
+ const set = /* @__PURE__ */ new Set();
205
+ while (proto?._namespace) {
206
+ proto._namespace.__STATE_HANDLER__.get(key)?.forEach((item) => set.add(item));
207
+ proto = Object.getPrototypeOf(proto);
208
+ }
209
+ return [
210
+ ...set
211
+ ];
212
+ }
192
213
  __name(getHandler, "getHandler");
193
- function mergeState(target, key, state) {
214
+ function setState(target, key, state) {
215
+ init(target);
194
216
  const namespace = target._namespace.__STATE_NAMESPACE__;
195
- if (!namespace.has(key))
196
- namespace.set(key, state);
197
- else
198
- mergeOptions(namespace.get(key), state);
217
+ namespace.set(key, state);
199
218
  }
200
- __name(mergeState, "mergeState");
219
+ __name(setState, "setState");
220
+ function getOwnState(target, key) {
221
+ target = Object.getPrototypeOf(target);
222
+ return target._namespace.__STATE_NAMESPACE__.get(key) || {};
223
+ }
224
+ __name(getOwnState, "getOwnState");
201
225
  function getState(target, key) {
202
- const namespace = target._namespace.__STATE_NAMESPACE__;
203
- if (namespace)
204
- return namespace.get(key);
226
+ let proto = Object.getPrototypeOf(target);
227
+ let ret = {};
228
+ while (proto?._namespace) {
229
+ const state = proto._namespace.__STATE_NAMESPACE__.get(key);
230
+ if (state)
231
+ ret = {
232
+ ...state,
233
+ ...ret
234
+ };
235
+ proto = Object.getPrototypeOf(proto);
236
+ }
237
+ return ret;
205
238
  }
206
239
  __name(getState, "getState");
207
240
  function register(instance) {
@@ -225,7 +258,7 @@ var Phecda = (() => {
225
258
 
226
259
  // src/decorators.ts
227
260
  function Init(target, key) {
228
- setModalVar(target, key);
261
+ setModelVar(target, key);
229
262
  regisHandler(target, key, {
230
263
  async init(instance) {
231
264
  instance[key]();
@@ -235,8 +268,8 @@ var Phecda = (() => {
235
268
  __name(Init, "Init");
236
269
  function Bind(value) {
237
270
  return (target, k) => {
238
- setModalVar(target, k);
239
- mergeState(target, k, {
271
+ setModelVar(target, k);
272
+ setState(target, k, {
240
273
  value
241
274
  });
242
275
  };
@@ -244,7 +277,7 @@ var Phecda = (() => {
244
277
  __name(Bind, "Bind");
245
278
  function Rule(rule, info, meta) {
246
279
  return (obj, key) => {
247
- setModalVar(obj, key);
280
+ setModelVar(obj, key);
248
281
  regisHandler(obj, key, {
249
282
  rule,
250
283
  info,
@@ -269,7 +302,7 @@ var Phecda = (() => {
269
302
  __name(Clear, "Clear");
270
303
  function Err(cb) {
271
304
  return (target, key) => {
272
- setModalVar(target, key);
305
+ setModelVar(target, key);
273
306
  regisHandler(target, key, {
274
307
  error: cb
275
308
  });
@@ -282,7 +315,7 @@ var Phecda = (() => {
282
315
  __name(Expose, "Expose");
283
316
  function Pipe(v) {
284
317
  return (obj, key) => {
285
- setModalVar(obj, key);
318
+ setModelVar(obj, key);
286
319
  regisHandler(obj, key, {
287
320
  async pipe(instance) {
288
321
  const tasks = v.value;
@@ -302,7 +335,7 @@ var Phecda = (() => {
302
335
  function Assign(cb) {
303
336
  return (target) => {
304
337
  init(target.prototype);
305
- setModalVar(target.prototype, "__CLASS");
338
+ setModelVar(target.prototype, "__CLASS");
306
339
  regisHandler(target.prototype, "__CLASS", {
307
340
  init: async (instance) => {
308
341
  const value = await cb(instance);
@@ -336,6 +369,24 @@ var Phecda = (() => {
336
369
  }
337
370
  __name(Inject, "Inject");
338
371
 
372
+ // src/utils.ts
373
+ async function validate(p, v) {
374
+ if (typeof p === "string" || typeof p === "number") {
375
+ if (v === p)
376
+ return true;
377
+ }
378
+ if (typeof p === "function")
379
+ return p(v);
380
+ if (p instanceof RegExp)
381
+ return p.test(v);
382
+ return false;
383
+ }
384
+ __name(validate, "validate");
385
+ function getTag(Model) {
386
+ return Model.prototype?.__TAG__;
387
+ }
388
+ __name(getTag, "getTag");
389
+
339
390
  // src/helper.ts
340
391
  function getBind(Model) {
341
392
  const instance = new Model();
@@ -386,8 +437,8 @@ var Phecda = (() => {
386
437
  __name(plainToClass, "plainToClass");
387
438
  function classToValue(instance) {
388
439
  const data = {};
389
- const exposeVar = getExposeKey(instance);
390
- for (const item of exposeVar)
440
+ const exposeVars = getExposeKey(instance);
441
+ for (const item of exposeVars)
391
442
  data[item] = instance[item];
392
443
  return data;
393
444
  }
@@ -438,7 +489,7 @@ var Phecda = (() => {
438
489
  // src/custom/decorator.ts
439
490
  function Watcher(eventName, options) {
440
491
  return (obj, key) => {
441
- setModalVar(obj, key);
492
+ setModelVar(obj, key);
442
493
  regisHandler(obj, key, {
443
494
  init(instance) {
444
495
  getProperty("watcher")?.({
@@ -454,7 +505,7 @@ var Phecda = (() => {
454
505
  __name(Watcher, "Watcher");
455
506
  function Effect(eventName, options) {
456
507
  return (obj, key) => {
457
- setModalVar(obj, key);
508
+ setModelVar(obj, key);
458
509
  regisHandler(obj, key, {
459
510
  init(instance) {
460
511
  instance[`$_${key}`] = instance[key];
@@ -485,7 +536,7 @@ var Phecda = (() => {
485
536
  init(target);
486
537
  tag = storeKey || target.__TAG__;
487
538
  const uniTag = Symbol(tag);
488
- setModalVar(target, uniTag);
539
+ setModelVar(target, uniTag);
489
540
  regisHandler(target, uniTag, {
490
541
  init: (instance) => {
491
542
  getProperty("storage")?.({
@@ -499,7 +550,7 @@ var Phecda = (() => {
499
550
  init(target.prototype);
500
551
  tag = storeKey || `${target.prototype.__TAG__}_${key}`;
501
552
  const uniTag = Symbol(tag);
502
- setModalVar(target.prototype, uniTag);
553
+ setModelVar(target.prototype, uniTag);
503
554
  regisHandler(target.prototype, uniTag, {
504
555
  init: (instance) => {
505
556
  getProperty("storage")?.({
package/dist/index.js CHANGED
@@ -45,17 +45,20 @@ __export(src_exports, {
45
45
  getBind: () => getBind,
46
46
  getExposeKey: () => getExposeKey,
47
47
  getHandler: () => getHandler,
48
- getIgnoreKey: () => getIgnoreKey,
49
48
  getInitEvent: () => getInitEvent,
50
49
  getModelState: () => getModelState,
50
+ getOwnExposeKey: () => getOwnExposeKey,
51
+ getOwnHandler: () => getOwnHandler,
52
+ getOwnIgnoreKey: () => getOwnIgnoreKey,
53
+ getOwnInitEvent: () => getOwnInitEvent,
54
+ getOwnModelState: () => getOwnModelState,
55
+ getOwnState: () => getOwnState,
51
56
  getProperty: () => getProperty,
52
57
  getState: () => getState,
53
58
  getTag: () => getTag,
54
59
  init: () => init,
55
60
  injectProperty: () => injectProperty,
56
61
  isPhecda: () => isPhecda,
57
- mergeOptions: () => mergeOptions,
58
- mergeState: () => mergeState,
59
62
  plainToClass: () => plainToClass,
60
63
  regisHandler: () => regisHandler,
61
64
  regisInitEvent: () => regisInitEvent,
@@ -63,59 +66,23 @@ __export(src_exports, {
63
66
  registerAsync: () => registerAsync,
64
67
  setExposeKey: () => setExposeKey,
65
68
  setIgnoreKey: () => setIgnoreKey,
66
- setModalVar: () => setModalVar,
69
+ setModelVar: () => setModelVar,
70
+ setState: () => setState,
67
71
  snapShot: () => snapShot,
68
72
  to: () => to,
69
73
  validate: () => validate
70
74
  });
71
75
  module.exports = __toCommonJS(src_exports);
72
76
 
73
- // src/utils.ts
74
- async function validate(p, v) {
75
- if (typeof p === "string" || typeof p === "number") {
76
- if (v === p)
77
- return true;
78
- }
79
- if (typeof p === "function")
80
- return p(v);
81
- if (p instanceof RegExp)
82
- return p.test(v);
83
- return false;
84
- }
85
- __name(validate, "validate");
86
- function getTag(Model) {
87
- return Model.prototype?.__TAG__;
88
- }
89
- __name(getTag, "getTag");
90
- function mergeOptions(obj1, obj2) {
91
- if (!obj2)
92
- return obj1;
93
- for (const i in obj2) {
94
- if (isObject(obj1[i]) && isObject(obj2[i])) {
95
- mergeOptions(obj1[i], obj2[i]);
96
- continue;
97
- }
98
- if (Array.isArray(obj1[i]) && Array.isArray(obj2[i])) {
99
- obj1[i].push(...obj2[i].filter((item) => !obj1[i].includes(item)));
100
- continue;
101
- }
102
- obj1[i] = obj2[i];
103
- }
104
- return obj1;
105
- }
106
- __name(mergeOptions, "mergeOptions");
107
- function isObject(obj) {
108
- return Object.prototype.toString.call(obj) === "[object Object]";
109
- }
110
- __name(isObject, "isObject");
111
-
112
77
  // src/core.ts
113
78
  function isPhecda(target) {
114
79
  return target && !!target.prototype._namespace;
115
80
  }
116
81
  __name(isPhecda, "isPhecda");
117
82
  function init(target) {
118
- if (!target._namespace) {
83
+ if (!target)
84
+ return;
85
+ if (!target.hasOwnProperty("_namespace")) {
119
86
  target._namespace = {
120
87
  __INIT_EVENT__: /* @__PURE__ */ new Set(),
121
88
  __EXPOSE_VAR__: /* @__PURE__ */ new Set(),
@@ -132,19 +99,32 @@ function regisInitEvent(target, key) {
132
99
  target._namespace.__INIT_EVENT__.add(key);
133
100
  }
134
101
  __name(regisInitEvent, "regisInitEvent");
135
- function getInitEvent(target) {
136
- init(target);
102
+ function getOwnInitEvent(target) {
103
+ if (!target?._namespace)
104
+ return [];
137
105
  return [
138
106
  ...target._namespace.__INIT_EVENT__
139
107
  ];
140
108
  }
109
+ __name(getOwnInitEvent, "getOwnInitEvent");
110
+ function getInitEvent(target) {
111
+ let proto = Object.getPrototypeOf(target);
112
+ const set = /* @__PURE__ */ new Set();
113
+ while (proto?._namespace) {
114
+ proto._namespace.__INIT_EVENT__.forEach((item) => set.add(item));
115
+ proto = Object.getPrototypeOf(proto);
116
+ }
117
+ return [
118
+ ...set
119
+ ];
120
+ }
141
121
  __name(getInitEvent, "getInitEvent");
142
- function setModalVar(target, key) {
122
+ function setModelVar(target, key) {
143
123
  init(target);
144
124
  target._namespace.__STATE_VAR__.add(key);
145
125
  setExposeKey(target, key);
146
126
  }
147
- __name(setModalVar, "setModalVar");
127
+ __name(setModelVar, "setModelVar");
148
128
  function setExposeKey(target, key) {
149
129
  init(target);
150
130
  target._namespace.__EXPOSE_VAR__.add(key);
@@ -155,27 +135,54 @@ function setIgnoreKey(target, key) {
155
135
  target._namespace.__IGNORE_VAR__.add(key);
156
136
  }
157
137
  __name(setIgnoreKey, "setIgnoreKey");
158
- function getModelState(target) {
159
- init(target);
138
+ function getOwnModelState(target) {
139
+ target = Object.getPrototypeOf(target);
160
140
  return [
161
141
  ...target._namespace.__STATE_VAR__
162
142
  ];
163
143
  }
144
+ __name(getOwnModelState, "getOwnModelState");
145
+ function getModelState(target) {
146
+ let proto = Object.getPrototypeOf(target);
147
+ const set = /* @__PURE__ */ new Set();
148
+ while (proto?._namespace) {
149
+ proto._namespace.__STATE_VAR__.forEach((item) => set.add(item));
150
+ proto = Object.getPrototypeOf(proto);
151
+ }
152
+ return [
153
+ ...set
154
+ ];
155
+ }
164
156
  __name(getModelState, "getModelState");
165
- function getExposeKey(target) {
166
- init(target);
157
+ function getOwnExposeKey(target) {
158
+ target = Object.getPrototypeOf(target);
167
159
  return [
168
160
  ...target._namespace.__EXPOSE_VAR__
169
161
  ].filter((item) => !target._namespace.__IGNORE_VAR__.has(item));
170
162
  }
163
+ __name(getOwnExposeKey, "getOwnExposeKey");
164
+ function getExposeKey(target) {
165
+ let proto = Object.getPrototypeOf(target);
166
+ const set = /* @__PURE__ */ new Set();
167
+ while (proto?._namespace) {
168
+ [
169
+ ...proto._namespace.__EXPOSE_VAR__
170
+ ].forEach((item) => !proto._namespace.__IGNORE_VAR__.has(item) && set.add(item));
171
+ proto = Object.getPrototypeOf(proto);
172
+ }
173
+ return [
174
+ ...set
175
+ ];
176
+ }
171
177
  __name(getExposeKey, "getExposeKey");
172
- function getIgnoreKey(target) {
173
- init(target);
178
+ function getOwnIgnoreKey(target) {
179
+ if (!target?._namespace)
180
+ return [];
174
181
  return [
175
182
  ...target._namespace.__IGNORE_VAR__
176
183
  ];
177
184
  }
178
- __name(getIgnoreKey, "getIgnoreKey");
185
+ __name(getOwnIgnoreKey, "getOwnIgnoreKey");
179
186
  function regisHandler(target, key, handler) {
180
187
  init(target);
181
188
  if (!target._namespace.__STATE_HANDLER__.has(key))
@@ -186,22 +193,48 @@ function regisHandler(target, key, handler) {
186
193
  target._namespace.__STATE_HANDLER__.get(key).push(handler);
187
194
  }
188
195
  __name(regisHandler, "regisHandler");
189
- function getHandler(target, key) {
196
+ function getOwnHandler(target, key) {
197
+ if (!target?._namespace)
198
+ return [];
190
199
  return target._namespace.__STATE_HANDLER__.get(key) || [];
191
200
  }
201
+ __name(getOwnHandler, "getOwnHandler");
202
+ function getHandler(target, key) {
203
+ let proto = Object.getPrototypeOf(target);
204
+ const set = /* @__PURE__ */ new Set();
205
+ while (proto?._namespace) {
206
+ proto._namespace.__STATE_HANDLER__.get(key)?.forEach((item) => set.add(item));
207
+ proto = Object.getPrototypeOf(proto);
208
+ }
209
+ return [
210
+ ...set
211
+ ];
212
+ }
192
213
  __name(getHandler, "getHandler");
193
- function mergeState(target, key, state) {
214
+ function setState(target, key, state) {
215
+ init(target);
194
216
  const namespace = target._namespace.__STATE_NAMESPACE__;
195
- if (!namespace.has(key))
196
- namespace.set(key, state);
197
- else
198
- mergeOptions(namespace.get(key), state);
217
+ namespace.set(key, state);
199
218
  }
200
- __name(mergeState, "mergeState");
219
+ __name(setState, "setState");
220
+ function getOwnState(target, key) {
221
+ target = Object.getPrototypeOf(target);
222
+ return target._namespace.__STATE_NAMESPACE__.get(key) || {};
223
+ }
224
+ __name(getOwnState, "getOwnState");
201
225
  function getState(target, key) {
202
- const namespace = target._namespace.__STATE_NAMESPACE__;
203
- if (namespace)
204
- return namespace.get(key);
226
+ let proto = Object.getPrototypeOf(target);
227
+ let ret = {};
228
+ while (proto?._namespace) {
229
+ const state = proto._namespace.__STATE_NAMESPACE__.get(key);
230
+ if (state)
231
+ ret = {
232
+ ...state,
233
+ ...ret
234
+ };
235
+ proto = Object.getPrototypeOf(proto);
236
+ }
237
+ return ret;
205
238
  }
206
239
  __name(getState, "getState");
207
240
  function register(instance) {
@@ -225,7 +258,7 @@ __name(registerAsync, "registerAsync");
225
258
 
226
259
  // src/decorators.ts
227
260
  function Init(target, key) {
228
- setModalVar(target, key);
261
+ setModelVar(target, key);
229
262
  regisHandler(target, key, {
230
263
  async init(instance) {
231
264
  instance[key]();
@@ -235,8 +268,8 @@ function Init(target, key) {
235
268
  __name(Init, "Init");
236
269
  function Bind(value) {
237
270
  return (target, k) => {
238
- setModalVar(target, k);
239
- mergeState(target, k, {
271
+ setModelVar(target, k);
272
+ setState(target, k, {
240
273
  value
241
274
  });
242
275
  };
@@ -244,7 +277,7 @@ function Bind(value) {
244
277
  __name(Bind, "Bind");
245
278
  function Rule(rule, info, meta) {
246
279
  return (obj, key) => {
247
- setModalVar(obj, key);
280
+ setModelVar(obj, key);
248
281
  regisHandler(obj, key, {
249
282
  rule,
250
283
  info,
@@ -269,7 +302,7 @@ function Clear(target, key) {
269
302
  __name(Clear, "Clear");
270
303
  function Err(cb) {
271
304
  return (target, key) => {
272
- setModalVar(target, key);
305
+ setModelVar(target, key);
273
306
  regisHandler(target, key, {
274
307
  error: cb
275
308
  });
@@ -282,7 +315,7 @@ function Expose(target, key) {
282
315
  __name(Expose, "Expose");
283
316
  function Pipe(v) {
284
317
  return (obj, key) => {
285
- setModalVar(obj, key);
318
+ setModelVar(obj, key);
286
319
  regisHandler(obj, key, {
287
320
  async pipe(instance) {
288
321
  const tasks = v.value;
@@ -302,7 +335,7 @@ __name(Tag, "Tag");
302
335
  function Assign(cb) {
303
336
  return (target) => {
304
337
  init(target.prototype);
305
- setModalVar(target.prototype, "__CLASS");
338
+ setModelVar(target.prototype, "__CLASS");
306
339
  regisHandler(target.prototype, "__CLASS", {
307
340
  init: async (instance) => {
308
341
  const value = await cb(instance);
@@ -336,6 +369,24 @@ function Inject(key) {
336
369
  }
337
370
  __name(Inject, "Inject");
338
371
 
372
+ // src/utils.ts
373
+ async function validate(p, v) {
374
+ if (typeof p === "string" || typeof p === "number") {
375
+ if (v === p)
376
+ return true;
377
+ }
378
+ if (typeof p === "function")
379
+ return p(v);
380
+ if (p instanceof RegExp)
381
+ return p.test(v);
382
+ return false;
383
+ }
384
+ __name(validate, "validate");
385
+ function getTag(Model) {
386
+ return Model.prototype?.__TAG__;
387
+ }
388
+ __name(getTag, "getTag");
389
+
339
390
  // src/helper.ts
340
391
  function getBind(Model) {
341
392
  const instance = new Model();
@@ -386,8 +437,8 @@ async function plainToClass(Model, input, options = {}) {
386
437
  __name(plainToClass, "plainToClass");
387
438
  function classToValue(instance) {
388
439
  const data = {};
389
- const exposeVar = getExposeKey(instance);
390
- for (const item of exposeVar)
440
+ const exposeVars = getExposeKey(instance);
441
+ for (const item of exposeVars)
391
442
  data[item] = instance[item];
392
443
  return data;
393
444
  }
@@ -438,7 +489,7 @@ __name(getProperty, "getProperty");
438
489
  // src/custom/decorator.ts
439
490
  function Watcher(eventName, options) {
440
491
  return (obj, key) => {
441
- setModalVar(obj, key);
492
+ setModelVar(obj, key);
442
493
  regisHandler(obj, key, {
443
494
  init(instance) {
444
495
  getProperty("watcher")?.({
@@ -454,7 +505,7 @@ function Watcher(eventName, options) {
454
505
  __name(Watcher, "Watcher");
455
506
  function Effect(eventName, options) {
456
507
  return (obj, key) => {
457
- setModalVar(obj, key);
508
+ setModelVar(obj, key);
458
509
  regisHandler(obj, key, {
459
510
  init(instance) {
460
511
  instance[`$_${key}`] = instance[key];
@@ -485,7 +536,7 @@ function Storage(storeKey) {
485
536
  init(target);
486
537
  tag = storeKey || target.__TAG__;
487
538
  const uniTag = Symbol(tag);
488
- setModalVar(target, uniTag);
539
+ setModelVar(target, uniTag);
489
540
  regisHandler(target, uniTag, {
490
541
  init: (instance) => {
491
542
  getProperty("storage")?.({
@@ -499,7 +550,7 @@ function Storage(storeKey) {
499
550
  init(target.prototype);
500
551
  tag = storeKey || `${target.prototype.__TAG__}_${key}`;
501
552
  const uniTag = Symbol(tag);
502
- setModalVar(target.prototype, uniTag);
553
+ setModelVar(target.prototype, uniTag);
503
554
  regisHandler(target.prototype, uniTag, {
504
555
  init: (instance) => {
505
556
  getProperty("storage")?.({
@@ -539,17 +590,20 @@ __name(Storage, "Storage");
539
590
  getBind,
540
591
  getExposeKey,
541
592
  getHandler,
542
- getIgnoreKey,
543
593
  getInitEvent,
544
594
  getModelState,
595
+ getOwnExposeKey,
596
+ getOwnHandler,
597
+ getOwnIgnoreKey,
598
+ getOwnInitEvent,
599
+ getOwnModelState,
600
+ getOwnState,
545
601
  getProperty,
546
602
  getState,
547
603
  getTag,
548
604
  init,
549
605
  injectProperty,
550
606
  isPhecda,
551
- mergeOptions,
552
- mergeState,
553
607
  plainToClass,
554
608
  regisHandler,
555
609
  regisInitEvent,
@@ -557,7 +611,8 @@ __name(Storage, "Storage");
557
611
  registerAsync,
558
612
  setExposeKey,
559
613
  setIgnoreKey,
560
- setModalVar,
614
+ setModelVar,
615
+ setState,
561
616
  snapShot,
562
617
  to,
563
618
  validate
package/dist/index.mjs CHANGED
@@ -1,52 +1,15 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
- // src/utils.ts
5
- async function validate(p, v) {
6
- if (typeof p === "string" || typeof p === "number") {
7
- if (v === p)
8
- return true;
9
- }
10
- if (typeof p === "function")
11
- return p(v);
12
- if (p instanceof RegExp)
13
- return p.test(v);
14
- return false;
15
- }
16
- __name(validate, "validate");
17
- function getTag(Model) {
18
- return Model.prototype?.__TAG__;
19
- }
20
- __name(getTag, "getTag");
21
- function mergeOptions(obj1, obj2) {
22
- if (!obj2)
23
- return obj1;
24
- for (const i in obj2) {
25
- if (isObject(obj1[i]) && isObject(obj2[i])) {
26
- mergeOptions(obj1[i], obj2[i]);
27
- continue;
28
- }
29
- if (Array.isArray(obj1[i]) && Array.isArray(obj2[i])) {
30
- obj1[i].push(...obj2[i].filter((item) => !obj1[i].includes(item)));
31
- continue;
32
- }
33
- obj1[i] = obj2[i];
34
- }
35
- return obj1;
36
- }
37
- __name(mergeOptions, "mergeOptions");
38
- function isObject(obj) {
39
- return Object.prototype.toString.call(obj) === "[object Object]";
40
- }
41
- __name(isObject, "isObject");
42
-
43
4
  // src/core.ts
44
5
  function isPhecda(target) {
45
6
  return target && !!target.prototype._namespace;
46
7
  }
47
8
  __name(isPhecda, "isPhecda");
48
9
  function init(target) {
49
- if (!target._namespace) {
10
+ if (!target)
11
+ return;
12
+ if (!target.hasOwnProperty("_namespace")) {
50
13
  target._namespace = {
51
14
  __INIT_EVENT__: /* @__PURE__ */ new Set(),
52
15
  __EXPOSE_VAR__: /* @__PURE__ */ new Set(),
@@ -63,19 +26,32 @@ function regisInitEvent(target, key) {
63
26
  target._namespace.__INIT_EVENT__.add(key);
64
27
  }
65
28
  __name(regisInitEvent, "regisInitEvent");
66
- function getInitEvent(target) {
67
- init(target);
29
+ function getOwnInitEvent(target) {
30
+ if (!target?._namespace)
31
+ return [];
68
32
  return [
69
33
  ...target._namespace.__INIT_EVENT__
70
34
  ];
71
35
  }
36
+ __name(getOwnInitEvent, "getOwnInitEvent");
37
+ function getInitEvent(target) {
38
+ let proto = Object.getPrototypeOf(target);
39
+ const set = /* @__PURE__ */ new Set();
40
+ while (proto?._namespace) {
41
+ proto._namespace.__INIT_EVENT__.forEach((item) => set.add(item));
42
+ proto = Object.getPrototypeOf(proto);
43
+ }
44
+ return [
45
+ ...set
46
+ ];
47
+ }
72
48
  __name(getInitEvent, "getInitEvent");
73
- function setModalVar(target, key) {
49
+ function setModelVar(target, key) {
74
50
  init(target);
75
51
  target._namespace.__STATE_VAR__.add(key);
76
52
  setExposeKey(target, key);
77
53
  }
78
- __name(setModalVar, "setModalVar");
54
+ __name(setModelVar, "setModelVar");
79
55
  function setExposeKey(target, key) {
80
56
  init(target);
81
57
  target._namespace.__EXPOSE_VAR__.add(key);
@@ -86,27 +62,54 @@ function setIgnoreKey(target, key) {
86
62
  target._namespace.__IGNORE_VAR__.add(key);
87
63
  }
88
64
  __name(setIgnoreKey, "setIgnoreKey");
89
- function getModelState(target) {
90
- init(target);
65
+ function getOwnModelState(target) {
66
+ target = Object.getPrototypeOf(target);
91
67
  return [
92
68
  ...target._namespace.__STATE_VAR__
93
69
  ];
94
70
  }
71
+ __name(getOwnModelState, "getOwnModelState");
72
+ function getModelState(target) {
73
+ let proto = Object.getPrototypeOf(target);
74
+ const set = /* @__PURE__ */ new Set();
75
+ while (proto?._namespace) {
76
+ proto._namespace.__STATE_VAR__.forEach((item) => set.add(item));
77
+ proto = Object.getPrototypeOf(proto);
78
+ }
79
+ return [
80
+ ...set
81
+ ];
82
+ }
95
83
  __name(getModelState, "getModelState");
96
- function getExposeKey(target) {
97
- init(target);
84
+ function getOwnExposeKey(target) {
85
+ target = Object.getPrototypeOf(target);
98
86
  return [
99
87
  ...target._namespace.__EXPOSE_VAR__
100
88
  ].filter((item) => !target._namespace.__IGNORE_VAR__.has(item));
101
89
  }
90
+ __name(getOwnExposeKey, "getOwnExposeKey");
91
+ function getExposeKey(target) {
92
+ let proto = Object.getPrototypeOf(target);
93
+ const set = /* @__PURE__ */ new Set();
94
+ while (proto?._namespace) {
95
+ [
96
+ ...proto._namespace.__EXPOSE_VAR__
97
+ ].forEach((item) => !proto._namespace.__IGNORE_VAR__.has(item) && set.add(item));
98
+ proto = Object.getPrototypeOf(proto);
99
+ }
100
+ return [
101
+ ...set
102
+ ];
103
+ }
102
104
  __name(getExposeKey, "getExposeKey");
103
- function getIgnoreKey(target) {
104
- init(target);
105
+ function getOwnIgnoreKey(target) {
106
+ if (!target?._namespace)
107
+ return [];
105
108
  return [
106
109
  ...target._namespace.__IGNORE_VAR__
107
110
  ];
108
111
  }
109
- __name(getIgnoreKey, "getIgnoreKey");
112
+ __name(getOwnIgnoreKey, "getOwnIgnoreKey");
110
113
  function regisHandler(target, key, handler) {
111
114
  init(target);
112
115
  if (!target._namespace.__STATE_HANDLER__.has(key))
@@ -117,22 +120,48 @@ function regisHandler(target, key, handler) {
117
120
  target._namespace.__STATE_HANDLER__.get(key).push(handler);
118
121
  }
119
122
  __name(regisHandler, "regisHandler");
120
- function getHandler(target, key) {
123
+ function getOwnHandler(target, key) {
124
+ if (!target?._namespace)
125
+ return [];
121
126
  return target._namespace.__STATE_HANDLER__.get(key) || [];
122
127
  }
128
+ __name(getOwnHandler, "getOwnHandler");
129
+ function getHandler(target, key) {
130
+ let proto = Object.getPrototypeOf(target);
131
+ const set = /* @__PURE__ */ new Set();
132
+ while (proto?._namespace) {
133
+ proto._namespace.__STATE_HANDLER__.get(key)?.forEach((item) => set.add(item));
134
+ proto = Object.getPrototypeOf(proto);
135
+ }
136
+ return [
137
+ ...set
138
+ ];
139
+ }
123
140
  __name(getHandler, "getHandler");
124
- function mergeState(target, key, state) {
141
+ function setState(target, key, state) {
142
+ init(target);
125
143
  const namespace = target._namespace.__STATE_NAMESPACE__;
126
- if (!namespace.has(key))
127
- namespace.set(key, state);
128
- else
129
- mergeOptions(namespace.get(key), state);
144
+ namespace.set(key, state);
130
145
  }
131
- __name(mergeState, "mergeState");
146
+ __name(setState, "setState");
147
+ function getOwnState(target, key) {
148
+ target = Object.getPrototypeOf(target);
149
+ return target._namespace.__STATE_NAMESPACE__.get(key) || {};
150
+ }
151
+ __name(getOwnState, "getOwnState");
132
152
  function getState(target, key) {
133
- const namespace = target._namespace.__STATE_NAMESPACE__;
134
- if (namespace)
135
- return namespace.get(key);
153
+ let proto = Object.getPrototypeOf(target);
154
+ let ret = {};
155
+ while (proto?._namespace) {
156
+ const state = proto._namespace.__STATE_NAMESPACE__.get(key);
157
+ if (state)
158
+ ret = {
159
+ ...state,
160
+ ...ret
161
+ };
162
+ proto = Object.getPrototypeOf(proto);
163
+ }
164
+ return ret;
136
165
  }
137
166
  __name(getState, "getState");
138
167
  function register(instance) {
@@ -156,7 +185,7 @@ __name(registerAsync, "registerAsync");
156
185
 
157
186
  // src/decorators.ts
158
187
  function Init(target, key) {
159
- setModalVar(target, key);
188
+ setModelVar(target, key);
160
189
  regisHandler(target, key, {
161
190
  async init(instance) {
162
191
  instance[key]();
@@ -166,8 +195,8 @@ function Init(target, key) {
166
195
  __name(Init, "Init");
167
196
  function Bind(value) {
168
197
  return (target, k) => {
169
- setModalVar(target, k);
170
- mergeState(target, k, {
198
+ setModelVar(target, k);
199
+ setState(target, k, {
171
200
  value
172
201
  });
173
202
  };
@@ -175,7 +204,7 @@ function Bind(value) {
175
204
  __name(Bind, "Bind");
176
205
  function Rule(rule, info, meta) {
177
206
  return (obj, key) => {
178
- setModalVar(obj, key);
207
+ setModelVar(obj, key);
179
208
  regisHandler(obj, key, {
180
209
  rule,
181
210
  info,
@@ -200,7 +229,7 @@ function Clear(target, key) {
200
229
  __name(Clear, "Clear");
201
230
  function Err(cb) {
202
231
  return (target, key) => {
203
- setModalVar(target, key);
232
+ setModelVar(target, key);
204
233
  regisHandler(target, key, {
205
234
  error: cb
206
235
  });
@@ -213,7 +242,7 @@ function Expose(target, key) {
213
242
  __name(Expose, "Expose");
214
243
  function Pipe(v) {
215
244
  return (obj, key) => {
216
- setModalVar(obj, key);
245
+ setModelVar(obj, key);
217
246
  regisHandler(obj, key, {
218
247
  async pipe(instance) {
219
248
  const tasks = v.value;
@@ -233,7 +262,7 @@ __name(Tag, "Tag");
233
262
  function Assign(cb) {
234
263
  return (target) => {
235
264
  init(target.prototype);
236
- setModalVar(target.prototype, "__CLASS");
265
+ setModelVar(target.prototype, "__CLASS");
237
266
  regisHandler(target.prototype, "__CLASS", {
238
267
  init: async (instance) => {
239
268
  const value = await cb(instance);
@@ -267,6 +296,24 @@ function Inject(key) {
267
296
  }
268
297
  __name(Inject, "Inject");
269
298
 
299
+ // src/utils.ts
300
+ async function validate(p, v) {
301
+ if (typeof p === "string" || typeof p === "number") {
302
+ if (v === p)
303
+ return true;
304
+ }
305
+ if (typeof p === "function")
306
+ return p(v);
307
+ if (p instanceof RegExp)
308
+ return p.test(v);
309
+ return false;
310
+ }
311
+ __name(validate, "validate");
312
+ function getTag(Model) {
313
+ return Model.prototype?.__TAG__;
314
+ }
315
+ __name(getTag, "getTag");
316
+
270
317
  // src/helper.ts
271
318
  function getBind(Model) {
272
319
  const instance = new Model();
@@ -317,8 +364,8 @@ async function plainToClass(Model, input, options = {}) {
317
364
  __name(plainToClass, "plainToClass");
318
365
  function classToValue(instance) {
319
366
  const data = {};
320
- const exposeVar = getExposeKey(instance);
321
- for (const item of exposeVar)
367
+ const exposeVars = getExposeKey(instance);
368
+ for (const item of exposeVars)
322
369
  data[item] = instance[item];
323
370
  return data;
324
371
  }
@@ -369,7 +416,7 @@ __name(getProperty, "getProperty");
369
416
  // src/custom/decorator.ts
370
417
  function Watcher(eventName, options) {
371
418
  return (obj, key) => {
372
- setModalVar(obj, key);
419
+ setModelVar(obj, key);
373
420
  regisHandler(obj, key, {
374
421
  init(instance) {
375
422
  getProperty("watcher")?.({
@@ -385,7 +432,7 @@ function Watcher(eventName, options) {
385
432
  __name(Watcher, "Watcher");
386
433
  function Effect(eventName, options) {
387
434
  return (obj, key) => {
388
- setModalVar(obj, key);
435
+ setModelVar(obj, key);
389
436
  regisHandler(obj, key, {
390
437
  init(instance) {
391
438
  instance[`$_${key}`] = instance[key];
@@ -416,7 +463,7 @@ function Storage(storeKey) {
416
463
  init(target);
417
464
  tag = storeKey || target.__TAG__;
418
465
  const uniTag = Symbol(tag);
419
- setModalVar(target, uniTag);
466
+ setModelVar(target, uniTag);
420
467
  regisHandler(target, uniTag, {
421
468
  init: (instance) => {
422
469
  getProperty("storage")?.({
@@ -430,7 +477,7 @@ function Storage(storeKey) {
430
477
  init(target.prototype);
431
478
  tag = storeKey || `${target.prototype.__TAG__}_${key}`;
432
479
  const uniTag = Symbol(tag);
433
- setModalVar(target.prototype, uniTag);
480
+ setModelVar(target.prototype, uniTag);
434
481
  regisHandler(target.prototype, uniTag, {
435
482
  init: (instance) => {
436
483
  getProperty("storage")?.({
@@ -469,17 +516,20 @@ export {
469
516
  getBind,
470
517
  getExposeKey,
471
518
  getHandler,
472
- getIgnoreKey,
473
519
  getInitEvent,
474
520
  getModelState,
521
+ getOwnExposeKey,
522
+ getOwnHandler,
523
+ getOwnIgnoreKey,
524
+ getOwnInitEvent,
525
+ getOwnModelState,
526
+ getOwnState,
475
527
  getProperty,
476
528
  getState,
477
529
  getTag,
478
530
  init,
479
531
  injectProperty,
480
532
  isPhecda,
481
- mergeOptions,
482
- mergeState,
483
533
  plainToClass,
484
534
  regisHandler,
485
535
  regisInitEvent,
@@ -487,7 +537,8 @@ export {
487
537
  registerAsync,
488
538
  setExposeKey,
489
539
  setIgnoreKey,
490
- setModalVar,
540
+ setModelVar,
541
+ setState,
491
542
  snapShot,
492
543
  to,
493
544
  validate
@@ -43,7 +43,9 @@ var Phecda = (() => {
43
43
 
44
44
  // src/core.ts
45
45
  function init(target) {
46
- if (!target._namespace) {
46
+ if (!target)
47
+ return;
48
+ if (!target.hasOwnProperty("_namespace")) {
47
49
  target._namespace = {
48
50
  __INIT_EVENT__: /* @__PURE__ */ new Set(),
49
51
  __EXPOSE_VAR__: /* @__PURE__ */ new Set(),
@@ -55,12 +57,12 @@ var Phecda = (() => {
55
57
  }
56
58
  }
57
59
  __name(init, "init");
58
- function setModalVar(target, key) {
60
+ function setModelVar(target, key) {
59
61
  init(target);
60
62
  target._namespace.__STATE_VAR__.add(key);
61
63
  setExposeKey(target, key);
62
64
  }
63
- __name(setModalVar, "setModalVar");
65
+ __name(setModelVar, "setModelVar");
64
66
  function setExposeKey(target, key) {
65
67
  init(target);
66
68
  target._namespace.__EXPOSE_VAR__.add(key);
@@ -80,7 +82,7 @@ var Phecda = (() => {
80
82
  // src/decorators.ts
81
83
  function Rule(rule, info, meta) {
82
84
  return (obj, key) => {
83
- setModalVar(obj, key);
85
+ setModelVar(obj, key);
84
86
  regisHandler(obj, key, {
85
87
  rule,
86
88
  info,
@@ -91,7 +93,7 @@ var Phecda = (() => {
91
93
  __name(Rule, "Rule");
92
94
  function Pipe(v) {
93
95
  return (obj, key) => {
94
- setModalVar(obj, key);
96
+ setModelVar(obj, key);
95
97
  regisHandler(obj, key, {
96
98
  async pipe(instance) {
97
99
  const tasks = v.value;
@@ -43,7 +43,9 @@ module.exports = __toCommonJS(preset_exports);
43
43
 
44
44
  // src/core.ts
45
45
  function init(target) {
46
- if (!target._namespace) {
46
+ if (!target)
47
+ return;
48
+ if (!target.hasOwnProperty("_namespace")) {
47
49
  target._namespace = {
48
50
  __INIT_EVENT__: /* @__PURE__ */ new Set(),
49
51
  __EXPOSE_VAR__: /* @__PURE__ */ new Set(),
@@ -55,12 +57,12 @@ function init(target) {
55
57
  }
56
58
  }
57
59
  __name(init, "init");
58
- function setModalVar(target, key) {
60
+ function setModelVar(target, key) {
59
61
  init(target);
60
62
  target._namespace.__STATE_VAR__.add(key);
61
63
  setExposeKey(target, key);
62
64
  }
63
- __name(setModalVar, "setModalVar");
65
+ __name(setModelVar, "setModelVar");
64
66
  function setExposeKey(target, key) {
65
67
  init(target);
66
68
  target._namespace.__EXPOSE_VAR__.add(key);
@@ -80,7 +82,7 @@ __name(regisHandler, "regisHandler");
80
82
  // src/decorators.ts
81
83
  function Rule(rule, info, meta) {
82
84
  return (obj, key) => {
83
- setModalVar(obj, key);
85
+ setModelVar(obj, key);
84
86
  regisHandler(obj, key, {
85
87
  rule,
86
88
  info,
@@ -91,7 +93,7 @@ function Rule(rule, info, meta) {
91
93
  __name(Rule, "Rule");
92
94
  function Pipe(v) {
93
95
  return (obj, key) => {
94
- setModalVar(obj, key);
96
+ setModelVar(obj, key);
95
97
  regisHandler(obj, key, {
96
98
  async pipe(instance) {
97
99
  const tasks = v.value;
@@ -3,7 +3,9 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3
3
 
4
4
  // src/core.ts
5
5
  function init(target) {
6
- if (!target._namespace) {
6
+ if (!target)
7
+ return;
8
+ if (!target.hasOwnProperty("_namespace")) {
7
9
  target._namespace = {
8
10
  __INIT_EVENT__: /* @__PURE__ */ new Set(),
9
11
  __EXPOSE_VAR__: /* @__PURE__ */ new Set(),
@@ -15,12 +17,12 @@ function init(target) {
15
17
  }
16
18
  }
17
19
  __name(init, "init");
18
- function setModalVar(target, key) {
20
+ function setModelVar(target, key) {
19
21
  init(target);
20
22
  target._namespace.__STATE_VAR__.add(key);
21
23
  setExposeKey(target, key);
22
24
  }
23
- __name(setModalVar, "setModalVar");
25
+ __name(setModelVar, "setModelVar");
24
26
  function setExposeKey(target, key) {
25
27
  init(target);
26
28
  target._namespace.__EXPOSE_VAR__.add(key);
@@ -40,7 +42,7 @@ __name(regisHandler, "regisHandler");
40
42
  // src/decorators.ts
41
43
  function Rule(rule, info, meta) {
42
44
  return (obj, key) => {
43
- setModalVar(obj, key);
45
+ setModelVar(obj, key);
44
46
  regisHandler(obj, key, {
45
47
  rule,
46
48
  info,
@@ -51,7 +53,7 @@ function Rule(rule, info, meta) {
51
53
  __name(Rule, "Rule");
52
54
  function Pipe(v) {
53
55
  return (obj, key) => {
54
- setModalVar(obj, key);
56
+ setModelVar(obj, key);
55
57
  regisHandler(obj, key, {
56
58
  async pipe(instance) {
57
59
  const tasks = v.value;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phecda-core",
3
- "version": "1.7.0",
3
+ "version": "2.0.0-alpha.0",
4
4
  "description": "provide base function and abstract limit to other phecda module ",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",