@dxos/echo 0.8.4-main.72ec0f3 → 0.8.4-main.7ace549

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 (332) hide show
  1. package/dist/lib/browser/{chunk-BIDAASFK.mjs → chunk-7GH6RXJ3.mjs} +2246 -2290
  2. package/dist/lib/browser/chunk-7GH6RXJ3.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-E4UTVJNF.mjs +1111 -0
  4. package/dist/lib/browser/chunk-E4UTVJNF.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +18 -8
  6. package/dist/lib/browser/internal/index.mjs +45 -45
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/testing/index.mjs +252 -191
  9. package/dist/lib/browser/testing/index.mjs.map +4 -4
  10. package/dist/lib/node-esm/chunk-JE5RXM2I.mjs +1111 -0
  11. package/dist/lib/node-esm/chunk-JE5RXM2I.mjs.map +7 -0
  12. package/dist/lib/node-esm/{chunk-3SVRRCUU.mjs → chunk-M4B6BMD2.mjs} +2246 -2290
  13. package/dist/lib/node-esm/chunk-M4B6BMD2.mjs.map +7 -0
  14. package/dist/lib/node-esm/index.mjs +18 -8
  15. package/dist/lib/node-esm/internal/index.mjs +45 -45
  16. package/dist/lib/node-esm/meta.json +1 -1
  17. package/dist/lib/node-esm/testing/index.mjs +252 -191
  18. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  19. package/dist/types/src/Annotation.d.ts +2 -0
  20. package/dist/types/src/Annotation.d.ts.map +1 -0
  21. package/dist/types/src/Database.d.ts +137 -0
  22. package/dist/types/src/Database.d.ts.map +1 -0
  23. package/dist/types/src/Entity.d.ts +36 -0
  24. package/dist/types/src/Entity.d.ts.map +1 -0
  25. package/dist/types/src/Format.d.ts +4 -0
  26. package/dist/types/src/Format.d.ts.map +1 -0
  27. package/dist/types/src/JsonSchema.d.ts +9 -0
  28. package/dist/types/src/JsonSchema.d.ts.map +1 -0
  29. package/dist/types/src/Key.d.ts +1 -0
  30. package/dist/types/src/Key.d.ts.map +1 -1
  31. package/dist/types/src/Obj.d.ts +79 -70
  32. package/dist/types/src/Obj.d.ts.map +1 -1
  33. package/dist/types/src/Ref.d.ts +10 -10
  34. package/dist/types/src/Ref.d.ts.map +1 -1
  35. package/dist/types/src/Relation.d.ts +14 -11
  36. package/dist/types/src/Relation.d.ts.map +1 -1
  37. package/dist/types/src/Tag.d.ts +1 -1
  38. package/dist/types/src/Tag.d.ts.map +1 -1
  39. package/dist/types/src/Type.d.ts +39 -49
  40. package/dist/types/src/Type.d.ts.map +1 -1
  41. package/dist/types/src/index.d.ts +6 -3
  42. package/dist/types/src/index.d.ts.map +1 -1
  43. package/dist/types/src/internal/annotations/annotations.d.ts +174 -0
  44. package/dist/types/src/internal/annotations/annotations.d.ts.map +1 -0
  45. package/dist/types/src/internal/annotations/annotations.test.d.ts.map +1 -0
  46. package/dist/types/src/internal/annotations/index.d.ts +3 -0
  47. package/dist/types/src/internal/annotations/index.d.ts.map +1 -0
  48. package/dist/types/src/internal/annotations/util.d.ts +26 -0
  49. package/dist/types/src/internal/annotations/util.d.ts.map +1 -0
  50. package/dist/types/src/internal/entities/entity.d.ts +10 -0
  51. package/dist/types/src/internal/entities/entity.d.ts.map +1 -0
  52. package/dist/types/src/internal/{object → entities}/expando.d.ts +3 -1
  53. package/dist/types/src/internal/entities/expando.d.ts.map +1 -0
  54. package/dist/types/src/internal/entities/index.d.ts +6 -0
  55. package/dist/types/src/internal/entities/index.d.ts.map +1 -0
  56. package/dist/types/src/internal/entities/model.d.ts +70 -0
  57. package/dist/types/src/internal/entities/model.d.ts.map +1 -0
  58. package/dist/types/src/internal/entities/object.d.ts +11 -0
  59. package/dist/types/src/internal/entities/object.d.ts.map +1 -0
  60. package/dist/types/src/internal/entities/relation.d.ts +55 -0
  61. package/dist/types/src/internal/entities/relation.d.ts.map +1 -0
  62. package/dist/types/src/internal/entities/util.d.ts +2 -0
  63. package/dist/types/src/internal/entities/util.d.ts.map +1 -0
  64. package/dist/types/src/internal/formats/format.d.ts +2 -0
  65. package/dist/types/src/internal/formats/format.d.ts.map +1 -1
  66. package/dist/types/src/internal/formats/types.d.ts +7 -7
  67. package/dist/types/src/internal/formats/types.d.ts.map +1 -1
  68. package/dist/types/src/internal/index.d.ts +6 -10
  69. package/dist/types/src/internal/index.d.ts.map +1 -1
  70. package/dist/types/src/internal/json-schema/annotations.d.ts.map +1 -0
  71. package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +1 -0
  72. package/dist/types/src/internal/json-schema/index.d.ts +2 -0
  73. package/dist/types/src/internal/json-schema/index.d.ts.map +1 -1
  74. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -1
  75. package/dist/types/src/internal/{json → json-schema}/json-schema.d.ts +2 -1
  76. package/dist/types/src/internal/json-schema/json-schema.d.ts.map +1 -0
  77. package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +1 -0
  78. package/dist/types/src/internal/object/common.d.ts.map +1 -1
  79. package/dist/types/src/internal/object/{create.d.ts → create-object.d.ts} +8 -9
  80. package/dist/types/src/internal/object/create-object.d.ts.map +1 -0
  81. package/dist/types/src/internal/object/create-object.test.d.ts +2 -0
  82. package/dist/types/src/internal/object/create-object.test.d.ts.map +1 -0
  83. package/dist/types/src/internal/object/deleted.d.ts +2 -2
  84. package/dist/types/src/internal/object/deleted.d.ts.map +1 -1
  85. package/dist/types/src/internal/object/ids.d.ts.map +1 -1
  86. package/dist/types/src/internal/object/index.d.ts +3 -11
  87. package/dist/types/src/internal/object/index.d.ts.map +1 -1
  88. package/dist/types/src/internal/object/json-serializer.d.ts +1 -2
  89. package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -1
  90. package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -1
  91. package/dist/types/src/internal/object/typed-object.d.ts +1 -1
  92. package/dist/types/src/internal/object/typed-object.d.ts.map +1 -1
  93. package/dist/types/src/internal/proxy/index.d.ts +3 -0
  94. package/dist/types/src/internal/proxy/index.d.ts.map +1 -0
  95. package/dist/types/src/internal/proxy/make-object.d.ts +16 -0
  96. package/dist/types/src/internal/proxy/make-object.d.ts.map +1 -0
  97. package/dist/types/src/internal/proxy/typed-handler.d.ts +1 -1
  98. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -1
  99. package/dist/types/src/internal/ref/ref.d.ts +15 -12
  100. package/dist/types/src/internal/ref/ref.d.ts.map +1 -1
  101. package/dist/types/src/internal/schema/compose.d.ts.map +1 -0
  102. package/dist/types/src/internal/schema/compose.test.d.ts.map +1 -0
  103. package/dist/types/src/internal/schema/echo-schema.d.ts +9 -9
  104. package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -1
  105. package/dist/types/src/internal/schema/index.d.ts +3 -4
  106. package/dist/types/src/internal/schema/index.d.ts.map +1 -1
  107. package/dist/types/src/internal/schema/persistent-schema.d.ts +18 -0
  108. package/dist/types/src/internal/schema/persistent-schema.d.ts.map +1 -0
  109. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +1 -1
  110. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +1 -1
  111. package/dist/types/src/internal/types/base.d.ts +37 -0
  112. package/dist/types/src/internal/types/base.d.ts.map +1 -0
  113. package/dist/types/src/internal/{ast/entity-kind.d.ts → types/entity.d.ts} +3 -1
  114. package/dist/types/src/internal/types/entity.d.ts.map +1 -0
  115. package/dist/types/src/internal/types/index.d.ts +5 -2
  116. package/dist/types/src/internal/types/index.d.ts.map +1 -1
  117. package/dist/types/src/internal/{object → types}/meta.d.ts +20 -11
  118. package/dist/types/src/internal/types/meta.d.ts.map +1 -0
  119. package/dist/types/src/internal/types/typename.d.ts +13 -0
  120. package/dist/types/src/internal/types/typename.d.ts.map +1 -0
  121. package/dist/types/src/internal/{object → types}/version.d.ts +3 -2
  122. package/dist/types/src/internal/types/version.d.ts.map +1 -0
  123. package/dist/types/src/query/filter.d.ts +167 -0
  124. package/dist/types/src/query/filter.d.ts.map +1 -0
  125. package/dist/types/src/query/index.d.ts +3 -0
  126. package/dist/types/src/query/index.d.ts.map +1 -1
  127. package/dist/types/src/query/order.d.ts +12 -0
  128. package/dist/types/src/query/order.d.ts.map +1 -0
  129. package/dist/types/src/query/query.d.ts +9 -145
  130. package/dist/types/src/query/query.d.ts.map +1 -1
  131. package/dist/types/src/query/testing.d.ts +51 -0
  132. package/dist/types/src/query/testing.d.ts.map +1 -0
  133. package/dist/types/src/{internal/query/query.d.ts → query/types.d.ts} +1 -1
  134. package/dist/types/src/query/types.d.ts.map +1 -0
  135. package/dist/types/src/query/util.d.ts +8 -0
  136. package/dist/types/src/query/util.d.ts.map +1 -0
  137. package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
  138. package/dist/types/src/testing/index.d.ts +3 -3
  139. package/dist/types/src/testing/index.d.ts.map +1 -1
  140. package/dist/types/src/testing/test-data.d.ts +18 -0
  141. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  142. package/dist/types/src/testing/{types.d.ts → test-schema.d.ts} +166 -57
  143. package/dist/types/src/testing/test-schema.d.ts.map +1 -0
  144. package/dist/types/src/{internal/testing/utils.d.ts → testing/util.d.ts} +11 -5
  145. package/dist/types/src/testing/util.d.ts.map +1 -0
  146. package/dist/types/tsconfig.tsbuildinfo +1 -1
  147. package/package.json +46 -38
  148. package/src/Annotation.ts +17 -0
  149. package/src/Database.ts +189 -0
  150. package/src/Entity.ts +51 -0
  151. package/src/Format.ts +11 -0
  152. package/src/JsonSchema.ts +16 -0
  153. package/src/Key.ts +3 -0
  154. package/src/Obj.ts +248 -181
  155. package/src/Ref.ts +9 -9
  156. package/src/Relation.ts +58 -44
  157. package/src/Tag.ts +2 -1
  158. package/src/Type.ts +96 -83
  159. package/src/index.ts +9 -4
  160. package/src/internal/README.md +83 -0
  161. package/src/internal/{ast → annotations}/annotations.test.ts +13 -15
  162. package/src/internal/annotations/annotations.ts +463 -0
  163. package/src/internal/annotations/index.ts +6 -0
  164. package/src/internal/annotations/util.ts +70 -0
  165. package/src/internal/entities/entity.ts +109 -0
  166. package/src/internal/{object → entities}/expando.ts +7 -5
  167. package/src/internal/entities/index.ts +9 -0
  168. package/src/internal/{object → entities}/model.ts +49 -90
  169. package/src/internal/entities/object.ts +45 -0
  170. package/src/internal/entities/relation.ts +155 -0
  171. package/src/internal/entities/util.ts +33 -0
  172. package/src/internal/formats/date.test.ts +1 -1
  173. package/src/internal/formats/date.ts +5 -5
  174. package/src/internal/formats/format.test.ts +5 -5
  175. package/src/internal/formats/format.ts +3 -0
  176. package/src/internal/formats/number.ts +5 -5
  177. package/src/internal/formats/object.ts +2 -2
  178. package/src/internal/formats/string.ts +9 -9
  179. package/src/internal/formats/types.ts +44 -39
  180. package/src/internal/index.ts +29 -13
  181. package/src/internal/{json → json-schema}/annotations.ts +1 -1
  182. package/src/internal/json-schema/index.ts +2 -0
  183. package/src/internal/json-schema/json-schema-type.ts +4 -3
  184. package/src/internal/{json → json-schema}/json-schema.test.ts +48 -38
  185. package/src/internal/{json → json-schema}/json-schema.ts +16 -7
  186. package/src/internal/object/common.ts +3 -4
  187. package/src/internal/object/{create.test.ts → create-object.test.ts} +30 -32
  188. package/src/internal/object/{create.ts → create-object.ts} +33 -34
  189. package/src/internal/object/deleted.ts +6 -6
  190. package/src/internal/object/ids.ts +1 -1
  191. package/src/internal/object/index.ts +3 -11
  192. package/src/internal/object/inspect.ts +3 -5
  193. package/src/internal/object/json-serializer.test.ts +33 -38
  194. package/src/internal/object/json-serializer.ts +43 -38
  195. package/src/internal/object/schema-validator.ts +3 -2
  196. package/src/internal/object/typed-object.test.ts +1 -1
  197. package/src/internal/object/typed-object.ts +11 -5
  198. package/src/internal/proxy/handler.test.ts +30 -20
  199. package/src/internal/proxy/index.ts +6 -0
  200. package/src/internal/proxy/{reactive-object.ts → make-object.ts} +19 -14
  201. package/src/internal/proxy/schema.test.ts +5 -4
  202. package/src/internal/proxy/typed-handler.test.ts +28 -28
  203. package/src/internal/proxy/typed-handler.ts +8 -3
  204. package/src/internal/proxy/typed-object.test.ts +16 -11
  205. package/src/internal/ref/ref.test.ts +8 -7
  206. package/src/internal/ref/ref.ts +24 -20
  207. package/src/internal/{projection → schema}/compose.test.ts +5 -6
  208. package/src/internal/{projection → schema}/compose.ts +2 -1
  209. package/src/internal/schema/echo-schema.ts +30 -28
  210. package/src/internal/schema/index.ts +3 -4
  211. package/src/internal/schema/manipulation.ts +1 -1
  212. package/src/internal/schema/persistent-schema.ts +28 -0
  213. package/src/internal/schema/runtime-schema-registry.ts +4 -4
  214. package/src/internal/types/base.ts +58 -0
  215. package/src/internal/{ast/entity-kind.ts → types/entity.ts} +8 -0
  216. package/src/internal/types/index.ts +5 -2
  217. package/src/internal/{object → types}/meta.ts +32 -17
  218. package/src/internal/types/typename.ts +45 -0
  219. package/src/internal/types/version.ts +20 -0
  220. package/src/query/filter.ts +455 -0
  221. package/src/query/index.ts +4 -1
  222. package/src/query/order.ts +34 -0
  223. package/src/query/query.test.ts +48 -115
  224. package/src/query/query.ts +16 -502
  225. package/src/query/testing.ts +64 -0
  226. package/src/query/util.ts +25 -0
  227. package/src/testing/api.test.ts +100 -0
  228. package/src/testing/index.ts +3 -3
  229. package/src/testing/test-data.ts +130 -0
  230. package/src/testing/test-schema.ts +213 -0
  231. package/src/{internal/testing/utils.ts → testing/util.ts} +38 -14
  232. package/dist/lib/browser/chunk-BIDAASFK.mjs.map +0 -7
  233. package/dist/lib/browser/chunk-ZDLCWGEW.mjs +0 -410
  234. package/dist/lib/browser/chunk-ZDLCWGEW.mjs.map +0 -7
  235. package/dist/lib/browser/chunk-ZFRJKT4A.mjs +0 -585
  236. package/dist/lib/browser/chunk-ZFRJKT4A.mjs.map +0 -7
  237. package/dist/lib/browser/query/index.mjs +0 -13
  238. package/dist/lib/browser/query/index.mjs.map +0 -7
  239. package/dist/lib/node-esm/chunk-3SVRRCUU.mjs.map +0 -7
  240. package/dist/lib/node-esm/chunk-CGDHRZWH.mjs +0 -585
  241. package/dist/lib/node-esm/chunk-CGDHRZWH.mjs.map +0 -7
  242. package/dist/lib/node-esm/chunk-HWS6VBQC.mjs +0 -410
  243. package/dist/lib/node-esm/chunk-HWS6VBQC.mjs.map +0 -7
  244. package/dist/lib/node-esm/query/index.mjs +0 -13
  245. package/dist/lib/node-esm/query/index.mjs.map +0 -7
  246. package/dist/types/src/internal/ast/annotation-helper.d.ts +0 -8
  247. package/dist/types/src/internal/ast/annotation-helper.d.ts.map +0 -1
  248. package/dist/types/src/internal/ast/annotations.d.ts +0 -131
  249. package/dist/types/src/internal/ast/annotations.d.ts.map +0 -1
  250. package/dist/types/src/internal/ast/annotations.test.d.ts.map +0 -1
  251. package/dist/types/src/internal/ast/entity-kind.d.ts.map +0 -1
  252. package/dist/types/src/internal/ast/index.d.ts +0 -5
  253. package/dist/types/src/internal/ast/index.d.ts.map +0 -1
  254. package/dist/types/src/internal/ast/types.d.ts +0 -6
  255. package/dist/types/src/internal/ast/types.d.ts.map +0 -1
  256. package/dist/types/src/internal/json/annotations.d.ts.map +0 -1
  257. package/dist/types/src/internal/json/effect-schema.test.d.ts.map +0 -1
  258. package/dist/types/src/internal/json/index.d.ts +0 -2
  259. package/dist/types/src/internal/json/index.d.ts.map +0 -1
  260. package/dist/types/src/internal/json/json-schema.d.ts.map +0 -1
  261. package/dist/types/src/internal/json/json-schema.test.d.ts.map +0 -1
  262. package/dist/types/src/internal/object/accessors.d.ts +0 -37
  263. package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
  264. package/dist/types/src/internal/object/create.d.ts.map +0 -1
  265. package/dist/types/src/internal/object/create.test.d.ts +0 -2
  266. package/dist/types/src/internal/object/create.test.d.ts.map +0 -1
  267. package/dist/types/src/internal/object/entity.d.ts +0 -33
  268. package/dist/types/src/internal/object/entity.d.ts.map +0 -1
  269. package/dist/types/src/internal/object/expando.d.ts.map +0 -1
  270. package/dist/types/src/internal/object/meta.d.ts.map +0 -1
  271. package/dist/types/src/internal/object/model.d.ts +0 -117
  272. package/dist/types/src/internal/object/model.d.ts.map +0 -1
  273. package/dist/types/src/internal/object/relation.d.ts +0 -17
  274. package/dist/types/src/internal/object/relation.d.ts.map +0 -1
  275. package/dist/types/src/internal/object/typename.d.ts +0 -15
  276. package/dist/types/src/internal/object/typename.d.ts.map +0 -1
  277. package/dist/types/src/internal/object/version.d.ts.map +0 -1
  278. package/dist/types/src/internal/projection/compose.d.ts.map +0 -1
  279. package/dist/types/src/internal/projection/compose.test.d.ts.map +0 -1
  280. package/dist/types/src/internal/projection/index.d.ts +0 -2
  281. package/dist/types/src/internal/projection/index.d.ts.map +0 -1
  282. package/dist/types/src/internal/proxy/reactive-object.d.ts +0 -15
  283. package/dist/types/src/internal/proxy/reactive-object.d.ts.map +0 -1
  284. package/dist/types/src/internal/query/index.d.ts +0 -2
  285. package/dist/types/src/internal/query/index.d.ts.map +0 -1
  286. package/dist/types/src/internal/query/query.d.ts.map +0 -1
  287. package/dist/types/src/internal/schema/stored-schema.d.ts +0 -13
  288. package/dist/types/src/internal/schema/stored-schema.d.ts.map +0 -1
  289. package/dist/types/src/internal/testing/index.d.ts +0 -3
  290. package/dist/types/src/internal/testing/index.d.ts.map +0 -1
  291. package/dist/types/src/internal/testing/types.d.ts +0 -381
  292. package/dist/types/src/internal/testing/types.d.ts.map +0 -1
  293. package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
  294. package/dist/types/src/internal/types/types.d.ts +0 -79
  295. package/dist/types/src/internal/types/types.d.ts.map +0 -1
  296. package/dist/types/src/internal/types/types.test.d.ts +0 -2
  297. package/dist/types/src/internal/types/types.test.d.ts.map +0 -1
  298. package/dist/types/src/internal/types/util.d.ts +0 -5
  299. package/dist/types/src/internal/types/util.d.ts.map +0 -1
  300. package/dist/types/src/testing/echo-schema.d.ts +0 -7
  301. package/dist/types/src/testing/echo-schema.d.ts.map +0 -1
  302. package/dist/types/src/testing/types.d.ts.map +0 -1
  303. package/src/internal/ast/annotation-helper.ts +0 -22
  304. package/src/internal/ast/annotations.ts +0 -226
  305. package/src/internal/ast/index.ts +0 -8
  306. package/src/internal/ast/types.ts +0 -17
  307. package/src/internal/json/index.ts +0 -5
  308. package/src/internal/object/accessors.ts +0 -153
  309. package/src/internal/object/entity.ts +0 -248
  310. package/src/internal/object/relation.ts +0 -24
  311. package/src/internal/object/typename.ts +0 -61
  312. package/src/internal/object/version.ts +0 -22
  313. package/src/internal/projection/index.ts +0 -5
  314. package/src/internal/query/index.ts +0 -5
  315. package/src/internal/schema/stored-schema.ts +0 -26
  316. package/src/internal/testing/index.ts +0 -6
  317. package/src/internal/testing/types.ts +0 -144
  318. package/src/internal/types/types.test.ts +0 -48
  319. package/src/internal/types/types.ts +0 -176
  320. package/src/internal/types/util.ts +0 -9
  321. package/src/test/api.test.ts +0 -180
  322. package/src/testing/echo-schema.ts +0 -39
  323. package/src/testing/types.ts +0 -108
  324. /package/dist/types/src/internal/{ast → annotations}/annotations.test.d.ts +0 -0
  325. /package/dist/types/src/internal/{json → json-schema}/annotations.d.ts +0 -0
  326. /package/dist/types/src/internal/{json → json-schema}/effect-schema.test.d.ts +0 -0
  327. /package/dist/types/src/internal/{json → json-schema}/json-schema.test.d.ts +0 -0
  328. /package/dist/types/src/internal/{projection → schema}/compose.d.ts +0 -0
  329. /package/dist/types/src/internal/{projection → schema}/compose.test.d.ts +0 -0
  330. /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
  331. /package/src/internal/{json → json-schema}/effect-schema.test.ts +0 -0
  332. /package/src/{internal/query/query.ts → query/types.ts} +0 -0
@@ -1,27 +1,21 @@
1
- import type * as EffectSchema from 'effect/Schema';
1
+ import type * as Schema$ from 'effect/Schema';
2
2
  import { type EncodedReference } from '@dxos/echo-protocol';
3
- import type * as Keys from '@dxos/keys';
4
- import { type ToMutable } from './internal';
5
- import * as EchoSchema from './internal';
6
- import type * as RelationModule from './Relation';
7
- export declare const KindId: unique symbol;
8
- export type KindId = typeof KindId;
9
- export declare const Kind: typeof EchoSchema.EntityKind;
10
- /**
11
- * Assigns a kind to an Object or Relation instance.
12
- */
13
- export interface OfKind<Kind extends EchoSchema.EntityKind> {
14
- readonly id: Keys.ObjectId;
15
- readonly [KindId]: Kind;
16
- }
17
- /**
18
- * Base ECHO schema type.
19
- */
20
- export type Schema = EchoSchema.EchoSchema;
3
+ import { type DXN } from '@dxos/keys';
4
+ import { type ToMutable } from '@dxos/util';
5
+ import type * as Entity$ from './Entity';
6
+ import { type ATTR_RELATION_SOURCE, type ATTR_RELATION_TARGET, type EchoRelationSchemaOptions, EchoSchema, Expando as Expando$, type ExpandoEncoded, PersistentSchema, type PersistentSchemaEncoded, Ref as Ref$, type RefFn, type RefSchema, type TypeAnnotation, type TypeMeta, toEffectSchema, toJsonSchema } from './internal';
7
+ import type * as Relation$ from './Relation';
8
+ export { toEffectSchema, toJsonSchema };
21
9
  /**
22
10
  * Returns all properties of an object or relation except for the id and kind.
23
11
  */
24
- export type Properties<T = any> = Omit<T, 'id' | KindId | RelationModule.Source | RelationModule.Target>;
12
+ export type Properties<T = any> = Omit<T, 'id' | Entity$.KindId | Relation$.Source | Relation$.Target>;
13
+ export declare namespace Entity {
14
+ /**
15
+ * Type.Obj.Any | Type.Relation.Any.
16
+ */
17
+ type Any = Obj.Any | Relation.Any;
18
+ }
25
19
  interface ObjJsonProps {
26
20
  id: string;
27
21
  }
@@ -31,13 +25,13 @@ interface ObjJsonProps {
31
25
  * This typedef avoids `TS4023` error (name from external module cannot be used named).
32
26
  * See Effect's note on interface types.
33
27
  */
34
- export interface obj<Self extends EffectSchema.Schema.Any> extends EchoSchema.TypeMeta, EffectSchema.AnnotableClass<obj<Self>, OfKind<EchoSchema.EntityKind.Object> & ToMutable<EffectSchema.Schema.Type<Self>>, EffectSchema.Simplify<ObjJsonProps & ToMutable<EffectSchema.Schema.Encoded<Self>>>, EffectSchema.Schema.Context<Self>> {
28
+ export interface obj<Self extends Schema$.Schema.Any> extends TypeMeta, Schema$.AnnotableClass<obj<Self>, Entity$.OfKind<typeof Entity$.Kind.Object> & ToMutable<Schema$.Schema.Type<Self>>, Schema$.Simplify<ObjJsonProps & ToMutable<Schema$.Schema.Encoded<Self>>>, Schema$.Schema.Context<Self>> {
35
29
  }
36
30
  /**
37
31
  * Object schema.
38
32
  */
39
33
  export declare const Obj: {
40
- (opts: EchoSchema.TypeMeta): <Self extends EffectSchema.Schema.Any>(self: Self) => obj<Self>;
34
+ (opts: TypeMeta): <Self extends Schema$.Schema.Any>(self: Self) => obj<Self>;
41
35
  };
42
36
  /**
43
37
  * Object schema type definitions.
@@ -47,19 +41,17 @@ export declare namespace Obj {
47
41
  * Type that represents an arbitrary schema type of an object.
48
42
  * NOTE: This is not an instance type.
49
43
  */
50
- type Any = EffectSchema.Schema.AnyNoContext;
51
- }
52
- export interface Expando extends OfKind<EchoSchema.EntityKind.Object> {
53
- [key: string]: any;
44
+ type Any = obj<Schema$.Schema.AnyNoContext>;
54
45
  }
55
- type ExpandoEncoded = EffectSchema.Simplify<ObjJsonProps & {
56
- [key: string]: any;
57
- }>;
58
- export declare const Expando: EffectSchema.Schema<Expando, ExpandoEncoded, never>;
46
+ export declare const Expando: obj<Schema$.Schema<Expando$, ExpandoEncoded>>;
47
+ export type Expando = obj<Schema$.Schema<Expando$, ExpandoEncoded>>;
48
+ export declare const PersistentType: obj<Schema$.Schema<PersistentSchema, PersistentSchemaEncoded>>;
49
+ export type PersistentType = obj<Schema$.Schema<PersistentSchema, PersistentSchemaEncoded>>;
50
+ export { EchoSchema as RuntimeType };
59
51
  interface RelationJsonProps {
60
52
  id: string;
61
- [EchoSchema.ATTR_RELATION_SOURCE]: string;
62
- [EchoSchema.ATTR_RELATION_TARGET]: string;
53
+ [ATTR_RELATION_SOURCE]: string;
54
+ [ATTR_RELATION_TARGET]: string;
63
55
  }
64
56
  /**
65
57
  * Return type of the `Relation` schema constructor.
@@ -67,13 +59,13 @@ interface RelationJsonProps {
67
59
  * This typedef avoids `TS4023` error (name from external module cannot be used named).
68
60
  * See Effect's note on interface types.
69
61
  */
70
- export interface relation<Self extends EffectSchema.Schema.Any, SourceSchema extends EffectSchema.Schema.Any, TargetSchema extends EffectSchema.Schema.Any> extends EchoSchema.TypeMeta, EffectSchema.AnnotableClass<relation<Self, SourceSchema, TargetSchema>, OfKind<EchoSchema.EntityKind.Relation> & Relation.Endpoints<EffectSchema.Schema.Type<SourceSchema>, EffectSchema.Schema.Type<TargetSchema>> & ToMutable<EffectSchema.Schema.Type<Self>>, EffectSchema.Simplify<RelationJsonProps & ToMutable<EffectSchema.Schema.Encoded<Self>>>, EffectSchema.Schema.Context<Self>> {
62
+ export interface relation<Self extends Schema$.Schema.Any, SourceSchema extends Schema$.Schema.Any, TargetSchema extends Schema$.Schema.Any> extends TypeMeta, Schema$.AnnotableClass<relation<Self, SourceSchema, TargetSchema>, Entity$.OfKind<typeof Entity$.Kind.Relation> & Relation.Endpoints<Schema$.Schema.Type<SourceSchema>, Schema$.Schema.Type<TargetSchema>> & ToMutable<Schema$.Schema.Type<Self>>, Schema$.Simplify<RelationJsonProps & ToMutable<Schema$.Schema.Encoded<Self>>>, Schema$.Schema.Context<Self>> {
71
63
  }
72
64
  /**
73
65
  * Relation schema.
74
66
  */
75
67
  export declare const Relation: {
76
- <Source extends EffectSchema.Schema.AnyNoContext, Target extends EffectSchema.Schema.AnyNoContext>(opts: EchoSchema.EchoRelationOptions<Source, Target>): <Self extends EffectSchema.Schema.Any>(self: Self) => relation<Self, Source, Target>;
68
+ <Source extends Schema$.Schema.AnyNoContext, Target extends Schema$.Schema.AnyNoContext>(opts: EchoRelationSchemaOptions<Source, Target>): <Self extends Schema$.Schema.Any>(self: Self) => relation<Self, Source, Target>;
77
69
  };
78
70
  /**
79
71
  * Relation schema type definitions.
@@ -83,7 +75,7 @@ export declare namespace Relation {
83
75
  * Type that represents an arbitrary schema type of a relation.
84
76
  * NOTE: This is not an instance type.
85
77
  */
86
- type Any = EffectSchema.Schema.AnyNoContext;
78
+ type Any = Schema$.Schema.AnyNoContext;
87
79
  /**
88
80
  * Get relation source type.
89
81
  */
@@ -93,8 +85,8 @@ export declare namespace Relation {
93
85
  */
94
86
  type Target<A> = A extends Relation.Endpoints<infer _S, infer T> ? T : never;
95
87
  type Endpoints<Source, Target> = {
96
- [RelationModule.Source]: Source;
97
- [RelationModule.Target]: Target;
88
+ [Relation$.Source]: Source;
89
+ [Relation$.Target]: Target;
98
90
  };
99
91
  }
100
92
  /**
@@ -103,20 +95,20 @@ export declare namespace Relation {
103
95
  * This typedef avoids `TS4023` error (name from external module cannot be used named).
104
96
  * See Effect's note on interface types.
105
97
  */
106
- export interface ref<TargetSchema extends EffectSchema.Schema.Any> extends EchoSchema.Ref$<EffectSchema.Schema.Type<TargetSchema>> {
98
+ export interface ref<TargetSchema extends Schema$.Schema.Any> extends RefSchema<Schema$.Schema.Type<TargetSchema>> {
107
99
  }
108
100
  /**
109
101
  * Ref schema.
110
102
  */
111
- export declare const Ref: <S extends Obj.Any>(schema: S) => ref<S>;
112
- export interface Ref<T> extends EffectSchema.SchemaClass<EchoSchema.Ref<T>, EncodedReference> {
103
+ export declare const Ref: RefFn;
104
+ export interface Ref<T> extends Schema$.SchemaClass<Ref$<T>, EncodedReference> {
113
105
  }
114
106
  export declare namespace Ref {
115
107
  /**
116
108
  * Type that represents an arbitrary schema type of a reference.
117
109
  * NOTE: This is not an instance type.
118
110
  */
119
- type Any = EffectSchema.Schema<EchoSchema.Ref<any>, EncodedReference>;
111
+ type Any = Schema$.Schema<Ref$<any>, EncodedReference>;
120
112
  }
121
113
  /**
122
114
  * Gets the full DXN of the schema.
@@ -124,29 +116,27 @@ export declare namespace Ref {
124
116
  * @example "dxn:example.com/type/Person:0.1.0"
125
117
  * @example "dxn:echo:SSSSSSSSSS:XXXXXXXXXXXXX"
126
118
  */
127
- export declare const getDXN: (schema: Obj.Any | Relation.Any) => Keys.DXN | undefined;
119
+ export declare const getDXN: (schema: Entity.Any) => DXN | undefined;
128
120
  /**
129
121
  * @param schema - Schema to get the typename from.
130
122
  * @returns The typename of the schema. Example: `example.com/type/Person`.
131
123
  */
132
- export declare const getTypename: (schema: Obj.Any | Relation.Any) => string;
124
+ export declare const getTypename: (schema: Entity.Any) => string;
133
125
  /**
134
126
  * Gets the version of the schema.
135
127
  * @example 0.1.0
136
128
  */
137
- export declare const getVersion: (schema: Obj.Any | Relation.Any) => string;
129
+ export declare const getVersion: (schema: Entity.Any) => string;
138
130
  /**
139
131
  * @returns True if the schema is mutable.
140
132
  */
141
- export declare const isMutable: (schema: EffectSchema.Schema.AnyNoContext) => schema is EchoSchema.EchoSchema;
133
+ export declare const isMutable: (schema: Schema$.Schema.AnyNoContext) => schema is EchoSchema;
142
134
  /**
143
135
  * ECHO type metadata.
144
136
  */
145
- export type Meta = EchoSchema.TypeAnnotation;
137
+ export type Meta = TypeAnnotation;
146
138
  /**
147
139
  * Gets the meta data of the schema.
148
140
  */
149
- export declare const getMeta: (schema: Obj.Any | Relation.Any) => Meta | undefined;
150
- export { SpaceId, ObjectId, DXN } from '@dxos/keys';
151
- export { Format, JsonSchemaType as JsonSchema, toEffectSchema, toJsonSchema } from './internal';
141
+ export declare const getMeta: (schema: Entity.Any) => Meta | undefined;
152
142
  //# sourceMappingURL=Type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../src/Type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../src/Type.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,15 @@
1
+ export { DXN } from '@dxos/keys';
1
2
  export * from './errors';
2
3
  export * from './query';
4
+ export * as Annotation from './Annotation';
5
+ export * as Database from './Database';
6
+ export * as Entity from './Entity';
7
+ export * as Format from './Format';
8
+ export * as JsonSchema from './JsonSchema';
3
9
  export * as Key from './Key';
4
10
  export * as Obj from './Obj';
5
11
  export * as Ref from './Ref';
6
12
  export * as Relation from './Relation';
7
13
  export * as Tag from './Tag';
8
14
  export * as Type from './Type';
9
- export { QueryAST } from '@dxos/echo-protocol';
10
- export { DXN } from '@dxos/keys';
11
- export { type Live } from '@dxos/live-object';
12
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAExB,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAExB,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,174 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import * as SchemaAST from 'effect/SchemaAST';
3
+ import { Reference } from '@dxos/echo-protocol';
4
+ import { DXN } from '@dxos/keys';
5
+ import { type Primitive } from '@dxos/util';
6
+ import { EntityKind } from '../types';
7
+ /**
8
+ * Sets the path for the field.
9
+ * @param path Data source path in the json path format. This is the field path in the source object.
10
+ */
11
+ export declare const FieldPath: (path: string) => <A, I, R>(self: Schema.Schema<A, I, R>) => Schema.Schema<A, I, R>;
12
+ /**
13
+ * ECHO identifier (for a stored schema).
14
+ * Must be a `dxn:echo:` URI.
15
+ */
16
+ export declare const TypeIdentifierAnnotationId: unique symbol;
17
+ export declare const getTypeIdentifierAnnotation: (schema: Schema.Schema.All) => string | undefined;
18
+ /**
19
+ * Fully qualified globally unique typename.
20
+ * Example: `dxos.org/type/Person`
21
+ */
22
+ export declare const TypenameSchema: Schema.refine<string, typeof Schema.String>;
23
+ /**
24
+ * Semantic version format: `major.minor.patch`
25
+ * Example: `1.0.0`
26
+ */
27
+ export declare const VersionSchema: Schema.refine<string, typeof Schema.String>;
28
+ export declare const TypeMeta: Schema.Struct<{
29
+ typename: Schema.refine<string, typeof Schema.String>;
30
+ version: Schema.refine<string, typeof Schema.String>;
31
+ }>;
32
+ export interface TypeMeta extends Schema.Schema.Type<typeof TypeMeta> {
33
+ }
34
+ /**
35
+ * Entity type.
36
+ */
37
+ export declare const TypeAnnotationId: unique symbol;
38
+ /**
39
+ * Payload stored under {@link TypeAnnotationId}.
40
+ */
41
+ export declare const TypeAnnotation: Schema.extend<Schema.Struct<{
42
+ typename: Schema.refine<string, typeof Schema.String>;
43
+ version: Schema.refine<string, typeof Schema.String>;
44
+ }>, Schema.Struct<{
45
+ kind: Schema.Enums<typeof EntityKind>;
46
+ /**
47
+ * If this is a relation, the schema of the source object.
48
+ * Must be present if entity kind is {@link EntityKind.Relation}.
49
+ */
50
+ sourceSchema: Schema.optional<Schema.refine<string, typeof Schema.NonEmptyString>>;
51
+ /**
52
+ * If this is a relation, the schema of the target object.
53
+ * Must be present if entity kind is {@link EntityKind.Relation}.
54
+ */
55
+ targetSchema: Schema.optional<Schema.refine<string, typeof Schema.NonEmptyString>>;
56
+ }>>;
57
+ export interface TypeAnnotation extends Schema.Schema.Type<typeof TypeAnnotation> {
58
+ }
59
+ /**
60
+ * @returns {@link TypeAnnotation} from a schema.
61
+ * Schema must have been created with {@link TypedObject} or {@link TypedLink} or manually assigned an appropriate annotation.
62
+ */
63
+ export declare const getTypeAnnotation: (schema: Schema.Schema.All) => TypeAnnotation | undefined;
64
+ /**
65
+ * @returns {@link EntityKind} from a schema.
66
+ */
67
+ export declare const getEntityKind: (schema: Schema.Schema.All) => EntityKind | undefined;
68
+ /**
69
+ * Checks if the object is an instance of the schema.
70
+ * Only typename is compared, the schema version is ignored.
71
+ *
72
+ * The following cases are considered to mean that the object is an instance of the schema:
73
+ * - Object was created with this exact schema.
74
+ * - Object was created with a different version of this schema.
75
+ * - Object was created with a different schema (maybe dynamic) that has the same typename.
76
+ */
77
+ export declare const isInstanceOf: <Schema extends Schema.Schema.AnyNoContext>(schema: Schema, object: any) => object is Schema.Schema.Type<Schema>;
78
+ /**
79
+ * PropertyMeta (metadata for dynamic schema properties).
80
+ * For user-defined annotations.
81
+ */
82
+ export declare const PropertyMetaAnnotationId: unique symbol;
83
+ export type PropertyMetaValue = Primitive | Record<string, Primitive> | Primitive[];
84
+ export type PropertyMetaAnnotation = {
85
+ [name: string]: PropertyMetaValue;
86
+ };
87
+ export declare const PropertyMeta: (name: string, value: PropertyMetaValue) => <A, I, R>(self: Schema.Schema<A, I, R>) => Schema.Schema<A, I, R>;
88
+ export declare const getPropertyMetaAnnotation: <T>(prop: SchemaAST.PropertySignature, name: string) => T | undefined;
89
+ /**
90
+ * Schema reference.
91
+ */
92
+ export declare const ReferenceAnnotationId: unique symbol;
93
+ export type ReferenceAnnotationValue = TypeAnnotation;
94
+ export declare const getReferenceAnnotation: (schema: Schema.Schema.AnyNoContext) => TypeAnnotation | undefined;
95
+ /**
96
+ * SchemaMeta.
97
+ */
98
+ export declare const SchemaMetaSymbol: unique symbol;
99
+ export type SchemaMeta = TypeMeta & {
100
+ id: string;
101
+ };
102
+ /**
103
+ * Identifies a schema as a schema for a hidden system type.
104
+ */
105
+ export declare const SystemTypeAnnotationId: unique symbol;
106
+ export declare const SystemTypeAnnotation: import("./util").AnnotationHelper<boolean>;
107
+ /**
108
+ * Identifies label property or JSON path expression.
109
+ * Either a string or an array of strings representing field accessors each matched in priority order.
110
+ */
111
+ export declare const LabelAnnotationId: unique symbol;
112
+ export declare const LabelAnnotation: import("./util").AnnotationHelper<string[]>;
113
+ /**
114
+ * Returns the label for a given object based on {@link LabelAnnotationId}.
115
+ */
116
+ export declare const getLabel: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>) => string | undefined;
117
+ /**
118
+ * Sets the label for a given object based on {@link LabelAnnotationId}.
119
+ */
120
+ export declare const setLabel: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>, label: string) => void;
121
+ /**
122
+ * Identifies description property or JSON path expression.
123
+ * A string representing field accessor.
124
+ */
125
+ export declare const DescriptionAnnotationId: unique symbol;
126
+ export declare const DescriptionAnnotation: import("./util").AnnotationHelper<string>;
127
+ /**
128
+ * Returns the label for a given object based on {@link LabelAnnotationId}.
129
+ */
130
+ export declare const getDescription: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>) => string | undefined;
131
+ /**
132
+ * Sets the description for a given object based on {@link DescriptionAnnotationId}.
133
+ */
134
+ export declare const setDescription: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>, description: string) => void;
135
+ /**
136
+ * Identifies if a property should be included in a form or not.
137
+ * By default, all properties are included in forms, so this is opt-out.
138
+ */
139
+ export declare const FormInputAnnotationId: unique symbol;
140
+ export declare const FormInputAnnotation: import("./util").AnnotationHelper<boolean>;
141
+ /**
142
+ * Default field to be used on referenced schema to lookup the value.
143
+ */
144
+ export declare const FieldLookupAnnotationId: unique symbol;
145
+ /**
146
+ * Generate test data.
147
+ */
148
+ export declare const GeneratorAnnotationId: unique symbol;
149
+ export type GeneratorAnnotationValue = string | {
150
+ generator: string;
151
+ args?: any[];
152
+ probability?: number;
153
+ };
154
+ export declare const GeneratorAnnotation: import("./util").AnnotationHelper<GeneratorAnnotationValue>;
155
+ /**
156
+ * @returns DXN of the schema.
157
+ *
158
+ * For non-stored schema returns `dxn:type:`.
159
+ * For stored schema returns `dxn:echo:`.
160
+ */
161
+ export declare const getSchemaDXN: (schema: Schema.Schema.All) => DXN | undefined;
162
+ /**
163
+ * Returns a reference that will be used to point to a schema.
164
+ * @deprecated Use {@link getSchemaDXN} instead.
165
+ */
166
+ export declare const getTypeReference: (schema: Schema.Schema.All | undefined) => Reference | undefined;
167
+ /**
168
+ * Returns a reference that will be used to point to a schema.
169
+ * @throws If it is not possible to reference this schema.
170
+ *
171
+ * @deprecated Use {@link getSchemaDXN} instead.
172
+ */
173
+ export declare const requireTypeReference: (schema: Schema.Schema.AnyNoContext) => Reference;
174
+ //# sourceMappingURL=annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../../../src/internal/annotations/annotations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/annotations/annotations.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './annotations';
2
+ export * from './util';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/annotations/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type * as Option from 'effect/Option';
2
+ import type * as Schema from 'effect/Schema';
3
+ import * as SchemaAST from 'effect/SchemaAST';
4
+ import { EntityKind } from '../types';
5
+ export interface AnnotationHelper<T> {
6
+ get: (schema: Schema.Schema.Any) => Option.Option<T>;
7
+ set: (value: T) => <S extends Schema.Schema.Any>(schema: S) => S;
8
+ }
9
+ export declare const createAnnotationHelper: <T>(id: symbol) => AnnotationHelper<T>;
10
+ /**
11
+ * If property is optional returns the nested property, otherwise returns the property.
12
+ */
13
+ export declare const unwrapOptional: (property: SchemaAST.PropertySignature) => SchemaAST.AST | SchemaAST.PropertySignature;
14
+ /**
15
+ * @see JSONSchemaAnnotationId
16
+ * @returns JSON-schema annotation so that the schema can be serialized with correct parameters.
17
+ */
18
+ export declare const makeTypeJsonSchemaAnnotation: (options: {
19
+ identifier?: string;
20
+ kind: EntityKind;
21
+ typename: string;
22
+ version: string;
23
+ relationSource?: string;
24
+ relationTarget?: string;
25
+ }) => any;
26
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/internal/annotations/util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAK9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrD,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;CAClE;AAED,eAAO,MAAM,sBAAsB,GAAI,CAAC,EAAE,IAAI,MAAM,KAAG,gBAAgB,CAAC,CAAC,CAQxE,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,cAAc,GAAI,UAAU,SAAS,CAAC,iBAAiB,gDAMnE,CAAC;AAEF;;;GAGG;AAEH,eAAO,MAAM,4BAA4B,GAAI,SAAS;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,QAiBA,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import type * as Types from 'effect/Types';
3
+ import { type ToMutable } from '@dxos/util';
4
+ import { type TypeMeta } from '../annotations';
5
+ import { type HasId } from '../types';
6
+ export type EchoTypeSchemaProps<T, ExtraFields = {}> = Types.Simplify<HasId & ToMutable<T> & ExtraFields>;
7
+ export interface EchoTypeSchema<Self extends Schema.Schema.Any, ExtraFields = {}> extends TypeMeta, Schema.AnnotableClass<EchoTypeSchema<Self, ExtraFields>, EchoTypeSchemaProps<Schema.Schema.Type<Self>, ExtraFields>, EchoTypeSchemaProps<Schema.Schema.Encoded<Self>, ExtraFields>, Schema.Schema.Context<Self>> {
8
+ instanceOf(value: unknown): boolean;
9
+ }
10
+ //# sourceMappingURL=entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/internal/entities/entity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAKtC,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AAG1G,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,EAAE,CAC9E,SAAQ,QAAQ,EACd,MAAM,CAAC,cAAc,CACnB,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,EACjC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,EAC1D,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,EAC7D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAC5B;IAQH,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CACrC"}
@@ -9,6 +9,8 @@ declare const ExpandoSchema: import("./entity").EchoTypeSchema<Schema.TypeLitera
9
9
  */
10
10
  export interface Expando extends Schema.Schema.Type<typeof ExpandoSchema> {
11
11
  }
12
- export declare const Expando: Schema.Schema<Expando>;
12
+ export interface ExpandoEncoded extends Schema.Schema.Encoded<typeof ExpandoSchema> {
13
+ }
14
+ export declare const Expando: Schema.Schema<Expando, ExpandoEncoded>;
13
15
  export {};
14
16
  //# sourceMappingURL=expando.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expando.d.ts","sourceRoot":"","sources":["../../../../../src/internal/entities/expando.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AAExD,QAAA,MAAM,aAAa;;;QAKlB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,aAAa,CAAC;CAAG;AAC5E,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,aAAa,CAAC;CAAG;AACtF,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './expando';
2
+ export * from './model';
3
+ export * from './object';
4
+ export * from './relation';
5
+ export * from './util';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/entities/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,70 @@
1
+ import type * as Schema from 'effect/Schema';
2
+ import { type ForeignKey } from '@dxos/echo-protocol';
3
+ import { DXN, ObjectId } from '@dxos/keys';
4
+ import { type ATTR_META, type ATTR_TYPE, EntityKind, KindId, type MetaId, type ObjectMeta, type SchemaId, TypeId, type Version } from '../types';
5
+ import { type ATTR_RELATION_SOURCE, type ATTR_RELATION_TARGET, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId } from './relation';
6
+ /**
7
+ * Property name for self DXN when object is serialized to JSON.
8
+ */
9
+ export declare const ATTR_SELF_DXN = "@dxn";
10
+ /**
11
+ * DXN to the object itself.
12
+ */
13
+ export declare const SelfDXNId: unique symbol;
14
+ /**
15
+ * Property name for deleted when object is serialized to JSON.
16
+ */
17
+ export declare const ATTR_DELETED = "@deleted";
18
+ /**
19
+ * Deletion marker.
20
+ */
21
+ export declare const ObjectDeletedId: unique symbol;
22
+ /**
23
+ * Object version accessor symbol.
24
+ */
25
+ export declare const ObjectVersionId: unique symbol;
26
+ /**
27
+ * Internal runtime representation of an object.
28
+ * The fields are accessed through getter functions.
29
+ */
30
+ export interface InternalObjectProps {
31
+ id: ObjectId;
32
+ readonly [TypeId]?: DXN;
33
+ readonly [SelfDXNId]?: DXN;
34
+ /**
35
+ * Returns the schema for the object.
36
+ */
37
+ readonly [SchemaId]?: Schema.Schema.AnyNoContext;
38
+ readonly [KindId]: EntityKind;
39
+ readonly [MetaId]?: ObjectMeta;
40
+ readonly [ObjectDeletedId]?: boolean;
41
+ readonly [ObjectVersionId]?: Version;
42
+ readonly [RelationSourceDXNId]?: DXN;
43
+ readonly [RelationTargetDXNId]?: DXN;
44
+ readonly [RelationSourceId]?: InternalObjectProps;
45
+ readonly [RelationTargetId]?: InternalObjectProps;
46
+ }
47
+ /**
48
+ * Entity metadata.
49
+ */
50
+ export interface ObjectMetaJSON {
51
+ keys: ForeignKey[];
52
+ tags?: string[];
53
+ }
54
+ /**
55
+ * JSON representation of an object or relation metadata.
56
+ */
57
+ export interface ObjectJSON {
58
+ id: string;
59
+ [ATTR_TYPE]: DXN.String;
60
+ [ATTR_SELF_DXN]?: DXN.String;
61
+ [ATTR_DELETED]?: boolean;
62
+ [ATTR_META]?: ObjectMetaJSON;
63
+ [ATTR_RELATION_SOURCE]?: DXN.String;
64
+ [ATTR_RELATION_TARGET]?: DXN.String;
65
+ }
66
+ /**
67
+ * NOTE: Keep as `function` to avoid type inference issues.
68
+ */
69
+ export declare function assertObjectModel(obj: unknown): asserts obj is InternalObjectProps;
70
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/internal/entities/model.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EACL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,UAAU,EACV,MAAM,EACN,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,MAAM,EACN,KAAK,OAAO,EACb,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAMpB;;GAEG;AACH,eAAO,MAAM,aAAa,SAAS,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,SAAS,eAA+B,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,eAAe,eAAmC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,OAAO,MAAyC,CAAC;AAE/E;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,QAAQ,CAAC;IAGb,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;IAGxB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACjD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC;IACrC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC;IACrC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,mBAAmB,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;IACxB,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;IAC7B,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC;IACzB,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC;IAC7B,CAAC,oBAAoB,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;IACpC,CAAC,oBAAoB,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,mBAAmB,CAgBlF"}
@@ -0,0 +1,11 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { type TypeMeta } from '../annotations';
3
+ import { type EchoTypeSchema } from './entity';
4
+ /**
5
+ * Schema for Obj entity types.
6
+ * Pipeable function to add ECHO object annotations to a schema.
7
+ */
8
+ export declare const EchoObjectSchema: {
9
+ (meta: TypeMeta): <Self extends Schema.Schema.Any>(self: Self) => EchoTypeSchema<Self>;
10
+ };
11
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/entities/object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAyC,KAAK,QAAQ,EAAgC,MAAM,gBAAgB,CAAC;AAGpH,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,UAAU,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE;IAG7B,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;CAuBxF,CAAC"}