@dxos/echo 0.8.4-main.3a94e84 → 0.8.4-main.3c1ae3b
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.
- package/README.md +1 -1
- package/dist/lib/browser/Annotation.mjs +31 -0
- package/dist/lib/browser/Annotation.mjs.map +7 -0
- package/dist/lib/browser/Database.mjs +14 -0
- package/dist/lib/browser/Database.mjs.map +7 -0
- package/dist/lib/browser/Entity.mjs +20 -0
- package/dist/lib/browser/Entity.mjs.map +7 -0
- package/dist/lib/browser/Err.mjs +11 -0
- package/dist/lib/browser/Err.mjs.map +7 -0
- package/dist/lib/browser/Filter.mjs +60 -0
- package/dist/lib/browser/Filter.mjs.map +7 -0
- package/dist/lib/browser/Format.mjs +67 -0
- package/dist/lib/browser/Format.mjs.map +7 -0
- package/dist/lib/browser/JsonSchema.mjs +18 -0
- package/dist/lib/browser/JsonSchema.mjs.map +7 -0
- package/dist/lib/browser/Key.mjs +13 -0
- package/dist/lib/browser/Key.mjs.map +7 -0
- package/dist/lib/browser/Obj.mjs +83 -0
- package/dist/lib/browser/Obj.mjs.map +7 -0
- package/dist/lib/browser/Order.mjs +11 -0
- package/dist/lib/browser/Order.mjs.map +7 -0
- package/dist/lib/browser/Query.mjs +25 -0
- package/dist/lib/browser/Query.mjs.map +7 -0
- package/dist/lib/browser/QueryResult.mjs +3 -0
- package/dist/lib/browser/QueryResult.mjs.map +7 -0
- package/dist/lib/browser/Ref.mjs +21 -0
- package/dist/lib/browser/Ref.mjs.map +7 -0
- package/dist/lib/browser/Relation.mjs +33 -0
- package/dist/lib/browser/Relation.mjs.map +7 -0
- package/dist/lib/browser/SchemaRegistry.mjs +3 -0
- package/dist/lib/browser/SchemaRegistry.mjs.map +7 -0
- package/dist/lib/browser/Tag.mjs +25 -0
- package/dist/lib/browser/Tag.mjs.map +7 -0
- package/dist/lib/browser/Type.mjs +38 -0
- package/dist/lib/browser/Type.mjs.map +7 -0
- package/dist/lib/browser/chunk-3B2G6BW4.mjs +74 -0
- package/dist/lib/browser/chunk-3B2G6BW4.mjs.map +7 -0
- package/dist/lib/browser/chunk-5IN7XBIQ.mjs +24 -0
- package/dist/lib/browser/chunk-5IN7XBIQ.mjs.map +7 -0
- package/dist/lib/browser/chunk-6XVZF5VJ.mjs +2924 -0
- package/dist/lib/browser/chunk-6XVZF5VJ.mjs.map +7 -0
- package/dist/lib/browser/chunk-AGOWBKY6.mjs +94 -0
- package/dist/lib/browser/chunk-AGOWBKY6.mjs.map +7 -0
- package/dist/lib/browser/chunk-BD6MRI4M.mjs +113 -0
- package/dist/lib/browser/chunk-BD6MRI4M.mjs.map +7 -0
- package/dist/lib/browser/chunk-CGS2ULMK.mjs +11 -0
- package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +7 -0
- package/dist/lib/browser/chunk-DOPKE2FQ.mjs +32 -0
- package/dist/lib/browser/chunk-DOPKE2FQ.mjs.map +7 -0
- package/dist/lib/browser/chunk-ESLW4N7S.mjs +41 -0
- package/dist/lib/browser/chunk-ESLW4N7S.mjs.map +7 -0
- package/dist/lib/browser/chunk-F4YF6C3O.mjs +363 -0
- package/dist/lib/browser/chunk-F4YF6C3O.mjs.map +7 -0
- package/dist/lib/browser/chunk-FGFQWIZE.mjs +9 -0
- package/dist/lib/browser/chunk-FGFQWIZE.mjs.map +7 -0
- package/dist/lib/browser/chunk-INHXFXY5.mjs +22 -0
- package/dist/lib/browser/chunk-INHXFXY5.mjs.map +7 -0
- package/dist/lib/browser/chunk-JG4GH6LN.mjs +9 -0
- package/dist/lib/browser/chunk-JG4GH6LN.mjs.map +7 -0
- package/dist/lib/browser/chunk-MYCCGG2T.mjs +15 -0
- package/dist/lib/browser/chunk-MYCCGG2T.mjs.map +7 -0
- package/dist/lib/browser/chunk-NFH3POTD.mjs +37 -0
- package/dist/lib/browser/chunk-NFH3POTD.mjs.map +7 -0
- package/dist/lib/browser/chunk-O6FOICWT.mjs +57 -0
- package/dist/lib/browser/chunk-O6FOICWT.mjs.map +7 -0
- package/dist/lib/browser/chunk-P2B4BASR.mjs +288 -0
- package/dist/lib/browser/chunk-P2B4BASR.mjs.map +7 -0
- package/dist/lib/browser/chunk-QHC3ZYNC.mjs +152 -0
- package/dist/lib/browser/chunk-QHC3ZYNC.mjs.map +7 -0
- package/dist/lib/browser/chunk-QU7PWSZD.mjs +62 -0
- package/dist/lib/browser/chunk-QU7PWSZD.mjs.map +7 -0
- package/dist/lib/browser/chunk-RP4JV7FD.mjs +403 -0
- package/dist/lib/browser/chunk-RP4JV7FD.mjs.map +7 -0
- package/dist/lib/browser/chunk-V7TON6BX.mjs +151 -0
- package/dist/lib/browser/chunk-V7TON6BX.mjs.map +7 -0
- package/dist/lib/browser/chunk-WABSVOOX.mjs +303 -0
- package/dist/lib/browser/chunk-WABSVOOX.mjs.map +7 -0
- package/dist/lib/browser/chunk-XRHHSMHJ.mjs +39 -0
- package/dist/lib/browser/chunk-XRHHSMHJ.mjs.map +7 -0
- package/dist/lib/browser/chunk-ZIM3Y4ZK.mjs +38 -0
- package/dist/lib/browser/chunk-ZIM3Y4ZK.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +72 -9
- package/dist/lib/browser/internal/index.mjs +347 -0
- package/dist/lib/browser/internal/index.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +322 -32
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/Annotation.mjs +31 -0
- package/dist/lib/node-esm/Annotation.mjs.map +7 -0
- package/dist/lib/node-esm/Database.mjs +14 -0
- package/dist/lib/node-esm/Database.mjs.map +7 -0
- package/dist/lib/node-esm/Entity.mjs +20 -0
- package/dist/lib/node-esm/Entity.mjs.map +7 -0
- package/dist/lib/node-esm/Err.mjs +11 -0
- package/dist/lib/node-esm/Err.mjs.map +7 -0
- package/dist/lib/node-esm/Filter.mjs +60 -0
- package/dist/lib/node-esm/Filter.mjs.map +7 -0
- package/dist/lib/node-esm/Format.mjs +67 -0
- package/dist/lib/node-esm/Format.mjs.map +7 -0
- package/dist/lib/node-esm/JsonSchema.mjs +18 -0
- package/dist/lib/node-esm/JsonSchema.mjs.map +7 -0
- package/dist/lib/node-esm/Key.mjs +13 -0
- package/dist/lib/node-esm/Key.mjs.map +7 -0
- package/dist/lib/node-esm/Obj.mjs +83 -0
- package/dist/lib/node-esm/Obj.mjs.map +7 -0
- package/dist/lib/node-esm/Order.mjs +11 -0
- package/dist/lib/node-esm/Order.mjs.map +7 -0
- package/dist/lib/node-esm/Query.mjs +25 -0
- package/dist/lib/node-esm/Query.mjs.map +7 -0
- package/dist/lib/node-esm/QueryResult.mjs +3 -0
- package/dist/lib/node-esm/QueryResult.mjs.map +7 -0
- package/dist/lib/node-esm/Ref.mjs +21 -0
- package/dist/lib/node-esm/Ref.mjs.map +7 -0
- package/dist/lib/node-esm/Relation.mjs +33 -0
- package/dist/lib/node-esm/Relation.mjs.map +7 -0
- package/dist/lib/node-esm/SchemaRegistry.mjs +3 -0
- package/dist/lib/node-esm/SchemaRegistry.mjs.map +7 -0
- package/dist/lib/node-esm/Tag.mjs +25 -0
- package/dist/lib/node-esm/Tag.mjs.map +7 -0
- package/dist/lib/node-esm/Type.mjs +38 -0
- package/dist/lib/node-esm/Type.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-5M5P2DCR.mjs +32 -0
- package/dist/lib/node-esm/chunk-5M5P2DCR.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-6OTQZKHX.mjs +303 -0
- package/dist/lib/node-esm/chunk-6OTQZKHX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-76LEDWHO.mjs +152 -0
- package/dist/lib/node-esm/chunk-76LEDWHO.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-AGHZH33D.mjs +9 -0
- package/dist/lib/node-esm/chunk-AGHZH33D.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-AJEMYSIR.mjs +22 -0
- package/dist/lib/node-esm/chunk-AJEMYSIR.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-BJACR7QG.mjs +363 -0
- package/dist/lib/node-esm/chunk-BJACR7QG.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-BYL2NPEA.mjs +37 -0
- package/dist/lib/node-esm/chunk-BYL2NPEA.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CCMFPJUT.mjs +74 -0
- package/dist/lib/node-esm/chunk-CCMFPJUT.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-D5BW7KHR.mjs +39 -0
- package/dist/lib/node-esm/chunk-D5BW7KHR.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-DJX53IQ3.mjs +2924 -0
- package/dist/lib/node-esm/chunk-DJX53IQ3.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-FWTPV5QD.mjs +94 -0
- package/dist/lib/node-esm/chunk-FWTPV5QD.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HLUDHPFO.mjs +403 -0
- package/dist/lib/node-esm/chunk-HLUDHPFO.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JYZSF62S.mjs +113 -0
- package/dist/lib/node-esm/chunk-JYZSF62S.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-KUX5JEL2.mjs +57 -0
- package/dist/lib/node-esm/chunk-KUX5JEL2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-LDXRA5TC.mjs +288 -0
- package/dist/lib/node-esm/chunk-LDXRA5TC.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-MOWUEW5P.mjs +15 -0
- package/dist/lib/node-esm/chunk-MOWUEW5P.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-NHYOREKX.mjs +62 -0
- package/dist/lib/node-esm/chunk-NHYOREKX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-QVZZHCDS.mjs +9 -0
- package/dist/lib/node-esm/chunk-QVZZHCDS.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-W3OLV7MG.mjs +41 -0
- package/dist/lib/node-esm/chunk-W3OLV7MG.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-W5AQXKVF.mjs +38 -0
- package/dist/lib/node-esm/chunk-W5AQXKVF.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-YNBFXTDG.mjs +24 -0
- package/dist/lib/node-esm/chunk-YNBFXTDG.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-Z53QIBP2.mjs +151 -0
- package/dist/lib/node-esm/chunk-Z53QIBP2.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +72 -9
- package/dist/lib/node-esm/internal/index.mjs +347 -0
- package/dist/lib/node-esm/internal/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +322 -32
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- package/dist/types/src/Annotation.d.ts +2 -0
- package/dist/types/src/Annotation.d.ts.map +1 -0
- package/dist/types/src/Database.d.ts +179 -0
- package/dist/types/src/Database.d.ts.map +1 -0
- package/dist/types/src/Entity.d.ts +36 -0
- package/dist/types/src/Entity.d.ts.map +1 -0
- package/dist/types/src/Err.d.ts +68 -0
- package/dist/types/src/Err.d.ts.map +1 -0
- package/dist/types/src/Filter.d.ts +120 -0
- package/dist/types/src/Filter.d.ts.map +1 -0
- package/dist/types/src/Format.d.ts +4 -0
- package/dist/types/src/Format.d.ts.map +1 -0
- package/dist/types/src/Hypergraph.d.ts +60 -0
- package/dist/types/src/Hypergraph.d.ts.map +1 -0
- package/dist/types/src/JsonSchema.d.ts +9 -0
- package/dist/types/src/JsonSchema.d.ts.map +1 -0
- package/dist/types/src/Key.d.ts +1 -0
- package/dist/types/src/Key.d.ts.map +1 -1
- package/dist/types/src/Obj.d.ts +152 -35
- package/dist/types/src/Obj.d.ts.map +1 -1
- package/dist/types/src/Order.d.ts +11 -0
- package/dist/types/src/Order.d.ts.map +1 -0
- package/dist/types/src/Query.d.ts +107 -0
- package/dist/types/src/Query.d.ts.map +1 -0
- package/dist/types/src/Query.test.d.ts +2 -0
- package/dist/types/src/Query.test.d.ts.map +1 -0
- package/dist/types/src/QueryResult.d.ts +84 -0
- package/dist/types/src/QueryResult.d.ts.map +1 -0
- package/dist/types/src/Ref.d.ts +12 -10
- package/dist/types/src/Ref.d.ts.map +1 -1
- package/dist/types/src/Relation.d.ts +20 -14
- package/dist/types/src/Relation.d.ts.map +1 -1
- package/dist/types/src/SchemaRegistry.d.ts +73 -0
- package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
- package/dist/types/src/Tag.d.ts +17 -0
- package/dist/types/src/Tag.d.ts.map +1 -0
- package/dist/types/src/Type.d.ts +39 -50
- package/dist/types/src/Type.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +15 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/annotations/annotations.d.ts +179 -0
- package/dist/types/src/internal/annotations/annotations.d.ts.map +1 -0
- package/dist/types/src/internal/annotations/annotations.test.d.ts +2 -0
- package/dist/types/src/internal/annotations/annotations.test.d.ts.map +1 -0
- package/dist/types/src/internal/annotations/index.d.ts +3 -0
- package/dist/types/src/internal/annotations/index.d.ts.map +1 -0
- package/dist/types/src/internal/annotations/util.d.ts +27 -0
- package/dist/types/src/internal/annotations/util.d.ts.map +1 -0
- package/dist/types/src/internal/entities/entity.d.ts +10 -0
- package/dist/types/src/internal/entities/entity.d.ts.map +1 -0
- package/dist/types/src/internal/entities/expando.d.ts +16 -0
- package/dist/types/src/internal/entities/expando.d.ts.map +1 -0
- package/dist/types/src/internal/entities/index.d.ts +6 -0
- package/dist/types/src/internal/entities/index.d.ts.map +1 -0
- package/dist/types/src/internal/entities/model.d.ts +70 -0
- package/dist/types/src/internal/entities/model.d.ts.map +1 -0
- package/dist/types/src/internal/entities/object.d.ts +11 -0
- package/dist/types/src/internal/entities/object.d.ts.map +1 -0
- package/dist/types/src/internal/entities/relation.d.ts +55 -0
- package/dist/types/src/internal/entities/relation.d.ts.map +1 -0
- package/dist/types/src/internal/entities/util.d.ts +2 -0
- package/dist/types/src/internal/entities/util.d.ts.map +1 -0
- package/dist/types/src/internal/formats/date.d.ts +63 -0
- package/dist/types/src/internal/formats/date.d.ts.map +1 -0
- package/dist/types/src/internal/formats/date.test.d.ts +2 -0
- package/dist/types/src/internal/formats/date.test.d.ts.map +1 -0
- package/dist/types/src/internal/formats/format.d.ts +32 -0
- package/dist/types/src/internal/formats/format.d.ts.map +1 -0
- package/dist/types/src/internal/formats/format.test.d.ts +2 -0
- package/dist/types/src/internal/formats/format.test.d.ts.map +1 -0
- package/dist/types/src/internal/formats/index.d.ts +8 -0
- package/dist/types/src/internal/formats/index.d.ts.map +1 -0
- package/dist/types/src/internal/formats/number.d.ts +31 -0
- package/dist/types/src/internal/formats/number.d.ts.map +1 -0
- package/dist/types/src/internal/formats/object.d.ts +35 -0
- package/dist/types/src/internal/formats/object.d.ts.map +1 -0
- package/dist/types/src/internal/formats/select.d.ts +13 -0
- package/dist/types/src/internal/formats/select.d.ts.map +1 -0
- package/dist/types/src/internal/formats/string.d.ts +42 -0
- package/dist/types/src/internal/formats/string.d.ts.map +1 -0
- package/dist/types/src/internal/formats/types.d.ts +72 -0
- package/dist/types/src/internal/formats/types.d.ts.map +1 -0
- package/dist/types/src/internal/index.d.ts +11 -0
- package/dist/types/src/internal/index.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/annotations.d.ts +19 -0
- package/dist/types/src/internal/json-schema/annotations.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/effect-schema.test.d.ts +2 -0
- package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/index.d.ts +5 -0
- package/dist/types/src/internal/json-schema/index.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts +7 -0
- package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/json-schema-type.d.ts +250 -0
- package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/json-schema.d.ts +29 -0
- package/dist/types/src/internal/json-schema/json-schema.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/json-schema.test.d.ts +2 -0
- package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/object/common.d.ts +18 -0
- package/dist/types/src/internal/object/common.d.ts.map +1 -0
- package/dist/types/src/internal/object/create-object.d.ts +39 -0
- package/dist/types/src/internal/object/create-object.d.ts.map +1 -0
- package/dist/types/src/internal/object/create-object.test.d.ts +2 -0
- package/dist/types/src/internal/object/create-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/object/deleted.d.ts +6 -0
- package/dist/types/src/internal/object/deleted.d.ts.map +1 -0
- package/dist/types/src/internal/object/ids.d.ts +6 -0
- package/dist/types/src/internal/object/ids.d.ts.map +1 -0
- package/dist/types/src/internal/object/index.d.ts +8 -0
- package/dist/types/src/internal/object/index.d.ts.map +1 -0
- package/dist/types/src/internal/object/inspect.d.ts +2 -0
- package/dist/types/src/internal/object/inspect.d.ts.map +1 -0
- package/dist/types/src/internal/object/json-serializer.d.ts +31 -0
- package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -0
- package/dist/types/src/internal/object/json-serializer.test.d.ts +2 -0
- package/dist/types/src/internal/object/json-serializer.test.d.ts.map +1 -0
- package/dist/types/src/internal/object/schema-validator.d.ts +15 -0
- package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -0
- package/dist/types/src/internal/object/schema-validator.test.d.ts +2 -0
- package/dist/types/src/internal/object/schema-validator.test.d.ts.map +1 -0
- package/dist/types/src/internal/object/typed-object.d.ts +31 -0
- package/dist/types/src/internal/object/typed-object.d.ts.map +1 -0
- package/dist/types/src/internal/object/typed-object.test.d.ts +2 -0
- package/dist/types/src/internal/object/typed-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/handler.test.d.ts +2 -0
- package/dist/types/src/internal/proxy/handler.test.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/index.d.ts +3 -0
- package/dist/types/src/internal/proxy/index.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/make-object.d.ts +16 -0
- package/dist/types/src/internal/proxy/make-object.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/schema.test.d.ts +2 -0
- package/dist/types/src/internal/proxy/schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/typed-handler.d.ts +44 -0
- package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/typed-handler.test.d.ts +2 -0
- package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/typed-object.test.d.ts +2 -0
- package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/ref/index.d.ts +3 -0
- package/dist/types/src/internal/ref/index.d.ts.map +1 -0
- package/dist/types/src/internal/ref/ref-array.d.ts +21 -0
- package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -0
- package/dist/types/src/internal/ref/ref.d.ts +209 -0
- package/dist/types/src/internal/ref/ref.d.ts.map +1 -0
- package/dist/types/src/internal/ref/ref.test.d.ts +2 -0
- package/dist/types/src/internal/ref/ref.test.d.ts.map +1 -0
- package/dist/types/src/internal/schema/compose.d.ts +6 -0
- package/dist/types/src/internal/schema/compose.d.ts.map +1 -0
- package/dist/types/src/internal/schema/compose.test.d.ts +2 -0
- package/dist/types/src/internal/schema/compose.test.d.ts.map +1 -0
- package/dist/types/src/internal/schema/echo-schema.d.ts +168 -0
- package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -0
- package/dist/types/src/internal/schema/index.d.ts +5 -0
- package/dist/types/src/internal/schema/index.d.ts.map +1 -0
- package/dist/types/src/internal/schema/manipulation.d.ts +10 -0
- package/dist/types/src/internal/schema/manipulation.d.ts.map +1 -0
- package/dist/types/src/internal/schema/persistent-schema.d.ts +18 -0
- package/dist/types/src/internal/schema/persistent-schema.d.ts.map +1 -0
- package/dist/types/src/internal/schema/snapshot.d.ts +6 -0
- package/dist/types/src/internal/schema/snapshot.d.ts.map +1 -0
- package/dist/types/src/internal/types/base.d.ts +37 -0
- package/dist/types/src/internal/types/base.d.ts.map +1 -0
- package/dist/types/src/internal/types/entity.d.ts +12 -0
- package/dist/types/src/internal/types/entity.d.ts.map +1 -0
- package/dist/types/src/internal/types/index.d.ts +6 -0
- package/dist/types/src/internal/types/index.d.ts.map +1 -0
- package/dist/types/src/internal/types/meta.d.ts +40 -0
- package/dist/types/src/internal/types/meta.d.ts.map +1 -0
- package/dist/types/src/internal/types/typename.d.ts +13 -0
- package/dist/types/src/internal/types/typename.d.ts.map +1 -0
- package/dist/types/src/internal/types/version.d.ts +15 -0
- package/dist/types/src/internal/types/version.d.ts.map +1 -0
- package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +3 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-data.d.ts +18 -0
- package/dist/types/src/testing/test-data.d.ts.map +1 -0
- package/dist/types/src/testing/test-schema.d.ts +407 -0
- package/dist/types/src/testing/test-schema.d.ts.map +1 -0
- package/dist/types/src/testing/util.d.ts +16 -0
- package/dist/types/src/testing/util.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +164 -33
- package/src/Annotation.ts +17 -0
- package/src/Database.ts +308 -0
- package/src/Entity.ts +51 -0
- package/src/Err.ts +18 -0
- package/src/Filter.ts +376 -0
- package/src/Format.ts +9 -0
- package/src/Hypergraph.ts +74 -0
- package/src/JsonSchema.ts +16 -0
- package/src/Key.ts +3 -0
- package/src/Obj.ts +407 -71
- package/src/Order.ts +34 -0
- package/src/Query.test.ts +346 -0
- package/src/Query.ts +279 -0
- package/src/QueryResult.ts +109 -0
- package/src/Ref.ts +25 -9
- package/src/Relation.ts +72 -46
- package/src/SchemaRegistry.ts +92 -0
- package/src/Tag.ts +40 -0
- package/src/Type.ts +98 -84
- package/src/index.ts +17 -4
- package/src/internal/README.md +87 -0
- package/src/internal/annotations/annotations.test.ts +96 -0
- package/src/internal/annotations/annotations.ts +488 -0
- package/src/internal/annotations/index.ts +6 -0
- package/src/internal/annotations/util.ts +72 -0
- package/src/internal/entities/entity.ts +109 -0
- package/src/internal/entities/expando.ts +23 -0
- package/src/internal/entities/index.ts +9 -0
- package/src/internal/entities/model.ts +129 -0
- package/src/internal/entities/object.ts +45 -0
- package/src/internal/entities/relation.ts +155 -0
- package/src/internal/entities/util.ts +33 -0
- package/src/internal/formats/date.test.ts +56 -0
- package/src/internal/formats/date.ts +217 -0
- package/src/internal/formats/format.test.ts +77 -0
- package/src/internal/formats/format.ts +54 -0
- package/src/internal/formats/index.ts +12 -0
- package/src/internal/formats/number.ts +89 -0
- package/src/internal/formats/object.ts +80 -0
- package/src/internal/formats/select.ts +18 -0
- package/src/internal/formats/string.ts +81 -0
- package/src/internal/formats/types.ts +186 -0
- package/src/internal/index.ts +38 -0
- package/src/internal/json-schema/annotations.ts +50 -0
- package/src/internal/json-schema/effect-schema.test.ts +143 -0
- package/src/internal/json-schema/index.ts +8 -0
- package/src/internal/json-schema/json-schema-normalize.ts +109 -0
- package/src/internal/json-schema/json-schema-type.ts +404 -0
- package/src/internal/json-schema/json-schema.test.ts +861 -0
- package/src/internal/json-schema/json-schema.ts +528 -0
- package/src/internal/object/common.ts +75 -0
- package/src/internal/object/create-object.test.ts +116 -0
- package/src/internal/object/create-object.ts +95 -0
- package/src/internal/object/deleted.ts +19 -0
- package/src/internal/object/ids.ts +12 -0
- package/src/internal/object/index.ts +11 -0
- package/src/internal/object/inspect.ts +46 -0
- package/src/internal/object/json-serializer.test.ts +94 -0
- package/src/internal/object/json-serializer.ts +230 -0
- package/src/internal/object/schema-validator.test.ts +186 -0
- package/src/internal/object/schema-validator.ts +244 -0
- package/src/internal/object/typed-object.test.ts +34 -0
- package/src/internal/object/typed-object.ts +94 -0
- package/src/internal/proxy/handler.test.ts +173 -0
- package/src/internal/proxy/index.ts +6 -0
- package/src/internal/proxy/make-object.ts +113 -0
- package/src/internal/proxy/schema.test.ts +137 -0
- package/src/internal/proxy/typed-handler.test.ts +102 -0
- package/src/internal/proxy/typed-handler.ts +233 -0
- package/src/internal/proxy/typed-object.test.ts +105 -0
- package/src/internal/ref/index.ts +6 -0
- package/src/internal/ref/ref-array.ts +39 -0
- package/src/internal/ref/ref.test.ts +101 -0
- package/src/internal/ref/ref.ts +525 -0
- package/src/internal/schema/compose.test.ts +42 -0
- package/src/internal/schema/compose.ts +37 -0
- package/src/internal/schema/echo-schema.ts +385 -0
- package/src/internal/schema/index.ts +8 -0
- package/src/internal/schema/manipulation.ts +92 -0
- package/src/internal/schema/persistent-schema.ts +28 -0
- package/src/internal/schema/snapshot.ts +25 -0
- package/src/internal/types/base.ts +57 -0
- package/src/internal/types/entity.ts +23 -0
- package/src/internal/types/index.ts +9 -0
- package/src/internal/types/meta.ts +76 -0
- package/src/internal/types/typename.ts +45 -0
- package/src/internal/types/version.ts +20 -0
- package/src/testing/api.test.ts +100 -0
- package/src/testing/index.ts +3 -1
- package/src/testing/test-data.ts +130 -0
- package/src/testing/test-schema.ts +224 -0
- package/src/testing/util.ts +78 -0
- package/dist/lib/browser/chunk-EUA7CM23.mjs +0 -619
- package/dist/lib/browser/chunk-EUA7CM23.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IV6BWGHK.mjs +0 -619
- package/dist/lib/node-esm/chunk-IV6BWGHK.mjs.map +0 -7
- package/dist/types/src/experimental/database.d.ts +0 -8
- package/dist/types/src/experimental/database.d.ts.map +0 -1
- package/dist/types/src/experimental/index.d.ts +0 -1
- package/dist/types/src/experimental/index.d.ts.map +0 -1
- package/dist/types/src/experimental/queue.d.ts +0 -8
- package/dist/types/src/experimental/queue.d.ts.map +0 -1
- package/dist/types/src/experimental/space.d.ts +0 -8
- package/dist/types/src/experimental/space.d.ts.map +0 -1
- package/dist/types/src/query/dsl.d.ts +0 -218
- package/dist/types/src/query/dsl.d.ts.map +0 -1
- package/dist/types/src/query/dsl.test.d.ts +0 -2
- package/dist/types/src/query/dsl.test.d.ts.map +0 -1
- package/dist/types/src/query/index.d.ts +0 -2
- package/dist/types/src/query/index.d.ts.map +0 -1
- package/dist/types/src/testing/types.d.ts +0 -113
- package/dist/types/src/testing/types.d.ts.map +0 -1
- package/src/experimental/database.ts +0 -11
- package/src/experimental/index.ts +0 -7
- package/src/experimental/queue.ts +0 -11
- package/src/experimental/space.ts +0 -11
- package/src/query/dsl.test.ts +0 -323
- package/src/query/dsl.ts +0 -646
- package/src/query/index.ts +0 -5
- package/src/test/api.test.ts +0 -173
- package/src/testing/types.ts +0 -91
- /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
Obj
|
|
4
|
+
} from "./chunk-FWTPV5QD.mjs";
|
|
5
|
+
import {
|
|
6
|
+
isRef
|
|
7
|
+
} from "./chunk-W3OLV7MG.mjs";
|
|
8
|
+
import {
|
|
9
|
+
Kind
|
|
10
|
+
} from "./chunk-5M5P2DCR.mjs";
|
|
11
|
+
import {
|
|
12
|
+
MetaId,
|
|
13
|
+
ObjectVersionId,
|
|
14
|
+
VersionTypeId,
|
|
15
|
+
getMeta,
|
|
16
|
+
getObjectDXN,
|
|
17
|
+
isDeleted,
|
|
18
|
+
makeObject,
|
|
19
|
+
objectFromJSON,
|
|
20
|
+
objectToJSON
|
|
21
|
+
} from "./chunk-DJX53IQ3.mjs";
|
|
22
|
+
import {
|
|
23
|
+
getDescription,
|
|
24
|
+
getLabel,
|
|
25
|
+
getSchema,
|
|
26
|
+
getSchemaTypename,
|
|
27
|
+
getTypeAnnotation,
|
|
28
|
+
getTypeDXN,
|
|
29
|
+
isInstanceOf,
|
|
30
|
+
setDescription,
|
|
31
|
+
setLabel
|
|
32
|
+
} from "./chunk-6OTQZKHX.mjs";
|
|
33
|
+
import {
|
|
34
|
+
KindId
|
|
35
|
+
} from "./chunk-NHYOREKX.mjs";
|
|
36
|
+
import {
|
|
37
|
+
__export
|
|
38
|
+
} from "./chunk-HSLMI22Q.mjs";
|
|
39
|
+
|
|
40
|
+
// src/Obj.ts
|
|
41
|
+
var Obj_exports = {};
|
|
42
|
+
__export(Obj_exports, {
|
|
43
|
+
Any: () => Any,
|
|
44
|
+
ID: () => ID,
|
|
45
|
+
Meta: () => Meta,
|
|
46
|
+
VersionTypeId: () => VersionTypeId,
|
|
47
|
+
addTag: () => addTag,
|
|
48
|
+
clone: () => clone,
|
|
49
|
+
compareVersions: () => compareVersions,
|
|
50
|
+
decodeVersion: () => decodeVersion,
|
|
51
|
+
deleteKeys: () => deleteKeys,
|
|
52
|
+
encodeVersion: () => encodeVersion,
|
|
53
|
+
fromJSON: () => fromJSON,
|
|
54
|
+
getDXN: () => getDXN,
|
|
55
|
+
getDescription: () => getDescription2,
|
|
56
|
+
getKeys: () => getKeys,
|
|
57
|
+
getLabel: () => getLabel2,
|
|
58
|
+
getMeta: () => getMeta2,
|
|
59
|
+
getSchema: () => getSchema2,
|
|
60
|
+
getSnapshot: () => getSnapshot,
|
|
61
|
+
getTypeDXN: () => getTypeDXN2,
|
|
62
|
+
getTypename: () => getTypename,
|
|
63
|
+
instanceOf: () => instanceOf,
|
|
64
|
+
isDeleted: () => isDeleted2,
|
|
65
|
+
isObject: () => isObject,
|
|
66
|
+
isVersion: () => isVersion,
|
|
67
|
+
make: () => make,
|
|
68
|
+
removeTag: () => removeTag,
|
|
69
|
+
setDescription: () => setDescription2,
|
|
70
|
+
setLabel: () => setLabel2,
|
|
71
|
+
sort: () => sort,
|
|
72
|
+
sortByLabel: () => sortByLabel,
|
|
73
|
+
sortByTypename: () => sortByTypename,
|
|
74
|
+
toJSON: () => toJSON,
|
|
75
|
+
version: () => version,
|
|
76
|
+
versionValid: () => versionValid
|
|
77
|
+
});
|
|
78
|
+
import * as Function from "effect/Function";
|
|
79
|
+
import * as Schema from "effect/Schema";
|
|
80
|
+
import { assertArgument, invariant } from "@dxos/invariant";
|
|
81
|
+
import { ObjectId } from "@dxos/keys";
|
|
82
|
+
import { getSnapshot as getSnapshot$ } from "@dxos/live-object";
|
|
83
|
+
import { assumeType, deepMapValues } from "@dxos/util";
|
|
84
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo/src/Obj.ts";
|
|
85
|
+
var Any = Schema.Struct({}).pipe(Obj({
|
|
86
|
+
typename: "dxos.org/type/Any",
|
|
87
|
+
version: "0.1.0"
|
|
88
|
+
}));
|
|
89
|
+
var defaultMeta = {
|
|
90
|
+
keys: []
|
|
91
|
+
};
|
|
92
|
+
var make = (schema, props, meta) => {
|
|
93
|
+
assertArgument(getTypeAnnotation(schema)?.kind === Kind.Object, "schema", "Expected an object schema");
|
|
94
|
+
if (props[MetaId] != null) {
|
|
95
|
+
meta = {
|
|
96
|
+
...structuredClone(defaultMeta),
|
|
97
|
+
...props[MetaId]
|
|
98
|
+
};
|
|
99
|
+
delete props[MetaId];
|
|
100
|
+
}
|
|
101
|
+
const filterUndefined = Object.fromEntries(Object.entries(props).filter(([_, v]) => v !== void 0));
|
|
102
|
+
return makeObject(schema, filterUndefined, {
|
|
103
|
+
...defaultMeta,
|
|
104
|
+
...meta
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
var isObject = (obj) => {
|
|
108
|
+
assumeType(obj);
|
|
109
|
+
return typeof obj === "object" && obj !== null && obj[KindId] === Kind.Object;
|
|
110
|
+
};
|
|
111
|
+
var getSnapshot = getSnapshot$;
|
|
112
|
+
var clone = (obj, opts) => {
|
|
113
|
+
const { id, ...data } = obj;
|
|
114
|
+
const schema = getSchema(obj);
|
|
115
|
+
invariant(schema != null, "Object should have a schema", {
|
|
116
|
+
F: __dxlog_file,
|
|
117
|
+
L: 157,
|
|
118
|
+
S: void 0,
|
|
119
|
+
A: [
|
|
120
|
+
"schema != null",
|
|
121
|
+
"'Object should have a schema'"
|
|
122
|
+
]
|
|
123
|
+
});
|
|
124
|
+
const props = deepMapValues(data, (value, recurse) => {
|
|
125
|
+
if (isRef(value)) {
|
|
126
|
+
return value;
|
|
127
|
+
}
|
|
128
|
+
return recurse(value);
|
|
129
|
+
});
|
|
130
|
+
if (opts?.retainId) {
|
|
131
|
+
props.id = id;
|
|
132
|
+
}
|
|
133
|
+
const meta = getMeta2(obj);
|
|
134
|
+
props[MetaId] = deepMapValues(meta, (value, recurse) => {
|
|
135
|
+
if (isRef(value)) {
|
|
136
|
+
return value;
|
|
137
|
+
}
|
|
138
|
+
return recurse(value);
|
|
139
|
+
});
|
|
140
|
+
return make(schema, props);
|
|
141
|
+
};
|
|
142
|
+
var ID = ObjectId;
|
|
143
|
+
var instanceOf = (...args) => {
|
|
144
|
+
if (args.length === 1) {
|
|
145
|
+
return (entity) => isInstanceOf(args[0], entity);
|
|
146
|
+
}
|
|
147
|
+
return isInstanceOf(args[0], args[1]);
|
|
148
|
+
};
|
|
149
|
+
var getDXN = (entity) => {
|
|
150
|
+
assertArgument(!Schema.isSchema(entity), "obj", "Object should not be a schema.");
|
|
151
|
+
const dxn = getObjectDXN(entity);
|
|
152
|
+
invariant(dxn != null, "Invalid object.", {
|
|
153
|
+
F: __dxlog_file,
|
|
154
|
+
L: 213,
|
|
155
|
+
S: void 0,
|
|
156
|
+
A: [
|
|
157
|
+
"dxn != null",
|
|
158
|
+
"'Invalid object.'"
|
|
159
|
+
]
|
|
160
|
+
});
|
|
161
|
+
return dxn;
|
|
162
|
+
};
|
|
163
|
+
var getTypeDXN2 = getTypeDXN;
|
|
164
|
+
var getSchema2 = getSchema;
|
|
165
|
+
var getTypename = (entity) => {
|
|
166
|
+
const schema = getSchema(entity);
|
|
167
|
+
if (schema == null) {
|
|
168
|
+
return getTypeDXN(entity)?.asTypeDXN()?.type;
|
|
169
|
+
}
|
|
170
|
+
return getSchemaTypename(schema);
|
|
171
|
+
};
|
|
172
|
+
var Meta = MetaId;
|
|
173
|
+
var getMeta2 = (entity) => {
|
|
174
|
+
const meta = getMeta(entity);
|
|
175
|
+
invariant(meta != null, "Invalid object.", {
|
|
176
|
+
F: __dxlog_file,
|
|
177
|
+
L: 253,
|
|
178
|
+
S: void 0,
|
|
179
|
+
A: [
|
|
180
|
+
"meta != null",
|
|
181
|
+
"'Invalid object.'"
|
|
182
|
+
]
|
|
183
|
+
});
|
|
184
|
+
return meta;
|
|
185
|
+
};
|
|
186
|
+
var getKeys = Function.dual(2, (entity, source) => {
|
|
187
|
+
const meta = getMeta2(entity);
|
|
188
|
+
invariant(meta != null, "Invalid object.", {
|
|
189
|
+
F: __dxlog_file,
|
|
190
|
+
L: 265,
|
|
191
|
+
S: void 0,
|
|
192
|
+
A: [
|
|
193
|
+
"meta != null",
|
|
194
|
+
"'Invalid object.'"
|
|
195
|
+
]
|
|
196
|
+
});
|
|
197
|
+
return meta.keys.filter((key) => key.source === source);
|
|
198
|
+
});
|
|
199
|
+
var deleteKeys = (entity, source) => {
|
|
200
|
+
const meta = getMeta2(entity);
|
|
201
|
+
for (let i = 0; i < meta.keys.length; i++) {
|
|
202
|
+
if (meta.keys[i].source === source) {
|
|
203
|
+
meta.keys.splice(i, 1);
|
|
204
|
+
i--;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
var addTag = (entity, tag) => {
|
|
209
|
+
const meta = getMeta2(entity);
|
|
210
|
+
meta.tags ??= [];
|
|
211
|
+
meta.tags.push(tag);
|
|
212
|
+
};
|
|
213
|
+
var removeTag = (entity, tag) => {
|
|
214
|
+
const meta = getMeta2(entity);
|
|
215
|
+
if (!meta.tags) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
for (let i = 0; i < meta.tags.length; i++) {
|
|
219
|
+
if (meta.tags[i] === tag) {
|
|
220
|
+
meta.tags.splice(i, 1);
|
|
221
|
+
i--;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
var isDeleted2 = (entity) => {
|
|
226
|
+
const deleted = isDeleted(entity);
|
|
227
|
+
invariant(typeof deleted === "boolean", "Invalid object.", {
|
|
228
|
+
F: __dxlog_file,
|
|
229
|
+
L: 306,
|
|
230
|
+
S: void 0,
|
|
231
|
+
A: [
|
|
232
|
+
"typeof deleted === 'boolean'",
|
|
233
|
+
"'Invalid object.'"
|
|
234
|
+
]
|
|
235
|
+
});
|
|
236
|
+
return deleted;
|
|
237
|
+
};
|
|
238
|
+
var getLabel2 = (entity) => {
|
|
239
|
+
const schema = getSchema(entity);
|
|
240
|
+
if (schema != null) {
|
|
241
|
+
return getLabel(schema, entity);
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
var setLabel2 = (entity, label) => {
|
|
245
|
+
const schema = getSchema(entity);
|
|
246
|
+
if (schema != null) {
|
|
247
|
+
setLabel(schema, entity, label);
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
var getDescription2 = (entity) => {
|
|
251
|
+
const schema = getSchema(entity);
|
|
252
|
+
if (schema != null) {
|
|
253
|
+
return getDescription(schema, entity);
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
var setDescription2 = (entity, description) => {
|
|
257
|
+
const schema = getSchema(entity);
|
|
258
|
+
if (schema != null) {
|
|
259
|
+
setDescription(schema, entity, description);
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
var toJSON = (entity) => objectToJSON(entity);
|
|
263
|
+
var fromJSON = objectFromJSON;
|
|
264
|
+
var compare = (a, b) => {
|
|
265
|
+
if (a == null) {
|
|
266
|
+
return b == null ? 0 : 1;
|
|
267
|
+
}
|
|
268
|
+
if (b == null) {
|
|
269
|
+
return -1;
|
|
270
|
+
}
|
|
271
|
+
return a.localeCompare(b);
|
|
272
|
+
};
|
|
273
|
+
var sortByLabel = (a, b) => compare(getLabel2(a), getLabel2(b));
|
|
274
|
+
var sortByTypename = (a, b) => compare(getTypename(a), getTypename(b));
|
|
275
|
+
var sort = (...comparators) => {
|
|
276
|
+
return (a, b) => {
|
|
277
|
+
for (const comparator of comparators) {
|
|
278
|
+
const result = comparator(a, b);
|
|
279
|
+
if (result !== 0) {
|
|
280
|
+
return result;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
return 0;
|
|
284
|
+
};
|
|
285
|
+
};
|
|
286
|
+
var unversioned = {
|
|
287
|
+
[VersionTypeId]: {},
|
|
288
|
+
versioned: false
|
|
289
|
+
};
|
|
290
|
+
var isVersion = (entity) => {
|
|
291
|
+
return entity != null && typeof entity === "object" && VersionTypeId in entity;
|
|
292
|
+
};
|
|
293
|
+
var version = (entity) => {
|
|
294
|
+
const version2 = entity[ObjectVersionId];
|
|
295
|
+
if (version2 === void 0) {
|
|
296
|
+
return unversioned;
|
|
297
|
+
}
|
|
298
|
+
return version2;
|
|
299
|
+
};
|
|
300
|
+
var versionValid = (version2) => {
|
|
301
|
+
assertArgument(isVersion(version2), "version", "Invalid version object");
|
|
302
|
+
return !!version2.versioned;
|
|
303
|
+
};
|
|
304
|
+
var compareVersions = (version1, version2) => {
|
|
305
|
+
assertArgument(isVersion(version1), "version1", "Invalid version object");
|
|
306
|
+
assertArgument(isVersion(version2), "version2", "Invalid version object");
|
|
307
|
+
if (!versionValid(version1) || !versionValid(version2)) {
|
|
308
|
+
return "unversioned";
|
|
309
|
+
}
|
|
310
|
+
if (version1.automergeHeads?.length !== version2.automergeHeads?.length) {
|
|
311
|
+
return "different";
|
|
312
|
+
}
|
|
313
|
+
if (version1.automergeHeads?.some((head) => !version2.automergeHeads?.includes(head))) {
|
|
314
|
+
return "different";
|
|
315
|
+
}
|
|
316
|
+
return "equal";
|
|
317
|
+
};
|
|
318
|
+
var encodeVersion = (version2) => {
|
|
319
|
+
return JSON.stringify(version2);
|
|
320
|
+
};
|
|
321
|
+
var decodeVersion = (version2) => {
|
|
322
|
+
const parsed = JSON.parse(version2);
|
|
323
|
+
parsed[VersionTypeId] = {};
|
|
324
|
+
return parsed;
|
|
325
|
+
};
|
|
326
|
+
|
|
327
|
+
export {
|
|
328
|
+
Any,
|
|
329
|
+
make,
|
|
330
|
+
isObject,
|
|
331
|
+
getSnapshot,
|
|
332
|
+
clone,
|
|
333
|
+
ID,
|
|
334
|
+
instanceOf,
|
|
335
|
+
getDXN,
|
|
336
|
+
getTypeDXN2 as getTypeDXN,
|
|
337
|
+
getSchema2 as getSchema,
|
|
338
|
+
getTypename,
|
|
339
|
+
Meta,
|
|
340
|
+
getMeta2 as getMeta,
|
|
341
|
+
getKeys,
|
|
342
|
+
deleteKeys,
|
|
343
|
+
addTag,
|
|
344
|
+
removeTag,
|
|
345
|
+
isDeleted2 as isDeleted,
|
|
346
|
+
getLabel2 as getLabel,
|
|
347
|
+
setLabel2 as setLabel,
|
|
348
|
+
getDescription2 as getDescription,
|
|
349
|
+
setDescription2 as setDescription,
|
|
350
|
+
toJSON,
|
|
351
|
+
fromJSON,
|
|
352
|
+
sortByLabel,
|
|
353
|
+
sortByTypename,
|
|
354
|
+
sort,
|
|
355
|
+
isVersion,
|
|
356
|
+
version,
|
|
357
|
+
versionValid,
|
|
358
|
+
compareVersions,
|
|
359
|
+
encodeVersion,
|
|
360
|
+
decodeVersion,
|
|
361
|
+
Obj_exports
|
|
362
|
+
};
|
|
363
|
+
//# sourceMappingURL=chunk-BJACR7QG.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Obj.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Function from 'effect/Function';\nimport * as Schema from 'effect/Schema';\n\nimport { type ForeignKey } from '@dxos/echo-protocol';\nimport { assertArgument, invariant } from '@dxos/invariant';\nimport { type DXN, ObjectId } from '@dxos/keys';\nimport { getSnapshot as getSnapshot$ } from '@dxos/live-object';\nimport { assumeType, deepMapValues } from '@dxos/util';\n\nimport * as Entity from './Entity';\nimport {\n type AnyEchoObject,\n type AnyProperties,\n type InternalObjectProps,\n MetaId,\n type ObjectJSON,\n type ObjectMeta,\n ObjectVersionId,\n VersionTypeId,\n getDescription as getDescription$,\n getLabel as getLabel$,\n getMeta as getMeta$,\n getObjectDXN,\n getSchema as getSchema$,\n getSchemaTypename,\n getTypeAnnotation,\n getTypeDXN as getTypeDXN$,\n isDeleted as isDeleted$,\n isInstanceOf,\n makeObject,\n objectFromJSON,\n objectToJSON,\n setDescription as setDescription$,\n setLabel as setLabel$,\n} from './internal';\nimport * as Ref from './Ref';\nimport * as Type from './Type';\n\n/**\n * Base type for all ECHO objects.\n * @private\n */\ninterface BaseObj extends AnyEchoObject, Entity.OfKind<typeof Entity.Kind.Object> {}\n\n/**\n * Base type for all Obj objects.\n */\nexport interface Any extends BaseObj {}\n\nexport const Any = Schema.Struct({}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/Any',\n version: '0.1.0',\n }),\n);\n\n/**\n * Object type with specific properties.\n */\nexport type Obj<Props> = BaseObj & Props;\n\n/**\n * Object with arbitrary properties.\n *\n * NOTE: Due to how typescript works, this type is not assignable to a specific schema type.\n * In that case, use `Obj.instanceOf` to check if an object is of a specific type.\n */\nexport interface AnyProps extends BaseObj, AnyProperties {}\n\nconst defaultMeta: ObjectMeta = {\n keys: [],\n};\n\ntype Props<T = any> = {\n id?: ObjectId;\n [Meta]?: Partial<ObjectMeta>;\n} & Type.Properties<T>;\n\n// TODO(burdon): Should we allow the caller to set the id?\nexport type MakeProps<T extends Schema.Schema.AnyNoContext> = {\n id?: ObjectId;\n [Meta]?: Partial<ObjectMeta>;\n} & NoInfer<Props<Schema.Schema.Type<T>>>;\n\n/**\n * Creates a new object of the given types.\n * @param schema - Object schema.\n * @param props - Object properties.\n * @param meta - Object metadata (deprecated) -- pass with Obj.Meta.\n *\n * Meta can be passed as a symbol in `props`.\n *\n * Example:\n * ```ts\n * const obj = Obj.make(Person, { [Obj.Meta]: { keys: [...] }, name: 'John' });\n * ```\n */\nexport const make = <S extends Schema.Schema.AnyNoContext>(\n schema: S,\n props: MakeProps<S>,\n meta?: Partial<ObjectMeta>,\n): Obj<Schema.Schema.Type<S>> => {\n assertArgument(getTypeAnnotation(schema)?.kind === Entity.Kind.Object, 'schema', 'Expected an object schema');\n\n // Set default fields on meta on creation.\n if (props[MetaId] != null) {\n meta = { ...structuredClone(defaultMeta), ...props[MetaId] };\n delete props[MetaId];\n }\n\n // Filter undefined values.\n const filterUndefined = Object.fromEntries(Object.entries(props).filter(([_, v]) => v !== undefined));\n\n return makeObject<Schema.Schema.Type<S>>(schema, filterUndefined as any, {\n ...defaultMeta,\n ...meta,\n });\n};\n\n/**\n * Determine if object is an ECHO object.\n */\nexport const isObject = (obj: unknown): obj is Any => {\n assumeType<InternalObjectProps>(obj);\n return typeof obj === 'object' && obj !== null && obj[Entity.KindId] === Entity.Kind.Object;\n};\n\n//\n// Snapshot\n//\n\n/**\n * Returns an immutable snapshot of an object.\n */\nexport const getSnapshot: <T extends Any>(obj: Obj<T>) => T = getSnapshot$;\n\nexport type CloneOptions = {\n /**\n * Retain the original object's ID.\n * @default false\n */\n retainId?: boolean;\n};\n\n/**\n * Clones an object or relation.\n * This does not clone referenced objects, only the properties in the object.\n * @returns A new object with the same schema and properties.\n */\nexport const clone = <T extends Any>(obj: T, opts?: CloneOptions): T => {\n const { id, ...data } = obj;\n const schema = getSchema$(obj);\n invariant(schema != null, 'Object should have a schema');\n const props: any = deepMapValues(data, (value, recurse) => {\n if (Ref.isRef(value)) {\n return value;\n }\n return recurse(value);\n });\n\n if (opts?.retainId) {\n props.id = id;\n }\n const meta = getMeta(obj);\n props[MetaId] = deepMapValues(meta, (value, recurse) => {\n if (Ref.isRef(value)) {\n return value;\n }\n return recurse(value);\n });\n\n return make(schema as Type.Obj.Any, props);\n};\n\n//\n// Type\n//\n\n// TODO(burdon): To discuss: prefer over ObjectId or Key.ObjectId or Type.ID?\nexport const ID = ObjectId;\nexport type ID = ObjectId;\n\n/**\n * Test if object or relation is an instance of a schema.\n * @example\n * ```ts\n * const john = Obj.make(Person, { name: 'John' });\n * const isPerson = Obj.instanceOf(Person);\n * if (isPerson(john)) {\n * // john is Person\n * }\n * ```\n */\nexport const instanceOf: {\n <S extends Type.Entity.Any>(schema: S): (value: unknown) => value is Schema.Schema.Type<S>;\n <S extends Type.Entity.Any>(schema: S, value: unknown): value is Schema.Schema.Type<S>;\n} = ((...args: [schema: Type.Entity.Any, value: unknown] | [schema: Type.Entity.Any]) => {\n if (args.length === 1) {\n return (entity: unknown) => isInstanceOf(args[0], entity);\n }\n\n return isInstanceOf(args[0], args[1]);\n}) as any;\n\n// TODO(dmaretskyi): Allow returning undefined.\nexport const getDXN = (entity: Entity.Unknown): DXN => {\n assertArgument(!Schema.isSchema(entity), 'obj', 'Object should not be a schema.');\n const dxn = getObjectDXN(entity);\n invariant(dxn != null, 'Invalid object.');\n return dxn;\n};\n\n/**\n * @returns The DXN of the object's type.\n * @example dxn:example.com/type/Person:1.0.0\n */\n// TODO(burdon): Must define and return type for expando.\nexport const getTypeDXN = getTypeDXN$;\n\n/**\n * Get the schema of the object.\n */\nexport const getSchema = getSchema$;\n\n/**\n * @returns The typename of the object's type.\n * @example `example.com/type/Person`\n */\nexport const getTypename = (entity: Entity.Unknown): string | undefined => {\n const schema = getSchema$(entity);\n if (schema == null) {\n // Try to extract typename from DXN.\n return getTypeDXN$(entity)?.asTypeDXN()?.type;\n }\n\n return getSchemaTypename(schema);\n};\n\n//\n// Meta\n//\n\nexport const Meta: unique symbol = MetaId as any;\n\n// TODO(burdon): Narrow type.\n// TODO(dmaretskyi): Allow returning undefined.\nexport const getMeta = (entity: AnyProperties): ObjectMeta => {\n const meta = getMeta$(entity);\n invariant(meta != null, 'Invalid object.');\n return meta;\n};\n\n/**\n * @returns Foreign keys for the object from the specified source.\n */\nexport const getKeys: {\n (entity: Entity.Unknown, source: string): ForeignKey[];\n (source: string): (entity: Entity.Unknown) => ForeignKey[];\n} = Function.dual(2, (entity: Entity.Unknown, source?: string): ForeignKey[] => {\n const meta = getMeta(entity);\n invariant(meta != null, 'Invalid object.');\n return meta.keys.filter((key) => key.source === source);\n});\n\n/**\n * Delete all keys from the object for the specified source.\n * @param entity\n * @param source\n */\nexport const deleteKeys = (entity: Entity.Unknown, source: string) => {\n const meta = getMeta(entity);\n for (let i = 0; i < meta.keys.length; i++) {\n if (meta.keys[i].source === source) {\n meta.keys.splice(i, 1);\n i--;\n }\n }\n};\n\nexport const addTag = (entity: Entity.Unknown, tag: string) => {\n const meta = getMeta(entity);\n meta.tags ??= [];\n meta.tags.push(tag);\n};\n\nexport const removeTag = (entity: Entity.Unknown, tag: string) => {\n const meta = getMeta(entity);\n if (!meta.tags) {\n return;\n }\n for (let i = 0; i < meta.tags.length; i++) {\n if (meta.tags[i] === tag) {\n meta.tags.splice(i, 1);\n i--;\n }\n }\n};\n\n// TODO(dmaretskyi): Default to `false`.\nexport const isDeleted = (entity: Entity.Unknown): boolean => {\n const deleted = isDeleted$(entity);\n invariant(typeof deleted === 'boolean', 'Invalid object.');\n return deleted;\n};\n\n//\n// Annotations\n//\n\nexport const getLabel = (entity: Entity.Unknown): string | undefined => {\n const schema = getSchema$(entity);\n if (schema != null) {\n return getLabel$(schema, entity);\n }\n};\n\nexport const setLabel = (entity: Entity.Unknown, label: string) => {\n const schema = getSchema$(entity);\n if (schema != null) {\n setLabel$(schema, entity, label);\n }\n};\n\nexport const getDescription = (entity: Entity.Unknown): string | undefined => {\n const schema = getSchema$(entity);\n if (schema != null) {\n return getDescription$(schema, entity);\n }\n};\n\nexport const setDescription = (entity: Entity.Unknown, description: string) => {\n const schema = getSchema$(entity);\n if (schema != null) {\n setDescription$(schema, entity, description);\n }\n};\n\n//\n// JSON\n//\n\n/**\n * JSON representation of an object.\n */\nexport type JSON = ObjectJSON;\n\n/**\n * Converts object to its JSON representation.\n *\n * The same algorithm is used when calling the standard `JSON.stringify(obj)` function.\n */\nexport const toJSON = (entity: Entity.Unknown): JSON => objectToJSON(entity);\n\n/**\n * Creates an object from its json representation, performing schema validation.\n * References and schemas will be resolvable if the `refResolver` is provided.\n *\n * The function must be async to support resolving the schema as well as the relation endpoints.\n *\n * @param options.refResolver - Resolver for references. Produces hydrated references that can be resolved.\n * @param options.dxn - Override object DXN. Changes the result of `Obj.getDXN`.\n */\nexport const fromJSON: (json: unknown, options?: { refResolver?: Ref.Resolver; dxn?: DXN }) => Promise<Any> =\n objectFromJSON as any;\n\n//\n// Sorting\n//\n\nconst compare = (a?: string, b?: string) => {\n if (a == null) {\n return b == null ? 0 : 1;\n }\n\n if (b == null) {\n return -1;\n }\n\n return a.localeCompare(b);\n};\n\nexport type Comparator = (a: Entity.Unknown, b: Entity.Unknown) => number;\n\nexport const sortByLabel: Comparator = (a: Entity.Unknown, b: Entity.Unknown) => compare(getLabel(a), getLabel(b));\nexport const sortByTypename: Comparator = (a: Entity.Unknown, b: Entity.Unknown) =>\n compare(getTypename(a), getTypename(b));\nexport const sort = (...comparators: Comparator[]): Comparator => {\n return (a: Entity.Unknown, b: Entity.Unknown) => {\n for (const comparator of comparators) {\n const result = comparator(a, b);\n if (result !== 0) {\n return result;\n }\n }\n\n return 0;\n };\n};\n\n//\n// Version\n//\n\n/**\n * Unique symbol for version type identification.\n */\nexport { VersionTypeId };\n\n/**\n * Represent object version.\n * May be backed by Automerge.\n * Objects with no history are not versioned.\n */\nexport interface Version {\n [VersionTypeId]: {};\n\n /**\n * Whether the object is versioned.\n */\n versioned: boolean;\n\n /**\n * Automerge heads.\n */\n automergeHeads?: string[];\n}\n\nconst unversioned: Version = {\n [VersionTypeId]: {},\n versioned: false,\n};\n\n/**\n * Checks that `obj` is a version object.\n */\nexport const isVersion = (entity: unknown): entity is Version => {\n return entity != null && typeof entity === 'object' && VersionTypeId in entity;\n};\n\n/**\n * Returns the version of the object.\n */\nexport const version = (entity: Entity.Unknown): Version => {\n const version = (entity as any)[ObjectVersionId];\n if (version === undefined) {\n return unversioned;\n }\n\n return version;\n};\n\n/**\n * Checks that `version` is a valid version object.\n */\nexport const versionValid = (version: Version): boolean => {\n assertArgument(isVersion(version), 'version', 'Invalid version object');\n return !!version.versioned;\n};\n\nexport type VersionCompareResult = 'unversioned' | 'equal' | 'different';\n\n/**\n * Compares two versions.\n * @param version1\n * @param version2\n * @returns 'unversioned' if either object is unversioned, 'equal' if the versions are equal, 'different' if the versions are different.\n */\nexport const compareVersions = (version1: Version, version2: Version): VersionCompareResult => {\n assertArgument(isVersion(version1), 'version1', 'Invalid version object');\n assertArgument(isVersion(version2), 'version2', 'Invalid version object');\n\n if (!versionValid(version1) || !versionValid(version2)) {\n return 'unversioned';\n }\n\n if (version1.automergeHeads?.length !== version2.automergeHeads?.length) {\n return 'different';\n }\n if (version1.automergeHeads?.some((head) => !version2.automergeHeads?.includes(head))) {\n return 'different';\n }\n\n return 'equal';\n};\n\nexport const encodeVersion = (version: Version): string => {\n return JSON.stringify(version);\n};\n\nexport const decodeVersion = (version: string): Version => {\n const parsed = JSON.parse(version);\n parsed[VersionTypeId] = {};\n return parsed;\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["getDescription", "getLabel", "getMeta", "getSchema", "getTypeDXN", "isDeleted", "setDescription", "setLabel", "Function", "Schema", "assertArgument", "invariant", "ObjectId", "getSnapshot", "getSnapshot$", "assumeType", "deepMapValues", "Any", "Struct", "pipe", "Obj", "typename", "version", "defaultMeta", "keys", "make", "schema", "props", "meta", "assertArgument", "getTypeAnnotation", "kind", "Kind", "Object", "MetaId", "structuredClone", "filterUndefined", "fromEntries", "entries", "filter", "_", "v", "undefined", "makeObject", "isObject", "obj", "assumeType", "KindId", "getSnapshot", "getSnapshot$", "clone", "opts", "id", "data", "getSchema$", "invariant", "deepMapValues", "value", "recurse", "isRef", "retainId", "getMeta", "ID", "ObjectId", "instanceOf", "args", "length", "entity", "isInstanceOf", "getDXN", "isSchema", "dxn", "getObjectDXN", "getTypeDXN", "getTypeDXN$", "getSchema", "getTypename", "asTypeDXN", "type", "getSchemaTypename", "Meta", "getMeta$", "getKeys", "dual", "source", "key", "deleteKeys", "i", "splice", "addTag", "tag", "tags", "push", "removeTag", "isDeleted", "deleted", "isDeleted$", "getLabel", "getLabel$", "setLabel", "label", "setLabel$", "getDescription", "getDescription$", "setDescription", "description", "setDescription$", "toJSON", "objectToJSON", "fromJSON", "objectFromJSON", "compare", "a", "b", "localeCompare", "sortByLabel", "sortByTypename", "sort", "comparators", "comparator", "result", "unversioned", "VersionTypeId", "versioned", "isVersion", "entity", "version", "ObjectVersionId", "undefined", "versionValid", "assertArgument", "compareVersions", "version1", "version2", "automergeHeads", "length", "some", "head", "includes", "encodeVersion", "JSON", "stringify", "decodeVersion", "parsed", "parse"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
__export
|
|
4
|
+
} from "./chunk-HSLMI22Q.mjs";
|
|
5
|
+
|
|
6
|
+
// src/Order.ts
|
|
7
|
+
var Order_exports = {};
|
|
8
|
+
__export(Order_exports, {
|
|
9
|
+
natural: () => natural,
|
|
10
|
+
property: () => property
|
|
11
|
+
});
|
|
12
|
+
var OrderClass = class _OrderClass {
|
|
13
|
+
ast;
|
|
14
|
+
static variance = {};
|
|
15
|
+
static is(value) {
|
|
16
|
+
return typeof value === "object" && value !== null && "~Order" in value;
|
|
17
|
+
}
|
|
18
|
+
constructor(ast) {
|
|
19
|
+
this.ast = ast;
|
|
20
|
+
}
|
|
21
|
+
"~Order" = _OrderClass.variance;
|
|
22
|
+
};
|
|
23
|
+
var natural = new OrderClass({
|
|
24
|
+
kind: "natural"
|
|
25
|
+
});
|
|
26
|
+
var property = (property2, direction) => new OrderClass({
|
|
27
|
+
kind: "property",
|
|
28
|
+
property: property2,
|
|
29
|
+
direction
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
export {
|
|
33
|
+
natural,
|
|
34
|
+
property,
|
|
35
|
+
Order_exports
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=chunk-BYL2NPEA.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Order.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type QueryAST } from '@dxos/echo-protocol';\n\nexport interface Order<T> {\n // TODO(dmaretskyi): See new effect-schema approach to variance.\n '~Order': { value: T };\n\n ast: QueryAST.Order;\n}\n\nexport type Any = Order<any>;\n\nclass OrderClass implements Order<any> {\n private static variance: Order<any>['~Order'] = {} as Order<any>['~Order'];\n\n static is(value: unknown): value is Order<any> {\n return typeof value === 'object' && value !== null && '~Order' in value;\n }\n\n constructor(public readonly ast: QueryAST.Order) {}\n\n '~Order' = OrderClass.variance;\n}\n\nexport const natural: Order<any> = new OrderClass({ kind: 'natural' });\nexport const property = <T>(property: keyof T & string, direction: QueryAST.OrderDirection): Order<T> =>\n new OrderClass({\n kind: 'property',\n property,\n direction,\n });\n"],
|
|
5
|
+
"mappings": ";;;;;;AAAA;;;;;AAeA,IAAMA,aAAN,MAAMA,YAAAA;;EACJ,OAAeC,WAAiC,CAAC;EAEjD,OAAOC,GAAGC,OAAqC;AAC7C,WAAO,OAAOA,UAAU,YAAYA,UAAU,QAAQ,YAAYA;EACpE;EAEA,YAA4BC,KAAqB;SAArBA,MAAAA;EAAsB;EAElD,WAAWJ,YAAWC;AACxB;AAEO,IAAMI,UAAsB,IAAIL,WAAW;EAAEM,MAAM;AAAU,CAAA;AAC7D,IAAMC,WAAW,CAAIA,WAA4BC,cACtD,IAAIR,WAAW;EACbM,MAAM;EACNC,UAAAA;EACAC;AACF,CAAA;",
|
|
6
|
+
"names": ["OrderClass", "variance", "is", "value", "ast", "natural", "kind", "property", "direction"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
Currency,
|
|
4
|
+
CurrencyAnnotationId,
|
|
5
|
+
DecimalPrecision,
|
|
6
|
+
Email,
|
|
7
|
+
Format,
|
|
8
|
+
FormatAnnotation,
|
|
9
|
+
FormatAnnotationId,
|
|
10
|
+
FormatEnums,
|
|
11
|
+
Formula,
|
|
12
|
+
GeoLocation,
|
|
13
|
+
GeoPoint,
|
|
14
|
+
Hostname,
|
|
15
|
+
JSON,
|
|
16
|
+
Markdown,
|
|
17
|
+
OptionsAnnotation,
|
|
18
|
+
OptionsAnnotationId,
|
|
19
|
+
PropertyKind,
|
|
20
|
+
Regex,
|
|
21
|
+
SelectOption,
|
|
22
|
+
Text,
|
|
23
|
+
TypeEnum,
|
|
24
|
+
TypeFormat,
|
|
25
|
+
URL,
|
|
26
|
+
UUID,
|
|
27
|
+
formatToType,
|
|
28
|
+
getFormatAnnotation,
|
|
29
|
+
getOptionsAnnotation,
|
|
30
|
+
getTypeEnum,
|
|
31
|
+
typeToFormat
|
|
32
|
+
} from "./chunk-HLUDHPFO.mjs";
|
|
33
|
+
import {
|
|
34
|
+
__export
|
|
35
|
+
} from "./chunk-HSLMI22Q.mjs";
|
|
36
|
+
|
|
37
|
+
// src/Format.ts
|
|
38
|
+
var Format_exports = {};
|
|
39
|
+
__export(Format_exports, {
|
|
40
|
+
Currency: () => Currency,
|
|
41
|
+
CurrencyAnnotationId: () => CurrencyAnnotationId,
|
|
42
|
+
DecimalPrecision: () => DecimalPrecision,
|
|
43
|
+
Email: () => Email,
|
|
44
|
+
Format: () => Format,
|
|
45
|
+
FormatAnnotation: () => FormatAnnotation,
|
|
46
|
+
FormatAnnotationId: () => FormatAnnotationId,
|
|
47
|
+
FormatEnums: () => FormatEnums,
|
|
48
|
+
Formula: () => Formula,
|
|
49
|
+
GeoLocation: () => GeoLocation,
|
|
50
|
+
GeoPoint: () => GeoPoint,
|
|
51
|
+
Hostname: () => Hostname,
|
|
52
|
+
JSON: () => JSON,
|
|
53
|
+
Markdown: () => Markdown,
|
|
54
|
+
OptionsAnnotation: () => OptionsAnnotation,
|
|
55
|
+
OptionsAnnotationId: () => OptionsAnnotationId,
|
|
56
|
+
PropertyKind: () => PropertyKind,
|
|
57
|
+
Regex: () => Regex,
|
|
58
|
+
SelectOption: () => SelectOption,
|
|
59
|
+
Text: () => Text,
|
|
60
|
+
TypeEnum: () => TypeEnum,
|
|
61
|
+
TypeFormat: () => TypeFormat,
|
|
62
|
+
URL: () => URL,
|
|
63
|
+
UUID: () => UUID,
|
|
64
|
+
formatToType: () => formatToType,
|
|
65
|
+
getFormatAnnotation: () => getFormatAnnotation,
|
|
66
|
+
getOptionsAnnotation: () => getOptionsAnnotation,
|
|
67
|
+
getTypeEnum: () => getTypeEnum,
|
|
68
|
+
typeToFormat: () => typeToFormat
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
export {
|
|
72
|
+
Format_exports
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=chunk-CCMFPJUT.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Format.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type TypeFormat as Format } from './internal';\n\nexport * from './internal/formats';\n\nexport type { Format };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
__export
|
|
4
|
+
} from "./chunk-HSLMI22Q.mjs";
|
|
5
|
+
|
|
6
|
+
// src/Err.ts
|
|
7
|
+
var Err_exports = {};
|
|
8
|
+
__export(Err_exports, {
|
|
9
|
+
ObjectNotFoundError: () => ObjectNotFoundError,
|
|
10
|
+
SchemaNotFoundError: () => SchemaNotFoundError
|
|
11
|
+
});
|
|
12
|
+
import { BaseError } from "@dxos/errors";
|
|
13
|
+
var SchemaNotFoundError = class extends BaseError.extend("SCHEMA_NOT_FOUND", "Schema not found") {
|
|
14
|
+
constructor(schema, options) {
|
|
15
|
+
super({
|
|
16
|
+
context: {
|
|
17
|
+
schema
|
|
18
|
+
},
|
|
19
|
+
...options
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
var ObjectNotFoundError = class extends BaseError.extend("OBJECT_NOT_FOUND", "Object not found") {
|
|
24
|
+
constructor(dxn, options) {
|
|
25
|
+
super({
|
|
26
|
+
context: {
|
|
27
|
+
dxn
|
|
28
|
+
},
|
|
29
|
+
...options
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
SchemaNotFoundError,
|
|
36
|
+
ObjectNotFoundError,
|
|
37
|
+
Err_exports
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=chunk-D5BW7KHR.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Err.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { BaseError, type BaseErrorOptions } from '@dxos/errors';\nimport { type DXN } from '@dxos/keys';\n\nexport class SchemaNotFoundError extends BaseError.extend('SCHEMA_NOT_FOUND', 'Schema not found') {\n constructor(schema: string, options?: BaseErrorOptions) {\n super({ context: { schema }, ...options });\n }\n}\n\nexport class ObjectNotFoundError extends BaseError.extend('OBJECT_NOT_FOUND', 'Object not found') {\n constructor(dxn: DXN, options?: BaseErrorOptions) {\n super({ context: { dxn }, ...options });\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;AAAA;;;;;AAIA,SAASA,iBAAwC;AAG1C,IAAMC,sBAAN,cAAkCC,UAAUC,OAAO,oBAAoB,kBAAA,EAAA;EAC5E,YAAYC,QAAgBC,SAA4B;AACtD,UAAM;MAAEC,SAAS;QAAEF;MAAO;MAAG,GAAGC;IAAQ,CAAA;EAC1C;AACF;AAEO,IAAME,sBAAN,cAAkCL,UAAUC,OAAO,oBAAoB,kBAAA,EAAA;EAC5E,YAAYK,KAAUH,SAA4B;AAChD,UAAM;MAAEC,SAAS;QAAEE;MAAI;MAAG,GAAGH;IAAQ,CAAA;EACvC;AACF;",
|
|
6
|
+
"names": ["BaseError", "SchemaNotFoundError", "BaseError", "extend", "schema", "options", "context", "ObjectNotFoundError", "dxn"]
|
|
7
|
+
}
|