@dxos/echo 0.8.4-main.5ea62a8 → 0.8.4-main.66e292d
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/dist/lib/browser/chunk-7GH6RXJ3.mjs +3683 -0
- package/dist/lib/browser/chunk-7GH6RXJ3.mjs.map +7 -0
- package/dist/lib/browser/chunk-E4UTVJNF.mjs +1111 -0
- package/dist/lib/browser/chunk-E4UTVJNF.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +24 -1
- package/dist/lib/browser/internal/index.mjs +336 -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 +289 -31
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/chunk-JE5RXM2I.mjs +1111 -0
- package/dist/lib/node-esm/chunk-JE5RXM2I.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-M4B6BMD2.mjs +3683 -0
- package/dist/lib/node-esm/chunk-M4B6BMD2.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +24 -1
- package/dist/lib/node-esm/internal/index.mjs +336 -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 +289 -31
- 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 +137 -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/Format.d.ts +4 -0
- package/dist/types/src/Format.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 +121 -50
- package/dist/types/src/Obj.d.ts.map +1 -1
- package/dist/types/src/Ref.d.ts +10 -10
- package/dist/types/src/Ref.d.ts.map +1 -1
- package/dist/types/src/Relation.d.ts +18 -14
- package/dist/types/src/Relation.d.ts.map +1 -1
- 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/errors.d.ts +68 -0
- package/dist/types/src/errors.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +9 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/annotations/annotations.d.ts +174 -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 +26 -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 +11 -0
- package/dist/types/src/internal/formats/select.d.ts.map +1 -0
- package/dist/types/src/internal/formats/string.d.ts +38 -0
- package/dist/types/src/internal/formats/string.d.ts.map +1 -0
- package/dist/types/src/internal/formats/types.d.ts +68 -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 +6 -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/runtime-schema-registry.d.ts +18 -0
- package/dist/types/src/internal/schema/runtime-schema-registry.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/query/filter.d.ts +167 -0
- package/dist/types/src/query/filter.d.ts.map +1 -0
- package/dist/types/src/query/index.d.ts +4 -1
- package/dist/types/src/query/index.d.ts.map +1 -1
- package/dist/types/src/query/order.d.ts +12 -0
- package/dist/types/src/query/order.d.ts.map +1 -0
- package/dist/types/src/query/query.d.ts +112 -0
- package/dist/types/src/query/query.d.ts.map +1 -0
- package/dist/types/src/query/query.test.d.ts +2 -0
- package/dist/types/src/query/query.test.d.ts.map +1 -0
- package/dist/types/src/query/testing.d.ts +51 -0
- package/dist/types/src/query/testing.d.ts.map +1 -0
- package/dist/types/src/query/types.d.ts +17 -0
- package/dist/types/src/query/types.d.ts.map +1 -0
- package/dist/types/src/query/util.d.ts +8 -0
- package/dist/types/src/query/util.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 +337 -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 +49 -29
- package/src/Annotation.ts +17 -0
- package/src/Database.ts +189 -0
- package/src/Entity.ts +51 -0
- package/src/Format.ts +11 -0
- package/src/JsonSchema.ts +16 -0
- package/src/Key.ts +3 -0
- package/src/Obj.ts +353 -107
- package/src/Ref.ts +9 -10
- package/src/Relation.ts +68 -43
- package/src/Tag.ts +40 -0
- package/src/Type.ts +97 -85
- package/src/errors.ts +18 -0
- package/src/index.ts +13 -4
- package/src/internal/README.md +83 -0
- package/src/internal/annotations/annotations.test.ts +96 -0
- package/src/internal/annotations/annotations.ts +463 -0
- package/src/internal/annotations/index.ts +6 -0
- package/src/internal/annotations/util.ts +70 -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 +55 -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 +16 -0
- package/src/internal/formats/string.ts +76 -0
- package/src/internal/formats/types.ts +180 -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 +859 -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 +242 -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 +9 -0
- package/src/internal/schema/manipulation.ts +92 -0
- package/src/internal/schema/persistent-schema.ts +28 -0
- package/src/internal/schema/runtime-schema-registry.ts +78 -0
- package/src/internal/schema/snapshot.ts +25 -0
- package/src/internal/types/base.ts +58 -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/query/filter.ts +455 -0
- package/src/query/index.ts +5 -1
- package/src/query/order.ts +34 -0
- package/src/query/query.test.ts +334 -0
- package/src/query/query.ts +303 -0
- package/src/query/testing.ts +64 -0
- package/src/query/types.ts +23 -0
- package/src/query/util.ts +25 -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 +213 -0
- package/src/testing/util.ts +78 -0
- package/dist/lib/browser/chunk-2KNTYMIW.mjs +0 -697
- package/dist/lib/browser/chunk-2KNTYMIW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-EXNNC62J.mjs +0 -697
- package/dist/lib/node-esm/chunk-EXNNC62J.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/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 -324
- package/src/query/dsl.ts +0 -646
- 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,6 @@
|
|
|
1
|
+
import { type JsonSchemaType } from '../json-schema';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a composite schema from the source and projection schemas.
|
|
4
|
+
*/
|
|
5
|
+
export declare const composeSchema: (source: JsonSchemaType, target: JsonSchemaType) => JsonSchemaType;
|
|
6
|
+
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/compose.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIrD;;GAEG;AAGH,eAAO,MAAM,aAAa,GAAI,QAAQ,cAAc,EAAE,QAAQ,cAAc,KAAG,cAqB9E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/compose.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import * as SchemaAST from 'effect/SchemaAST';
|
|
3
|
+
import { type ObjectId } from '@dxos/keys';
|
|
4
|
+
import { type SchemaMeta, SchemaMetaSymbol } from '../annotations';
|
|
5
|
+
import { type JsonSchemaType } from '../json-schema';
|
|
6
|
+
import { type TypedObject, type TypedObjectPrototype } from '../object';
|
|
7
|
+
import { PersistentSchema } from './persistent-schema';
|
|
8
|
+
/**
|
|
9
|
+
* Base schema type.
|
|
10
|
+
*/
|
|
11
|
+
export interface BaseSchema<A = any, I = any> extends TypedObject<A, I> {
|
|
12
|
+
get readonly(): boolean;
|
|
13
|
+
get mutable(): EchoSchema<A, I>;
|
|
14
|
+
get snapshot(): Schema.Schema<A, I>;
|
|
15
|
+
get jsonSchema(): JsonSchemaType;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Immutable schema type.
|
|
19
|
+
* @deprecated Use `Schema.Schema.AnyNoContext` instead.
|
|
20
|
+
*/
|
|
21
|
+
export declare class ImmutableSchema<A = any, I = any> implements BaseSchema<A, I> {
|
|
22
|
+
private readonly _schema;
|
|
23
|
+
private readonly _objectAnnotation;
|
|
24
|
+
constructor(_schema: Schema.Schema<A, I>);
|
|
25
|
+
get [Schema.TypeId](): {
|
|
26
|
+
_A: (_: any) => any;
|
|
27
|
+
_I: (_: any) => any;
|
|
28
|
+
_R: (_: never) => never;
|
|
29
|
+
};
|
|
30
|
+
get Type(): A;
|
|
31
|
+
get Encoded(): I;
|
|
32
|
+
get Context(): never;
|
|
33
|
+
get ast(): SchemaAST.AST;
|
|
34
|
+
get annotations(): (annotations: Schema.Annotations.GenericSchema<A>) => Schema.Schema<A, I, never>;
|
|
35
|
+
get pipe(): {
|
|
36
|
+
<A_1>(this: A_1): A_1;
|
|
37
|
+
<A_1, B = never>(this: A_1, ab: (_: A_1) => B): B;
|
|
38
|
+
<A_1, B = never, C = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C): C;
|
|
39
|
+
<A_1, B = never, C = never, D = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D): D;
|
|
40
|
+
<A_1, B = never, C = never, D = never, E = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E): E;
|
|
41
|
+
<A_1, B = never, C = never, D = never, E = never, F = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F): F;
|
|
42
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G): G;
|
|
43
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H): H;
|
|
44
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1): I_1;
|
|
45
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J): J;
|
|
46
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K): K;
|
|
47
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L): L;
|
|
48
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M): M;
|
|
49
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N): N;
|
|
50
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O): O;
|
|
51
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never, P = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O, op: (_: O) => P): P;
|
|
52
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never, P = never, Q = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O, op: (_: O) => P, pq: (_: P) => Q): Q;
|
|
53
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never, P = never, Q = never, R = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O, op: (_: O) => P, pq: (_: P) => Q, qr: (_: Q) => R): R;
|
|
54
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never, P = never, Q = never, R = never, S = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O, op: (_: O) => P, pq: (_: P) => Q, qr: (_: Q) => R, rs: (_: R) => S): S;
|
|
55
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never, P = never, Q = never, R = never, S = never, T = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O, op: (_: O) => P, pq: (_: P) => Q, qr: (_: Q) => R, rs: (_: R) => S, st: (_: S) => T): T;
|
|
56
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never, P = never, Q = never, R = never, S = never, T = never, U = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O, op: (_: O) => P, pq: (_: P) => Q, qr: (_: Q) => R, rs: (_: R) => S, st: (_: S) => T, tu: (_: T) => U): U;
|
|
57
|
+
<A_1, B = never, C = never, D = never, E = never, F = never, G = never, H = never, I_1 = never, J = never, K = never, L = never, M = never, N = never, O = never, P = never, Q = never, R = never, S = never, T = never, U = never>(this: A_1, ab: (_: A_1) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, gh: (_: G) => H, hi: (_: H) => I_1, ij: (_: I_1) => J, jk: (_: J) => K, kl: (_: K) => L, lm: (_: L) => M, mn: (_: M) => N, no: (_: N) => O, op: (_: O) => P, pq: (_: P) => Q, qr: (_: Q) => R, rs: (_: R) => S, st: (_: S) => T, tu: (_: T) => U): U;
|
|
58
|
+
};
|
|
59
|
+
get typename(): string;
|
|
60
|
+
get version(): string;
|
|
61
|
+
get readonly(): boolean;
|
|
62
|
+
get snapshot(): Schema.Schema.AnyNoContext;
|
|
63
|
+
get jsonSchema(): JsonSchemaType;
|
|
64
|
+
get mutable(): EchoSchema;
|
|
65
|
+
}
|
|
66
|
+
export declare const isMutable: (schema: Schema.Schema.AnyNoContext) => schema is EchoSchema;
|
|
67
|
+
declare const EchoSchema_base: TypedObjectPrototype<any, any>;
|
|
68
|
+
/**
|
|
69
|
+
* Represents a schema that is persisted in the ECHO database.
|
|
70
|
+
* Schema can me mutable or readonly (specified by the {@link EchoSchema.readonly} field).
|
|
71
|
+
*
|
|
72
|
+
* Schema that can be modified at runtime via the API.
|
|
73
|
+
* Is an instance of effect-schema (`Schema.Schema.AnyNoContext`) so it can be used in the same way as a regular schema.
|
|
74
|
+
* IMPORTANT: The schema AST will change reactively when the schema is updated, including synced updates from remote peers.
|
|
75
|
+
*
|
|
76
|
+
* The class constructor is a schema instance itself, and can be used in the echo object definitions:
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* export class TableType extends Schema.Struct({...}).pipe(Type.Obj({ typename: 'example.org/type/Table', version: '0.1.0' })){
|
|
81
|
+
* title: Schema.String,
|
|
82
|
+
* schema: Schema.optional(ref(EchoSchema)),
|
|
83
|
+
* props: Schema.mutable(S.Array(TablePropSchema)),
|
|
84
|
+
* }) {}
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* The ECHO API will translate any references to PersistentSchema objects to be resolved as EchoSchema objects.
|
|
88
|
+
*/
|
|
89
|
+
export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implements BaseSchema<A, I> {
|
|
90
|
+
private readonly _persistentSchema;
|
|
91
|
+
private _schema;
|
|
92
|
+
private _isDirty;
|
|
93
|
+
constructor(_persistentSchema: PersistentSchema);
|
|
94
|
+
get [Schema.TypeId](): {
|
|
95
|
+
_A: (_: any) => any;
|
|
96
|
+
_I: (_: any) => any;
|
|
97
|
+
_R: (_: never) => never;
|
|
98
|
+
};
|
|
99
|
+
get Type(): A;
|
|
100
|
+
get Encoded(): I;
|
|
101
|
+
get Context(): never;
|
|
102
|
+
get ast(): SchemaAST.AST;
|
|
103
|
+
get annotations(): (annotations: Schema.Annotations.GenericSchema<any>) => Schema.Schema<any, any, never>;
|
|
104
|
+
get pipe(): Schema.Schema.AnyNoContext['pipe'];
|
|
105
|
+
get typename(): string;
|
|
106
|
+
get version(): string;
|
|
107
|
+
get readonly(): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Returns an immutable schema snapshot of the current state of the schema.
|
|
110
|
+
*/
|
|
111
|
+
get snapshot(): Schema.Schema.AnyNoContext;
|
|
112
|
+
/**
|
|
113
|
+
* @reactive
|
|
114
|
+
*/
|
|
115
|
+
get jsonSchema(): JsonSchemaType;
|
|
116
|
+
/**
|
|
117
|
+
* Returns a mutable schema.
|
|
118
|
+
*/
|
|
119
|
+
get mutable(): EchoSchema;
|
|
120
|
+
/**
|
|
121
|
+
* Id of the ECHO object containing the schema.
|
|
122
|
+
*/
|
|
123
|
+
get id(): ObjectId;
|
|
124
|
+
/**
|
|
125
|
+
* Short name of the schema.
|
|
126
|
+
*/
|
|
127
|
+
get name(): string | undefined;
|
|
128
|
+
get [SchemaMetaSymbol](): SchemaMeta;
|
|
129
|
+
/**
|
|
130
|
+
* Reference to the underlying persistent schema object.
|
|
131
|
+
*/
|
|
132
|
+
get persistentSchema(): PersistentSchema;
|
|
133
|
+
getProperties(): SchemaAST.PropertySignature[];
|
|
134
|
+
/**
|
|
135
|
+
* @throws Error if the schema is readonly.
|
|
136
|
+
*/
|
|
137
|
+
updateTypename(typename: string): void;
|
|
138
|
+
/**
|
|
139
|
+
* @throws Error if the schema is readonly.
|
|
140
|
+
*/
|
|
141
|
+
addFields(fields: Schema.Struct.Fields): void;
|
|
142
|
+
/**
|
|
143
|
+
* @throws Error if the schema is readonly.
|
|
144
|
+
*/
|
|
145
|
+
updateFields(fields: Schema.Struct.Fields): void;
|
|
146
|
+
/**
|
|
147
|
+
* @throws Error if the schema is readonly.
|
|
148
|
+
*/
|
|
149
|
+
updateFieldPropertyName({ before, after }: {
|
|
150
|
+
before: PropertyKey;
|
|
151
|
+
after: PropertyKey;
|
|
152
|
+
}): void;
|
|
153
|
+
/**
|
|
154
|
+
* @throws Error if the schema is readonly.
|
|
155
|
+
*/
|
|
156
|
+
removeFields(fieldNames: string[]): void;
|
|
157
|
+
/**
|
|
158
|
+
* Called by EchoSchemaRegistry on update.
|
|
159
|
+
*/
|
|
160
|
+
_invalidate(): void;
|
|
161
|
+
/**
|
|
162
|
+
* Rebuilds this schema if it is dirty.
|
|
163
|
+
*/
|
|
164
|
+
_rebuild(): void;
|
|
165
|
+
_getSchema(): Schema.Schema.AnyNoContext;
|
|
166
|
+
}
|
|
167
|
+
export {};
|
|
168
|
+
//# sourceMappingURL=echo-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echo-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/echo-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
export declare const addFieldsToSchema: (schema: Schema.Schema.AnyNoContext, fields: Schema.Struct.Fields) => Schema.Schema.AnyNoContext;
|
|
3
|
+
export declare const updateFieldsInSchema: (schema: Schema.Schema.AnyNoContext, fields: Schema.Struct.Fields) => Schema.Schema.AnyNoContext;
|
|
4
|
+
export declare const removeFieldsFromSchema: (schema: Schema.Schema.AnyNoContext, fieldNames: string[]) => Schema.Schema.AnyNoContext;
|
|
5
|
+
export declare const updateFieldNameInSchema: (schema: Schema.Schema.AnyNoContext, { before, after }: {
|
|
6
|
+
before: PropertyKey;
|
|
7
|
+
after: PropertyKey;
|
|
8
|
+
}) => Schema.Schema.AnyNoContext;
|
|
9
|
+
export declare const setTypenameInSchema: (schema: Schema.Schema.AnyNoContext, typename: string) => Schema.Schema.AnyNoContext;
|
|
10
|
+
//# sourceMappingURL=manipulation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAKhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAgBhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,YAAY,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,YAEhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,mBAAmB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KAC7D,MAAM,CAAC,MAAM,CAAC,YAehB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,YAiBhB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { JsonSchemaType } from '../json-schema';
|
|
3
|
+
/**
|
|
4
|
+
* Persistent representation of a schema.
|
|
5
|
+
*/
|
|
6
|
+
declare const PersistentEchoSchema: import("../entities/entity").EchoTypeSchema<Schema.Struct<{
|
|
7
|
+
name: Schema.optional<typeof Schema.String>;
|
|
8
|
+
typename: Schema.refine<string, typeof Schema.String>;
|
|
9
|
+
version: Schema.refine<string, typeof Schema.String>;
|
|
10
|
+
jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
|
|
11
|
+
}>, {}>;
|
|
12
|
+
export interface PersistentSchema extends Schema.Schema.Type<typeof PersistentEchoSchema> {
|
|
13
|
+
}
|
|
14
|
+
export interface PersistentSchemaEncoded extends Schema.Schema.Encoded<typeof PersistentEchoSchema> {
|
|
15
|
+
}
|
|
16
|
+
export declare const PersistentSchema: Schema.Schema<PersistentSchema, PersistentSchemaEncoded>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=persistent-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistent-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/persistent-schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AAEH,QAAA,MAAM,oBAAoB;;;;;OAUzB,CAAC;AACF,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC;CAAG;AAC5F,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,oBAAoB,CAAC;CAAG;AACtG,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAwB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type * as Schema from 'effect/Schema';
|
|
2
|
+
import { type DXN } from '@dxos/keys';
|
|
3
|
+
/**
|
|
4
|
+
* Runtime registry of static schema objects (i.e., not Dynamic .
|
|
5
|
+
*/
|
|
6
|
+
export declare class RuntimeSchemaRegistry {
|
|
7
|
+
private readonly _registry;
|
|
8
|
+
constructor();
|
|
9
|
+
get schemas(): Schema.Schema.AnyNoContext[];
|
|
10
|
+
hasSchema<S extends Schema.Schema.AnyNoContext>(schema: S): boolean;
|
|
11
|
+
getSchemaByDXN(dxn: DXN): Schema.Schema.AnyNoContext | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated Use getSchemaByDXN.
|
|
14
|
+
*/
|
|
15
|
+
getSchema(typename: string): Schema.Schema.AnyNoContext | undefined;
|
|
16
|
+
addSchema(types: readonly Schema.Schema.AnyNoContext[]): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=runtime-schema-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-schema-registry.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/runtime-schema-registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAI7C,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAOtC;;GAEG;AAEH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;;IAM7E,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAE1C;IAED,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO;IASnE,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS;IAmBhE;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS;IAInE,SAAS,CAAC,KAAK,EAAE,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,IAAI;CAY9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/snapshot.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,eAAO,MAAM,WAAW,GAAI,QAAQ,GAAG,KAAG,GAezC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { type ObjectId } from '@dxos/keys';
|
|
3
|
+
import { type ATTR_META, type ObjectMeta } from './meta';
|
|
4
|
+
/**
|
|
5
|
+
* Marker interface for object with an `id`.
|
|
6
|
+
*/
|
|
7
|
+
export interface HasId {
|
|
8
|
+
readonly id: ObjectId;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Object that has an associated typename.
|
|
12
|
+
* The typename is retrievable using {@link getTypename}.
|
|
13
|
+
* The object can be used with {@link isInstanceOf} to check if it is an instance of a schema.
|
|
14
|
+
*/
|
|
15
|
+
export type HasTypename = {};
|
|
16
|
+
/**
|
|
17
|
+
* Base type for all data objects (reactive, ECHO, and other raw objects).
|
|
18
|
+
* NOTE: This describes the base type for all database objects.
|
|
19
|
+
* It is stricter than `T extends {}` or `T extends object`.
|
|
20
|
+
*/
|
|
21
|
+
export type AnyProperties = Record<string, any>;
|
|
22
|
+
/**
|
|
23
|
+
* Canonical type for all ECHO objects.
|
|
24
|
+
*/
|
|
25
|
+
export interface AnyEchoObject extends HasId, HasTypename {
|
|
26
|
+
}
|
|
27
|
+
export type WithId<T extends AnyProperties = AnyProperties> = T & HasId;
|
|
28
|
+
export type ExcludeId<T extends AnyProperties> = Omit<T, 'id'>;
|
|
29
|
+
export type PropertyKey<T extends AnyProperties> = Extract<keyof ExcludeId<T>, string>;
|
|
30
|
+
export type WithMeta = {
|
|
31
|
+
[ATTR_META]?: ObjectMeta;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The raw object should not include the ECHO id, but may include metadata.
|
|
35
|
+
*/
|
|
36
|
+
export declare const RawObject: <S extends Schema.Schema.AnyNoContext>(schema: S) => Schema.Schema<ExcludeId<Schema.Schema.Type<S>> & WithMeta, Schema.Schema.Encoded<S>>;
|
|
37
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,EAAE,CAAC;AAE7B;;;;GAIG;AAIH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK,EAAE,WAAW;CAAG;AAG5D,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,CAAC,GAAG,KAAK,CAAC;AAExE,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAE/D,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,IAAI,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAGvF,MAAM,MAAM,QAAQ,GAAG;IAAE,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5D,QAAQ,CAAC,KACR,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAErF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
/**
|
|
3
|
+
* Kinds of entities stored in ECHO: objects and relations.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum EntityKind {
|
|
6
|
+
Object = "object",
|
|
7
|
+
Relation = "relation"
|
|
8
|
+
}
|
|
9
|
+
export declare const EntityKindSchema: Schema.Enums<typeof EntityKind>;
|
|
10
|
+
export declare const KindId: unique symbol;
|
|
11
|
+
export type KindId = typeof KindId;
|
|
12
|
+
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/entity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC;;GAEG;AACH,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,gBAAgB,iCAA2B,CAAC;AAEzD,eAAO,MAAM,MAAM,EAAE,OAAO,MAA4B,CAAC;AACzD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { ForeignKey } from '@dxos/echo-protocol';
|
|
3
|
+
import { type Comparator } from '@dxos/util';
|
|
4
|
+
import { type AnyProperties, type WithMeta } from './base';
|
|
5
|
+
/**
|
|
6
|
+
* Property name for meta when object is serialized to JSON.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ATTR_META = "@meta";
|
|
9
|
+
/**
|
|
10
|
+
* Metadata section.
|
|
11
|
+
*/
|
|
12
|
+
export declare const MetaId: unique symbol;
|
|
13
|
+
export declare const ObjectMetaSchema: Schema.mutable<Schema.Struct<{
|
|
14
|
+
keys: Schema.mutable<Schema.Array$<Schema.Schema<{
|
|
15
|
+
readonly source: string;
|
|
16
|
+
readonly id: string;
|
|
17
|
+
}, {
|
|
18
|
+
readonly source: string;
|
|
19
|
+
readonly id: string;
|
|
20
|
+
}, never>>>;
|
|
21
|
+
/**
|
|
22
|
+
* A set of tags.
|
|
23
|
+
* Tags are arbitrary application-defined strings.
|
|
24
|
+
* ECHO makes no assumptions about the tag structure.
|
|
25
|
+
*/
|
|
26
|
+
tags: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
|
|
27
|
+
}>>;
|
|
28
|
+
export type ObjectMeta = Schema.Schema.Type<typeof ObjectMetaSchema>;
|
|
29
|
+
/**
|
|
30
|
+
* Utility to split meta property from raw object.
|
|
31
|
+
* @deprecated Bad API.
|
|
32
|
+
*/
|
|
33
|
+
export declare const splitMeta: <T>(object: T & WithMeta) => {
|
|
34
|
+
object: T;
|
|
35
|
+
meta?: ObjectMeta;
|
|
36
|
+
};
|
|
37
|
+
export declare const foreignKey: (source: string, id: string) => ForeignKey;
|
|
38
|
+
export declare const foreignKeyEquals: (a: ForeignKey, b: ForeignKey) => boolean;
|
|
39
|
+
export declare const compareForeignKeys: Comparator<AnyProperties>;
|
|
40
|
+
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/meta.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,MAAM,eAAgC,CAAC;AAOpD,eAAO,MAAM,gBAAgB;;;;;;;;IAIzB;;;;OAIG;;GAKN,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAerE;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,QAAQ,KAAG;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAIjF,CAAC;AAMF,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAG,UAA8B,CAAC;AACvF,eAAO,MAAM,gBAAgB,GAAI,GAAG,UAAU,EAAE,GAAG,UAAU,YAA2C,CAAC;AAGzG,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,aAAa,CACoB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Property name for typename when object is serialized to JSON.
|
|
3
|
+
*/
|
|
4
|
+
export declare const ATTR_TYPE = "@type";
|
|
5
|
+
/**
|
|
6
|
+
* DXN to the object type.
|
|
7
|
+
*/
|
|
8
|
+
export declare const TypeId: unique symbol;
|
|
9
|
+
/**
|
|
10
|
+
* Reference to the object schema.
|
|
11
|
+
*/
|
|
12
|
+
export declare const SchemaId: unique symbol;
|
|
13
|
+
//# sourceMappingURL=typename.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typename.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/typename.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,MAAM,eAAgC,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,QAAQ,eAAkC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version type symbol.
|
|
3
|
+
*/
|
|
4
|
+
export declare const VersionTypeId: unique symbol;
|
|
5
|
+
export type VersionTypeId = typeof VersionTypeId;
|
|
6
|
+
/**
|
|
7
|
+
* Represents the object version.
|
|
8
|
+
* May be backed by Automerge.
|
|
9
|
+
* Objects with no history are not versioned.
|
|
10
|
+
*/
|
|
11
|
+
export interface Version {
|
|
12
|
+
[VersionTypeId]: {};
|
|
13
|
+
automergeHeads?: string[];
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/version.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,MAA+C,CAAC;AAEnF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import type * as Types from 'effect/Types';
|
|
3
|
+
import { type ForeignKey, type QueryAST } from '@dxos/echo-protocol';
|
|
4
|
+
import { DXN, ObjectId } from '@dxos/keys';
|
|
5
|
+
import { type Intersection } from '@dxos/util';
|
|
6
|
+
import type * as Entity from '../Entity';
|
|
7
|
+
import { type AnyProperties } from '../internal';
|
|
8
|
+
import type * as Obj from '../Obj';
|
|
9
|
+
export interface Filter<T> {
|
|
10
|
+
'~Filter': {
|
|
11
|
+
value: Types.Contravariant<T>;
|
|
12
|
+
};
|
|
13
|
+
ast: QueryAST.Filter;
|
|
14
|
+
}
|
|
15
|
+
interface FilterAPI {
|
|
16
|
+
is(value: unknown): value is Filter.Any;
|
|
17
|
+
/** Construct a filter from an ast. */
|
|
18
|
+
fromAst(ast: QueryAST.Filter): Filter<Obj.Any>;
|
|
19
|
+
/**
|
|
20
|
+
* Filter that matches all objects.
|
|
21
|
+
*/
|
|
22
|
+
everything(): Filter<Entity.Entity<AnyProperties>>;
|
|
23
|
+
/**
|
|
24
|
+
* Filter that matches no objects.
|
|
25
|
+
*/
|
|
26
|
+
nothing(): Filter<any>;
|
|
27
|
+
/**
|
|
28
|
+
* Filter by object IDs.
|
|
29
|
+
*/
|
|
30
|
+
ids(...id: ObjectId[]): Filter<Entity.Entity<AnyProperties>>;
|
|
31
|
+
/**
|
|
32
|
+
* Filter by type.
|
|
33
|
+
*/
|
|
34
|
+
type<S extends Schema.Schema.All>(schema: S | string, props?: Filter.Props<Schema.Schema.Type<S>>): Filter<Schema.Schema.Type<S>>;
|
|
35
|
+
/**
|
|
36
|
+
* Filter by non-qualified typename.
|
|
37
|
+
*/
|
|
38
|
+
typename(typename: string): Filter<Obj.AnyProps>;
|
|
39
|
+
/**
|
|
40
|
+
* Filter by fully qualified type DXN.
|
|
41
|
+
*/
|
|
42
|
+
typeDXN(dxn: DXN): Filter<Obj.AnyProps>;
|
|
43
|
+
/**
|
|
44
|
+
* Filter by tag.
|
|
45
|
+
*/
|
|
46
|
+
tag(tag: string): Filter<Obj.Any>;
|
|
47
|
+
/**
|
|
48
|
+
* Filter by properties.
|
|
49
|
+
*/
|
|
50
|
+
props<T>(props: Filter.Props<T>): Filter<T>;
|
|
51
|
+
/**
|
|
52
|
+
* Full-text or vector search.
|
|
53
|
+
*/
|
|
54
|
+
text(text: string, options?: Filter.TextSearchOptions): Filter<any>;
|
|
55
|
+
/**
|
|
56
|
+
* Filter by foreign keys.
|
|
57
|
+
*/
|
|
58
|
+
foreignKeys<S extends Schema.Schema.All>(schema: S, keys: ForeignKey[]): Filter<Schema.Schema.Type<S>>;
|
|
59
|
+
/**
|
|
60
|
+
* Predicate for property to be equal to the provided value.
|
|
61
|
+
*/
|
|
62
|
+
eq<T>(value: T): Filter<T>;
|
|
63
|
+
/**
|
|
64
|
+
* Predicate for property to be not equal to the provided value.
|
|
65
|
+
*/
|
|
66
|
+
neq<T>(value: T): Filter<T>;
|
|
67
|
+
/**
|
|
68
|
+
* Predicate for property to be greater than the provided value.
|
|
69
|
+
*/
|
|
70
|
+
gt<T>(value: T): Filter<T>;
|
|
71
|
+
/**
|
|
72
|
+
* Predicate for property to be greater than the provided value.
|
|
73
|
+
*/
|
|
74
|
+
gt<T>(value: T): Filter<T>;
|
|
75
|
+
/**
|
|
76
|
+
* Predicate for property to be greater than or equal to the provided value.
|
|
77
|
+
*/
|
|
78
|
+
gte<T>(value: T): Filter<T>;
|
|
79
|
+
/**
|
|
80
|
+
* Predicate for property to be less than the provided value.
|
|
81
|
+
*/
|
|
82
|
+
lt<T>(value: T): Filter<T>;
|
|
83
|
+
/**
|
|
84
|
+
* Predicate for property to be less than or equal to the provided value.
|
|
85
|
+
*/
|
|
86
|
+
lte<T>(value: T): Filter<T>;
|
|
87
|
+
/**
|
|
88
|
+
* Predicate for property to be in the provided array.
|
|
89
|
+
* @param values - Values to check against.
|
|
90
|
+
*/
|
|
91
|
+
in<T>(...values: T[]): Filter<T>;
|
|
92
|
+
/**
|
|
93
|
+
* Predicate for an array property to contain the provided value.
|
|
94
|
+
* @param value - Value to check against.
|
|
95
|
+
*/
|
|
96
|
+
contains<T>(value: T): Filter<readonly T[] | undefined>;
|
|
97
|
+
/**
|
|
98
|
+
* Predicate for property to be in the provided range.
|
|
99
|
+
* @param from - Start of the range (inclusive).
|
|
100
|
+
* @param to - End of the range (exclusive).
|
|
101
|
+
*/
|
|
102
|
+
between<T>(from: T, to: T): Filter<unknown>;
|
|
103
|
+
/**
|
|
104
|
+
* Negate the filter.
|
|
105
|
+
*/
|
|
106
|
+
not<F extends Filter.Any>(filter: F): Filter<Filter.Type<F>>;
|
|
107
|
+
/**
|
|
108
|
+
* Combine filters with a logical AND.
|
|
109
|
+
*/
|
|
110
|
+
and<FS extends Filter.Any[]>(...filters: FS): Filter<Filter.And<FS>>;
|
|
111
|
+
/**
|
|
112
|
+
* Combine filters with a logical OR.
|
|
113
|
+
*/
|
|
114
|
+
or<FS extends Filter.Any[]>(...filters: FS): Filter<Filter.Or<FS>>;
|
|
115
|
+
}
|
|
116
|
+
export declare namespace Filter {
|
|
117
|
+
type Props<T> = {
|
|
118
|
+
[K in keyof T & string]?: Filter<T[K]> | T[K];
|
|
119
|
+
};
|
|
120
|
+
type Any = Filter<any>;
|
|
121
|
+
type Type<F extends Any> = F extends Filter<infer T> ? T : never;
|
|
122
|
+
type And<FS extends readonly Any[]> = Schema.Simplify<Intersection<{
|
|
123
|
+
[K in keyof FS]: Type<FS[K]>;
|
|
124
|
+
}>>;
|
|
125
|
+
type Or<FS extends readonly Any[]> = Schema.Simplify<{
|
|
126
|
+
[K in keyof FS]: Type<FS[K]>;
|
|
127
|
+
}[number]>;
|
|
128
|
+
type TextSearchOptions = {
|
|
129
|
+
type?: 'full-text' | 'vector';
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
export declare class FilterClass implements Filter<any> {
|
|
133
|
+
readonly ast: QueryAST.Filter;
|
|
134
|
+
private static variance;
|
|
135
|
+
static is(value: unknown): value is Filter<any>;
|
|
136
|
+
static fromAst(ast: QueryAST.Filter): Filter<any>;
|
|
137
|
+
static everything(): FilterClass;
|
|
138
|
+
static nothing(): FilterClass;
|
|
139
|
+
static relation(): FilterClass;
|
|
140
|
+
static ids(...ids: ObjectId[]): Filter<any>;
|
|
141
|
+
static type<S extends Schema.Schema.All>(schema: S | string, props?: Filter.Props<Schema.Schema.Type<S>>): Filter<Schema.Schema.Type<S>>;
|
|
142
|
+
static typename(typename: string): Filter<any>;
|
|
143
|
+
static typeDXN(dxn: DXN): Filter<any>;
|
|
144
|
+
static tag(tag: string): Filter<any>;
|
|
145
|
+
static props<T>(props: Filter.Props<T>): Filter<T>;
|
|
146
|
+
static text(text: string, options?: Filter.TextSearchOptions): Filter<any>;
|
|
147
|
+
static foreignKeys<S extends Schema.Schema.All>(schema: S | string, keys: ForeignKey[]): Filter<Schema.Schema.Type<S>>;
|
|
148
|
+
static eq<T>(value: T): Filter<T>;
|
|
149
|
+
static neq<T>(value: T): Filter<T>;
|
|
150
|
+
static gt<T>(value: T): Filter<T>;
|
|
151
|
+
static gte<T>(value: T): Filter<T>;
|
|
152
|
+
static lt<T>(value: T): Filter<T>;
|
|
153
|
+
static lte<T>(value: T): Filter<T>;
|
|
154
|
+
static in<T>(...values: T[]): Filter<T>;
|
|
155
|
+
static contains<T>(value: T): Filter<readonly T[] | undefined>;
|
|
156
|
+
static between<T>(from: T, to: T): Filter<unknown>;
|
|
157
|
+
static not<F extends Filter.Any>(filter: F): Filter<Filter.Type<F>>;
|
|
158
|
+
static and<T>(...filters: Filter<T>[]): Filter<T>;
|
|
159
|
+
static or<T>(...filters: Filter<T>[]): Filter<T>;
|
|
160
|
+
private constructor();
|
|
161
|
+
'~Filter': {
|
|
162
|
+
value: Types.Contravariant<any>;
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
export declare const Filter: FilterAPI;
|
|
166
|
+
export {};
|
|
167
|
+
//# sourceMappingURL=filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/query/filter.ts"],"names":[],"mappings":"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"}
|