@sentio/sdk 2.39.4-rc.7 → 2.39.4-rc.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,2 @@
1
- import { DirectiveNode } from 'graphql';
2
1
  export declare function codegen(srcDir: string, outputDir: string): Promise<void>;
3
- export declare function directive2decorator(directive: DirectiveNode): string;
4
2
  //# sourceMappingURL=codegen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/store/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAcd,MAAM,SAAS,CAAA;AAOhB,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAW9D;AAiOD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,aAAa,UAU3D"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/store/codegen.ts"],"names":[],"mappings":"AAgDA,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAW9D"}
@@ -1,4 +1,4 @@
1
- import { GraphQLEnumType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLScalarType, Kind, isObjectType, isInterfaceType, isListType } from 'graphql';
1
+ import { GraphQLEnumType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLScalarType, isEnumType, isListType, isNonNullType } from 'graphql';
2
2
  import * as fs from 'node:fs';
3
3
  import path from 'path';
4
4
  import mkdirp from 'mkdirp';
@@ -16,26 +16,80 @@ export async function codegen(srcDir, outputDir) {
16
16
  }
17
17
  }
18
18
  }
19
+ function addTypeAnnotations(ty, annotations) {
20
+ if (isNonNullType(ty)) {
21
+ annotations.push('@Required');
22
+ addTypeAnnotations(ty.ofType, annotations);
23
+ return;
24
+ }
25
+ if (isRelationType(ty)) {
26
+ if (isListType(ty)) {
27
+ annotations.push(`@Many("${ty.ofType}")`);
28
+ }
29
+ else {
30
+ annotations.push(`@One("${ty}")`);
31
+ }
32
+ }
33
+ else if (isEnumType(ty)) {
34
+ annotations.push(`@Column("String${isNonNullType(ty) ? '!' : ''}")`);
35
+ }
36
+ else {
37
+ if (isListType(ty)) {
38
+ if (isListType(ty.ofType)) {
39
+ annotations.push(`@ListColumn()`);
40
+ addTypeAnnotations(ty.ofType, annotations);
41
+ }
42
+ else {
43
+ annotations.push(`@ListColumn("${ty.ofType}")`);
44
+ }
45
+ }
46
+ else {
47
+ annotations.push(`@Column("${ty}")`);
48
+ }
49
+ }
50
+ }
19
51
  async function codegenInternal(schema, source, target) {
20
- const results = [
21
- '/* Autogenerated file. Do not edit manually. */\n',
22
- '/* tslint:disable */',
23
- '/* eslint-disable */',
24
- "import { entity, derivedFrom, Timestamp, Int, Float, String, Bytes, Boolean, ID, Entity, Store } from '@sentio/sdk/store'",
25
- `import { BigDecimalConverter, BigIntConverter, IntConverter, StringConverter, IDConverter, BooleanConverter, BytesConverter, TimestampConverter, FloatConverter, StructConverter, required_, array_, enumerate_, objectId_ } from '@sentio/sdk/store'`,
26
- `import { DatabaseSchema, BigDecimal } from "@sentio/sdk"`,
27
- `type BigInt = bigint`
52
+ const imports = [
53
+ {
54
+ module: '@sentio/sdk/store',
55
+ types: ['String', 'Int', 'BigInt', 'Float', 'ID', 'Bytes', 'Timestamp', 'Boolean'],
56
+ importType: true
57
+ },
58
+ {
59
+ module: '@sentio/sdk/store',
60
+ types: ['Entity', 'Required', 'One', 'Many', 'Column', 'ListColumn']
61
+ },
62
+ {
63
+ module: '@sentio/bigdecimal',
64
+ types: ['BigDecimal']
65
+ },
66
+ {
67
+ module: '@sentio/sdk',
68
+ types: ['DatabaseSchema']
69
+ }
28
70
  ];
29
- const entities = [];
71
+ const enumns = [];
72
+ const interfaces = [];
73
+ const classes = [];
30
74
  for (const t of Object.values(schema.getTypeMap())) {
31
75
  if (t.name.startsWith('__')) {
32
76
  continue;
33
77
  }
34
78
  if (t instanceof GraphQLEnumType) {
35
- results.push(genEnum(t));
79
+ enumns.push({
80
+ name: t.name,
81
+ values: t.getValues().map((v) => v.value)
82
+ });
36
83
  }
37
84
  if (t instanceof GraphQLInterfaceType) {
38
- results.push(genInterface(t));
85
+ interfaces.push({
86
+ name: t.name,
87
+ fields: Object.values(t.getFields()).map((f) => ({
88
+ name: f.name,
89
+ type: genType(f.type),
90
+ annotations: []
91
+ }))
92
+ });
39
93
  }
40
94
  }
41
95
  for (const t of Object.values(schema.getTypeMap())) {
@@ -43,40 +97,82 @@ async function codegenInternal(schema, source, target) {
43
97
  continue;
44
98
  }
45
99
  if (t instanceof GraphQLObjectType) {
46
- const entityContent = genEntity(t);
47
- results.push(entityContent);
48
- entities.push(t.name);
100
+ const fields = [];
101
+ for (const f of Object.values(t.getFields())) {
102
+ const type = genType(f.type);
103
+ const annotations = [];
104
+ addTypeAnnotations(f.type, annotations);
105
+ if (isRelationType(f.type)) {
106
+ fields.push({
107
+ name: f.name,
108
+ type: `Promise<${type}>`,
109
+ annotations
110
+ });
111
+ const isMany = type.startsWith('Array');
112
+ fields.push({
113
+ name: f.name + 'ID' + (isMany ? 's' : ''),
114
+ type: isMany ? `Array<ID | undefined>` : `ID`,
115
+ annotations: []
116
+ });
117
+ }
118
+ else {
119
+ fields.push({
120
+ name: f.name,
121
+ type: type,
122
+ annotations
123
+ });
124
+ }
125
+ }
126
+ classes.push({
127
+ name: t.name,
128
+ fields,
129
+ annotations: [`@Entity("${t.name}")`],
130
+ interfaces: t.getInterfaces().map((i) => i.name)
131
+ });
49
132
  }
50
133
  }
51
- const contents = results.join('\n') +
134
+ const template = `
135
+ /* Autogenerated file. Do not edit manually. */
136
+ /* tslint:disable */
137
+ /* eslint-disable */
138
+ ${imports.map((i) => `import ${i.importType ? 'type ' : ''}{ ${i.types.join(', ')} } from '${i.module}'`).join('\n')}
139
+
140
+ ${enumns
141
+ .map((e) => `export enum ${e.name} {
142
+ ${e.values.map((v) => `${v} = "${v}"`).join(', ')}
143
+ }`)
144
+ .join('\n')}
145
+
146
+ ${interfaces
147
+ .map((i) => `export interface ${i.name} {
148
+ ${i.fields.map((f) => `\t${f.name}: ${f.type}`).join('\n')}
149
+ }`)
150
+ .join('\n')}
151
+
152
+ ${classes
153
+ .map((c) => `
154
+ ${c.annotations.join('\n')}
155
+ export class ${c.name} ${c.interfaces.length > 0 ? `implements ${c.interfaces.join(', ')}` : ''} {
156
+ ${c.fields.map((f) => `${f.annotations.map((a) => `\n\t${a}`).join('')}\n\t${f.name}: ${f.type}`).join('\n')}
157
+
158
+ constructor(data: Partial<${c.name}>) {}
159
+
160
+ }`)
161
+ .join('\n')}
162
+ `;
163
+ const contents = template +
52
164
  `\n
53
165
  const source = \`${source.replaceAll('`', '`')}\`
54
166
  DatabaseSchema.register({
55
167
  source,
56
168
  entities: {
57
- ${entities.map((e) => `"${e}": ${e}`).join(',\n\t\t')}
169
+ ${classes.map((e) => `"${e.name}": ${e.name}`).join(',\n\t\t')}
58
170
  }
59
171
  })
60
172
  `;
61
173
  await mkdirp(path.dirname(target));
62
174
  fs.writeFileSync(target, contents);
63
175
  }
64
- const JsTypes = {
65
- ID: 'string',
66
- String: 'string',
67
- Int: 'number',
68
- Float: 'number',
69
- Boolean: 'boolean',
70
- BigInt: 'bigint',
71
- BigDecimal: 'BigDecimal',
72
- DateTime: 'Date',
73
- Json: 'any',
74
- Bytes: 'Uint8Array'
75
- };
76
- const graphqlTypes = Object.entries(JsTypes).reduce((acc, [k, v]) => {
77
- acc[v] = k;
78
- return acc;
79
- }, {});
80
176
  function genType(type, required) {
81
177
  if (type instanceof GraphQLNonNull) {
82
178
  return genType(type.ofType, true);
@@ -85,159 +181,30 @@ function genType(type, required) {
85
181
  return required ? type.name : `${type.name} | undefined`;
86
182
  }
87
183
  else if (type instanceof GraphQLObjectType || type instanceof GraphQLInterfaceType) {
88
- return type.name;
184
+ return required ? type.name : `${type.name} | undefined`;
89
185
  }
90
186
  else if (type instanceof GraphQLList) {
91
187
  return `Array<${genType(type.ofType)}>`;
92
188
  }
93
189
  else if (type instanceof GraphQLEnumType) {
94
- return type.name;
190
+ return required ? type.name : `${type.name} | undefined`;
95
191
  }
96
192
  else {
97
193
  throw new Error('Unsupported type: ' + type);
98
194
  }
99
195
  }
100
- function isObject(type) {
101
- if (type instanceof GraphQLNonNull) {
102
- return isObject(type.ofType);
103
- }
104
- else if (type instanceof GraphQLList) {
105
- return isObject(type.ofType);
106
- }
107
- return isObjectType(type) || isInterfaceType(type);
108
- }
109
- function isList(type) {
196
+ function isRelationType(type) {
110
197
  if (type instanceof GraphQLNonNull) {
111
- return isListType(type.ofType);
198
+ return isRelationType(type.ofType);
112
199
  }
113
- else {
114
- return isListType(type);
115
- }
116
- }
117
- function getElementType(type) {
118
- if (type instanceof GraphQLNonNull) {
119
- return getElementType(type.ofType);
200
+ else if (type instanceof GraphQLObjectType || type instanceof GraphQLInterfaceType) {
201
+ return true;
120
202
  }
121
203
  else if (type instanceof GraphQLList) {
122
- return type.ofType;
123
- }
124
- return type;
125
- }
126
- const getConverter = (t) => {
127
- if (t instanceof GraphQLNonNull) {
128
- return `required_(${getConverter(t.ofType)})`;
129
- }
130
- if (t instanceof GraphQLList) {
131
- return `array_(${getConverter(t.ofType)})`;
132
- }
133
- if (t instanceof GraphQLEnumType) {
134
- return `enumerate_<${t.name}>(${t.name})`;
135
- }
136
- if (isObject(t)) {
137
- return `objectId_<${genType(getElementType(t))}>()`;
138
- }
139
- return `${t.name}Converter`;
140
- };
141
- function genField(field) {
142
- const isNonNull = field.type instanceof GraphQLNonNull;
143
- const directives = field.astNode?.directives?.map((d) => '\t' + directive2decorator(d) + '\n') || [];
144
- const type = genType(field.type);
145
- if (isObject(field.type)) {
146
- const t = getElementType(field.type);
147
- const typeAsArg = isInterfaceType(t) ? `"${t}"` : genType(t);
148
- if (isList(field.type)) {
149
- const required = field.type.ofType instanceof GraphQLNonNull;
150
- const converter = required ? `array_(required_(IDConverter))` : `array_(IDConverter)`;
151
- const returnType = required ? `ID[]` : `Array<ID | undefined>`;
152
- return `${directives.join()}\tget ${field.name}(): Promise<${genType(t)}[]> { return this.getFieldObjectArray(${typeAsArg}, "${field.name}") as Promise<${genType(t)}[]> }
153
- set ${field.name}(value: ${type} | ID[]) { this.setObject("${field.name}", value) }
154
- get ${field.name}Ids(): ${returnType} { return this.get("${field.name}", ${converter}) }`;
155
- }
156
- return `${directives.join()}\tget ${field.name}(): Promise<${genType(t)} | undefined> { return this.getObject(${typeAsArg},"${field.name}") as Promise<${genType(t)} | undefined> }
157
- set ${field.name}(value: ${type} | ID) { this.set("${field.name}", value, objectId_<${type}>()) }
158
- get ${field.name}Id(): ID | undefined { return this.get("${field.name}", IDConverter) }`;
159
- }
160
- return `${directives.join()}\tget ${field.name}(): ${type} { return this.get("${field.name}", ${getConverter(field.type)}) }
161
- set ${field.name}(value: ${type}) { this.set("${field.name}", value, ${getConverter(field.type)}) }`;
162
- }
163
- function genDataType(t) {
164
- let output = `type ${t.name}Data = `;
165
- const relationsFields = Object.values(t.getFields()).filter((f) => isObject(f.type));
166
- if (relationsFields.length > 0) {
167
- output += `Omit<${t.name}, ${relationsFields.map((f) => `"${f.name}"`).join(' | ')}>`;
168
- output +=
169
- ' & {' +
170
- relationsFields
171
- .map((f) => {
172
- const type = genType(getElementType(f.type));
173
- return `${f.name}?: ${isList(f.type) ? `Array<ID|${type}>` : `ID | ${type}`}`;
174
- })
175
- .join(', ') +
176
- '}';
204
+ return isRelationType(type.ofType);
177
205
  }
178
206
  else {
179
- output += `${t.name}`;
207
+ return false;
180
208
  }
181
- return output;
182
- }
183
- function genEntity(t) {
184
- const decorators = t.astNode?.directives?.filter((d) => d.name.value != 'entity').map(directive2decorator) || [];
185
- let impls = '';
186
- if (t.getInterfaces().length > 0) {
187
- impls +=
188
- ' implements ' +
189
- t
190
- .getInterfaces()
191
- .map((i) => i.name)
192
- .join(', ');
193
- }
194
- return `
195
- ${genDataType(t)}
196
- ${decorators.join('\n')}
197
- @entity("${t.name}")
198
- export class ${t.name} extends Entity${impls} {
199
- ${genConverters(t)}
200
- constructor(data: Partial<${t.name}Data>) {
201
- super(${t.name}.entityConverter.from(data))
202
- }
203
- ${Object.values(t.getFields()).map(genField).join('\n')}
204
- }`;
205
- }
206
- function genConverters(t) {
207
- const fields = Object.values(t.getFields());
208
- const converters = fields.map((f) => {
209
- const type = genType(f.type);
210
- const converter = getConverter(f.type);
211
- return `\t\t${f.name}: ${converter},`;
212
- });
213
- return `static entityConverter = new StructConverter({\n ${converters.join('\n')} \n})`;
214
- }
215
- function genInterface(t) {
216
- return `
217
- export interface ${t.name} {
218
- ${Object.values(t.getFields())
219
- .map((f) => `\t${f.name}: ${genType(f.type)}`)
220
- .join('\n')}
221
- }`;
222
- }
223
- export function directive2decorator(directive) {
224
- let s = `@${directive.name.value}`;
225
- if (directive.arguments?.length) {
226
- s += `(${directive.arguments
227
- ?.map((arg) => {
228
- return arg.value.kind === Kind.STRING ? `"${arg.value.value}"` : `${arg.value}`;
229
- })
230
- .join(', ')})`;
231
- }
232
- return s;
233
- }
234
- function genEnum(t) {
235
- return `
236
- export enum ${t.name} {
237
- ${t
238
- .getValues()
239
- .map((v) => `\t${v.name} = "${v.value}"`)
240
- .join(', ')}
241
- }`;
242
209
  }
243
210
  //# sourceMappingURL=codegen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/store/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/store/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,iBAAiB,EAEjB,iBAAiB,EAEjB,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AA+BzB,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,SAAiB;IAC7D,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,QAAQ,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA;YAC1D,MAAM,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAqB,EAAE,WAAqB;IACtE,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC7B,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAC1C,OAAM;IACR,CAAC;IAED,IAAI,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QACvB,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,IAAI,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,WAAW,CAAC,IAAI,CAAC,kBAAkB,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACtE,CAAC;SAAM,CAAC;QACN,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YACnB,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBACjC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;YAC5C,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,IAAI,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAqB,EAAE,MAAc,EAAE,MAAc;IAClF,MAAM,OAAO,GAAa;QACxB;YACE,MAAM,EAAE,mBAAmB;YAC3B,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC;YAClF,UAAU,EAAE,IAAI;SACjB;QACD;YACE,MAAM,EAAE,mBAAmB;YAC3B,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC;SACrE;QACD;YACE,MAAM,EAAE,oBAAoB;YAC5B,KAAK,EAAE,CAAC,YAAY,CAAC;SACtB;QACD;YACE,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,CAAC,gBAAgB,CAAC;SAC1B;KACF,CAAA;IACD,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,MAAM,UAAU,GAAgB,EAAE,CAAA;IAClC,MAAM,OAAO,GAAY,EAAE,CAAA;IAE3B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,YAAY,eAAe,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aAC1C,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,YAAY,oBAAoB,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC/C,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;oBACrB,WAAW,EAAE,EAAE;iBAChB,CAAC,CAAC;aACJ,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,YAAY,iBAAiB,EAAE,CAAC;YACnC,MAAM,MAAM,GAAY,EAAE,CAAA;YAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBAC5B,MAAM,WAAW,GAAa,EAAE,CAAA;gBAChC,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;gBACvC,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,IAAI,EAAE,WAAW,IAAI,GAAG;wBACxB,WAAW;qBACZ,CAAC,CAAA;oBACF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;oBACvC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI;wBAC7C,WAAW,EAAE,EAAE;qBAChB,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,IAAI,EAAE,IAAI;wBACV,WAAW;qBACZ,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM;gBACN,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC;gBACrC,UAAU,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aACjD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG;;;;EAIjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;EAElH,MAAM;SACL,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI;IAC5B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;EACjD,CACC;SACA,IAAI,CAAC,IAAI,CAAC;;EAEX,UAAU;SACT,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,IAAI;IACjC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;EAC1D,CACC;SACA,IAAI,CAAC,IAAI,CAAC;;EAEX,OAAO;SACN,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CAAC;EACT,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;eACX,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;EAC7F,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;8BAE9E,CAAC,CAAC,IAAI;;EAElC,CACC;SACA,IAAI,CAAC,IAAI,CAAC;CACZ,CAAA;IAEC,MAAM,QAAQ,GACZ,QAAQ;QACR;mBACe,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;;;MAIxC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;;;CAGjE,CAAA;IACC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAElC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,OAAO,CAAC,IAAuB,EAAE,QAAkB;IAC1D,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;SAAM,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,cAAc,CAAA;IAC1D,CAAC;SAAM,IAAI,IAAI,YAAY,iBAAiB,IAAI,IAAI,YAAY,oBAAoB,EAAE,CAAC;QACrF,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,cAAc,CAAA;IAC1D,CAAC;SAAM,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QACvC,OAAO,SAAS,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;IACzC,CAAC;SAAM,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,cAAc,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAuB;IAC7C,IAAI,IAAI,YAAY,cAAc,EAAE,CAAC;QACnC,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;SAAM,IAAI,IAAI,YAAY,iBAAiB,IAAI,IAAI,YAAY,oBAAoB,EAAE,CAAC;QACrF,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QACvC,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -1,15 +1,19 @@
1
- import { RichStruct, RichValue } from '@sentio/protos';
2
- import { String, Int, Float, ID, Bytes, Timestamp, Boolean } from './types.js';
3
- import { Entity } from './entity.js';
1
+ import { RichValue } from '@sentio/protos';
2
+ import type { String, Int, Float, ID, Bytes, Timestamp, Boolean } from './types.js';
4
3
  import { BigDecimal } from '@sentio/bigdecimal';
5
4
  export interface ValueConverter<T> {
6
5
  from: (value: T) => RichValue;
7
6
  to: (value: RichValue) => T;
7
+ required?: boolean;
8
+ isArray?: boolean;
9
+ isRelation?: boolean;
10
+ relationName?: string;
8
11
  }
12
+ export declare const ValueRequiredError: Error;
9
13
  export declare function required_<T>(converter: ValueConverter<T | undefined>): ValueConverter<T>;
10
14
  export declare function array_<T>(converter: ValueConverter<T>): ValueConverter<T[]>;
11
15
  export declare function enumerate_<T extends string | number>(values: Record<T, string>): ValueConverter<T>;
12
- export declare function objectId_<T>(): ValueConverter<T | ID>;
16
+ export declare function objectId_<T>(entityName: string): ValueConverter<T | ID>;
13
17
  export declare const StringConverter: ValueConverter<String | undefined>;
14
18
  export declare const IntConverter: ValueConverter<Int | undefined>;
15
19
  export declare const FloatConverter: ValueConverter<Float | undefined>;
@@ -19,14 +23,10 @@ export declare const BytesConverter: ValueConverter<Bytes | undefined>;
19
23
  export declare const IDConverter: ValueConverter<ID | undefined>;
20
24
  export declare const BigDecimalConverter: ValueConverter<BigDecimal | undefined>;
21
25
  export declare const BigIntConverter: ValueConverter<bigint | undefined>;
22
- export declare class StructConverter<T extends Entity> {
23
- private converters;
24
- constructor(converters: Record<string, ValueConverter<any>>);
25
- from(data: any): RichStruct;
26
- }
27
26
  export declare function bytesToBigInt(bytes: Uint8Array): bigint;
28
27
  export declare function toBigInteger(a: bigint): {
29
28
  negative: boolean;
30
29
  data: Uint8Array;
31
30
  };
31
+ export declare const TypeConverters: Record<string, ValueConverter<any>>;
32
32
  //# sourceMappingURL=convert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAA;IAC7B,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,CAAC,CAAA;CAC5B;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAexF;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAa3E;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAgBlG;AAED,wBAAgB,SAAS,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,CAqBrD;AAGD,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAc9D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,GAAG,GAAG,SAAS,CAcxD,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,KAAK,GAAG,SAAS,CAc5D,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,OAAO,GAAG,SAAS,CAchE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,SAAS,GAAG,SAAS,CAcpE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,KAAK,GAAG,SAAS,CAc5D,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,EAAE,GAAG,SAAS,CAAmB,CAAA;AAE1E,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,UAAU,GAAG,SAAS,CA+BtE,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAqB9D,CAAA;AAED,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM;IAC/B,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAEnE,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,UAAU;CAS5B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,UAM9C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM;;;EAerC"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAA;IAC7B,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB,OAAgE,CAAA;AAE/F,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAkBxF;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAgB3E;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAgBlG;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,CA8BvE;AAGD,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAc9D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,GAAG,GAAG,SAAS,CAcxD,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,KAAK,GAAG,SAAS,CAc5D,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,OAAO,GAAG,SAAS,CAchE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,SAAS,GAAG,SAAS,CAcpE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,KAAK,GAAG,SAAS,CAc5D,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,EAAE,GAAG,SAAS,CA0BtD,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,UAAU,GAAG,SAAS,CA+BtE,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAqB9D,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,UAM9C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM;;;EAerC;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAW9D,CAAA"}
@@ -1,20 +1,23 @@
1
1
  import { RichValue_NullValue } from '@sentio/protos';
2
- import { Entity } from './entity.js';
3
2
  import { BigDecimal } from '@sentio/bigdecimal';
3
+ export const ValueRequiredError = new Error('Value is required but received null or undefined');
4
4
  export function required_(converter) {
5
+ const { from, to, ...rest } = converter;
5
6
  return {
6
7
  from: (value) => {
7
8
  if (value == null) {
8
- throw new Error('Value is required but received null or undefined');
9
+ throw ValueRequiredError;
9
10
  }
10
- return converter.from(value);
11
+ return from(value);
11
12
  },
12
13
  to: (value) => {
13
14
  if (value == null || value.nullValue) {
14
- throw new Error('Value is required but received null');
15
+ throw ValueRequiredError;
15
16
  }
16
- return converter.to(value);
17
- }
17
+ return to(value);
18
+ },
19
+ ...rest,
20
+ required: true
18
21
  };
19
22
  }
20
23
  export function array_(converter) {
@@ -28,7 +31,10 @@ export function array_(converter) {
28
31
  },
29
32
  to: (value) => {
30
33
  return value.listValue?.values.map(converter.to) || [];
31
- }
34
+ },
35
+ isArray: true,
36
+ isRelation: converter.isRelation,
37
+ relationName: converter.relationName
32
38
  };
33
39
  }
34
40
  export function enumerate_(values) {
@@ -48,7 +54,7 @@ export function enumerate_(values) {
48
54
  }
49
55
  };
50
56
  }
51
- export function objectId_() {
57
+ export function objectId_(entityName) {
52
58
  return {
53
59
  from: (value) => {
54
60
  if (typeof value == 'string') {
@@ -56,9 +62,15 @@ export function objectId_() {
56
62
  stringValue: value
57
63
  };
58
64
  }
59
- if (value instanceof Entity) {
65
+ if (value instanceof Uint8Array) {
60
66
  return {
61
- stringValue: value.id
67
+ stringValue: `0x${Buffer.from(value).toString('hex')}`
68
+ };
69
+ }
70
+ if (typeof value == 'object') {
71
+ const entity = value;
72
+ return {
73
+ stringValue: entity.id.toString()
62
74
  };
63
75
  }
64
76
  return {
@@ -67,7 +79,9 @@ export function objectId_() {
67
79
  },
68
80
  to(v) {
69
81
  return v.stringValue;
70
- }
82
+ },
83
+ isRelation: true,
84
+ relationName: entityName
71
85
  };
72
86
  }
73
87
  /* eslint-disable */
@@ -161,7 +175,33 @@ export const BytesConverter = {
161
175
  return v.bytesValue;
162
176
  }
163
177
  };
164
- export const IDConverter = StringConverter;
178
+ export const IDConverter = {
179
+ from(value) {
180
+ if (typeof value == 'string') {
181
+ return {
182
+ stringValue: value
183
+ };
184
+ }
185
+ if (value instanceof Uint8Array) {
186
+ return {
187
+ stringValue: `0x${Buffer.from(value).toString('hex')}`
188
+ };
189
+ }
190
+ return {
191
+ nullValue: RichValue_NullValue.NULL_VALUE
192
+ };
193
+ },
194
+ to(value) {
195
+ if (value.stringValue) {
196
+ return value.stringValue;
197
+ }
198
+ if (value.bytesValue) {
199
+ const v = `0x${Buffer.from(value.bytesValue).toString('hex')}`;
200
+ return v;
201
+ }
202
+ return undefined;
203
+ }
204
+ };
165
205
  export const BigDecimalConverter = {
166
206
  from: (value) => {
167
207
  if (value == null) {
@@ -216,21 +256,6 @@ export const BigIntConverter = {
216
256
  return undefined;
217
257
  }
218
258
  };
219
- export class StructConverter {
220
- converters;
221
- constructor(converters) {
222
- this.converters = converters;
223
- }
224
- from(data) {
225
- const fields = {};
226
- for (const [field, value] of Object.entries(data)) {
227
- if (this.converters[field] !== undefined) {
228
- fields[field] = this.converters[field].from(value);
229
- }
230
- }
231
- return { fields };
232
- }
233
- }
234
259
  export function bytesToBigInt(bytes) {
235
260
  let intValue = BigInt(0);
236
261
  for (let i = 0; i < bytes.length; i++) {
@@ -253,4 +278,16 @@ export function toBigInteger(a) {
253
278
  data: new Uint8Array(buffer)
254
279
  };
255
280
  }
281
+ export const TypeConverters = {
282
+ BigDecimal: BigDecimalConverter,
283
+ BigInt: BigIntConverter,
284
+ String: StringConverter,
285
+ Boolean: BooleanConverter,
286
+ Uint8Array: BytesConverter,
287
+ ID: IDConverter,
288
+ Bytes: BytesConverter,
289
+ Int: IntConverter,
290
+ Float: FloatConverter,
291
+ Timestamp: TimestampConverter
292
+ };
256
293
  //# sourceMappingURL=convert.js.map