@dxos/echo-generator 0.4.10-main.b39148d → 0.4.10-main.c32f430

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.
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
  var node_exports = {};
20
30
  __export(node_exports, {
@@ -25,14 +35,15 @@ __export(node_exports, {
25
35
  TestSchemaType: () => TestSchemaType,
26
36
  createSpaceObjectGenerator: () => createSpaceObjectGenerator,
27
37
  createTestObjectGenerator: () => createTestObjectGenerator,
28
- range: () => range,
29
- testObjectGenerators: () => testObjectGenerators,
30
- testSchemas: () => testSchemas
38
+ range: () => range
31
39
  });
32
40
  module.exports = __toCommonJS(node_exports);
33
- var import_echo = require("@dxos/client/echo");
41
+ var S = __toESM(require("@effect/schema/Schema"));
42
+ var E2 = __toESM(require("@dxos/echo-schema"));
43
+ var import_echo_schema = require("@dxos/echo-schema");
34
44
  var import_random = require("@dxos/random");
35
- var import_echo2 = require("@dxos/client/echo");
45
+ var import_echo_schema2 = require("@dxos/echo-schema");
46
+ var E = __toESM(require("@dxos/echo-schema"));
36
47
  var import_random2 = require("@dxos/random");
37
48
  var range = (fn, length) => Array.from({
38
49
  length
@@ -58,9 +69,7 @@ var TestObjectGenerator = class {
58
69
  const type = import_random2.faker.helpers.arrayElement(types ?? Object.keys(this._schemas));
59
70
  const data = this._generators[type](this._provider);
60
71
  const schema = this.getSchema(type);
61
- return new import_echo2.Expando(data, {
62
- schema
63
- });
72
+ return schema ? E.object(schema, data) : E.object(data);
64
73
  }
65
74
  // TODO(burdon): Create batch.
66
75
  // TODO(burdon): Based on dependencies (e.g., organization before contact).
@@ -79,28 +88,31 @@ var TestObjectGenerator = class {
79
88
  var SpaceObjectGenerator = class extends TestObjectGenerator {
80
89
  constructor(_space, schemaMap, generators) {
81
90
  super(schemaMap, generators, (type) => {
82
- const { objects: objects2 } = this._space.db.query((object) => {
83
- return object.__schema?.id === this.getSchema(type)?.id;
84
- });
85
- return objects2;
91
+ const schema = this.getSchema(type);
92
+ return (schema && this._space.db.query(import_echo_schema2.Filter.schema(schema)).objects) ?? [];
86
93
  });
87
94
  this._space = _space;
88
- const { objects } = this._space.db.query(import_echo2.Schema.filter());
89
- Object.keys(schemaMap).forEach((type) => {
90
- const schema = objects.find((object) => object.typename === type);
91
- if (schema) {
92
- this.setSchema(type, schema);
95
+ const schemas = this._space.db.schemaRegistry.getAll();
96
+ Object.entries(schemaMap).forEach(([type, dynamicSchema]) => {
97
+ let schema = schemas.find((object3) => object3.typename === type);
98
+ if (schema == null) {
99
+ schema = this._space.db.schemaRegistry.add(dynamicSchema.schema);
93
100
  }
101
+ this.setSchema(type, schema);
94
102
  });
95
103
  }
96
104
  addSchemas() {
97
- const { objects } = this._space.db.query(import_echo2.Schema.filter());
105
+ const result = [];
106
+ const dbSchemas = this._space.db.schemaRegistry.getAll();
98
107
  this.schemas.forEach((schema) => {
99
- if (!objects.find((object) => object.typename === schema.typename)) {
100
- this._space.db.add(schema);
108
+ const existing = dbSchemas.find((object3) => object3.typename === schema.typename);
109
+ if (existing == null) {
110
+ result.push(this._space.db.schemaRegistry.add(schema.schema));
111
+ } else {
112
+ result.push(existing);
101
113
  }
102
114
  });
103
- return this.schemas;
115
+ return result;
104
116
  }
105
117
  createObject({ types } = {}) {
106
118
  return this._space.db.add(super.createObject({
@@ -127,108 +139,40 @@ var TestSchemaType;
127
139
  TestSchemaType2["contact"] = "example.com/schema/contact";
128
140
  TestSchemaType2["project"] = "example.com/schema/project";
129
141
  })(TestSchemaType || (TestSchemaType = {}));
142
+ var createDynamicSchema = (typename, fields) => {
143
+ const typeSchema = S.partial(S.struct(fields)).pipe(E2.echoObject(typename, "1.0.0"));
144
+ return new import_echo_schema.DynamicEchoSchema(E2.object(import_echo_schema.StoredEchoSchema, {
145
+ typename,
146
+ version: "1.0.0",
147
+ jsonSchema: (0, import_echo_schema.effectToJsonSchema)(typeSchema)
148
+ }));
149
+ };
130
150
  var testSchemas = () => {
131
- const document = new import_echo.Schema({
132
- typename: "example.com/schema/document",
133
- props: [
134
- {
135
- id: "title",
136
- type: import_echo.Schema.PropType.STRING,
137
- description: "title of the document"
138
- },
139
- {
140
- id: "content",
141
- type: import_echo.Schema.PropType.STRING
142
- }
143
- ]
151
+ const document = createDynamicSchema("example.com/schema/document", {
152
+ title: S.string.pipe(S.description("title of the document")),
153
+ content: S.string
144
154
  });
145
- const organization = new import_echo.Schema({
146
- typename: "example.com/schema/organization",
147
- props: [
148
- {
149
- id: "name",
150
- type: import_echo.Schema.PropType.STRING,
151
- description: "name of the company or organization"
152
- },
153
- {
154
- id: "website",
155
- type: import_echo.Schema.PropType.STRING,
156
- description: "public website URL"
157
- },
158
- {
159
- id: "description",
160
- type: import_echo.Schema.PropType.STRING,
161
- description: "short summary of the company"
162
- }
163
- ]
155
+ const organization = createDynamicSchema("example.com/schema/organization", {
156
+ name: S.string.pipe(S.description("name of the company or organization")),
157
+ website: S.string.pipe(S.description("public website URL")),
158
+ description: S.string.pipe(S.description("short summary of the company"))
164
159
  });
165
- const contact = new import_echo.Schema({
166
- typename: "example.com/schema/contact",
167
- props: [
168
- {
169
- id: "name",
170
- type: import_echo.Schema.PropType.STRING,
171
- description: "name of the person"
172
- },
173
- // TODO(burdon): Support multiple tagged properties.
174
- {
175
- id: "email",
176
- type: import_echo.Schema.PropType.STRING
177
- },
178
- {
179
- id: "org",
180
- type: import_echo.Schema.PropType.REF,
181
- ref: organization
182
- },
183
- // TODO(burdon): Convert to object with nested props.
184
- {
185
- id: "lat",
186
- type: import_echo.Schema.PropType.NUMBER
187
- },
188
- {
189
- id: "lng",
190
- type: import_echo.Schema.PropType.NUMBER
191
- }
192
- ]
160
+ const contact = createDynamicSchema("example.com/schema/contact", {
161
+ name: S.string.pipe(S.description("name of the person")),
162
+ email: S.string,
163
+ org: E2.ref(organization),
164
+ lat: S.number,
165
+ lng: S.number
193
166
  });
194
- const project = new import_echo.Schema({
195
- typename: "example.com/schema/project",
196
- props: [
197
- {
198
- id: "name",
199
- type: import_echo.Schema.PropType.STRING,
200
- description: "name of the project"
201
- },
202
- {
203
- id: "description",
204
- type: import_echo.Schema.PropType.STRING
205
- },
206
- {
207
- id: "website",
208
- type: import_echo.Schema.PropType.STRING
209
- },
210
- {
211
- id: "repo",
212
- type: import_echo.Schema.PropType.STRING
213
- },
214
- {
215
- id: "status",
216
- type: import_echo.Schema.PropType.STRING
217
- },
218
- {
219
- id: "priority",
220
- type: import_echo.Schema.PropType.NUMBER
221
- },
222
- {
223
- id: "active",
224
- type: import_echo.Schema.PropType.BOOLEAN
225
- },
226
- {
227
- id: "org",
228
- type: import_echo.Schema.PropType.REF,
229
- ref: organization
230
- }
231
- ]
167
+ const project = createDynamicSchema("example.com/schema/project", {
168
+ name: S.string.pipe(S.description("name of the project")),
169
+ description: S.string,
170
+ website: S.string,
171
+ repo: S.string,
172
+ status: S.string,
173
+ priority: S.number,
174
+ active: S.boolean,
175
+ org: E2.ref(organization)
232
176
  });
233
177
  return {
234
178
  ["example.com/schema/document"]: document,
@@ -253,7 +197,7 @@ var testObjectGenerators = {
253
197
  website: import_random.faker.datatype.boolean({
254
198
  probability: 0.3
255
199
  }) ? import_random.faker.internet.url() : void 0,
256
- description: new import_echo.TextObject(import_random.faker.lorem.sentences())
200
+ description: import_random.faker.lorem.sentences()
257
201
  }),
258
202
  ["example.com/schema/contact"]: (provider) => {
259
203
  const organizations = provider?.("example.com/schema/organization");
@@ -692,8 +636,6 @@ var locations = [
692
636
  TestSchemaType,
693
637
  createSpaceObjectGenerator,
694
638
  createTestObjectGenerator,
695
- range,
696
- testObjectGenerators,
697
- testSchemas
639
+ range
698
640
  });
699
641
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/data.ts", "../../../src/generator.ts", "../../../src/util.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(burdon): Reconcile with @dxos/plugin-debug, @dxos/aurora/testing.\n// TODO(burdon): Bug when adding stale objects to space (e.g., static objects already added in previous story invocation).\n\nimport { Schema, type Space, TextObject } from '@dxos/client/echo';\nimport { faker } from '@dxos/random';\n\nimport { SpaceObjectGenerator, TestObjectGenerator } from './generator';\nimport { type TestGeneratorMap, type TestSchemaMap } from './types';\n\n// TODO(burdon): Handle restricted values.\nexport const Status = ['pending', 'active', 'done'];\nexport const Priority = [1, 2, 3, 4, 5];\n\nexport enum TestSchemaType {\n document = 'example.com/schema/document',\n organization = 'example.com/schema/organization',\n contact = 'example.com/schema/contact',\n project = 'example.com/schema/project',\n}\n\nexport const testSchemas = (): TestSchemaMap<TestSchemaType> => {\n const document = new Schema({\n typename: TestSchemaType.document,\n props: [\n {\n id: 'title',\n type: Schema.PropType.STRING,\n description: 'title of the document',\n },\n {\n id: 'content',\n type: Schema.PropType.STRING, // TODO(burdon): Rich text.\n },\n ],\n });\n\n const organization = new Schema({\n typename: TestSchemaType.organization,\n props: [\n {\n id: 'name',\n type: Schema.PropType.STRING,\n description: 'name of the company or organization',\n },\n {\n id: 'website',\n type: Schema.PropType.STRING,\n description: 'public website URL',\n },\n {\n id: 'description',\n type: Schema.PropType.STRING,\n description: 'short summary of the company',\n },\n ],\n });\n\n const contact = new Schema({\n typename: TestSchemaType.contact,\n props: [\n {\n id: 'name',\n type: Schema.PropType.STRING,\n description: 'name of the person',\n },\n // TODO(burdon): Support multiple tagged properties.\n {\n id: 'email',\n type: Schema.PropType.STRING,\n },\n {\n id: 'org',\n type: Schema.PropType.REF,\n ref: organization,\n },\n // TODO(burdon): Convert to object with nested props.\n {\n id: 'lat',\n type: Schema.PropType.NUMBER,\n },\n {\n id: 'lng',\n type: Schema.PropType.NUMBER,\n },\n ],\n });\n\n const project = new Schema({\n typename: TestSchemaType.project,\n props: [\n {\n id: 'name',\n type: Schema.PropType.STRING,\n description: 'name of the project',\n },\n {\n id: 'description',\n type: Schema.PropType.STRING, // TODO(burdon): Text.\n },\n {\n id: 'website',\n type: Schema.PropType.STRING,\n },\n {\n id: 'repo',\n type: Schema.PropType.STRING,\n },\n {\n id: 'status',\n type: Schema.PropType.STRING,\n },\n {\n id: 'priority',\n type: Schema.PropType.NUMBER,\n },\n {\n id: 'active',\n type: Schema.PropType.BOOLEAN,\n },\n {\n id: 'org',\n type: Schema.PropType.REF,\n ref: organization,\n },\n ],\n });\n\n return {\n [TestSchemaType.document]: document,\n [TestSchemaType.organization]: organization,\n [TestSchemaType.contact]: contact,\n [TestSchemaType.project]: project,\n };\n};\n\nexport const testObjectGenerators: TestGeneratorMap<TestSchemaType> = {\n [TestSchemaType.document]: () => ({\n title: faker.lorem.sentence(3),\n content: faker.lorem.sentences({ min: 1, max: faker.number.int({ min: 1, max: 3 }) }),\n }),\n\n [TestSchemaType.organization]: () => ({\n name: faker.company.name(),\n website: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n description: new TextObject(faker.lorem.sentences()),\n }),\n\n [TestSchemaType.contact]: (provider) => {\n const organizations = provider?.(TestSchemaType.organization);\n const location = faker.datatype.boolean() ? faker.helpers.arrayElement(locations) : undefined;\n return {\n name: faker.person.fullName(),\n email: faker.datatype.boolean({ probability: 0.5 }) ? faker.internet.email() : undefined,\n org:\n organizations?.length && faker.datatype.boolean({ probability: 0.3 })\n ? faker.helpers.arrayElement(organizations)\n : undefined,\n ...location,\n };\n },\n\n [TestSchemaType.project]: () => ({\n name: faker.commerce.productName(),\n repo: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n status: faker.helpers.arrayElement(Status),\n priority: faker.helpers.arrayElement(Priority),\n active: faker.datatype.boolean(),\n }),\n};\n\nexport const createTestObjectGenerator = () => new TestObjectGenerator(testSchemas(), testObjectGenerators);\n\nexport const createSpaceObjectGenerator = (space: Space) =>\n new SpaceObjectGenerator(space, testSchemas(), testObjectGenerators);\n\n// TODO(burdon): Move to @dxos/random.\nconst locations = [\n { lat: 139.74946157054467, lng: 35.686962764371174 },\n { lat: -73.98196278740681, lng: 40.75192492259464 },\n { lat: -99.1329340602939, lng: 19.444388301415472 },\n { lat: 72.85504343876647, lng: 19.0189362343566 },\n { lat: -46.62696583905523, lng: -23.55673372837896 },\n { lat: 77.22805816860182, lng: 28.671938757181522 },\n { lat: 121.43455881982015, lng: 31.218398311228327 },\n { lat: 88.32272979950551, lng: 22.49691515689642 },\n { lat: 90.40663360810754, lng: 23.725005570312817 },\n { lat: -58.399477232331435, lng: -34.600555749907414 },\n { lat: -118.18192636994041, lng: 33.99192410876543 },\n { lat: 66.98806305137339, lng: 24.87193814681484 },\n { lat: 31.248022361126118, lng: 30.051906205103705 },\n { lat: -43.22696665284366, lng: -22.923077315615956 },\n { lat: 135.4581989565952, lng: 34.75198107491417 },\n { lat: 116.38633982565943, lng: 39.93083808990906 },\n { lat: 120.9802713035424, lng: 14.606104813440538 },\n { lat: 37.6135769672714, lng: 55.75410998124818 },\n { lat: 29.008055727002613, lng: 41.10694201243979 },\n { lat: 2.33138946713035, lng: 48.86863878981461 },\n { lat: 126.99778513820195, lng: 37.56829495838895 },\n { lat: 3.3895852125984334, lng: 6.445207512093191 },\n { lat: 106.82749176247012, lng: -6.172471846798885 },\n { lat: -87.75200083270931, lng: 41.83193651927843 },\n { lat: 113.32306427226172, lng: 23.14692716047989 },\n { lat: -0.11866770247593195, lng: 51.5019405883275 },\n { lat: -77.05200795343472, lng: -12.04606681752557 },\n { lat: 51.42239817500899, lng: 35.673888627001304 },\n { lat: 15.313026023171744, lng: -4.327778243275986 },\n { lat: -74.08528981377441, lng: 4.598369421147822 },\n { lat: 114.1201772298325, lng: 22.554316369677963 },\n { lat: 114.26807118958311, lng: 30.581977209337822 },\n { lat: 114.18306345846304, lng: 22.30692675357551 },\n { lat: 117.19807322410043, lng: 39.13197212310894 },\n { lat: 80.27805287890033, lng: 13.091933670856292 },\n { lat: 121.568333333333, lng: 25.0358333333333 },\n { lat: 77.55806386521755, lng: 12.97194099507442 },\n { lat: 100.51469879369489, lng: 13.751945064087977 },\n { lat: 74.34807892054346, lng: 31.56191739488844 },\n { lat: 106.59303578916195, lng: 29.566922888044644 },\n { lat: 78.47800771287751, lng: 17.401928991511454 },\n { lat: -70.66898671317483, lng: -33.448067956934096 },\n { lat: -80.22605193945003, lng: 25.789556555021534 },\n { lat: -43.916950376804834, lng: -19.91308016391116 },\n { lat: -3.6852975446125242, lng: 40.40197212311381 },\n { lat: -75.17194183200792, lng: 40.001919022526465 },\n { lat: 72.57805776168215, lng: 23.031998775062675 },\n { lat: 106.69308136207889, lng: 10.781971309193409 },\n { lat: -79.42196665298843, lng: 43.70192573640844 },\n { lat: 103.85387481909902, lng: 1.2949793251059418 },\n { lat: 13.23248118266855, lng: -8.836340255012658 },\n { lat: 44.391922914564134, lng: 33.34059435615865 },\n { lat: 2.181424460619155, lng: 41.385245438547486 },\n { lat: 88.32994665421205, lng: 22.580390440861947 },\n { lat: -96.84196278749818, lng: 32.82196968167733 },\n { lat: 123.44802765120869, lng: 41.80692512604918 },\n { lat: 32.532233380011576, lng: 15.590024084277673 },\n { lat: 73.84805776168719, lng: 18.531963374654026 },\n { lat: 151.1832339501475, lng: -33.91806510862875 },\n { lat: 30.314074200315076, lng: 59.94096036375191 },\n { lat: 91.79802154756635, lng: 22.33193814680459 },\n { lat: 113.74277634138707, lng: 23.050834758613007 },\n { lat: -84.40189524187565, lng: 33.83195971260585 },\n { lat: -71.07195953218684, lng: 42.33190600170229 },\n { lat: 46.770795798688255, lng: 24.642779007816443 },\n { lat: -95.341925149146, lng: 29.821920243188856 },\n { lat: 105.8480683412422, lng: 21.035273107737055 },\n { lat: -77.01136443943716, lng: 38.901495235087054 },\n { lat: -103.33198008081848, lng: 20.671961950508944 },\n { lat: 144.97307037590406, lng: -37.81808545369631 },\n { lat: 29.948050030391755, lng: 31.201965205759393 },\n { lat: 104.06807363094873, lng: 30.671945877957796 },\n { lat: -83.0820016464927, lng: 42.33190600170229 },\n { lat: 96.16473175266185, lng: 16.785299963188777 },\n { lat: 108.89305043760862, lng: 34.27697130928732 },\n { lat: -51.20195790450316, lng: -30.048068770722466 },\n { lat: 121.465, lng: 25.0127777777778 },\n { lat: 72.83809356897484, lng: 21.20192960187819 },\n { lat: 109.60911291406296, lng: 23.09653464659317 },\n { lat: -4.041994118507091, lng: 5.321942826098564 },\n { lat: -47.91799814700306, lng: -15.781394372878992 },\n { lat: 32.862445782356644, lng: 39.929184444075474 },\n { lat: -100.33193064232995, lng: 25.671940995125283 },\n { lat: 139.60202098994017, lng: 35.43065615270891 },\n { lat: 118.77802846499208, lng: 32.05196500231233 },\n { lat: -73.58524281670213, lng: 45.50194506421502 },\n { lat: 106.7180927553083, lng: 26.581988806001448 },\n { lat: -34.91755136960728, lng: -8.073699467249241 },\n { lat: 126.64803904445057, lng: 45.75192980542715 },\n { lat: -38.58192718342411, lng: -3.7480720258257634 },\n { lat: -112.07193755969467, lng: 33.5419257363676 },\n { lat: 117.67001623440774, lng: 24.520375385531167 },\n { lat: -38.48193328693924, lng: -12.968026046044827 },\n { lat: 129.00810170722048, lng: 35.09699877511093 },\n { lat: -122.41716877355225, lng: 37.76919562968743 },\n { lat: 28.028063865019476, lng: -26.16809888138414 },\n { lat: 13.399602764700546, lng: 52.523764522251156 },\n { lat: 3.048606670909237, lng: 36.765010656628135 },\n { lat: 125.75274485499392, lng: 39.02138455800434 },\n { lat: 12.481312562873995, lng: 41.89790148509894 },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Expando, type TypedObject, Schema, type Space } from '@dxos/client/echo';\nimport { faker } from '@dxos/random';\n\nimport { type TestSchemaType } from './data';\nimport { type TestGeneratorMap, type TestObjectProvider, type TestSchemaMap } from './types';\nimport { range } from './util';\n\n/**\n * Typed object generator.\n */\nexport class TestObjectGenerator<T extends string = TestSchemaType> {\n // prettier-ignore\n constructor(\n private readonly _schemas: TestSchemaMap<T>,\n private readonly _generators: TestGeneratorMap<T>,\n private readonly _provider?: TestObjectProvider<T>\n ) {}\n\n get schemas(): Schema[] {\n return Object.values(this._schemas);\n }\n\n getSchema(type: T) {\n return this.schemas.find((schema) => schema.typename === type);\n }\n\n protected setSchema(type: T, schema: Schema) {\n this._schemas[type] = schema;\n }\n\n // TODO(burdon): Runtime type check via: https://github.com/Effect-TS/schema (or zod).\n createObject({ types }: { types?: T[] } = {}): TypedObject {\n const type = faker.helpers.arrayElement(types ?? (Object.keys(this._schemas) as T[]));\n const data = this._generators[type](this._provider);\n const schema = this.getSchema(type);\n return new Expando(data, { schema });\n }\n\n // TODO(burdon): Create batch.\n // TODO(burdon): Based on dependencies (e.g., organization before contact).\n createObjects(map: Partial<Record<T, number>>): Expando[] {\n const objects: Expando[] = [];\n Object.entries<number>(map as any).forEach(([type, count]) => {\n range(() => objects.push(this.createObject({ types: [type as T] })), count);\n });\n\n return objects;\n }\n}\n\n/**\n * Typed object generator for a space.\n */\nexport class SpaceObjectGenerator<T extends string> extends TestObjectGenerator<T> {\n constructor(\n private readonly _space: Space,\n schemaMap: TestSchemaMap<T>,\n generators: TestGeneratorMap<T>,\n ) {\n super(schemaMap, generators, (type: T) => {\n const { objects } = this._space.db.query((object: TypedObject) => {\n return object.__schema?.id === this.getSchema(type)?.id;\n });\n\n return objects;\n });\n\n // TODO(burdon): Map initially are objects that have not been added to the space.\n // Merge existing schema in space with defaults.\n const { objects } = this._space.db.query(Schema.filter());\n Object.keys(schemaMap).forEach((type) => {\n const schema = objects.find((object) => object.typename === type);\n if (schema) {\n this.setSchema(type as T, schema);\n }\n });\n }\n\n addSchemas() {\n const { objects } = this._space.db.query(Schema.filter());\n this.schemas.forEach((schema) => {\n if (!objects.find((object) => object.typename === schema.typename)) {\n this._space.db.add(schema);\n }\n });\n\n return this.schemas;\n }\n\n override createObject({ types }: { types?: T[] } = {}): Expando {\n return this._space.db.add(super.createObject({ types }));\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(burdon): Util.\nexport const range = <T>(fn: (i: number) => T | undefined, length: number): T[] =>\n Array.from({ length })\n .map((_, i) => fn(i))\n .filter(Boolean) as T[];\n"],
5
- "mappings": "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",
6
- "names": ["import_echo", "import_random", "range", "fn", "length", "Array", "from", "map", "_", "i", "filter", "Boolean", "TestObjectGenerator", "constructor", "_schemas", "_generators", "_provider", "schemas", "Object", "values", "getSchema", "type", "find", "schema", "typename", "setSchema", "createObject", "types", "faker", "helpers", "arrayElement", "keys", "data", "Expando", "createObjects", "objects", "entries", "forEach", "count", "push", "SpaceObjectGenerator", "_space", "schemaMap", "generators", "db", "query", "object", "__schema", "id", "Schema", "addSchemas", "add", "Status", "Priority", "TestSchemaType", "testSchemas", "document", "props", "PropType", "STRING", "description", "organization", "contact", "REF", "ref", "NUMBER", "project", "BOOLEAN", "testObjectGenerators", "title", "lorem", "sentence", "content", "sentences", "min", "max", "number", "int", "name", "company", "website", "datatype", "boolean", "probability", "internet", "url", "undefined", "TextObject", "provider", "organizations", "location", "locations", "person", "fullName", "email", "org", "commerce", "productName", "repo", "status", "priority", "active", "createTestObjectGenerator", "createSpaceObjectGenerator", "space", "lat", "lng"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(burdon): Reconcile with @dxos/plugin-debug, @dxos/aurora/testing.\n// TODO(burdon): Bug when adding stale objects to space (e.g., static objects already added in previous story invocation).\n\nimport * as S from '@effect/schema/Schema';\n\nimport { type Space } from '@dxos/client/echo';\nimport * as E from '@dxos/echo-schema';\nimport { DynamicEchoSchema, effectToJsonSchema, StoredEchoSchema } from '@dxos/echo-schema';\nimport { faker } from '@dxos/random';\n\nimport { SpaceObjectGenerator, TestObjectGenerator } from './generator';\nimport { type TestGeneratorMap, type TestSchemaMap } from './types';\n\n// TODO(burdon): Handle restricted values.\nexport const Status = ['pending', 'active', 'done'];\nexport const Priority = [1, 2, 3, 4, 5];\n\nexport enum TestSchemaType {\n document = 'example.com/schema/document',\n organization = 'example.com/schema/organization',\n contact = 'example.com/schema/contact',\n project = 'example.com/schema/project',\n}\n\nconst createDynamicSchema = (typename: string, fields: S.Struct.Fields): DynamicEchoSchema => {\n const typeSchema = S.partial(S.struct(fields)).pipe(E.echoObject(typename, '1.0.0'));\n return new DynamicEchoSchema(\n E.object(StoredEchoSchema, {\n typename,\n version: '1.0.0',\n jsonSchema: effectToJsonSchema(typeSchema),\n }),\n );\n};\n\nconst testSchemas = (): TestSchemaMap<TestSchemaType> => {\n const document = createDynamicSchema(TestSchemaType.document, {\n title: S.string.pipe(S.description('title of the document')),\n content: S.string,\n });\n\n const organization = createDynamicSchema(TestSchemaType.organization, {\n name: S.string.pipe(S.description('name of the company or organization')),\n website: S.string.pipe(S.description('public website URL')),\n description: S.string.pipe(S.description('short summary of the company')),\n });\n\n const contact = createDynamicSchema(TestSchemaType.contact, {\n name: S.string.pipe(S.description('name of the person')),\n email: S.string,\n org: E.ref(organization),\n lat: S.number,\n lng: S.number,\n });\n\n const project = createDynamicSchema(TestSchemaType.project, {\n name: S.string.pipe(S.description('name of the project')),\n description: S.string,\n website: S.string,\n repo: S.string,\n status: S.string,\n priority: S.number,\n active: S.boolean,\n org: E.ref(organization),\n });\n\n return {\n [TestSchemaType.document]: document,\n [TestSchemaType.organization]: organization,\n [TestSchemaType.contact]: contact,\n [TestSchemaType.project]: project,\n };\n};\n\nconst testObjectGenerators: TestGeneratorMap<TestSchemaType> = {\n [TestSchemaType.document]: () => ({\n title: faker.lorem.sentence(3),\n content: faker.lorem.sentences({ min: 1, max: faker.number.int({ min: 1, max: 3 }) }),\n }),\n\n [TestSchemaType.organization]: () => ({\n name: faker.company.name(),\n website: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n description: faker.lorem.sentences(),\n }),\n\n [TestSchemaType.contact]: (provider) => {\n const organizations = provider?.(TestSchemaType.organization);\n const location = faker.datatype.boolean() ? faker.helpers.arrayElement(locations) : undefined;\n return {\n name: faker.person.fullName(),\n email: faker.datatype.boolean({ probability: 0.5 }) ? faker.internet.email() : undefined,\n org:\n organizations?.length && faker.datatype.boolean({ probability: 0.3 })\n ? faker.helpers.arrayElement(organizations)\n : undefined,\n ...location,\n };\n },\n\n [TestSchemaType.project]: () => ({\n name: faker.commerce.productName(),\n repo: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n status: faker.helpers.arrayElement(Status),\n priority: faker.helpers.arrayElement(Priority),\n active: faker.datatype.boolean(),\n }),\n};\n\nexport const createTestObjectGenerator = () => new TestObjectGenerator(testSchemas(), testObjectGenerators);\n\nexport const createSpaceObjectGenerator = (space: Space) =>\n new SpaceObjectGenerator(space, testSchemas(), testObjectGenerators);\n\n// TODO(burdon): Move to @dxos/random.\nconst locations = [\n { lat: 139.74946157054467, lng: 35.686962764371174 },\n { lat: -73.98196278740681, lng: 40.75192492259464 },\n { lat: -99.1329340602939, lng: 19.444388301415472 },\n { lat: 72.85504343876647, lng: 19.0189362343566 },\n { lat: -46.62696583905523, lng: -23.55673372837896 },\n { lat: 77.22805816860182, lng: 28.671938757181522 },\n { lat: 121.43455881982015, lng: 31.218398311228327 },\n { lat: 88.32272979950551, lng: 22.49691515689642 },\n { lat: 90.40663360810754, lng: 23.725005570312817 },\n { lat: -58.399477232331435, lng: -34.600555749907414 },\n { lat: -118.18192636994041, lng: 33.99192410876543 },\n { lat: 66.98806305137339, lng: 24.87193814681484 },\n { lat: 31.248022361126118, lng: 30.051906205103705 },\n { lat: -43.22696665284366, lng: -22.923077315615956 },\n { lat: 135.4581989565952, lng: 34.75198107491417 },\n { lat: 116.38633982565943, lng: 39.93083808990906 },\n { lat: 120.9802713035424, lng: 14.606104813440538 },\n { lat: 37.6135769672714, lng: 55.75410998124818 },\n { lat: 29.008055727002613, lng: 41.10694201243979 },\n { lat: 2.33138946713035, lng: 48.86863878981461 },\n { lat: 126.99778513820195, lng: 37.56829495838895 },\n { lat: 3.3895852125984334, lng: 6.445207512093191 },\n { lat: 106.82749176247012, lng: -6.172471846798885 },\n { lat: -87.75200083270931, lng: 41.83193651927843 },\n { lat: 113.32306427226172, lng: 23.14692716047989 },\n { lat: -0.11866770247593195, lng: 51.5019405883275 },\n { lat: -77.05200795343472, lng: -12.04606681752557 },\n { lat: 51.42239817500899, lng: 35.673888627001304 },\n { lat: 15.313026023171744, lng: -4.327778243275986 },\n { lat: -74.08528981377441, lng: 4.598369421147822 },\n { lat: 114.1201772298325, lng: 22.554316369677963 },\n { lat: 114.26807118958311, lng: 30.581977209337822 },\n { lat: 114.18306345846304, lng: 22.30692675357551 },\n { lat: 117.19807322410043, lng: 39.13197212310894 },\n { lat: 80.27805287890033, lng: 13.091933670856292 },\n { lat: 121.568333333333, lng: 25.0358333333333 },\n { lat: 77.55806386521755, lng: 12.97194099507442 },\n { lat: 100.51469879369489, lng: 13.751945064087977 },\n { lat: 74.34807892054346, lng: 31.56191739488844 },\n { lat: 106.59303578916195, lng: 29.566922888044644 },\n { lat: 78.47800771287751, lng: 17.401928991511454 },\n { lat: -70.66898671317483, lng: -33.448067956934096 },\n { lat: -80.22605193945003, lng: 25.789556555021534 },\n { lat: -43.916950376804834, lng: -19.91308016391116 },\n { lat: -3.6852975446125242, lng: 40.40197212311381 },\n { lat: -75.17194183200792, lng: 40.001919022526465 },\n { lat: 72.57805776168215, lng: 23.031998775062675 },\n { lat: 106.69308136207889, lng: 10.781971309193409 },\n { lat: -79.42196665298843, lng: 43.70192573640844 },\n { lat: 103.85387481909902, lng: 1.2949793251059418 },\n { lat: 13.23248118266855, lng: -8.836340255012658 },\n { lat: 44.391922914564134, lng: 33.34059435615865 },\n { lat: 2.181424460619155, lng: 41.385245438547486 },\n { lat: 88.32994665421205, lng: 22.580390440861947 },\n { lat: -96.84196278749818, lng: 32.82196968167733 },\n { lat: 123.44802765120869, lng: 41.80692512604918 },\n { lat: 32.532233380011576, lng: 15.590024084277673 },\n { lat: 73.84805776168719, lng: 18.531963374654026 },\n { lat: 151.1832339501475, lng: -33.91806510862875 },\n { lat: 30.314074200315076, lng: 59.94096036375191 },\n { lat: 91.79802154756635, lng: 22.33193814680459 },\n { lat: 113.74277634138707, lng: 23.050834758613007 },\n { lat: -84.40189524187565, lng: 33.83195971260585 },\n { lat: -71.07195953218684, lng: 42.33190600170229 },\n { lat: 46.770795798688255, lng: 24.642779007816443 },\n { lat: -95.341925149146, lng: 29.821920243188856 },\n { lat: 105.8480683412422, lng: 21.035273107737055 },\n { lat: -77.01136443943716, lng: 38.901495235087054 },\n { lat: -103.33198008081848, lng: 20.671961950508944 },\n { lat: 144.97307037590406, lng: -37.81808545369631 },\n { lat: 29.948050030391755, lng: 31.201965205759393 },\n { lat: 104.06807363094873, lng: 30.671945877957796 },\n { lat: -83.0820016464927, lng: 42.33190600170229 },\n { lat: 96.16473175266185, lng: 16.785299963188777 },\n { lat: 108.89305043760862, lng: 34.27697130928732 },\n { lat: -51.20195790450316, lng: -30.048068770722466 },\n { lat: 121.465, lng: 25.0127777777778 },\n { lat: 72.83809356897484, lng: 21.20192960187819 },\n { lat: 109.60911291406296, lng: 23.09653464659317 },\n { lat: -4.041994118507091, lng: 5.321942826098564 },\n { lat: -47.91799814700306, lng: -15.781394372878992 },\n { lat: 32.862445782356644, lng: 39.929184444075474 },\n { lat: -100.33193064232995, lng: 25.671940995125283 },\n { lat: 139.60202098994017, lng: 35.43065615270891 },\n { lat: 118.77802846499208, lng: 32.05196500231233 },\n { lat: -73.58524281670213, lng: 45.50194506421502 },\n { lat: 106.7180927553083, lng: 26.581988806001448 },\n { lat: -34.91755136960728, lng: -8.073699467249241 },\n { lat: 126.64803904445057, lng: 45.75192980542715 },\n { lat: -38.58192718342411, lng: -3.7480720258257634 },\n { lat: -112.07193755969467, lng: 33.5419257363676 },\n { lat: 117.67001623440774, lng: 24.520375385531167 },\n { lat: -38.48193328693924, lng: -12.968026046044827 },\n { lat: 129.00810170722048, lng: 35.09699877511093 },\n { lat: -122.41716877355225, lng: 37.76919562968743 },\n { lat: 28.028063865019476, lng: -26.16809888138414 },\n { lat: 13.399602764700546, lng: 52.523764522251156 },\n { lat: 3.048606670909237, lng: 36.765010656628135 },\n { lat: 125.75274485499392, lng: 39.02138455800434 },\n { lat: 12.481312562873995, lng: 41.89790148509894 },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Space } from '@dxos/client/echo';\nimport { type DynamicEchoSchema, Filter, type ReactiveObject } from '@dxos/echo-schema';\nimport * as E from '@dxos/echo-schema';\nimport { faker } from '@dxos/random';\n\nimport { type TestSchemaType } from './data';\nimport { type TestGeneratorMap, type TestObjectProvider, type TestSchemaMap } from './types';\nimport { range } from './util';\n\n/**\n * Typed object generator.\n */\nexport class TestObjectGenerator<T extends string = TestSchemaType> {\n // prettier-ignore\n constructor(\n private readonly _schemas: TestSchemaMap<T>,\n private readonly _generators: TestGeneratorMap<T>,\n private readonly _provider?: TestObjectProvider<T>\n ) {}\n\n get schemas(): DynamicEchoSchema[] {\n return Object.values(this._schemas);\n }\n\n getSchema(type: T): DynamicEchoSchema | undefined {\n return this.schemas.find((schema) => schema.typename === type);\n }\n\n protected setSchema(type: T, schema: DynamicEchoSchema) {\n this._schemas[type] = schema;\n }\n\n // TODO(burdon): Runtime type check via: https://github.com/Effect-TS/schema (or zod).\n createObject({ types }: { types?: T[] } = {}): ReactiveObject<any> {\n const type = faker.helpers.arrayElement(types ?? (Object.keys(this._schemas) as T[]));\n const data = this._generators[type](this._provider);\n const schema = this.getSchema(type);\n return schema ? E.object(schema, data) : E.object(data);\n }\n\n // TODO(burdon): Create batch.\n // TODO(burdon): Based on dependencies (e.g., organization before contact).\n createObjects(map: Partial<Record<T, number>>): ReactiveObject<any>[] {\n const objects: ReactiveObject<any>[] = [];\n Object.entries<number>(map as any).forEach(([type, count]) => {\n range(() => objects.push(this.createObject({ types: [type as T] })), count);\n });\n\n return objects;\n }\n}\n\n/**\n * Typed object generator for a space.\n */\nexport class SpaceObjectGenerator<T extends string> extends TestObjectGenerator<T> {\n constructor(\n private readonly _space: Space,\n schemaMap: TestSchemaMap<T>,\n generators: TestGeneratorMap<T>,\n ) {\n super(schemaMap, generators, (type: T) => {\n const schema = this.getSchema(type);\n return (schema && this._space.db.query(Filter.schema(schema)).objects) ?? [];\n });\n\n // TODO(burdon): Map initially are objects that have not been added to the space.\n // Merge existing schema in space with defaults.\n const schemas = this._space.db.schemaRegistry.getAll();\n Object.entries<DynamicEchoSchema>(schemaMap).forEach(([type, dynamicSchema]) => {\n let schema = schemas.find((object) => object.typename === type);\n if (schema == null) {\n schema = this._space.db.schemaRegistry.add(dynamicSchema.schema);\n }\n this.setSchema(type as T, schema);\n });\n }\n\n addSchemas() {\n const result: DynamicEchoSchema[] = [];\n const dbSchemas = this._space.db.schemaRegistry.getAll();\n this.schemas.forEach((schema) => {\n const existing = dbSchemas.find((object) => object.typename === schema.typename);\n if (existing == null) {\n result.push(this._space.db.schemaRegistry.add(schema.schema));\n } else {\n result.push(existing);\n }\n });\n\n return result;\n }\n\n override createObject({ types }: { types?: T[] } = {}): ReactiveObject<any> {\n return this._space.db.add(super.createObject({ types }));\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(burdon): Util.\nexport const range = <T>(fn: (i: number) => T | undefined, length: number): T[] =>\n Array.from({ length })\n .map((_, i) => fn(i))\n .filter(Boolean) as T[];\n"],
5
+ "mappings": "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",
6
+ "names": ["import_echo_schema", "import_random", "range", "fn", "length", "Array", "from", "map", "_", "i", "filter", "Boolean", "TestObjectGenerator", "constructor", "_schemas", "_generators", "_provider", "schemas", "Object", "values", "getSchema", "type", "find", "schema", "typename", "setSchema", "createObject", "types", "faker", "helpers", "arrayElement", "keys", "data", "object", "createObjects", "objects", "entries", "forEach", "count", "push", "SpaceObjectGenerator", "_space", "schemaMap", "generators", "db", "query", "Filter", "schemaRegistry", "getAll", "dynamicSchema", "add", "addSchemas", "result", "dbSchemas", "existing", "Status", "Priority", "TestSchemaType", "createDynamicSchema", "fields", "typeSchema", "partial", "struct", "pipe", "echoObject", "DynamicEchoSchema", "StoredEchoSchema", "version", "jsonSchema", "effectToJsonSchema", "testSchemas", "document", "title", "string", "description", "content", "organization", "name", "website", "contact", "email", "org", "ref", "lat", "number", "lng", "project", "repo", "status", "priority", "active", "boolean", "testObjectGenerators", "lorem", "sentence", "sentences", "min", "max", "int", "company", "datatype", "probability", "internet", "url", "undefined", "provider", "organizations", "location", "locations", "person", "fullName", "commerce", "productName", "createTestObjectGenerator", "createSpaceObjectGenerator", "space"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/core/echo/echo-generator/src/util.ts":{"bytes":1057,"imports":[],"format":"esm"},"packages/core/echo/echo-generator/src/generator.ts":{"bytes":10697,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/core/echo/echo-generator/src/data.ts":{"bytes":38614,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"}],"format":"esm"},"packages/core/echo/echo-generator/src/types.ts":{"bytes":937,"imports":[],"format":"esm"},"packages/core/echo/echo-generator/src/index.ts":{"bytes":715,"imports":[{"path":"packages/core/echo/echo-generator/src/data.ts","kind":"import-statement","original":"./data"},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"},{"path":"packages/core/echo/echo-generator/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/core/echo/echo-generator/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23745},"packages/core/echo/echo-generator/dist/lib/node/index.cjs":{"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true}],"exports":["Priority","SpaceObjectGenerator","Status","TestObjectGenerator","TestSchemaType","createSpaceObjectGenerator","createTestObjectGenerator","range","testObjectGenerators","testSchemas"],"entryPoint":"packages/core/echo/echo-generator/src/index.ts","inputs":{"packages/core/echo/echo-generator/src/data.ts":{"bytesInOutput":11188},"packages/core/echo/echo-generator/src/generator.ts":{"bytesInOutput":2242},"packages/core/echo/echo-generator/src/util.ts":{"bytesInOutput":91},"packages/core/echo/echo-generator/src/index.ts":{"bytesInOutput":0}},"bytes":14020}}}
1
+ {"inputs":{"packages/core/echo/echo-generator/src/util.ts":{"bytes":1057,"imports":[],"format":"esm"},"packages/core/echo/echo-generator/src/generator.ts":{"bytes":11864,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/core/echo/echo-generator/src/data.ts":{"bytes":35783,"imports":[{"path":"@effect/schema/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"}],"format":"esm"},"packages/core/echo/echo-generator/src/types.ts":{"bytes":993,"imports":[],"format":"esm"},"packages/core/echo/echo-generator/src/index.ts":{"bytes":715,"imports":[{"path":"packages/core/echo/echo-generator/src/data.ts","kind":"import-statement","original":"./data"},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"},{"path":"packages/core/echo/echo-generator/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/core/echo/echo-generator/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23311},"packages/core/echo/echo-generator/dist/lib/node/index.cjs":{"imports":[{"path":"@effect/schema/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true}],"exports":["Priority","SpaceObjectGenerator","Status","TestObjectGenerator","TestSchemaType","createSpaceObjectGenerator","createTestObjectGenerator","range"],"entryPoint":"packages/core/echo/echo-generator/src/index.ts","inputs":{"packages/core/echo/echo-generator/src/data.ts":{"bytesInOutput":10337},"packages/core/echo/echo-generator/src/generator.ts":{"bytesInOutput":2478},"packages/core/echo/echo-generator/src/util.ts":{"bytesInOutput":91},"packages/core/echo/echo-generator/src/index.ts":{"bytesInOutput":0}},"bytes":13366}}}
@@ -1,6 +1,5 @@
1
1
  import { type Space } from '@dxos/client/echo';
2
2
  import { SpaceObjectGenerator, TestObjectGenerator } from './generator';
3
- import { type TestGeneratorMap, type TestSchemaMap } from './types';
4
3
  export declare const Status: string[];
5
4
  export declare const Priority: number[];
6
5
  export declare enum TestSchemaType {
@@ -9,8 +8,6 @@ export declare enum TestSchemaType {
9
8
  contact = "example.com/schema/contact",
10
9
  project = "example.com/schema/project"
11
10
  }
12
- export declare const testSchemas: () => TestSchemaMap<TestSchemaType>;
13
- export declare const testObjectGenerators: TestGeneratorMap<TestSchemaType>;
14
11
  export declare const createTestObjectGenerator: () => TestObjectGenerator<TestSchemaType>;
15
12
  export declare const createSpaceObjectGenerator: (space: Space) => SpaceObjectGenerator<TestSchemaType>;
16
13
  //# sourceMappingURL=data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/data.ts"],"names":[],"mappings":"AAOA,OAAO,EAAU,KAAK,KAAK,EAAc,MAAM,mBAAmB,CAAC;AAGnE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAGpE,eAAO,MAAM,MAAM,UAAgC,CAAC;AACpD,eAAO,MAAM,QAAQ,UAAkB,CAAC;AAExC,oBAAY,cAAc;IACxB,QAAQ,gCAAgC;IACxC,YAAY,oCAAoC;IAChD,OAAO,+BAA+B;IACtC,OAAO,+BAA+B;CACvC;AAED,eAAO,MAAM,WAAW,QAAO,cAAc,cAAc,CAiH1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,CAAC,cAAc,CAiCjE,CAAC;AAEF,eAAO,MAAM,yBAAyB,2CAAqE,CAAC;AAE5G,eAAO,MAAM,0BAA0B,UAAW,KAAK,yCACe,CAAC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/data.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK/C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIxE,eAAO,MAAM,MAAM,UAAgC,CAAC;AACpD,eAAO,MAAM,QAAQ,UAAkB,CAAC;AAExC,oBAAY,cAAc;IACxB,QAAQ,gCAAgC;IACxC,YAAY,oCAAoC;IAChD,OAAO,+BAA+B;IACtC,OAAO,+BAA+B;CACvC;AAuFD,eAAO,MAAM,yBAAyB,2CAAqE,CAAC;AAE5G,eAAO,MAAM,0BAA0B,UAAW,KAAK,yCACe,CAAC"}
@@ -1,4 +1,5 @@
1
- import { Expando, type TypedObject, Schema, type Space } from '@dxos/client/echo';
1
+ import { type Space } from '@dxos/client/echo';
2
+ import { type DynamicEchoSchema, type ReactiveObject } from '@dxos/echo-schema';
2
3
  import { type TestSchemaType } from './data';
3
4
  import { type TestGeneratorMap, type TestObjectProvider, type TestSchemaMap } from './types';
4
5
  /**
@@ -9,13 +10,13 @@ export declare class TestObjectGenerator<T extends string = TestSchemaType> {
9
10
  private readonly _generators;
10
11
  private readonly _provider?;
11
12
  constructor(_schemas: TestSchemaMap<T>, _generators: TestGeneratorMap<T>, _provider?: TestObjectProvider<T> | undefined);
12
- get schemas(): Schema[];
13
- getSchema(type: T): Schema | undefined;
14
- protected setSchema(type: T, schema: Schema): void;
13
+ get schemas(): DynamicEchoSchema[];
14
+ getSchema(type: T): DynamicEchoSchema | undefined;
15
+ protected setSchema(type: T, schema: DynamicEchoSchema): void;
15
16
  createObject({ types }?: {
16
17
  types?: T[];
17
- }): TypedObject;
18
- createObjects(map: Partial<Record<T, number>>): Expando[];
18
+ }): ReactiveObject<any>;
19
+ createObjects(map: Partial<Record<T, number>>): ReactiveObject<any>[];
19
20
  }
20
21
  /**
21
22
  * Typed object generator for a space.
@@ -23,9 +24,9 @@ export declare class TestObjectGenerator<T extends string = TestSchemaType> {
23
24
  export declare class SpaceObjectGenerator<T extends string> extends TestObjectGenerator<T> {
24
25
  private readonly _space;
25
26
  constructor(_space: Space, schemaMap: TestSchemaMap<T>, generators: TestGeneratorMap<T>);
26
- addSchemas(): Schema[];
27
+ addSchemas(): DynamicEchoSchema[];
27
28
  createObject({ types }?: {
28
29
  types?: T[];
29
- }): Expando;
30
+ }): ReactiveObject<any>;
30
31
  }
31
32
  //# sourceMappingURL=generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGlF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7F;;GAEG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc;IAG9D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAFV,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAChC,SAAS,CAAC,mCAAuB;IAGpD,IAAI,OAAO,IAAI,MAAM,EAAE,CAEtB;IAED,SAAS,CAAC,IAAI,EAAE,CAAC;IAIjB,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM;IAK3C,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,WAAW;IAS1D,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE;CAQ1D;AAED;;GAEG;AACH,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAE9E,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK,EAC9B,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAqBjC,UAAU;IAWD,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,OAAO;CAGhE"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,iBAAiB,EAAU,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7F;;GAEG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc;IAG9D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAFV,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAChC,SAAS,CAAC,mCAAuB;IAGpD,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAEjC;IAED,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,iBAAiB,GAAG,SAAS;IAIjD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB;IAKtD,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,cAAc,CAAC,GAAG,CAAC;IASlE,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE;CAQtE;AAED;;GAEG;AACH,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAE9E,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK,EAC9B,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAmBjC,UAAU;IAeD,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,cAAc,CAAC,GAAG,CAAC;CAG5E"}
@@ -1,8 +1,8 @@
1
- import { type Schema, type Expando } from '@dxos/client/echo';
1
+ import { type DynamicEchoSchema, type ReactiveObject } from '@dxos/echo-schema';
2
2
  export type TestObject = {
3
3
  id: string;
4
4
  } & Record<string, any>;
5
- export type TestSchemaMap<T extends string> = Record<T, Schema>;
5
+ export type TestSchemaMap<T extends string> = Record<T, DynamicEchoSchema>;
6
6
  export type TestGeneratorMap<T extends string> = Record<T, (provider: TestObjectProvider<T> | undefined) => any>;
7
- export type TestObjectProvider<T extends string> = (type: T) => Expando[];
7
+ export type TestObjectProvider<T extends string> = (type: T) => ReactiveObject<any>[];
8
8
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE9D,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAEhE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC;AAEjH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEhF,MAAM,MAAM,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE9D,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAE3E,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC;AAEjH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/echo-generator",
3
- "version": "0.4.10-main.b39148d",
3
+ "version": "0.4.10-main.c32f430",
4
4
  "description": "ECHO data generator for testing.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -16,9 +16,12 @@
16
16
  "src"
17
17
  ],
18
18
  "dependencies": {
19
- "@dxos/node-std": "0.4.10-main.b39148d",
20
- "@dxos/client": "0.4.10-main.b39148d",
21
- "@dxos/random": "0.4.10-main.b39148d"
19
+ "@effect/schema": "0.64.7",
20
+ "effect": "2.4.9",
21
+ "@dxos/echo-schema": "0.4.10-main.c32f430",
22
+ "@dxos/client": "0.4.10-main.c32f430",
23
+ "@dxos/node-std": "0.4.10-main.c32f430",
24
+ "@dxos/random": "0.4.10-main.c32f430"
22
25
  },
23
26
  "devDependencies": {},
24
27
  "publishConfig": {