@dxos/echo 0.8.4-main.84f28bd → 0.8.4-main.ae835ea

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 (313) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/browser/chunk-JUTFUT73.mjs +175 -0
  3. package/dist/lib/browser/chunk-JUTFUT73.mjs.map +7 -0
  4. package/dist/lib/browser/chunk-KEBVBR65.mjs +3727 -0
  5. package/dist/lib/browser/chunk-KEBVBR65.mjs.map +7 -0
  6. package/dist/lib/browser/chunk-WO76TDT6.mjs +814 -0
  7. package/dist/lib/browser/chunk-WO76TDT6.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +17 -4
  9. package/dist/lib/browser/internal/index.mjs +336 -0
  10. package/dist/lib/browser/internal/index.mjs.map +7 -0
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/query/index.mjs +15 -0
  13. package/dist/lib/browser/query/index.mjs.map +7 -0
  14. package/dist/lib/browser/testing/index.mjs +245 -32
  15. package/dist/lib/browser/testing/index.mjs.map +4 -4
  16. package/dist/lib/node-esm/chunk-DWZYQ2UR.mjs +3727 -0
  17. package/dist/lib/node-esm/chunk-DWZYQ2UR.mjs.map +7 -0
  18. package/dist/lib/node-esm/chunk-KBD3A2I6.mjs +175 -0
  19. package/dist/lib/node-esm/chunk-KBD3A2I6.mjs.map +7 -0
  20. package/dist/lib/node-esm/chunk-ZSSII3JW.mjs +814 -0
  21. package/dist/lib/node-esm/chunk-ZSSII3JW.mjs.map +7 -0
  22. package/dist/lib/node-esm/index.mjs +17 -4
  23. package/dist/lib/node-esm/internal/index.mjs +336 -0
  24. package/dist/lib/node-esm/internal/index.mjs.map +7 -0
  25. package/dist/lib/node-esm/meta.json +1 -1
  26. package/dist/lib/node-esm/query/index.mjs +15 -0
  27. package/dist/lib/node-esm/query/index.mjs.map +7 -0
  28. package/dist/lib/node-esm/testing/index.mjs +245 -32
  29. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  30. package/dist/types/src/Obj.d.ts +123 -16
  31. package/dist/types/src/Obj.d.ts.map +1 -1
  32. package/dist/types/src/Ref.d.ts +1 -1
  33. package/dist/types/src/Ref.d.ts.map +1 -1
  34. package/dist/types/src/Relation.d.ts +11 -8
  35. package/dist/types/src/Relation.d.ts.map +1 -1
  36. package/dist/types/src/Type.d.ts +17 -18
  37. package/dist/types/src/Type.d.ts.map +1 -1
  38. package/dist/types/src/errors.d.ts +72 -0
  39. package/dist/types/src/errors.d.ts.map +1 -0
  40. package/dist/types/src/index.d.ts +3 -1
  41. package/dist/types/src/index.d.ts.map +1 -1
  42. package/dist/types/src/internal/ast/annotation-helper.d.ts +8 -0
  43. package/dist/types/src/internal/ast/annotation-helper.d.ts.map +1 -0
  44. package/dist/types/src/internal/ast/annotations.d.ts +131 -0
  45. package/dist/types/src/internal/ast/annotations.d.ts.map +1 -0
  46. package/dist/types/src/internal/ast/annotations.test.d.ts +2 -0
  47. package/dist/types/src/internal/ast/annotations.test.d.ts.map +1 -0
  48. package/dist/types/src/internal/ast/entity-kind.d.ts +10 -0
  49. package/dist/types/src/internal/ast/entity-kind.d.ts.map +1 -0
  50. package/dist/types/src/internal/ast/index.d.ts +5 -0
  51. package/dist/types/src/internal/ast/index.d.ts.map +1 -0
  52. package/dist/types/src/internal/ast/types.d.ts +6 -0
  53. package/dist/types/src/internal/ast/types.d.ts.map +1 -0
  54. package/dist/types/src/internal/formats/date.d.ts +63 -0
  55. package/dist/types/src/internal/formats/date.d.ts.map +1 -0
  56. package/dist/types/src/internal/formats/date.test.d.ts +2 -0
  57. package/dist/types/src/internal/formats/date.test.d.ts.map +1 -0
  58. package/dist/types/src/internal/formats/format.d.ts +30 -0
  59. package/dist/types/src/internal/formats/format.d.ts.map +1 -0
  60. package/dist/types/src/internal/formats/format.test.d.ts +2 -0
  61. package/dist/types/src/internal/formats/format.test.d.ts.map +1 -0
  62. package/dist/types/src/internal/formats/index.d.ts +8 -0
  63. package/dist/types/src/internal/formats/index.d.ts.map +1 -0
  64. package/dist/types/src/internal/formats/number.d.ts +31 -0
  65. package/dist/types/src/internal/formats/number.d.ts.map +1 -0
  66. package/dist/types/src/internal/formats/object.d.ts +35 -0
  67. package/dist/types/src/internal/formats/object.d.ts.map +1 -0
  68. package/dist/types/src/internal/formats/select.d.ts +11 -0
  69. package/dist/types/src/internal/formats/select.d.ts.map +1 -0
  70. package/dist/types/src/internal/formats/string.d.ts +38 -0
  71. package/dist/types/src/internal/formats/string.d.ts.map +1 -0
  72. package/dist/types/src/internal/formats/types.d.ts +68 -0
  73. package/dist/types/src/internal/formats/types.d.ts.map +1 -0
  74. package/dist/types/src/internal/index.d.ts +15 -0
  75. package/dist/types/src/internal/index.d.ts.map +1 -0
  76. package/dist/types/src/internal/json/annotations.d.ts +19 -0
  77. package/dist/types/src/internal/json/annotations.d.ts.map +1 -0
  78. package/dist/types/src/internal/json/effect-schema.test.d.ts +2 -0
  79. package/dist/types/src/internal/json/effect-schema.test.d.ts.map +1 -0
  80. package/dist/types/src/internal/json/index.d.ts +2 -0
  81. package/dist/types/src/internal/json/index.d.ts.map +1 -0
  82. package/dist/types/src/internal/json/json-schema.d.ts +28 -0
  83. package/dist/types/src/internal/json/json-schema.d.ts.map +1 -0
  84. package/dist/types/src/internal/json/json-schema.test.d.ts +2 -0
  85. package/dist/types/src/internal/json/json-schema.test.d.ts.map +1 -0
  86. package/dist/types/src/internal/json-schema/index.d.ts +3 -0
  87. package/dist/types/src/internal/json-schema/index.d.ts.map +1 -0
  88. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts +7 -0
  89. package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -0
  90. package/dist/types/src/internal/json-schema/json-schema-type.d.ts +250 -0
  91. package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -0
  92. package/dist/types/src/internal/object/accessors.d.ts +37 -0
  93. package/dist/types/src/internal/object/accessors.d.ts.map +1 -0
  94. package/dist/types/src/internal/object/common.d.ts +18 -0
  95. package/dist/types/src/internal/object/common.d.ts.map +1 -0
  96. package/dist/types/src/internal/object/create.d.ts +40 -0
  97. package/dist/types/src/internal/object/create.d.ts.map +1 -0
  98. package/dist/types/src/internal/object/create.test.d.ts +2 -0
  99. package/dist/types/src/internal/object/create.test.d.ts.map +1 -0
  100. package/dist/types/src/internal/object/deleted.d.ts +6 -0
  101. package/dist/types/src/internal/object/deleted.d.ts.map +1 -0
  102. package/dist/types/src/internal/object/entity.d.ts +33 -0
  103. package/dist/types/src/internal/object/entity.d.ts.map +1 -0
  104. package/dist/types/src/internal/object/expando.d.ts +14 -0
  105. package/dist/types/src/internal/object/expando.d.ts.map +1 -0
  106. package/dist/types/src/internal/object/ids.d.ts +6 -0
  107. package/dist/types/src/internal/object/ids.d.ts.map +1 -0
  108. package/dist/types/src/internal/object/index.d.ts +16 -0
  109. package/dist/types/src/internal/object/index.d.ts.map +1 -0
  110. package/dist/types/src/internal/object/inspect.d.ts +2 -0
  111. package/dist/types/src/internal/object/inspect.d.ts.map +1 -0
  112. package/dist/types/src/internal/object/json-serializer.d.ts +32 -0
  113. package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -0
  114. package/dist/types/src/internal/object/json-serializer.test.d.ts +2 -0
  115. package/dist/types/src/internal/object/json-serializer.test.d.ts.map +1 -0
  116. package/dist/types/src/internal/object/meta.d.ts +31 -0
  117. package/dist/types/src/internal/object/meta.d.ts.map +1 -0
  118. package/dist/types/src/internal/object/model.d.ts +117 -0
  119. package/dist/types/src/internal/object/model.d.ts.map +1 -0
  120. package/dist/types/src/internal/object/relation.d.ts +17 -0
  121. package/dist/types/src/internal/object/relation.d.ts.map +1 -0
  122. package/dist/types/src/internal/object/schema-validator.d.ts +15 -0
  123. package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -0
  124. package/dist/types/src/internal/object/schema-validator.test.d.ts +2 -0
  125. package/dist/types/src/internal/object/schema-validator.test.d.ts.map +1 -0
  126. package/dist/types/src/internal/object/typed-object.d.ts +31 -0
  127. package/dist/types/src/internal/object/typed-object.d.ts.map +1 -0
  128. package/dist/types/src/internal/object/typed-object.test.d.ts +2 -0
  129. package/dist/types/src/internal/object/typed-object.test.d.ts.map +1 -0
  130. package/dist/types/src/internal/object/typename.d.ts +15 -0
  131. package/dist/types/src/internal/object/typename.d.ts.map +1 -0
  132. package/dist/types/src/internal/object/version.d.ts +14 -0
  133. package/dist/types/src/internal/object/version.d.ts.map +1 -0
  134. package/dist/types/src/internal/projection/compose.d.ts +6 -0
  135. package/dist/types/src/internal/projection/compose.d.ts.map +1 -0
  136. package/dist/types/src/internal/projection/compose.test.d.ts +2 -0
  137. package/dist/types/src/internal/projection/compose.test.d.ts.map +1 -0
  138. package/dist/types/src/internal/projection/index.d.ts +2 -0
  139. package/dist/types/src/internal/projection/index.d.ts.map +1 -0
  140. package/dist/types/src/internal/proxy/handler.test.d.ts +2 -0
  141. package/dist/types/src/internal/proxy/handler.test.d.ts.map +1 -0
  142. package/dist/types/src/internal/proxy/reactive-object.d.ts +15 -0
  143. package/dist/types/src/internal/proxy/reactive-object.d.ts.map +1 -0
  144. package/dist/types/src/internal/proxy/schema.test.d.ts +2 -0
  145. package/dist/types/src/internal/proxy/schema.test.d.ts.map +1 -0
  146. package/dist/types/src/internal/proxy/typed-handler.d.ts +44 -0
  147. package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -0
  148. package/dist/types/src/internal/proxy/typed-handler.test.d.ts +2 -0
  149. package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +1 -0
  150. package/dist/types/src/internal/proxy/typed-object.test.d.ts +2 -0
  151. package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +1 -0
  152. package/dist/types/src/internal/query/index.d.ts +2 -0
  153. package/dist/types/src/internal/query/index.d.ts.map +1 -0
  154. package/dist/types/src/internal/query/query.d.ts +17 -0
  155. package/dist/types/src/internal/query/query.d.ts.map +1 -0
  156. package/dist/types/src/internal/ref/index.d.ts +3 -0
  157. package/dist/types/src/internal/ref/index.d.ts.map +1 -0
  158. package/dist/types/src/internal/ref/ref-array.d.ts +21 -0
  159. package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -0
  160. package/dist/types/src/internal/ref/ref.d.ts +206 -0
  161. package/dist/types/src/internal/ref/ref.d.ts.map +1 -0
  162. package/dist/types/src/internal/ref/ref.test.d.ts +2 -0
  163. package/dist/types/src/internal/ref/ref.test.d.ts.map +1 -0
  164. package/dist/types/src/internal/schema/echo-schema.d.ts +168 -0
  165. package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -0
  166. package/dist/types/src/internal/schema/index.d.ts +7 -0
  167. package/dist/types/src/internal/schema/index.d.ts.map +1 -0
  168. package/dist/types/src/internal/schema/manipulation.d.ts +10 -0
  169. package/dist/types/src/internal/schema/manipulation.d.ts.map +1 -0
  170. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +18 -0
  171. package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +1 -0
  172. package/dist/types/src/internal/schema/snapshot.d.ts +6 -0
  173. package/dist/types/src/internal/schema/snapshot.d.ts.map +1 -0
  174. package/dist/types/src/internal/schema/stored-schema.d.ts +13 -0
  175. package/dist/types/src/internal/schema/stored-schema.d.ts.map +1 -0
  176. package/dist/types/src/internal/testing/index.d.ts +3 -0
  177. package/dist/types/src/internal/testing/index.d.ts.map +1 -0
  178. package/dist/types/src/internal/testing/types.d.ts +455 -0
  179. package/dist/types/src/internal/testing/types.d.ts.map +1 -0
  180. package/dist/types/src/internal/testing/utils.d.ts +10 -0
  181. package/dist/types/src/internal/testing/utils.d.ts.map +1 -0
  182. package/dist/types/src/internal/types/index.d.ts +3 -0
  183. package/dist/types/src/internal/types/index.d.ts.map +1 -0
  184. package/dist/types/src/internal/types/types.d.ts +79 -0
  185. package/dist/types/src/internal/types/types.d.ts.map +1 -0
  186. package/dist/types/src/internal/types/types.test.d.ts +2 -0
  187. package/dist/types/src/internal/types/types.test.d.ts.map +1 -0
  188. package/dist/types/src/internal/types/util.d.ts +5 -0
  189. package/dist/types/src/internal/types/util.d.ts.map +1 -0
  190. package/dist/types/src/query/index.d.ts +2 -1
  191. package/dist/types/src/query/index.d.ts.map +1 -1
  192. package/dist/types/src/query/{dsl.d.ts → query.d.ts} +52 -22
  193. package/dist/types/src/query/query.d.ts.map +1 -0
  194. package/dist/types/src/query/query.test.d.ts +2 -0
  195. package/dist/types/src/query/query.test.d.ts.map +1 -0
  196. package/dist/types/src/query/tag.d.ts +17 -0
  197. package/dist/types/src/query/tag.d.ts.map +1 -0
  198. package/dist/types/src/testing/echo-schema.d.ts +7 -0
  199. package/dist/types/src/testing/echo-schema.d.ts.map +1 -0
  200. package/dist/types/src/testing/index.d.ts +2 -0
  201. package/dist/types/src/testing/index.d.ts.map +1 -1
  202. package/dist/types/src/testing/types.d.ts +18 -18
  203. package/dist/types/src/testing/types.d.ts.map +1 -1
  204. package/dist/types/tsconfig.tsbuildinfo +1 -1
  205. package/package.json +34 -16
  206. package/src/Obj.ts +279 -29
  207. package/src/Ref.ts +1 -2
  208. package/src/Relation.ts +25 -13
  209. package/src/Type.ts +32 -31
  210. package/src/errors.ts +18 -0
  211. package/src/index.ts +4 -1
  212. package/src/internal/ast/annotation-helper.ts +22 -0
  213. package/src/internal/ast/annotations.test.ts +98 -0
  214. package/src/internal/ast/annotations.ts +226 -0
  215. package/src/internal/ast/entity-kind.ts +15 -0
  216. package/src/internal/ast/index.ts +8 -0
  217. package/src/internal/ast/types.ts +17 -0
  218. package/src/internal/formats/date.test.ts +56 -0
  219. package/src/internal/formats/date.ts +217 -0
  220. package/src/internal/formats/format.test.ts +77 -0
  221. package/src/internal/formats/format.ts +52 -0
  222. package/src/internal/formats/index.ts +12 -0
  223. package/src/internal/formats/number.ts +89 -0
  224. package/src/internal/formats/object.ts +80 -0
  225. package/src/internal/formats/select.ts +16 -0
  226. package/src/internal/formats/string.ts +76 -0
  227. package/src/internal/formats/types.ts +175 -0
  228. package/src/internal/index.ts +22 -0
  229. package/src/internal/json/annotations.ts +50 -0
  230. package/src/internal/json/effect-schema.test.ts +143 -0
  231. package/src/internal/json/index.ts +5 -0
  232. package/src/internal/json/json-schema.test.ts +857 -0
  233. package/src/internal/json/json-schema.ts +519 -0
  234. package/src/internal/json-schema/index.ts +6 -0
  235. package/src/internal/json-schema/json-schema-normalize.ts +109 -0
  236. package/src/internal/json-schema/json-schema-type.ts +403 -0
  237. package/src/internal/object/accessors.ts +153 -0
  238. package/src/internal/object/common.ts +76 -0
  239. package/src/internal/object/create.test.ts +118 -0
  240. package/src/internal/object/create.ts +96 -0
  241. package/src/internal/object/deleted.ts +19 -0
  242. package/src/internal/object/entity.ts +248 -0
  243. package/src/internal/object/expando.ts +21 -0
  244. package/src/internal/object/ids.ts +12 -0
  245. package/src/internal/object/index.ts +19 -0
  246. package/src/internal/object/inspect.ts +48 -0
  247. package/src/internal/object/json-serializer.test.ts +99 -0
  248. package/src/internal/object/json-serializer.ts +225 -0
  249. package/src/internal/object/meta.ts +61 -0
  250. package/src/internal/object/model.ts +170 -0
  251. package/src/internal/object/relation.ts +24 -0
  252. package/src/internal/object/schema-validator.test.ts +186 -0
  253. package/src/internal/object/schema-validator.ts +241 -0
  254. package/src/internal/object/typed-object.test.ts +34 -0
  255. package/src/internal/object/typed-object.ts +88 -0
  256. package/src/internal/object/typename.ts +61 -0
  257. package/src/internal/object/version.ts +22 -0
  258. package/src/internal/projection/compose.test.ts +43 -0
  259. package/src/internal/projection/compose.ts +36 -0
  260. package/src/internal/projection/index.ts +5 -0
  261. package/src/internal/proxy/handler.test.ts +163 -0
  262. package/src/internal/proxy/reactive-object.ts +108 -0
  263. package/src/internal/proxy/schema.test.ts +136 -0
  264. package/src/internal/proxy/typed-handler.test.ts +102 -0
  265. package/src/internal/proxy/typed-handler.ts +228 -0
  266. package/src/internal/proxy/typed-object.test.ts +100 -0
  267. package/src/internal/query/index.ts +5 -0
  268. package/src/internal/query/query.ts +23 -0
  269. package/src/internal/ref/index.ts +6 -0
  270. package/src/internal/ref/ref-array.ts +39 -0
  271. package/src/internal/ref/ref.test.ts +100 -0
  272. package/src/internal/ref/ref.ts +521 -0
  273. package/src/internal/schema/echo-schema.ts +383 -0
  274. package/src/internal/schema/index.ts +10 -0
  275. package/src/internal/schema/manipulation.ts +92 -0
  276. package/src/internal/schema/runtime-schema-registry.ts +78 -0
  277. package/src/internal/schema/snapshot.ts +25 -0
  278. package/src/internal/schema/stored-schema.ts +26 -0
  279. package/src/internal/testing/index.ts +6 -0
  280. package/src/internal/testing/types.ts +211 -0
  281. package/src/internal/testing/utils.ts +54 -0
  282. package/src/internal/types/index.ts +6 -0
  283. package/src/internal/types/types.test.ts +48 -0
  284. package/src/internal/types/types.ts +176 -0
  285. package/src/internal/types/util.ts +9 -0
  286. package/src/query/index.ts +2 -1
  287. package/src/query/query.test.ts +401 -0
  288. package/src/query/{dsl.ts → query.ts} +188 -45
  289. package/src/query/tag.ts +37 -0
  290. package/src/test/api.test.ts +17 -10
  291. package/src/testing/echo-schema.ts +39 -0
  292. package/src/testing/index.ts +2 -0
  293. package/src/testing/types.ts +1 -1
  294. package/dist/lib/browser/chunk-SVSJEELN.mjs +0 -619
  295. package/dist/lib/browser/chunk-SVSJEELN.mjs.map +0 -7
  296. package/dist/lib/node-esm/chunk-53HXWYR6.mjs +0 -619
  297. package/dist/lib/node-esm/chunk-53HXWYR6.mjs.map +0 -7
  298. package/dist/types/src/experimental/database.d.ts +0 -8
  299. package/dist/types/src/experimental/database.d.ts.map +0 -1
  300. package/dist/types/src/experimental/index.d.ts +0 -1
  301. package/dist/types/src/experimental/index.d.ts.map +0 -1
  302. package/dist/types/src/experimental/queue.d.ts +0 -8
  303. package/dist/types/src/experimental/queue.d.ts.map +0 -1
  304. package/dist/types/src/experimental/space.d.ts +0 -8
  305. package/dist/types/src/experimental/space.d.ts.map +0 -1
  306. package/dist/types/src/query/dsl.d.ts.map +0 -1
  307. package/dist/types/src/query/dsl.test.d.ts +0 -2
  308. package/dist/types/src/query/dsl.test.d.ts.map +0 -1
  309. package/src/experimental/database.ts +0 -11
  310. package/src/experimental/index.ts +0 -7
  311. package/src/experimental/queue.ts +0 -11
  312. package/src/experimental/space.ts +0 -11
  313. package/src/query/dsl.test.ts +0 -323
@@ -0,0 +1,814 @@
1
+ import "@dxos/node-std/globals";
2
+ import {
3
+ EchoObject,
4
+ EchoRelation,
5
+ EntityKind,
6
+ EntityKindId,
7
+ Expando,
8
+ Format,
9
+ JsonSchemaType,
10
+ LabelAnnotation,
11
+ MetaId,
12
+ ObjectVersionId,
13
+ Ref,
14
+ RefArray,
15
+ VersionTypeId,
16
+ __export,
17
+ getDescription,
18
+ getLabel,
19
+ getMeta,
20
+ getObjectDXN,
21
+ getSchema,
22
+ getSchemaDXN,
23
+ getSchemaTypename,
24
+ getSchemaVersion,
25
+ getType,
26
+ getTypeAnnotation,
27
+ getTypeReference,
28
+ isDeleted,
29
+ isInstanceOf,
30
+ isMutable,
31
+ live,
32
+ objectFromJSON,
33
+ objectToJSON,
34
+ setDescription,
35
+ setLabel,
36
+ toEffectSchema,
37
+ toJsonSchema
38
+ } from "./chunk-KEBVBR65.mjs";
39
+
40
+ // src/query/query.ts
41
+ import * as Match from "effect/Match";
42
+ import * as Schema from "effect/Schema";
43
+ import { raise } from "@dxos/debug";
44
+ import { assertArgument } from "@dxos/invariant";
45
+ import { DXN, ObjectId } from "@dxos/keys";
46
+
47
+ // src/Ref.ts
48
+ var Ref_exports = {};
49
+ __export(Ref_exports, {
50
+ Array: () => Array2,
51
+ fromDXN: () => fromDXN,
52
+ isRef: () => isRef,
53
+ make: () => make
54
+ });
55
+ var Array2 = RefArray;
56
+ var isRef = Ref.isRef;
57
+ var make = Ref.make;
58
+ var fromDXN = Ref.fromDXN;
59
+
60
+ // src/query/query.ts
61
+ var OrderClass = class _OrderClass {
62
+ ast;
63
+ static variance = {};
64
+ static is(value2) {
65
+ return typeof value2 === "object" && value2 !== null && "~Order" in value2;
66
+ }
67
+ constructor(ast) {
68
+ this.ast = ast;
69
+ }
70
+ "~Order" = _OrderClass.variance;
71
+ };
72
+ (function(Order2) {
73
+ Order2.natural = new OrderClass({
74
+ kind: "natural"
75
+ });
76
+ Order2.property = (property, direction) => new OrderClass({
77
+ kind: "property",
78
+ property,
79
+ direction
80
+ });
81
+ })(Order || (Order = {}));
82
+ var FilterClass = class _FilterClass {
83
+ ast;
84
+ static variance = {};
85
+ static is(value2) {
86
+ return typeof value2 === "object" && value2 !== null && "~Filter" in value2;
87
+ }
88
+ static fromAst(ast) {
89
+ return new _FilterClass(ast);
90
+ }
91
+ static everything() {
92
+ return new _FilterClass({
93
+ type: "object",
94
+ typename: null,
95
+ props: {}
96
+ });
97
+ }
98
+ static nothing() {
99
+ return new _FilterClass({
100
+ type: "not",
101
+ filter: {
102
+ type: "object",
103
+ typename: null,
104
+ props: {}
105
+ }
106
+ });
107
+ }
108
+ static relation() {
109
+ return new _FilterClass({
110
+ type: "object",
111
+ typename: null,
112
+ props: {}
113
+ });
114
+ }
115
+ static ids(...ids) {
116
+ assertArgument(ids.every((id) => ObjectId.isValid(id)), "ids", "ids must be valid");
117
+ if (ids.length === 0) {
118
+ return Filter.nothing();
119
+ }
120
+ return new _FilterClass({
121
+ type: "object",
122
+ typename: null,
123
+ id: ids,
124
+ props: {}
125
+ });
126
+ }
127
+ static type(schema, props) {
128
+ const dxn = getTypeDXNFromSpecifier(schema);
129
+ return new _FilterClass({
130
+ type: "object",
131
+ typename: dxn.toString(),
132
+ ...propsFilterToAst(props ?? {})
133
+ });
134
+ }
135
+ static typename(typename) {
136
+ assertArgument(!typename.startsWith("dxn:"), "typename", "Typename must no be qualified");
137
+ return new _FilterClass({
138
+ type: "object",
139
+ typename: DXN.fromTypename(typename).toString(),
140
+ props: {}
141
+ });
142
+ }
143
+ static typeDXN(dxn) {
144
+ return new _FilterClass({
145
+ type: "object",
146
+ typename: dxn.toString(),
147
+ props: {}
148
+ });
149
+ }
150
+ static tag(tag) {
151
+ return new _FilterClass({
152
+ type: "tag",
153
+ tag
154
+ });
155
+ }
156
+ static props(props) {
157
+ return new _FilterClass({
158
+ type: "object",
159
+ typename: null,
160
+ ...propsFilterToAst(props)
161
+ });
162
+ }
163
+ static text(text, options) {
164
+ return new _FilterClass({
165
+ type: "text-search",
166
+ text,
167
+ searchKind: options?.type
168
+ });
169
+ }
170
+ static foreignKeys(schema, keys) {
171
+ const dxn = getTypeDXNFromSpecifier(schema);
172
+ return new _FilterClass({
173
+ type: "object",
174
+ typename: dxn.toString(),
175
+ props: {},
176
+ foreignKeys: keys
177
+ });
178
+ }
179
+ static eq(value2) {
180
+ if (!isRef(value2) && typeof value2 === "object" && value2 !== null) {
181
+ throw new TypeError("Cannot use object as a value for eq filter");
182
+ }
183
+ return new _FilterClass({
184
+ type: "compare",
185
+ operator: "eq",
186
+ value: isRef(value2) ? value2.noInline().encode() : value2
187
+ });
188
+ }
189
+ static neq(value2) {
190
+ return new _FilterClass({
191
+ type: "compare",
192
+ operator: "neq",
193
+ value: value2
194
+ });
195
+ }
196
+ static gt(value2) {
197
+ return new _FilterClass({
198
+ type: "compare",
199
+ operator: "gt",
200
+ value: value2
201
+ });
202
+ }
203
+ static gte(value2) {
204
+ return new _FilterClass({
205
+ type: "compare",
206
+ operator: "gte",
207
+ value: value2
208
+ });
209
+ }
210
+ static lt(value2) {
211
+ return new _FilterClass({
212
+ type: "compare",
213
+ operator: "lt",
214
+ value: value2
215
+ });
216
+ }
217
+ static lte(value2) {
218
+ return new _FilterClass({
219
+ type: "compare",
220
+ operator: "lte",
221
+ value: value2
222
+ });
223
+ }
224
+ static in(...values) {
225
+ return new _FilterClass({
226
+ type: "in",
227
+ values
228
+ });
229
+ }
230
+ static contains(value2) {
231
+ return new _FilterClass({
232
+ type: "contains",
233
+ value: value2
234
+ });
235
+ }
236
+ static between(from, to) {
237
+ return new _FilterClass({
238
+ type: "range",
239
+ from,
240
+ to
241
+ });
242
+ }
243
+ static not(filter) {
244
+ return new _FilterClass({
245
+ type: "not",
246
+ filter: filter.ast
247
+ });
248
+ }
249
+ static and(...filters) {
250
+ return new _FilterClass({
251
+ type: "and",
252
+ filters: filters.map((f) => f.ast)
253
+ });
254
+ }
255
+ static or(...filters) {
256
+ return new _FilterClass({
257
+ type: "or",
258
+ filters: filters.map((f) => f.ast)
259
+ });
260
+ }
261
+ constructor(ast) {
262
+ this.ast = ast;
263
+ }
264
+ "~Filter" = _FilterClass.variance;
265
+ };
266
+ var Filter = FilterClass;
267
+ var propsFilterToAst = (predicates) => {
268
+ let idFilter;
269
+ if ("id" in predicates) {
270
+ assertArgument(typeof predicates.id === "string" || Array.isArray(predicates.id), "predicates.id", "invalid id filter");
271
+ idFilter = typeof predicates.id === "string" ? [
272
+ predicates.id
273
+ ] : predicates.id;
274
+ Schema.Array(ObjectId).pipe(Schema.validateSync)(idFilter);
275
+ }
276
+ return {
277
+ id: idFilter,
278
+ props: Object.fromEntries(Object.entries(predicates).filter(([prop, _value]) => prop !== "id").map(([prop, predicate]) => [
279
+ prop,
280
+ processPredicate(predicate)
281
+ ]))
282
+ };
283
+ };
284
+ var processPredicate = (predicate) => {
285
+ return Match.value(predicate).pipe(
286
+ Match.withReturnType(),
287
+ Match.when(Filter.is, (predicate2) => predicate2.ast),
288
+ // TODO(wittjosiah): Add support for array predicates.
289
+ Match.when(Array.isArray, (_predicate) => {
290
+ throw new Error("Array predicates are not yet supported.");
291
+ }),
292
+ Match.when((predicate2) => !isRef(predicate2) && typeof predicate2 === "object" && predicate2 !== null, (predicate2) => {
293
+ const nestedProps = Object.fromEntries(Object.entries(predicate2).map(([key, value2]) => [
294
+ key,
295
+ processPredicate(value2)
296
+ ]));
297
+ return {
298
+ type: "object",
299
+ typename: null,
300
+ props: nestedProps
301
+ };
302
+ }),
303
+ Match.orElse((value2) => Filter.eq(value2).ast)
304
+ );
305
+ };
306
+ var QueryClass = class _QueryClass {
307
+ ast;
308
+ static variance = {};
309
+ static is(value2) {
310
+ return typeof value2 === "object" && value2 !== null && "~Query" in value2;
311
+ }
312
+ static fromAst(ast) {
313
+ return new _QueryClass(ast);
314
+ }
315
+ static select(filter) {
316
+ return new _QueryClass({
317
+ type: "select",
318
+ filter: filter.ast
319
+ });
320
+ }
321
+ static type(schema, predicates) {
322
+ return new _QueryClass({
323
+ type: "select",
324
+ filter: FilterClass.type(schema, predicates).ast
325
+ });
326
+ }
327
+ static all(...queries) {
328
+ if (queries.length === 0) {
329
+ throw new TypeError("Query.all combines results of multiple queries, to query all objects use Query.select(Filter.everything())");
330
+ }
331
+ return new _QueryClass({
332
+ type: "union",
333
+ queries: queries.map((q) => q.ast)
334
+ });
335
+ }
336
+ static without(source, exclude) {
337
+ return new _QueryClass({
338
+ type: "set-difference",
339
+ source: source.ast,
340
+ exclude: exclude.ast
341
+ });
342
+ }
343
+ constructor(ast) {
344
+ this.ast = ast;
345
+ }
346
+ "~Query" = _QueryClass.variance;
347
+ select(filter) {
348
+ if (Filter.is(filter)) {
349
+ return new _QueryClass({
350
+ type: "filter",
351
+ selection: this.ast,
352
+ filter: filter.ast
353
+ });
354
+ } else {
355
+ return new _QueryClass({
356
+ type: "filter",
357
+ selection: this.ast,
358
+ filter: FilterClass.props(filter).ast
359
+ });
360
+ }
361
+ }
362
+ reference(key) {
363
+ return new _QueryClass({
364
+ type: "reference-traversal",
365
+ anchor: this.ast,
366
+ property: key
367
+ });
368
+ }
369
+ referencedBy(target, key) {
370
+ const dxn = getTypeDXNFromSpecifier(target);
371
+ return new _QueryClass({
372
+ type: "incoming-references",
373
+ anchor: this.ast,
374
+ property: key,
375
+ typename: dxn.toString()
376
+ });
377
+ }
378
+ sourceOf(relation, predicates) {
379
+ return new _QueryClass({
380
+ type: "relation",
381
+ anchor: this.ast,
382
+ direction: "outgoing",
383
+ filter: FilterClass.type(relation, predicates).ast
384
+ });
385
+ }
386
+ targetOf(relation, predicates) {
387
+ return new _QueryClass({
388
+ type: "relation",
389
+ anchor: this.ast,
390
+ direction: "incoming",
391
+ filter: FilterClass.type(relation, predicates).ast
392
+ });
393
+ }
394
+ source() {
395
+ return new _QueryClass({
396
+ type: "relation-traversal",
397
+ anchor: this.ast,
398
+ direction: "source"
399
+ });
400
+ }
401
+ target() {
402
+ return new _QueryClass({
403
+ type: "relation-traversal",
404
+ anchor: this.ast,
405
+ direction: "target"
406
+ });
407
+ }
408
+ orderBy(...order) {
409
+ return new _QueryClass({
410
+ type: "order",
411
+ query: this.ast,
412
+ order: order.map((o) => o.ast)
413
+ });
414
+ }
415
+ options(options) {
416
+ return new _QueryClass({
417
+ type: "options",
418
+ query: this.ast,
419
+ options
420
+ });
421
+ }
422
+ };
423
+ var Query = QueryClass;
424
+ var getTypeDXNFromSpecifier = (input) => {
425
+ if (Schema.isSchema(input)) {
426
+ return getTypeReference(input)?.toDXN() ?? raise(new TypeError("Schema has no DXN"));
427
+ } else {
428
+ assertArgument(typeof input === "string", "input");
429
+ assertArgument(!input.startsWith("dxn:"), "input");
430
+ return DXN.fromTypename(input);
431
+ }
432
+ };
433
+ var Order;
434
+
435
+ // src/query/tag.ts
436
+ var tag_exports = {};
437
+ __export(tag_exports, {
438
+ Tag: () => Tag,
439
+ createTagList: () => createTagList,
440
+ findTagByLabel: () => findTagByLabel,
441
+ make: () => make3,
442
+ sortTags: () => sortTags
443
+ });
444
+ import * as Schema3 from "effect/Schema";
445
+
446
+ // src/Obj.ts
447
+ var Obj_exports = {};
448
+ __export(Obj_exports, {
449
+ Any: () => Any,
450
+ Meta: () => Meta,
451
+ VersionTypeId: () => VersionTypeId2,
452
+ clone: () => clone,
453
+ compareVersions: () => compareVersions,
454
+ decodeVersion: () => decodeVersion,
455
+ deleteKeys: () => deleteKeys,
456
+ encodeVersion: () => encodeVersion,
457
+ fromJSON: () => fromJSON,
458
+ getDXN: () => getDXN2,
459
+ getDescription: () => getDescription2,
460
+ getKeys: () => getKeys,
461
+ getLabel: () => getLabel2,
462
+ getMeta: () => getMeta3,
463
+ getSchema: () => getSchema2,
464
+ getSnapshot: () => getSnapshot2,
465
+ getTypeDXN: () => getTypeDXN,
466
+ getTypename: () => getTypename2,
467
+ instanceOf: () => instanceOf,
468
+ isDeleted: () => isDeleted2,
469
+ isObject: () => isObject,
470
+ isVersion: () => isVersion,
471
+ make: () => make2,
472
+ setDescription: () => setDescription2,
473
+ setLabel: () => setLabel2,
474
+ sort: () => sort,
475
+ sortByLabel: () => sortByLabel,
476
+ sortByTypename: () => sortByTypename,
477
+ toJSON: () => toJSON,
478
+ version: () => version,
479
+ versionValid: () => versionValid
480
+ });
481
+ import * as Function from "effect/Function";
482
+ import * as Schema2 from "effect/Schema";
483
+ import { assertArgument as assertArgument2, invariant as invariant2 } from "@dxos/invariant";
484
+ import * as LiveObject from "@dxos/live-object";
485
+ import { assumeType, deepMapValues } from "@dxos/util";
486
+
487
+ // src/Type.ts
488
+ var Type_exports = {};
489
+ __export(Type_exports, {
490
+ DXN: () => DXN2,
491
+ Expando: () => Expando2,
492
+ Format: () => Format,
493
+ JsonSchema: () => JsonSchemaType,
494
+ Kind: () => Kind,
495
+ KindId: () => KindId,
496
+ Obj: () => Obj,
497
+ ObjectId: () => ObjectId2,
498
+ Ref: () => Ref2,
499
+ Relation: () => Relation,
500
+ SpaceId: () => SpaceId,
501
+ getDXN: () => getDXN,
502
+ getMeta: () => getMeta2,
503
+ getTypename: () => getTypename,
504
+ getVersion: () => getVersion,
505
+ isMutable: () => isMutable2,
506
+ toEffectSchema: () => toEffectSchema,
507
+ toJsonSchema: () => toJsonSchema
508
+ });
509
+ import { invariant } from "@dxos/invariant";
510
+ import { SpaceId, ObjectId as ObjectId2, DXN as DXN2 } from "@dxos/keys";
511
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo/src/Type.ts";
512
+ var KindId = EntityKindId;
513
+ var Kind = EntityKind;
514
+ var Obj = EchoObject;
515
+ var Expando2 = Expando;
516
+ var Relation = EchoRelation;
517
+ var Ref2 = Ref;
518
+ var getDXN = (schema) => {
519
+ return getSchemaDXN(schema);
520
+ };
521
+ var getTypename = (schema) => {
522
+ const typename = getSchemaTypename(schema);
523
+ invariant(typeof typename === "string" && !typename.startsWith("dxn:"), "Invalid typename", {
524
+ F: __dxlog_file,
525
+ L: 211,
526
+ S: void 0,
527
+ A: [
528
+ "typeof typename === 'string' && !typename.startsWith('dxn:')",
529
+ "'Invalid typename'"
530
+ ]
531
+ });
532
+ return typename;
533
+ };
534
+ var getVersion = (schema) => {
535
+ const version2 = getSchemaVersion(schema);
536
+ invariant(typeof version2 === "string" && version2.match(/^\d+\.\d+\.\d+$/), "Invalid version", {
537
+ F: __dxlog_file,
538
+ L: 221,
539
+ S: void 0,
540
+ A: [
541
+ "typeof version === 'string' && version.match(/^\\d+\\.\\d+\\.\\d+$/)",
542
+ "'Invalid version'"
543
+ ]
544
+ });
545
+ return version2;
546
+ };
547
+ var isMutable2 = isMutable;
548
+ var getMeta2 = (schema) => {
549
+ return getTypeAnnotation(schema);
550
+ };
551
+
552
+ // src/Obj.ts
553
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/core/echo/echo/src/Obj.ts";
554
+ var Any = Schema2.Struct({}).pipe(Obj({
555
+ typename: "dxos.org/types/Any",
556
+ version: "0.1.0"
557
+ }));
558
+ var Meta = MetaId;
559
+ var DEFAULT_META = {
560
+ keys: []
561
+ };
562
+ var make2 = (schema, props, meta) => {
563
+ assertArgument2(getTypeAnnotation(schema)?.kind === EntityKind.Object, "schema", "Expected an object schema");
564
+ if (props[MetaId] != null) {
565
+ meta = {
566
+ ...structuredClone(DEFAULT_META),
567
+ ...props[MetaId]
568
+ };
569
+ delete props[MetaId];
570
+ }
571
+ const filterUndefined = Object.fromEntries(Object.entries(props).filter(([_, v]) => v !== void 0));
572
+ return live(schema, filterUndefined, {
573
+ keys: [],
574
+ ...meta
575
+ });
576
+ };
577
+ var isObject = (obj) => {
578
+ assumeType(obj);
579
+ return typeof obj === "object" && obj !== null && obj[EntityKindId] === EntityKind.Object;
580
+ };
581
+ var instanceOf = (...args) => {
582
+ if (args.length === 1) {
583
+ return (obj) => isInstanceOf(args[0], obj);
584
+ }
585
+ return isInstanceOf(args[0], args[1]);
586
+ };
587
+ var getSchema2 = getSchema;
588
+ var getDXN2 = (obj) => {
589
+ assertArgument2(!Schema2.isSchema(obj), "obj", "Object should not be a schema.");
590
+ const dxn = getObjectDXN(obj);
591
+ invariant2(dxn != null, "Invalid object.", {
592
+ F: __dxlog_file2,
593
+ L: 136,
594
+ S: void 0,
595
+ A: [
596
+ "dxn != null",
597
+ "'Invalid object.'"
598
+ ]
599
+ });
600
+ return dxn;
601
+ };
602
+ var getTypeDXN = getType;
603
+ var getTypename2 = (obj) => {
604
+ const schema = getSchema2(obj);
605
+ if (schema == null) {
606
+ return getType(obj)?.asTypeDXN()?.type;
607
+ }
608
+ return getSchemaTypename(schema);
609
+ };
610
+ var getMeta3 = (obj) => {
611
+ const meta = getMeta(obj);
612
+ invariant2(meta != null, "Invalid object.", {
613
+ F: __dxlog_file2,
614
+ L: 164,
615
+ S: void 0,
616
+ A: [
617
+ "meta != null",
618
+ "'Invalid object.'"
619
+ ]
620
+ });
621
+ return meta;
622
+ };
623
+ var getKeys = Function.dual(2, (obj, source) => {
624
+ const meta = getMeta(obj);
625
+ invariant2(meta != null, "Invalid object.", {
626
+ F: __dxlog_file2,
627
+ L: 176,
628
+ S: void 0,
629
+ A: [
630
+ "meta != null",
631
+ "'Invalid object.'"
632
+ ]
633
+ });
634
+ return meta.keys.filter((key) => key.source === source);
635
+ });
636
+ var deleteKeys = (obj, source) => {
637
+ const meta = getMeta(obj);
638
+ for (let i = 0; i < meta.keys.length; i++) {
639
+ if (meta.keys[i].source === source) {
640
+ meta.keys.splice(i, 1);
641
+ i--;
642
+ }
643
+ }
644
+ };
645
+ var isDeleted2 = (obj) => {
646
+ const deleted = isDeleted(obj);
647
+ invariant2(typeof deleted === "boolean", "Invalid object.", {
648
+ F: __dxlog_file2,
649
+ L: 198,
650
+ S: void 0,
651
+ A: [
652
+ "typeof deleted === 'boolean'",
653
+ "'Invalid object.'"
654
+ ]
655
+ });
656
+ return deleted;
657
+ };
658
+ var getLabel2 = (obj) => {
659
+ const schema = getSchema2(obj);
660
+ if (schema != null) {
661
+ return getLabel(schema, obj);
662
+ }
663
+ };
664
+ var setLabel2 = (obj, label) => {
665
+ const schema = getSchema2(obj);
666
+ if (schema != null) {
667
+ setLabel(schema, obj, label);
668
+ }
669
+ };
670
+ var getDescription2 = (obj) => {
671
+ const schema = getSchema2(obj);
672
+ if (schema != null) {
673
+ return getDescription(schema, obj);
674
+ }
675
+ };
676
+ var setDescription2 = (obj, description) => {
677
+ const schema = getSchema2(obj);
678
+ if (schema != null) {
679
+ setDescription(schema, obj, description);
680
+ }
681
+ };
682
+ var compare = (a, b) => {
683
+ if (a == null) {
684
+ return b == null ? 0 : 1;
685
+ }
686
+ if (b == null) {
687
+ return -1;
688
+ }
689
+ return a.localeCompare(b);
690
+ };
691
+ var sortByLabel = (a, b) => compare(getLabel2(a), getLabel2(b));
692
+ var sortByTypename = (a, b) => compare(getTypename2(a), getTypename2(b));
693
+ var sort = (...comparators) => {
694
+ return (a, b) => {
695
+ for (const comparator of comparators) {
696
+ const result = comparator(a, b);
697
+ if (result !== 0) {
698
+ return result;
699
+ }
700
+ }
701
+ return 0;
702
+ };
703
+ };
704
+ var toJSON = (obj) => objectToJSON(obj);
705
+ var fromJSON = objectFromJSON;
706
+ var getSnapshot2 = LiveObject.getSnapshot;
707
+ var clone = (obj, opts) => {
708
+ const { id, ...data } = obj;
709
+ const schema = getSchema2(obj);
710
+ invariant2(schema != null, "Object should have a schema", {
711
+ F: __dxlog_file2,
712
+ L: 305,
713
+ S: void 0,
714
+ A: [
715
+ "schema != null",
716
+ "'Object should have a schema'"
717
+ ]
718
+ });
719
+ const props = deepMapValues(data, (value2, recurse) => {
720
+ if (Ref.isRef(value2)) {
721
+ return value2;
722
+ }
723
+ return recurse(value2);
724
+ });
725
+ if (opts?.retainId) {
726
+ props.id = id;
727
+ }
728
+ const meta = getMeta3(obj);
729
+ props[MetaId] = deepMapValues(meta, (value2, recurse) => {
730
+ if (Ref.isRef(value2)) {
731
+ return value2;
732
+ }
733
+ return recurse(value2);
734
+ });
735
+ return make2(schema, props);
736
+ };
737
+ var VersionTypeId2 = VersionTypeId;
738
+ var unversioned = {
739
+ [VersionTypeId2]: {},
740
+ versioned: false
741
+ };
742
+ var isVersion = (obj) => {
743
+ return obj != null && typeof obj === "object" && VersionTypeId2 in obj;
744
+ };
745
+ var version = (obj) => {
746
+ const version2 = obj[ObjectVersionId];
747
+ if (version2 === void 0) {
748
+ return unversioned;
749
+ }
750
+ return version2;
751
+ };
752
+ var versionValid = (version2) => {
753
+ assertArgument2(isVersion(version2), "version", "Invalid version object");
754
+ return !!version2.versioned;
755
+ };
756
+ var compareVersions = (version1, version2) => {
757
+ assertArgument2(isVersion(version1), "version1", "Invalid version object");
758
+ assertArgument2(isVersion(version2), "version2", "Invalid version object");
759
+ if (!versionValid(version1) || !versionValid(version2)) {
760
+ return "unversioned";
761
+ }
762
+ if (version1.automergeHeads?.length !== version2.automergeHeads?.length) {
763
+ return "different";
764
+ }
765
+ if (version1.automergeHeads?.some((head) => !version2.automergeHeads?.includes(head))) {
766
+ return "different";
767
+ }
768
+ return "equal";
769
+ };
770
+ var encodeVersion = (version2) => {
771
+ return JSON.stringify(version2);
772
+ };
773
+ var decodeVersion = (version2) => {
774
+ const parsed = JSON.parse(version2);
775
+ parsed[VersionTypeId2] = {};
776
+ return parsed;
777
+ };
778
+
779
+ // src/query/tag.ts
780
+ var Tag = Schema3.Struct({
781
+ label: Schema3.String,
782
+ hue: Schema3.optional(Schema3.String)
783
+ }).pipe(Obj({
784
+ typename: "dxos.org/type/Tag",
785
+ version: "0.1.0"
786
+ }), LabelAnnotation.set([
787
+ "label"
788
+ ]));
789
+ var make3 = (props) => make2(Tag, props);
790
+ var sortTags = ({ label: a }, { label: b }) => a.localeCompare(b);
791
+ var createTagList = (tags) => Object.entries(tags).map(([id, tag]) => ({
792
+ ...tag,
793
+ id
794
+ })).sort(sortTags);
795
+ var findTagByLabel = (tags, name) => {
796
+ const entry = Object.entries(tags ?? {}).find(([_, tag]) => tag.label.toLowerCase() === name.toLowerCase());
797
+ return entry ? {
798
+ ...entry[1],
799
+ id: entry[0]
800
+ } : void 0;
801
+ };
802
+
803
+ export {
804
+ Ref_exports,
805
+ Filter,
806
+ Query,
807
+ Order,
808
+ Relation,
809
+ Type_exports,
810
+ Any,
811
+ Obj_exports,
812
+ tag_exports
813
+ };
814
+ //# sourceMappingURL=chunk-WO76TDT6.mjs.map