@dxos/echo-generator 0.4.10-main.d4e372f → 0.4.10-main.d51f2c2

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.
@@ -8,14 +8,12 @@ import {
8
8
  } from "@dxos/node-std/inject-globals";
9
9
 
10
10
  // packages/core/echo/echo-generator/src/data.ts
11
- import * as S from "@effect/schema/Schema";
12
- import * as E2 from "@dxos/echo-schema";
13
- import { DynamicEchoSchema, effectToJsonSchema, StoredEchoSchema } from "@dxos/echo-schema";
11
+ import { S, DynamicEchoSchema, effectToJsonSchema, StoredEchoSchema, create as create2, ref, echoObject } from "@dxos/echo-schema";
14
12
  import { faker as faker2 } from "@dxos/random";
15
13
 
16
14
  // packages/core/echo/echo-generator/src/generator.ts
17
15
  import { Filter } from "@dxos/echo-schema";
18
- import * as E from "@dxos/echo-schema";
16
+ import { create } from "@dxos/echo-schema";
19
17
  import { faker } from "@dxos/random";
20
18
 
21
19
  // packages/core/echo/echo-generator/src/util.ts
@@ -45,7 +43,7 @@ var TestObjectGenerator = class {
45
43
  const type = faker.helpers.arrayElement(types ?? Object.keys(this._schemas));
46
44
  const data = this._generators[type](this._provider);
47
45
  const schema = this.getSchema(type);
48
- return schema ? E.object(schema, data) : E.object(data);
46
+ return schema ? create(schema, data) : create(data);
49
47
  }
50
48
  // TODO(burdon): Create batch.
51
49
  // TODO(burdon): Based on dependencies (e.g., organization before contact).
@@ -70,7 +68,7 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
70
68
  this._space = _space;
71
69
  const schemas = this._space.db.schemaRegistry.getAll();
72
70
  Object.entries(schemaMap).forEach(([type, dynamicSchema]) => {
73
- let schema = schemas.find((object3) => object3.typename === type);
71
+ let schema = schemas.find((object) => object.typename === type);
74
72
  if (schema == null) {
75
73
  schema = this._space.db.schemaRegistry.add(dynamicSchema.schema);
76
74
  }
@@ -81,7 +79,7 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
81
79
  const result = [];
82
80
  const dbSchemas = this._space.db.schemaRegistry.getAll();
83
81
  this.schemas.forEach((schema) => {
84
- const existing = dbSchemas.find((object3) => object3.typename === schema.typename);
82
+ const existing = dbSchemas.find((object) => object.typename === schema.typename);
85
83
  if (existing == null) {
86
84
  result.push(this._space.db.schemaRegistry.add(schema.schema));
87
85
  } else {
@@ -118,8 +116,8 @@ var TestSchemaType;
118
116
  TestSchemaType2["project"] = "example.com/schema/project";
119
117
  })(TestSchemaType || (TestSchemaType = {}));
120
118
  var createDynamicSchema = (typename, fields) => {
121
- const typeSchema = S.partial(S.struct(fields)).pipe(E2.echoObject(typename, "1.0.0"));
122
- return new DynamicEchoSchema(E2.object(StoredEchoSchema, {
119
+ const typeSchema = S.partial(S.struct(fields)).pipe(echoObject(typename, "1.0.0"));
120
+ return new DynamicEchoSchema(create2(StoredEchoSchema, {
123
121
  typename,
124
122
  version: "1.0.0",
125
123
  jsonSchema: effectToJsonSchema(typeSchema)
@@ -138,7 +136,7 @@ var testSchemas = () => {
138
136
  const contact = createDynamicSchema("example.com/schema/contact", {
139
137
  name: S.string.pipe(S.description("name of the person")),
140
138
  email: S.string,
141
- org: E2.ref(organization),
139
+ org: ref(organization),
142
140
  lat: S.number,
143
141
  lng: S.number
144
142
  });
@@ -150,7 +148,7 @@ var testSchemas = () => {
150
148
  status: S.string,
151
149
  priority: S.number,
152
150
  active: S.boolean,
153
- org: E2.ref(organization)
151
+ org: ref(organization)
154
152
  });
155
153
  return {
156
154
  ["example.com/schema/document"]: document,
@@ -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 * 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": ["S", "E", "DynamicEchoSchema", "effectToJsonSchema", "StoredEchoSchema", "faker", "Filter", "E", "faker", "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", "map", "objects", "entries", "forEach", "count", "range", "push", "SpaceObjectGenerator", "_space", "schemaMap", "generators", "db", "query", "Filter", "schemaRegistry", "getAll", "dynamicSchema", "add", "addSchemas", "result", "dbSchemas", "existing", "Status", "Priority", "TestSchemaType", "createDynamicSchema", "typename", "fields", "typeSchema", "partial", "struct", "pipe", "echoObject", "DynamicEchoSchema", "object", "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", "faker", "lorem", "sentence", "sentences", "min", "max", "int", "company", "datatype", "probability", "internet", "url", "undefined", "provider", "organizations", "location", "helpers", "arrayElement", "locations", "person", "fullName", "length", "commerce", "productName", "createTestObjectGenerator", "TestObjectGenerator", "createSpaceObjectGenerator", "space", "SpaceObjectGenerator"]
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 { type Space } from '@dxos/client/echo';\nimport { S, DynamicEchoSchema, effectToJsonSchema, StoredEchoSchema, create, ref, echoObject } 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(echoObject(typename, '1.0.0'));\n return new DynamicEchoSchema(\n create(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: 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: 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 { create } 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 ? create(schema, data) : create(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": ";;;;;;;;;;AAQA,SAASA,GAAGC,mBAAmBC,oBAAoBC,kBAAkBC,UAAAA,SAAQC,KAAKC,kBAAkB;AACpG,SAASC,SAAAA,cAAa;;;ACJtB,SAAiCC,cAAmC;AACpE,SAASC,cAAc;AACvB,SAASC,aAAa;;;ACFf,IAAMC,QAAQ,CAAIC,IAAkCC,WACzDC,MAAMC,KAAK;EAAEF;AAAO,CAAA,EACjBG,IAAI,CAACC,GAAGC,MAAMN,GAAGM,CAAAA,CAAAA,EACjBC,OAAOC,OAAAA;;;ADQL,IAAMC,sBAAN,MAAMA;;EAEXC,YACmBC,UACAC,aACAC,WACjB;SAHiBF,WAAAA;SACAC,cAAAA;SACAC,YAAAA;EAChB;EAEH,IAAIC,UAA+B;AACjC,WAAOC,OAAOC,OAAO,KAAKL,QAAQ;EACpC;EAEAM,UAAUC,MAAwC;AAChD,WAAO,KAAKJ,QAAQK,KAAK,CAACC,WAAWA,OAAOC,aAAaH,IAAAA;EAC3D;EAEUI,UAAUJ,MAASE,QAA2B;AACtD,SAAKT,SAASO,IAAAA,IAAQE;EACxB;;EAGAG,aAAa,EAAEC,MAAK,IAAsB,CAAC,GAAwB;AACjE,UAAMN,OAAOO,MAAMC,QAAQC,aAAaH,SAAUT,OAAOa,KAAK,KAAKjB,QAAQ,CAAA;AAC3E,UAAMkB,OAAO,KAAKjB,YAAYM,IAAAA,EAAM,KAAKL,SAAS;AAClD,UAAMO,SAAS,KAAKH,UAAUC,IAAAA;AAC9B,WAAOE,SAASU,OAAOV,QAAQS,IAAAA,IAAQC,OAAOD,IAAAA;EAChD;;;EAIAE,cAAcC,KAAwD;AACpE,UAAMC,UAAiC,CAAA;AACvClB,WAAOmB,QAAgBF,GAAAA,EAAYG,QAAQ,CAAC,CAACjB,MAAMkB,KAAAA,MAAM;AACvDC,YAAM,MAAMJ,QAAQK,KAAK,KAAKf,aAAa;QAAEC,OAAO;UAACN;;MAAW,CAAA,CAAA,GAAKkB,KAAAA;IACvE,CAAA;AAEA,WAAOH;EACT;AACF;AAKO,IAAMM,uBAAN,cAAqD9B,oBAAAA;EAC1DC,YACmB8B,QACjBC,WACAC,YACA;AACA,UAAMD,WAAWC,YAAY,CAACxB,SAAAA;AAC5B,YAAME,SAAS,KAAKH,UAAUC,IAAAA;AAC9B,cAAQE,UAAU,KAAKoB,OAAOG,GAAGC,MAAMC,OAAOzB,OAAOA,MAAAA,CAAAA,EAASa,YAAY,CAAA;IAC5E,CAAA;SAPiBO,SAAAA;AAWjB,UAAM1B,UAAU,KAAK0B,OAAOG,GAAGG,eAAeC,OAAM;AACpDhC,WAAOmB,QAA2BO,SAAAA,EAAWN,QAAQ,CAAC,CAACjB,MAAM8B,aAAAA,MAAc;AACzE,UAAI5B,SAASN,QAAQK,KAAK,CAAC8B,WAAWA,OAAO5B,aAAaH,IAAAA;AAC1D,UAAIE,UAAU,MAAM;AAClBA,iBAAS,KAAKoB,OAAOG,GAAGG,eAAeI,IAAIF,cAAc5B,MAAM;MACjE;AACA,WAAKE,UAAUJ,MAAWE,MAAAA;IAC5B,CAAA;EACF;EAEA+B,aAAa;AACX,UAAMC,SAA8B,CAAA;AACpC,UAAMC,YAAY,KAAKb,OAAOG,GAAGG,eAAeC,OAAM;AACtD,SAAKjC,QAAQqB,QAAQ,CAACf,WAAAA;AACpB,YAAMkC,WAAWD,UAAUlC,KAAK,CAAC8B,WAAWA,OAAO5B,aAAaD,OAAOC,QAAQ;AAC/E,UAAIiC,YAAY,MAAM;AACpBF,eAAOd,KAAK,KAAKE,OAAOG,GAAGG,eAAeI,IAAI9B,OAAOA,MAAM,CAAA;MAC7D,OAAO;AACLgC,eAAOd,KAAKgB,QAAAA;MACd;IACF,CAAA;AAEA,WAAOF;EACT;EAES7B,aAAa,EAAEC,MAAK,IAAsB,CAAC,GAAwB;AAC1E,WAAO,KAAKgB,OAAOG,GAAGO,IAAI,MAAM3B,aAAa;MAAEC;IAAM,CAAA,CAAA;EACvD;AACF;;;ADrFO,IAAM+B,SAAS;EAAC;EAAW;EAAU;;AACrC,IAAMC,WAAW;EAAC;EAAG;EAAG;EAAG;EAAG;;;UAEzBC,iBAAAA;;;;;GAAAA,mBAAAA,iBAAAA,CAAAA,EAAAA;AAOZ,IAAMC,sBAAsB,CAACC,UAAkBC,WAAAA;AAC7C,QAAMC,aAAaC,EAAEC,QAAQD,EAAEE,OAAOJ,MAAAA,CAAAA,EAASK,KAAKC,WAAWP,UAAU,OAAA,CAAA;AACzE,SAAO,IAAIQ,kBACTC,QAAOC,kBAAkB;IACvBV;IACAW,SAAS;IACTC,YAAYC,mBAAmBX,UAAAA;EACjC,CAAA,CAAA;AAEJ;AAEA,IAAMY,cAAc,MAAA;AAClB,QAAMC,WAAWhB,oBAAAA,+BAA6C;IAC5DiB,OAAOb,EAAEc,OAAOX,KAAKH,EAAEe,YAAY,uBAAA,CAAA;IACnCC,SAAShB,EAAEc;EACb,CAAA;AAEA,QAAMG,eAAerB,oBAAAA,mCAAiD;IACpEsB,MAAMlB,EAAEc,OAAOX,KAAKH,EAAEe,YAAY,qCAAA,CAAA;IAClCI,SAASnB,EAAEc,OAAOX,KAAKH,EAAEe,YAAY,oBAAA,CAAA;IACrCA,aAAaf,EAAEc,OAAOX,KAAKH,EAAEe,YAAY,8BAAA,CAAA;EAC3C,CAAA;AAEA,QAAMK,UAAUxB,oBAAAA,8BAA4C;IAC1DsB,MAAMlB,EAAEc,OAAOX,KAAKH,EAAEe,YAAY,oBAAA,CAAA;IAClCM,OAAOrB,EAAEc;IACTQ,KAAKC,IAAIN,YAAAA;IACTO,KAAKxB,EAAEyB;IACPC,KAAK1B,EAAEyB;EACT,CAAA;AAEA,QAAME,UAAU/B,oBAAAA,8BAA4C;IAC1DsB,MAAMlB,EAAEc,OAAOX,KAAKH,EAAEe,YAAY,qBAAA,CAAA;IAClCA,aAAaf,EAAEc;IACfK,SAASnB,EAAEc;IACXc,MAAM5B,EAAEc;IACRe,QAAQ7B,EAAEc;IACVgB,UAAU9B,EAAEyB;IACZM,QAAQ/B,EAAEgC;IACVV,KAAKC,IAAIN,YAAAA;EACX,CAAA;AAEA,SAAO;IACL,CAAA,6BAAA,GAA2BL;IAC3B,CAAA,iCAAA,GAA+BK;IAC/B,CAAA,4BAAA,GAA0BG;IAC1B,CAAA,4BAAA,GAA0BO;EAC5B;AACF;AAEA,IAAMM,uBAAyD;EAC7D,CAAA,6BAAA,GAA2B,OAAO;IAChCpB,OAAOqB,OAAMC,MAAMC,SAAS,CAAA;IAC5BpB,SAASkB,OAAMC,MAAME,UAAU;MAAEC,KAAK;MAAGC,KAAKL,OAAMT,OAAOe,IAAI;QAAEF,KAAK;QAAGC,KAAK;MAAE,CAAA;IAAG,CAAA;EACrF;EAEA,CAAA,iCAAA,GAA+B,OAAO;IACpCrB,MAAMgB,OAAMO,QAAQvB,KAAI;IACxBC,SAASe,OAAMQ,SAASV,QAAQ;MAAEW,aAAa;IAAI,CAAA,IAAKT,OAAMU,SAASC,IAAG,IAAKC;IAC/E/B,aAAamB,OAAMC,MAAME,UAAS;EACpC;EAEA,CAAA,4BAAA,GAA0B,CAACU,aAAAA;AACzB,UAAMC,gBAAgBD,WAAAA,iCAAAA;AACtB,UAAME,WAAWf,OAAMQ,SAASV,QAAO,IAAKE,OAAMgB,QAAQC,aAAaC,SAAAA,IAAaN;AACpF,WAAO;MACL5B,MAAMgB,OAAMmB,OAAOC,SAAQ;MAC3BjC,OAAOa,OAAMQ,SAASV,QAAQ;QAAEW,aAAa;MAAI,CAAA,IAAKT,OAAMU,SAASvB,MAAK,IAAKyB;MAC/ExB,KACE0B,eAAeO,UAAUrB,OAAMQ,SAASV,QAAQ;QAAEW,aAAa;MAAI,CAAA,IAC/DT,OAAMgB,QAAQC,aAAaH,aAAAA,IAC3BF;MACN,GAAGG;IACL;EACF;EAEA,CAAA,4BAAA,GAA0B,OAAO;IAC/B/B,MAAMgB,OAAMsB,SAASC,YAAW;IAChC7B,MAAMM,OAAMQ,SAASV,QAAQ;MAAEW,aAAa;IAAI,CAAA,IAAKT,OAAMU,SAASC,IAAG,IAAKC;IAC5EjB,QAAQK,OAAMgB,QAAQC,aAAa1D,MAAAA;IACnCqC,UAAUI,OAAMgB,QAAQC,aAAazD,QAAAA;IACrCqC,QAAQG,OAAMQ,SAASV,QAAO;EAChC;AACF;AAEO,IAAM0B,4BAA4B,MAAM,IAAIC,oBAAoBhD,YAAAA,GAAesB,oBAAAA;AAE/E,IAAM2B,6BAA6B,CAACC,UACzC,IAAIC,qBAAqBD,OAAOlD,YAAAA,GAAesB,oBAAAA;AAGjD,IAAMmB,YAAY;EAChB;IAAE5B,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAmBE,KAAK;EAAiB;EAChD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAmBE,KAAK;EAAkB;EACjD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAqBE,KAAK;EAAoB;EACrD;IAAEF,KAAK;IAAqBE,KAAK;EAAkB;EACnD;IAAEF,KAAK;IAAmBE,KAAK;EAAkB;EACjD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAoB;EACpD;IAAEF,KAAK;IAAmBE,KAAK;EAAkB;EACjD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAkBE,KAAK;EAAkB;EAChD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAkBE,KAAK;EAAkB;EAChD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAsBE,KAAK;EAAiB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAkBE,KAAK;EAAiB;EAC/C;IAAEF,KAAK;IAAmBE,KAAK;EAAkB;EACjD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAmBE,KAAK;EAAkB;EACjD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAoB;EACpD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAqBE,KAAK;EAAmB;EACpD;IAAEF,KAAK;IAAqBE,KAAK;EAAkB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAmBE,KAAK;EAAkB;EACjD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAkBE,KAAK;EAAmB;EACjD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAqBE,KAAK;EAAmB;EACpD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAmBE,KAAK;EAAkB;EACjD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAoB;EACpD;IAAEF,KAAK;IAASE,KAAK;EAAiB;EACtC;IAAEF,KAAK;IAAmBE,KAAK;EAAkB;EACjD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAoB;EACpD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAqBE,KAAK;EAAmB;EACpD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAoB;EACpD;IAAEF,KAAK;IAAqBE,KAAK;EAAiB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAoB;EACpD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAqBE,KAAK;EAAkB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAoBE,KAAK;EAAmB;EACnD;IAAEF,KAAK;IAAmBE,KAAK;EAAmB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;EAClD;IAAEF,KAAK;IAAoBE,KAAK;EAAkB;;",
6
+ "names": ["S", "DynamicEchoSchema", "effectToJsonSchema", "StoredEchoSchema", "create", "ref", "echoObject", "faker", "Filter", "create", "faker", "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", "create", "createObjects", "map", "objects", "entries", "forEach", "count", "range", "push", "SpaceObjectGenerator", "_space", "schemaMap", "generators", "db", "query", "Filter", "schemaRegistry", "getAll", "dynamicSchema", "object", "add", "addSchemas", "result", "dbSchemas", "existing", "Status", "Priority", "TestSchemaType", "createDynamicSchema", "typename", "fields", "typeSchema", "S", "partial", "struct", "pipe", "echoObject", "DynamicEchoSchema", "create", "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", "faker", "lorem", "sentence", "sentences", "min", "max", "int", "company", "datatype", "probability", "internet", "url", "undefined", "provider", "organizations", "location", "helpers", "arrayElement", "locations", "person", "fullName", "length", "commerce", "productName", "createTestObjectGenerator", "TestObjectGenerator", "createSpaceObjectGenerator", "space", "SpaceObjectGenerator"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"inject-globals:@inject-globals":{"bytes":384,"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-generator/src/util.ts":{"bytes":1057,"imports":[{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-generator/src/types.ts":{"bytes":993,"imports":[{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/core/echo/echo-generator/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23320},"packages/core/echo/echo-generator/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true},{"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":{"inject-globals:@inject-globals":{"bytesInOutput":79},"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":13514}}}
1
+ {"inputs":{"inject-globals:@inject-globals":{"bytes":384,"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-generator/src/util.ts":{"bytes":1057,"imports":[{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-generator/src/generator.ts":{"bytes":11848,"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-generator/src/data.ts":{"bytes":35559,"imports":[{"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/echo/echo-generator/src/types.ts":{"bytes":993,"imports":[{"path":"@inject-globals","kind":"import-statement","external":true}],"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"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/core/echo/echo-generator/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23463},"packages/core/echo/echo-generator/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/node-std/inject-globals","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":{"inject-globals:@inject-globals":{"bytesInOutput":79},"packages/core/echo/echo-generator/src/data.ts":{"bytesInOutput":10280},"packages/core/echo/echo-generator/src/generator.ts":{"bytesInOutput":2474},"packages/core/echo/echo-generator/src/util.ts":{"bytesInOutput":91},"packages/core/echo/echo-generator/src/index.ts":{"bytesInOutput":0}},"bytes":13453}}}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
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
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var node_exports = {};
30
20
  __export(node_exports, {
@@ -38,12 +28,10 @@ __export(node_exports, {
38
28
  range: () => range
39
29
  });
40
30
  module.exports = __toCommonJS(node_exports);
41
- var S = __toESM(require("@effect/schema/Schema"));
42
- var E2 = __toESM(require("@dxos/echo-schema"));
43
31
  var import_echo_schema = require("@dxos/echo-schema");
44
32
  var import_random = require("@dxos/random");
45
33
  var import_echo_schema2 = require("@dxos/echo-schema");
46
- var E = __toESM(require("@dxos/echo-schema"));
34
+ var import_echo_schema3 = require("@dxos/echo-schema");
47
35
  var import_random2 = require("@dxos/random");
48
36
  var range = (fn, length) => Array.from({
49
37
  length
@@ -69,7 +57,7 @@ var TestObjectGenerator = class {
69
57
  const type = import_random2.faker.helpers.arrayElement(types ?? Object.keys(this._schemas));
70
58
  const data = this._generators[type](this._provider);
71
59
  const schema = this.getSchema(type);
72
- return schema ? E.object(schema, data) : E.object(data);
60
+ return schema ? (0, import_echo_schema3.create)(schema, data) : (0, import_echo_schema3.create)(data);
73
61
  }
74
62
  // TODO(burdon): Create batch.
75
63
  // TODO(burdon): Based on dependencies (e.g., organization before contact).
@@ -94,7 +82,7 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
94
82
  this._space = _space;
95
83
  const schemas = this._space.db.schemaRegistry.getAll();
96
84
  Object.entries(schemaMap).forEach(([type, dynamicSchema]) => {
97
- let schema = schemas.find((object3) => object3.typename === type);
85
+ let schema = schemas.find((object) => object.typename === type);
98
86
  if (schema == null) {
99
87
  schema = this._space.db.schemaRegistry.add(dynamicSchema.schema);
100
88
  }
@@ -105,7 +93,7 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
105
93
  const result = [];
106
94
  const dbSchemas = this._space.db.schemaRegistry.getAll();
107
95
  this.schemas.forEach((schema) => {
108
- const existing = dbSchemas.find((object3) => object3.typename === schema.typename);
96
+ const existing = dbSchemas.find((object) => object.typename === schema.typename);
109
97
  if (existing == null) {
110
98
  result.push(this._space.db.schemaRegistry.add(schema.schema));
111
99
  } else {
@@ -140,8 +128,8 @@ var TestSchemaType;
140
128
  TestSchemaType2["project"] = "example.com/schema/project";
141
129
  })(TestSchemaType || (TestSchemaType = {}));
142
130
  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, {
131
+ const typeSchema = import_echo_schema.S.partial(import_echo_schema.S.struct(fields)).pipe((0, import_echo_schema.echoObject)(typename, "1.0.0"));
132
+ return new import_echo_schema.DynamicEchoSchema((0, import_echo_schema.create)(import_echo_schema.StoredEchoSchema, {
145
133
  typename,
146
134
  version: "1.0.0",
147
135
  jsonSchema: (0, import_echo_schema.effectToJsonSchema)(typeSchema)
@@ -149,30 +137,30 @@ var createDynamicSchema = (typename, fields) => {
149
137
  };
150
138
  var testSchemas = () => {
151
139
  const document = createDynamicSchema("example.com/schema/document", {
152
- title: S.string.pipe(S.description("title of the document")),
153
- content: S.string
140
+ title: import_echo_schema.S.string.pipe(import_echo_schema.S.description("title of the document")),
141
+ content: import_echo_schema.S.string
154
142
  });
155
143
  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"))
144
+ name: import_echo_schema.S.string.pipe(import_echo_schema.S.description("name of the company or organization")),
145
+ website: import_echo_schema.S.string.pipe(import_echo_schema.S.description("public website URL")),
146
+ description: import_echo_schema.S.string.pipe(import_echo_schema.S.description("short summary of the company"))
159
147
  });
160
148
  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
149
+ name: import_echo_schema.S.string.pipe(import_echo_schema.S.description("name of the person")),
150
+ email: import_echo_schema.S.string,
151
+ org: (0, import_echo_schema.ref)(organization),
152
+ lat: import_echo_schema.S.number,
153
+ lng: import_echo_schema.S.number
166
154
  });
167
155
  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)
156
+ name: import_echo_schema.S.string.pipe(import_echo_schema.S.description("name of the project")),
157
+ description: import_echo_schema.S.string,
158
+ website: import_echo_schema.S.string,
159
+ repo: import_echo_schema.S.string,
160
+ status: import_echo_schema.S.string,
161
+ priority: import_echo_schema.S.number,
162
+ active: import_echo_schema.S.boolean,
163
+ org: (0, import_echo_schema.ref)(organization)
176
164
  });
177
165
  return {
178
166
  ["example.com/schema/document"]: document,
@@ -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 * 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"]
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 { type Space } from '@dxos/client/echo';\nimport { S, DynamicEchoSchema, effectToJsonSchema, StoredEchoSchema, create, ref, echoObject } 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(echoObject(typename, '1.0.0'));\n return new DynamicEchoSchema(\n create(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: 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: 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 { create } 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 ? create(schema, data) : create(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", "create", "createObjects", "objects", "entries", "forEach", "count", "push", "SpaceObjectGenerator", "_space", "schemaMap", "generators", "db", "query", "Filter", "schemaRegistry", "getAll", "dynamicSchema", "object", "add", "addSchemas", "result", "dbSchemas", "existing", "Status", "Priority", "TestSchemaType", "createDynamicSchema", "fields", "typeSchema", "S", "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":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
+ {"inputs":{"packages/core/echo/echo-generator/src/util.ts":{"bytes":1057,"imports":[],"format":"esm"},"packages/core/echo/echo-generator/src/generator.ts":{"bytes":11848,"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":35559,"imports":[{"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":23454},"packages/core/echo/echo-generator/dist/lib/node/index.cjs":{"imports":[{"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":10280},"packages/core/echo/echo-generator/src/generator.ts":{"bytesInOutput":2474},"packages/core/echo/echo-generator/src/util.ts":{"bytesInOutput":91},"packages/core/echo/echo-generator/src/index.ts":{"bytesInOutput":0}},"bytes":13305}}}
@@ -1 +1 @@
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
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/data.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI/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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/echo-generator",
3
- "version": "0.4.10-main.d4e372f",
3
+ "version": "0.4.10-main.d51f2c2",
4
4
  "description": "ECHO data generator for testing.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -16,12 +16,10 @@
16
16
  "src"
17
17
  ],
18
18
  "dependencies": {
19
- "@effect/schema": "0.64.7",
20
- "effect": "2.4.9",
21
- "@dxos/client": "0.4.10-main.d4e372f",
22
- "@dxos/node-std": "0.4.10-main.d4e372f",
23
- "@dxos/random": "0.4.10-main.d4e372f",
24
- "@dxos/echo-schema": "0.4.10-main.d4e372f"
19
+ "@dxos/client": "0.4.10-main.d51f2c2",
20
+ "@dxos/echo-schema": "0.4.10-main.d51f2c2",
21
+ "@dxos/node-std": "0.4.10-main.d51f2c2",
22
+ "@dxos/random": "0.4.10-main.d51f2c2"
25
23
  },
26
24
  "devDependencies": {},
27
25
  "publishConfig": {
package/src/data.ts CHANGED
@@ -5,11 +5,8 @@
5
5
  // TODO(burdon): Reconcile with @dxos/plugin-debug, @dxos/aurora/testing.
6
6
  // TODO(burdon): Bug when adding stale objects to space (e.g., static objects already added in previous story invocation).
7
7
 
8
- import * as S from '@effect/schema/Schema';
9
-
10
8
  import { type Space } from '@dxos/client/echo';
11
- import * as E from '@dxos/echo-schema';
12
- import { DynamicEchoSchema, effectToJsonSchema, StoredEchoSchema } from '@dxos/echo-schema';
9
+ import { S, DynamicEchoSchema, effectToJsonSchema, StoredEchoSchema, create, ref, echoObject } from '@dxos/echo-schema';
13
10
  import { faker } from '@dxos/random';
14
11
 
15
12
  import { SpaceObjectGenerator, TestObjectGenerator } from './generator';
@@ -27,9 +24,9 @@ export enum TestSchemaType {
27
24
  }
28
25
 
29
26
  const createDynamicSchema = (typename: string, fields: S.Struct.Fields): DynamicEchoSchema => {
30
- const typeSchema = S.partial(S.struct(fields)).pipe(E.echoObject(typename, '1.0.0'));
27
+ const typeSchema = S.partial(S.struct(fields)).pipe(echoObject(typename, '1.0.0'));
31
28
  return new DynamicEchoSchema(
32
- E.object(StoredEchoSchema, {
29
+ create(StoredEchoSchema, {
33
30
  typename,
34
31
  version: '1.0.0',
35
32
  jsonSchema: effectToJsonSchema(typeSchema),
@@ -52,7 +49,7 @@ const testSchemas = (): TestSchemaMap<TestSchemaType> => {
52
49
  const contact = createDynamicSchema(TestSchemaType.contact, {
53
50
  name: S.string.pipe(S.description('name of the person')),
54
51
  email: S.string,
55
- org: E.ref(organization),
52
+ org: ref(organization),
56
53
  lat: S.number,
57
54
  lng: S.number,
58
55
  });
@@ -65,7 +62,7 @@ const testSchemas = (): TestSchemaMap<TestSchemaType> => {
65
62
  status: S.string,
66
63
  priority: S.number,
67
64
  active: S.boolean,
68
- org: E.ref(organization),
65
+ org: ref(organization),
69
66
  });
70
67
 
71
68
  return {
@@ -4,9 +4,8 @@
4
4
 
5
5
  import { expect } from 'chai';
6
6
 
7
- import { Client, Config } from '@dxos/client';
8
- import { debug } from '@dxos/client/echo';
9
- import * as E from '@dxos/echo-schema';
7
+ import { Client } from '@dxos/client';
8
+ import { getType } from '@dxos/echo-schema';
10
9
  import { faker } from '@dxos/random';
11
10
  import { afterTest, describe, test } from '@dxos/test';
12
11
 
@@ -31,7 +30,7 @@ describe('TestObjectGenerator', () => {
31
30
 
32
31
  // Create org object.
33
32
  const organization = generator.createObject({ types: [TestSchemaType.organization] });
34
- expect(E.typeOf(organization)).to.exist;
33
+ expect(getType(organization)).to.exist;
35
34
 
36
35
  // Expect at least one person object with a linked org reference.
37
36
  const objects = generator.createObjects({ [TestSchemaType.contact]: 10 });
@@ -47,26 +46,22 @@ describe('TestObjectGenerator', () => {
47
46
  const generator = createSpaceObjectGenerator(space);
48
47
  generator.addSchemas();
49
48
  const organization = generator.createObject({ types: [TestSchemaType.organization] });
50
- schemaId.push(E.typeOf(organization)!.itemId);
49
+ schemaId.push(getType(organization)!.itemId);
51
50
  }
52
51
 
53
52
  {
54
53
  const generator = createSpaceObjectGenerator(space);
55
54
  generator.addSchemas();
56
55
  const organization = generator.createObject({ types: [TestSchemaType.organization] });
57
- schemaId.push(E.typeOf(organization)!.itemId);
56
+ schemaId.push(getType(organization)!.itemId);
58
57
  }
59
58
 
60
59
  expect(schemaId[0]).not.to.be.undefined;
61
60
  expect(schemaId[0]).to.eq(schemaId[1]);
62
-
63
- {
64
- console.log(space.db.objects.map((object) => object[debug]));
65
- }
66
61
  });
67
62
 
68
63
  const setupTest = async () => {
69
- const client = new Client({ config: new Config({ runtime: { client: { useReactiveObjectApi: true } } }) });
64
+ const client = new Client();
70
65
  await client.initialize();
71
66
  afterTest(async () => await client.destroy());
72
67
  await client.halo.createIdentity();
package/src/generator.ts CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  import { type Space } from '@dxos/client/echo';
6
6
  import { type DynamicEchoSchema, Filter, type ReactiveObject } from '@dxos/echo-schema';
7
- import * as E from '@dxos/echo-schema';
7
+ import { create } from '@dxos/echo-schema';
8
8
  import { faker } from '@dxos/random';
9
9
 
10
10
  import { type TestSchemaType } from './data';
@@ -39,7 +39,7 @@ export class TestObjectGenerator<T extends string = TestSchemaType> {
39
39
  const type = faker.helpers.arrayElement(types ?? (Object.keys(this._schemas) as T[]));
40
40
  const data = this._generators[type](this._provider);
41
41
  const schema = this.getSchema(type);
42
- return schema ? E.object(schema, data) : E.object(data);
42
+ return schema ? create(schema, data) : create(data);
43
43
  }
44
44
 
45
45
  // TODO(burdon): Create batch.