@tachybase/schema 0.23.40 → 0.23.47

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.
Files changed (273) hide show
  1. package/lib/core/effects/index.d.ts +2 -0
  2. package/lib/core/effects/index.js +23 -0
  3. package/lib/core/effects/onFieldEffects.d.ts +27 -0
  4. package/lib/core/effects/onFieldEffects.js +158 -0
  5. package/lib/core/effects/onFormEffects.d.ts +24 -0
  6. package/lib/core/effects/onFormEffects.js +117 -0
  7. package/lib/core/global.d.js +0 -0
  8. package/lib/core/index.d.ts +4 -0
  9. package/lib/core/index.js +27 -0
  10. package/lib/core/models/ArrayField.d.ts +17 -0
  11. package/lib/core/models/ArrayField.js +145 -0
  12. package/lib/core/models/BaseField.d.ts +72 -0
  13. package/lib/core/models/BaseField.js +285 -0
  14. package/lib/core/models/Field.d.ts +70 -0
  15. package/lib/core/models/Field.js +426 -0
  16. package/lib/core/models/Form.d.ts +102 -0
  17. package/lib/core/models/Form.js +483 -0
  18. package/lib/core/models/Graph.d.ts +8 -0
  19. package/lib/core/models/Graph.js +77 -0
  20. package/lib/core/models/Heart.d.ts +16 -0
  21. package/lib/core/models/Heart.js +91 -0
  22. package/lib/core/models/LifeCycle.d.ts +14 -0
  23. package/lib/core/models/LifeCycle.js +64 -0
  24. package/lib/core/models/ObjectField.d.ts +12 -0
  25. package/lib/core/models/ObjectField.js +64 -0
  26. package/lib/core/models/Query.d.ts +18 -0
  27. package/lib/core/models/Query.js +105 -0
  28. package/lib/core/models/VoidField.d.ts +14 -0
  29. package/lib/core/models/VoidField.js +117 -0
  30. package/lib/core/models/index.d.ts +9 -0
  31. package/lib/core/models/index.js +37 -0
  32. package/lib/core/models/types.d.ts +9 -0
  33. package/lib/core/models/types.js +15 -0
  34. package/lib/core/shared/checkers.d.ts +117 -0
  35. package/lib/core/shared/checkers.js +109 -0
  36. package/lib/core/shared/constants.d.ts +48 -0
  37. package/lib/core/shared/constants.js +86 -0
  38. package/lib/core/shared/effective.d.ts +9 -0
  39. package/lib/core/shared/effective.js +91 -0
  40. package/lib/core/shared/externals.d.ts +8 -0
  41. package/lib/core/shared/externals.js +87 -0
  42. package/lib/core/shared/internals.d.ts +54 -0
  43. package/lib/core/shared/internals.js +956 -0
  44. package/lib/core/types.d.ts +275 -0
  45. package/lib/core/types.js +76 -0
  46. package/lib/grid/index.d.ts +67 -0
  47. package/lib/grid/index.js +378 -0
  48. package/lib/grid/observer.d.ts +19 -0
  49. package/lib/grid/observer.js +107 -0
  50. package/lib/index.d.ts +12 -24
  51. package/lib/index.js +27 -244
  52. package/lib/json-schema/compiler.d.ts +8 -0
  53. package/lib/json-schema/compiler.js +129 -0
  54. package/lib/json-schema/global.d.js +0 -0
  55. package/lib/json-schema/index.d.ts +2 -0
  56. package/lib/json-schema/index.js +23 -0
  57. package/lib/json-schema/patches.d.ts +5 -0
  58. package/lib/json-schema/patches.js +68 -0
  59. package/lib/json-schema/polyfills/SPECIFICATION_1_0.d.ts +2 -0
  60. package/lib/json-schema/polyfills/SPECIFICATION_1_0.js +132 -0
  61. package/lib/json-schema/polyfills/index.d.ts +1 -0
  62. package/lib/json-schema/polyfills/index.js +21 -0
  63. package/lib/json-schema/schema.d.ts +88 -0
  64. package/lib/json-schema/schema.js +231 -0
  65. package/lib/json-schema/shared.d.ts +62 -0
  66. package/lib/json-schema/shared.js +232 -0
  67. package/lib/json-schema/transformer.d.ts +4 -0
  68. package/lib/json-schema/transformer.js +238 -0
  69. package/lib/json-schema/types.d.ts +119 -0
  70. package/lib/json-schema/types.js +15 -0
  71. package/lib/path/contexts.d.ts +10 -0
  72. package/lib/path/contexts.js +49 -0
  73. package/lib/path/destructor.d.ts +15 -0
  74. package/lib/path/destructor.js +151 -0
  75. package/lib/path/index.d.ts +51 -0
  76. package/lib/path/index.js +513 -0
  77. package/lib/path/matcher.d.ts +33 -0
  78. package/lib/path/matcher.js +197 -0
  79. package/lib/path/parser.d.ts +33 -0
  80. package/lib/path/parser.js +379 -0
  81. package/lib/path/shared.d.ts +13 -0
  82. package/lib/path/shared.js +121 -0
  83. package/lib/path/tokenizer.d.ts +27 -0
  84. package/lib/path/tokenizer.js +269 -0
  85. package/lib/path/tokens.d.ts +27 -0
  86. package/lib/path/tokens.js +216 -0
  87. package/lib/path/types.d.ts +88 -0
  88. package/lib/path/types.js +63 -0
  89. package/lib/react/components/ArrayField.d.ts +6 -0
  90. package/lib/react/components/ArrayField.js +44 -0
  91. package/lib/react/components/ExpressionScope.d.ts +2 -0
  92. package/lib/react/components/ExpressionScope.js +35 -0
  93. package/lib/react/components/Field.d.ts +5 -0
  94. package/lib/react/components/Field.js +45 -0
  95. package/lib/react/components/FormConsumer.d.ts +2 -0
  96. package/lib/react/components/FormConsumer.js +36 -0
  97. package/lib/react/components/FormProvider.d.ts +2 -0
  98. package/lib/react/components/FormProvider.js +35 -0
  99. package/lib/react/components/ObjectField.d.ts +6 -0
  100. package/lib/react/components/ObjectField.js +39 -0
  101. package/lib/react/components/ReactiveField.d.ts +11 -0
  102. package/lib/react/components/ReactiveField.js +115 -0
  103. package/lib/react/components/RecordScope.d.ts +2 -0
  104. package/lib/react/components/RecordScope.js +65 -0
  105. package/lib/react/components/RecordsScope.d.ts +2 -0
  106. package/lib/react/components/RecordsScope.js +43 -0
  107. package/lib/react/components/RecursionField.d.ts +2 -0
  108. package/lib/react/components/RecursionField.js +105 -0
  109. package/lib/react/components/SchemaField.d.ts +41 -0
  110. package/lib/react/components/SchemaField.js +154 -0
  111. package/lib/react/components/VoidField.d.ts +5 -0
  112. package/lib/react/components/VoidField.js +39 -0
  113. package/lib/react/components/index.d.ts +11 -0
  114. package/lib/react/components/index.js +41 -0
  115. package/lib/react/global.d.js +0 -0
  116. package/lib/react/hooks/index.d.ts +6 -0
  117. package/lib/react/hooks/index.js +31 -0
  118. package/lib/react/hooks/useAttach.d.ts +6 -0
  119. package/lib/react/hooks/useAttach.js +35 -0
  120. package/lib/react/hooks/useExpressionScope.d.ts +1 -0
  121. package/lib/react/hooks/useExpressionScope.js +30 -0
  122. package/lib/react/hooks/useField.d.ts +2 -0
  123. package/lib/react/hooks/useField.js +32 -0
  124. package/lib/react/hooks/useFieldSchema.d.ts +2 -0
  125. package/lib/react/hooks/useFieldSchema.js +32 -0
  126. package/lib/react/hooks/useForm.d.ts +2 -0
  127. package/lib/react/hooks/useForm.js +32 -0
  128. package/lib/react/hooks/useFormEffects.d.ts +2 -0
  129. package/lib/react/hooks/useFormEffects.js +42 -0
  130. package/lib/react/hooks/useParentForm.d.ts +2 -0
  131. package/lib/react/hooks/useParentForm.js +40 -0
  132. package/lib/react/index.d.ts +5 -0
  133. package/lib/react/index.js +29 -0
  134. package/lib/react/shared/connect.d.ts +9 -0
  135. package/lib/react/shared/connect.js +118 -0
  136. package/lib/react/shared/context.d.ts +14 -0
  137. package/lib/react/shared/context.js +74 -0
  138. package/lib/react/shared/index.d.ts +2 -0
  139. package/lib/react/shared/index.js +23 -0
  140. package/lib/react/shared/render.d.ts +2 -0
  141. package/lib/react/shared/render.js +69 -0
  142. package/lib/react/types.d.ts +84 -0
  143. package/lib/react/types.js +15 -0
  144. package/lib/reactive/action.d.ts +2 -0
  145. package/lib/reactive/action.js +48 -0
  146. package/lib/reactive/annotations/box.d.ts +7 -0
  147. package/lib/reactive/annotations/box.js +76 -0
  148. package/lib/reactive/annotations/computed.d.ts +12 -0
  149. package/lib/reactive/annotations/computed.js +154 -0
  150. package/lib/reactive/annotations/index.d.ts +5 -0
  151. package/lib/reactive/annotations/index.js +29 -0
  152. package/lib/reactive/annotations/observable.d.ts +4 -0
  153. package/lib/reactive/annotations/observable.js +67 -0
  154. package/lib/reactive/annotations/ref.d.ts +6 -0
  155. package/lib/reactive/annotations/ref.js +78 -0
  156. package/lib/reactive/annotations/shallow.d.ts +2 -0
  157. package/lib/reactive/annotations/shallow.js +67 -0
  158. package/lib/reactive/array.d.ts +12 -0
  159. package/lib/reactive/array.js +83 -0
  160. package/lib/reactive/autorun.d.ts +7 -0
  161. package/lib/reactive/autorun.js +155 -0
  162. package/lib/reactive/batch.d.ts +2 -0
  163. package/lib/reactive/batch.js +40 -0
  164. package/lib/reactive/checkers.d.ts +10 -0
  165. package/lib/reactive/checkers.js +60 -0
  166. package/lib/reactive/environment.d.ts +28 -0
  167. package/lib/reactive/environment.js +76 -0
  168. package/lib/reactive/externals.d.ts +10 -0
  169. package/lib/reactive/externals.js +156 -0
  170. package/lib/reactive/global.d.js +0 -0
  171. package/lib/reactive/handlers.d.ts +4 -0
  172. package/lib/reactive/handlers.js +246 -0
  173. package/lib/reactive/index.d.ts +10 -0
  174. package/lib/reactive/index.js +39 -0
  175. package/lib/reactive/internals.d.ts +17 -0
  176. package/lib/reactive/internals.js +139 -0
  177. package/lib/reactive/model.d.ts +3 -0
  178. package/lib/reactive/model.js +68 -0
  179. package/lib/reactive/observable.d.ts +9 -0
  180. package/lib/reactive/observable.js +50 -0
  181. package/lib/reactive/observe.d.ts +2 -0
  182. package/lib/reactive/observe.js +58 -0
  183. package/lib/reactive/reaction.d.ts +21 -0
  184. package/lib/reactive/reaction.js +278 -0
  185. package/lib/reactive/tracker.d.ts +7 -0
  186. package/lib/reactive/tracker.js +63 -0
  187. package/lib/reactive/tree.d.ts +25 -0
  188. package/lib/reactive/tree.js +106 -0
  189. package/lib/reactive/types.d.ts +79 -0
  190. package/lib/reactive/types.js +21 -0
  191. package/lib/reactive/untracked.d.ts +4 -0
  192. package/lib/reactive/untracked.js +29 -0
  193. package/lib/reactive-react/hooks/index.d.ts +9 -0
  194. package/lib/reactive-react/hooks/index.js +48 -0
  195. package/lib/reactive-react/hooks/useCompatEffect.d.ts +2 -0
  196. package/lib/reactive-react/hooks/useCompatEffect.js +60 -0
  197. package/lib/reactive-react/hooks/useCompatFactory.d.ts +3 -0
  198. package/lib/reactive-react/hooks/useCompatFactory.js +74 -0
  199. package/lib/reactive-react/hooks/useDidUpdate.d.ts +1 -0
  200. package/lib/reactive-react/hooks/useDidUpdate.js +38 -0
  201. package/lib/reactive-react/hooks/useForceUpdate.d.ts +1 -0
  202. package/lib/reactive-react/hooks/useForceUpdate.js +76 -0
  203. package/lib/reactive-react/hooks/useLayoutEffect.d.ts +2 -0
  204. package/lib/reactive-react/hooks/useLayoutEffect.js +28 -0
  205. package/lib/reactive-react/hooks/useObserver.d.ts +2 -0
  206. package/lib/reactive-react/hooks/useObserver.js +43 -0
  207. package/lib/reactive-react/index.d.ts +3 -0
  208. package/lib/reactive-react/index.js +25 -0
  209. package/lib/reactive-react/observer.d.ts +8 -0
  210. package/lib/reactive-react/observer.js +64 -0
  211. package/lib/reactive-react/shared/gc.d.ts +8 -0
  212. package/lib/reactive-react/shared/gc.js +59 -0
  213. package/lib/reactive-react/shared/global.d.ts +1 -0
  214. package/lib/reactive-react/shared/global.js +50 -0
  215. package/lib/reactive-react/shared/immediate.d.ts +1 -0
  216. package/lib/reactive-react/shared/immediate.js +40 -0
  217. package/lib/reactive-react/shared/index.d.ts +2 -0
  218. package/lib/reactive-react/shared/index.js +23 -0
  219. package/lib/reactive-react/types.d.ts +14 -0
  220. package/lib/reactive-react/types.js +15 -0
  221. package/lib/shared/array.d.ts +35 -0
  222. package/lib/shared/array.js +189 -0
  223. package/lib/shared/case.d.ts +6 -0
  224. package/lib/shared/case.js +39 -0
  225. package/lib/shared/checkers.d.ts +21 -0
  226. package/lib/shared/checkers.js +77 -0
  227. package/lib/shared/clone.d.ts +2 -0
  228. package/lib/shared/clone.js +97 -0
  229. package/lib/shared/compare.d.ts +1 -0
  230. package/lib/shared/compare.js +129 -0
  231. package/lib/shared/defaults.d.ts +6 -0
  232. package/lib/shared/defaults.js +63 -0
  233. package/lib/shared/deprecate.d.ts +1 -0
  234. package/lib/shared/deprecate.js +42 -0
  235. package/lib/shared/global.d.ts +1 -0
  236. package/lib/shared/global.js +50 -0
  237. package/lib/shared/index.d.ts +16 -0
  238. package/lib/shared/index.js +51 -0
  239. package/lib/shared/instanceof.d.ts +1 -0
  240. package/lib/shared/instanceof.js +36 -0
  241. package/lib/shared/isEmpty.d.ts +3 -0
  242. package/lib/shared/isEmpty.js +94 -0
  243. package/lib/shared/merge.d.ts +12 -0
  244. package/lib/shared/merge.js +214 -0
  245. package/lib/shared/middleware.d.ts +4 -0
  246. package/lib/shared/middleware.js +41 -0
  247. package/lib/shared/path.d.ts +3 -0
  248. package/lib/shared/path.js +27 -0
  249. package/lib/shared/string.d.ts +1 -0
  250. package/lib/shared/string.js +38 -0
  251. package/lib/shared/subscribable.d.ts +11 -0
  252. package/lib/shared/subscribable.js +74 -0
  253. package/lib/shared/uid.d.ts +1 -0
  254. package/lib/shared/uid.js +35 -0
  255. package/lib/validator/formats.d.ts +16 -0
  256. package/lib/validator/formats.js +40 -0
  257. package/lib/validator/index.d.ts +4 -0
  258. package/lib/validator/index.js +27 -0
  259. package/lib/validator/locale.d.ts +219 -0
  260. package/lib/validator/locale.js +240 -0
  261. package/lib/validator/parser.d.ts +5 -0
  262. package/lib/validator/parser.js +153 -0
  263. package/lib/validator/registry.d.ts +15 -0
  264. package/lib/validator/registry.js +116 -0
  265. package/lib/validator/rules.d.ts +3 -0
  266. package/lib/validator/rules.js +154 -0
  267. package/lib/validator/template.d.ts +2 -0
  268. package/lib/validator/template.js +42 -0
  269. package/lib/validator/types.d.ts +62 -0
  270. package/lib/validator/types.js +28 -0
  271. package/lib/validator/validator.d.ts +2 -0
  272. package/lib/validator/validator.js +63 -0
  273. package/package.json +16 -10
@@ -0,0 +1,246 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var handlers_exports = {};
20
+ __export(handlers_exports, {
21
+ baseHandlers: () => baseHandlers,
22
+ collectionHandlers: () => collectionHandlers
23
+ });
24
+ module.exports = __toCommonJS(handlers_exports);
25
+ var import_environment = require("./environment");
26
+ var import_externals = require("./externals");
27
+ var import_internals = require("./internals");
28
+ var import_reaction = require("./reaction");
29
+ const wellKnownSymbols = new Set(
30
+ Object.getOwnPropertyNames(Symbol).reduce((buf, key) => {
31
+ if (key === "arguments" || key === "caller") return buf;
32
+ const value = Symbol[key];
33
+ if (typeof value === "symbol") return buf.concat(value);
34
+ return buf;
35
+ }, [])
36
+ );
37
+ const hasOwnProperty = Object.prototype.hasOwnProperty;
38
+ function findObservable(target, key, value) {
39
+ const observableObj = import_environment.RawProxy.get(value);
40
+ if (observableObj) {
41
+ return observableObj;
42
+ }
43
+ if (!(0, import_externals.isObservable)(value) && (0, import_externals.isSupportObservable)(value)) {
44
+ return (0, import_internals.createObservable)(target, key, value);
45
+ }
46
+ return value;
47
+ }
48
+ __name(findObservable, "findObservable");
49
+ function patchIterator(target, key, iterator, isEntries) {
50
+ const originalNext = iterator.next;
51
+ iterator.next = () => {
52
+ let { done, value } = originalNext.call(iterator);
53
+ if (!done) {
54
+ if (isEntries) {
55
+ value[1] = findObservable(target, key, value[1]);
56
+ } else {
57
+ value = findObservable(target, key, value);
58
+ }
59
+ }
60
+ return { done, value };
61
+ };
62
+ return iterator;
63
+ }
64
+ __name(patchIterator, "patchIterator");
65
+ const instrumentations = {
66
+ has(key) {
67
+ const target = import_environment.ProxyRaw.get(this);
68
+ const proto = Reflect.getPrototypeOf(this);
69
+ (0, import_reaction.bindTargetKeyWithCurrentReaction)({ target, key, type: "has" });
70
+ return proto.has.apply(target, arguments);
71
+ },
72
+ get(key) {
73
+ const target = import_environment.ProxyRaw.get(this);
74
+ const proto = Reflect.getPrototypeOf(this);
75
+ (0, import_reaction.bindTargetKeyWithCurrentReaction)({ target, key, type: "get" });
76
+ return findObservable(target, key, proto.get.apply(target, arguments));
77
+ },
78
+ add(key) {
79
+ const target = import_environment.ProxyRaw.get(this);
80
+ const proto = Reflect.getPrototypeOf(this);
81
+ const hadKey = proto.has.call(target, key);
82
+ const result = proto.add.apply(target, arguments);
83
+ if (!hadKey) {
84
+ (0, import_reaction.runReactionsFromTargetKey)({ target, key, value: key, type: "add" });
85
+ }
86
+ return result;
87
+ },
88
+ set(key, value) {
89
+ const target = import_environment.ProxyRaw.get(this);
90
+ const proto = Reflect.getPrototypeOf(this);
91
+ const hadKey = proto.has.call(target, key);
92
+ const oldValue = proto.get.call(target, key);
93
+ const result = proto.set.apply(target, arguments);
94
+ if (!hadKey) {
95
+ (0, import_reaction.runReactionsFromTargetKey)({ target, key, value, type: "add" });
96
+ } else if (value !== oldValue) {
97
+ (0, import_reaction.runReactionsFromTargetKey)({ target, key, value, oldValue, type: "set" });
98
+ }
99
+ return result;
100
+ },
101
+ delete(key) {
102
+ const target = import_environment.ProxyRaw.get(this);
103
+ const proto = Reflect.getPrototypeOf(this);
104
+ const hadKey = proto.has.call(target, key);
105
+ const oldValue = proto.get ? proto.get.call(target, key) : void 0;
106
+ const result = proto.delete.apply(target, arguments);
107
+ if (hadKey) {
108
+ (0, import_reaction.runReactionsFromTargetKey)({ target, key, oldValue, type: "delete" });
109
+ }
110
+ return result;
111
+ },
112
+ clear() {
113
+ const target = import_environment.ProxyRaw.get(this);
114
+ const proto = Reflect.getPrototypeOf(this);
115
+ const hadItems = target.size !== 0;
116
+ const oldTarget = target instanceof Map ? new Map(target) : new Set(target);
117
+ const result = proto.clear.apply(target, arguments);
118
+ if (hadItems) {
119
+ (0, import_reaction.runReactionsFromTargetKey)({ target, oldTarget, type: "clear" });
120
+ }
121
+ return result;
122
+ },
123
+ forEach(cb, ...args) {
124
+ const target = import_environment.ProxyRaw.get(this);
125
+ const proto = Reflect.getPrototypeOf(this);
126
+ (0, import_reaction.bindTargetKeyWithCurrentReaction)({ target, type: "iterate" });
127
+ const wrappedCb = /* @__PURE__ */ __name((value, key, ...args2) => cb(findObservable(target, key, value), key, ...args2), "wrappedCb");
128
+ return proto.forEach.call(target, wrappedCb, ...args);
129
+ },
130
+ keys() {
131
+ const target = import_environment.ProxyRaw.get(this);
132
+ const proto = Reflect.getPrototypeOf(this);
133
+ (0, import_reaction.bindTargetKeyWithCurrentReaction)({ target, type: "iterate" });
134
+ return proto.keys.apply(target, arguments);
135
+ },
136
+ values() {
137
+ const target = import_environment.ProxyRaw.get(this);
138
+ const proto = Reflect.getPrototypeOf(this);
139
+ (0, import_reaction.bindTargetKeyWithCurrentReaction)({ target, type: "iterate" });
140
+ const iterator = proto.values.apply(target, arguments);
141
+ return patchIterator(target, "", iterator, false);
142
+ },
143
+ entries() {
144
+ const target = import_environment.ProxyRaw.get(this);
145
+ const proto = Reflect.getPrototypeOf(this);
146
+ (0, import_reaction.bindTargetKeyWithCurrentReaction)({ target, type: "iterate" });
147
+ const iterator = proto.entries.apply(target, arguments);
148
+ return patchIterator(target, "", iterator, true);
149
+ },
150
+ [Symbol.iterator]() {
151
+ const target = import_environment.ProxyRaw.get(this);
152
+ const proto = Reflect.getPrototypeOf(this);
153
+ (0, import_reaction.bindTargetKeyWithCurrentReaction)({ target, type: "iterate" });
154
+ const iterator = proto[Symbol.iterator].apply(target, arguments);
155
+ return patchIterator(target, "", iterator, target instanceof Map);
156
+ },
157
+ get size() {
158
+ const target = import_environment.ProxyRaw.get(this);
159
+ const proto = Reflect.getPrototypeOf(this);
160
+ (0, import_reaction.bindTargetKeyWithCurrentReaction)({ target, type: "iterate" });
161
+ return Reflect.get(proto, "size", target);
162
+ }
163
+ };
164
+ const collectionHandlers = {
165
+ get(target, key, receiver) {
166
+ target = hasOwnProperty.call(instrumentations, key) ? instrumentations : target;
167
+ return Reflect.get(target, key, receiver);
168
+ }
169
+ };
170
+ const baseHandlers = {
171
+ get(target, key, receiver) {
172
+ if (!key) return;
173
+ const result = target[key];
174
+ if (typeof key === "symbol" && wellKnownSymbols.has(key)) {
175
+ return result;
176
+ }
177
+ (0, import_reaction.bindTargetKeyWithCurrentReaction)({ target, key, receiver, type: "get" });
178
+ const observableResult = import_environment.RawProxy.get(result);
179
+ if (observableResult) {
180
+ return observableResult;
181
+ }
182
+ if (!(0, import_externals.isObservable)(result) && (0, import_externals.isSupportObservable)(result)) {
183
+ const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
184
+ if (!descriptor || !(descriptor.writable === false && descriptor.configurable === false)) {
185
+ return (0, import_internals.createObservable)(target, key, result);
186
+ }
187
+ }
188
+ return result;
189
+ },
190
+ has(target, key) {
191
+ const result = Reflect.has(target, key);
192
+ (0, import_reaction.bindTargetKeyWithCurrentReaction)({ target, key, type: "has" });
193
+ return result;
194
+ },
195
+ ownKeys(target) {
196
+ const keys = Reflect.ownKeys(target);
197
+ (0, import_reaction.bindTargetKeyWithCurrentReaction)({ target, type: "iterate" });
198
+ return keys;
199
+ },
200
+ set(target, key, value, receiver) {
201
+ if (key === "__proto__") {
202
+ target[key] = value;
203
+ return true;
204
+ }
205
+ const hadKey = hasOwnProperty.call(target, key);
206
+ const newValue = (0, import_internals.createObservable)(target, key, value);
207
+ const oldValue = target[key];
208
+ target[key] = newValue;
209
+ if (!hadKey) {
210
+ (0, import_reaction.runReactionsFromTargetKey)({
211
+ target,
212
+ key,
213
+ value: newValue,
214
+ oldValue,
215
+ receiver,
216
+ type: "add"
217
+ });
218
+ } else if (value !== oldValue) {
219
+ (0, import_reaction.runReactionsFromTargetKey)({
220
+ target,
221
+ key,
222
+ value: newValue,
223
+ oldValue,
224
+ receiver,
225
+ type: "set"
226
+ });
227
+ }
228
+ return true;
229
+ },
230
+ deleteProperty(target, key) {
231
+ const oldValue = target[key];
232
+ delete target[key];
233
+ (0, import_reaction.runReactionsFromTargetKey)({
234
+ target,
235
+ key,
236
+ oldValue,
237
+ type: "delete"
238
+ });
239
+ return true;
240
+ }
241
+ };
242
+ // Annotate the CommonJS export names for ESM import in node:
243
+ 0 && (module.exports = {
244
+ baseHandlers,
245
+ collectionHandlers
246
+ });
@@ -0,0 +1,10 @@
1
+ export * from './batch';
2
+ export * from './action';
3
+ export * from './untracked';
4
+ export * from './observable';
5
+ export * from './model';
6
+ export * from './autorun';
7
+ export * from './tracker';
8
+ export * from './observe';
9
+ export * from './externals';
10
+ export * from './types';
@@ -0,0 +1,39 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var reactive_exports = {};
16
+ module.exports = __toCommonJS(reactive_exports);
17
+ __reExport(reactive_exports, require("./batch"), module.exports);
18
+ __reExport(reactive_exports, require("./action"), module.exports);
19
+ __reExport(reactive_exports, require("./untracked"), module.exports);
20
+ __reExport(reactive_exports, require("./observable"), module.exports);
21
+ __reExport(reactive_exports, require("./model"), module.exports);
22
+ __reExport(reactive_exports, require("./autorun"), module.exports);
23
+ __reExport(reactive_exports, require("./tracker"), module.exports);
24
+ __reExport(reactive_exports, require("./observe"), module.exports);
25
+ __reExport(reactive_exports, require("./externals"), module.exports);
26
+ __reExport(reactive_exports, require("./types"), module.exports);
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ ...require("./batch"),
30
+ ...require("./action"),
31
+ ...require("./untracked"),
32
+ ...require("./observable"),
33
+ ...require("./model"),
34
+ ...require("./autorun"),
35
+ ...require("./tracker"),
36
+ ...require("./observe"),
37
+ ...require("./externals"),
38
+ ...require("./types")
39
+ });
@@ -0,0 +1,17 @@
1
+ import { MakeObModelSymbol } from './environment';
2
+ import { BoundaryFunction, IVisitor, PropertyKey } from './types';
3
+ export declare const createObservable: (target: any, key?: PropertyKey, value?: any, shallow?: boolean) => any;
4
+ export declare const createAnnotation: <T extends (visitor: IVisitor) => any>(maker: T) => {
5
+ (target: any): ReturnType<T>;
6
+ [MakeObModelSymbol]: T;
7
+ };
8
+ export declare const getObservableMaker: (target: any) => any;
9
+ export declare const createBoundaryFunction: (start: (...args: any) => void, end: (...args: any) => void) => {
10
+ <F extends (...args: any) => any>(fn?: F): ReturnType<F>;
11
+ bound: <F extends (...args: any[]) => any>(callback?: F, context?: any) => F;
12
+ };
13
+ export declare const createBindFunction: <Boundary extends BoundaryFunction>(boundary: Boundary) => <F extends (...args: any[]) => any>(callback?: F, context?: any) => F;
14
+ export declare const createBoundaryAnnotation: (start: (...args: any) => void, end: (...args: any) => void) => {
15
+ <F extends (...args: any) => any>(fn?: F): ReturnType<F>;
16
+ bound: <F extends (...args: any[]) => any>(callback?: F, context?: any) => F;
17
+ };
@@ -0,0 +1,139 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var internals_exports = {};
20
+ __export(internals_exports, {
21
+ createAnnotation: () => createAnnotation,
22
+ createBindFunction: () => createBindFunction,
23
+ createBoundaryAnnotation: () => createBoundaryAnnotation,
24
+ createBoundaryFunction: () => createBoundaryFunction,
25
+ createObservable: () => createObservable,
26
+ getObservableMaker: () => getObservableMaker
27
+ });
28
+ module.exports = __toCommonJS(internals_exports);
29
+ var import_checkers = require("./checkers");
30
+ var import_environment = require("./environment");
31
+ var import_externals = require("./externals");
32
+ var import_handlers = require("./handlers");
33
+ var import_tree = require("./tree");
34
+ const createNormalProxy = /* @__PURE__ */ __name((target, shallow) => {
35
+ const proxy = new Proxy(target, import_handlers.baseHandlers);
36
+ import_environment.ProxyRaw.set(proxy, target);
37
+ if (shallow) {
38
+ import_environment.RawShallowProxy.set(target, proxy);
39
+ } else {
40
+ import_environment.RawProxy.set(target, proxy);
41
+ }
42
+ return proxy;
43
+ }, "createNormalProxy");
44
+ const createCollectionProxy = /* @__PURE__ */ __name((target, shallow) => {
45
+ const proxy = new Proxy(target, import_handlers.collectionHandlers);
46
+ import_environment.ProxyRaw.set(proxy, target);
47
+ if (shallow) {
48
+ import_environment.RawShallowProxy.set(target, proxy);
49
+ } else {
50
+ import_environment.RawProxy.set(target, proxy);
51
+ }
52
+ return proxy;
53
+ }, "createCollectionProxy");
54
+ const createShallowProxy = /* @__PURE__ */ __name((target) => {
55
+ if ((0, import_checkers.isNormalType)(target)) return createNormalProxy(target, true);
56
+ if ((0, import_checkers.isCollectionType)(target)) return createCollectionProxy(target, true);
57
+ return target;
58
+ }, "createShallowProxy");
59
+ const createObservable = /* @__PURE__ */ __name((target, key, value, shallow) => {
60
+ if (typeof value !== "object") return value;
61
+ const raw = import_environment.ProxyRaw.get(value);
62
+ if (!!raw) {
63
+ const node = (0, import_tree.getDataNode)(raw);
64
+ if (!node.target) node.target = target;
65
+ node.key = key;
66
+ return value;
67
+ }
68
+ if (!(0, import_externals.isSupportObservable)(value)) return value;
69
+ if (target) {
70
+ const parentRaw = import_environment.ProxyRaw.get(target) || target;
71
+ const isShallowParent = import_environment.RawShallowProxy.get(parentRaw);
72
+ if (isShallowParent) return value;
73
+ }
74
+ (0, import_tree.buildDataTree)(target, key, value);
75
+ if (shallow) return createShallowProxy(value);
76
+ if ((0, import_checkers.isNormalType)(value)) return createNormalProxy(value);
77
+ if ((0, import_checkers.isCollectionType)(value)) return createCollectionProxy(value);
78
+ return value;
79
+ }, "createObservable");
80
+ const createAnnotation = /* @__PURE__ */ __name((maker) => {
81
+ const annotation = /* @__PURE__ */ __name((target) => {
82
+ return maker({ value: target });
83
+ }, "annotation");
84
+ if ((0, import_checkers.isFn)(maker)) {
85
+ annotation[import_environment.MakeObModelSymbol] = maker;
86
+ }
87
+ return annotation;
88
+ }, "createAnnotation");
89
+ const getObservableMaker = /* @__PURE__ */ __name((target) => {
90
+ if (target[import_environment.MakeObModelSymbol]) {
91
+ if (!target[import_environment.MakeObModelSymbol][import_environment.MakeObModelSymbol]) {
92
+ return target[import_environment.MakeObModelSymbol];
93
+ }
94
+ return getObservableMaker(target[import_environment.MakeObModelSymbol]);
95
+ }
96
+ }, "getObservableMaker");
97
+ const createBoundaryFunction = /* @__PURE__ */ __name((start, end) => {
98
+ function boundary(fn) {
99
+ let results;
100
+ try {
101
+ start();
102
+ if ((0, import_checkers.isFn)(fn)) {
103
+ results = fn();
104
+ }
105
+ } finally {
106
+ end();
107
+ }
108
+ return results;
109
+ }
110
+ __name(boundary, "boundary");
111
+ boundary.bound = createBindFunction(boundary);
112
+ return boundary;
113
+ }, "createBoundaryFunction");
114
+ const createBindFunction = /* @__PURE__ */ __name((boundary) => {
115
+ function bind(callback, context) {
116
+ return (...args) => boundary(() => callback.apply(context, args));
117
+ }
118
+ __name(bind, "bind");
119
+ return bind;
120
+ }, "createBindFunction");
121
+ const createBoundaryAnnotation = /* @__PURE__ */ __name((start, end) => {
122
+ const boundary = createBoundaryFunction(start, end);
123
+ const annotation = createAnnotation(({ target, key }) => {
124
+ target[key] = boundary.bound(target[key], target);
125
+ return target;
126
+ });
127
+ boundary[import_environment.MakeObModelSymbol] = annotation;
128
+ boundary.bound[import_environment.MakeObModelSymbol] = annotation;
129
+ return boundary;
130
+ }, "createBoundaryAnnotation");
131
+ // Annotate the CommonJS export names for ESM import in node:
132
+ 0 && (module.exports = {
133
+ createAnnotation,
134
+ createBindFunction,
135
+ createBoundaryAnnotation,
136
+ createBoundaryFunction,
137
+ createObservable,
138
+ getObservableMaker
139
+ });
@@ -0,0 +1,3 @@
1
+ import { Annotations } from './types';
2
+ export declare function define<Target extends object = any>(target: Target, annotations?: Annotations<Target>): Target;
3
+ export declare function model<Target extends object = any>(target: Target): Target;
@@ -0,0 +1,68 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var model_exports = {};
20
+ __export(model_exports, {
21
+ define: () => define,
22
+ model: () => model
23
+ });
24
+ module.exports = __toCommonJS(model_exports);
25
+ var import_action = require("./action");
26
+ var import_checkers = require("./checkers");
27
+ var import_environment = require("./environment");
28
+ var import_externals = require("./externals");
29
+ var import_internals = require("./internals");
30
+ var import_observable = require("./observable");
31
+ var import_tree = require("./tree");
32
+ function define(target, annotations) {
33
+ if ((0, import_externals.isObservable)(target)) return target;
34
+ if (!(0, import_externals.isSupportObservable)(target)) return target;
35
+ target[import_environment.ObModelSymbol] = target;
36
+ (0, import_tree.buildDataTree)(void 0, void 0, target);
37
+ for (const key in annotations) {
38
+ const annotation = annotations[key];
39
+ if ((0, import_externals.isAnnotation)(annotation)) {
40
+ (0, import_internals.getObservableMaker)(annotation)({
41
+ target,
42
+ key
43
+ });
44
+ }
45
+ }
46
+ return target;
47
+ }
48
+ __name(define, "define");
49
+ function model(target) {
50
+ const annotations = Object.keys(target || {}).reduce((buf, key) => {
51
+ const descriptor = Object.getOwnPropertyDescriptor(target, key);
52
+ if (descriptor && descriptor.get) {
53
+ buf[key] = import_observable.observable.computed;
54
+ } else if ((0, import_checkers.isFn)(target[key])) {
55
+ buf[key] = import_action.action;
56
+ } else {
57
+ buf[key] = import_observable.observable;
58
+ }
59
+ return buf;
60
+ }, {});
61
+ return define(target, annotations);
62
+ }
63
+ __name(model, "model");
64
+ // Annotate the CommonJS export names for ESM import in node:
65
+ 0 && (module.exports = {
66
+ define,
67
+ model
68
+ });
@@ -0,0 +1,9 @@
1
+ import * as annotations from './annotations';
2
+ export declare function observable<T extends object>(target: T): T;
3
+ export declare namespace observable {
4
+ var box: annotations.IBox;
5
+ var ref: annotations.IRef;
6
+ var deep: annotations.IObservable;
7
+ var shallow: annotations.IObservable;
8
+ var computed: annotations.IComputed;
9
+ }
@@ -0,0 +1,50 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var observable_exports = {};
30
+ __export(observable_exports, {
31
+ observable: () => observable
32
+ });
33
+ module.exports = __toCommonJS(observable_exports);
34
+ var annotations = __toESM(require("./annotations"));
35
+ var import_environment = require("./environment");
36
+ var import_internals = require("./internals");
37
+ function observable(target) {
38
+ return (0, import_internals.createObservable)(null, null, target);
39
+ }
40
+ __name(observable, "observable");
41
+ observable.box = annotations.box;
42
+ observable.ref = annotations.ref;
43
+ observable.deep = annotations.observable;
44
+ observable.shallow = annotations.shallow;
45
+ observable.computed = annotations.computed;
46
+ observable[import_environment.MakeObModelSymbol] = annotations.observable;
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ observable
50
+ });
@@ -0,0 +1,2 @@
1
+ import { DataChange } from './tree';
2
+ export declare const observe: (target: object, observer?: (change: DataChange) => void, deep?: boolean) => () => void;
@@ -0,0 +1,58 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var observe_exports = {};
20
+ __export(observe_exports, {
21
+ observe: () => observe
22
+ });
23
+ module.exports = __toCommonJS(observe_exports);
24
+ var import_checkers = require("./checkers");
25
+ var import_environment = require("./environment");
26
+ var import_externals = require("./externals");
27
+ var import_tree = require("./tree");
28
+ const observe = /* @__PURE__ */ __name((target, observer, deep = true) => {
29
+ const addListener = /* @__PURE__ */ __name((target2) => {
30
+ const raw = (0, import_externals.raw)(target2);
31
+ const node = (0, import_tree.getDataNode)(raw);
32
+ const listener = /* @__PURE__ */ __name((operation) => {
33
+ const targetRaw = (0, import_externals.raw)(operation.target);
34
+ const targetNode = (0, import_tree.getDataNode)(targetRaw);
35
+ if (deep) {
36
+ if (node.contains(targetNode)) {
37
+ observer(new import_tree.DataChange(operation, targetNode));
38
+ return;
39
+ }
40
+ }
41
+ if (node === targetNode || node.targetRaw === targetRaw && node.key === operation.key) {
42
+ observer(new import_tree.DataChange(operation, targetNode));
43
+ }
44
+ }, "listener");
45
+ if (node && (0, import_checkers.isFn)(observer)) {
46
+ import_environment.ObserverListeners.add(listener);
47
+ }
48
+ return () => {
49
+ import_environment.ObserverListeners.delete(listener);
50
+ };
51
+ }, "addListener");
52
+ if (target && typeof target !== "object") throw Error(`Can not observe ${typeof target} type.`);
53
+ return addListener(target);
54
+ }, "observe");
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ observe
58
+ });
@@ -0,0 +1,21 @@
1
+ import { IOperation, Reaction } from './types';
2
+ export declare const bindTargetKeyWithCurrentReaction: (operation: IOperation) => void;
3
+ export declare const bindComputedReactions: (reaction: Reaction) => void;
4
+ export declare const runReactionsFromTargetKey: (operation: IOperation) => void;
5
+ export declare const hasRunningReaction: () => boolean;
6
+ export declare const releaseBindingReactions: (reaction: Reaction) => void;
7
+ export declare const suspendComputedReactions: (current: Reaction) => void;
8
+ export declare const disposeBindingReactions: (reaction: Reaction) => void;
9
+ export declare const batchStart: () => void;
10
+ export declare const batchEnd: () => void;
11
+ export declare const batchScopeStart: () => void;
12
+ export declare const batchScopeEnd: () => void;
13
+ export declare const untrackStart: () => void;
14
+ export declare const untrackEnd: () => void;
15
+ export declare const isBatching: () => boolean;
16
+ export declare const isScopeBatching: () => boolean;
17
+ export declare const isUntracking: () => boolean;
18
+ export declare const executePendingReactions: () => void;
19
+ export declare const executeBatchEndpoints: () => void;
20
+ export declare const hasDepsChange: (newDeps: any[], oldDeps: any[]) => boolean;
21
+ export declare const disposeEffects: (reaction: Reaction) => void;