@dxos/echo 0.8.4-main.c4373fc → 0.8.4-main.c85a9c8dae
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 +3 -4
- package/dist/lib/neutral/Annotation.mjs +37 -0
- package/dist/lib/neutral/Database.mjs +45 -0
- package/dist/lib/neutral/Entity.mjs +56 -0
- package/dist/lib/neutral/Err.mjs +12 -0
- package/dist/lib/neutral/Feed.mjs +43 -0
- package/dist/lib/neutral/Filter.mjs +61 -0
- package/dist/lib/neutral/Format.mjs +66 -0
- package/dist/lib/neutral/Format.mjs.map +7 -0
- package/dist/lib/neutral/JsonSchema.mjs +18 -0
- package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
- package/dist/lib/neutral/Key.mjs +12 -0
- package/dist/lib/neutral/Key.mjs.map +7 -0
- package/dist/lib/neutral/Obj.mjs +107 -0
- package/dist/lib/neutral/Obj.mjs.map +7 -0
- package/dist/lib/neutral/Order.mjs +12 -0
- package/dist/lib/neutral/Order.mjs.map +7 -0
- package/dist/lib/neutral/Query.mjs +32 -0
- package/dist/lib/neutral/Query.mjs.map +7 -0
- package/dist/lib/neutral/QueryResult.mjs +2 -0
- package/dist/lib/neutral/QueryResult.mjs.map +7 -0
- package/dist/lib/neutral/Ref.mjs +24 -0
- package/dist/lib/neutral/Ref.mjs.map +7 -0
- package/dist/lib/neutral/Relation.mjs +90 -0
- package/dist/lib/neutral/Relation.mjs.map +7 -0
- package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
- package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
- package/dist/lib/neutral/Tag.mjs +25 -0
- package/dist/lib/neutral/Tag.mjs.map +7 -0
- package/dist/lib/neutral/Type.mjs +34 -0
- package/dist/lib/neutral/Type.mjs.map +7 -0
- package/dist/lib/neutral/chunk-4KG6IGL4.mjs +67 -0
- package/dist/lib/neutral/chunk-4KG6IGL4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5ELDDYWE.mjs +130 -0
- package/dist/lib/neutral/chunk-5ELDDYWE.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ALOGSVBP.mjs +299 -0
- package/dist/lib/neutral/chunk-ALOGSVBP.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ANHVGJI4.mjs +21 -0
- package/dist/lib/neutral/chunk-ANHVGJI4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-AQP4QKYP.mjs +283 -0
- package/dist/lib/neutral/chunk-AQP4QKYP.mjs.map +7 -0
- package/dist/lib/neutral/chunk-BRJSLACP.mjs +152 -0
- package/dist/lib/neutral/chunk-BRJSLACP.mjs.map +7 -0
- package/dist/lib/neutral/chunk-DZQSL6RW.mjs +73 -0
- package/dist/lib/neutral/chunk-DZQSL6RW.mjs.map +7 -0
- package/dist/lib/neutral/chunk-F7KMHDPJ.mjs +327 -0
- package/dist/lib/neutral/chunk-F7KMHDPJ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-GAWKQ5DZ.mjs +56 -0
- package/dist/lib/neutral/chunk-GAWKQ5DZ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-GFNCSK7F.mjs +101 -0
- package/dist/lib/neutral/chunk-GFNCSK7F.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/neutral/chunk-KGV3QIRX.mjs +313 -0
- package/dist/lib/neutral/chunk-KGV3QIRX.mjs.map +7 -0
- package/dist/lib/neutral/chunk-M2KVTHZM.mjs +402 -0
- package/dist/lib/neutral/chunk-M2KVTHZM.mjs.map +7 -0
- package/dist/lib/neutral/chunk-MXQJZCPY.mjs +51 -0
- package/dist/lib/neutral/chunk-MXQJZCPY.mjs.map +7 -0
- package/dist/lib/neutral/chunk-O3TZFQCT.mjs +27 -0
- package/dist/lib/neutral/chunk-O3TZFQCT.mjs.map +7 -0
- package/dist/lib/neutral/chunk-OMUPQMLR.mjs +7 -0
- package/dist/lib/neutral/chunk-OMUPQMLR.mjs.map +7 -0
- package/dist/lib/neutral/chunk-OVUBTQLT.mjs +45 -0
- package/dist/lib/neutral/chunk-OVUBTQLT.mjs.map +7 -0
- package/dist/lib/neutral/chunk-PP4DNUZU.mjs +3919 -0
- package/dist/lib/neutral/chunk-PP4DNUZU.mjs.map +7 -0
- package/dist/lib/neutral/chunk-QXF3LGN2.mjs +43 -0
- package/dist/lib/neutral/chunk-QXF3LGN2.mjs.map +7 -0
- package/dist/lib/neutral/chunk-T4MPQJ7X.mjs +97 -0
- package/dist/lib/neutral/chunk-T4MPQJ7X.mjs.map +7 -0
- package/dist/lib/neutral/chunk-T6JEFNP6.mjs +7 -0
- package/dist/lib/neutral/chunk-T6JEFNP6.mjs.map +7 -0
- package/dist/lib/neutral/chunk-W7OP5HGZ.mjs +121 -0
- package/dist/lib/neutral/chunk-W7OP5HGZ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ZTUBYOGB.mjs +42 -0
- package/dist/lib/neutral/chunk-ZTUBYOGB.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ZWKJ4LZJ.mjs +298 -0
- package/dist/lib/neutral/chunk-ZWKJ4LZJ.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +94 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/{node-esm → neutral}/internal/index.mjs +260 -122
- package/dist/lib/neutral/internal/index.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/testing/index.mjs +369 -0
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/types/src/Annotation.d.ts +24 -0
- package/dist/types/src/Annotation.d.ts.map +1 -0
- package/dist/types/src/Collection.d.ts +16 -0
- package/dist/types/src/Collection.d.ts.map +1 -0
- package/dist/types/src/Database.d.ts +189 -0
- package/dist/types/src/Database.d.ts.map +1 -0
- package/dist/types/src/Dataset.d.ts +18 -0
- package/dist/types/src/Dataset.d.ts.map +1 -0
- package/dist/types/src/Entity.d.ts +168 -0
- package/dist/types/src/Entity.d.ts.map +1 -0
- package/dist/types/src/Entity.test.d.ts +2 -0
- package/dist/types/src/Entity.test.d.ts.map +1 -0
- package/dist/types/src/Err.d.ts +107 -0
- package/dist/types/src/Err.d.ts.map +1 -0
- package/dist/types/src/Feed.d.ts +165 -0
- package/dist/types/src/Feed.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 +16 -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 +423 -95
- package/dist/types/src/Obj.d.ts.map +1 -1
- package/dist/types/src/Obj.test.d.ts +2 -0
- package/dist/types/src/Obj.test.d.ts.map +1 -0
- package/dist/types/src/Order.d.ts +16 -0
- package/dist/types/src/Order.d.ts.map +1 -0
- package/dist/types/src/Query.d.ts +202 -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 +80 -0
- package/dist/types/src/QueryResult.d.ts.map +1 -0
- package/dist/types/src/Ref.d.ts +61 -11
- package/dist/types/src/Ref.d.ts.map +1 -1
- package/dist/types/src/Relation.d.ts +287 -21
- package/dist/types/src/Relation.d.ts.map +1 -1
- package/dist/types/src/Relation.test.d.ts +2 -0
- package/dist/types/src/Relation.test.d.ts.map +1 -0
- package/dist/types/src/SchemaRegistry.d.ts +84 -0
- package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
- package/dist/types/src/Tag.d.ts +18 -0
- package/dist/types/src/Tag.d.ts.map +1 -0
- package/dist/types/src/Type.d.ts +120 -97
- package/dist/types/src/Type.d.ts.map +1 -1
- package/dist/types/src/Type.test.d.ts +2 -0
- package/dist/types/src/Type.test.d.ts.map +1 -0
- package/dist/types/src/View.d.ts +68 -0
- package/dist/types/src/View.d.ts.map +1 -0
- package/dist/types/src/hierarchy.test.d.ts +2 -0
- package/dist/types/src/hierarchy.test.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +19 -5
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/annotations/annotations.d.ts +209 -0
- package/dist/types/src/internal/annotations/annotations.d.ts.map +1 -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 +39 -0
- package/dist/types/src/internal/annotations/util.d.ts.map +1 -0
- package/dist/types/src/internal/api/annotations.d.ts +23 -0
- package/dist/types/src/internal/api/annotations.d.ts.map +1 -0
- package/dist/types/src/internal/api/entity.d.ts +13 -0
- package/dist/types/src/internal/api/entity.d.ts.map +1 -0
- package/dist/types/src/internal/api/index.d.ts +15 -0
- package/dist/types/src/internal/api/index.d.ts.map +1 -0
- package/dist/types/src/internal/api/meta.d.ts +42 -0
- package/dist/types/src/internal/api/meta.d.ts.map +1 -0
- package/dist/types/src/internal/api/sorting.d.ts +24 -0
- package/dist/types/src/internal/api/sorting.d.ts.map +1 -0
- package/dist/types/src/internal/api/version.d.ts +42 -0
- package/dist/types/src/internal/api/version.d.ts.map +1 -0
- package/dist/types/src/internal/entities/entity.d.ts +20 -0
- package/dist/types/src/internal/entities/entity.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 +79 -0
- package/dist/types/src/internal/entities/model.d.ts.map +1 -0
- package/dist/types/src/internal/entities/object.d.ts +18 -0
- package/dist/types/src/internal/entities/object.d.ts.map +1 -0
- package/dist/types/src/internal/entities/relation.d.ts +62 -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/format.d.ts +4 -2
- package/dist/types/src/internal/formats/format.d.ts.map +1 -1
- package/dist/types/src/internal/formats/select.d.ts +6 -4
- package/dist/types/src/internal/formats/select.d.ts.map +1 -1
- package/dist/types/src/internal/formats/string.d.ts +4 -0
- package/dist/types/src/internal/formats/string.d.ts.map +1 -1
- package/dist/types/src/internal/formats/types.d.ts +13 -9
- package/dist/types/src/internal/formats/types.d.ts.map +1 -1
- package/dist/types/src/internal/index.d.ts +7 -10
- package/dist/types/src/internal/index.d.ts.map +1 -1
- 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.map +1 -0
- package/dist/types/src/internal/json-schema/index.d.ts +2 -0
- package/dist/types/src/internal/json-schema/index.d.ts.map +1 -1
- package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -1
- package/dist/types/src/internal/json-schema/json-schema-type.d.ts +130 -29
- package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -1
- package/dist/types/src/internal/{json → json-schema}/json-schema.d.ts +4 -6
- 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.map +1 -0
- package/dist/types/src/internal/object/clone.d.ts +8 -0
- package/dist/types/src/internal/object/clone.d.ts.map +1 -0
- package/dist/types/src/internal/object/common.d.ts.map +1 -1
- package/dist/types/src/internal/object/{create.d.ts → create-object.d.ts} +10 -11
- 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 +2 -2
- package/dist/types/src/internal/object/deleted.d.ts.map +1 -1
- package/dist/types/src/internal/object/ids.d.ts.map +1 -1
- package/dist/types/src/internal/object/index.d.ts +6 -12
- package/dist/types/src/internal/object/index.d.ts.map +1 -1
- package/dist/types/src/internal/object/json-serializer.d.ts +14 -9
- package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -1
- package/dist/types/src/internal/object/schema-validator.d.ts +1 -14
- package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -1
- package/dist/types/src/internal/object/set-value.d.ts +7 -0
- package/dist/types/src/internal/object/set-value.d.ts.map +1 -0
- package/dist/types/src/internal/object/set-value.test.d.ts +2 -0
- package/dist/types/src/internal/object/set-value.test.d.ts.map +1 -0
- package/dist/types/src/internal/object/snapshot.d.ts +6 -0
- package/dist/types/src/internal/object/snapshot.d.ts.map +1 -0
- package/dist/types/src/internal/object/typed-object.d.ts +8 -14
- package/dist/types/src/internal/object/typed-object.d.ts.map +1 -1
- package/dist/types/src/internal/proxy/change-context.d.ts +55 -0
- package/dist/types/src/internal/proxy/change-context.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/change.test.d.ts +2 -0
- package/dist/types/src/internal/proxy/change.test.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/define-hidden-property.d.ts +5 -0
- package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/errors.d.ts +19 -0
- package/dist/types/src/internal/proxy/errors.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/event-batch.d.ts +10 -0
- package/dist/types/src/internal/proxy/event-batch.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/index.d.ts +14 -0
- package/dist/types/src/internal/proxy/index.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/json-serializer.d.ts +6 -0
- package/dist/types/src/internal/proxy/json-serializer.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/make-object.d.ts +14 -0
- package/dist/types/src/internal/proxy/make-object.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/ownership.d.ts +57 -0
- package/dist/types/src/internal/proxy/ownership.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/proxy-types.d.ts +18 -0
- package/dist/types/src/internal/proxy/proxy-types.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/proxy-utils.d.ts +47 -0
- package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/reactive-array.d.ts +8 -0
- package/dist/types/src/internal/proxy/reactive-array.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/reactive.d.ts +39 -0
- package/dist/types/src/internal/proxy/reactive.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/schema-validator.d.ts +15 -0
- package/dist/types/src/internal/proxy/schema-validator.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/symbols.d.ts +3 -0
- package/dist/types/src/internal/proxy/symbols.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/typed-handler.d.ts +16 -12
- package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -1
- package/dist/types/src/internal/ref/ref-array.d.ts +4 -4
- package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -1
- package/dist/types/src/internal/ref/ref.d.ts +43 -18
- package/dist/types/src/internal/ref/ref.d.ts.map +1 -1
- package/dist/types/src/internal/schema/compose.d.ts +7 -0
- package/dist/types/src/internal/schema/compose.d.ts.map +1 -0
- package/dist/types/src/internal/schema/compose.test.d.ts.map +1 -0
- package/dist/types/src/internal/schema/echo-schema.d.ts +25 -12
- package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -1
- package/dist/types/src/internal/schema/index.d.ts +1 -4
- package/dist/types/src/internal/schema/index.d.ts.map +1 -1
- package/dist/types/src/internal/schema/manipulation.d.ts.map +1 -1
- package/dist/types/src/internal/schema/persistent-schema.d.ts +20 -0
- package/dist/types/src/internal/schema/persistent-schema.d.ts.map +1 -0
- package/dist/types/src/internal/types/base.d.ts +27 -0
- package/dist/types/src/internal/types/base.d.ts.map +1 -0
- package/dist/types/src/internal/types/entity.d.ts +37 -0
- package/dist/types/src/internal/types/entity.d.ts.map +1 -0
- package/dist/types/src/internal/types/index.d.ts +5 -2
- package/dist/types/src/internal/types/index.d.ts.map +1 -1
- package/dist/types/src/internal/{object → types}/meta.d.ts +16 -14
- package/dist/types/src/internal/types/meta.d.ts.map +1 -0
- package/dist/types/src/internal/types/typename.d.ts +21 -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 -3
- 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 +304 -0
- package/dist/types/src/testing/test-schema.d.ts.map +1 -0
- package/dist/types/src/testing/util.d.ts +21 -0
- package/dist/types/src/testing/util.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +106 -65
- package/src/Annotation.ts +46 -0
- package/src/Collection.ts +30 -0
- package/src/Database.ts +315 -0
- package/src/Dataset.ts +24 -0
- package/src/Entity.test.ts +22 -0
- package/src/Entity.ts +234 -0
- package/src/Err.ts +38 -0
- package/src/Feed.ts +254 -0
- package/src/Filter.ts +389 -0
- package/src/Format.ts +9 -0
- package/src/Hypergraph.ts +74 -0
- package/src/JsonSchema.ts +24 -0
- package/src/Key.ts +3 -0
- package/src/Obj.test.ts +447 -0
- package/src/Obj.ts +588 -248
- package/src/Order.ts +44 -0
- package/src/Query.test.ts +632 -0
- package/src/Query.ts +520 -0
- package/src/QueryResult.ts +106 -0
- package/src/Ref.ts +77 -9
- package/src/Relation.test.ts +88 -0
- package/src/Relation.ts +440 -58
- package/src/SchemaRegistry.ts +106 -0
- package/src/Tag.ts +39 -0
- package/src/Type.test.ts +52 -0
- package/src/Type.ts +162 -151
- package/src/View.ts +100 -0
- package/src/hierarchy.test.ts +33 -0
- package/src/index.ts +20 -6
- package/src/internal/README.md +102 -0
- package/src/internal/{ast → annotations}/annotations.test.ts +18 -20
- package/src/internal/annotations/annotations.ts +526 -0
- package/src/internal/annotations/index.ts +6 -0
- package/src/internal/annotations/util.ts +85 -0
- package/src/internal/api/annotations.ts +60 -0
- package/src/internal/api/entity.ts +29 -0
- package/src/internal/api/index.ts +19 -0
- package/src/internal/api/meta.ts +88 -0
- package/src/internal/api/sorting.ts +53 -0
- package/src/internal/api/version.ts +96 -0
- package/src/internal/entities/entity.ts +128 -0
- package/src/internal/entities/index.ts +9 -0
- package/src/internal/entities/model.ts +138 -0
- package/src/internal/entities/object.ts +58 -0
- package/src/internal/entities/relation.ts +171 -0
- package/src/internal/entities/util.ts +33 -0
- package/src/internal/formats/date.test.ts +1 -1
- package/src/internal/formats/date.ts +5 -5
- package/src/internal/formats/format.test.ts +6 -6
- package/src/internal/formats/format.ts +8 -6
- package/src/internal/formats/number.ts +5 -5
- package/src/internal/formats/object.ts +4 -4
- package/src/internal/formats/select.ts +6 -4
- package/src/internal/formats/string.ts +14 -9
- package/src/internal/formats/types.ts +53 -42
- package/src/internal/index.ts +30 -13
- package/src/internal/{json → json-schema}/annotations.ts +1 -1
- package/src/internal/json-schema/index.ts +2 -0
- package/src/internal/json-schema/json-schema-normalize.ts +4 -2
- package/src/internal/json-schema/json-schema-type.ts +35 -35
- package/src/internal/{json → json-schema}/json-schema.test.ts +232 -97
- package/src/internal/{json → json-schema}/json-schema.ts +79 -93
- package/src/internal/object/clone.ts +48 -0
- package/src/internal/object/common.ts +3 -4
- package/src/internal/object/{create.test.ts → create-object.test.ts} +31 -33
- package/src/internal/object/{create.ts → create-object.ts} +36 -37
- package/src/internal/object/deleted.ts +6 -6
- package/src/internal/object/ids.ts +1 -1
- package/src/internal/object/index.ts +6 -12
- package/src/internal/object/inspect.ts +5 -7
- package/src/internal/object/json-serializer.test.ts +59 -37
- package/src/internal/object/json-serializer.ts +87 -108
- package/src/internal/object/schema-validator.test.ts +3 -7
- package/src/internal/object/schema-validator.ts +2 -237
- package/src/internal/object/set-value.test.ts +281 -0
- package/src/internal/object/set-value.ts +165 -0
- package/src/internal/object/snapshot.ts +96 -0
- package/src/internal/object/typed-object.test.ts +11 -11
- package/src/internal/object/typed-object.ts +8 -59
- package/src/internal/proxy/change-context.ts +138 -0
- package/src/internal/proxy/change.test.ts +519 -0
- package/src/internal/proxy/define-hidden-property.ts +14 -0
- package/src/internal/proxy/errors.ts +42 -0
- package/src/internal/proxy/event-batch.ts +44 -0
- package/src/internal/proxy/handler.test.ts +51 -91
- package/src/internal/proxy/index.ts +17 -0
- package/src/internal/proxy/json-serializer.ts +87 -0
- package/src/internal/proxy/make-object.ts +106 -0
- package/src/internal/proxy/ownership.ts +253 -0
- package/src/internal/proxy/proxy-types.ts +23 -0
- package/src/internal/proxy/proxy-utils.ts +150 -0
- package/src/internal/proxy/reactive-array.ts +71 -0
- package/src/internal/proxy/reactive.ts +69 -0
- package/src/internal/proxy/schema-validator.ts +244 -0
- package/src/internal/proxy/schema.test.ts +27 -18
- package/src/internal/proxy/symbols.ts +7 -0
- package/src/internal/proxy/typed-handler.test.ts +260 -48
- package/src/internal/proxy/typed-handler.ts +283 -61
- package/src/internal/proxy/typed-object.test.ts +54 -38
- package/src/internal/ref/ref-array.ts +4 -4
- package/src/internal/ref/ref.test.ts +10 -9
- package/src/internal/ref/ref.ts +107 -56
- package/src/internal/{projection → schema}/compose.test.ts +8 -9
- package/src/internal/{projection → schema}/compose.ts +13 -8
- package/src/internal/schema/echo-schema.ts +74 -33
- package/src/internal/schema/index.ts +1 -4
- package/src/internal/schema/manipulation.ts +7 -1
- package/src/internal/schema/persistent-schema.ts +33 -0
- package/src/internal/types/base.ts +43 -0
- package/src/internal/types/entity.ts +54 -0
- package/src/internal/types/index.ts +5 -2
- package/src/internal/types/meta.ts +68 -0
- package/src/internal/types/typename.ts +55 -0
- package/src/internal/types/version.ts +19 -0
- package/src/testing/api.test.ts +126 -0
- package/src/testing/index.ts +3 -3
- package/src/testing/test-data.ts +130 -0
- package/src/testing/test-schema.ts +240 -0
- package/src/testing/util.ts +85 -0
- package/dist/lib/browser/chunk-MWLA34S5.mjs +0 -3843
- package/dist/lib/browser/chunk-MWLA34S5.mjs.map +0 -7
- package/dist/lib/browser/chunk-OAZJQHVO.mjs +0 -453
- package/dist/lib/browser/chunk-OAZJQHVO.mjs.map +0 -7
- package/dist/lib/browser/chunk-ORIE2FMS.mjs +0 -514
- package/dist/lib/browser/chunk-ORIE2FMS.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -43
- package/dist/lib/browser/internal/index.mjs +0 -326
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/query/index.mjs +0 -23
- package/dist/lib/browser/testing/index.mjs +0 -298
- package/dist/lib/browser/testing/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AXWVDOP7.mjs +0 -453
- package/dist/lib/node-esm/chunk-AXWVDOP7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-L4PBAJDP.mjs +0 -514
- package/dist/lib/node-esm/chunk-L4PBAJDP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YTNLFBIK.mjs +0 -3843
- package/dist/lib/node-esm/chunk-YTNLFBIK.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -43
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/query/index.mjs +0 -23
- package/dist/lib/node-esm/testing/index.mjs +0 -298
- package/dist/lib/node-esm/testing/index.mjs.map +0 -7
- package/dist/types/src/errors.d.ts +0 -72
- package/dist/types/src/errors.d.ts.map +0 -1
- package/dist/types/src/internal/ast/annotation-helper.d.ts +0 -8
- package/dist/types/src/internal/ast/annotation-helper.d.ts.map +0 -1
- package/dist/types/src/internal/ast/annotations.d.ts +0 -119
- package/dist/types/src/internal/ast/annotations.d.ts.map +0 -1
- package/dist/types/src/internal/ast/annotations.test.d.ts.map +0 -1
- package/dist/types/src/internal/ast/entity-kind.d.ts +0 -10
- package/dist/types/src/internal/ast/entity-kind.d.ts.map +0 -1
- package/dist/types/src/internal/ast/index.d.ts +0 -5
- package/dist/types/src/internal/ast/index.d.ts.map +0 -1
- package/dist/types/src/internal/ast/types.d.ts +0 -6
- package/dist/types/src/internal/ast/types.d.ts.map +0 -1
- package/dist/types/src/internal/json/annotations.d.ts.map +0 -1
- package/dist/types/src/internal/json/effect-schema.test.d.ts.map +0 -1
- package/dist/types/src/internal/json/index.d.ts +0 -2
- package/dist/types/src/internal/json/index.d.ts.map +0 -1
- package/dist/types/src/internal/json/json-schema.d.ts.map +0 -1
- package/dist/types/src/internal/json/json-schema.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/accessors.d.ts +0 -29
- package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
- package/dist/types/src/internal/object/create.d.ts.map +0 -1
- package/dist/types/src/internal/object/create.test.d.ts +0 -2
- package/dist/types/src/internal/object/create.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/entity.d.ts +0 -22
- package/dist/types/src/internal/object/entity.d.ts.map +0 -1
- package/dist/types/src/internal/object/expando.d.ts +0 -14
- package/dist/types/src/internal/object/expando.d.ts.map +0 -1
- package/dist/types/src/internal/object/meta.d.ts.map +0 -1
- package/dist/types/src/internal/object/model.d.ts +0 -117
- package/dist/types/src/internal/object/model.d.ts.map +0 -1
- package/dist/types/src/internal/object/relation.d.ts +0 -17
- package/dist/types/src/internal/object/relation.d.ts.map +0 -1
- package/dist/types/src/internal/object/typed-relation.d.ts +0 -32
- package/dist/types/src/internal/object/typed-relation.d.ts.map +0 -1
- package/dist/types/src/internal/object/typename.d.ts +0 -15
- package/dist/types/src/internal/object/typename.d.ts.map +0 -1
- package/dist/types/src/internal/object/version.d.ts +0 -14
- package/dist/types/src/internal/object/version.d.ts.map +0 -1
- package/dist/types/src/internal/projection/compose.d.ts +0 -6
- package/dist/types/src/internal/projection/compose.d.ts.map +0 -1
- package/dist/types/src/internal/projection/compose.test.d.ts.map +0 -1
- package/dist/types/src/internal/projection/index.d.ts +0 -2
- package/dist/types/src/internal/projection/index.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/reactive-object.d.ts +0 -15
- package/dist/types/src/internal/proxy/reactive-object.d.ts.map +0 -1
- package/dist/types/src/internal/query/index.d.ts +0 -2
- package/dist/types/src/internal/query/index.d.ts.map +0 -1
- package/dist/types/src/internal/query/query.d.ts +0 -17
- package/dist/types/src/internal/query/query.d.ts.map +0 -1
- package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
- package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
- package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
- package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
- package/dist/types/src/internal/schema/stored-schema.d.ts +0 -13
- package/dist/types/src/internal/schema/stored-schema.d.ts.map +0 -1
- package/dist/types/src/internal/testing/index.d.ts +0 -3
- package/dist/types/src/internal/testing/index.d.ts.map +0 -1
- package/dist/types/src/internal/testing/types.d.ts +0 -455
- package/dist/types/src/internal/testing/types.d.ts.map +0 -1
- package/dist/types/src/internal/testing/utils.d.ts +0 -10
- package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
- package/dist/types/src/internal/types/types.d.ts +0 -79
- package/dist/types/src/internal/types/types.d.ts.map +0 -1
- package/dist/types/src/internal/types/types.test.d.ts +0 -2
- package/dist/types/src/internal/types/types.test.d.ts.map +0 -1
- package/dist/types/src/internal/types/util.d.ts +0 -5
- package/dist/types/src/internal/types/util.d.ts.map +0 -1
- package/dist/types/src/query/index.d.ts +0 -3
- package/dist/types/src/query/index.d.ts.map +0 -1
- package/dist/types/src/query/query.d.ts +0 -247
- package/dist/types/src/query/query.d.ts.map +0 -1
- package/dist/types/src/query/query.test.d.ts +0 -2
- package/dist/types/src/query/query.test.d.ts.map +0 -1
- package/dist/types/src/query/tag.d.ts +0 -18
- package/dist/types/src/query/tag.d.ts.map +0 -1
- package/dist/types/src/testing/echo-schema.d.ts +0 -7
- package/dist/types/src/testing/echo-schema.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/errors.ts +0 -18
- package/src/internal/ast/annotation-helper.ts +0 -22
- package/src/internal/ast/annotations.ts +0 -212
- package/src/internal/ast/entity-kind.ts +0 -15
- package/src/internal/ast/index.ts +0 -8
- package/src/internal/ast/types.ts +0 -17
- package/src/internal/json/index.ts +0 -5
- package/src/internal/object/accessors.ts +0 -115
- package/src/internal/object/entity.ts +0 -204
- package/src/internal/object/expando.ts +0 -21
- package/src/internal/object/meta.ts +0 -62
- package/src/internal/object/model.ts +0 -170
- package/src/internal/object/relation.ts +0 -24
- package/src/internal/object/typed-relation.ts +0 -85
- package/src/internal/object/typename.ts +0 -61
- package/src/internal/object/version.ts +0 -22
- package/src/internal/projection/index.ts +0 -5
- package/src/internal/proxy/reactive-object.ts +0 -108
- package/src/internal/query/index.ts +0 -5
- package/src/internal/query/query.ts +0 -23
- package/src/internal/schema/runtime-schema-registry.ts +0 -78
- package/src/internal/schema/snapshot.ts +0 -25
- package/src/internal/schema/stored-schema.ts +0 -26
- package/src/internal/testing/index.ts +0 -6
- package/src/internal/testing/types.ts +0 -211
- package/src/internal/testing/utils.ts +0 -54
- package/src/internal/types/types.test.ts +0 -48
- package/src/internal/types/types.ts +0 -176
- package/src/internal/types/util.ts +0 -9
- package/src/query/index.ts +0 -6
- package/src/query/query.test.ts +0 -362
- package/src/query/query.ts +0 -784
- package/src/query/tag.ts +0 -35
- package/src/test/api.test.ts +0 -180
- package/src/testing/echo-schema.ts +0 -39
- package/src/testing/types.ts +0 -91
- /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
- /package/dist/lib/{browser/internal/index.mjs.map → neutral/Database.mjs.map} +0 -0
- /package/dist/lib/{browser/query/index.mjs.map → neutral/Entity.mjs.map} +0 -0
- /package/dist/lib/{node-esm/index.mjs.map → neutral/Err.mjs.map} +0 -0
- /package/dist/lib/{node-esm/internal/index.mjs.map → neutral/Feed.mjs.map} +0 -0
- /package/dist/lib/{node-esm/query/index.mjs.map → neutral/Filter.mjs.map} +0 -0
- /package/dist/types/src/internal/{ast → annotations}/annotations.test.d.ts +0 -0
- /package/dist/types/src/internal/{json → json-schema}/annotations.d.ts +0 -0
- /package/dist/types/src/internal/{json → json-schema}/effect-schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{json → json-schema}/json-schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{projection → schema}/compose.test.d.ts +0 -0
- /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
- /package/src/internal/{json → json-schema}/effect-schema.test.ts +0 -0
package/dist/types/src/Type.d.ts
CHANGED
|
@@ -1,152 +1,175 @@
|
|
|
1
|
-
import type * as
|
|
1
|
+
import type * as Schema from 'effect/Schema';
|
|
2
2
|
import { type EncodedReference } from '@dxos/echo-protocol';
|
|
3
|
-
import type
|
|
4
|
-
import { type ToMutable } from '
|
|
5
|
-
import * as
|
|
3
|
+
import { type DXN } from '@dxos/keys';
|
|
4
|
+
import { type ToMutable } from '@dxos/util';
|
|
5
|
+
import type * as EntityModule from './Entity';
|
|
6
|
+
import * as internal from './internal';
|
|
7
|
+
import type * as ObjModule from './Obj';
|
|
6
8
|
import type * as RelationModule from './Relation';
|
|
7
|
-
export declare const KindId: unique symbol;
|
|
8
|
-
export type KindId = typeof KindId;
|
|
9
|
-
export declare const Kind: typeof EchoSchema.EntityKind;
|
|
10
9
|
/**
|
|
11
|
-
*
|
|
10
|
+
* Dynamic type that can be constructed, mutated, and persisted in the ECHO database.
|
|
12
11
|
*/
|
|
13
|
-
export
|
|
14
|
-
readonly id: Keys.ObjectId;
|
|
15
|
-
readonly [KindId]: Kind;
|
|
16
|
-
}
|
|
12
|
+
export declare const RuntimeType: typeof internal.EchoSchema;
|
|
17
13
|
/**
|
|
18
|
-
*
|
|
14
|
+
* Dynamic type that can be constructed, mutated, and persisted in the ECHO database.
|
|
19
15
|
*/
|
|
20
|
-
export type
|
|
16
|
+
export type RuntimeType = internal.EchoSchema;
|
|
21
17
|
/**
|
|
22
|
-
*
|
|
18
|
+
* Type that marks a schema as an ECHO schema.
|
|
19
|
+
* The value indicates the entity kind (Object or Relation).
|
|
23
20
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
21
|
+
type EchoSchemaKind<K extends internal.EntityKind = internal.EntityKind> = {
|
|
22
|
+
readonly [internal.SchemaKindId]: K;
|
|
23
|
+
};
|
|
28
24
|
/**
|
|
29
|
-
*
|
|
25
|
+
* TypeScript type for an ECHO object schema.
|
|
26
|
+
* `T` is the instance type produced by the schema.
|
|
27
|
+
* `Fields` is the optional struct fields type for introspection.
|
|
30
28
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* const PersonSchema: Type.Obj<Person> = Schema.Struct({
|
|
32
|
+
* name: Schema.String,
|
|
33
|
+
* }).pipe(Type.object({ typename: 'Person', version: '0.1.0' }));
|
|
34
|
+
*
|
|
35
|
+
* // Access fields for introspection:
|
|
36
|
+
* Object.keys(PersonSchema.fields); // ['name']
|
|
37
|
+
* ```
|
|
33
38
|
*/
|
|
34
|
-
export interface
|
|
39
|
+
export interface Obj<T, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> extends internal.TypeMeta, EchoSchemaKind<internal.EntityKind.Object>, Schema.AnnotableClass<Obj<T, Fields>, EntityModule.OfKind<typeof EntityModule.Kind.Object> & T, Schema.Simplify<ObjModule.BaseObjJson & ToMutable<T>>, never> {
|
|
40
|
+
/**
|
|
41
|
+
* The fields defined in the original struct schema.
|
|
42
|
+
* Allows accessing field definitions for introspection.
|
|
43
|
+
*/
|
|
44
|
+
readonly fields: Fields;
|
|
35
45
|
}
|
|
36
46
|
/**
|
|
37
|
-
*
|
|
47
|
+
* Structural base type for any ECHO object schema.
|
|
48
|
+
* Accepts both static schemas (created with Type.object()) and EchoSchema.
|
|
49
|
+
* NOTE: Does not include the brand symbol to avoid TS4053 declaration portability issues.
|
|
50
|
+
* Use Type.isObjectSchema() for runtime type guards.
|
|
38
51
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
52
|
+
type ObjectSchemaBase = Schema.Schema.AnyNoContext & {
|
|
53
|
+
readonly typename: string;
|
|
54
|
+
readonly version: string;
|
|
41
55
|
};
|
|
42
56
|
/**
|
|
43
|
-
*
|
|
57
|
+
* Type that represents any ECHO object schema.
|
|
58
|
+
* Accepts both static schemas (Type.object()) and mutable schemas (EchoSchema).
|
|
44
59
|
*/
|
|
45
|
-
export
|
|
46
|
-
/**
|
|
47
|
-
* Type that represents an arbitrary schema type of an object.
|
|
48
|
-
* NOTE: This is not an instance type.
|
|
49
|
-
*/
|
|
50
|
-
type Any = EffectSchema.Schema.AnyNoContext;
|
|
51
|
-
}
|
|
52
|
-
export interface Expando extends OfKind<EchoSchema.EntityKind.Object> {
|
|
53
|
-
[key: string]: any;
|
|
54
|
-
}
|
|
55
|
-
type ExpandoEncoded = EffectSchema.Simplify<ObjJsonProps & {
|
|
56
|
-
[key: string]: any;
|
|
57
|
-
}>;
|
|
58
|
-
export declare const Expando: EffectSchema.Schema<Expando, ExpandoEncoded, never>;
|
|
59
|
-
interface RelationJsonProps {
|
|
60
|
-
id: string;
|
|
61
|
-
[EchoSchema.ATTR_RELATION_SOURCE]: string;
|
|
62
|
-
[EchoSchema.ATTR_RELATION_TARGET]: string;
|
|
63
|
-
}
|
|
60
|
+
export type AnyObj = ObjectSchemaBase;
|
|
64
61
|
/**
|
|
65
|
-
*
|
|
62
|
+
* Factory function to create an ECHO object schema.
|
|
63
|
+
* Adds object metadata annotations to an Effect schema.
|
|
66
64
|
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* const Person = Schema.Struct({
|
|
68
|
+
* name: Schema.String,
|
|
69
|
+
* }).pipe(Type.object({ typename: 'example.com/type/Person', version: '0.1.0' }));
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare const object: {
|
|
73
|
+
(opts: internal.TypeMeta): <Self extends Schema.Schema.Any>(self: Self) => Obj<Schema.Schema.Type<Self>>;
|
|
74
|
+
};
|
|
75
|
+
export declare const PersistentType: Obj<internal.PersistentSchema>;
|
|
76
|
+
export interface PersistentType extends Schema.Schema.Type<typeof PersistentType> {
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* TypeScript type for an ECHO relation schema.
|
|
80
|
+
* `T` is the instance type produced by the schema (excluding source/target).
|
|
81
|
+
* `Source` and `Target` are the endpoint types.
|
|
82
|
+
* `Fields` is the optional struct fields type for introspection.
|
|
69
83
|
*/
|
|
70
|
-
export interface
|
|
84
|
+
export interface Relation<T, Source, Target, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> extends internal.TypeMeta, EchoSchemaKind<internal.EntityKind.Relation>, Schema.AnnotableClass<Relation<T, Source, Target, Fields>, EntityModule.OfKind<typeof EntityModule.Kind.Relation> & RelationModule.Endpoints<Source, Target> & T, Schema.Simplify<RelationModule.BaseRelationJson & ToMutable<T>>, never> {
|
|
85
|
+
/**
|
|
86
|
+
* The fields defined in the original struct schema.
|
|
87
|
+
* Allows accessing field definitions for introspection.
|
|
88
|
+
*/
|
|
89
|
+
readonly fields: Fields;
|
|
71
90
|
}
|
|
72
91
|
/**
|
|
73
|
-
*
|
|
92
|
+
* Structural base type for any ECHO relation schema.
|
|
93
|
+
* Accepts static schemas (created with Type.relation()).
|
|
94
|
+
* NOTE: Does not include the brand symbol to avoid TS4053 declaration portability issues.
|
|
95
|
+
* Use Type.isRelationSchema() for runtime type guards.
|
|
74
96
|
*/
|
|
75
|
-
|
|
76
|
-
|
|
97
|
+
type RelationSchemaBase = Schema.Schema.AnyNoContext & {
|
|
98
|
+
readonly typename: string;
|
|
99
|
+
readonly version: string;
|
|
77
100
|
};
|
|
78
101
|
/**
|
|
79
|
-
*
|
|
102
|
+
* Type that represents any ECHO relation schema.
|
|
103
|
+
* Accepts static schemas (Type.relation()).
|
|
80
104
|
*/
|
|
81
|
-
export
|
|
82
|
-
/**
|
|
83
|
-
* Type that represents an arbitrary schema type of a relation.
|
|
84
|
-
* NOTE: This is not an instance type.
|
|
85
|
-
*/
|
|
86
|
-
type Any = EffectSchema.Schema.AnyNoContext;
|
|
87
|
-
/**
|
|
88
|
-
* Get relation source type.
|
|
89
|
-
*/
|
|
90
|
-
type Source<A> = A extends Relation.Endpoints<infer S, infer _T> ? S : never;
|
|
91
|
-
/**
|
|
92
|
-
* Get relation target type.
|
|
93
|
-
*/
|
|
94
|
-
type Target<A> = A extends Relation.Endpoints<infer _S, infer T> ? T : never;
|
|
95
|
-
type Endpoints<Source, Target> = {
|
|
96
|
-
[RelationModule.Source]: Source;
|
|
97
|
-
[RelationModule.Target]: Target;
|
|
98
|
-
};
|
|
99
|
-
}
|
|
105
|
+
export type AnyRelation = RelationSchemaBase;
|
|
100
106
|
/**
|
|
101
|
-
*
|
|
107
|
+
* Factory function to create an ECHO relation schema.
|
|
108
|
+
* Adds relation metadata annotations to an Effect schema.
|
|
102
109
|
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```ts
|
|
112
|
+
* const WorksFor = Schema.Struct({
|
|
113
|
+
* role: Schema.String,
|
|
114
|
+
* }).pipe(Type.relation({
|
|
115
|
+
* typename: 'example.com/type/WorksFor',
|
|
116
|
+
* version: '0.1.0',
|
|
117
|
+
* source: Person,
|
|
118
|
+
* target: Company,
|
|
119
|
+
* }));
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export declare const relation: {
|
|
123
|
+
<SourceSchema extends Schema.Schema.AnyNoContext, TargetSchema extends Schema.Schema.AnyNoContext>(opts: internal.EchoRelationSchemaOptions<SourceSchema, TargetSchema>): <Self extends Schema.Schema.Any>(self: Self) => Relation<Schema.Schema.Type<Self>, Schema.Schema.Type<SourceSchema>, Schema.Schema.Type<TargetSchema>>;
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Type alias for any ECHO entity schema (object or relation).
|
|
127
|
+
* Use this in type annotations for schema parameters.
|
|
105
128
|
*/
|
|
106
|
-
export
|
|
107
|
-
}
|
|
129
|
+
export type AnyEntity = AnyObj | AnyRelation;
|
|
108
130
|
/**
|
|
109
|
-
*
|
|
131
|
+
* Type guard to check if a schema is an object schema.
|
|
132
|
+
* NOTE: This checks SCHEMAS, not instances. Use Obj.isObject for instances.
|
|
110
133
|
*/
|
|
111
|
-
export declare const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
export declare const isObjectSchema: (schema: AnyEntity) => schema is AnyObj;
|
|
135
|
+
/**
|
|
136
|
+
* Type guard to check if a schema is a relation schema.
|
|
137
|
+
* NOTE: This checks SCHEMAS, not instances. Use Relation.isRelation for instances.
|
|
138
|
+
*/
|
|
139
|
+
export declare const isRelationSchema: (schema: AnyEntity) => schema is AnyRelation;
|
|
140
|
+
/**
|
|
141
|
+
* Type that represents any Ref schema (with unknown target type).
|
|
142
|
+
* This is a schema type, not an instance type.
|
|
143
|
+
*/
|
|
144
|
+
export type AnyRef = Schema.Schema<internal.Ref<any>, EncodedReference>;
|
|
121
145
|
/**
|
|
122
146
|
* Gets the full DXN of the schema.
|
|
123
147
|
* Will include the version if it's a `type` DXN.
|
|
124
148
|
* @example "dxn:example.com/type/Person:0.1.0"
|
|
125
149
|
* @example "dxn:echo:SSSSSSSSSS:XXXXXXXXXXXXX"
|
|
126
150
|
*/
|
|
127
|
-
export declare const getDXN: (schema:
|
|
151
|
+
export declare const getDXN: (schema: AnyEntity) => DXN | undefined;
|
|
128
152
|
/**
|
|
129
153
|
* @param schema - Schema to get the typename from.
|
|
130
154
|
* @returns The typename of the schema. Example: `example.com/type/Person`.
|
|
131
155
|
*/
|
|
132
|
-
export declare const getTypename: (schema:
|
|
156
|
+
export declare const getTypename: (schema: AnyEntity) => string;
|
|
133
157
|
/**
|
|
134
158
|
* Gets the version of the schema.
|
|
135
159
|
* @example 0.1.0
|
|
136
160
|
*/
|
|
137
|
-
export declare const getVersion: (schema:
|
|
161
|
+
export declare const getVersion: (schema: AnyEntity) => string;
|
|
138
162
|
/**
|
|
139
163
|
* @returns True if the schema is mutable.
|
|
140
164
|
*/
|
|
141
|
-
export declare const isMutable: (schema:
|
|
165
|
+
export declare const isMutable: (schema: Schema.Schema.AnyNoContext) => schema is internal.EchoSchema;
|
|
142
166
|
/**
|
|
143
167
|
* ECHO type metadata.
|
|
144
168
|
*/
|
|
145
|
-
export type Meta =
|
|
169
|
+
export type Meta = internal.TypeAnnotation;
|
|
146
170
|
/**
|
|
147
171
|
* Gets the meta data of the schema.
|
|
148
172
|
*/
|
|
149
|
-
export declare const getMeta: (schema:
|
|
150
|
-
export {
|
|
151
|
-
export { Format, JsonSchemaType as JsonSchema, toEffectSchema, toJsonSchema } from './internal';
|
|
173
|
+
export declare const getMeta: (schema: AnyEntity) => Meta | undefined;
|
|
174
|
+
export {};
|
|
152
175
|
//# sourceMappingURL=Type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../src/Type.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../../src/Type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Type.test.d.ts","sourceRoot":"","sources":["../../../src/Type.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { QueryAST } from '@dxos/echo-protocol';
|
|
3
|
+
import { JsonPath } from '@dxos/effect';
|
|
4
|
+
import * as internal from './internal';
|
|
5
|
+
import * as Obj from './Obj';
|
|
6
|
+
import * as Type from './Type';
|
|
7
|
+
/**
|
|
8
|
+
* Stored field metadata (e.g., for UX).
|
|
9
|
+
*/
|
|
10
|
+
export declare const FieldSchema: Schema.Struct<{
|
|
11
|
+
id: typeof Schema.String;
|
|
12
|
+
path: Schema.Schema<JsonPath, JsonPath, never>;
|
|
13
|
+
visible: Schema.optional<typeof Schema.Boolean>;
|
|
14
|
+
referencePath: Schema.optional<Schema.Schema<JsonPath, JsonPath, never>>;
|
|
15
|
+
}>;
|
|
16
|
+
export type FieldType = Schema.Schema.Type<typeof FieldSchema>;
|
|
17
|
+
export declare const KeyValueProps: Schema.Record$<typeof Schema.String, typeof Schema.Any>;
|
|
18
|
+
export declare const createFieldId: () => string;
|
|
19
|
+
export declare const Projection: Schema.Struct<{
|
|
20
|
+
/**
|
|
21
|
+
* Optional schema override used to customize the underlying schema.
|
|
22
|
+
*/
|
|
23
|
+
schema: Schema.optional<Schema.Schema<internal.JsonSchemaType, internal.JsonSchemaType, never>>;
|
|
24
|
+
/**
|
|
25
|
+
* UX metadata associated with displayed fields (in table, form, etc.)
|
|
26
|
+
*/
|
|
27
|
+
fields: Schema.Array$<Schema.Struct<{
|
|
28
|
+
id: typeof Schema.String;
|
|
29
|
+
path: Schema.Schema<JsonPath, JsonPath, never>;
|
|
30
|
+
visible: Schema.optional<typeof Schema.Boolean>;
|
|
31
|
+
referencePath: Schema.optional<Schema.Schema<JsonPath, JsonPath, never>>;
|
|
32
|
+
}>>;
|
|
33
|
+
/**
|
|
34
|
+
* The id for the field used to pivot the view.
|
|
35
|
+
* E.g., the field to use for kanban columns or the field to use for map coordinates.
|
|
36
|
+
*/
|
|
37
|
+
pivotFieldId: Schema.optional<typeof Schema.String>;
|
|
38
|
+
}>;
|
|
39
|
+
export type Projection = Schema.Schema.Type<typeof Projection>;
|
|
40
|
+
/**
|
|
41
|
+
* Views are generated or user-defined projections of a schema's properties.
|
|
42
|
+
* They are used to configure the visual representation of the data.
|
|
43
|
+
*/
|
|
44
|
+
declare const ViewSchema: Type.Obj<{
|
|
45
|
+
readonly query: {
|
|
46
|
+
readonly ast: QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryHierarchyTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause | QueryAST.QueryLimitClause | QueryAST.QueryFromClause;
|
|
47
|
+
readonly raw?: string | undefined;
|
|
48
|
+
};
|
|
49
|
+
readonly projection: {
|
|
50
|
+
readonly schema?: internal.JsonSchemaType | undefined;
|
|
51
|
+
readonly fields: readonly {
|
|
52
|
+
readonly id: string;
|
|
53
|
+
readonly path: JsonPath;
|
|
54
|
+
readonly visible?: boolean | undefined;
|
|
55
|
+
readonly referencePath?: JsonPath | undefined;
|
|
56
|
+
}[];
|
|
57
|
+
readonly pivotFieldId?: string | undefined;
|
|
58
|
+
};
|
|
59
|
+
}, Schema.Struct.Fields>;
|
|
60
|
+
export interface View extends Schema.Schema.Type<typeof ViewSchema> {
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* View instance type.
|
|
64
|
+
*/
|
|
65
|
+
export declare const View: Type.Obj<View>;
|
|
66
|
+
export declare const make: (props: Partial<Obj.MakeProps<typeof View>>) => View;
|
|
67
|
+
export {};
|
|
68
|
+
//# sourceMappingURL=View.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../src/View.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAIxC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;EAOtB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/D,eAAO,MAAM,aAAa,yDAA2D,CAAC;AAEtF,eAAO,MAAM,aAAa,cAAsC,CAAC;AAEjE,eAAO,MAAM,UAAU;IACrB;;OAEG;;IAGH;;OAEG;;;;;;;IAIH;;;OAGG;;EAEH,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D;;;GAGG;AACH,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;wBAoBf,CAAC;AAEF,MAAM,WAAW,IAAK,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC;CAAG;AAEtE;;GAEG;AAMH,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAqB,CAAC;AAEtD,eAAO,MAAM,IAAI,GAAI,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,KAAG,IAMjE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchy.test.d.ts","sourceRoot":"","sources":["../../../src/hierarchy.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +1,25 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export { QueryAST } from '@dxos/echo-protocol';
|
|
2
|
+
export { DXN } from '@dxos/keys';
|
|
3
|
+
export * as Annotation from './Annotation';
|
|
4
|
+
export * as Database from './Database';
|
|
5
|
+
export * as Entity from './Entity';
|
|
6
|
+
export * as Err from './Err';
|
|
7
|
+
export * as Feed from './Feed';
|
|
8
|
+
export * as Filter from './Filter';
|
|
9
|
+
export * as Format from './Format';
|
|
10
|
+
export * as Hypergraph from './Hypergraph';
|
|
11
|
+
export * as JsonSchema from './JsonSchema';
|
|
3
12
|
export * as Key from './Key';
|
|
4
13
|
export * as Obj from './Obj';
|
|
14
|
+
export * as Order from './Order';
|
|
15
|
+
export * as Query from './Query';
|
|
16
|
+
export * as QueryResult from './QueryResult';
|
|
5
17
|
export * as Ref from './Ref';
|
|
6
18
|
export * as Relation from './Relation';
|
|
19
|
+
export * as SchemaRegistry from './SchemaRegistry';
|
|
20
|
+
export * as Tag from './Tag';
|
|
7
21
|
export * as Type from './Type';
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
22
|
+
export * as Collection from './Collection';
|
|
23
|
+
export * as View from './View';
|
|
24
|
+
export * as Dataset from './Dataset';
|
|
11
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import * as SchemaAST from 'effect/SchemaAST';
|
|
3
|
+
import { DXN } from '@dxos/keys';
|
|
4
|
+
import { type Primitive } from '@dxos/util';
|
|
5
|
+
import { EntityKind } from '../types';
|
|
6
|
+
import { type AnnotationHelper } from './util';
|
|
7
|
+
/**
|
|
8
|
+
* Sets the path for the field.
|
|
9
|
+
* @param path Data source path in the json path format. This is the field path in the source object.
|
|
10
|
+
*/
|
|
11
|
+
export declare const FieldPath: (path: string) => <A, I, R>(self: Schema.Schema<A, I, R>) => Schema.Schema<A, I, R>;
|
|
12
|
+
/**
|
|
13
|
+
* ECHO identifier (for a stored schema).
|
|
14
|
+
* Must be a `dxn:echo:` URI.
|
|
15
|
+
*/
|
|
16
|
+
export declare const TypeIdentifierAnnotationId: unique symbol;
|
|
17
|
+
export declare const getTypeIdentifierAnnotation: (schema: Schema.Schema.All) => string | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* @returns DXN of the schema.
|
|
20
|
+
*
|
|
21
|
+
* For non-stored schema returns `dxn:type:`.
|
|
22
|
+
* For stored schema returns `dxn:echo:`.
|
|
23
|
+
*/
|
|
24
|
+
export declare const getSchemaDXN: (schema: Schema.Schema.All) => DXN | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* @param input schema or a typename string.
|
|
27
|
+
* @return type DXN.
|
|
28
|
+
*/
|
|
29
|
+
export declare const getTypeDXNFromSpecifier: (input: Schema.Schema.All | string) => DXN;
|
|
30
|
+
/**
|
|
31
|
+
* Fully qualified globally unique typename.
|
|
32
|
+
* Example: `dxos.org/type/Message`
|
|
33
|
+
*/
|
|
34
|
+
export declare const TypenameSchema: Schema.refine<string, typeof Schema.String>;
|
|
35
|
+
/**
|
|
36
|
+
* Semantic version format: `major.minor.patch`
|
|
37
|
+
* Example: `1.0.0`
|
|
38
|
+
*/
|
|
39
|
+
export declare const VersionSchema: Schema.refine<string, typeof Schema.String>;
|
|
40
|
+
export declare const TypeMeta: Schema.Struct<{
|
|
41
|
+
typename: Schema.refine<string, typeof Schema.String>;
|
|
42
|
+
version: Schema.refine<string, typeof Schema.String>;
|
|
43
|
+
}>;
|
|
44
|
+
export interface TypeMeta extends Schema.Schema.Type<typeof TypeMeta> {
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Entity type.
|
|
48
|
+
*/
|
|
49
|
+
export declare const TypeAnnotationId: unique symbol;
|
|
50
|
+
/**
|
|
51
|
+
* Payload stored under {@link TypeAnnotationId}.
|
|
52
|
+
*/
|
|
53
|
+
export declare const TypeAnnotation: Schema.extend<Schema.Struct<{
|
|
54
|
+
typename: Schema.refine<string, typeof Schema.String>;
|
|
55
|
+
version: Schema.refine<string, typeof Schema.String>;
|
|
56
|
+
}>, Schema.Struct<{
|
|
57
|
+
kind: Schema.Enums<typeof EntityKind>;
|
|
58
|
+
/**
|
|
59
|
+
* If this is a relation, the schema of the source object.
|
|
60
|
+
* Must be present if entity kind is {@link EntityKind.Relation}.
|
|
61
|
+
*/
|
|
62
|
+
sourceSchema: Schema.optional<Schema.refine<string, typeof Schema.NonEmptyString>>;
|
|
63
|
+
/**
|
|
64
|
+
* If this is a relation, the schema of the target object.
|
|
65
|
+
* Must be present if entity kind is {@link EntityKind.Relation}.
|
|
66
|
+
*/
|
|
67
|
+
targetSchema: Schema.optional<Schema.refine<string, typeof Schema.NonEmptyString>>;
|
|
68
|
+
}>>;
|
|
69
|
+
export interface TypeAnnotation extends Schema.Schema.Type<typeof TypeAnnotation> {
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @returns {@link TypeAnnotation} from a schema.
|
|
73
|
+
* Schema must have been created with {@link TypedObject} or {@link TypedLink} or manually assigned an appropriate annotation.
|
|
74
|
+
*/
|
|
75
|
+
export declare const getTypeAnnotation: (schema: Schema.Schema.All) => TypeAnnotation | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* @returns {@link EntityKind} from a schema.
|
|
78
|
+
*/
|
|
79
|
+
export declare const getEntityKind: (schema: Schema.Schema.All) => EntityKind | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Checks if the object is an instance of the schema.
|
|
82
|
+
* Only typename is compared, the schema version is ignored.
|
|
83
|
+
*
|
|
84
|
+
* The following cases are considered to mean that the object is an instance of the schema:
|
|
85
|
+
* - Object was created with this exact schema.
|
|
86
|
+
* - Object was created with a different version of this schema.
|
|
87
|
+
* - Object was created with a different schema (maybe dynamic) that has the same typename.
|
|
88
|
+
*/
|
|
89
|
+
export declare const isInstanceOf: <Schema extends Schema.Schema.AnyNoContext>(schema: Schema, object: any) => object is Schema.Schema.Type<Schema>;
|
|
90
|
+
/**
|
|
91
|
+
* PropertyMeta (metadata for dynamic schema properties).
|
|
92
|
+
* For user-defined annotations.
|
|
93
|
+
*/
|
|
94
|
+
export declare const PropertyMetaAnnotationId: unique symbol;
|
|
95
|
+
export type PropertyMetaValue = Primitive | Record<string, Primitive> | Primitive[];
|
|
96
|
+
export type PropertyMetaAnnotation = {
|
|
97
|
+
[name: string]: PropertyMetaValue;
|
|
98
|
+
};
|
|
99
|
+
export declare const PropertyMeta: (name: string, value: PropertyMetaValue) => <A, I, R>(self: Schema.Schema<A, I, R>) => Schema.Schema<A, I, R>;
|
|
100
|
+
export declare const getPropertyMetaAnnotation: <T>(prop: SchemaAST.PropertySignature, name: string) => T | undefined;
|
|
101
|
+
/**
|
|
102
|
+
* Schema reference.
|
|
103
|
+
*/
|
|
104
|
+
export declare const ReferenceAnnotationId: unique symbol;
|
|
105
|
+
export type ReferenceAnnotationValue = TypeAnnotation;
|
|
106
|
+
export declare const ReferenceAnnotation: AnnotationHelper<TypeAnnotation>;
|
|
107
|
+
/**
|
|
108
|
+
* SchemaMeta.
|
|
109
|
+
*/
|
|
110
|
+
export declare const SchemaMetaSymbol: unique symbol;
|
|
111
|
+
export type SchemaMeta = TypeMeta & {
|
|
112
|
+
id: string;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Identifies a schema as a schema for a hidden system type.
|
|
116
|
+
*/
|
|
117
|
+
export declare const SystemTypeAnnotationId: unique symbol;
|
|
118
|
+
export declare const SystemTypeAnnotation: AnnotationHelper<boolean>;
|
|
119
|
+
/**
|
|
120
|
+
* Identifies label property or JSON path expression.
|
|
121
|
+
* Either a string or an array of strings representing field accessors each matched in priority order.
|
|
122
|
+
*/
|
|
123
|
+
export declare const LabelAnnotationId: unique symbol;
|
|
124
|
+
export declare const LabelAnnotation: AnnotationHelper<string[]>;
|
|
125
|
+
/**
|
|
126
|
+
* Returns the label for a given object based on {@link LabelAnnotationId}.
|
|
127
|
+
* Lower-level version that requires explicit schema parameter.
|
|
128
|
+
*/
|
|
129
|
+
export declare const getLabelWithSchema: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>) => string | undefined;
|
|
130
|
+
/**
|
|
131
|
+
* Sets the label for a given object based on {@link LabelAnnotationId}.
|
|
132
|
+
* Lower-level version that requires explicit schema parameter.
|
|
133
|
+
*/
|
|
134
|
+
export declare const setLabelWithSchema: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>, label: string) => void;
|
|
135
|
+
/**
|
|
136
|
+
* Identifies description property or JSON path expression.
|
|
137
|
+
* A string representing field accessor.
|
|
138
|
+
*/
|
|
139
|
+
export declare const DescriptionAnnotationId: unique symbol;
|
|
140
|
+
export declare const DescriptionAnnotation: AnnotationHelper<string>;
|
|
141
|
+
/**
|
|
142
|
+
* Returns the description for a given object based on {@link DescriptionAnnotationId}.
|
|
143
|
+
* Lower-level version that requires explicit schema parameter.
|
|
144
|
+
*/
|
|
145
|
+
export declare const getDescriptionWithSchema: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>) => string | undefined;
|
|
146
|
+
/**
|
|
147
|
+
* Sets the description for a given object based on {@link DescriptionAnnotationId}.
|
|
148
|
+
* Lower-level version that requires explicit schema parameter.
|
|
149
|
+
*/
|
|
150
|
+
export declare const setDescriptionWithSchema: <S extends Schema.Schema.Any>(schema: S, object: Schema.Schema.Type<S>, description: string) => void;
|
|
151
|
+
/**
|
|
152
|
+
* Identifies if a property should be included in a form or not.
|
|
153
|
+
* By default, all properties are included in forms, so this is opt-out.
|
|
154
|
+
*/
|
|
155
|
+
export declare const FormInputAnnotationId: unique symbol;
|
|
156
|
+
export declare const FormInputAnnotation: AnnotationHelper<boolean>;
|
|
157
|
+
/**
|
|
158
|
+
* Default field to be used on referenced schema to lookup the value.
|
|
159
|
+
*/
|
|
160
|
+
export declare const FieldLookupAnnotationId: unique symbol;
|
|
161
|
+
/**
|
|
162
|
+
* Generate test data.
|
|
163
|
+
*/
|
|
164
|
+
export declare const GeneratorAnnotationId: unique symbol;
|
|
165
|
+
export type GeneratorAnnotationValue = string | {
|
|
166
|
+
generator: string;
|
|
167
|
+
args?: any[];
|
|
168
|
+
probability?: number;
|
|
169
|
+
};
|
|
170
|
+
export declare const GeneratorAnnotation: AnnotationHelper<GeneratorAnnotationValue>;
|
|
171
|
+
interface MakeAnnoationsProps<T> {
|
|
172
|
+
id: string;
|
|
173
|
+
schema: Schema.Schema<T, any, never>;
|
|
174
|
+
}
|
|
175
|
+
export declare const makeUserAnnotation: <T>(props: MakeAnnoationsProps<T>) => AnnotationHelper<T>;
|
|
176
|
+
declare const IconAnnotationSchema: Schema.Struct<{
|
|
177
|
+
/**
|
|
178
|
+
* Phosphor icon name (e.g., 'ph--user--regular', 'ph--cube--regular', 'ph--link--regular ', etc.)
|
|
179
|
+
*/
|
|
180
|
+
icon: Schema.filter<typeof Schema.String>;
|
|
181
|
+
/**
|
|
182
|
+
* Color name.
|
|
183
|
+
*
|
|
184
|
+
* List of colors:
|
|
185
|
+
* - 'red'
|
|
186
|
+
* - 'orange'
|
|
187
|
+
* - 'amber'
|
|
188
|
+
* - 'yellow'
|
|
189
|
+
* - 'lime'
|
|
190
|
+
* - 'green'
|
|
191
|
+
* - 'emerald'
|
|
192
|
+
* - 'teal'
|
|
193
|
+
* - 'cyan'
|
|
194
|
+
* - 'violet'
|
|
195
|
+
* - 'purple'
|
|
196
|
+
* - 'fuchsia'
|
|
197
|
+
* - 'pink'
|
|
198
|
+
* - 'rose'
|
|
199
|
+
*/
|
|
200
|
+
hue: Schema.optional<typeof Schema.String>;
|
|
201
|
+
}>;
|
|
202
|
+
export interface IconAnnotation extends Schema.Schema.Type<typeof IconAnnotationSchema> {
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Icon to render in the UI.
|
|
206
|
+
*/
|
|
207
|
+
export declare const IconAnnotation: AnnotationHelper<IconAnnotation>;
|
|
208
|
+
export {};
|
|
209
|
+
//# sourceMappingURL=annotations.d.ts.map
|