@sentio/sdk 2.39.3 → 2.39.4-rc.1

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 +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;AA0MD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,aAAa,UAU3D"}
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"}
@@ -21,19 +21,16 @@ async function codegenInternal(schema, source, target) {
21
21
  '/* Autogenerated file. Do not edit manually. */\n',
22
22
  '/* tslint:disable */',
23
23
  '/* eslint-disable */',
24
- "import {entity, derivedFrom, DateTime, Int, Float, String, Json, Bytes, ID, Entity, Store} from '@sentio/sdk/store'",
25
- `import { DatabaseSchema, BigDecimal } from "@sentio/sdk"`
24
+ "import { entity, derivedFrom, DateTime, Int, Float, String, Bytes, Boolean, ID, Entity, Store } from '@sentio/sdk/store'",
25
+ `import { BigDecimalConverter, BigIntConverter, IntConverter, StringConverter, IDConverter, BooleanConverter, BytesConverter, DateTimeConverter, FloatConverter, StructConverter, required_, array_, enumerate_, objectId_ } from '@sentio/sdk/store'`,
26
+ `import { DatabaseSchema, BigDecimal } from "@sentio/sdk"`,
27
+ `type BigInt = bigint`
26
28
  ];
27
29
  const entities = [];
28
30
  for (const t of Object.values(schema.getTypeMap())) {
29
31
  if (t.name.startsWith('__')) {
30
32
  continue;
31
33
  }
32
- if (t instanceof GraphQLObjectType) {
33
- const entityContent = genEntity(t);
34
- results.push(entityContent);
35
- entities.push(t.name);
36
- }
37
34
  if (t instanceof GraphQLEnumType) {
38
35
  results.push(genEnum(t));
39
36
  }
@@ -41,6 +38,16 @@ async function codegenInternal(schema, source, target) {
41
38
  results.push(genInterface(t));
42
39
  }
43
40
  }
41
+ for (const t of Object.values(schema.getTypeMap())) {
42
+ if (t.name.startsWith('__')) {
43
+ continue;
44
+ }
45
+ if (t instanceof GraphQLObjectType) {
46
+ const entityContent = genEntity(t);
47
+ results.push(entityContent);
48
+ entities.push(t.name);
49
+ }
50
+ }
44
51
  const contents = results.join('\n') +
45
52
  `\n
46
53
  const source = \`${source.replaceAll('`', '`')}\`
@@ -70,12 +77,12 @@ const graphqlTypes = Object.entries(JsTypes).reduce((acc, [k, v]) => {
70
77
  acc[v] = k;
71
78
  return acc;
72
79
  }, {});
73
- function genType(type) {
80
+ function genType(type, required) {
74
81
  if (type instanceof GraphQLNonNull) {
75
- return genType(type.ofType);
82
+ return genType(type.ofType, true);
76
83
  }
77
84
  else if (type instanceof GraphQLScalarType) {
78
- return type.name;
85
+ return required ? type.name : `${type.name} | undefined`;
79
86
  }
80
87
  else if (type instanceof GraphQLObjectType || type instanceof GraphQLInterfaceType) {
81
88
  return type.name;
@@ -116,37 +123,42 @@ function getElementType(type) {
116
123
  }
117
124
  return type;
118
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
+ };
119
141
  function genField(field) {
120
142
  const isNonNull = field.type instanceof GraphQLNonNull;
121
143
  const directives = field.astNode?.directives?.map((d) => '\t' + directive2decorator(d) + '\n') || [];
122
144
  const type = genType(field.type);
123
- const returnType = isNonNull ? type : `${type} | undefined`;
124
145
  if (isObject(field.type)) {
125
146
  const t = getElementType(field.type);
126
147
  const typeAsArg = isInterfaceType(t) ? `"${t}"` : genType(t);
127
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>`;
128
152
  return `${directives.join()}\tget ${field.name}(): Promise<${genType(t)}[]> { return this.getFieldObjectArray(${typeAsArg}, "${field.name}") as Promise<${genType(t)}[]> }
129
- set ${field.name}(value: ${type} | ID[]) { this.set("${field.name}", value) }
130
- get ${field.name}Ids(): ID[] { return this.get("${field.name}") }`;
153
+ set ${field.name}(value: ${type} | ID[]) { this.setObject("${field.name}", value) }
154
+ get ${field.name}Ids(): ${returnType} { return this.get("${field.name}", ${converter}) }`;
131
155
  }
132
- return `${directives.join()}\tget ${field.name}(): Promise<${genType(t)} | undefined> { return this.getFieldObject(${typeAsArg},"${field.name}") as Promise<${genType(t)} | undefined> }
133
- set ${field.name}(value: ${type} | ID) { this.set("${field.name}", value) }
134
- get ${field.name}Id(): ID | undefined { return this.get("${field.name}") }`;
135
- }
136
- if (returnType == 'BigInt') {
137
- return `${directives.join()}\tget ${field.name}(): bigint { return BigInt(this.get("${field.name}")) }
138
- set ${field.name}(value: ${type}) { this.set("${field.name}", value.toString()) }`;
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) }`;
139
159
  }
140
- if (returnType == 'BigDecimal') {
141
- return `${directives.join()}\tget ${field.name}(): ${returnType} { return new BigDecimal(this.get("${field.name}")) }
142
- set ${field.name}(value: ${type}) { this.set("${field.name}", value.toString()) }`;
143
- }
144
- if (returnType == 'Bytes') {
145
- return `${directives.join()}\tget ${field.name}(): ${returnType} { return Uint8Array.from(Buffer.from(this.get<string>("${field.name}"), 'hex')) ) }
146
- set ${field.name}(value: ${type}) { this.set("${field.name}", Buffer.from(value).toString('hex')) }`;
147
- }
148
- return `${directives.join()}\tget ${field.name}(): ${returnType} { return this.get("${field.name}") }
149
- set ${field.name}(value: ${type}) { this.set("${field.name}", value) }`;
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)}) }`;
150
162
  }
151
163
  function genDataType(t) {
152
164
  let output = `type ${t.name}Data = `;
@@ -184,12 +196,22 @@ ${genDataType(t)}
184
196
  ${decorators.join('\n')}
185
197
  @entity("${t.name}")
186
198
  export class ${t.name} extends Entity${impls} {
199
+ ${genConverters(t)}
187
200
  constructor(data: Partial<${t.name}Data>) {
188
- super(data)
201
+ super(${t.name}.entityConverter.from(data))
189
202
  }
190
203
  ${Object.values(t.getFields()).map(genField).join('\n')}
191
204
  }`;
192
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
+ }
193
215
  function genInterface(t) {
194
216
  return `
195
217
  export interface ${t.name} {
@@ -214,7 +236,7 @@ function genEnum(t) {
214
236
  export enum ${t.name} {
215
237
  ${t
216
238
  .getValues()
217
- .map((v) => `\t${v.name}`)
239
+ .map((v) => `\t${v.name} = "${v.value}"`)
218
240
  .join(', ')}
219
241
  }`;
220
242
  }
@@ -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":"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"}
@@ -0,0 +1,32 @@
1
+ import { RichStruct, RichValue } from '@sentio/protos';
2
+ import { String, Int, Float, ID, Bytes, DateTime, Boolean } from './types.js';
3
+ import { Entity } from './entity.js';
4
+ import { BigDecimal } from '@sentio/bigdecimal';
5
+ export interface ValueConverter<T> {
6
+ from: (value: T) => RichValue;
7
+ to: (value: RichValue) => T;
8
+ }
9
+ export declare function required_<T>(converter: ValueConverter<T | undefined>): ValueConverter<T>;
10
+ export declare function array_<T>(converter: ValueConverter<T>): ValueConverter<T[]>;
11
+ export declare function enumerate_<T extends string | number>(values: Record<T, string>): ValueConverter<T>;
12
+ export declare function objectId_<T>(): ValueConverter<T | ID>;
13
+ export declare const StringConverter: ValueConverter<String | undefined>;
14
+ export declare const IntConverter: ValueConverter<Int | undefined>;
15
+ export declare const FloatConverter: ValueConverter<Float | undefined>;
16
+ export declare const BooleanConverter: ValueConverter<Boolean | undefined>;
17
+ export declare const DateTimeConverter: ValueConverter<DateTime | undefined>;
18
+ export declare const BytesConverter: ValueConverter<Bytes | undefined>;
19
+ export declare const IDConverter: ValueConverter<ID | undefined>;
20
+ export declare const BigDecimalConverter: ValueConverter<BigDecimal | undefined>;
21
+ 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
+ export declare function bytesToBigInt(bytes: Uint8Array): bigint;
28
+ export declare function toBigInteger(a: bigint): {
29
+ negative: boolean;
30
+ data: Uint8Array;
31
+ };
32
+ //# sourceMappingURL=convert.d.ts.map
@@ -0,0 +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,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC7E,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,iBAAiB,EAAE,cAAc,CAAC,QAAQ,GAAG,SAAS,CAclE,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,CA0BtE,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"}
@@ -0,0 +1,249 @@
1
+ import { RichValue_NullValue } from '@sentio/protos';
2
+ import { Entity } from './entity.js';
3
+ import { BigDecimal } from '@sentio/bigdecimal';
4
+ export function required_(converter) {
5
+ return {
6
+ from: (value) => {
7
+ if (value == null) {
8
+ throw new Error('Value is required but received null or undefined');
9
+ }
10
+ return converter.from(value);
11
+ },
12
+ to: (value) => {
13
+ if (value == null || value.nullValue) {
14
+ throw new Error('Value is required but received null');
15
+ }
16
+ return converter.to(value);
17
+ }
18
+ };
19
+ }
20
+ export function array_(converter) {
21
+ return {
22
+ from: (value) => {
23
+ return {
24
+ listValue: {
25
+ values: value.map(converter.from)
26
+ }
27
+ };
28
+ },
29
+ to: (value) => {
30
+ return value.listValue?.values.map(converter.to) || [];
31
+ }
32
+ };
33
+ }
34
+ export function enumerate_(values) {
35
+ return {
36
+ from: (value) => {
37
+ if (value == null) {
38
+ return {
39
+ nullValue: RichValue_NullValue.NULL_VALUE
40
+ };
41
+ }
42
+ return {
43
+ stringValue: values[value]
44
+ };
45
+ },
46
+ to(v) {
47
+ return v.stringValue;
48
+ }
49
+ };
50
+ }
51
+ export function objectId_() {
52
+ return {
53
+ from: (value) => {
54
+ if (typeof value == 'string') {
55
+ return {
56
+ stringValue: value
57
+ };
58
+ }
59
+ if (value instanceof Entity) {
60
+ return {
61
+ stringValue: value.id
62
+ };
63
+ }
64
+ return {
65
+ nullValue: RichValue_NullValue.NULL_VALUE
66
+ };
67
+ },
68
+ to(v) {
69
+ return v.stringValue;
70
+ }
71
+ };
72
+ }
73
+ /* eslint-disable */
74
+ export const StringConverter = {
75
+ from: (value) => {
76
+ if (value == null) {
77
+ return {
78
+ nullValue: RichValue_NullValue.NULL_VALUE
79
+ };
80
+ }
81
+ return {
82
+ stringValue: value
83
+ };
84
+ },
85
+ to(v) {
86
+ return v.stringValue;
87
+ }
88
+ };
89
+ export const IntConverter = {
90
+ from: (value) => {
91
+ if (value == null) {
92
+ return {
93
+ nullValue: RichValue_NullValue.NULL_VALUE
94
+ };
95
+ }
96
+ return {
97
+ intValue: value
98
+ };
99
+ },
100
+ to(v) {
101
+ return v.intValue;
102
+ }
103
+ };
104
+ export const FloatConverter = {
105
+ from: (value) => {
106
+ if (value == null) {
107
+ return {
108
+ nullValue: RichValue_NullValue.NULL_VALUE
109
+ };
110
+ }
111
+ return {
112
+ floatValue: value
113
+ };
114
+ },
115
+ to(v) {
116
+ return v.floatValue;
117
+ }
118
+ };
119
+ export const BooleanConverter = {
120
+ from: (value) => {
121
+ if (value == null) {
122
+ return {
123
+ nullValue: RichValue_NullValue.NULL_VALUE
124
+ };
125
+ }
126
+ return {
127
+ boolValue: value
128
+ };
129
+ },
130
+ to(v) {
131
+ return v.boolValue;
132
+ }
133
+ };
134
+ export const DateTimeConverter = {
135
+ from: (value) => {
136
+ if (value == null) {
137
+ return {
138
+ nullValue: RichValue_NullValue.NULL_VALUE
139
+ };
140
+ }
141
+ return {
142
+ timestampValue: value
143
+ };
144
+ },
145
+ to(v) {
146
+ return v.timestampValue;
147
+ }
148
+ };
149
+ export const BytesConverter = {
150
+ from: (value) => {
151
+ if (value == null) {
152
+ return {
153
+ nullValue: RichValue_NullValue.NULL_VALUE
154
+ };
155
+ }
156
+ return {
157
+ bytesValue: value
158
+ };
159
+ },
160
+ to(v) {
161
+ return v.bytesValue;
162
+ }
163
+ };
164
+ export const IDConverter = StringConverter;
165
+ export const BigDecimalConverter = {
166
+ from: (value) => {
167
+ if (value == null) {
168
+ return {
169
+ nullValue: RichValue_NullValue.NULL_VALUE
170
+ };
171
+ }
172
+ const exp = value.decimalPlaces() ?? 0;
173
+ const s = value.multipliedBy(new BigDecimal(10).pow(exp)).toFixed();
174
+ return {
175
+ bigdecimalValue: {
176
+ value: toBigInteger(BigInt(s)),
177
+ exp: exp
178
+ }
179
+ };
180
+ },
181
+ to(v) {
182
+ const d = v.bigdecimalValue;
183
+ if (d) {
184
+ const i = bytesToBigInt(d.value.data);
185
+ return new BigDecimal(`${i}`).dividedBy(new BigDecimal(10).pow(d.exp)).multipliedBy(d.value?.negative ? -1 : 1);
186
+ }
187
+ return undefined;
188
+ }
189
+ };
190
+ export const BigIntConverter = {
191
+ from: (value) => {
192
+ if (value == null) {
193
+ return {
194
+ nullValue: RichValue_NullValue.NULL_VALUE
195
+ };
196
+ }
197
+ return {
198
+ bigintValue: toBigInteger(value)
199
+ };
200
+ },
201
+ to(v) {
202
+ if (v.bigintValue) {
203
+ let res = bytesToBigInt(v.bigintValue?.data);
204
+ if (v.bigintValue.negative) {
205
+ res = -res;
206
+ }
207
+ return res;
208
+ }
209
+ return undefined;
210
+ }
211
+ };
212
+ export class StructConverter {
213
+ converters;
214
+ constructor(converters) {
215
+ this.converters = converters;
216
+ }
217
+ from(data) {
218
+ const fields = {};
219
+ for (const [field, value] of Object.entries(data)) {
220
+ if (this.converters[field] !== undefined) {
221
+ fields[field] = this.converters[field].from(value);
222
+ }
223
+ }
224
+ return { fields };
225
+ }
226
+ }
227
+ export function bytesToBigInt(bytes) {
228
+ let intValue = BigInt(0);
229
+ for (let i = 0; i < bytes.length; i++) {
230
+ intValue = intValue * BigInt(256) + BigInt(bytes[i]);
231
+ }
232
+ return intValue;
233
+ }
234
+ export function toBigInteger(a) {
235
+ const negative = a < 0;
236
+ if (negative) {
237
+ a = -a;
238
+ }
239
+ let hex = a.toString(16);
240
+ if (hex.length % 2 === 1) {
241
+ hex = '0' + hex;
242
+ }
243
+ const buffer = Buffer.from(hex, 'hex');
244
+ return {
245
+ negative: negative,
246
+ data: new Uint8Array(buffer)
247
+ };
248
+ }
249
+ //# sourceMappingURL=convert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=convert.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.test.d.ts","sourceRoot":"","sources":["../../src/store/convert.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert.test.js","sourceRoot":"","sources":["../../src/store/convert.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,GAAG,MAAM,CAAA;QAChB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAG,6DAA6D,CAAA;QACvE,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QACnC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAA;QAC1C,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,kEAAkE,CAAC,CAAA;QAC5F,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QACvC,MAAM,EAAE,GAAG,mBAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,17 +1,23 @@
1
1
  import { ID } from './types.js';
2
+ import { RichStruct } from '@sentio/protos';
3
+ import { ValueConverter } from './convert.js';
2
4
  export interface EntityClass<T extends Entity> {
3
5
  new (data: any): T;
4
6
  }
5
7
  export declare class Entity {
8
+ private _data;
6
9
  get id(): ID;
7
- data: Record<string, any>;
8
- constructor(data: any);
10
+ protected fromPojo(data: any, converters: Record<string, ValueConverter<any>>): void;
11
+ constructor(_data?: RichStruct);
12
+ setData(data: RichStruct): void;
9
13
  private getIdFromEntity;
10
14
  private getStore;
11
- get<T>(field: string): T;
12
- set<T>(field: string, value: T | T[] | ID | ID[]): void;
13
- protected getFieldObject<T extends Entity>(entity: EntityClass<T> | string, field: string): Promise<T | undefined>;
15
+ get<T>(field: string, converter: ValueConverter<T>): T;
16
+ set<T>(field: string, value: T, serializer: ValueConverter<T>): void;
17
+ protected getObject<T extends Entity>(entity: EntityClass<T> | string, field: string): Promise<T | undefined>;
18
+ protected setObject(field: string, value: any): void;
14
19
  protected getFieldObjectArray<T extends Entity>(entity: EntityClass<T>, field: string): Promise<T[]>;
15
20
  toString(): string;
21
+ serialize(): RichStruct;
16
22
  }
17
23
  //# sourceMappingURL=entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/store/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAI/B,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM;IAC3C,KAAK,IAAI,EAAE,GAAG,GAAG,CAAC,CAAA;CACnB;AAED,qBAAa,MAAM;IACjB,IAAI,EAAE,IAAI,EAAE,CAEX;IAED,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAK;gBAClB,IAAI,EAAE,GAAG;IAUrB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,QAAQ;IAQhB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAIxB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI;IASvD,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAKlH,SAAS,CAAC,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAMpG,QAAQ,IAAI,MAAM;CAKnB"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/store/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAG/B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAkC,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7E,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM;IAC3C,KAAK,IAAI,EAAE,GAAG,GAAG,CAAC,CAAA;CACnB;AAED,qBAAa,MAAM;IAaL,OAAO,CAAC,KAAK;IAZzB,IAAI,EAAE,IAAI,EAAE,CAEX;IAED,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;gBAQzD,KAAK,GAAE,UAA2B;IAEtD,OAAO,CAAC,IAAI,EAAE,UAAU;IAIxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,QAAQ;IAQhB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;IAKtD,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAUpE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAK7G,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAIpD,SAAS,CAAC,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAMpG,QAAQ,IAAI,MAAM;IAMlB,SAAS,IAAI,UAAU;CAGxB"}
@@ -1,25 +1,26 @@
1
1
  import { PluginManager } from '@sentio/runtime';
2
2
  import { Store } from './store.js';
3
+ import { array_, IDConverter, required_ } from './convert.js';
3
4
  export class Entity {
5
+ _data;
4
6
  get id() {
5
- return this.get('id');
7
+ return this.get('id', required_(IDConverter));
6
8
  }
7
- data = {};
8
- constructor(data) {
9
- Object.entries(data).forEach(([key, value]) => {
10
- if (Array.isArray(value)) {
11
- this.data[key] = value.map((v) => this.getIdFromEntity(v));
9
+ fromPojo(data, converters) {
10
+ for (const [field, value] of Object.entries(data)) {
11
+ if (converters[field] !== undefined) {
12
+ this.set(field, value, converters[field]);
12
13
  }
13
- else {
14
- this.data[key] = this.getIdFromEntity(value);
15
- }
16
- });
14
+ }
15
+ }
16
+ constructor(_data = { fields: {} }) {
17
+ this._data = _data;
18
+ }
19
+ setData(data) {
20
+ this._data = data;
17
21
  }
18
22
  getIdFromEntity(entity) {
19
- if (entity instanceof Entity) {
20
- return entity.id;
21
- }
22
- else if (typeof entity === 'object' && entity.id) {
23
+ if (typeof entity === 'object' && entity.id) {
23
24
  return entity.id;
24
25
  }
25
26
  return entity;
@@ -31,31 +32,39 @@ export class Entity {
31
32
  }
32
33
  return undefined;
33
34
  }
34
- get(field) {
35
- return this.data[field];
35
+ get(field, converter) {
36
+ const value = this._data.fields[field];
37
+ return converter.to(value);
36
38
  }
37
- set(field, value) {
38
- if (Array.isArray(value) && value instanceof Entity) {
39
- this.data[field] = value.map((v) => v.id);
39
+ set(field, value, serializer) {
40
+ if (Array.isArray(value)) {
41
+ this._data.fields[field] = {
42
+ listValue: { values: value.map((v) => serializer.from(v)) }
43
+ };
40
44
  }
41
- else if (value instanceof Entity) {
42
- this.data[field] = value.id;
45
+ else {
46
+ this._data.fields[field] = serializer.from(value);
43
47
  }
44
- this.data[field] = value;
45
48
  }
46
- getFieldObject(entity, field) {
47
- const id = this.data[field];
49
+ getObject(entity, field) {
50
+ const id = this.get(field, IDConverter);
48
51
  return id ? this.getStore()?.get(entity, id) : Promise.resolve(undefined);
49
52
  }
53
+ setObject(field, value) {
54
+ this.set(field, this.getIdFromEntity(value), IDConverter);
55
+ }
50
56
  getFieldObjectArray(entity, field) {
51
- const ids = this.data[field];
57
+ const ids = this.get(field, array_(IDConverter));
52
58
  const promises = ids.map((id) => this.getStore()?.get(entity, id));
53
59
  return Promise.all(promises);
54
60
  }
55
61
  toString() {
56
62
  const entityName = this.constructor.prototype.entityName;
57
63
  const id = this.id;
58
- return `${entityName}#${id} ${JSON.stringify(this.data)}`;
64
+ return `${entityName}#${id} ${JSON.stringify(this._data)}`;
65
+ }
66
+ serialize() {
67
+ return this._data;
59
68
  }
60
69
  }
61
70
  //# sourceMappingURL=entity.js.map