@voidhash/mimic 0.0.1 → 0.0.3

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 (278) hide show
  1. package/.turbo/turbo-build.log +257 -42
  2. package/dist/Document.cjs +152 -0
  3. package/dist/Document.d.cts +67 -0
  4. package/dist/Document.d.cts.map +1 -0
  5. package/dist/Document.d.mts +68 -0
  6. package/dist/Document.d.mts.map +1 -0
  7. package/dist/Document.mjs +147 -0
  8. package/dist/Document.mjs.map +1 -0
  9. package/dist/EffectSchema.cjs +180 -0
  10. package/dist/EffectSchema.d.cts +84 -0
  11. package/dist/EffectSchema.d.cts.map +1 -0
  12. package/dist/EffectSchema.d.mts +84 -0
  13. package/dist/EffectSchema.d.mts.map +1 -0
  14. package/dist/EffectSchema.mjs +176 -0
  15. package/dist/EffectSchema.mjs.map +1 -0
  16. package/dist/FractionalIndex.cjs +365 -0
  17. package/dist/FractionalIndex.mjs +364 -0
  18. package/dist/FractionalIndex.mjs.map +1 -0
  19. package/dist/Operation.cjs +53 -0
  20. package/dist/Operation.d.cts +39 -0
  21. package/dist/Operation.d.cts.map +1 -0
  22. package/dist/Operation.d.mts +39 -0
  23. package/dist/Operation.d.mts.map +1 -0
  24. package/dist/Operation.mjs +46 -0
  25. package/dist/Operation.mjs.map +1 -0
  26. package/dist/OperationDefinition.cjs +13 -0
  27. package/dist/OperationDefinition.d.cts +12 -0
  28. package/dist/OperationDefinition.d.cts.map +1 -0
  29. package/dist/OperationDefinition.d.mts +12 -0
  30. package/dist/OperationDefinition.d.mts.map +1 -0
  31. package/dist/OperationDefinition.mjs +13 -0
  32. package/dist/OperationDefinition.mjs.map +1 -0
  33. package/dist/OperationPath.cjs +148 -0
  34. package/dist/OperationPath.d.cts +60 -0
  35. package/dist/OperationPath.d.cts.map +1 -0
  36. package/dist/OperationPath.d.mts +60 -0
  37. package/dist/OperationPath.d.mts.map +1 -0
  38. package/dist/OperationPath.mjs +138 -0
  39. package/dist/OperationPath.mjs.map +1 -0
  40. package/dist/{Presence-gWrmGBeu.cjs → Presence.cjs} +4 -39
  41. package/dist/{Presence-N8u7Eppr.d.mts → Presence.d.cts} +2 -2
  42. package/dist/Presence.d.cts.map +1 -0
  43. package/dist/{Presence-DKKP4v5X.d.cts → Presence.d.mts} +2 -2
  44. package/dist/Presence.d.mts.map +1 -0
  45. package/dist/{Presence-DdMVKcOv.mjs → Presence.mjs} +3 -28
  46. package/dist/Presence.mjs.map +1 -0
  47. package/dist/Primitive.cjs +52 -0
  48. package/dist/Primitive.d.cts +20 -0
  49. package/dist/Primitive.d.cts.map +1 -0
  50. package/dist/Primitive.d.mts +20 -0
  51. package/dist/Primitive.d.mts.map +1 -0
  52. package/dist/Primitive.mjs +48 -0
  53. package/dist/Primitive.mjs.map +1 -0
  54. package/dist/ProxyEnvironment.cjs +34 -0
  55. package/dist/ProxyEnvironment.d.cts +31 -0
  56. package/dist/ProxyEnvironment.d.cts.map +1 -0
  57. package/dist/ProxyEnvironment.d.mts +31 -0
  58. package/dist/ProxyEnvironment.d.mts.map +1 -0
  59. package/dist/ProxyEnvironment.mjs +29 -0
  60. package/dist/ProxyEnvironment.mjs.map +1 -0
  61. package/dist/Transaction.cjs +66 -0
  62. package/dist/Transaction.d.cts +56 -0
  63. package/dist/Transaction.d.cts.map +1 -0
  64. package/dist/Transaction.d.mts +56 -0
  65. package/dist/Transaction.d.mts.map +1 -0
  66. package/dist/Transaction.mjs +58 -0
  67. package/dist/Transaction.mjs.map +1 -0
  68. package/dist/Transform.cjs +11 -0
  69. package/dist/Transform.d.cts +21 -0
  70. package/dist/Transform.d.cts.map +1 -0
  71. package/dist/Transform.d.mts +21 -0
  72. package/dist/Transform.d.mts.map +1 -0
  73. package/dist/Transform.mjs +6 -0
  74. package/dist/Transform.mjs.map +1 -0
  75. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/defineProperty.cjs +14 -0
  76. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/defineProperty.mjs +14 -0
  77. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.cjs +27 -0
  78. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.mjs +27 -0
  79. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.cjs +16 -0
  80. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.mjs +16 -0
  81. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.cjs +11 -0
  82. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.mjs +11 -0
  83. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.cjs +18 -0
  84. package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.mjs +12 -0
  85. package/dist/_virtual/rolldown_runtime.cjs +43 -0
  86. package/dist/{chunk-CLMFDpHK.mjs → _virtual/rolldown_runtime.mjs} +1 -1
  87. package/dist/client/ClientDocument.cjs +590 -0
  88. package/dist/client/ClientDocument.d.cts +161 -0
  89. package/dist/client/ClientDocument.d.cts.map +1 -0
  90. package/dist/client/ClientDocument.d.mts +162 -0
  91. package/dist/client/ClientDocument.d.mts.map +1 -0
  92. package/dist/client/ClientDocument.mjs +586 -0
  93. package/dist/client/ClientDocument.mjs.map +1 -0
  94. package/dist/client/Rebase.cjs +204 -0
  95. package/dist/client/Rebase.d.cts +87 -0
  96. package/dist/client/Rebase.d.cts.map +1 -0
  97. package/dist/client/Rebase.d.mts +88 -0
  98. package/dist/client/Rebase.d.mts.map +1 -0
  99. package/dist/client/Rebase.mjs +198 -0
  100. package/dist/client/Rebase.mjs.map +1 -0
  101. package/dist/client/StateMonitor.cjs +133 -0
  102. package/dist/client/StateMonitor.d.cts +122 -0
  103. package/dist/client/StateMonitor.d.cts.map +1 -0
  104. package/dist/client/StateMonitor.d.mts +122 -0
  105. package/dist/client/StateMonitor.d.mts.map +1 -0
  106. package/dist/client/StateMonitor.mjs +129 -0
  107. package/dist/client/StateMonitor.mjs.map +1 -0
  108. package/dist/client/Transport.cjs +11 -0
  109. package/dist/client/Transport.d.cts +237 -0
  110. package/dist/client/Transport.d.cts.map +1 -0
  111. package/dist/client/Transport.d.mts +237 -0
  112. package/dist/client/Transport.d.mts.map +1 -0
  113. package/dist/client/Transport.mjs +6 -0
  114. package/dist/client/Transport.mjs.map +1 -0
  115. package/dist/client/WebSocketTransport.cjs +396 -0
  116. package/dist/client/WebSocketTransport.d.cts +29 -0
  117. package/dist/client/WebSocketTransport.d.cts.map +1 -0
  118. package/dist/client/WebSocketTransport.d.mts +29 -0
  119. package/dist/client/WebSocketTransport.d.mts.map +1 -0
  120. package/dist/client/WebSocketTransport.mjs +392 -0
  121. package/dist/client/WebSocketTransport.mjs.map +1 -0
  122. package/dist/client/errors.cjs +135 -0
  123. package/dist/client/errors.d.cts +87 -0
  124. package/dist/client/errors.d.cts.map +1 -0
  125. package/dist/client/errors.d.mts +87 -0
  126. package/dist/client/errors.d.mts.map +1 -0
  127. package/dist/client/errors.mjs +127 -0
  128. package/dist/client/errors.mjs.map +1 -0
  129. package/dist/client/index.cjs +22 -1424
  130. package/dist/client/index.d.cts +8 -692
  131. package/dist/client/index.d.mts +8 -692
  132. package/dist/client/index.mjs +9 -1413
  133. package/dist/index.cjs +30 -2529
  134. package/dist/index.d.cts +12 -143
  135. package/dist/index.d.mts +12 -143
  136. package/dist/index.mjs +13 -2526
  137. package/dist/primitives/Array.cjs +302 -0
  138. package/dist/primitives/Array.d.cts +95 -0
  139. package/dist/primitives/Array.d.cts.map +1 -0
  140. package/dist/primitives/Array.d.mts +95 -0
  141. package/dist/primitives/Array.d.mts.map +1 -0
  142. package/dist/primitives/Array.mjs +301 -0
  143. package/dist/primitives/Array.mjs.map +1 -0
  144. package/dist/primitives/Boolean.cjs +95 -0
  145. package/dist/primitives/Boolean.d.cts +44 -0
  146. package/dist/primitives/Boolean.d.cts.map +1 -0
  147. package/dist/primitives/Boolean.d.mts +44 -0
  148. package/dist/primitives/Boolean.d.mts.map +1 -0
  149. package/dist/primitives/Boolean.mjs +94 -0
  150. package/dist/primitives/Boolean.mjs.map +1 -0
  151. package/dist/primitives/Either.cjs +200 -0
  152. package/dist/primitives/Either.d.cts +113 -0
  153. package/dist/primitives/Either.d.cts.map +1 -0
  154. package/dist/primitives/Either.d.mts +113 -0
  155. package/dist/primitives/Either.d.mts.map +1 -0
  156. package/dist/primitives/Either.mjs +199 -0
  157. package/dist/primitives/Either.mjs.map +1 -0
  158. package/dist/primitives/Lazy.cjs +46 -0
  159. package/dist/primitives/Lazy.d.cts +46 -0
  160. package/dist/primitives/Lazy.d.cts.map +1 -0
  161. package/dist/primitives/Lazy.d.mts +46 -0
  162. package/dist/primitives/Lazy.d.mts.map +1 -0
  163. package/dist/primitives/Lazy.mjs +46 -0
  164. package/dist/primitives/Lazy.mjs.map +1 -0
  165. package/dist/primitives/Literal.cjs +91 -0
  166. package/dist/primitives/Literal.d.cts +46 -0
  167. package/dist/primitives/Literal.d.cts.map +1 -0
  168. package/dist/primitives/Literal.d.mts +46 -0
  169. package/dist/primitives/Literal.d.mts.map +1 -0
  170. package/dist/primitives/Literal.mjs +90 -0
  171. package/dist/primitives/Literal.mjs.map +1 -0
  172. package/dist/primitives/Number.cjs +115 -0
  173. package/dist/primitives/Number.d.cts +54 -0
  174. package/dist/primitives/Number.d.cts.map +1 -0
  175. package/dist/primitives/Number.d.mts +54 -0
  176. package/dist/primitives/Number.d.mts.map +1 -0
  177. package/dist/primitives/Number.mjs +114 -0
  178. package/dist/primitives/Number.mjs.map +1 -0
  179. package/dist/primitives/String.cjs +127 -0
  180. package/dist/primitives/String.d.cts +56 -0
  181. package/dist/primitives/String.d.cts.map +1 -0
  182. package/dist/primitives/String.d.mts +56 -0
  183. package/dist/primitives/String.d.mts.map +1 -0
  184. package/dist/primitives/String.mjs +126 -0
  185. package/dist/primitives/String.mjs.map +1 -0
  186. package/dist/primitives/Struct.cjs +207 -0
  187. package/dist/primitives/Struct.d.cts +96 -0
  188. package/dist/primitives/Struct.d.cts.map +1 -0
  189. package/dist/primitives/Struct.d.mts +97 -0
  190. package/dist/primitives/Struct.d.mts.map +1 -0
  191. package/dist/primitives/Struct.mjs +206 -0
  192. package/dist/primitives/Struct.mjs.map +1 -0
  193. package/dist/primitives/Tree.cjs +575 -0
  194. package/dist/primitives/Tree.d.cts +185 -0
  195. package/dist/primitives/Tree.d.cts.map +1 -0
  196. package/dist/primitives/Tree.d.mts +185 -0
  197. package/dist/primitives/Tree.d.mts.map +1 -0
  198. package/dist/primitives/Tree.mjs +574 -0
  199. package/dist/primitives/Tree.mjs.map +1 -0
  200. package/dist/primitives/TreeNode.cjs +73 -0
  201. package/dist/primitives/TreeNode.d.cts +92 -0
  202. package/dist/primitives/TreeNode.d.cts.map +1 -0
  203. package/dist/primitives/TreeNode.d.mts +93 -0
  204. package/dist/primitives/TreeNode.d.mts.map +1 -0
  205. package/dist/primitives/TreeNode.mjs +72 -0
  206. package/dist/primitives/TreeNode.mjs.map +1 -0
  207. package/dist/primitives/Union.cjs +170 -0
  208. package/dist/primitives/Union.d.cts +81 -0
  209. package/dist/primitives/Union.d.cts.map +1 -0
  210. package/dist/primitives/Union.d.mts +81 -0
  211. package/dist/primitives/Union.d.mts.map +1 -0
  212. package/dist/primitives/Union.mjs +169 -0
  213. package/dist/primitives/Union.mjs.map +1 -0
  214. package/dist/primitives/shared.cjs +60 -0
  215. package/dist/primitives/shared.d.cts +147 -0
  216. package/dist/primitives/shared.d.cts.map +1 -0
  217. package/dist/primitives/shared.d.mts +147 -0
  218. package/dist/primitives/shared.d.mts.map +1 -0
  219. package/dist/primitives/shared.mjs +58 -0
  220. package/dist/primitives/shared.mjs.map +1 -0
  221. package/dist/server/ServerDocument.cjs +110 -0
  222. package/dist/server/ServerDocument.d.cts +98 -0
  223. package/dist/server/ServerDocument.d.cts.map +1 -0
  224. package/dist/server/ServerDocument.d.mts +99 -0
  225. package/dist/server/ServerDocument.d.mts.map +1 -0
  226. package/dist/server/ServerDocument.mjs +106 -0
  227. package/dist/server/ServerDocument.mjs.map +1 -0
  228. package/dist/server/errors.cjs +85 -0
  229. package/dist/server/errors.d.cts +53 -0
  230. package/dist/server/errors.d.cts.map +1 -0
  231. package/dist/server/errors.d.mts +53 -0
  232. package/dist/server/errors.d.mts.map +1 -0
  233. package/dist/server/errors.mjs +81 -0
  234. package/dist/server/errors.mjs.map +1 -0
  235. package/dist/server/index.cjs +9 -185
  236. package/dist/server/index.d.cts +3 -148
  237. package/dist/server/index.d.mts +3 -148
  238. package/dist/server/index.mjs +3 -181
  239. package/dist/types/index.cjs +16 -0
  240. package/dist/types/index.d.cts +16 -0
  241. package/dist/types/index.d.cts.map +1 -0
  242. package/dist/types/index.d.mts +16 -0
  243. package/dist/types/index.d.mts.map +1 -0
  244. package/dist/types/index.mjs +12 -0
  245. package/dist/types/index.mjs.map +1 -0
  246. package/dist/utils/tree-helpers.cjs +443 -0
  247. package/dist/utils/tree-helpers.d.cts +280 -0
  248. package/dist/utils/tree-helpers.d.cts.map +1 -0
  249. package/dist/utils/tree-helpers.d.mts +280 -0
  250. package/dist/utils/tree-helpers.d.mts.map +1 -0
  251. package/dist/utils/tree-helpers.mjs +439 -0
  252. package/dist/utils/tree-helpers.mjs.map +1 -0
  253. package/package.json +2 -2
  254. package/src/index.ts +2 -0
  255. package/src/primitives/shared.ts +7 -1
  256. package/src/types/index.ts +137 -0
  257. package/src/utils/index.ts +7 -0
  258. package/src/utils/tree-helpers.ts +648 -0
  259. package/tsdown.config.ts +1 -1
  260. package/dist/Document-ChuFrTk1.cjs +0 -571
  261. package/dist/Document-CwiAFTIq.mjs +0 -438
  262. package/dist/Document-CwiAFTIq.mjs.map +0 -1
  263. package/dist/Presence-DKKP4v5X.d.cts.map +0 -1
  264. package/dist/Presence-DdMVKcOv.mjs.map +0 -1
  265. package/dist/Presence-N8u7Eppr.d.mts.map +0 -1
  266. package/dist/Primitive-CvFVxR8_.d.cts +0 -1175
  267. package/dist/Primitive-CvFVxR8_.d.cts.map +0 -1
  268. package/dist/Primitive-lEhQyGVL.d.mts +0 -1175
  269. package/dist/Primitive-lEhQyGVL.d.mts.map +0 -1
  270. package/dist/client/index.d.cts.map +0 -1
  271. package/dist/client/index.d.mts.map +0 -1
  272. package/dist/client/index.mjs.map +0 -1
  273. package/dist/index.d.cts.map +0 -1
  274. package/dist/index.d.mts.map +0 -1
  275. package/dist/index.mjs.map +0 -1
  276. package/dist/server/index.d.cts.map +0 -1
  277. package/dist/server/index.d.mts.map +0 -1
  278. package/dist/server/index.mjs.map +0 -1
@@ -0,0 +1,16 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_TreeNode = require('../primitives/TreeNode.cjs');
3
+
4
+ //#region src/types/index.ts
5
+ var types_exports = /* @__PURE__ */ require_rolldown_runtime.__export({
6
+ TreeNodePrimitive: () => require_TreeNode.TreeNodePrimitive,
7
+ TreeNodeSelf: () => require_TreeNode.TreeNodeSelf
8
+ });
9
+
10
+ //#endregion
11
+ Object.defineProperty(exports, 'types_exports', {
12
+ enumerable: true,
13
+ get: function () {
14
+ return types_exports;
15
+ }
16
+ });
@@ -0,0 +1,16 @@
1
+ import { AnyPrimitive, HasDefault, InferProxy, InferSetInput, InferSnapshot, InferState, InferUpdateInput, IsDefined, IsRequired, MaybeUndefined, NeedsValue, Optional, Primitive, PrimitiveInternal, Validator } from "../primitives/shared.cjs";
2
+ import { InferStructSnapshot, InferStructState, StructProxy, StructSetInput, StructUpdateValue } from "../primitives/Struct.cjs";
3
+ import { ArrayElementSetInput, ArrayEntry, ArrayEntrySnapshot, ArrayProxy, ArraySetInput, ArraySnapshot, ArrayState, ArrayUpdateInput } from "../primitives/Array.cjs";
4
+ import { InferLazyProxy, InferLazySetInput, InferLazySnapshot, InferLazyState, InferLazyUpdateInput } from "../primitives/Lazy.cjs";
5
+ import { InferUnionSnapshot, InferUnionState, UnionVariants } from "../primitives/Union.cjs";
6
+ import { InferEitherSnapshot, InferEitherState, ScalarPrimitive } from "../primitives/Either.cjs";
7
+ import { AnyTreeNodePrimitive, InferTreeNodeChildren, InferTreeNodeDataState, InferTreeNodeType, TreeNodeChildrenInput, TreeNodeConfig, TreeNodePrimitive, TreeNodeSelf, TreeNodeSelfType } from "../primitives/TreeNode.cjs";
8
+ import { InferTreeSnapshot, TreeNodeDataSetInput, TreeNodeProxyBase, TreeNodeSnapshot, TreeNodeState, TreeNodeUpdateValue, TreeProxy, TreeSetInput, TreeState, TreeUpdateInput, TypedNodeProxy, TypedTreeNodeState } from "../primitives/Tree.cjs";
9
+
10
+ //#region src/types/index.d.ts
11
+ declare namespace index_d_exports {
12
+ export { AnyPrimitive, AnyTreeNodePrimitive, ArrayElementSetInput, ArrayEntry, ArrayEntrySnapshot, ArrayProxy, ArraySetInput, ArraySnapshot, ArrayState, ArrayUpdateInput, HasDefault, InferEitherSnapshot, InferEitherState, InferLazyProxy, InferLazySetInput, InferLazySnapshot, InferLazyState, InferLazyUpdateInput, InferProxy, InferSetInput, InferSnapshot, InferState, InferStructSnapshot, InferStructState, InferTreeNodeChildren, InferTreeNodeDataState, InferTreeNodeType, InferTreeSnapshot, InferUnionSnapshot, InferUnionState, InferUpdateInput, IsDefined, IsRequired, MaybeUndefined, NeedsValue, Optional, Primitive, PrimitiveInternal, ScalarPrimitive, StructProxy, StructSetInput, StructUpdateValue, TreeNodeChildrenInput, TreeNodeConfig, TreeNodeDataSetInput, TreeNodePrimitive, TreeNodeProxyBase, TreeNodeSelf, TreeNodeSelfType, TreeNodeSnapshot, TreeNodeState, TreeNodeUpdateValue, TreeProxy, TreeSetInput, TreeState, TreeUpdateInput, TypedNodeProxy, TypedTreeNodeState, UnionVariants, Validator };
13
+ }
14
+ //#endregion
15
+ export { index_d_exports };
16
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/types/index.ts"],"sourcesContent":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { AnyPrimitive, HasDefault, InferProxy, InferSetInput, InferSnapshot, InferState, InferUpdateInput, IsDefined, IsRequired, MaybeUndefined, NeedsValue, Optional, Primitive, PrimitiveInternal, Validator } from "../primitives/shared.mjs";
2
+ import { InferStructSnapshot, InferStructState, StructProxy, StructSetInput, StructUpdateValue } from "../primitives/Struct.mjs";
3
+ import { ArrayElementSetInput, ArrayEntry, ArrayEntrySnapshot, ArrayProxy, ArraySetInput, ArraySnapshot, ArrayState, ArrayUpdateInput } from "../primitives/Array.mjs";
4
+ import { InferLazyProxy, InferLazySetInput, InferLazySnapshot, InferLazyState, InferLazyUpdateInput } from "../primitives/Lazy.mjs";
5
+ import { InferUnionSnapshot, InferUnionState, UnionVariants } from "../primitives/Union.mjs";
6
+ import { InferEitherSnapshot, InferEitherState, ScalarPrimitive } from "../primitives/Either.mjs";
7
+ import { AnyTreeNodePrimitive, InferTreeNodeChildren, InferTreeNodeDataState, InferTreeNodeType, TreeNodeChildrenInput, TreeNodeConfig, TreeNodePrimitive, TreeNodeSelf, TreeNodeSelfType } from "../primitives/TreeNode.mjs";
8
+ import { InferTreeSnapshot, TreeNodeDataSetInput, TreeNodeProxyBase, TreeNodeSnapshot, TreeNodeState, TreeNodeUpdateValue, TreeProxy, TreeSetInput, TreeState, TreeUpdateInput, TypedNodeProxy, TypedTreeNodeState } from "../primitives/Tree.mjs";
9
+
10
+ //#region src/types/index.d.ts
11
+ declare namespace index_d_exports {
12
+ export { AnyPrimitive, AnyTreeNodePrimitive, ArrayElementSetInput, ArrayEntry, ArrayEntrySnapshot, ArrayProxy, ArraySetInput, ArraySnapshot, ArrayState, ArrayUpdateInput, HasDefault, InferEitherSnapshot, InferEitherState, InferLazyProxy, InferLazySetInput, InferLazySnapshot, InferLazyState, InferLazyUpdateInput, InferProxy, InferSetInput, InferSnapshot, InferState, InferStructSnapshot, InferStructState, InferTreeNodeChildren, InferTreeNodeDataState, InferTreeNodeType, InferTreeSnapshot, InferUnionSnapshot, InferUnionState, InferUpdateInput, IsDefined, IsRequired, MaybeUndefined, NeedsValue, Optional, Primitive, PrimitiveInternal, ScalarPrimitive, StructProxy, StructSetInput, StructUpdateValue, TreeNodeChildrenInput, TreeNodeConfig, TreeNodeDataSetInput, TreeNodePrimitive, TreeNodeProxyBase, TreeNodeSelf, TreeNodeSelfType, TreeNodeSnapshot, TreeNodeState, TreeNodeUpdateValue, TreeProxy, TreeSetInput, TreeState, TreeUpdateInput, TypedNodeProxy, TypedTreeNodeState, UnionVariants, Validator };
13
+ }
14
+ //#endregion
15
+ export { index_d_exports };
16
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/types/index.ts"],"sourcesContent":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { __export } from "../_virtual/rolldown_runtime.mjs";
2
+ import { TreeNodePrimitive, TreeNodeSelf } from "../primitives/TreeNode.mjs";
3
+
4
+ //#region src/types/index.ts
5
+ var types_exports = /* @__PURE__ */ __export({
6
+ TreeNodePrimitive: () => TreeNodePrimitive,
7
+ TreeNodeSelf: () => TreeNodeSelf
8
+ });
9
+
10
+ //#endregion
11
+ export { types_exports };
12
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/types/index.ts"],"sourcesContent":["/**\n * Consolidated type inference utilities for all primitives.\n *\n * This module re-exports all inference types from a single location\n * for convenient access across the mimic package.\n *\n * @since 0.0.1\n */\n\n// =============================================================================\n// Core Inference Types (from shared.ts)\n// =============================================================================\n\nexport type {\n // Core primitive types\n Primitive,\n AnyPrimitive,\n PrimitiveInternal,\n\n // State and proxy inference\n InferState,\n InferProxy,\n\n // Input inference\n InferSetInput,\n InferUpdateInput,\n\n // Snapshot inference\n InferSnapshot,\n\n // Required/default status inference\n HasDefault,\n IsDefined,\n IsRequired,\n\n // Utility types\n MaybeUndefined,\n NeedsValue,\n Optional,\n\n // Validator type\n Validator,\n} from \"../primitives/shared.js\";\n\n// =============================================================================\n// Struct Inference Types\n// =============================================================================\n\nexport type {\n InferStructState,\n InferStructSnapshot,\n StructSetInput,\n StructUpdateValue,\n StructProxy,\n} from \"../primitives/Struct.js\";\n\n// =============================================================================\n// Array Inference Types\n// =============================================================================\n\nexport type {\n ArrayState,\n ArraySnapshot,\n ArrayEntrySnapshot,\n ArrayEntry,\n ArraySetInput,\n ArrayUpdateInput,\n ArrayElementSetInput,\n ArrayProxy,\n} from \"../primitives/Array.js\";\n\n// =============================================================================\n// Tree Inference Types\n// =============================================================================\n\nexport type {\n TreeState,\n TreeNodeState,\n TypedTreeNodeState,\n TreeNodeSnapshot,\n InferTreeSnapshot,\n TreeSetInput,\n TreeUpdateInput,\n TreeNodeUpdateValue,\n TreeNodeDataSetInput,\n TreeProxy,\n TypedNodeProxy,\n TreeNodeProxyBase,\n} from \"../primitives/Tree.js\";\n\n// =============================================================================\n// TreeNode Inference Types\n// =============================================================================\n\nexport type {\n AnyTreeNodePrimitive,\n InferTreeNodeDataState,\n InferTreeNodeType,\n InferTreeNodeChildren,\n TreeNodeSelfType,\n TreeNodeConfig,\n TreeNodeChildrenInput,\n} from \"../primitives/TreeNode.js\";\n\nexport { TreeNodePrimitive, TreeNodeSelf } from \"../primitives/TreeNode.js\";\n\n// =============================================================================\n// Union Inference Types\n// =============================================================================\n\nexport type {\n InferUnionState,\n InferUnionSnapshot,\n UnionVariants,\n} from \"../primitives/Union.js\";\n\n// =============================================================================\n// Either Inference Types\n// =============================================================================\n\nexport type {\n InferEitherState,\n InferEitherSnapshot,\n ScalarPrimitive,\n} from \"../primitives/Either.js\";\n\n// =============================================================================\n// Lazy Inference Types\n// =============================================================================\n\nexport type {\n InferLazyState,\n InferLazyProxy,\n InferLazySnapshot,\n InferLazySetInput,\n InferLazyUpdateInput,\n} from \"../primitives/Lazy.js\";\n"],"mappings":""}
@@ -0,0 +1,443 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+
3
+ //#region src/utils/tree-helpers.ts
4
+ var tree_helpers_exports = /* @__PURE__ */ require_rolldown_runtime.__export({
5
+ buildNodeTypeMap: () => buildNodeTypeMap,
6
+ canAddChildType: () => canAddChildType,
7
+ findNode: () => findNode,
8
+ findNodeById: () => findNodeById,
9
+ findNodeWithPath: () => findNodeWithPath,
10
+ findNodes: () => findNodes,
11
+ flattenTree: () => flattenTree,
12
+ getAllNodeTypes: () => getAllNodeTypes,
13
+ getAllowedChildTypes: () => getAllowedChildTypes,
14
+ getAllowedChildTypesForNode: () => getAllowedChildTypesForNode,
15
+ getAncestors: () => getAncestors,
16
+ getDescendants: () => getDescendants,
17
+ getNodeDepth: () => getNodeDepth,
18
+ getNodePrimitive: () => getNodePrimitive,
19
+ getNodeTypeByName: () => getNodeTypeByName,
20
+ getParent: () => getParent,
21
+ getSiblings: () => getSiblings,
22
+ getSubtree: () => getSubtree,
23
+ isAncestorOf: () => isAncestorOf,
24
+ isChildTypeAllowed: () => isChildTypeAllowed,
25
+ mapTree: () => mapTree,
26
+ traverse: () => traverse
27
+ });
28
+ /**
29
+ * Find a node by ID in a tree snapshot.
30
+ *
31
+ * @param snapshot - The root tree snapshot
32
+ * @param id - The node ID to find
33
+ * @returns The node snapshot if found, undefined otherwise
34
+ */
35
+ function findNodeById(snapshot, id) {
36
+ if (!snapshot) return void 0;
37
+ if (snapshot.id === id) return snapshot;
38
+ for (const child of snapshot.children) {
39
+ const found = findNodeById(child, id);
40
+ if (found) return found;
41
+ }
42
+ }
43
+ /**
44
+ * Find a node by ID with full path information.
45
+ *
46
+ * @param snapshot - The root tree snapshot
47
+ * @param id - The node ID to find
48
+ * @returns NodeSearchResult with node, path, and depth, or undefined if not found
49
+ */
50
+ function findNodeWithPath(snapshot, id) {
51
+ if (!snapshot) return void 0;
52
+ const search = (node, currentPath, depth) => {
53
+ const path = [...currentPath, node.id];
54
+ if (node.id === id) return {
55
+ node,
56
+ path,
57
+ depth
58
+ };
59
+ for (const child of node.children) {
60
+ const result = search(child, path, depth + 1);
61
+ if (result) return result;
62
+ }
63
+ };
64
+ return search(snapshot, [], 0);
65
+ }
66
+ /**
67
+ * Get the parent node of a given node ID.
68
+ *
69
+ * @param snapshot - The root tree snapshot
70
+ * @param nodeId - The ID of the node whose parent we want
71
+ * @returns ParentSearchResult with parent node and child index, or undefined
72
+ */
73
+ function getParent(snapshot, nodeId) {
74
+ if (!snapshot) return void 0;
75
+ for (let i = 0; i < snapshot.children.length; i++) {
76
+ const child = snapshot.children[i];
77
+ if (child && child.id === nodeId) return {
78
+ parent: snapshot,
79
+ childIndex: i
80
+ };
81
+ }
82
+ for (const child of snapshot.children) {
83
+ const result = getParent(child, nodeId);
84
+ if (result) return result;
85
+ }
86
+ }
87
+ /**
88
+ * Get a subtree rooted at a specific node ID.
89
+ *
90
+ * @param snapshot - The root tree snapshot
91
+ * @param nodeId - The ID of the node to use as new root
92
+ * @returns The subtree snapshot, or undefined if node not found
93
+ */
94
+ function getSubtree(snapshot, nodeId) {
95
+ return findNodeById(snapshot, nodeId);
96
+ }
97
+ /**
98
+ * Get all ancestor nodes from a node up to the root.
99
+ *
100
+ * @param snapshot - The root tree snapshot
101
+ * @param nodeId - The ID of the node
102
+ * @returns Array of ancestor snapshots from immediate parent to root, or empty array
103
+ */
104
+ function getAncestors(snapshot, nodeId) {
105
+ if (!snapshot) return [];
106
+ const result = findNodeWithPath(snapshot, nodeId);
107
+ if (!result || result.path.length <= 1) return [];
108
+ const ancestorIds = result.path.slice(0, -1);
109
+ const ancestors = [];
110
+ for (let i = ancestorIds.length - 1; i >= 0; i--) {
111
+ const id = ancestorIds[i];
112
+ if (id) {
113
+ const ancestor = findNodeById(snapshot, id);
114
+ if (ancestor) ancestors.push(ancestor);
115
+ }
116
+ }
117
+ return ancestors;
118
+ }
119
+ /**
120
+ * Get all descendant nodes of a given node (flat array).
121
+ *
122
+ * @param snapshot - The root tree snapshot
123
+ * @param nodeId - The ID of the node (if undefined, returns all descendants of root)
124
+ * @returns Flat array of all descendant node snapshots
125
+ */
126
+ function getDescendants(snapshot, nodeId) {
127
+ if (!snapshot) return [];
128
+ const startNode = nodeId ? findNodeById(snapshot, nodeId) : snapshot;
129
+ if (!startNode) return [];
130
+ const descendants = [];
131
+ const collect = (node) => {
132
+ for (const child of node.children) {
133
+ descendants.push(child);
134
+ collect(child);
135
+ }
136
+ };
137
+ collect(startNode);
138
+ return descendants;
139
+ }
140
+ /**
141
+ * Get siblings of a node (nodes with the same parent).
142
+ *
143
+ * @param snapshot - The root tree snapshot
144
+ * @param nodeId - The ID of the node
145
+ * @param includeSelf - Whether to include the node itself (default: false)
146
+ * @returns Array of sibling snapshots
147
+ */
148
+ function getSiblings(snapshot, nodeId, includeSelf = false) {
149
+ if (!snapshot) return [];
150
+ const parentResult = getParent(snapshot, nodeId);
151
+ if (!parentResult) return [];
152
+ const siblings = parentResult.parent.children;
153
+ if (includeSelf) return siblings;
154
+ return siblings.filter((s) => s.id !== nodeId);
155
+ }
156
+ /**
157
+ * Find the first node matching a predicate.
158
+ *
159
+ * @param snapshot - The root tree snapshot
160
+ * @param predicate - Function to test each node
161
+ * @returns First matching node snapshot, or undefined
162
+ */
163
+ function findNode(snapshot, predicate) {
164
+ if (!snapshot) return void 0;
165
+ if (predicate(snapshot)) return snapshot;
166
+ for (const child of snapshot.children) {
167
+ const found = findNode(child, predicate);
168
+ if (found) return found;
169
+ }
170
+ }
171
+ /**
172
+ * Find all nodes matching a predicate.
173
+ *
174
+ * @param snapshot - The root tree snapshot
175
+ * @param predicate - Function to test each node
176
+ * @returns Array of matching node snapshots
177
+ */
178
+ function findNodes(snapshot, predicate) {
179
+ if (!snapshot) return [];
180
+ const results = [];
181
+ const search = (node) => {
182
+ if (predicate(node)) results.push(node);
183
+ for (const child of node.children) search(child);
184
+ };
185
+ search(snapshot);
186
+ return results;
187
+ }
188
+ /**
189
+ * Get the depth of a specific node (0 = root).
190
+ *
191
+ * @param snapshot - The root tree snapshot
192
+ * @param nodeId - The ID of the node
193
+ * @returns The depth, or -1 if not found
194
+ */
195
+ function getNodeDepth(snapshot, nodeId) {
196
+ if (!snapshot) return -1;
197
+ const result = findNodeWithPath(snapshot, nodeId);
198
+ return result ? result.depth : -1;
199
+ }
200
+ /**
201
+ * Check if one node is an ancestor of another.
202
+ *
203
+ * @param snapshot - The root tree snapshot
204
+ * @param ancestorId - Potential ancestor node ID
205
+ * @param descendantId - Potential descendant node ID
206
+ * @returns true if ancestorId is an ancestor of descendantId
207
+ */
208
+ function isAncestorOf(snapshot, ancestorId, descendantId) {
209
+ if (!snapshot) return false;
210
+ const result = findNodeWithPath(snapshot, descendantId);
211
+ if (!result) return false;
212
+ return result.path.slice(0, -1).includes(ancestorId);
213
+ }
214
+ /**
215
+ * Traverse the tree and call a visitor function for each node.
216
+ * Return false from visitor to stop traversal.
217
+ *
218
+ * @param snapshot - The root tree snapshot
219
+ * @param visitor - Function called for each node (return false to stop)
220
+ * @param options - Traversal options (order: 'pre' | 'post')
221
+ */
222
+ function traverse(snapshot, visitor, options = {}) {
223
+ if (!snapshot) return;
224
+ const { order = "pre" } = options;
225
+ const visit = (node, depth) => {
226
+ if (order === "pre") {
227
+ if (visitor(node, depth) === false) return false;
228
+ }
229
+ for (const child of node.children) if (!visit(child, depth + 1)) return false;
230
+ if (order === "post") {
231
+ if (visitor(node, depth) === false) return false;
232
+ }
233
+ return true;
234
+ };
235
+ visit(snapshot, 0);
236
+ }
237
+ /**
238
+ * Flatten the tree into an array with parent information.
239
+ *
240
+ * @param snapshot - The root tree snapshot
241
+ * @returns Array of { node, parentId, depth } objects
242
+ */
243
+ function flattenTree(snapshot) {
244
+ if (!snapshot) return [];
245
+ const result = [];
246
+ const flatten = (node, parentId, depth) => {
247
+ result.push({
248
+ node,
249
+ parentId,
250
+ depth
251
+ });
252
+ for (const child of node.children) flatten(child, node.id, depth + 1);
253
+ };
254
+ flatten(snapshot, null, 0);
255
+ return result;
256
+ }
257
+ /**
258
+ * Map over all nodes in the tree, transforming each node's data.
259
+ * Preserves tree structure while transforming node content.
260
+ *
261
+ * @param snapshot - The root tree snapshot
262
+ * @param mapper - Function to transform each node
263
+ * @returns New tree structure with transformed nodes, or undefined
264
+ */
265
+ function mapTree(snapshot, mapper) {
266
+ if (!snapshot) return void 0;
267
+ const map = (node, depth) => {
268
+ return {
269
+ value: mapper(node, depth),
270
+ children: node.children.map((child) => map(child, depth + 1))
271
+ };
272
+ };
273
+ return map(snapshot, 0);
274
+ }
275
+ /**
276
+ * Build a lookup map from node type strings to their TreeNodePrimitive definitions.
277
+ * Useful for resolving snapshot node types back to their schema definitions.
278
+ *
279
+ * @param tree - The TreePrimitive to analyze
280
+ * @returns Map from type string to TreeNodePrimitive
281
+ *
282
+ * @example
283
+ * ```ts
284
+ * const typeMap = buildNodeTypeMap(fileTree);
285
+ * const folderPrimitive = typeMap.get("folder"); // FolderNode
286
+ * ```
287
+ */
288
+ function buildNodeTypeMap(tree) {
289
+ const map = /* @__PURE__ */ new Map();
290
+ const visited = /* @__PURE__ */ new Set();
291
+ const visit = (node) => {
292
+ if (visited.has(node.type)) return;
293
+ visited.add(node.type);
294
+ map.set(node.type, node);
295
+ for (const child of node.children) visit(child);
296
+ };
297
+ visit(tree.root);
298
+ return map;
299
+ }
300
+ /**
301
+ * Get the TreeNodePrimitive definition for a snapshot node.
302
+ * Requires the tree schema to resolve the type string to its primitive.
303
+ *
304
+ * @param tree - The TreePrimitive schema
305
+ * @param snapshot - The node snapshot to get the primitive for
306
+ * @returns The TreeNodePrimitive, or undefined if not found
307
+ *
308
+ * @example
309
+ * ```ts
310
+ * const node = findNodeById(treeSnapshot, "some-id");
311
+ * const primitive = getNodePrimitive(fileTree, node);
312
+ * // primitive is FolderNode or FileNode depending on node.type
313
+ * ```
314
+ */
315
+ function getNodePrimitive(tree, snapshot) {
316
+ return getNodeTypeByName(tree, snapshot.type);
317
+ }
318
+ /**
319
+ * Get the allowed child types for a snapshot node.
320
+ * Combines schema lookup with the node's allowed children.
321
+ *
322
+ * @param tree - The TreePrimitive schema
323
+ * @param snapshot - The node snapshot to get allowed children for
324
+ * @returns Array of allowed child TreeNodePrimitives, or empty array if not found
325
+ *
326
+ * @example
327
+ * ```ts
328
+ * const node = findNodeById(treeSnapshot, "folder-id");
329
+ * const allowedChildren = getAllowedChildTypesForNode(fileTree, node);
330
+ * // Returns [FolderNode, FileNode] if the folder can contain both
331
+ * ```
332
+ */
333
+ function getAllowedChildTypesForNode(tree, snapshot) {
334
+ const primitive = getNodePrimitive(tree, snapshot);
335
+ if (!primitive) return [];
336
+ return primitive.children;
337
+ }
338
+ /**
339
+ * Check if a child type is allowed for a specific snapshot node.
340
+ *
341
+ * @param tree - The TreePrimitive schema
342
+ * @param parentSnapshot - The parent node snapshot
343
+ * @param childTypeName - The type string of the potential child
344
+ * @returns true if the child type is allowed
345
+ *
346
+ * @example
347
+ * ```ts
348
+ * const folder = findNodeById(treeSnapshot, "folder-id");
349
+ * canAddChildType(fileTree, folder, "file"); // true
350
+ * canAddChildType(fileTree, folder, "unknown"); // false
351
+ * ```
352
+ */
353
+ function canAddChildType(tree, parentSnapshot, childTypeName) {
354
+ const primitive = getNodePrimitive(tree, parentSnapshot);
355
+ if (!primitive) return false;
356
+ return primitive.isChildAllowed(childTypeName);
357
+ }
358
+ /**
359
+ * Get all allowed child node types for a specific node type.
360
+ *
361
+ * @param nodeType - The TreeNodePrimitive to get children for
362
+ * @returns Array of allowed child TreeNodePrimitives
363
+ *
364
+ * @example
365
+ * ```ts
366
+ * const FolderNode = TreeNode("folder", { ... });
367
+ * const FileNode = TreeNode("file", { ... });
368
+ *
369
+ * // Get allowed children for FolderNode
370
+ * const allowedChildren = getAllowedChildTypes(FolderNode);
371
+ * // Returns [FolderNode, FileNode] if folder can contain both
372
+ * ```
373
+ */
374
+ function getAllowedChildTypes(nodeType) {
375
+ return nodeType.children;
376
+ }
377
+ /**
378
+ * Get all unique node types reachable in a tree schema.
379
+ * Recursively traverses the tree structure starting from the root.
380
+ *
381
+ * @param tree - The TreePrimitive to analyze
382
+ * @returns Array of all unique TreeNodePrimitives in the tree schema
383
+ *
384
+ * @example
385
+ * ```ts
386
+ * const fileTree = Tree({ root: FolderNode });
387
+ * const allNodeTypes = getAllNodeTypes(fileTree);
388
+ * // Returns [FolderNode, FileNode] - all possible node types
389
+ * ```
390
+ */
391
+ function getAllNodeTypes(tree) {
392
+ const visited = /* @__PURE__ */ new Set();
393
+ const result = [];
394
+ const visit = (node) => {
395
+ if (visited.has(node.type)) return;
396
+ visited.add(node.type);
397
+ result.push(node);
398
+ for (const child of node.children) visit(child);
399
+ };
400
+ visit(tree.root);
401
+ return result;
402
+ }
403
+ /**
404
+ * Get the node type primitive by its type string from a tree schema.
405
+ *
406
+ * @param tree - The TreePrimitive to search
407
+ * @param typeName - The type string to find (e.g., "folder", "file")
408
+ * @returns The matching TreeNodePrimitive, or undefined if not found
409
+ *
410
+ * @example
411
+ * ```ts
412
+ * const fileTree = Tree({ root: FolderNode });
413
+ * const folderType = getNodeTypeByName(fileTree, "folder");
414
+ * // Returns FolderNode
415
+ * ```
416
+ */
417
+ function getNodeTypeByName(tree, typeName) {
418
+ return getAllNodeTypes(tree).find((node) => node.type === typeName);
419
+ }
420
+ /**
421
+ * Check if a child type is allowed under a parent type.
422
+ *
423
+ * @param parentType - The parent TreeNodePrimitive
424
+ * @param childTypeName - The type string of the potential child
425
+ * @returns true if the child type is allowed
426
+ *
427
+ * @example
428
+ * ```ts
429
+ * isChildTypeAllowed(FolderNode, "file"); // true if folder can contain files
430
+ * isChildTypeAllowed(FileNode, "folder"); // false - files can't have children
431
+ * ```
432
+ */
433
+ function isChildTypeAllowed(parentType, childTypeName) {
434
+ return parentType.isChildAllowed(childTypeName);
435
+ }
436
+
437
+ //#endregion
438
+ Object.defineProperty(exports, 'tree_helpers_exports', {
439
+ enumerable: true,
440
+ get: function () {
441
+ return tree_helpers_exports;
442
+ }
443
+ });