@dxos/echo 0.8.4-main.406dc2a → 0.8.4-main.548089c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/lib/browser/chunk-3FCPYTWA.mjs +585 -0
  2. package/dist/lib/browser/chunk-3FCPYTWA.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-MB6MMNFP.mjs → chunk-5BNXQE6S.mjs} +106 -236
  4. package/dist/lib/browser/chunk-5BNXQE6S.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-U43CXUCL.mjs +410 -0
  6. package/dist/lib/browser/chunk-U43CXUCL.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +9 -9
  8. package/dist/lib/browser/internal/index.mjs +5 -1
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/query/index.mjs +4 -6
  11. package/dist/lib/browser/testing/index.mjs +32 -63
  12. package/dist/lib/browser/testing/index.mjs.map +3 -3
  13. package/dist/lib/node-esm/{chunk-BQRA4VLX.mjs → chunk-3FGSPSYN.mjs} +106 -236
  14. package/dist/lib/node-esm/chunk-3FGSPSYN.mjs.map +7 -0
  15. package/dist/lib/node-esm/chunk-C7LTTWRL.mjs +585 -0
  16. package/dist/lib/node-esm/chunk-C7LTTWRL.mjs.map +7 -0
  17. package/dist/lib/node-esm/chunk-OHJ5WBB6.mjs +410 -0
  18. package/dist/lib/node-esm/chunk-OHJ5WBB6.mjs.map +7 -0
  19. package/dist/lib/node-esm/index.mjs +9 -9
  20. package/dist/lib/node-esm/internal/index.mjs +5 -1
  21. package/dist/lib/node-esm/meta.json +1 -1
  22. package/dist/lib/node-esm/query/index.mjs +4 -6
  23. package/dist/lib/node-esm/testing/index.mjs +32 -63
  24. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  25. package/dist/types/src/Obj.d.ts +4 -2
  26. package/dist/types/src/Obj.d.ts.map +1 -1
  27. package/dist/types/src/{query/tag.d.ts → Tag.d.ts} +7 -7
  28. package/dist/types/src/Tag.d.ts.map +1 -0
  29. package/dist/types/src/errors.d.ts +8 -16
  30. package/dist/types/src/errors.d.ts.map +1 -1
  31. package/dist/types/src/index.d.ts +1 -0
  32. package/dist/types/src/index.d.ts.map +1 -1
  33. package/dist/types/src/internal/ast/annotations.d.ts +6 -0
  34. package/dist/types/src/internal/ast/annotations.d.ts.map +1 -1
  35. package/dist/types/src/internal/index.d.ts +2 -2
  36. package/dist/types/src/internal/index.d.ts.map +1 -1
  37. package/dist/types/src/internal/object/create.d.ts +1 -1
  38. package/dist/types/src/internal/object/typename.d.ts +1 -1
  39. package/dist/types/src/internal/testing/types.d.ts +5 -79
  40. package/dist/types/src/internal/testing/types.d.ts.map +1 -1
  41. package/dist/types/src/query/index.d.ts +0 -1
  42. package/dist/types/src/query/index.d.ts.map +1 -1
  43. package/dist/types/src/testing/types.d.ts +161 -46
  44. package/dist/types/src/testing/types.d.ts.map +1 -1
  45. package/dist/types/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +12 -12
  47. package/src/Obj.ts +21 -2
  48. package/src/{query/tag.ts → Tag.ts} +8 -6
  49. package/src/index.ts +1 -0
  50. package/src/internal/ast/annotations.ts +7 -0
  51. package/src/internal/index.ts +2 -2
  52. package/src/internal/json/json-schema.test.ts +27 -35
  53. package/src/internal/object/create.test.ts +11 -11
  54. package/src/internal/object/create.ts +1 -1
  55. package/src/internal/object/json-serializer.test.ts +11 -11
  56. package/src/internal/object/typename.ts +1 -1
  57. package/src/internal/proxy/typed-handler.test.ts +7 -7
  58. package/src/internal/proxy/typed-object.test.ts +1 -1
  59. package/src/internal/ref/ref.test.ts +1 -1
  60. package/src/internal/testing/types.ts +10 -77
  61. package/src/internal/testing/utils.ts +1 -1
  62. package/src/query/index.ts +1 -1
  63. package/src/testing/types.ts +39 -22
  64. package/dist/lib/browser/chunk-HKFCK2GL.mjs +0 -175
  65. package/dist/lib/browser/chunk-HKFCK2GL.mjs.map +0 -7
  66. package/dist/lib/browser/chunk-MAAYELT7.mjs +0 -830
  67. package/dist/lib/browser/chunk-MAAYELT7.mjs.map +0 -7
  68. package/dist/lib/browser/chunk-MB6MMNFP.mjs.map +0 -7
  69. package/dist/lib/node-esm/chunk-5NWDGIBT.mjs +0 -830
  70. package/dist/lib/node-esm/chunk-5NWDGIBT.mjs.map +0 -7
  71. package/dist/lib/node-esm/chunk-AUAH4E2J.mjs +0 -175
  72. package/dist/lib/node-esm/chunk-AUAH4E2J.mjs.map +0 -7
  73. package/dist/lib/node-esm/chunk-BQRA4VLX.mjs.map +0 -7
  74. package/dist/types/src/query/tag.d.ts.map +0 -1
@@ -1,36 +1,22 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import "../chunk-AUAH4E2J.mjs";
3
2
  import {
4
3
  Type_exports
5
- } from "../chunk-5NWDGIBT.mjs";
4
+ } from "../chunk-C7LTTWRL.mjs";
5
+ import "../chunk-OHJ5WBB6.mjs";
6
6
  import {
7
7
  EchoObject,
8
8
  EchoRelation,
9
9
  EchoSchema,
10
- Expando,
11
10
  Ref,
12
11
  StoredSchema,
13
12
  TypedObject,
14
13
  getSchemaTypename,
15
14
  live,
16
15
  toJsonSchema
17
- } from "../chunk-BQRA4VLX.mjs";
16
+ } from "../chunk-3FGSPSYN.mjs";
18
17
 
19
18
  // src/internal/testing/types.ts
20
19
  import * as Schema from "effect/Schema";
21
- function _define_property(obj, key, value) {
22
- if (key in obj) {
23
- Object.defineProperty(obj, key, {
24
- value,
25
- enumerable: true,
26
- configurable: true,
27
- writable: true
28
- });
29
- } else {
30
- obj[key] = value;
31
- }
32
- return obj;
33
- }
34
20
  (function(Testing3) {
35
21
  const Circle = Schema.Struct({
36
22
  type: Schema.Literal("circle"),
@@ -82,21 +68,19 @@ function _define_property(obj, key, value) {
82
68
  version: "0.1.0"
83
69
  }));
84
70
  class TestClass {
71
+ field = "value";
85
72
  toJSON() {
86
73
  return {
87
74
  field: this.field
88
75
  };
89
76
  }
90
- constructor() {
91
- _define_property(this, "field", "value");
92
- }
93
77
  }
94
78
  Testing3.TestClass = TestClass;
95
79
  Testing3.TestSchemaWithClass = Schema.mutable(Schema.extend(Testing3.TestSchema, Schema.mutable(Schema.Struct({
96
80
  classInstance: Schema.optional(Schema.instanceOf(TestClass))
97
81
  }))));
98
- class Contact extends TypedObject({
99
- typename: "example.com/type/Contact",
82
+ class Person extends TypedObject({
83
+ typename: "example.com/type/Person",
100
84
  version: "0.1.0"
101
85
  })({
102
86
  name: Schema.String,
@@ -120,14 +104,14 @@ function _define_property(obj, key, value) {
120
104
  partial: true
121
105
  }) {
122
106
  }
123
- Testing3.Contact = Contact;
107
+ Testing3.Person = Person;
124
108
  class Task extends TypedObject({
125
109
  typename: "example.com/type/Task",
126
110
  version: "0.1.0"
127
111
  })({
128
112
  title: Schema.optional(Schema.String),
129
113
  completed: Schema.optional(Schema.Boolean),
130
- assignee: Schema.optional(Ref(Contact)),
114
+ assignee: Schema.optional(Ref(Person)),
131
115
  previous: Schema.optional(Schema.suspend(() => Ref(Task))),
132
116
  subTasks: Schema.optional(Schema.mutable(Schema.Array(Schema.suspend(() => Ref(Task))))),
133
117
  description: Schema.optional(Schema.String)
@@ -136,34 +120,13 @@ function _define_property(obj, key, value) {
136
120
  }) {
137
121
  }
138
122
  Testing3.Task = Task;
139
- (function(RecordType) {
140
- RecordType[RecordType["UNDEFINED"] = 0] = "UNDEFINED";
141
- RecordType[RecordType["PERSONAL"] = 1] = "PERSONAL";
142
- RecordType[RecordType["WORK"] = 2] = "WORK";
143
- })(Testing3.RecordType || (Testing3.RecordType = {}));
144
- class Container extends TypedObject({
145
- typename: "example.com/type/Container",
146
- version: "0.1.0"
147
- })({
148
- objects: Schema.mutable(Schema.Array(Ref(Expando))),
149
- records: Schema.mutable(Schema.Array(Schema.partial(Schema.Struct({
150
- title: Schema.String,
151
- description: Schema.String,
152
- contacts: Schema.mutable(Schema.Array(Ref(Contact))),
153
- type: Schema.Enums(Testing3.RecordType)
154
- }))))
155
- }, {
156
- partial: true
157
- }) {
158
- }
159
- Testing3.Container = Container;
160
123
  Testing3.HasManager = Schema.Struct({
161
124
  since: Schema.optional(Schema.String)
162
125
  }).pipe(EchoRelation({
163
126
  typename: "example.com/type/HasManager",
164
127
  version: "0.1.0",
165
- source: Contact,
166
- target: Contact
128
+ source: Person,
129
+ target: Person
167
130
  }));
168
131
  })(Testing || (Testing = {}));
169
132
  var Testing;
@@ -187,7 +150,7 @@ var updateCounter = (touch) => {
187
150
  }
188
151
  };
189
152
  };
190
- var prepareAstForCompare = (obj) => deepMapValues(obj, (value, recurse, key) => {
153
+ var prepareAstForCompare = (obj) => deepMapValues(obj, (value, recurse) => {
191
154
  if (typeof value === "function") {
192
155
  return null;
193
156
  }
@@ -210,7 +173,7 @@ var prepareAstForCompare = (obj) => deepMapValues(obj, (value, recurse, key) =>
210
173
  // src/testing/types.ts
211
174
  import * as Schema2 from "effect/Schema";
212
175
  (function(Testing3) {
213
- const _Contact = Schema2.Struct({
176
+ Testing3.Person = Schema2.Struct({
214
177
  name: Schema2.String,
215
178
  username: Schema2.String,
216
179
  email: Schema2.String,
@@ -225,14 +188,13 @@ import * as Schema2 from "effect/Schema";
225
188
  })
226
189
  })
227
190
  }).pipe(Schema2.partial, Type_exports.Obj({
228
- typename: "example.com/type/Contact",
191
+ typename: "example.com/type/Person",
229
192
  version: "0.1.0"
230
193
  }));
231
- Testing3.Contact = _Contact;
232
- const _Task = Schema2.Struct({
194
+ Testing3.Task = Schema2.Struct({
233
195
  title: Schema2.optional(Schema2.String),
234
196
  completed: Schema2.optional(Schema2.Boolean),
235
- assignee: Schema2.optional(Type_exports.Ref(Testing3.Contact)),
197
+ assignee: Schema2.optional(Type_exports.Ref(Testing3.Person)),
236
198
  previous: Schema2.optional(Schema2.suspend(() => Type_exports.Ref(Testing3.Task))),
237
199
  subTasks: Schema2.optional(Schema2.mutable(Schema2.Array(Schema2.suspend(() => Type_exports.Ref(Testing3.Task))))),
238
200
  description: Schema2.optional(Schema2.String)
@@ -240,7 +202,22 @@ import * as Schema2 from "effect/Schema";
240
202
  typename: "example.com/type/Task",
241
203
  version: "0.1.0"
242
204
  }));
243
- Testing3.Task = _Task;
205
+ Testing3.WorksFor = Schema2.Struct({
206
+ since: Schema2.optional(Schema2.String)
207
+ }).pipe(Type_exports.Relation({
208
+ typename: "example.com/type/WorksFor",
209
+ version: "0.1.0",
210
+ source: Testing3.Person,
211
+ target: Testing3.Person
212
+ }));
213
+ Testing3.HasManager = Schema2.Struct({
214
+ since: Schema2.optional(Schema2.String)
215
+ }).pipe(Type_exports.Relation({
216
+ typename: "example.com/type/HasManager",
217
+ version: "0.1.0",
218
+ source: Testing3.Person,
219
+ target: Testing3.Person
220
+ }));
244
221
  (function(RecordType) {
245
222
  RecordType[RecordType["UNDEFINED"] = 0] = "UNDEFINED";
246
223
  RecordType[RecordType["PERSONAL"] = 1] = "PERSONAL";
@@ -251,21 +228,13 @@ import * as Schema2 from "effect/Schema";
251
228
  records: Schema2.mutable(Schema2.Array(Schema2.partial(Schema2.Struct({
252
229
  title: Schema2.String,
253
230
  description: Schema2.String,
254
- contacts: Schema2.mutable(Schema2.Array(Type_exports.Ref(Testing3.Contact))),
231
+ contacts: Schema2.mutable(Schema2.Array(Type_exports.Ref(Testing3.Person))),
255
232
  type: Schema2.Enums(Testing3.RecordType)
256
233
  }))))
257
234
  }).pipe(Schema2.partial, Type_exports.Obj({
258
235
  typename: "example.com/type/Container",
259
236
  version: "0.1.0"
260
237
  }));
261
- Testing3.WorksFor = Schema2.Struct({
262
- since: Schema2.optional(Schema2.String)
263
- }).pipe(Type_exports.Relation({
264
- typename: "example.com/type/WorksFor",
265
- version: "0.1.0",
266
- source: Testing3.Contact,
267
- target: Testing3.Contact
268
- }));
269
238
  })(Testing2 || (Testing2 = {}));
270
239
  var Testing2;
271
240
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/internal/testing/types.ts", "../../../../src/internal/testing/utils.ts", "../../../../src/testing/types.ts", "../../../../src/testing/echo-schema.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { EchoObject, EchoRelation, Expando, TypedObject } from '../object';\nimport { Ref, type Ref$ } from '../ref';\n\n// TODO(burdon): These are non-canonical test types, so we really shouldn't export and use in other classes (compare with @dxos/sdk/testing).\nexport namespace Testing {\n //\n // Primitives\n //\n\n const Circle = Schema.Struct({ type: Schema.Literal('circle'), radius: Schema.Number });\n const Square = Schema.Struct({ type: Schema.Literal('square'), side: Schema.Number });\n const Shape = Schema.Union(Circle, Square);\n\n //\n // Simple types\n //\n\n const TestNestedSchema = Schema.mutable(Schema.Struct({ field: Schema.String }));\n export type TestNestedSchema = Schema.Schema.Type<typeof TestNestedSchema>;\n export const TestNestedType = TestNestedSchema.pipe(\n EchoObject({ typename: 'example.com/type/TestNested', version: '0.1.0' }),\n );\n\n //\n // Complex types\n // TODO(burdon): Change to Type.Obj.\n //\n\n export class EmptySchemaType extends TypedObject({\n typename: 'example.com/type/Empty',\n version: '0.1.0',\n })({}) {}\n\n const fields = {\n string: Schema.String,\n number: Schema.Number,\n nullableShapeArray: Schema.mutable(Schema.Array(Schema.Union(Shape, Schema.Null))),\n boolean: Schema.Boolean,\n null: Schema.Null,\n undefined: Schema.Undefined,\n stringArray: Schema.mutable(Schema.Array(Schema.String)),\n twoDimNumberArray: Schema.mutable(Schema.Array(Schema.mutable(Schema.Array(Schema.Number)))),\n object: TestNestedSchema,\n objectArray: Schema.mutable(Schema.Array(TestNestedSchema)),\n nested: Schema.optional(Ref(TestNestedType)),\n other: Schema.Any,\n };\n\n export const TestSchema = Schema.mutable(Schema.partial(Schema.Struct(fields)));\n export type TestSchema = Schema.Schema.Type<typeof TestSchema>;\n\n export class TestSchemaType extends TypedObject({\n typename: 'example.com/type/Test',\n version: '0.1.0',\n })(fields, { partial: true }) {} // TODO(burdon): Partial?\n\n // TODO(burdon): Why do we use need this rather then TestSchemaType?\n export const TestType = TestSchema.pipe(\n EchoObject({\n typename: 'example.com/type/Test',\n version: '0.1.0',\n }),\n );\n\n export class TestClass {\n field = 'value';\n toJSON() {\n return { field: this.field };\n }\n }\n\n // TODO(dmaretskyi): Another top-level Schema.mutable call as a workaround for the regression in the last minor.\n export const TestSchemaWithClass = Schema.mutable(\n Schema.extend(\n TestSchema,\n Schema.mutable(\n Schema.Struct({\n classInstance: Schema.optional(Schema.instanceOf(TestClass)),\n }),\n ),\n ),\n );\n\n export type TestSchemaWithClass = Schema.Schema.Type<typeof TestSchemaWithClass>;\n\n export class Contact extends TypedObject({\n typename: 'example.com/type/Contact',\n version: '0.1.0',\n })(\n {\n name: Schema.String,\n username: Schema.String,\n email: Schema.String,\n phoneNumbers: Schema.optional(Schema.Array(Schema.Struct({ label: Schema.String, number: Schema.String }))),\n tasks: Schema.suspend((): Schema.mutable<Schema.Array$<Ref$<Task>>> => Schema.mutable(Schema.Array(Ref(Task)))),\n address: Schema.Struct({\n city: Schema.optional(Schema.String),\n state: Schema.optional(Schema.String),\n zip: Schema.optional(Schema.String),\n coordinates: Schema.Struct({\n lat: Schema.optional(Schema.Number),\n lng: Schema.optional(Schema.Number),\n }),\n }),\n },\n { partial: true },\n ) {}\n\n export class Task extends TypedObject({\n typename: 'example.com/type/Task',\n version: '0.1.0',\n })(\n {\n title: Schema.optional(Schema.String),\n completed: Schema.optional(Schema.Boolean),\n assignee: Schema.optional(Ref(Contact)),\n previous: Schema.optional(Schema.suspend((): Ref$<Task> => Ref(Task))),\n subTasks: Schema.optional(Schema.mutable(Schema.Array(Schema.suspend((): Ref$<Task> => Ref(Task))))),\n description: Schema.optional(Schema.String),\n },\n { partial: true },\n ) {}\n\n // TOOD(burdon): Ref$ breaks if using new syntax (since ID is not declared).\n\n // export const Task = Schema.Struct({\n // title: Schema.String,\n // completed: Schema.Boolean,\n // assignee: Schema.optional(Ref(Schema.suspend((): Ref$<Contact> => Ref(Contact)))),\n // previous: Schema.optional(Ref(Schema.suspend((): Ref$<Task> => Ref(Task)))),\n // subTasks: Schema.optional(Schema.Array(Ref(Schema.suspend((): Ref$<Task> => Ref(Task))))),\n // description: Schema.optional(Schema.String),\n // }).pipe(\n // EchoObject({\n // typename: 'example.com/type/Task',\n // version: '0.1.0',\n // }),\n // );\n\n // export type Task = Schema.Schema.Type<typeof Task>;\n\n // export const Contact = Schema.Struct({\n // name: Schema.String,\n // username: Schema.String,\n // email: Schema.String,\n // // TOOD(burdon): Should model via relations?\n // // tasks: Schema.mutable(Schema.Array(Ref(Task))),\n // address: Schema.Struct({\n // city: Schema.optional(Schema.String),\n // state: Schema.optional(Schema.String),\n // zip: Schema.optional(Schema.String),\n // coordinates: Schema.Struct({\n // lat: Schema.optional(Schema.Number),\n // lng: Schema.optional(Schema.Number),\n // }),\n // }),\n // }).pipe(\n // EchoObject({\n // typename: 'example.com/type/Contact',\n // version: '0.1.0',\n // }),\n // );\n\n // export type Contact = Schema.Schema.Type<typeof Contact>;\n\n export enum RecordType {\n UNDEFINED = 0,\n PERSONAL = 1,\n WORK = 2,\n }\n\n export class Container extends TypedObject({\n typename: 'example.com/type/Container',\n version: '0.1.0',\n })(\n {\n objects: Schema.mutable(Schema.Array(Ref(Expando))),\n records: Schema.mutable(\n Schema.Array(\n Schema.partial(\n Schema.Struct({\n title: Schema.String,\n description: Schema.String,\n contacts: Schema.mutable(Schema.Array(Ref(Contact))),\n type: Schema.Enums(RecordType),\n }),\n ),\n ),\n ),\n },\n { partial: true },\n ) {}\n\n export const HasManager = Schema.Struct({\n since: Schema.optional(Schema.String),\n }).pipe(\n EchoRelation({\n typename: 'example.com/type/HasManager',\n version: '0.1.0',\n source: Contact,\n target: Contact,\n }),\n );\n export interface HasManager extends Schema.Schema.Type<typeof HasManager> {}\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport type * as SchemaAST from 'effect/SchemaAST';\n\nimport { registerSignalsRuntime } from '@dxos/echo-signals';\nimport { deepMapValues } from '@dxos/util';\n\nregisterSignalsRuntime();\n\n// TODO(burdon): Move to util.\nexport const updateCounter = (touch: () => void) => {\n let updateCount = -1;\n const unsubscribe = effect(() => {\n touch();\n updateCount++;\n });\n\n return {\n // https://github.com/tc39/proposal-explicit-resource-management\n [Symbol.dispose]: unsubscribe,\n get count() {\n return updateCount;\n },\n };\n};\n\n/**\n * Converts AST to a format that can be compared with test matchers.\n */\nexport const prepareAstForCompare = (obj: SchemaAST.AST): any =>\n deepMapValues(obj, (value: any, recurse, key) => {\n if (typeof value === 'function') {\n return null;\n }\n\n if (value instanceof RegExp) {\n return value;\n }\n\n // Convert symbols to strings.\n if (typeof value === 'object') {\n const clone = { ...value };\n for (const sym of Object.getOwnPropertySymbols(clone as any)) {\n clone[sym.toString()] = clone[sym];\n delete clone[sym];\n }\n return recurse(clone);\n }\n\n return recurse(value);\n });\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Type } from '..';\n\n// TODO(burdon): These are non-canonical test types, so we really shouldn't export and use in other classes (compare with @dxos/sdk/testing).\nexport namespace Testing {\n const _Contact = Schema.Struct({\n name: Schema.String,\n username: Schema.String,\n email: Schema.String,\n tasks: Schema.mutable(Schema.Array(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task)))),\n address: Schema.Struct({\n city: Schema.optional(Schema.String),\n state: Schema.optional(Schema.String),\n zip: Schema.optional(Schema.String),\n coordinates: Schema.Struct({\n lat: Schema.optional(Schema.Number),\n lng: Schema.optional(Schema.Number),\n }),\n }),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Contact',\n version: '0.1.0',\n }),\n );\n export interface Contact extends Schema.Schema.Type<typeof _Contact> {}\n export const Contact: Schema.Schema<Contact, Schema.Schema.Encoded<typeof _Contact>, never> = _Contact;\n\n const _Task = Schema.Struct({\n title: Schema.optional(Schema.String),\n completed: Schema.optional(Schema.Boolean),\n assignee: Schema.optional(Type.Ref(Contact)),\n previous: Schema.optional(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task))),\n subTasks: Schema.optional(Schema.mutable(Schema.Array(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task))))),\n description: Schema.optional(Schema.String),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Task',\n version: '0.1.0',\n }),\n );\n export interface Task extends Schema.Schema.Type<typeof _Task> {}\n export const Task: Schema.Schema<Task, Schema.Schema.Encoded<typeof _Task>, never> = _Task;\n\n export enum RecordType {\n UNDEFINED = 0,\n PERSONAL = 1,\n WORK = 2,\n }\n\n export const Container = Schema.Struct({\n objects: Schema.mutable(Schema.Array(Type.Ref(Type.Expando))),\n records: Schema.mutable(\n Schema.Array(\n Schema.partial(\n Schema.Struct({\n title: Schema.String,\n description: Schema.String,\n contacts: Schema.mutable(Schema.Array(Type.Ref(Contact))),\n type: Schema.Enums(RecordType),\n }),\n ),\n ),\n ),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Container',\n version: '0.1.0',\n }),\n );\n\n export const WorksFor = Schema.Struct({\n since: Schema.optional(Schema.String),\n }).pipe(\n Type.Relation({\n typename: 'example.com/type/WorksFor',\n version: '0.1.0',\n source: Contact,\n target: Contact,\n }),\n );\n export interface WorksFor extends Schema.Schema.Type<typeof WorksFor> {}\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport type * as Schema from 'effect/Schema';\n\nimport { registerSignalsRuntime } from '@dxos/echo-signals';\nimport { assertArgument } from '@dxos/invariant';\n\nimport { EchoSchema, StoredSchema, getSchemaTypename, live, toJsonSchema } from '../internal';\n\n// NOTE: Registration is done here is this is the module that calls out to `effect`.\nregisterSignalsRuntime();\n\n/**\n * Create a reactive mutable schema that updates when the JSON schema is updated.\n */\n// TODO(dmaretskyi): Should be replaced by registration of typed object.\nexport const createEchoSchema = (schema: Schema.Schema.AnyNoContext): EchoSchema => {\n const typename = getSchemaTypename(schema);\n assertArgument(typename, 'typename', 'Schema does not have a typename.');\n\n const echoSchema = new EchoSchema(\n live(StoredSchema, {\n typename,\n version: '0.1.0',\n jsonSchema: toJsonSchema(schema),\n }),\n );\n\n // TODO(burdon): Unsubscribe is never called.\n effect(() => {\n const _ = echoSchema.jsonSchema;\n echoSchema._invalidate();\n });\n\n return echoSchema;\n};\n"],
5
- "mappings": "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",
6
- "names": ["Schema", "Testing", "Circle", "Struct", "type", "Literal", "radius", "Number", "Square", "side", "Shape", "Union", "TestNestedSchema", "mutable", "field", "String", "TestNestedType", "pipe", "EchoObject", "typename", "version", "EmptySchemaType", "TypedObject", "fields", "string", "number", "nullableShapeArray", "Array", "Null", "boolean", "Boolean", "null", "undefined", "Undefined", "stringArray", "twoDimNumberArray", "object", "objectArray", "nested", "optional", "Ref", "other", "Any", "TestSchema", "partial", "TestSchemaType", "TestType", "TestClass", "toJSON", "TestSchemaWithClass", "extend", "classInstance", "instanceOf", "Contact", "name", "username", "email", "phoneNumbers", "label", "tasks", "suspend", "Task", "address", "city", "state", "zip", "coordinates", "lat", "lng", "title", "completed", "assignee", "previous", "subTasks", "description", "RecordType", "Container", "objects", "Expando", "records", "contacts", "Enums", "HasManager", "since", "EchoRelation", "source", "target", "effect", "registerSignalsRuntime", "deepMapValues", "registerSignalsRuntime", "updateCounter", "touch", "updateCount", "unsubscribe", "effect", "Symbol", "dispose", "count", "prepareAstForCompare", "obj", "deepMapValues", "value", "recurse", "key", "RegExp", "clone", "sym", "Object", "getOwnPropertySymbols", "toString", "Schema", "Testing", "_Contact", "Struct", "name", "String", "username", "email", "tasks", "mutable", "Array", "suspend", "Type", "Ref", "Task", "address", "city", "optional", "state", "zip", "coordinates", "lat", "Number", "lng", "pipe", "partial", "Obj", "typename", "version", "Contact", "_Task", "title", "completed", "Boolean", "assignee", "previous", "subTasks", "description", "RecordType", "Container", "objects", "Expando", "records", "contacts", "type", "Enums", "WorksFor", "since", "Relation", "source", "target", "effect", "registerSignalsRuntime", "assertArgument", "registerSignalsRuntime", "createEchoSchema", "schema", "typename", "getSchemaTypename", "assertArgument", "echoSchema", "EchoSchema", "live", "StoredSchema", "version", "jsonSchema", "toJsonSchema", "effect", "_", "_invalidate"]
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { EchoObject, EchoRelation, TypedObject } from '../object';\nimport { Ref, type Ref$ } from '../ref';\n\n/**\n * @deprecated\n */\n// TOOD(burdon): Reconcile with ../testing (remove this).\nexport namespace Testing {\n //\n // Primitives\n //\n\n const Circle = Schema.Struct({ type: Schema.Literal('circle'), radius: Schema.Number });\n const Square = Schema.Struct({ type: Schema.Literal('square'), side: Schema.Number });\n const Shape = Schema.Union(Circle, Square);\n\n //\n // Simple types\n //\n\n const TestNestedSchema = Schema.mutable(Schema.Struct({ field: Schema.String }));\n export type TestNestedSchema = Schema.Schema.Type<typeof TestNestedSchema>;\n export const TestNestedType = TestNestedSchema.pipe(\n EchoObject({ typename: 'example.com/type/TestNested', version: '0.1.0' }),\n );\n\n //\n // Complex types\n // TODO(burdon): Change to Type.Obj.\n //\n\n export class EmptySchemaType extends TypedObject({\n typename: 'example.com/type/Empty',\n version: '0.1.0',\n })({}) {}\n\n const fields = {\n string: Schema.String,\n number: Schema.Number,\n nullableShapeArray: Schema.mutable(Schema.Array(Schema.Union(Shape, Schema.Null))),\n boolean: Schema.Boolean,\n null: Schema.Null,\n undefined: Schema.Undefined,\n stringArray: Schema.mutable(Schema.Array(Schema.String)),\n twoDimNumberArray: Schema.mutable(Schema.Array(Schema.mutable(Schema.Array(Schema.Number)))),\n object: TestNestedSchema,\n objectArray: Schema.mutable(Schema.Array(TestNestedSchema)),\n nested: Schema.optional(Ref(TestNestedType)),\n other: Schema.Any,\n };\n\n export const TestSchema = Schema.mutable(Schema.partial(Schema.Struct(fields)));\n export type TestSchema = Schema.Schema.Type<typeof TestSchema>;\n\n export class TestSchemaType extends TypedObject({\n typename: 'example.com/type/Test',\n version: '0.1.0',\n })(fields, { partial: true }) {} // TODO(burdon): Partial?\n\n // TODO(burdon): Why do we use need this rather then TestSchemaType?\n export const TestType = TestSchema.pipe(\n EchoObject({\n typename: 'example.com/type/Test',\n version: '0.1.0',\n }),\n );\n\n export class TestClass {\n field = 'value';\n toJSON() {\n return { field: this.field };\n }\n }\n\n // TODO(dmaretskyi): Another top-level Schema.mutable call as a workaround for the regression in the last minor.\n export const TestSchemaWithClass = Schema.mutable(\n Schema.extend(\n TestSchema,\n Schema.mutable(\n Schema.Struct({\n classInstance: Schema.optional(Schema.instanceOf(TestClass)),\n }),\n ),\n ),\n );\n\n export type TestSchemaWithClass = Schema.Schema.Type<typeof TestSchemaWithClass>;\n\n export class Person extends TypedObject({\n typename: 'example.com/type/Person',\n version: '0.1.0',\n })(\n {\n name: Schema.String,\n username: Schema.String,\n email: Schema.String,\n phoneNumbers: Schema.optional(Schema.Array(Schema.Struct({ label: Schema.String, number: Schema.String }))),\n tasks: Schema.suspend((): Schema.mutable<Schema.Array$<Ref$<Task>>> => Schema.mutable(Schema.Array(Ref(Task)))),\n address: Schema.Struct({\n city: Schema.optional(Schema.String),\n state: Schema.optional(Schema.String),\n zip: Schema.optional(Schema.String),\n coordinates: Schema.Struct({\n lat: Schema.optional(Schema.Number),\n lng: Schema.optional(Schema.Number),\n }),\n }),\n },\n { partial: true },\n ) {}\n\n export class Task extends TypedObject({\n typename: 'example.com/type/Task',\n version: '0.1.0',\n })(\n {\n title: Schema.optional(Schema.String),\n completed: Schema.optional(Schema.Boolean),\n assignee: Schema.optional(Ref(Person)),\n previous: Schema.optional(Schema.suspend((): Ref$<Task> => Ref(Task))),\n subTasks: Schema.optional(Schema.mutable(Schema.Array(Schema.suspend((): Ref$<Task> => Ref(Task))))),\n description: Schema.optional(Schema.String),\n },\n { partial: true },\n ) {}\n\n export const HasManager = Schema.Struct({\n since: Schema.optional(Schema.String),\n }).pipe(\n EchoRelation({\n typename: 'example.com/type/HasManager',\n version: '0.1.0',\n source: Person,\n target: Person,\n }),\n );\n export interface HasManager extends Schema.Schema.Type<typeof HasManager> {}\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport type * as SchemaAST from 'effect/SchemaAST';\n\nimport { registerSignalsRuntime } from '@dxos/echo-signals';\nimport { deepMapValues } from '@dxos/util';\n\nregisterSignalsRuntime();\n\n// TODO(burdon): Move to util.\nexport const updateCounter = (touch: () => void) => {\n let updateCount = -1;\n const unsubscribe = effect(() => {\n touch();\n updateCount++;\n });\n\n return {\n // https://github.com/tc39/proposal-explicit-resource-management\n [Symbol.dispose]: unsubscribe,\n get count() {\n return updateCount;\n },\n };\n};\n\n/**\n * Converts AST to a format that can be compared with test matchers.\n */\nexport const prepareAstForCompare = (obj: SchemaAST.AST): any =>\n deepMapValues(obj, (value: any, recurse) => {\n if (typeof value === 'function') {\n return null;\n }\n\n if (value instanceof RegExp) {\n return value;\n }\n\n // Convert symbols to strings.\n if (typeof value === 'object') {\n const clone = { ...value };\n for (const sym of Object.getOwnPropertySymbols(clone as any)) {\n clone[sym.toString()] = clone[sym];\n delete clone[sym];\n }\n return recurse(clone);\n }\n\n return recurse(value);\n });\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Type } from '..';\n\n/**\n * @deprecated\n */\n// TOOD(burdon): Reconcile with @dxos/schema.\nexport namespace Testing {\n export const Person = Schema.Struct({\n name: Schema.String,\n username: Schema.String,\n email: Schema.String,\n tasks: Schema.mutable(Schema.Array(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task)))),\n address: Schema.Struct({\n city: Schema.optional(Schema.String),\n state: Schema.optional(Schema.String),\n zip: Schema.optional(Schema.String),\n coordinates: Schema.Struct({\n lat: Schema.optional(Schema.Number),\n lng: Schema.optional(Schema.Number),\n }),\n }),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Person',\n version: '0.1.0',\n }),\n );\n\n export interface Person extends Schema.Schema.Type<typeof Person> {}\n\n export const Task = Schema.Struct({\n title: Schema.optional(Schema.String),\n completed: Schema.optional(Schema.Boolean),\n assignee: Schema.optional(Type.Ref(Person)),\n previous: Schema.optional(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task))),\n subTasks: Schema.optional(Schema.mutable(Schema.Array(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task))))),\n description: Schema.optional(Schema.String),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Task',\n version: '0.1.0',\n }),\n );\n\n export interface Task extends Schema.Schema.Type<typeof Task> {}\n\n export const WorksFor = Schema.Struct({\n since: Schema.optional(Schema.String),\n }).pipe(\n Type.Relation({\n typename: 'example.com/type/WorksFor',\n version: '0.1.0',\n source: Person,\n target: Person,\n }),\n );\n\n export interface WorksFor extends Schema.Schema.Type<typeof WorksFor> {}\n\n export const HasManager = Schema.Struct({\n since: Schema.optional(Schema.String),\n }).pipe(\n Type.Relation({\n typename: 'example.com/type/HasManager',\n version: '0.1.0',\n source: Person,\n target: Person,\n }),\n );\n\n export interface HasManager extends Schema.Schema.Type<typeof HasManager> {}\n\n export enum RecordType {\n UNDEFINED = 0,\n PERSONAL = 1,\n WORK = 2,\n }\n\n export const Container = Schema.Struct({\n objects: Schema.mutable(Schema.Array(Type.Ref(Type.Expando))),\n records: Schema.mutable(\n Schema.Array(\n Schema.partial(\n Schema.Struct({\n title: Schema.String,\n description: Schema.String,\n contacts: Schema.mutable(Schema.Array(Type.Ref(Person))),\n type: Schema.Enums(RecordType),\n }),\n ),\n ),\n ),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Container',\n version: '0.1.0',\n }),\n );\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport type * as Schema from 'effect/Schema';\n\nimport { registerSignalsRuntime } from '@dxos/echo-signals';\nimport { assertArgument } from '@dxos/invariant';\n\nimport { EchoSchema, StoredSchema, getSchemaTypename, live, toJsonSchema } from '../internal';\n\n// NOTE: Registration is done here is this is the module that calls out to `effect`.\nregisterSignalsRuntime();\n\n/**\n * Create a reactive mutable schema that updates when the JSON schema is updated.\n */\n// TODO(dmaretskyi): Should be replaced by registration of typed object.\nexport const createEchoSchema = (schema: Schema.Schema.AnyNoContext): EchoSchema => {\n const typename = getSchemaTypename(schema);\n assertArgument(typename, 'typename', 'Schema does not have a typename.');\n\n const echoSchema = new EchoSchema(\n live(StoredSchema, {\n typename,\n version: '0.1.0',\n jsonSchema: toJsonSchema(schema),\n }),\n );\n\n // TODO(burdon): Unsubscribe is never called.\n effect(() => {\n const _ = echoSchema.jsonSchema;\n echoSchema._invalidate();\n });\n\n return echoSchema;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "Testing", "Circle", "Struct", "type", "Literal", "radius", "Number", "Square", "side", "Shape", "Union", "TestNestedSchema", "mutable", "field", "String", "TestNestedType", "pipe", "EchoObject", "typename", "version", "EmptySchemaType", "TypedObject", "fields", "string", "number", "nullableShapeArray", "Array", "Null", "boolean", "Boolean", "null", "undefined", "Undefined", "stringArray", "twoDimNumberArray", "object", "objectArray", "nested", "optional", "Ref", "other", "Any", "TestSchema", "partial", "TestSchemaType", "TestType", "TestClass", "toJSON", "TestSchemaWithClass", "extend", "classInstance", "instanceOf", "Person", "name", "username", "email", "phoneNumbers", "label", "tasks", "suspend", "Task", "address", "city", "state", "zip", "coordinates", "lat", "lng", "title", "completed", "assignee", "previous", "subTasks", "description", "HasManager", "since", "EchoRelation", "source", "target", "effect", "registerSignalsRuntime", "deepMapValues", "registerSignalsRuntime", "updateCounter", "touch", "updateCount", "unsubscribe", "effect", "Symbol", "dispose", "count", "prepareAstForCompare", "obj", "deepMapValues", "value", "recurse", "RegExp", "clone", "sym", "Object", "getOwnPropertySymbols", "toString", "Schema", "Testing", "Person", "Struct", "name", "String", "username", "email", "tasks", "mutable", "Array", "suspend", "Type", "Ref", "Task", "address", "city", "optional", "state", "zip", "coordinates", "lat", "Number", "lng", "pipe", "partial", "Obj", "typename", "version", "title", "completed", "Boolean", "assignee", "previous", "subTasks", "description", "WorksFor", "since", "Relation", "source", "target", "HasManager", "RecordType", "Container", "objects", "Expando", "records", "contacts", "type", "Enums", "effect", "registerSignalsRuntime", "assertArgument", "registerSignalsRuntime", "createEchoSchema", "schema", "typename", "getSchemaTypename", "assertArgument", "echoSchema", "EchoSchema", "live", "StoredSchema", "version", "jsonSchema", "toJsonSchema", "effect", "_", "_invalidate"]
7
7
  }
@@ -73,12 +73,12 @@ export declare const getSchema: (obj: unknown | undefined) => Schema.Schema.AnyN
73
73
  export declare const getDXN: (obj: Any | Relation.Any) => DXN;
74
74
  /**
75
75
  * @returns The DXN of the object's type.
76
- * @example dxn:example.com/type/Contact:1.0.0
76
+ * @example dxn:example.com/type/Person:1.0.0
77
77
  */
78
78
  export declare const getTypeDXN: (obj: EchoSchema.BaseObject) => DXN | undefined;
79
79
  /**
80
80
  * @returns The typename of the object's type.
81
- * @example `example.com/type/Contact`
81
+ * @example `example.com/type/Person`
82
82
  */
83
83
  export declare const getTypename: (obj: Any | Relation.Any) => string | undefined;
84
84
  export declare const getMeta: (obj: Any | Relation.Any) => EchoSchema.ObjectMeta;
@@ -100,6 +100,8 @@ export declare const getLabel: (obj: Any | Relation.Any) => string | undefined;
100
100
  export declare const setLabel: (obj: Any | Relation.Any, label: string) => void;
101
101
  export declare const getDescription: (obj: Any | Relation.Any) => string | undefined;
102
102
  export declare const setDescription: (obj: Any | Relation.Any, description: string) => void;
103
+ export declare const addTag: (obj: Any | Relation.Any, tag: string) => void;
104
+ export declare const removeTag: (obj: Any | Relation.Any, tag: string) => void;
103
105
  export type Comparator = (a: Any, b: Any) => number;
104
106
  export declare const sortByLabel: Comparator;
105
107
  export declare const sortByTypename: Comparator;
@@ -1 +1 @@
1
- {"version":3,"file":"Obj.d.ts","sourceRoot":"","sources":["../../../src/Obj.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Obj.d.ts","sourceRoot":"","sources":["../../../src/Obj.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  import * as Schema from 'effect/Schema';
2
- import * as Obj from '../Obj';
3
- import * as Type from '../Type';
2
+ import * as Obj from './Obj';
3
+ import * as Type from './Type';
4
4
  export declare const Tag: Type.obj<Schema.Struct<{
5
5
  label: typeof Schema.String;
6
6
  hue: Schema.optional<typeof Schema.String>;
7
7
  }>>;
8
8
  export type Tag = Schema.Schema.Type<typeof Tag>;
9
- export declare const make: (props: Obj.MakeProps<typeof Tag>) => import("@dxos/live-object").Live<Type.OfKind<import("../internal").EntityKind.Object> & {
9
+ export declare const make: (props: Obj.MakeProps<typeof Tag>) => import("@dxos/live-object").Live<Type.OfKind<import("./internal").EntityKind.Object> & {
10
10
  label: string;
11
11
  hue?: string | undefined;
12
12
  }>;
13
- export type TagMap = Record<string, Tag>;
13
+ export type Map = Record<string, Tag>;
14
14
  export declare const sortTags: ({ label: a }: Tag, { label: b }: Tag) => number;
15
- export declare const createTagList: (tags: TagMap) => Tag[];
16
- export declare const findTagByLabel: (tags: TagMap | undefined, name: string) => Tag | undefined;
17
- //# sourceMappingURL=tag.d.ts.map
15
+ export declare const createTagList: (tags: Map) => Tag[];
16
+ export declare const findTagByLabel: (tags: Map | undefined, name: string) => Tag | undefined;
17
+ //# sourceMappingURL=Tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../src/Tag.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,eAAO,MAAM,GAAG;;;GASf,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAEjD,eAAO,MAAM,IAAI,GAAI,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC;;;EAAyB,CAAC;AAG/E,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC,eAAO,MAAM,QAAQ,GAAI,cAAc,GAAG,EAAE,cAAc,GAAG,WAAuB,CAAC;AAErF,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,KAAG,GAAG,EAG1B,CAAC;AAEpB,eAAO,MAAM,cAAc,GAAI,MAAM,GAAG,GAAG,SAAS,EAAE,MAAM,MAAM,KAAG,GAAG,GAAG,SAG1E,CAAC"}
@@ -2,26 +2,22 @@ import { BaseError, type BaseErrorOptions } from '@dxos/errors';
2
2
  import { type DXN } from '@dxos/keys';
3
3
  declare const SchemaNotFoundError_base: {
4
4
  new (options?: BaseErrorOptions): {
5
- "__#private@#code": "SCHEMA_NOT_FOUND";
6
- "__#private@#context": Record<string, unknown>;
5
+ code: "SCHEMA_NOT_FOUND";
6
+ context: Record<string, unknown>;
7
7
  readonly name: "SCHEMA_NOT_FOUND";
8
8
  readonly message: string;
9
- readonly code: "SCHEMA_NOT_FOUND";
10
9
  readonly _tag: "SCHEMA_NOT_FOUND";
11
- readonly context: Record<string, unknown>;
12
10
  stack?: string;
13
11
  cause?: unknown;
14
12
  };
15
13
  code: "SCHEMA_NOT_FOUND";
16
14
  is(error: unknown): error is BaseError;
17
15
  wrap(options?: Omit<BaseErrorOptions, "cause">): (error: unknown) => {
18
- "__#private@#code": "SCHEMA_NOT_FOUND";
19
- "__#private@#context": Record<string, unknown>;
16
+ code: "SCHEMA_NOT_FOUND";
17
+ context: Record<string, unknown>;
20
18
  readonly name: "SCHEMA_NOT_FOUND";
21
19
  readonly message: string;
22
- readonly code: "SCHEMA_NOT_FOUND";
23
20
  readonly _tag: "SCHEMA_NOT_FOUND";
24
- readonly context: Record<string, unknown>;
25
21
  stack?: string;
26
22
  cause?: unknown;
27
23
  };
@@ -36,26 +32,22 @@ export declare class SchemaNotFoundError extends SchemaNotFoundError_base {
36
32
  }
37
33
  declare const ObjectNotFoundError_base: {
38
34
  new (options?: BaseErrorOptions): {
39
- "__#private@#code": "OBJECT_NOT_FOUND";
40
- "__#private@#context": Record<string, unknown>;
35
+ code: "OBJECT_NOT_FOUND";
36
+ context: Record<string, unknown>;
41
37
  readonly name: "OBJECT_NOT_FOUND";
42
38
  readonly message: string;
43
- readonly code: "OBJECT_NOT_FOUND";
44
39
  readonly _tag: "OBJECT_NOT_FOUND";
45
- readonly context: Record<string, unknown>;
46
40
  stack?: string;
47
41
  cause?: unknown;
48
42
  };
49
43
  code: "OBJECT_NOT_FOUND";
50
44
  is(error: unknown): error is BaseError;
51
45
  wrap(options?: Omit<BaseErrorOptions, "cause">): (error: unknown) => {
52
- "__#private@#code": "OBJECT_NOT_FOUND";
53
- "__#private@#context": Record<string, unknown>;
46
+ code: "OBJECT_NOT_FOUND";
47
+ context: Record<string, unknown>;
54
48
  readonly name: "OBJECT_NOT_FOUND";
55
49
  readonly message: string;
56
- readonly code: "OBJECT_NOT_FOUND";
57
50
  readonly _tag: "OBJECT_NOT_FOUND";
58
- readonly context: Record<string, unknown>;
59
51
  stack?: string;
60
52
  cause?: unknown;
61
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtC,qBAAa,mBAAoB,SAAQ,wBAAwD;gBACnF,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,mBAAoB,SAAQ,wBAAwD;gBACnF,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGjD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtC,qBAAa,mBAAoB,SAAQ,wBAAwD;gBACnF,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,mBAAoB,SAAQ,wBAAwD;gBACnF,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAGjD"}
@@ -4,6 +4,7 @@ export * as Key from './Key';
4
4
  export * as Obj from './Obj';
5
5
  export * as Ref from './Ref';
6
6
  export * as Relation from './Relation';
7
+ export * as Tag from './Tag';
7
8
  export * as Type from './Type';
8
9
  export { QueryAST } from '@dxos/echo-protocol';
9
10
  export { DXN } from '@dxos/keys';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAExB,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAExB,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
@@ -100,6 +100,12 @@ export declare const LabelAnnotation: import("./annotation-helper").AnnotationHe
100
100
  */
101
101
  export declare const DescriptionAnnotationId: unique symbol;
102
102
  export declare const DescriptionAnnotation: import("./annotation-helper").AnnotationHelper<string>;
103
+ /**
104
+ * Identifies if a property should be included in a form or not.
105
+ * By default, all properties are included in forms, so this is opt-out.
106
+ */
107
+ export declare const FormAnnotationId: unique symbol;
108
+ export declare const FormAnnotation: import("./annotation-helper").AnnotationHelper<boolean>;
103
109
  /**
104
110
  * Default field to be used on referenced schema to lookup the value.
105
111
  */
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ast/annotations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ast/annotations.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@ export * from './json-schema';
8
8
  export * from './object';
9
9
  export * from './types';
10
10
  export { defineHiddenProperty } from '@dxos/live-object';
11
- export * from './ref';
12
11
  export * from './projection';
13
- export * from './schema';
14
12
  export { live } from './proxy/reactive-object';
13
+ export * from './ref';
14
+ export * from './schema';
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
@@ -22,7 +22,7 @@ type CreateData<T> = T extends {
22
22
  * name: Schema.String,
23
23
  * email: Schema.String,
24
24
  * }).pipe(Type.Obj({
25
- * typename: 'example.com/type/Contact',
25
+ * typename: 'example.com/type/Person',
26
26
  * version: '0.1.0',
27
27
  * }))
28
28
  *
@@ -9,7 +9,7 @@ export declare const getTypename: (obj: BaseObject) => string | undefined;
9
9
  /**
10
10
  * @returns Object type as {@link DXN}.
11
11
  * @returns undefined if the object doesn't have a type.
12
- * @example `dxn:example.com/type/Contact:1.0.0`
12
+ * @example `dxn:example.com/type/Person:1.0.0`
13
13
  */
14
14
  export declare const getType: (obj: BaseObject) => DXN | undefined;
15
15
  //# sourceMappingURL=typename.d.ts.map