@dxos/echo 0.8.4-main.c85a9c8dae → 0.8.4-main.d05539e30a

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 (558) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +3 -3
  3. package/dist/lib/neutral/Annotation.mjs +5 -3
  4. package/dist/lib/neutral/Database.mjs +8 -4
  5. package/dist/lib/neutral/Entity.mjs +16 -11
  6. package/dist/lib/neutral/Err.mjs +1 -1
  7. package/dist/lib/neutral/Extension.mjs +18 -0
  8. package/dist/lib/neutral/Extension.mjs.map +7 -0
  9. package/dist/lib/neutral/Feed.mjs +23 -14
  10. package/dist/lib/neutral/Filter.mjs +23 -10
  11. package/dist/lib/neutral/Format.mjs +3 -3
  12. package/dist/lib/neutral/JsonSchema.mjs +8 -7
  13. package/dist/lib/neutral/Key.mjs +1 -1
  14. package/dist/lib/neutral/Migration.mjs +17 -0
  15. package/dist/lib/neutral/Migration.mjs.map +7 -0
  16. package/dist/lib/neutral/Obj.mjs +16 -10
  17. package/dist/lib/neutral/Order.mjs +1 -1
  18. package/dist/lib/neutral/Query.mjs +19 -13
  19. package/dist/lib/neutral/QueryResult.mjs +1 -1
  20. package/dist/lib/neutral/Ref.mjs +9 -7
  21. package/dist/lib/neutral/Relation.mjs +15 -11
  22. package/dist/lib/neutral/SchemaRegistry.mjs +1 -1
  23. package/dist/lib/neutral/Tag.mjs +14 -10
  24. package/dist/lib/neutral/Type.mjs +10 -7
  25. package/dist/lib/neutral/{chunk-DZQSL6RW.mjs → chunk-44HT3MEC.mjs} +2 -2
  26. package/dist/lib/neutral/{chunk-DZQSL6RW.mjs.map → chunk-44HT3MEC.mjs.map} +1 -1
  27. package/dist/lib/neutral/{chunk-OVUBTQLT.mjs → chunk-5SL5LDLD.mjs} +4 -2
  28. package/dist/lib/neutral/chunk-5SL5LDLD.mjs.map +7 -0
  29. package/dist/lib/neutral/{chunk-ANHVGJI4.mjs → chunk-7RVZT53K.mjs} +1 -1
  30. package/dist/lib/neutral/chunk-APHSOTIX.mjs +34 -0
  31. package/dist/lib/neutral/chunk-APHSOTIX.mjs.map +7 -0
  32. package/dist/lib/neutral/{chunk-ALOGSVBP.mjs → chunk-APJKDGFL.mjs} +72 -6
  33. package/dist/lib/neutral/chunk-APJKDGFL.mjs.map +7 -0
  34. package/dist/lib/neutral/{chunk-T6JEFNP6.mjs → chunk-BICZKPQG.mjs} +1 -1
  35. package/dist/lib/neutral/{chunk-T6JEFNP6.mjs.map → chunk-BICZKPQG.mjs.map} +1 -1
  36. package/dist/lib/neutral/chunk-BMB7IHGB.mjs +346 -0
  37. package/dist/lib/neutral/chunk-BMB7IHGB.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-FIWO2FZK.mjs +36 -0
  39. package/dist/lib/neutral/chunk-FIWO2FZK.mjs.map +7 -0
  40. package/dist/lib/neutral/{chunk-PP4DNUZU.mjs → chunk-G54OX4IX.mjs} +1418 -2885
  41. package/dist/lib/neutral/chunk-G54OX4IX.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-GWFFC34K.mjs +50 -0
  43. package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +7 -0
  44. package/dist/lib/neutral/{chunk-5ELDDYWE.mjs → chunk-I2DARWPX.mjs} +17 -19
  45. package/dist/lib/neutral/chunk-I2DARWPX.mjs.map +7 -0
  46. package/dist/lib/neutral/{chunk-KGV3QIRX.mjs → chunk-J54QMAKF.mjs} +125 -17
  47. package/dist/lib/neutral/chunk-J54QMAKF.mjs.map +7 -0
  48. package/dist/lib/neutral/{chunk-BRJSLACP.mjs → chunk-MGSQGHOD.mjs} +71 -17
  49. package/dist/lib/neutral/chunk-MGSQGHOD.mjs.map +7 -0
  50. package/dist/lib/neutral/chunk-MLS7U7AT.mjs +734 -0
  51. package/dist/lib/neutral/chunk-MLS7U7AT.mjs.map +7 -0
  52. package/dist/lib/neutral/{chunk-4KG6IGL4.mjs → chunk-N4B7FHQT.mjs} +4 -4
  53. package/dist/lib/neutral/{chunk-4KG6IGL4.mjs.map → chunk-N4B7FHQT.mjs.map} +2 -2
  54. package/dist/lib/neutral/{chunk-QXF3LGN2.mjs → chunk-N7VOEPSV.mjs} +8 -3
  55. package/dist/lib/neutral/chunk-N7VOEPSV.mjs.map +7 -0
  56. package/dist/lib/neutral/{chunk-T4MPQJ7X.mjs → chunk-PSZBLH53.mjs} +6 -22
  57. package/dist/lib/neutral/chunk-PSZBLH53.mjs.map +7 -0
  58. package/dist/lib/neutral/{chunk-ZWKJ4LZJ.mjs → chunk-PT37DG2F.mjs} +23 -51
  59. package/dist/lib/neutral/chunk-PT37DG2F.mjs.map +7 -0
  60. package/dist/lib/neutral/{chunk-GAWKQ5DZ.mjs → chunk-Q2KKKJSV.mjs} +5 -5
  61. package/dist/lib/neutral/chunk-Q2KKKJSV.mjs.map +7 -0
  62. package/dist/lib/neutral/{chunk-AQP4QKYP.mjs → chunk-Q7ZL2P5H.mjs} +56 -19
  63. package/dist/lib/neutral/chunk-Q7ZL2P5H.mjs.map +7 -0
  64. package/dist/lib/neutral/{chunk-O3TZFQCT.mjs → chunk-QRZ2I3ZM.mjs} +2 -2
  65. package/dist/lib/neutral/chunk-QRZ2I3ZM.mjs.map +7 -0
  66. package/dist/lib/neutral/{chunk-W7OP5HGZ.mjs → chunk-SCPFDS2E.mjs} +14 -10
  67. package/dist/lib/neutral/chunk-SCPFDS2E.mjs.map +7 -0
  68. package/dist/lib/neutral/{chunk-F7KMHDPJ.mjs → chunk-TNBK56IN.mjs} +54 -31
  69. package/dist/lib/neutral/chunk-TNBK56IN.mjs.map +7 -0
  70. package/dist/lib/neutral/{chunk-M2KVTHZM.mjs → chunk-TRPZU2HV.mjs} +10 -10
  71. package/dist/lib/neutral/chunk-TRPZU2HV.mjs.map +7 -0
  72. package/dist/lib/neutral/{chunk-ZTUBYOGB.mjs → chunk-TTCSATUD.mjs} +1 -1
  73. package/dist/lib/neutral/chunk-TTCSATUD.mjs.map +7 -0
  74. package/dist/lib/neutral/{chunk-OMUPQMLR.mjs → chunk-V72DY6LU.mjs} +1 -1
  75. package/dist/lib/neutral/chunk-ZFACXBY6.mjs +136 -0
  76. package/dist/lib/neutral/chunk-ZFACXBY6.mjs.map +7 -0
  77. package/dist/lib/neutral/{chunk-MXQJZCPY.mjs → chunk-ZISMEVKD.mjs} +1 -1
  78. package/dist/lib/neutral/chunk-ZISMEVKD.mjs.map +7 -0
  79. package/dist/lib/neutral/index.mjs +38 -25
  80. package/dist/lib/neutral/internal/index.mjs +50 -38
  81. package/dist/lib/neutral/meta.json +1 -1
  82. package/dist/lib/neutral/testing/index.mjs +196 -136
  83. package/dist/lib/neutral/testing/index.mjs.map +3 -3
  84. package/dist/types/src/Annotation.d.ts +3 -3
  85. package/dist/types/src/Annotation.d.ts.map +1 -1
  86. package/dist/types/src/Collection.d.ts.map +1 -1
  87. package/dist/types/src/Database.d.ts +16 -4
  88. package/dist/types/src/Database.d.ts.map +1 -1
  89. package/dist/types/src/Dataset.d.ts +2 -1
  90. package/dist/types/src/Dataset.d.ts.map +1 -1
  91. package/dist/types/src/Entity.d.ts +17 -11
  92. package/dist/types/src/Entity.d.ts.map +1 -1
  93. package/dist/types/src/Err.d.ts +18 -18
  94. package/dist/types/src/Err.d.ts.map +1 -1
  95. package/dist/types/src/Extension.d.ts +80 -0
  96. package/dist/types/src/Extension.d.ts.map +1 -0
  97. package/dist/types/src/Extension.test.d.ts +2 -0
  98. package/dist/types/src/Extension.test.d.ts.map +1 -0
  99. package/dist/types/src/Feed.d.ts +65 -24
  100. package/dist/types/src/Feed.d.ts.map +1 -1
  101. package/dist/types/src/Filter.d.ts +54 -4
  102. package/dist/types/src/Filter.d.ts.map +1 -1
  103. package/dist/types/src/Filter.test.d.ts +2 -0
  104. package/dist/types/src/Filter.test.d.ts.map +1 -0
  105. package/dist/types/src/Format.d.ts +1 -1
  106. package/dist/types/src/Format.d.ts.map +1 -1
  107. package/dist/types/src/Hypergraph.d.ts +9 -4
  108. package/dist/types/src/Hypergraph.d.ts.map +1 -1
  109. package/dist/types/src/Json.d.ts +33 -0
  110. package/dist/types/src/Json.d.ts.map +1 -0
  111. package/dist/types/src/Json.test.d.ts +2 -0
  112. package/dist/types/src/Json.test.d.ts.map +1 -0
  113. package/dist/types/src/JsonSchema.d.ts +5 -5
  114. package/dist/types/src/JsonSchema.d.ts.map +1 -1
  115. package/dist/types/src/Migration.d.ts +69 -0
  116. package/dist/types/src/Migration.d.ts.map +1 -0
  117. package/dist/types/src/Obj.d.ts +46 -30
  118. package/dist/types/src/Obj.d.ts.map +1 -1
  119. package/dist/types/src/Order.d.ts.map +1 -1
  120. package/dist/types/src/Query.d.ts +13 -2
  121. package/dist/types/src/Query.d.ts.map +1 -1
  122. package/dist/types/src/Ref.d.ts +12 -11
  123. package/dist/types/src/Ref.d.ts.map +1 -1
  124. package/dist/types/src/Relation.d.ts +16 -16
  125. package/dist/types/src/Relation.d.ts.map +1 -1
  126. package/dist/types/src/SchemaRegistry.d.ts +1 -1
  127. package/dist/types/src/Tag.d.ts +2 -2
  128. package/dist/types/src/Tag.d.ts.map +1 -1
  129. package/dist/types/src/Type.d.ts +10 -9
  130. package/dist/types/src/Type.d.ts.map +1 -1
  131. package/dist/types/src/View.d.ts +1 -1
  132. package/dist/types/src/View.d.ts.map +1 -1
  133. package/dist/types/src/exemplars.test.d.ts +2 -0
  134. package/dist/types/src/exemplars.test.d.ts.map +1 -0
  135. package/dist/types/src/index.d.ts +3 -0
  136. package/dist/types/src/index.d.ts.map +1 -1
  137. package/dist/types/src/internal/{annotations → Annotation}/annotations.d.ts +33 -2
  138. package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
  139. package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
  140. package/dist/types/src/internal/Annotation/index.d.ts +4 -0
  141. package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
  142. package/dist/types/src/internal/{api → Annotation}/sorting.d.ts +1 -1
  143. package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
  144. package/dist/types/src/internal/{annotations → Annotation}/util.d.ts +2 -2
  145. package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
  146. package/dist/types/src/internal/{api/entity.d.ts → Entity/api.d.ts} +2 -2
  147. package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
  148. package/dist/types/src/internal/{entities → Entity}/entity.d.ts +2 -2
  149. package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
  150. package/dist/types/src/internal/{entities → Entity}/index.d.ts +2 -0
  151. package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
  152. package/dist/types/src/internal/{entities → Entity}/model.d.ts +4 -26
  153. package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
  154. package/dist/types/src/internal/{entities → Entity}/object.d.ts +2 -2
  155. package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
  156. package/dist/types/src/internal/{entities → Entity}/relation.d.ts +3 -30
  157. package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
  158. package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
  159. package/dist/types/src/internal/{api → Entity}/version.d.ts +1 -1
  160. package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
  161. package/dist/types/src/internal/Format/date.d.ts.map +1 -0
  162. package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
  163. package/dist/types/src/internal/Format/format.d.ts.map +1 -0
  164. package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
  165. package/dist/types/src/internal/Format/index.d.ts.map +1 -0
  166. package/dist/types/src/internal/Format/number.d.ts.map +1 -0
  167. package/dist/types/src/internal/Format/object.d.ts.map +1 -0
  168. package/dist/types/src/internal/Format/select.d.ts.map +1 -0
  169. package/dist/types/src/internal/Format/string.d.ts.map +1 -0
  170. package/dist/types/src/internal/{formats → Format}/types.d.ts +1 -1
  171. package/dist/types/src/internal/Format/types.d.ts.map +1 -0
  172. package/dist/types/src/internal/{json-schema → JsonSchema}/annotations.d.ts +1 -1
  173. package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
  174. package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
  175. package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
  176. package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
  177. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-type.d.ts +23 -23
  178. package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
  179. package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.d.ts +1 -1
  180. package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
  181. package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
  182. package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
  183. package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
  184. package/dist/types/src/internal/{object → Obj}/create-object.d.ts +2 -2
  185. package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
  186. package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
  187. package/dist/types/src/internal/{object → Obj}/deleted.d.ts +1 -1
  188. package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
  189. package/dist/types/src/internal/{object → Obj}/ids.d.ts +1 -1
  190. package/dist/types/src/internal/Obj/ids.d.ts.map +1 -0
  191. package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
  192. package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
  193. package/dist/types/src/internal/{object → Obj}/json-serializer.d.ts +13 -5
  194. package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
  195. package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
  196. package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
  197. package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
  198. package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
  199. package/dist/types/src/internal/{object → Obj}/set-value.d.ts +2 -2
  200. package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
  201. package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
  202. package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
  203. package/dist/types/src/internal/{object → Obj}/typed-object.d.ts +2 -2
  204. package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
  205. package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
  206. package/dist/types/src/internal/Query.d.ts +10 -0
  207. package/dist/types/src/internal/Query.d.ts.map +1 -0
  208. package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
  209. package/dist/types/src/internal/{ref → Ref}/ref-array.d.ts +1 -1
  210. package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
  211. package/dist/types/src/internal/{ref → Ref}/ref.d.ts +15 -2
  212. package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
  213. package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
  214. package/dist/types/src/internal/{schema → Type}/compose.d.ts +1 -1
  215. package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
  216. package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
  217. package/dist/types/src/internal/{schema → Type}/echo-schema.d.ts +6 -6
  218. package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
  219. package/dist/types/src/internal/Type/index.d.ts.map +1 -0
  220. package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
  221. package/dist/types/src/internal/{schema → Type}/persistent-schema.d.ts +2 -2
  222. package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
  223. package/dist/types/src/internal/{api → common/api}/index.d.ts +0 -4
  224. package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
  225. package/dist/types/src/internal/{api → common/api}/meta.d.ts +3 -3
  226. package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
  227. package/dist/types/src/internal/common/index.d.ts +4 -0
  228. package/dist/types/src/internal/common/index.d.ts.map +1 -0
  229. package/dist/types/src/internal/{proxy → common/proxy}/change-context.d.ts +1 -1
  230. package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
  231. package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
  232. package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
  233. package/dist/types/src/internal/{proxy → common/proxy}/errors.d.ts +1 -1
  234. package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
  235. package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
  236. package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
  237. package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
  238. package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
  239. package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
  240. package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
  241. package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
  242. package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
  243. package/dist/types/src/internal/{proxy → common/proxy}/reactive-array.d.ts +1 -1
  244. package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
  245. package/dist/types/src/internal/{proxy → common/proxy}/reactive.d.ts +2 -2
  246. package/dist/types/src/internal/{proxy → common/proxy}/reactive.d.ts.map +1 -1
  247. package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
  248. package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
  249. package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
  250. package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
  251. package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
  252. package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
  253. package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
  254. package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
  255. package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
  256. package/dist/types/src/internal/{types → common/types}/entity.d.ts +4 -4
  257. package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
  258. package/dist/types/src/internal/{types → common/types}/index.d.ts +1 -0
  259. package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
  260. package/dist/types/src/internal/{types → common/types}/meta.d.ts +13 -3
  261. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
  262. package/dist/types/src/internal/common/types/model-symbols.d.ts +54 -0
  263. package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
  264. package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
  265. package/dist/types/src/internal/{types → common/types}/version.d.ts +1 -1
  266. package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
  267. package/dist/types/src/internal/index.d.ts +9 -10
  268. package/dist/types/src/internal/index.d.ts.map +1 -1
  269. package/dist/types/src/testing/test-data.d.ts +8 -8
  270. package/dist/types/src/testing/test-data.d.ts.map +1 -1
  271. package/dist/types/src/testing/test-schema.d.ts +53 -53
  272. package/dist/types/src/testing/test-schema.d.ts.map +1 -1
  273. package/dist/types/src/testing/util.d.ts.map +1 -1
  274. package/dist/types/tsconfig.tsbuildinfo +1 -1
  275. package/package.json +25 -15
  276. package/src/Annotation.ts +6 -3
  277. package/src/Collection.ts +8 -1
  278. package/src/Database.ts +55 -18
  279. package/src/Dataset.ts +2 -0
  280. package/src/Entity.ts +20 -11
  281. package/src/Err.ts +2 -0
  282. package/src/Extension.test.ts +235 -0
  283. package/src/Extension.ts +122 -0
  284. package/src/Feed.ts +118 -37
  285. package/src/Filter.test.ts +90 -0
  286. package/src/Filter.ts +99 -3
  287. package/src/Format.ts +1 -1
  288. package/src/Hypergraph.ts +10 -5
  289. package/src/Json.test.ts +175 -0
  290. package/src/Json.ts +102 -0
  291. package/src/JsonSchema.ts +7 -5
  292. package/src/Migration.ts +106 -0
  293. package/src/Obj.test.ts +107 -15
  294. package/src/Obj.ts +167 -40
  295. package/src/Order.ts +2 -0
  296. package/src/Query.test.ts +222 -32
  297. package/src/Query.ts +62 -10
  298. package/src/Ref.ts +16 -12
  299. package/src/Relation.test.ts +2 -2
  300. package/src/Relation.ts +28 -21
  301. package/src/SchemaRegistry.ts +1 -1
  302. package/src/Tag.ts +3 -1
  303. package/src/Type.ts +14 -11
  304. package/src/View.ts +9 -2
  305. package/src/exemplars.test.ts +21 -0
  306. package/src/index.ts +4 -0
  307. package/src/internal/{annotations → Annotation}/annotations.test.ts +56 -7
  308. package/src/internal/{annotations → Annotation}/annotations.ts +84 -20
  309. package/src/internal/{annotations → Annotation}/index.ts +1 -0
  310. package/src/internal/{api → Annotation}/sorting.ts +2 -4
  311. package/src/internal/{annotations → Annotation}/util.ts +1 -1
  312. package/src/internal/{api/entity.ts → Entity/api.ts} +3 -2
  313. package/src/internal/{entities → Entity}/entity.ts +2 -2
  314. package/src/internal/{entities → Entity}/index.ts +2 -0
  315. package/src/internal/{entities → Entity}/model.ts +15 -42
  316. package/src/internal/{entities → Entity}/object.ts +2 -3
  317. package/src/internal/{entities → Entity}/relation.ts +19 -36
  318. package/src/internal/{api → Entity}/version.ts +2 -2
  319. package/src/internal/{formats → Format}/date.test.ts +1 -2
  320. package/src/internal/{formats → Format}/format.test.ts +1 -2
  321. package/src/internal/{formats → Format}/types.ts +2 -2
  322. package/src/internal/{json-schema → JsonSchema}/annotations.ts +3 -3
  323. package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +4 -4
  324. package/src/internal/{json-schema → JsonSchema}/json-schema.test.ts +48 -49
  325. package/src/internal/{json-schema → JsonSchema}/json-schema.ts +3 -4
  326. package/src/internal/{object → Obj}/clone.ts +3 -3
  327. package/src/internal/{object → Obj}/common.ts +2 -2
  328. package/src/internal/{object → Obj}/create-object.test.ts +5 -7
  329. package/src/internal/{object → Obj}/create-object.ts +5 -6
  330. package/src/internal/{object → Obj}/deleted.ts +2 -2
  331. package/src/internal/{object → Obj}/ids.ts +1 -1
  332. package/src/internal/{object → Obj}/inspect.ts +2 -2
  333. package/src/internal/{object → Obj}/json-serializer.test.ts +8 -9
  334. package/src/internal/{object → Obj}/json-serializer.ts +44 -26
  335. package/src/internal/{object → Obj}/schema-validator.ts +1 -1
  336. package/src/internal/{object → Obj}/set-value.test.ts +24 -24
  337. package/src/internal/{object → Obj}/set-value.ts +3 -3
  338. package/src/internal/{object → Obj}/snapshot.ts +14 -5
  339. package/src/internal/{object → Obj}/typed-object.test.ts +3 -3
  340. package/src/internal/{object → Obj}/typed-object.ts +2 -2
  341. package/src/internal/Query.ts +156 -0
  342. package/src/internal/{ref → Ref}/ref-array.ts +1 -2
  343. package/src/internal/{ref → Ref}/ref.test.ts +4 -5
  344. package/src/internal/{ref → Ref}/ref.ts +20 -3
  345. package/src/internal/{schema → Type}/compose.test.ts +5 -6
  346. package/src/internal/{schema → Type}/compose.ts +1 -1
  347. package/src/internal/{schema → Type}/echo-schema.ts +7 -8
  348. package/src/internal/{schema → Type}/manipulation.ts +1 -1
  349. package/src/internal/{schema → Type}/persistent-schema.ts +7 -7
  350. package/src/internal/{README.md → common/README.md} +1 -1
  351. package/src/internal/{api → common/api}/index.ts +0 -4
  352. package/src/internal/{api → common/api}/meta.ts +3 -3
  353. package/src/internal/common/index.ts +7 -0
  354. package/src/internal/{proxy → common/proxy}/change-context.ts +1 -1
  355. package/src/internal/{proxy → common/proxy}/change.test.ts +97 -97
  356. package/src/internal/{proxy → common/proxy}/errors.ts +2 -2
  357. package/src/internal/{proxy → common/proxy}/handler.test.ts +2 -4
  358. package/src/internal/{proxy → common/proxy}/json-serializer.ts +6 -3
  359. package/src/internal/{proxy → common/proxy}/make-object.ts +1 -2
  360. package/src/internal/{proxy → common/proxy}/ownership.ts +0 -1
  361. package/src/internal/{proxy → common/proxy}/reactive-array.ts +1 -1
  362. package/src/internal/common/proxy/reactive.test.ts +54 -0
  363. package/src/internal/{proxy → common/proxy}/reactive.ts +12 -4
  364. package/src/internal/{proxy → common/proxy}/schema.test.ts +10 -10
  365. package/src/internal/{proxy → common/proxy}/typed-handler.test.ts +6 -7
  366. package/src/internal/{proxy → common/proxy}/typed-handler.ts +10 -13
  367. package/src/internal/{proxy → common/proxy}/typed-object.test.ts +5 -6
  368. package/src/internal/{types → common/types}/entity.ts +1 -1
  369. package/src/internal/{types → common/types}/index.ts +1 -0
  370. package/src/internal/{types → common/types}/meta.ts +13 -2
  371. package/src/internal/common/types/model-symbols.ts +69 -0
  372. package/src/internal/index.ts +9 -31
  373. package/src/testing/api.test.ts +2 -3
  374. package/src/testing/test-data.ts +157 -98
  375. package/src/testing/test-schema.ts +9 -9
  376. package/dist/lib/neutral/chunk-5ELDDYWE.mjs.map +0 -7
  377. package/dist/lib/neutral/chunk-ALOGSVBP.mjs.map +0 -7
  378. package/dist/lib/neutral/chunk-AQP4QKYP.mjs.map +0 -7
  379. package/dist/lib/neutral/chunk-BRJSLACP.mjs.map +0 -7
  380. package/dist/lib/neutral/chunk-F7KMHDPJ.mjs.map +0 -7
  381. package/dist/lib/neutral/chunk-GAWKQ5DZ.mjs.map +0 -7
  382. package/dist/lib/neutral/chunk-GFNCSK7F.mjs +0 -101
  383. package/dist/lib/neutral/chunk-GFNCSK7F.mjs.map +0 -7
  384. package/dist/lib/neutral/chunk-KGV3QIRX.mjs.map +0 -7
  385. package/dist/lib/neutral/chunk-M2KVTHZM.mjs.map +0 -7
  386. package/dist/lib/neutral/chunk-MXQJZCPY.mjs.map +0 -7
  387. package/dist/lib/neutral/chunk-O3TZFQCT.mjs.map +0 -7
  388. package/dist/lib/neutral/chunk-OVUBTQLT.mjs.map +0 -7
  389. package/dist/lib/neutral/chunk-PP4DNUZU.mjs.map +0 -7
  390. package/dist/lib/neutral/chunk-QXF3LGN2.mjs.map +0 -7
  391. package/dist/lib/neutral/chunk-T4MPQJ7X.mjs.map +0 -7
  392. package/dist/lib/neutral/chunk-W7OP5HGZ.mjs.map +0 -7
  393. package/dist/lib/neutral/chunk-ZTUBYOGB.mjs.map +0 -7
  394. package/dist/lib/neutral/chunk-ZWKJ4LZJ.mjs.map +0 -7
  395. package/dist/types/src/internal/annotations/annotations.d.ts.map +0 -1
  396. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +0 -1
  397. package/dist/types/src/internal/annotations/index.d.ts +0 -3
  398. package/dist/types/src/internal/annotations/index.d.ts.map +0 -1
  399. package/dist/types/src/internal/annotations/util.d.ts.map +0 -1
  400. package/dist/types/src/internal/api/annotations.d.ts +0 -23
  401. package/dist/types/src/internal/api/annotations.d.ts.map +0 -1
  402. package/dist/types/src/internal/api/entity.d.ts.map +0 -1
  403. package/dist/types/src/internal/api/index.d.ts.map +0 -1
  404. package/dist/types/src/internal/api/meta.d.ts.map +0 -1
  405. package/dist/types/src/internal/api/sorting.d.ts.map +0 -1
  406. package/dist/types/src/internal/api/version.d.ts.map +0 -1
  407. package/dist/types/src/internal/entities/entity.d.ts.map +0 -1
  408. package/dist/types/src/internal/entities/index.d.ts.map +0 -1
  409. package/dist/types/src/internal/entities/model.d.ts.map +0 -1
  410. package/dist/types/src/internal/entities/object.d.ts.map +0 -1
  411. package/dist/types/src/internal/entities/relation.d.ts.map +0 -1
  412. package/dist/types/src/internal/entities/util.d.ts.map +0 -1
  413. package/dist/types/src/internal/formats/date.d.ts.map +0 -1
  414. package/dist/types/src/internal/formats/date.test.d.ts.map +0 -1
  415. package/dist/types/src/internal/formats/format.d.ts.map +0 -1
  416. package/dist/types/src/internal/formats/format.test.d.ts.map +0 -1
  417. package/dist/types/src/internal/formats/index.d.ts.map +0 -1
  418. package/dist/types/src/internal/formats/number.d.ts.map +0 -1
  419. package/dist/types/src/internal/formats/object.d.ts.map +0 -1
  420. package/dist/types/src/internal/formats/select.d.ts.map +0 -1
  421. package/dist/types/src/internal/formats/string.d.ts.map +0 -1
  422. package/dist/types/src/internal/formats/types.d.ts.map +0 -1
  423. package/dist/types/src/internal/json-schema/annotations.d.ts.map +0 -1
  424. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +0 -1
  425. package/dist/types/src/internal/json-schema/index.d.ts.map +0 -1
  426. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +0 -1
  427. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +0 -1
  428. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +0 -1
  429. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +0 -1
  430. package/dist/types/src/internal/object/clone.d.ts.map +0 -1
  431. package/dist/types/src/internal/object/common.d.ts.map +0 -1
  432. package/dist/types/src/internal/object/create-object.d.ts.map +0 -1
  433. package/dist/types/src/internal/object/create-object.test.d.ts.map +0 -1
  434. package/dist/types/src/internal/object/deleted.d.ts.map +0 -1
  435. package/dist/types/src/internal/object/ids.d.ts.map +0 -1
  436. package/dist/types/src/internal/object/index.d.ts.map +0 -1
  437. package/dist/types/src/internal/object/inspect.d.ts.map +0 -1
  438. package/dist/types/src/internal/object/json-serializer.d.ts.map +0 -1
  439. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
  440. package/dist/types/src/internal/object/schema-validator.d.ts +0 -2
  441. package/dist/types/src/internal/object/schema-validator.d.ts.map +0 -1
  442. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +0 -1
  443. package/dist/types/src/internal/object/set-value.d.ts.map +0 -1
  444. package/dist/types/src/internal/object/set-value.test.d.ts.map +0 -1
  445. package/dist/types/src/internal/object/snapshot.d.ts.map +0 -1
  446. package/dist/types/src/internal/object/typed-object.d.ts.map +0 -1
  447. package/dist/types/src/internal/object/typed-object.test.d.ts.map +0 -1
  448. package/dist/types/src/internal/proxy/change-context.d.ts.map +0 -1
  449. package/dist/types/src/internal/proxy/change.test.d.ts.map +0 -1
  450. package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +0 -1
  451. package/dist/types/src/internal/proxy/errors.d.ts.map +0 -1
  452. package/dist/types/src/internal/proxy/event-batch.d.ts.map +0 -1
  453. package/dist/types/src/internal/proxy/handler.test.d.ts.map +0 -1
  454. package/dist/types/src/internal/proxy/index.d.ts.map +0 -1
  455. package/dist/types/src/internal/proxy/json-serializer.d.ts.map +0 -1
  456. package/dist/types/src/internal/proxy/make-object.d.ts.map +0 -1
  457. package/dist/types/src/internal/proxy/ownership.d.ts.map +0 -1
  458. package/dist/types/src/internal/proxy/proxy-types.d.ts.map +0 -1
  459. package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +0 -1
  460. package/dist/types/src/internal/proxy/reactive-array.d.ts.map +0 -1
  461. package/dist/types/src/internal/proxy/schema-validator.d.ts.map +0 -1
  462. package/dist/types/src/internal/proxy/schema.test.d.ts.map +0 -1
  463. package/dist/types/src/internal/proxy/symbols.d.ts.map +0 -1
  464. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +0 -1
  465. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +0 -1
  466. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +0 -1
  467. package/dist/types/src/internal/ref/index.d.ts.map +0 -1
  468. package/dist/types/src/internal/ref/ref-array.d.ts.map +0 -1
  469. package/dist/types/src/internal/ref/ref.d.ts.map +0 -1
  470. package/dist/types/src/internal/ref/ref.test.d.ts.map +0 -1
  471. package/dist/types/src/internal/schema/compose.d.ts.map +0 -1
  472. package/dist/types/src/internal/schema/compose.test.d.ts.map +0 -1
  473. package/dist/types/src/internal/schema/echo-schema.d.ts.map +0 -1
  474. package/dist/types/src/internal/schema/index.d.ts.map +0 -1
  475. package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
  476. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +0 -1
  477. package/dist/types/src/internal/types/base.d.ts.map +0 -1
  478. package/dist/types/src/internal/types/entity.d.ts.map +0 -1
  479. package/dist/types/src/internal/types/index.d.ts.map +0 -1
  480. package/dist/types/src/internal/types/meta.d.ts.map +0 -1
  481. package/dist/types/src/internal/types/typename.d.ts.map +0 -1
  482. package/dist/types/src/internal/types/version.d.ts.map +0 -1
  483. package/src/internal/api/annotations.ts +0 -60
  484. /package/dist/lib/neutral/{chunk-ANHVGJI4.mjs.map → chunk-7RVZT53K.mjs.map} +0 -0
  485. /package/dist/lib/neutral/{chunk-OMUPQMLR.mjs.map → chunk-V72DY6LU.mjs.map} +0 -0
  486. /package/dist/types/src/internal/{annotations → Annotation}/annotations.test.d.ts +0 -0
  487. /package/dist/types/src/internal/{entities → Entity}/util.d.ts +0 -0
  488. /package/dist/types/src/internal/{formats → Format}/date.d.ts +0 -0
  489. /package/dist/types/src/internal/{formats → Format}/date.test.d.ts +0 -0
  490. /package/dist/types/src/internal/{formats → Format}/format.d.ts +0 -0
  491. /package/dist/types/src/internal/{formats → Format}/format.test.d.ts +0 -0
  492. /package/dist/types/src/internal/{formats → Format}/index.d.ts +0 -0
  493. /package/dist/types/src/internal/{formats → Format}/number.d.ts +0 -0
  494. /package/dist/types/src/internal/{formats → Format}/object.d.ts +0 -0
  495. /package/dist/types/src/internal/{formats → Format}/select.d.ts +0 -0
  496. /package/dist/types/src/internal/{formats → Format}/string.d.ts +0 -0
  497. /package/dist/types/src/internal/{json-schema → JsonSchema}/effect-schema.test.d.ts +0 -0
  498. /package/dist/types/src/internal/{json-schema → JsonSchema}/index.d.ts +0 -0
  499. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-normalize.d.ts +0 -0
  500. /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema.test.d.ts +0 -0
  501. /package/dist/types/src/internal/{object → Obj}/clone.d.ts +0 -0
  502. /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
  503. /package/dist/types/src/internal/{object → Obj}/create-object.test.d.ts +0 -0
  504. /package/dist/types/src/internal/{object → Obj}/index.d.ts +0 -0
  505. /package/dist/types/src/internal/{object → Obj}/inspect.d.ts +0 -0
  506. /package/dist/types/src/internal/{object → Obj}/json-serializer.test.d.ts +0 -0
  507. /package/dist/types/src/internal/{object → Obj}/schema-validator.test.d.ts +0 -0
  508. /package/dist/types/src/internal/{object → Obj}/set-value.test.d.ts +0 -0
  509. /package/dist/types/src/internal/{object → Obj}/snapshot.d.ts +0 -0
  510. /package/dist/types/src/internal/{object → Obj}/typed-object.test.d.ts +0 -0
  511. /package/dist/types/src/internal/{ref → Ref}/index.d.ts +0 -0
  512. /package/dist/types/src/internal/{ref → Ref}/ref.test.d.ts +0 -0
  513. /package/dist/types/src/internal/{schema → Type}/compose.test.d.ts +0 -0
  514. /package/dist/types/src/internal/{schema → Type}/index.d.ts +0 -0
  515. /package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -0
  516. /package/dist/types/src/internal/{proxy → common/proxy}/change.test.d.ts +0 -0
  517. /package/dist/types/src/internal/{proxy → common/proxy}/define-hidden-property.d.ts +0 -0
  518. /package/dist/types/src/internal/{proxy → common/proxy}/event-batch.d.ts +0 -0
  519. /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
  520. /package/dist/types/src/internal/{proxy → common/proxy}/index.d.ts +0 -0
  521. /package/dist/types/src/internal/{proxy → common/proxy}/json-serializer.d.ts +0 -0
  522. /package/dist/types/src/internal/{proxy → common/proxy}/make-object.d.ts +0 -0
  523. /package/dist/types/src/internal/{proxy → common/proxy}/ownership.d.ts +0 -0
  524. /package/dist/types/src/internal/{proxy → common/proxy}/proxy-types.d.ts +0 -0
  525. /package/dist/types/src/internal/{proxy → common/proxy}/proxy-utils.d.ts +0 -0
  526. /package/dist/types/src/internal/{proxy → common/proxy}/schema-validator.d.ts +0 -0
  527. /package/dist/types/src/internal/{proxy → common/proxy}/schema.test.d.ts +0 -0
  528. /package/dist/types/src/internal/{proxy → common/proxy}/symbols.d.ts +0 -0
  529. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.d.ts +0 -0
  530. /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.test.d.ts +0 -0
  531. /package/dist/types/src/internal/{proxy → common/proxy}/typed-object.test.d.ts +0 -0
  532. /package/dist/types/src/internal/{types → common/types}/base.d.ts +0 -0
  533. /package/dist/types/src/internal/{types → common/types}/typename.d.ts +0 -0
  534. /package/src/internal/{entities → Entity}/util.ts +0 -0
  535. /package/src/internal/{formats → Format}/date.ts +0 -0
  536. /package/src/internal/{formats → Format}/format.ts +0 -0
  537. /package/src/internal/{formats → Format}/index.ts +0 -0
  538. /package/src/internal/{formats → Format}/number.ts +0 -0
  539. /package/src/internal/{formats → Format}/object.ts +0 -0
  540. /package/src/internal/{formats → Format}/select.ts +0 -0
  541. /package/src/internal/{formats → Format}/string.ts +0 -0
  542. /package/src/internal/{json-schema → JsonSchema}/effect-schema.test.ts +0 -0
  543. /package/src/internal/{json-schema → JsonSchema}/index.ts +0 -0
  544. /package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +0 -0
  545. /package/src/internal/{object → Obj}/index.ts +0 -0
  546. /package/src/internal/{object → Obj}/schema-validator.test.ts +0 -0
  547. /package/src/internal/{ref → Ref}/index.ts +0 -0
  548. /package/src/internal/{schema → Type}/index.ts +0 -0
  549. /package/src/internal/{proxy → common/proxy}/define-hidden-property.ts +0 -0
  550. /package/src/internal/{proxy → common/proxy}/event-batch.ts +0 -0
  551. /package/src/internal/{proxy → common/proxy}/index.ts +0 -0
  552. /package/src/internal/{proxy → common/proxy}/proxy-types.ts +0 -0
  553. /package/src/internal/{proxy → common/proxy}/proxy-utils.ts +0 -0
  554. /package/src/internal/{proxy → common/proxy}/schema-validator.ts +0 -0
  555. /package/src/internal/{proxy → common/proxy}/symbols.ts +0 -0
  556. /package/src/internal/{types → common/types}/base.ts +0 -0
  557. /package/src/internal/{types → common/types}/typename.ts +0 -0
  558. /package/src/internal/{types → common/types}/version.ts +0 -0
@@ -1,42 +1,48 @@
1
- import "../chunk-BRJSLACP.mjs";
2
- import "../chunk-T6JEFNP6.mjs";
3
- import "../chunk-GAWKQ5DZ.mjs";
4
- import "../chunk-ZTUBYOGB.mjs";
5
- import "../chunk-ANHVGJI4.mjs";
6
- import "../chunk-DZQSL6RW.mjs";
7
- import "../chunk-ZWKJ4LZJ.mjs";
8
- import "../chunk-O3TZFQCT.mjs";
9
- import "../chunk-OMUPQMLR.mjs";
10
- import "../chunk-AQP4QKYP.mjs";
11
- import "../chunk-GFNCSK7F.mjs";
1
+ import "../chunk-MGSQGHOD.mjs";
2
+ import "../chunk-BICZKPQG.mjs";
3
+ import "../chunk-Q2KKKJSV.mjs";
4
+ import "../chunk-TTCSATUD.mjs";
5
+ import "../chunk-7RVZT53K.mjs";
6
+ import "../chunk-FIWO2FZK.mjs";
7
+ import "../chunk-GWFFC34K.mjs";
8
+ import "../chunk-44HT3MEC.mjs";
9
+ import "../chunk-PT37DG2F.mjs";
10
+ import "../chunk-QRZ2I3ZM.mjs";
11
+ import "../chunk-V72DY6LU.mjs";
12
+ import "../chunk-Q7ZL2P5H.mjs";
13
+ import "../chunk-ZFACXBY6.mjs";
12
14
  import {
13
15
  Type_exports,
14
16
  object,
15
17
  relation
16
- } from "../chunk-T4MPQJ7X.mjs";
17
- import "../chunk-ALOGSVBP.mjs";
18
- import {
19
- Ref
20
- } from "../chunk-QXF3LGN2.mjs";
18
+ } from "../chunk-PSZBLH53.mjs";
19
+ import "../chunk-APJKDGFL.mjs";
21
20
  import {
22
21
  Unknown
23
- } from "../chunk-KGV3QIRX.mjs";
24
- import "../chunk-W7OP5HGZ.mjs";
22
+ } from "../chunk-J54QMAKF.mjs";
23
+ import {
24
+ Ref
25
+ } from "../chunk-N7VOEPSV.mjs";
26
+ import "../chunk-SCPFDS2E.mjs";
25
27
  import {
26
28
  EchoSchema,
27
29
  PersistentSchema,
28
30
  makeObject,
29
- subscribe,
31
+ subscribe
32
+ } from "../chunk-G54OX4IX.mjs";
33
+ import "../chunk-APHSOTIX.mjs";
34
+ import {
30
35
  toJsonSchema
31
- } from "../chunk-PP4DNUZU.mjs";
32
- import "../chunk-M2KVTHZM.mjs";
33
- import "../chunk-OVUBTQLT.mjs";
34
- import "../chunk-5ELDDYWE.mjs";
36
+ } from "../chunk-MLS7U7AT.mjs";
37
+ import "../chunk-TRPZU2HV.mjs";
38
+ import "../chunk-BMB7IHGB.mjs";
39
+ import "../chunk-5SL5LDLD.mjs";
40
+ import "../chunk-I2DARWPX.mjs";
35
41
  import {
36
42
  getSchemaTypename
37
- } from "../chunk-F7KMHDPJ.mjs";
38
- import "../chunk-4KG6IGL4.mjs";
39
- import "../chunk-MXQJZCPY.mjs";
43
+ } from "../chunk-TNBK56IN.mjs";
44
+ import "../chunk-N4B7FHQT.mjs";
45
+ import "../chunk-ZISMEVKD.mjs";
40
46
  import "../chunk-J5LGTIGS.mjs";
41
47
 
42
48
  // src/testing/test-data.ts
@@ -50,7 +56,7 @@ import * as Schema from "effect/Schema";
50
56
  key: Schema.String,
51
57
  value: Schema.Any
52
58
  }).pipe(object({
53
- typename: "example.com/type/Expando",
59
+ typename: "com.example.type.expando",
54
60
  version: "0.1.0"
55
61
  }));
56
62
  const Nested = Schema.Struct({
@@ -82,7 +88,7 @@ import * as Schema from "effect/Schema";
82
88
  other: Schema.Any
83
89
  }).pipe(Schema.partial);
84
90
  TestSchema2.Example = TestSchema2.ExampleSchema.pipe(object({
85
- typename: "example.com/type/Example",
91
+ typename: "com.example.type.example",
86
92
  version: "0.1.0"
87
93
  }));
88
94
  TestSchema2.MessageStruct = Schema.Struct({
@@ -91,7 +97,7 @@ import * as Schema from "effect/Schema";
91
97
  timestamp: Schema.String.pipe(Schema.propertySignature, Schema.withConstructorDefault(() => (/* @__PURE__ */ new Date()).toISOString()))
92
98
  });
93
99
  TestSchema2.Message = TestSchema2.MessageStruct.pipe(object({
94
- typename: "example.com/type/Message",
100
+ typename: "com.example.type.message",
95
101
  version: "0.1.0"
96
102
  }));
97
103
  TestSchema2.Organization = Schema.Struct({
@@ -101,7 +107,7 @@ import * as Schema from "effect/Schema";
101
107
  value: Schema.String
102
108
  }))
103
109
  }).pipe(object({
104
- typename: "example.com/type/Organization",
110
+ typename: "com.example.type.organization",
105
111
  version: "0.1.0"
106
112
  }));
107
113
  TestSchema2.Person = Schema.Struct({
@@ -125,7 +131,7 @@ import * as Schema from "effect/Schema";
125
131
  value: Schema.String
126
132
  }).pipe(Schema.Array, Schema.optional)
127
133
  }).pipe(Schema.partial, object({
128
- typename: "example.com/type/Person",
134
+ typename: "com.example.type.person",
129
135
  version: "0.1.0"
130
136
  }));
131
137
  TestSchema2.Task = Schema.Struct({
@@ -137,11 +143,11 @@ import * as Schema from "effect/Schema";
137
143
  subTasks: Schema.optional(Schema.Array(Schema.suspend(() => Ref(TestSchema2.Task)))),
138
144
  description: Schema.optional(Schema.String)
139
145
  }).pipe(Schema.partial, object({
140
- typename: "example.com/type/Task",
146
+ typename: "com.example.type.task",
141
147
  version: "0.1.0"
142
148
  }));
143
149
  TestSchema2.HasManager = Schema.Struct({}).pipe(relation({
144
- typename: "example.com/type/HasManager",
150
+ typename: "com.example.type.has-manager",
145
151
  version: "0.1.0",
146
152
  source: TestSchema2.Person,
147
153
  target: TestSchema2.Person
@@ -150,7 +156,7 @@ import * as Schema from "effect/Schema";
150
156
  role: Schema.String,
151
157
  since: Schema.optional(Schema.String)
152
158
  }).pipe(relation({
153
- typename: "example.com/type/EmployedBy",
159
+ typename: "com.example.type.employed-by",
154
160
  version: "0.1.0",
155
161
  source: TestSchema2.Person,
156
162
  target: TestSchema2.Organization
@@ -169,137 +175,191 @@ import * as Schema from "effect/Schema";
169
175
  type: Schema.Enums(TestSchema2.RecordType)
170
176
  })))
171
177
  }).pipe(Schema.partial, object({
172
- typename: "example.com/type/Container",
178
+ typename: "com.example.type.container",
173
179
  version: "0.1.0"
174
180
  }));
175
181
  })(TestSchema || (TestSchema = {}));
176
182
  var TestSchema;
177
183
 
178
184
  // src/testing/test-data.ts
179
- var spaceKey = PublicKey.random();
185
+ var cachedSpaceKeyHex;
186
+ var getSpaceKeyHex = () => {
187
+ if (cachedSpaceKeyHex === void 0) {
188
+ cachedSpaceKeyHex = PublicKey.random().toHex();
189
+ }
190
+ return cachedSpaceKeyHex;
191
+ };
192
+ var cachedPeopleAlice;
193
+ var cachedPeopleBob;
194
+ var cachedOrgsDxos;
195
+ var cachedOrgsCyberdyne;
196
+ var cachedWorksFredCyberdyne;
197
+ var cachedWorksAliceAperture;
198
+ var cachedTasksTask1;
199
+ var cachedTasksTask2;
180
200
  var PEOPLE = {
181
- alice: DatabaseDirectory.make({
182
- spaceKey: spaceKey.toHex(),
183
- objects: {
184
- [ObjectId.random()]: ObjectStructure.makeObject({
185
- type: Type_exports.getDXN(TestSchema.Person).toString(),
186
- data: {
187
- name: "Alice"
201
+ get alice() {
202
+ if (cachedPeopleAlice === void 0) {
203
+ cachedPeopleAlice = DatabaseDirectory.make({
204
+ spaceKey: getSpaceKeyHex(),
205
+ objects: {
206
+ [ObjectId.random()]: ObjectStructure.makeObject({
207
+ type: Type_exports.getDXN(TestSchema.Person).toString(),
208
+ data: {
209
+ name: "Alice"
210
+ }
211
+ })
188
212
  }
189
- })
213
+ });
190
214
  }
191
- }),
192
- bob: DatabaseDirectory.make({
193
- spaceKey: spaceKey.toHex(),
194
- objects: {
195
- [ObjectId.random()]: ObjectStructure.makeObject({
196
- type: Type_exports.getDXN(TestSchema.Person).toString(),
197
- data: {
198
- name: "Bob"
215
+ return cachedPeopleAlice;
216
+ },
217
+ get bob() {
218
+ if (cachedPeopleBob === void 0) {
219
+ cachedPeopleBob = DatabaseDirectory.make({
220
+ spaceKey: getSpaceKeyHex(),
221
+ objects: {
222
+ [ObjectId.random()]: ObjectStructure.makeObject({
223
+ type: Type_exports.getDXN(TestSchema.Person).toString(),
224
+ data: {
225
+ name: "Bob"
226
+ }
227
+ })
199
228
  }
200
- })
229
+ });
201
230
  }
202
- })
231
+ return cachedPeopleBob;
232
+ }
203
233
  };
204
234
  var ORGS = {
205
- dxos: DatabaseDirectory.make({
206
- spaceKey: spaceKey.toHex(),
207
- objects: {
208
- [ObjectId.random()]: ObjectStructure.makeObject({
209
- type: Type_exports.getDXN(TestSchema.Organization).toString(),
210
- data: {
211
- name: "DXOS",
212
- founded: "2023"
235
+ get dxos() {
236
+ if (cachedOrgsDxos === void 0) {
237
+ cachedOrgsDxos = DatabaseDirectory.make({
238
+ spaceKey: getSpaceKeyHex(),
239
+ objects: {
240
+ [ObjectId.random()]: ObjectStructure.makeObject({
241
+ type: Type_exports.getDXN(TestSchema.Organization).toString(),
242
+ data: {
243
+ name: "DXOS",
244
+ founded: "2023"
245
+ }
246
+ })
213
247
  }
214
- })
248
+ });
215
249
  }
216
- }),
217
- cyberdyne: DatabaseDirectory.make({
218
- spaceKey: spaceKey.toHex(),
219
- objects: {
220
- [ObjectId.random()]: ObjectStructure.makeObject({
221
- type: Type_exports.getDXN(TestSchema.Organization).toString(),
222
- data: {
223
- name: "Cyberdyne Systems",
224
- founded: "1984"
250
+ return cachedOrgsDxos;
251
+ },
252
+ get cyberdyne() {
253
+ if (cachedOrgsCyberdyne === void 0) {
254
+ cachedOrgsCyberdyne = DatabaseDirectory.make({
255
+ spaceKey: getSpaceKeyHex(),
256
+ objects: {
257
+ [ObjectId.random()]: ObjectStructure.makeObject({
258
+ type: Type_exports.getDXN(TestSchema.Organization).toString(),
259
+ data: {
260
+ name: "Cyberdyne Systems",
261
+ founded: "1984"
262
+ }
263
+ })
225
264
  }
226
- })
265
+ });
227
266
  }
228
- })
267
+ return cachedOrgsCyberdyne;
268
+ }
229
269
  };
230
270
  var WORKS_FOR = {
231
- fredWorksForCyberdyne: DatabaseDirectory.make({
232
- spaceKey: spaceKey.toHex(),
233
- objects: {
234
- [ObjectId.random()]: ObjectStructure.makeRelation({
235
- type: Type_exports.getDXN(TestSchema.EmployedBy).toString(),
236
- source: {
237
- "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.bob.objects)[0]).toString()
238
- },
239
- target: {
240
- "/": DXN.fromLocalObjectId(Object.keys(ORGS.cyberdyne.objects)[0]).toString()
241
- },
242
- data: {
243
- since: "2020",
244
- position: "Engineer"
271
+ get fredWorksForCyberdyne() {
272
+ if (cachedWorksFredCyberdyne === void 0) {
273
+ cachedWorksFredCyberdyne = DatabaseDirectory.make({
274
+ spaceKey: getSpaceKeyHex(),
275
+ objects: {
276
+ [ObjectId.random()]: ObjectStructure.makeRelation({
277
+ type: Type_exports.getDXN(TestSchema.EmployedBy).toString(),
278
+ source: {
279
+ "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.bob.objects)[0]).toString()
280
+ },
281
+ target: {
282
+ "/": DXN.fromLocalObjectId(Object.keys(ORGS.cyberdyne.objects)[0]).toString()
283
+ },
284
+ data: {
285
+ since: "2020",
286
+ position: "Engineer"
287
+ }
288
+ })
245
289
  }
246
- })
290
+ });
247
291
  }
248
- }),
249
- aliceWorksForAperture: DatabaseDirectory.make({
250
- spaceKey: spaceKey.toHex(),
251
- objects: {
252
- [ObjectId.random()]: ObjectStructure.makeRelation({
253
- type: Type_exports.getDXN(TestSchema.EmployedBy).toString(),
254
- source: {
255
- "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects)[0]).toString()
256
- },
257
- target: {
258
- "/": DXN.fromLocalObjectId(Object.keys(ORGS.dxos.objects)[0]).toString()
259
- },
260
- data: {
261
- since: "2018",
262
- position: "Research Scientist"
292
+ return cachedWorksFredCyberdyne;
293
+ },
294
+ get aliceWorksForAperture() {
295
+ if (cachedWorksAliceAperture === void 0) {
296
+ cachedWorksAliceAperture = DatabaseDirectory.make({
297
+ spaceKey: getSpaceKeyHex(),
298
+ objects: {
299
+ [ObjectId.random()]: ObjectStructure.makeRelation({
300
+ type: Type_exports.getDXN(TestSchema.EmployedBy).toString(),
301
+ source: {
302
+ "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects)[0]).toString()
303
+ },
304
+ target: {
305
+ "/": DXN.fromLocalObjectId(Object.keys(ORGS.dxos.objects)[0]).toString()
306
+ },
307
+ data: {
308
+ since: "2018",
309
+ position: "Research Scientist"
310
+ }
311
+ })
263
312
  }
264
- })
313
+ });
265
314
  }
266
- })
315
+ return cachedWorksAliceAperture;
316
+ }
267
317
  };
268
318
  var TASKS = {
269
- task1: DatabaseDirectory.make({
270
- spaceKey: spaceKey.toHex(),
271
- objects: {
272
- [ObjectId.random()]: ObjectStructure.makeObject({
273
- type: Type_exports.getDXN(TestSchema.Task).toString(),
274
- data: {
275
- title: "Complete project documentation",
276
- description: "Write comprehensive documentation for the new system",
277
- status: "in-progress",
278
- dueDate: "2023-12-31",
279
- assignee: {
280
- "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.bob.objects)[0]).toString()
281
- }
319
+ get task1() {
320
+ if (cachedTasksTask1 === void 0) {
321
+ cachedTasksTask1 = DatabaseDirectory.make({
322
+ spaceKey: getSpaceKeyHex(),
323
+ objects: {
324
+ [ObjectId.random()]: ObjectStructure.makeObject({
325
+ type: Type_exports.getDXN(TestSchema.Task).toString(),
326
+ data: {
327
+ title: "Complete project documentation",
328
+ description: "Write comprehensive documentation for the new system",
329
+ status: "in-progress",
330
+ dueDate: "2023-12-31",
331
+ assignee: {
332
+ "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.bob.objects)[0]).toString()
333
+ }
334
+ }
335
+ })
282
336
  }
283
- })
337
+ });
284
338
  }
285
- }),
286
- task2: DatabaseDirectory.make({
287
- spaceKey: spaceKey.toHex(),
288
- objects: {
289
- [ObjectId.random()]: ObjectStructure.makeObject({
290
- type: Type_exports.getDXN(TestSchema.Task).toString(),
291
- data: {
292
- title: "Run experiments",
293
- description: "Conduct series of experiments on the portal device",
294
- status: "pending",
295
- dueDate: "2023-11-15",
296
- assignee: {
297
- "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects)[0]).toString()
298
- }
339
+ return cachedTasksTask1;
340
+ },
341
+ get task2() {
342
+ if (cachedTasksTask2 === void 0) {
343
+ cachedTasksTask2 = DatabaseDirectory.make({
344
+ spaceKey: getSpaceKeyHex(),
345
+ objects: {
346
+ [ObjectId.random()]: ObjectStructure.makeObject({
347
+ type: Type_exports.getDXN(TestSchema.Task).toString(),
348
+ data: {
349
+ title: "Run experiments",
350
+ description: "Conduct series of experiments on the portal device",
351
+ status: "pending",
352
+ dueDate: "2023-11-15",
353
+ assignee: {
354
+ "/": DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects)[0]).toString()
355
+ }
356
+ }
357
+ })
299
358
  }
300
- })
359
+ });
301
360
  }
302
- })
361
+ return cachedTasksTask2;
362
+ }
303
363
  };
304
364
 
305
365
  // src/testing/util.ts
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/test-data.ts", "../../../../src/testing/test-schema.ts", "../../../../src/testing/util.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { DatabaseDirectory, ObjectStructure } from '@dxos/echo-protocol';\nimport { DXN, ObjectId, PublicKey } from '@dxos/keys';\n\nimport { Type } from '../index';\n\nimport { TestSchema } from './test-schema';\n\nconst spaceKey = PublicKey.random();\n\n// TODO(burdon): Use Obj.make.\n\nexport const PEOPLE = {\n alice: DatabaseDirectory.make({\n spaceKey: spaceKey.toHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Person)!.toString(),\n data: {\n name: 'Alice',\n },\n }),\n },\n }),\n bob: DatabaseDirectory.make({\n spaceKey: spaceKey.toHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Person)!.toString(),\n data: {\n name: 'Bob',\n },\n }),\n },\n }),\n};\n\nexport const ORGS = {\n dxos: DatabaseDirectory.make({\n spaceKey: spaceKey.toHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Organization)!.toString(),\n data: {\n name: 'DXOS',\n founded: '2023',\n },\n }),\n },\n }),\n cyberdyne: DatabaseDirectory.make({\n spaceKey: spaceKey.toHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Organization)!.toString(),\n data: {\n name: 'Cyberdyne Systems',\n founded: '1984',\n },\n }),\n },\n }),\n};\n\nexport const WORKS_FOR = {\n fredWorksForCyberdyne: DatabaseDirectory.make({\n spaceKey: spaceKey.toHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeRelation({\n type: Type.getDXN(TestSchema.EmployedBy)!.toString(),\n source: { '/': DXN.fromLocalObjectId(Object.keys(PEOPLE.bob.objects!)[0]).toString() },\n target: { '/': DXN.fromLocalObjectId(Object.keys(ORGS.cyberdyne.objects!)[0]).toString() },\n data: {\n since: '2020',\n position: 'Engineer',\n },\n }),\n },\n }),\n aliceWorksForAperture: DatabaseDirectory.make({\n spaceKey: spaceKey.toHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeRelation({\n type: Type.getDXN(TestSchema.EmployedBy)!.toString(),\n source: { '/': DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects!)[0]).toString() },\n target: { '/': DXN.fromLocalObjectId(Object.keys(ORGS.dxos.objects!)[0]).toString() },\n data: {\n since: '2018',\n position: 'Research Scientist',\n },\n }),\n },\n }),\n};\n\nexport const TASKS = {\n task1: DatabaseDirectory.make({\n spaceKey: spaceKey.toHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Task)!.toString(),\n data: {\n title: 'Complete project documentation',\n description: 'Write comprehensive documentation for the new system',\n status: 'in-progress',\n dueDate: '2023-12-31',\n assignee: { '/': DXN.fromLocalObjectId(Object.keys(PEOPLE.bob.objects!)[0]).toString() },\n },\n }),\n },\n }),\n task2: DatabaseDirectory.make({\n spaceKey: spaceKey.toHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Task)!.toString(),\n data: {\n title: 'Run experiments',\n description: 'Conduct series of experiments on the portal device',\n status: 'pending',\n dueDate: '2023-11-15',\n assignee: { '/': DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects!)[0]).toString() },\n },\n }),\n },\n }),\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport * as Obj from '../Obj';\nimport * as Ref from '../Ref';\nimport * as Type from '../Type';\n\nexport namespace TestSchema {\n //\n // Expando\n //\n\n /**\n * Expando object is an object with an arbitrary set of properties.\n * This is the test variant with example.com namespace.\n */\n export const Expando = Schema.Struct({}, { key: Schema.String, value: Schema.Any }).pipe(\n Type.object({\n typename: 'example.com/type/Expando',\n version: '0.1.0',\n }),\n );\n\n export interface Expando extends Schema.Schema.Type<typeof Expando> {}\n\n //\n // Example\n //\n\n const Nested = Schema.Struct({\n field: Schema.String,\n });\n\n export class TestClass {\n field = 'value';\n toJSON() {\n return { field: this.field };\n }\n }\n\n /** @deprecated Use another test schema or create a specific local test schema. */\n export const ExampleSchema = Schema.Struct({\n string: Schema.String,\n number: Schema.Number,\n boolean: Schema.Boolean,\n null: Schema.Null,\n undefined: Schema.Undefined,\n stringArray: Schema.Array(Schema.String),\n twoDimNumberArray: Schema.Array(Schema.Array(Schema.Number)),\n nested: Nested,\n nestedArray: Schema.Array(Nested),\n nestedNullableArray: Schema.Array(Schema.Union(Nested, Schema.Null)),\n reference: Schema.suspend((): Ref.RefSchema<Example> => Ref.Ref(Example)),\n referenceArray: Schema.Array(Schema.suspend((): Ref.RefSchema<Example> => Ref.Ref(Example))),\n classInstance: Schema.instanceOf(TestClass),\n other: Schema.Any,\n }).pipe(Schema.partial);\n\n /** @deprecated Use another test schema or create a specific local test schema. */\n export interface ExampleSchema extends Schema.Schema.Type<typeof ExampleSchema> {}\n\n /** @deprecated Use another test schema or create a specific local test schema. */\n export const Example = ExampleSchema.pipe(\n Type.object({\n typename: 'example.com/type/Example',\n version: '0.1.0',\n }),\n );\n\n /** @deprecated Use another test schema or create a specific local test schema. */\n export interface Example extends Schema.Schema.Type<typeof Example> {}\n\n //\n // Message\n //\n\n // TODO(burdon): Support defaults directly on Type: `make` is erased by `pipe(Type.Obj)`.\n export const MessageStruct = Schema.Struct({\n // TODO(burdon): Support S.Date; Custom Timestamp (with defaults).\n // TODO(burdon): Support defaults (update create and create).\n timestamp: Schema.String.pipe(\n Schema.propertySignature,\n Schema.withConstructorDefault(() => new Date().toISOString()),\n ),\n });\n\n export const Message = MessageStruct.pipe(\n Type.object({\n typename: 'example.com/type/Message',\n version: '0.1.0',\n }),\n );\n\n export interface Message extends Schema.Schema.Type<typeof Message> {}\n\n //\n // Organization\n //\n\n export const Organization = Schema.Struct({\n name: Schema.String,\n properties: Schema.optional(\n Schema.Record({\n key: Schema.String,\n value: Schema.String,\n }),\n ),\n }).pipe(\n Type.object({\n typename: 'example.com/type/Organization',\n version: '0.1.0',\n }),\n );\n\n export interface Organization extends Schema.Schema.Type<typeof Organization> {}\n\n //\n // Person\n //\n\n export const Person = Schema.Struct({\n name: Schema.String,\n username: Schema.String,\n email: Schema.String,\n age: Schema.Number.pipe(Schema.optional),\n tasks: Schema.Array(Schema.suspend((): Ref.RefSchema<Task> => Ref.Ref(Task))),\n employer: Schema.optional(Ref.Ref(Organization)),\n address: Schema.Struct({\n city: Schema.optional(Schema.String),\n state: Schema.optional(Schema.String),\n zip: Schema.optional(Schema.String),\n coordinates: Schema.Struct({\n lat: Schema.optional(Schema.Number),\n lng: Schema.optional(Schema.Number),\n }),\n }),\n fields: Schema.Struct({\n label: Schema.String,\n value: Schema.String,\n }).pipe(Schema.Array, Schema.optional),\n }).pipe(\n Schema.partial,\n Type.object({\n typename: 'example.com/type/Person',\n version: '0.1.0',\n }),\n );\n\n export interface Person extends Schema.Schema.Type<typeof Person> {}\n\n //\n // Task\n //\n\n export const Task = Schema.Struct({\n title: Schema.optional(Schema.String),\n deadline: Schema.optional(Schema.String),\n completed: Schema.optional(Schema.Boolean),\n assignee: Schema.optional(Ref.Ref(Person)),\n previous: Schema.optional(Schema.suspend((): Ref.RefSchema<Task> => Ref.Ref(Task))),\n subTasks: Schema.optional(Schema.Array(Schema.suspend((): Ref.RefSchema<Task> => Ref.Ref(Task)))),\n description: Schema.optional(Schema.String),\n }).pipe(\n Schema.partial,\n Type.object({\n typename: 'example.com/type/Task',\n version: '0.1.0',\n }),\n );\n\n export interface Task extends Schema.Schema.Type<typeof Task> {}\n\n //\n // HasManager\n //\n\n export const HasManager = Schema.Struct({}).pipe(\n Type.relation({\n typename: 'example.com/type/HasManager',\n version: '0.1.0',\n source: Person,\n target: Person,\n }),\n );\n\n export interface HasManager extends Schema.Schema.Type<typeof HasManager> {}\n\n //\n // EmployedBy\n //\n\n export const EmployedBy = Schema.Struct({\n role: Schema.String,\n since: Schema.optional(Schema.String),\n }).pipe(\n Type.relation({\n typename: 'example.com/type/EmployedBy',\n version: '0.1.0',\n source: Person,\n target: Organization,\n }),\n );\n\n export interface EmployedBy extends Schema.Schema.Type<typeof EmployedBy> {}\n\n //\n // RecordType\n //\n\n export enum RecordType {\n UNDEFINED = 0,\n PERSONAL = 1,\n WORK = 2,\n }\n\n export const Container = Schema.Struct({\n objects: Schema.Array(Ref.Ref(Obj.Unknown)),\n records: Schema.Array(\n Schema.partial(\n Schema.Struct({\n title: Schema.String,\n description: Schema.String,\n contacts: Schema.Array(Ref.Ref(Person)),\n type: Schema.Enums(RecordType),\n }),\n ),\n ),\n }).pipe(\n Schema.partial,\n Type.object({\n typename: 'example.com/type/Container',\n version: '0.1.0',\n }),\n );\n\n export interface Container extends Schema.Schema.Type<typeof Container> {}\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type * as Schema from 'effect/Schema';\nimport type * as SchemaAST from 'effect/SchemaAST';\n\nimport { assertArgument } from '@dxos/invariant';\nimport { deepMapValues } from '@dxos/util';\n\nimport { EchoSchema, PersistentSchema, getSchemaTypename, makeObject, subscribe, toJsonSchema } from '../internal';\n\n/**\n * Create a reactive mutable schema that updates when the JSON schema is updated.\n */\n// TODO(dmaretskyi): Should be replaced by registration of typed object.\nexport const createEchoSchema = (schema: Schema.Schema.AnyNoContext, version = '0.1.0'): EchoSchema => {\n const jsonSchema = toJsonSchema(schema);\n const typename = getSchemaTypename(schema);\n assertArgument(typename, 'typename', 'Schema does not have a typename.');\n const echoSchema = new EchoSchema(makeObject(PersistentSchema, { typename, version, jsonSchema }));\n\n // TODO(burdon): Unsubscribe is never called.\n subscribe(echoSchema.persistentSchema, () => {\n echoSchema._invalidate();\n });\n\n return echoSchema;\n};\n\n/**\n * Converts AST to a format that can be compared with test matchers.\n */\nexport const prepareAstForCompare = (obj: SchemaAST.AST): any =>\n deepMapValues(obj, (value: any, recurse: any) => {\n if (typeof value === 'function') {\n return null;\n }\n\n if (value instanceof RegExp) {\n return value;\n }\n\n // Convert symbols to strings.\n if (typeof value === 'object') {\n const clone = { ...value };\n for (const sym of Object.getOwnPropertySymbols(clone as any)) {\n clone[sym.toString()] = clone[sym];\n delete clone[sym];\n }\n\n return recurse(clone);\n }\n\n return recurse(value);\n });\n\n/**\n * Creates an update counter that tracks changes to reactive objects.\n * @param objects - Reactive objects to subscribe to.\n * @returns An object with a count property and Symbol.dispose for cleanup.\n */\nexport const updateCounter = (...objects: object[]) => {\n let updateCount = 0;\n\n const unsubscribes = objects.map((obj) =>\n subscribe(obj, () => {\n updateCount++;\n }),\n );\n\n const unsubscribeAll = () => {\n for (const unsub of unsubscribes) {\n unsub();\n }\n };\n\n return {\n // https://github.com/tc39/proposal-explicit-resource-management\n [Symbol.dispose]: unsubscribeAll,\n get count() {\n return updateCount;\n },\n };\n};\n"],
5
- "mappings": "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",
6
- "names": ["DatabaseDirectory", "ObjectStructure", "DXN", "ObjectId", "PublicKey", "Schema", "TestSchema", "Expando", "Struct", "key", "String", "value", "Any", "pipe", "object", "typename", "version", "Nested", "field", "TestClass", "toJSON", "ExampleSchema", "string", "number", "Number", "boolean", "Boolean", "null", "Null", "undefined", "Undefined", "stringArray", "Array", "twoDimNumberArray", "nested", "nestedArray", "nestedNullableArray", "Union", "reference", "suspend", "Ref", "Example", "referenceArray", "classInstance", "instanceOf", "other", "partial", "MessageStruct", "timestamp", "propertySignature", "withConstructorDefault", "Date", "toISOString", "Message", "Organization", "name", "properties", "optional", "Record", "Person", "username", "email", "age", "tasks", "Task", "employer", "address", "city", "state", "zip", "coordinates", "lat", "lng", "fields", "label", "title", "deadline", "completed", "assignee", "previous", "subTasks", "description", "HasManager", "relation", "source", "target", "EmployedBy", "role", "since", "RecordType", "Container", "objects", "Unknown", "records", "contacts", "type", "Enums", "spaceKey", "PublicKey", "random", "PEOPLE", "alice", "DatabaseDirectory", "make", "toHex", "objects", "ObjectId", "ObjectStructure", "makeObject", "type", "Type", "getDXN", "TestSchema", "Person", "toString", "data", "name", "bob", "ORGS", "dxos", "Organization", "founded", "cyberdyne", "WORKS_FOR", "fredWorksForCyberdyne", "makeRelation", "EmployedBy", "source", "DXN", "fromLocalObjectId", "Object", "keys", "target", "since", "position", "aliceWorksForAperture", "TASKS", "task1", "Task", "title", "description", "status", "dueDate", "assignee", "task2", "assertArgument", "deepMapValues", "createEchoSchema", "schema", "version", "jsonSchema", "toJsonSchema", "typename", "getSchemaTypename", "assertArgument", "echoSchema", "EchoSchema", "makeObject", "PersistentSchema", "subscribe", "persistentSchema", "_invalidate", "prepareAstForCompare", "obj", "deepMapValues", "value", "recurse", "RegExp", "clone", "sym", "Object", "getOwnPropertySymbols", "toString", "updateCounter", "objects", "updateCount", "unsubscribes", "map", "unsubscribeAll", "unsub", "Symbol", "dispose", "count"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { DatabaseDirectory, ObjectStructure } from '@dxos/echo-protocol';\nimport { DXN, ObjectId, PublicKey } from '@dxos/keys';\n\nimport { Type } from '../index';\nimport { TestSchema } from './test-schema';\n\n// Lazy init: Cloudflare workers disallow non-determinism at module scope (e.g. random keys).\nlet cachedSpaceKeyHex: string | undefined;\nconst getSpaceKeyHex = (): string => {\n if (cachedSpaceKeyHex === undefined) {\n cachedSpaceKeyHex = PublicKey.random().toHex();\n }\n return cachedSpaceKeyHex;\n};\n\nlet cachedPeopleAlice: DatabaseDirectory | undefined;\nlet cachedPeopleBob: DatabaseDirectory | undefined;\nlet cachedOrgsDxos: DatabaseDirectory | undefined;\nlet cachedOrgsCyberdyne: DatabaseDirectory | undefined;\nlet cachedWorksFredCyberdyne: DatabaseDirectory | undefined;\nlet cachedWorksAliceAperture: DatabaseDirectory | undefined;\nlet cachedTasksTask1: DatabaseDirectory | undefined;\nlet cachedTasksTask2: DatabaseDirectory | undefined;\n\n// TODO(burdon): Use Obj.make.\n\nexport const PEOPLE = {\n get alice(): DatabaseDirectory {\n if (cachedPeopleAlice === undefined) {\n cachedPeopleAlice = DatabaseDirectory.make({\n spaceKey: getSpaceKeyHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Person)!.toString(),\n data: {\n name: 'Alice',\n },\n }),\n },\n });\n }\n return cachedPeopleAlice;\n },\n\n get bob(): DatabaseDirectory {\n if (cachedPeopleBob === undefined) {\n cachedPeopleBob = DatabaseDirectory.make({\n spaceKey: getSpaceKeyHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Person)!.toString(),\n data: {\n name: 'Bob',\n },\n }),\n },\n });\n }\n return cachedPeopleBob;\n },\n};\n\nexport const ORGS = {\n get dxos(): DatabaseDirectory {\n if (cachedOrgsDxos === undefined) {\n cachedOrgsDxos = DatabaseDirectory.make({\n spaceKey: getSpaceKeyHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Organization)!.toString(),\n data: {\n name: 'DXOS',\n founded: '2023',\n },\n }),\n },\n });\n }\n return cachedOrgsDxos;\n },\n\n get cyberdyne(): DatabaseDirectory {\n if (cachedOrgsCyberdyne === undefined) {\n cachedOrgsCyberdyne = DatabaseDirectory.make({\n spaceKey: getSpaceKeyHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Organization)!.toString(),\n data: {\n name: 'Cyberdyne Systems',\n founded: '1984',\n },\n }),\n },\n });\n }\n return cachedOrgsCyberdyne;\n },\n};\n\nexport const WORKS_FOR = {\n get fredWorksForCyberdyne(): DatabaseDirectory {\n if (cachedWorksFredCyberdyne === undefined) {\n cachedWorksFredCyberdyne = DatabaseDirectory.make({\n spaceKey: getSpaceKeyHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeRelation({\n type: Type.getDXN(TestSchema.EmployedBy)!.toString(),\n source: { '/': DXN.fromLocalObjectId(Object.keys(PEOPLE.bob.objects!)[0]).toString() },\n target: { '/': DXN.fromLocalObjectId(Object.keys(ORGS.cyberdyne.objects!)[0]).toString() },\n data: {\n since: '2020',\n position: 'Engineer',\n },\n }),\n },\n });\n }\n return cachedWorksFredCyberdyne;\n },\n\n get aliceWorksForAperture(): DatabaseDirectory {\n if (cachedWorksAliceAperture === undefined) {\n cachedWorksAliceAperture = DatabaseDirectory.make({\n spaceKey: getSpaceKeyHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeRelation({\n type: Type.getDXN(TestSchema.EmployedBy)!.toString(),\n source: { '/': DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects!)[0]).toString() },\n target: { '/': DXN.fromLocalObjectId(Object.keys(ORGS.dxos.objects!)[0]).toString() },\n data: {\n since: '2018',\n position: 'Research Scientist',\n },\n }),\n },\n });\n }\n return cachedWorksAliceAperture;\n },\n};\n\nexport const TASKS = {\n get task1(): DatabaseDirectory {\n if (cachedTasksTask1 === undefined) {\n cachedTasksTask1 = DatabaseDirectory.make({\n spaceKey: getSpaceKeyHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Task)!.toString(),\n data: {\n title: 'Complete project documentation',\n description: 'Write comprehensive documentation for the new system',\n status: 'in-progress',\n dueDate: '2023-12-31',\n assignee: { '/': DXN.fromLocalObjectId(Object.keys(PEOPLE.bob.objects!)[0]).toString() },\n },\n }),\n },\n });\n }\n return cachedTasksTask1;\n },\n\n get task2(): DatabaseDirectory {\n if (cachedTasksTask2 === undefined) {\n cachedTasksTask2 = DatabaseDirectory.make({\n spaceKey: getSpaceKeyHex(),\n objects: {\n [ObjectId.random()]: ObjectStructure.makeObject({\n type: Type.getDXN(TestSchema.Task)!.toString(),\n data: {\n title: 'Run experiments',\n description: 'Conduct series of experiments on the portal device',\n status: 'pending',\n dueDate: '2023-11-15',\n assignee: { '/': DXN.fromLocalObjectId(Object.keys(PEOPLE.alice.objects!)[0]).toString() },\n },\n }),\n },\n });\n }\n return cachedTasksTask2;\n },\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport * as Obj from '../Obj';\nimport * as Ref from '../Ref';\nimport * as Type from '../Type';\n\nexport namespace TestSchema {\n //\n // Expando\n //\n\n /**\n * Expando object is an object with an arbitrary set of properties.\n * This is the test variant with example.com namespace.\n */\n export const Expando = Schema.Struct({}, { key: Schema.String, value: Schema.Any }).pipe(\n Type.object({\n typename: 'com.example.type.expando',\n version: '0.1.0',\n }),\n );\n\n export interface Expando extends Schema.Schema.Type<typeof Expando> {}\n\n //\n // Example\n //\n\n const Nested = Schema.Struct({\n field: Schema.String,\n });\n\n export class TestClass {\n field = 'value';\n toJSON() {\n return { field: this.field };\n }\n }\n\n /** @deprecated Use another test schema or create a specific local test schema. */\n export const ExampleSchema = Schema.Struct({\n string: Schema.String,\n number: Schema.Number,\n boolean: Schema.Boolean,\n null: Schema.Null,\n undefined: Schema.Undefined,\n stringArray: Schema.Array(Schema.String),\n twoDimNumberArray: Schema.Array(Schema.Array(Schema.Number)),\n nested: Nested,\n nestedArray: Schema.Array(Nested),\n nestedNullableArray: Schema.Array(Schema.Union(Nested, Schema.Null)),\n reference: Schema.suspend((): Ref.RefSchema<Example> => Ref.Ref(Example)),\n referenceArray: Schema.Array(Schema.suspend((): Ref.RefSchema<Example> => Ref.Ref(Example))),\n classInstance: Schema.instanceOf(TestClass),\n other: Schema.Any,\n }).pipe(Schema.partial);\n\n /** @deprecated Use another test schema or create a specific local test schema. */\n export interface ExampleSchema extends Schema.Schema.Type<typeof ExampleSchema> {}\n\n /** @deprecated Use another test schema or create a specific local test schema. */\n export const Example = ExampleSchema.pipe(\n Type.object({\n typename: 'com.example.type.example',\n version: '0.1.0',\n }),\n );\n\n /** @deprecated Use another test schema or create a specific local test schema. */\n export interface Example extends Schema.Schema.Type<typeof Example> {}\n\n //\n // Message\n //\n\n // TODO(burdon): Support defaults directly on Type: `make` is erased by `pipe(Type.Obj)`.\n export const MessageStruct = Schema.Struct({\n // TODO(burdon): Support S.Date; Custom Timestamp (with defaults).\n // TODO(burdon): Support defaults (update create and create).\n timestamp: Schema.String.pipe(\n Schema.propertySignature,\n Schema.withConstructorDefault(() => new Date().toISOString()),\n ),\n });\n\n export const Message = MessageStruct.pipe(\n Type.object({\n typename: 'com.example.type.message',\n version: '0.1.0',\n }),\n );\n\n export interface Message extends Schema.Schema.Type<typeof Message> {}\n\n //\n // Organization\n //\n\n export const Organization = Schema.Struct({\n name: Schema.String,\n properties: Schema.optional(\n Schema.Record({\n key: Schema.String,\n value: Schema.String,\n }),\n ),\n }).pipe(\n Type.object({\n typename: 'com.example.type.organization',\n version: '0.1.0',\n }),\n );\n\n export interface Organization extends Schema.Schema.Type<typeof Organization> {}\n\n //\n // Person\n //\n\n export const Person = Schema.Struct({\n name: Schema.String,\n username: Schema.String,\n email: Schema.String,\n age: Schema.Number.pipe(Schema.optional),\n tasks: Schema.Array(Schema.suspend((): Ref.RefSchema<Task> => Ref.Ref(Task))),\n employer: Schema.optional(Ref.Ref(Organization)),\n address: Schema.Struct({\n city: Schema.optional(Schema.String),\n state: Schema.optional(Schema.String),\n zip: Schema.optional(Schema.String),\n coordinates: Schema.Struct({\n lat: Schema.optional(Schema.Number),\n lng: Schema.optional(Schema.Number),\n }),\n }),\n fields: Schema.Struct({\n label: Schema.String,\n value: Schema.String,\n }).pipe(Schema.Array, Schema.optional),\n }).pipe(\n Schema.partial,\n Type.object({\n typename: 'com.example.type.person',\n version: '0.1.0',\n }),\n );\n\n export interface Person extends Schema.Schema.Type<typeof Person> {}\n\n //\n // Task\n //\n\n export const Task = Schema.Struct({\n title: Schema.optional(Schema.String),\n deadline: Schema.optional(Schema.String),\n completed: Schema.optional(Schema.Boolean),\n assignee: Schema.optional(Ref.Ref(Person)),\n previous: Schema.optional(Schema.suspend((): Ref.RefSchema<Task> => Ref.Ref(Task))),\n subTasks: Schema.optional(Schema.Array(Schema.suspend((): Ref.RefSchema<Task> => Ref.Ref(Task)))),\n description: Schema.optional(Schema.String),\n }).pipe(\n Schema.partial,\n Type.object({\n typename: 'com.example.type.task',\n version: '0.1.0',\n }),\n );\n\n export interface Task extends Schema.Schema.Type<typeof Task> {}\n\n //\n // HasManager\n //\n\n export const HasManager = Schema.Struct({}).pipe(\n Type.relation({\n typename: 'com.example.type.has-manager',\n version: '0.1.0',\n source: Person,\n target: Person,\n }),\n );\n\n export interface HasManager extends Schema.Schema.Type<typeof HasManager> {}\n\n //\n // EmployedBy\n //\n\n export const EmployedBy = Schema.Struct({\n role: Schema.String,\n since: Schema.optional(Schema.String),\n }).pipe(\n Type.relation({\n typename: 'com.example.type.employed-by',\n version: '0.1.0',\n source: Person,\n target: Organization,\n }),\n );\n\n export interface EmployedBy extends Schema.Schema.Type<typeof EmployedBy> {}\n\n //\n // RecordType\n //\n\n export enum RecordType {\n UNDEFINED = 0,\n PERSONAL = 1,\n WORK = 2,\n }\n\n export const Container = Schema.Struct({\n objects: Schema.Array(Ref.Ref(Obj.Unknown)),\n records: Schema.Array(\n Schema.partial(\n Schema.Struct({\n title: Schema.String,\n description: Schema.String,\n contacts: Schema.Array(Ref.Ref(Person)),\n type: Schema.Enums(RecordType),\n }),\n ),\n ),\n }).pipe(\n Schema.partial,\n Type.object({\n typename: 'com.example.type.container',\n version: '0.1.0',\n }),\n );\n\n export interface Container extends Schema.Schema.Type<typeof Container> {}\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type * as Schema from 'effect/Schema';\nimport type * as SchemaAST from 'effect/SchemaAST';\n\nimport { assertArgument } from '@dxos/invariant';\nimport { deepMapValues } from '@dxos/util';\n\nimport { EchoSchema, PersistentSchema, getSchemaTypename, makeObject, subscribe, toJsonSchema } from '../internal';\n\n/**\n * Create a reactive mutable schema that updates when the JSON schema is updated.\n */\n// TODO(dmaretskyi): Should be replaced by registration of typed object.\nexport const createEchoSchema = (schema: Schema.Schema.AnyNoContext, version = '0.1.0'): EchoSchema => {\n const jsonSchema = toJsonSchema(schema);\n const typename = getSchemaTypename(schema);\n assertArgument(typename, 'typename', 'Schema does not have a typename.');\n const echoSchema = new EchoSchema(makeObject(PersistentSchema, { typename, version, jsonSchema }));\n\n // TODO(burdon): Unsubscribe is never called.\n subscribe(echoSchema.persistentSchema, () => {\n echoSchema._invalidate();\n });\n\n return echoSchema;\n};\n\n/**\n * Converts AST to a format that can be compared with test matchers.\n */\nexport const prepareAstForCompare = (obj: SchemaAST.AST): any =>\n deepMapValues(obj, (value: any, recurse: any) => {\n if (typeof value === 'function') {\n return null;\n }\n\n if (value instanceof RegExp) {\n return value;\n }\n\n // Convert symbols to strings.\n if (typeof value === 'object') {\n const clone = { ...value };\n for (const sym of Object.getOwnPropertySymbols(clone as any)) {\n clone[sym.toString()] = clone[sym];\n delete clone[sym];\n }\n\n return recurse(clone);\n }\n\n return recurse(value);\n });\n\n/**\n * Creates an update counter that tracks changes to reactive objects.\n * @param objects - Reactive objects to subscribe to.\n * @returns An object with a count property and Symbol.dispose for cleanup.\n */\nexport const updateCounter = (...objects: object[]) => {\n let updateCount = 0;\n\n const unsubscribes = objects.map((obj) =>\n subscribe(obj, () => {\n updateCount++;\n }),\n );\n\n const unsubscribeAll = () => {\n for (const unsub of unsubscribes) {\n unsub();\n }\n };\n\n return {\n // https://github.com/tc39/proposal-explicit-resource-management\n [Symbol.dispose]: unsubscribeAll,\n get count() {\n return updateCount;\n },\n };\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["DatabaseDirectory", "ObjectStructure", "DXN", "ObjectId", "PublicKey", "Schema", "TestSchema", "Expando", "Struct", "key", "String", "value", "Any", "pipe", "object", "typename", "version", "Nested", "field", "TestClass", "toJSON", "ExampleSchema", "string", "number", "Number", "boolean", "Boolean", "null", "Null", "undefined", "Undefined", "stringArray", "Array", "twoDimNumberArray", "nested", "nestedArray", "nestedNullableArray", "Union", "reference", "suspend", "Ref", "Example", "referenceArray", "classInstance", "instanceOf", "other", "partial", "MessageStruct", "timestamp", "propertySignature", "withConstructorDefault", "Date", "toISOString", "Message", "Organization", "name", "properties", "optional", "Record", "Person", "username", "email", "age", "tasks", "Task", "employer", "address", "city", "state", "zip", "coordinates", "lat", "lng", "fields", "label", "title", "deadline", "completed", "assignee", "previous", "subTasks", "description", "HasManager", "relation", "source", "target", "EmployedBy", "role", "since", "RecordType", "Container", "objects", "Unknown", "records", "contacts", "type", "Enums", "cachedSpaceKeyHex", "getSpaceKeyHex", "undefined", "PublicKey", "random", "toHex", "cachedPeopleAlice", "cachedPeopleBob", "cachedOrgsDxos", "cachedOrgsCyberdyne", "cachedWorksFredCyberdyne", "cachedWorksAliceAperture", "cachedTasksTask1", "cachedTasksTask2", "PEOPLE", "alice", "DatabaseDirectory", "make", "spaceKey", "objects", "ObjectId", "ObjectStructure", "makeObject", "type", "Type", "getDXN", "TestSchema", "Person", "toString", "data", "name", "bob", "ORGS", "dxos", "Organization", "founded", "cyberdyne", "WORKS_FOR", "fredWorksForCyberdyne", "makeRelation", "EmployedBy", "source", "DXN", "fromLocalObjectId", "Object", "keys", "target", "since", "position", "aliceWorksForAperture", "TASKS", "task1", "Task", "title", "description", "status", "dueDate", "assignee", "task2", "assertArgument", "deepMapValues", "createEchoSchema", "schema", "version", "jsonSchema", "toJsonSchema", "typename", "getSchemaTypename", "assertArgument", "echoSchema", "EchoSchema", "makeObject", "PersistentSchema", "subscribe", "persistentSchema", "_invalidate", "prepareAstForCompare", "obj", "deepMapValues", "value", "recurse", "RegExp", "clone", "sym", "Object", "getOwnPropertySymbols", "toString", "updateCounter", "objects", "updateCount", "unsubscribes", "map", "unsubscribeAll", "unsub", "Symbol", "dispose", "count"]
7
7
  }
@@ -1,6 +1,6 @@
1
- export { DescriptionAnnotation, FormInputAnnotation, GeneratorAnnotation, LabelAnnotation, ReferenceAnnotation, SystemTypeAnnotation, TypeAnnotation, getDescriptionWithSchema, getLabelWithSchema, getTypeAnnotation, setDescriptionWithSchema, setLabelWithSchema, IconAnnotation, } from './internal/annotations';
1
+ export { DescriptionAnnotation, FormInputAnnotation, GeneratorAnnotation, LabelAnnotation, ReferenceAnnotation, SystemTypeAnnotation, TypeAnnotation, getDescriptionWithSchema, getLabelWithSchema, getTypeAnnotation, setDescriptionWithSchema, setLabelWithSchema, IconAnnotation, IconFromRefAnnotation, } from './internal/Annotation';
2
2
  import type * as Schema from 'effect/Schema';
3
- import * as internalAnnotations from './internal/annotations';
3
+ import * as internalAnnotations from './internal/Annotation';
4
4
  interface MakeProps<T> {
5
5
  id: string;
6
6
  schema: Schema.Schema<T, any, never>;
@@ -13,7 +13,7 @@ interface MakeProps<T> {
13
13
  * @example
14
14
  * ```ts
15
15
  * const ColorAnnotation = Annotation.make({
16
- * id: 'dxos.org/annotation/Color',
16
+ * id: 'org.dxos.annotation.color',
17
17
  * schema: Schema.String,
18
18
  * });
19
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Annotation.d.ts","sourceRoot":"","sources":["../../../src/Annotation.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,mBAAmB,MAAM,wBAAwB,CAAC;AAE9D,UAAU,SAAS,CAAC,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAC7C,CAAC"}
1
+ {"version":3,"file":"Annotation.d.ts","sourceRoot":"","sources":["../../../src/Annotation.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,mBAAmB,MAAM,uBAAuB,CAAC;AAE7D,UAAU,SAAS,CAAC,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAC7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../src/Collection.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,UAAU;;;wBAQtB,CAAC;AAEF,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC;CAAG;AAE5E,eAAO,MAAM,IAAI,GAAI,QAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,UAAU,CAAC,CAAM,KAAG,UAC5B,CAAC;AAElD,eAAO,MAAM,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,UAAuC,CAAC"}
1
+ {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../src/Collection.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,UAAU;;;wBAYtB,CAAC;AAEF,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC;CAAG;AAE5E,eAAO,MAAM,IAAI,WAAW,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,UAAU,CAAC,CAAC,KAAQ,UAC5B,CAAC;AAElD,eAAO,MAAM,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,UAAuC,CAAC"}