@dxos/echo-generator 0.3.5-main.8a2ebe5 → 0.3.5-main.8a3798d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/index.mjs +432 -5
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +432 -5
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/types/src/data.d.ts.map +1 -1
- package/dist/types/src/generator.d.ts +1 -0
- package/dist/types/src/generator.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/data.ts +129 -3
- package/src/generator.ts +5 -0
package/src/data.ts
CHANGED
|
@@ -24,6 +24,7 @@ export const testSchemas = (): TestSchemaMap<TestSchemaType> => {
|
|
|
24
24
|
{
|
|
25
25
|
id: 'name',
|
|
26
26
|
type: Schema.PropType.STRING,
|
|
27
|
+
// TODO(burdon): primary: true,
|
|
27
28
|
},
|
|
28
29
|
{
|
|
29
30
|
id: 'content',
|
|
@@ -33,8 +34,8 @@ export const testSchemas = (): TestSchemaMap<TestSchemaType> => {
|
|
|
33
34
|
});
|
|
34
35
|
|
|
35
36
|
const organization = new Schema({
|
|
37
|
+
typename: 'example.com/schema/organization',
|
|
36
38
|
props: [
|
|
37
|
-
// TODO(burdon): Add metadata for default label.
|
|
38
39
|
{
|
|
39
40
|
id: 'name',
|
|
40
41
|
type: Schema.PropType.STRING,
|
|
@@ -44,13 +45,14 @@ export const testSchemas = (): TestSchemaMap<TestSchemaType> => {
|
|
|
44
45
|
type: Schema.PropType.STRING,
|
|
45
46
|
},
|
|
46
47
|
{
|
|
47
|
-
id: '
|
|
48
|
-
type: Schema.PropType.
|
|
48
|
+
id: 'description',
|
|
49
|
+
type: Schema.PropType.STRING,
|
|
49
50
|
},
|
|
50
51
|
],
|
|
51
52
|
});
|
|
52
53
|
|
|
53
54
|
const person = new Schema({
|
|
55
|
+
typename: 'example.com/schema/person',
|
|
54
56
|
props: [
|
|
55
57
|
{
|
|
56
58
|
id: 'name',
|
|
@@ -65,15 +67,29 @@ export const testSchemas = (): TestSchemaMap<TestSchemaType> => {
|
|
|
65
67
|
type: Schema.PropType.REF,
|
|
66
68
|
ref: organization,
|
|
67
69
|
},
|
|
70
|
+
// TODO(burdon): Convert to object with nested props.
|
|
71
|
+
{
|
|
72
|
+
id: 'lat',
|
|
73
|
+
type: Schema.PropType.NUMBER,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: 'lng',
|
|
77
|
+
type: Schema.PropType.NUMBER,
|
|
78
|
+
},
|
|
68
79
|
],
|
|
69
80
|
});
|
|
70
81
|
|
|
71
82
|
const project = new Schema({
|
|
83
|
+
typename: 'example.com/schema/project',
|
|
72
84
|
props: [
|
|
73
85
|
{
|
|
74
86
|
id: 'title',
|
|
75
87
|
type: Schema.PropType.STRING,
|
|
76
88
|
},
|
|
89
|
+
{
|
|
90
|
+
id: 'description',
|
|
91
|
+
type: Schema.PropType.STRING, // TODO(burdon): Text.
|
|
92
|
+
},
|
|
77
93
|
{
|
|
78
94
|
id: 'repo',
|
|
79
95
|
type: Schema.PropType.STRING,
|
|
@@ -86,6 +102,10 @@ export const testSchemas = (): TestSchemaMap<TestSchemaType> => {
|
|
|
86
102
|
id: 'priority',
|
|
87
103
|
type: Schema.PropType.NUMBER,
|
|
88
104
|
},
|
|
105
|
+
{
|
|
106
|
+
id: 'active',
|
|
107
|
+
type: Schema.PropType.BOOLEAN,
|
|
108
|
+
},
|
|
89
109
|
],
|
|
90
110
|
});
|
|
91
111
|
|
|
@@ -106,6 +126,7 @@ export const testObjectGenerators: TestGeneratorMap<TestSchemaType> = {
|
|
|
106
126
|
|
|
107
127
|
person: (provider) => {
|
|
108
128
|
const organizations = provider?.('organization');
|
|
129
|
+
const location = faker.datatype.boolean() ? faker.helpers.arrayElement(locations) : undefined;
|
|
109
130
|
return {
|
|
110
131
|
name: faker.person.fullName(),
|
|
111
132
|
email: faker.datatype.boolean({ probability: 0.5 }) ? faker.internet.email() : undefined,
|
|
@@ -113,6 +134,7 @@ export const testObjectGenerators: TestGeneratorMap<TestSchemaType> = {
|
|
|
113
134
|
organizations?.length && faker.datatype.boolean({ probability: 0.3 })
|
|
114
135
|
? faker.helpers.arrayElement(organizations)
|
|
115
136
|
: undefined,
|
|
137
|
+
...location,
|
|
116
138
|
};
|
|
117
139
|
},
|
|
118
140
|
|
|
@@ -121,6 +143,7 @@ export const testObjectGenerators: TestGeneratorMap<TestSchemaType> = {
|
|
|
121
143
|
repo: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,
|
|
122
144
|
status: faker.helpers.arrayElement(Status),
|
|
123
145
|
priority: faker.helpers.arrayElement(Priority),
|
|
146
|
+
active: faker.datatype.boolean(),
|
|
124
147
|
}),
|
|
125
148
|
};
|
|
126
149
|
|
|
@@ -128,3 +151,106 @@ export const createTestObjectGenerator = () => new TestObjectGenerator(testSchem
|
|
|
128
151
|
|
|
129
152
|
export const createSpaceObjectGenerator = (space: Space) =>
|
|
130
153
|
new SpaceObjectGenerator(space, testSchemas(), testObjectGenerators);
|
|
154
|
+
|
|
155
|
+
const locations = [
|
|
156
|
+
{ lat: 139.74946157054467, lng: 35.686962764371174 },
|
|
157
|
+
{ lat: -73.98196278740681, lng: 40.75192492259464 },
|
|
158
|
+
{ lat: -99.1329340602939, lng: 19.444388301415472 },
|
|
159
|
+
{ lat: 72.85504343876647, lng: 19.0189362343566 },
|
|
160
|
+
{ lat: -46.62696583905523, lng: -23.55673372837896 },
|
|
161
|
+
{ lat: 77.22805816860182, lng: 28.671938757181522 },
|
|
162
|
+
{ lat: 121.43455881982015, lng: 31.218398311228327 },
|
|
163
|
+
{ lat: 88.32272979950551, lng: 22.49691515689642 },
|
|
164
|
+
{ lat: 90.40663360810754, lng: 23.725005570312817 },
|
|
165
|
+
{ lat: -58.399477232331435, lng: -34.600555749907414 },
|
|
166
|
+
{ lat: -118.18192636994041, lng: 33.99192410876543 },
|
|
167
|
+
{ lat: 66.98806305137339, lng: 24.87193814681484 },
|
|
168
|
+
{ lat: 31.248022361126118, lng: 30.051906205103705 },
|
|
169
|
+
{ lat: -43.22696665284366, lng: -22.923077315615956 },
|
|
170
|
+
{ lat: 135.4581989565952, lng: 34.75198107491417 },
|
|
171
|
+
{ lat: 116.38633982565943, lng: 39.93083808990906 },
|
|
172
|
+
{ lat: 120.9802713035424, lng: 14.606104813440538 },
|
|
173
|
+
{ lat: 37.6135769672714, lng: 55.75410998124818 },
|
|
174
|
+
{ lat: 29.008055727002613, lng: 41.10694201243979 },
|
|
175
|
+
{ lat: 2.33138946713035, lng: 48.86863878981461 },
|
|
176
|
+
{ lat: 126.99778513820195, lng: 37.56829495838895 },
|
|
177
|
+
{ lat: 3.3895852125984334, lng: 6.445207512093191 },
|
|
178
|
+
{ lat: 106.82749176247012, lng: -6.172471846798885 },
|
|
179
|
+
{ lat: -87.75200083270931, lng: 41.83193651927843 },
|
|
180
|
+
{ lat: 113.32306427226172, lng: 23.14692716047989 },
|
|
181
|
+
{ lat: -0.11866770247593195, lng: 51.5019405883275 },
|
|
182
|
+
{ lat: -77.05200795343472, lng: -12.04606681752557 },
|
|
183
|
+
{ lat: 51.42239817500899, lng: 35.673888627001304 },
|
|
184
|
+
{ lat: 15.313026023171744, lng: -4.327778243275986 },
|
|
185
|
+
{ lat: -74.08528981377441, lng: 4.598369421147822 },
|
|
186
|
+
{ lat: 114.1201772298325, lng: 22.554316369677963 },
|
|
187
|
+
{ lat: 114.26807118958311, lng: 30.581977209337822 },
|
|
188
|
+
{ lat: 114.18306345846304, lng: 22.30692675357551 },
|
|
189
|
+
{ lat: 117.19807322410043, lng: 39.13197212310894 },
|
|
190
|
+
{ lat: 80.27805287890033, lng: 13.091933670856292 },
|
|
191
|
+
{ lat: 121.568333333333, lng: 25.0358333333333 },
|
|
192
|
+
{ lat: 77.55806386521755, lng: 12.97194099507442 },
|
|
193
|
+
{ lat: 100.51469879369489, lng: 13.751945064087977 },
|
|
194
|
+
{ lat: 74.34807892054346, lng: 31.56191739488844 },
|
|
195
|
+
{ lat: 106.59303578916195, lng: 29.566922888044644 },
|
|
196
|
+
{ lat: 78.47800771287751, lng: 17.401928991511454 },
|
|
197
|
+
{ lat: -70.66898671317483, lng: -33.448067956934096 },
|
|
198
|
+
{ lat: -80.22605193945003, lng: 25.789556555021534 },
|
|
199
|
+
{ lat: -43.916950376804834, lng: -19.91308016391116 },
|
|
200
|
+
{ lat: -3.6852975446125242, lng: 40.40197212311381 },
|
|
201
|
+
{ lat: -75.17194183200792, lng: 40.001919022526465 },
|
|
202
|
+
{ lat: 72.57805776168215, lng: 23.031998775062675 },
|
|
203
|
+
{ lat: 106.69308136207889, lng: 10.781971309193409 },
|
|
204
|
+
{ lat: -79.42196665298843, lng: 43.70192573640844 },
|
|
205
|
+
{ lat: 103.85387481909902, lng: 1.2949793251059418 },
|
|
206
|
+
{ lat: 13.23248118266855, lng: -8.836340255012658 },
|
|
207
|
+
{ lat: 44.391922914564134, lng: 33.34059435615865 },
|
|
208
|
+
{ lat: 2.181424460619155, lng: 41.385245438547486 },
|
|
209
|
+
{ lat: 88.32994665421205, lng: 22.580390440861947 },
|
|
210
|
+
{ lat: -96.84196278749818, lng: 32.82196968167733 },
|
|
211
|
+
{ lat: 123.44802765120869, lng: 41.80692512604918 },
|
|
212
|
+
{ lat: 32.532233380011576, lng: 15.590024084277673 },
|
|
213
|
+
{ lat: 73.84805776168719, lng: 18.531963374654026 },
|
|
214
|
+
{ lat: 151.1832339501475, lng: -33.91806510862875 },
|
|
215
|
+
{ lat: 30.314074200315076, lng: 59.94096036375191 },
|
|
216
|
+
{ lat: 91.79802154756635, lng: 22.33193814680459 },
|
|
217
|
+
{ lat: 113.74277634138707, lng: 23.050834758613007 },
|
|
218
|
+
{ lat: -84.40189524187565, lng: 33.83195971260585 },
|
|
219
|
+
{ lat: -71.07195953218684, lng: 42.33190600170229 },
|
|
220
|
+
{ lat: 46.770795798688255, lng: 24.642779007816443 },
|
|
221
|
+
{ lat: -95.341925149146, lng: 29.821920243188856 },
|
|
222
|
+
{ lat: 105.8480683412422, lng: 21.035273107737055 },
|
|
223
|
+
{ lat: -77.01136443943716, lng: 38.901495235087054 },
|
|
224
|
+
{ lat: -103.33198008081848, lng: 20.671961950508944 },
|
|
225
|
+
{ lat: 144.97307037590406, lng: -37.81808545369631 },
|
|
226
|
+
{ lat: 29.948050030391755, lng: 31.201965205759393 },
|
|
227
|
+
{ lat: 104.06807363094873, lng: 30.671945877957796 },
|
|
228
|
+
{ lat: -83.0820016464927, lng: 42.33190600170229 },
|
|
229
|
+
{ lat: 96.16473175266185, lng: 16.785299963188777 },
|
|
230
|
+
{ lat: 108.89305043760862, lng: 34.27697130928732 },
|
|
231
|
+
{ lat: -51.20195790450316, lng: -30.048068770722466 },
|
|
232
|
+
{ lat: 121.465, lng: 25.0127777777778 },
|
|
233
|
+
{ lat: 72.83809356897484, lng: 21.20192960187819 },
|
|
234
|
+
{ lat: 109.60911291406296, lng: 23.09653464659317 },
|
|
235
|
+
{ lat: -4.041994118507091, lng: 5.321942826098564 },
|
|
236
|
+
{ lat: -47.91799814700306, lng: -15.781394372878992 },
|
|
237
|
+
{ lat: 32.862445782356644, lng: 39.929184444075474 },
|
|
238
|
+
{ lat: -100.33193064232995, lng: 25.671940995125283 },
|
|
239
|
+
{ lat: 139.60202098994017, lng: 35.43065615270891 },
|
|
240
|
+
{ lat: 118.77802846499208, lng: 32.05196500231233 },
|
|
241
|
+
{ lat: -73.58524281670213, lng: 45.50194506421502 },
|
|
242
|
+
{ lat: 106.7180927553083, lng: 26.581988806001448 },
|
|
243
|
+
{ lat: -34.91755136960728, lng: -8.073699467249241 },
|
|
244
|
+
{ lat: 126.64803904445057, lng: 45.75192980542715 },
|
|
245
|
+
{ lat: -38.58192718342411, lng: -3.7480720258257634 },
|
|
246
|
+
{ lat: -112.07193755969467, lng: 33.5419257363676 },
|
|
247
|
+
{ lat: 117.67001623440774, lng: 24.520375385531167 },
|
|
248
|
+
{ lat: -38.48193328693924, lng: -12.968026046044827 },
|
|
249
|
+
{ lat: 129.00810170722048, lng: 35.09699877511093 },
|
|
250
|
+
{ lat: -122.41716877355225, lng: 37.76919562968743 },
|
|
251
|
+
{ lat: 28.028063865019476, lng: -26.16809888138414 },
|
|
252
|
+
{ lat: 13.399602764700546, lng: 52.523764522251156 },
|
|
253
|
+
{ lat: 3.048606670909237, lng: 36.765010656628135 },
|
|
254
|
+
{ lat: 12.481312562873995, lng: 41.89790148509894 },
|
|
255
|
+
{ lat: 125.75274485499392, lng: 39.02138455800434 },
|
|
256
|
+
];
|
package/src/generator.ts
CHANGED
|
@@ -27,10 +27,15 @@ export class TestObjectGenerator<T extends string> {
|
|
|
27
27
|
return Object.values(this.schema);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
getSchema(typename: string) {
|
|
31
|
+
return this.schemas.find((schema) => schema.typename === typename);
|
|
32
|
+
}
|
|
33
|
+
|
|
30
34
|
createObject({ types }: { types?: T[] } = {}): Expando {
|
|
31
35
|
const type = faker.helpers.arrayElement(types ?? (Object.keys(this.schema) as T[]));
|
|
32
36
|
const factory = this._generators[type];
|
|
33
37
|
const data = factory(this._provider);
|
|
38
|
+
// TODO(burdon): Runtime type check via: https://github.com/Effect-TS/schema (or zod).
|
|
34
39
|
return new Expando(data, { schema: this.schema[type] });
|
|
35
40
|
}
|
|
36
41
|
|