@sentio/sdk 2.39.4-rc.1 → 2.39.4-rc.11
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/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc1155-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc20-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc20bytes-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/erc721-processor.d.ts.map +1 -1
- package/lib/eth/builtin/internal/weth9-processor.d.ts.map +1 -1
- package/lib/eth/provider.d.ts.map +1 -1
- package/lib/eth/provider.js +3 -3
- package/lib/eth/provider.js.map +1 -1
- package/lib/fuel/context.d.ts.map +1 -1
- package/lib/solana/solana-processor.d.ts +0 -1
- package/lib/solana/solana-processor.d.ts.map +1 -1
- package/lib/store/codegen.d.ts +0 -2
- package/lib/store/codegen.d.ts.map +1 -1
- package/lib/store/codegen.js +137 -170
- package/lib/store/codegen.js.map +1 -1
- package/lib/store/convert.d.ts +10 -10
- package/lib/store/convert.d.ts.map +1 -1
- package/lib/store/convert.js +75 -31
- package/lib/store/convert.js.map +1 -1
- package/lib/store/convert.test.js.map +1 -1
- package/lib/store/decorators.d.ts +24 -7
- package/lib/store/decorators.d.ts.map +1 -1
- package/lib/store/decorators.js +160 -16
- package/lib/store/decorators.js.map +1 -1
- package/lib/store/index.d.ts +0 -1
- package/lib/store/index.d.ts.map +1 -1
- package/lib/store/index.js +0 -1
- package/lib/store/index.js.map +1 -1
- package/lib/store/schema.d.ts.map +1 -1
- package/lib/store/schema.js +39 -1
- package/lib/store/schema.js.map +1 -1
- package/lib/store/store.d.ts +11 -5
- package/lib/store/store.d.ts.map +1 -1
- package/lib/store/store.js +41 -19
- package/lib/store/store.js.map +1 -1
- package/lib/store/types.d.ts +22 -3
- package/lib/store/types.d.ts.map +1 -1
- package/lib/store/types.js +14 -1
- package/lib/store/types.js.map +1 -1
- package/lib/utils/price.d.ts +30 -30
- package/lib/utils/price.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/eth/provider.ts +8 -3
- package/src/store/codegen.ts +171 -196
- package/src/store/convert.ts +84 -34
- package/src/store/decorators.ts +185 -16
- package/src/store/index.ts +0 -1
- package/src/store/schema.ts +41 -1
- package/src/store/store.ts +56 -25
- package/src/store/types.ts +25 -3
- package/lib/store/entity.d.ts +0 -23
- package/lib/store/entity.d.ts.map +0 -1
- package/lib/store/entity.js +0 -70
- package/lib/store/entity.js.map +0 -1
- package/src/store/entity.ts +0 -84
package/lib/store/convert.js
CHANGED
@@ -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
|
9
|
+
throw ValueRequiredError;
|
9
10
|
}
|
10
|
-
return
|
11
|
+
return from(value);
|
11
12
|
},
|
12
13
|
to: (value) => {
|
13
14
|
if (value == null || value.nullValue) {
|
14
|
-
throw
|
15
|
+
throw ValueRequiredError;
|
15
16
|
}
|
16
|
-
return
|
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
|
65
|
+
if (value instanceof Uint8Array) {
|
60
66
|
return {
|
61
|
-
stringValue: value.
|
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 */
|
@@ -131,7 +145,7 @@ export const BooleanConverter = {
|
|
131
145
|
return v.boolValue;
|
132
146
|
}
|
133
147
|
};
|
134
|
-
export const
|
148
|
+
export const TimestampConverter = {
|
135
149
|
from: (value) => {
|
136
150
|
if (value == null) {
|
137
151
|
return {
|
@@ -161,7 +175,33 @@ export const BytesConverter = {
|
|
161
175
|
return v.bytesValue;
|
162
176
|
}
|
163
177
|
};
|
164
|
-
export const IDConverter =
|
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) {
|
@@ -169,8 +209,8 @@ export const BigDecimalConverter = {
|
|
169
209
|
nullValue: RichValue_NullValue.NULL_VALUE
|
170
210
|
};
|
171
211
|
}
|
172
|
-
const
|
173
|
-
const
|
212
|
+
const s = (value.c || []).join('');
|
213
|
+
const exp = -(s.length - (value.e ?? 0) - 1);
|
174
214
|
return {
|
175
215
|
bigdecimalValue: {
|
176
216
|
value: toBigInteger(BigInt(s)),
|
@@ -182,7 +222,14 @@ export const BigDecimalConverter = {
|
|
182
222
|
const d = v.bigdecimalValue;
|
183
223
|
if (d) {
|
184
224
|
const i = bytesToBigInt(d.value.data);
|
185
|
-
|
225
|
+
let ret = new BigDecimal(i.toString());
|
226
|
+
if (d.exp < 0) {
|
227
|
+
ret = ret.dividedBy(new BigDecimal(10).pow(-d.exp));
|
228
|
+
}
|
229
|
+
else {
|
230
|
+
ret = ret.multipliedBy(new BigDecimal(10).pow(d.exp));
|
231
|
+
}
|
232
|
+
return ret.multipliedBy(d.value?.negative ? -1 : 1);
|
186
233
|
}
|
187
234
|
return undefined;
|
188
235
|
}
|
@@ -209,21 +256,6 @@ export const BigIntConverter = {
|
|
209
256
|
return undefined;
|
210
257
|
}
|
211
258
|
};
|
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
259
|
export function bytesToBigInt(bytes) {
|
228
260
|
let intValue = BigInt(0);
|
229
261
|
for (let i = 0; i < bytes.length; i++) {
|
@@ -246,4 +278,16 @@ export function toBigInteger(a) {
|
|
246
278
|
data: new Uint8Array(buffer)
|
247
279
|
};
|
248
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
|
+
};
|
249
293
|
//# sourceMappingURL=convert.js.map
|
package/lib/store/convert.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/store/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAW/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;AAE/F,MAAM,UAAU,SAAS,CAAI,SAAwC;IACnE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAA;IACvC,OAAO;QACL,IAAI,EAAE,CAAC,KAAoB,EAAE,EAAE;YAC7B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,MAAM,kBAAkB,CAAA;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QACD,EAAE,EAAE,CAAC,KAAgB,EAAE,EAAE;YACvB,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrC,MAAM,kBAAkB,CAAA;YAC1B,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,CAAE,CAAA;QACnB,CAAC;QACD,GAAG,IAAI;QACP,QAAQ,EAAE,IAAI;KACf,CAAA;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,SAA4B;IACpD,OAAO;QACL,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE;YACnB,OAAO;gBACL,SAAS,EAAE;oBACT,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;iBAClC;aACF,CAAA;QACH,CAAC;QACD,EAAE,EAAE,CAAC,KAAgB,EAAE,EAAE;YACvB,OAAO,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;QACxD,CAAC;QACD,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,YAAY,EAAE,SAAS,CAAC,YAAY;KACrC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAA4B,MAAyB;IAC7E,OAAO;QACL,IAAI,EAAE,CAAC,KAAS,EAAE,EAAE;YAClB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,OAAO;oBACL,SAAS,EAAE,mBAAmB,CAAC,UAAU;iBAC1C,CAAA;YACH,CAAC;YACD,OAAO;gBACL,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC;aAC3B,CAAA;QACH,CAAC;QACD,EAAE,CAAC,CAAY;YACb,OAAO,CAAC,CAAC,WAAgB,CAAA;QAC3B,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,UAAkB;IAC7C,OAAO;QACL,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE;YACtB,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,OAAO;oBACL,WAAW,EAAE,KAAK;iBACnB,CAAA;YACH,CAAC;YACD,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,OAAO;oBACL,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;iBACvD,CAAA;YACH,CAAC;YAED,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,KAAY,CAAA;gBAC3B,OAAO;oBACL,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE;iBAClC,CAAA;YACH,CAAC;YACD,OAAO;gBACL,SAAS,EAAE,mBAAmB,CAAC,UAAU;aAC1C,CAAA;QACH,CAAC;QACD,EAAE,CAAC,CAAC;YACF,OAAO,CAAC,CAAC,WAAqB,CAAA;QAChC,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,UAAU;KACzB,CAAA;AACH,CAAC;AAED,oBAAoB;AACpB,MAAM,CAAC,MAAM,eAAe,GAAuC;IACjE,IAAI,EAAE,CAAC,KAAc,EAAE,EAAE;QACvB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO;gBACL,SAAS,EAAE,mBAAmB,CAAC,UAAU;aAC1C,CAAA;QACH,CAAC;QACD,OAAO;YACL,WAAW,EAAE,KAAK;SACnB,CAAA;IACH,CAAC;IACD,EAAE,CAAC,CAAC;QACF,OAAO,CAAC,CAAC,WAAW,CAAA;IACtB,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAoC;IAC3D,IAAI,EAAE,CAAC,KAAW,EAAE,EAAE;QACpB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO;gBACL,SAAS,EAAE,mBAAmB,CAAC,UAAU;aAC1C,CAAA;QACH,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,KAAK;SAChB,CAAA;IACH,CAAC;IACD,EAAE,CAAC,CAAC;QACF,OAAO,CAAC,CAAC,QAAQ,CAAA;IACnB,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAsC;IAC/D,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE;QACtB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO;gBACL,SAAS,EAAE,mBAAmB,CAAC,UAAU;aAC1C,CAAA;QACH,CAAC;QACD,OAAO;YACL,UAAU,EAAE,KAAK;SAClB,CAAA;IACH,CAAC;IACD,EAAE,CAAC,CAAC;QACF,OAAO,CAAC,CAAC,UAAU,CAAA;IACrB,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAwC;IACnE,IAAI,EAAE,CAAC,KAAe,EAAE,EAAE;QACxB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO;gBACL,SAAS,EAAE,mBAAmB,CAAC,UAAU;aAC1C,CAAA;QACH,CAAC;QACD,OAAO;YACL,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IACD,EAAE,CAAC,CAAC;QACF,OAAO,CAAC,CAAC,SAAS,CAAA;IACpB,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAA0C;IACvE,IAAI,EAAE,CAAC,KAA4B,EAAE,EAAE;QACrC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO;gBACL,SAAS,EAAE,mBAAmB,CAAC,UAAU;aAC1C,CAAA;QACH,CAAC;QACD,OAAO;YACL,cAAc,EAAE,KAAK;SACtB,CAAA;IACH,CAAC;IACD,EAAE,CAAC,CAAC;QACF,OAAO,CAAC,CAAC,cAAc,CAAA;IACzB,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAsC;IAC/D,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE;QACtB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO;gBACL,SAAS,EAAE,mBAAmB,CAAC,UAAU;aAC1C,CAAA;QACH,CAAC;QACD,OAAO;YACL,UAAU,EAAE,KAAK;SAClB,CAAA;IACH,CAAC;IACD,EAAE,CAAC,CAAC;QACF,OAAO,CAAC,CAAC,UAAU,CAAA;IACrB,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAmC;IACzD,IAAI,CAAC,KAAqB;QACxB,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,OAAO;gBACL,WAAW,EAAE,KAAK;aACnB,CAAA;QACH,CAAC;QACD,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,OAAO;gBACL,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;aACvD,CAAA;QACH,CAAC;QACD,OAAO;YACL,SAAS,EAAE,mBAAmB,CAAC,UAAU;SAC1C,CAAA;IACH,CAAC;IACD,EAAE,CAAC,KAAgB;QACjB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,WAAiB,CAAA;QAChC,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA;YAC9D,OAAO,CAAO,CAAA;QAChB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAA2C;IACzE,IAAI,EAAE,CAAC,KAAkB,EAAa,EAAE;QACtC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO;gBACL,SAAS,EAAE,mBAAmB,CAAC,UAAU;aAC1C,CAAA;QACH,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAE5C,OAAO;YACL,eAAe,EAAE;gBACf,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC9B,GAAG,EAAE,GAAG;aACT;SACF,CAAA;IACH,CAAC;IACD,EAAE,CAAC,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAA;QAC3B,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,KAAM,CAAC,IAAI,CAAC,CAAA;YACtC,IAAI,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;YACtC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;gBACd,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACrD,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACvD,CAAC;YACD,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAuC;IACjE,IAAI,EAAE,CAAC,KAAc,EAAE,EAAE;QACvB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO;gBACL,SAAS,EAAE,mBAAmB,CAAC,UAAU;aAC1C,CAAA;QACH,CAAC;QACD,OAAO;YACL,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC;SACjC,CAAA;IACH,CAAC;IACD,EAAE,CAAC,CAAC;QACF,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClB,IAAI,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;YAC5C,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC3B,GAAG,GAAG,CAAC,GAAG,CAAA;YACZ,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;CACF,CAAA;AAED,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC7C,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAA;IACtB,IAAI,QAAQ,EAAE,CAAC;QACb,CAAC,GAAG,CAAC,CAAC,CAAA;IACR,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACxB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAEtC,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC;KAC7B,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAwC;IACjE,UAAU,EAAE,mBAAmB;IAC/B,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,gBAAgB;IACzB,UAAU,EAAE,cAAc;IAC1B,EAAE,EAAE,WAAW;IACf,KAAK,EAAE,cAAc;IACrB,GAAG,EAAE,YAAY;IACjB,KAAK,EAAE,cAAc;IACrB,SAAS,EAAE,kBAAkB;CAC9B,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"convert.test.js","sourceRoot":"","sources":["../../src/store/convert.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"convert.test.js","sourceRoot":"","sources":["../../src/store/convert.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,cAAc,CAAA;AACpG,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,aAAa,CACX,IAAI,UAAU,CAAC,kEAAkE,CAAC,EAClF,mBAAmB,CACpB,CAAA;QACD,aAAa,CAAC,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,SAAS,aAAa,CAAI,KAAQ,EAAE,SAA4B;QAC9D,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA"}
|
@@ -1,12 +1,29 @@
|
|
1
|
+
import 'reflect-metadata';
|
2
|
+
import { ValueConverter } from './convert.js';
|
3
|
+
import { RichStruct } from '@sentio/protos';
|
1
4
|
type Constructor = {
|
2
5
|
new (...args: any[]): any;
|
3
6
|
};
|
4
|
-
export declare function
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
export declare function
|
7
|
+
export declare function Entity(name: string): <T extends Constructor>(BaseClass: T) => {
|
8
|
+
new (...args: any[]): {
|
9
|
+
[x: string]: any;
|
10
|
+
readonly _data: RichStruct;
|
11
|
+
};
|
12
|
+
} & T;
|
13
|
+
export declare function Column(type: string): (target: any, propertyKey: string) => void;
|
14
|
+
export declare function ListColumn(type?: string): (target: any, propertyKey: string) => void;
|
15
|
+
export declare function column(type?: ValueConverter<any>): (target: any, propertyKey: string) => void;
|
16
|
+
export declare const IDColumn: (target: any, propertyKey: string) => void;
|
17
|
+
export declare const IntColumn: (target: any, propertyKey: string) => void;
|
18
|
+
export declare const FloatColumn: (target: any, propertyKey: string) => void;
|
19
|
+
export declare const BigDecimalColumn: (target: any, propertyKey: string) => void;
|
20
|
+
export declare const BigIntColumn: (target: any, propertyKey: string) => void;
|
21
|
+
export declare const StringColumn: (target: any, propertyKey: string) => void;
|
22
|
+
export declare const BooleanColumn: (target: any, propertyKey: string) => void;
|
23
|
+
export declare const TimestampColumn: (target: any, propertyKey: string) => void;
|
24
|
+
export declare const BytesColumn: (target: any, propertyKey: string) => void;
|
25
|
+
export declare function Required(target: any, propertyKey: string): void;
|
26
|
+
export declare function One(entity: string): (target: any, propertyKey: string) => void;
|
27
|
+
export declare function Many(entity: string): (target: any, propertyKey: string) => void;
|
11
28
|
export {};
|
12
29
|
//# sourceMappingURL=decorators.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CAAE,CAAA;
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AACzB,OAAO,EAcL,cAAc,EACf,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAG3C,KAAK,WAAW,GAAG;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CAAE,CAAA;AAUhD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,IAChB,CAAC,SAAS,WAAW,aAAa,CAAC;kBAgE3B,GAAG,EAAE;;wBADV,UAAU;;MAc/B;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,YACR,GAAG,eAAe,MAAM,UAelD;AAED,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAW,YACjB,GAAG,eAAe,MAAM,UAuBlD;AAED,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,YACtB,GAAG,eAAe,MAAM,UAclD;AAED,eAAO,MAAM,QAAQ,WAhBM,GAAG,eAAe,MAAM,SAgBR,CAAA;AAC3C,eAAO,MAAM,SAAS,WAjBK,GAAG,eAAe,MAAM,SAiBN,CAAA;AAC7C,eAAO,MAAM,WAAW,WAlBG,GAAG,eAAe,MAAM,SAkBF,CAAA;AACjD,eAAO,MAAM,gBAAgB,WAnBF,GAAG,eAAe,MAAM,SAmBQ,CAAA;AAC3D,eAAO,MAAM,YAAY,WApBE,GAAG,eAAe,MAAM,SAoBA,CAAA;AACnD,eAAO,MAAM,YAAY,WArBE,GAAG,eAAe,MAAM,SAqBA,CAAA;AACnD,eAAO,MAAM,aAAa,WAtBC,GAAG,eAAe,MAAM,SAsBE,CAAA;AACrD,eAAO,MAAM,eAAe,WAvBD,GAAG,eAAe,MAAM,SAuBM,CAAA;AACzD,eAAO,MAAM,WAAW,WAxBG,GAAG,eAAe,MAAM,SAwBF,CAAA;AAEjD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,QAOxD;AAED,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,YACP,GAAG,eAAe,MAAM,UAGlD;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,YACR,GAAG,eAAe,MAAM,UAGlD"}
|
package/lib/store/decorators.js
CHANGED
@@ -1,25 +1,169 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
import 'reflect-metadata';
|
2
|
+
import { array_, BigDecimalConverter, BigIntConverter, BooleanConverter, BytesConverter, FloatConverter, IDConverter, IntConverter, objectId_, required_, StringConverter, TimestampConverter, TypeConverters } from './convert.js';
|
3
|
+
import { getStore } from './store.js';
|
4
|
+
function handleError(entity, key, fn) {
|
5
|
+
try {
|
6
|
+
return fn();
|
7
|
+
}
|
8
|
+
catch (e) {
|
9
|
+
throw new Error(`Get property "${key}" from Entity "${entity}" failed: ${e.message}`);
|
10
|
+
}
|
11
|
+
}
|
12
|
+
export function Entity(name) {
|
13
|
+
return function (BaseClass) {
|
14
|
+
Object.defineProperty(BaseClass, 'entityName', {
|
15
|
+
value: name
|
16
|
+
});
|
17
|
+
const meta = BaseClass.meta || {};
|
18
|
+
const target = BaseClass.prototype;
|
19
|
+
for (const [propertyKey, type] of Object.entries(meta)) {
|
20
|
+
if (type.isRelation && type.relationName) {
|
21
|
+
const relationName = type.relationName;
|
22
|
+
const idGetter = function () {
|
23
|
+
return handleError(this.constructor.entityName, propertyKey, () => type.to(this._data.fields[propertyKey]));
|
24
|
+
};
|
25
|
+
const idSetter = function (value) {
|
26
|
+
this._data.fields[propertyKey] = handleError(this.constructor.entityName, propertyKey, () => type.from(value));
|
27
|
+
};
|
28
|
+
const idKey = type.isArray ? propertyKey + 'IDs' : propertyKey + 'ID';
|
29
|
+
Reflect.defineProperty(target, idKey, {
|
30
|
+
get: idGetter,
|
31
|
+
set: idSetter
|
32
|
+
});
|
33
|
+
Reflect.defineProperty(target, propertyKey, {
|
34
|
+
get: function () {
|
35
|
+
const ids = idGetter.call(this);
|
36
|
+
if (Array.isArray(ids)) {
|
37
|
+
return Promise.all(ids.map((id) => {
|
38
|
+
return getStore()?.get(relationName, id);
|
39
|
+
}));
|
40
|
+
}
|
41
|
+
else {
|
42
|
+
return getStore()?.get(relationName, ids);
|
43
|
+
}
|
44
|
+
},
|
45
|
+
set: function (value) {
|
46
|
+
if (value instanceof Promise) {
|
47
|
+
value.then((v) => {
|
48
|
+
idSetter.call(this, v);
|
49
|
+
});
|
50
|
+
}
|
51
|
+
else {
|
52
|
+
idSetter.call(this, value);
|
53
|
+
}
|
54
|
+
}
|
55
|
+
});
|
56
|
+
}
|
57
|
+
else {
|
58
|
+
Reflect.defineProperty(target, propertyKey, {
|
59
|
+
configurable: true,
|
60
|
+
get: function () {
|
61
|
+
return handleError(this.constructor.entityName, propertyKey, () => type.to(this._data.fields[propertyKey]));
|
62
|
+
},
|
63
|
+
set: function (value) {
|
64
|
+
this._data.fields[propertyKey] = handleError(this.constructor.entityName, propertyKey, () => type.from(value));
|
65
|
+
}
|
66
|
+
});
|
67
|
+
}
|
68
|
+
}
|
69
|
+
return class extends BaseClass {
|
70
|
+
_data = { fields: {} };
|
71
|
+
constructor(...args) {
|
72
|
+
super();
|
73
|
+
for (const key of Object.getOwnPropertyNames(this)) {
|
74
|
+
if (BaseClass.prototype.hasOwnProperty(key)) {
|
75
|
+
delete this[key];
|
76
|
+
}
|
77
|
+
}
|
78
|
+
if (args[0]) {
|
79
|
+
Object.assign(this, args[0]);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
};
|
5
83
|
};
|
6
84
|
}
|
7
|
-
export function
|
8
|
-
return function (target,
|
85
|
+
export function Column(type) {
|
86
|
+
return function (target, propertyKey) {
|
87
|
+
let required = false;
|
88
|
+
if (type.endsWith('!')) {
|
89
|
+
required = true;
|
90
|
+
type = type.slice(0, -1);
|
91
|
+
}
|
92
|
+
let typeConverter = TypeConverters[type];
|
93
|
+
if (!typeConverter) {
|
94
|
+
throw new Error(`Unsupported type ${type}`);
|
95
|
+
}
|
96
|
+
if (required) {
|
97
|
+
typeConverter = required_(typeConverter);
|
98
|
+
}
|
99
|
+
column(typeConverter)(target, propertyKey);
|
100
|
+
};
|
9
101
|
}
|
10
|
-
export function
|
11
|
-
return function (target,
|
102
|
+
export function ListColumn(type = '') {
|
103
|
+
return function (target, propertyKey) {
|
104
|
+
let required = false;
|
105
|
+
if (type.endsWith('!')) {
|
106
|
+
required = true;
|
107
|
+
type = type.slice(0, -1);
|
108
|
+
}
|
109
|
+
let typeConverter = TypeConverters[type];
|
110
|
+
if (!typeConverter) {
|
111
|
+
// support list of list
|
112
|
+
const meta = target.constructor.meta || {};
|
113
|
+
const type = meta[propertyKey];
|
114
|
+
if (type) {
|
115
|
+
typeConverter = type;
|
116
|
+
}
|
117
|
+
else {
|
118
|
+
throw new Error(`Can't find inner type convert`);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
if (required) {
|
122
|
+
typeConverter = required_(typeConverter);
|
123
|
+
}
|
124
|
+
column(array_(typeConverter))(target, propertyKey);
|
125
|
+
};
|
12
126
|
}
|
13
|
-
export function
|
14
|
-
return function (target,
|
127
|
+
export function column(type) {
|
128
|
+
return function (target, propertyKey) {
|
129
|
+
const reflectType = Reflect.getMetadata('design:type', target, propertyKey);
|
130
|
+
if (!type) {
|
131
|
+
const typeName = reflectType.name;
|
132
|
+
type = TypeConverters[typeName];
|
133
|
+
if (!type) {
|
134
|
+
throw new Error(`Unsupported type ${typeName}`);
|
135
|
+
}
|
136
|
+
}
|
137
|
+
const meta = target.constructor.meta || {};
|
138
|
+
meta[propertyKey] = type;
|
139
|
+
target.constructor.meta = meta;
|
140
|
+
};
|
15
141
|
}
|
16
|
-
export
|
17
|
-
|
142
|
+
export const IDColumn = column(IDConverter);
|
143
|
+
export const IntColumn = column(IntConverter);
|
144
|
+
export const FloatColumn = column(FloatConverter);
|
145
|
+
export const BigDecimalColumn = column(BigDecimalConverter);
|
146
|
+
export const BigIntColumn = column(BigIntConverter);
|
147
|
+
export const StringColumn = column(StringConverter);
|
148
|
+
export const BooleanColumn = column(BooleanConverter);
|
149
|
+
export const TimestampColumn = column(TimestampConverter);
|
150
|
+
export const BytesColumn = column(BytesConverter);
|
151
|
+
export function Required(target, propertyKey) {
|
152
|
+
const meta = target.constructor.meta || {};
|
153
|
+
const type = meta[propertyKey];
|
154
|
+
if (type) {
|
155
|
+
meta[propertyKey] = required_(type);
|
156
|
+
}
|
157
|
+
target.constructor.meta = meta;
|
18
158
|
}
|
19
|
-
export function
|
20
|
-
return function (target,
|
159
|
+
export function One(entity) {
|
160
|
+
return function (target, propertyKey) {
|
161
|
+
column(objectId_(entity))(target, propertyKey);
|
162
|
+
};
|
21
163
|
}
|
22
|
-
export function
|
23
|
-
return function (target,
|
164
|
+
export function Many(entity) {
|
165
|
+
return function (target, propertyKey) {
|
166
|
+
column(array_(objectId_(entity)))(target, propertyKey);
|
167
|
+
};
|
24
168
|
}
|
25
169
|
//# sourceMappingURL=decorators.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/store/index.d.ts
CHANGED
package/lib/store/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
package/lib/store/index.js
CHANGED
package/lib/store/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAgB,aAAa,EAAyB,MAAM,kBAAkB,CAAA;
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAgB,aAAa,EAAyB,MAAM,kBAAkB,CAAA;AA4DnH,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,aAAa,CAQ5D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM;;;EAI9C"}
|
package/lib/store/schema.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { buildASTSchema, extendSchema, parse, validateSchema } from 'graphql/index.js';
|
2
2
|
import * as fs from 'node:fs';
|
3
|
-
|
3
|
+
import { GraphQLObjectType, isListType, isNonNullType } from 'graphql';
|
4
|
+
const customScalars = ['BigInt', 'BigDecimal', 'Timestamp', 'JSON', 'Bytes', 'ID'];
|
4
5
|
const baseSchema = buildASTSchema(parse(`
|
5
6
|
directive @entity on OBJECT
|
6
7
|
directive @query on INTERFACE
|
@@ -14,12 +15,49 @@ const baseSchema = buildASTSchema(parse(`
|
|
14
15
|
directive @jsonField on OBJECT # legacy
|
15
16
|
${customScalars.map((name) => 'scalar ' + name).join('\n')}
|
16
17
|
`));
|
18
|
+
function getElemType(type) {
|
19
|
+
if (isNonNullType(type)) {
|
20
|
+
return getElemType(type.ofType);
|
21
|
+
}
|
22
|
+
if (isListType(type)) {
|
23
|
+
return getElemType(type.ofType);
|
24
|
+
}
|
25
|
+
return type;
|
26
|
+
}
|
27
|
+
function checkRelations(schema) {
|
28
|
+
for (const t of Object.values(schema.getTypeMap())) {
|
29
|
+
if (t.name.startsWith('__')) {
|
30
|
+
continue;
|
31
|
+
}
|
32
|
+
if (t instanceof GraphQLObjectType) {
|
33
|
+
for (const f of Object.values(t.getFields())) {
|
34
|
+
if (f.astNode) {
|
35
|
+
for (const d of f.astNode.directives ?? []) {
|
36
|
+
if (d.name.value === 'derivedFrom') {
|
37
|
+
const arg = (d.arguments ?? []).find((a) => a.name.value === 'field');
|
38
|
+
if (!arg || !arg.value || arg.value.kind !== 'StringValue') {
|
39
|
+
throw new Error(`@derivedFrom directive must have a 'field' argument`);
|
40
|
+
}
|
41
|
+
const fieldName = arg.value.value;
|
42
|
+
const targetType = getElemType(f.type);
|
43
|
+
// Check if the target type has a field with the same name
|
44
|
+
if (!targetType.getFields()[fieldName]) {
|
45
|
+
throw new Error(`Field '${fieldName}' not found in type '${targetType.name}'`);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
17
54
|
export function buildSchema(doc) {
|
18
55
|
const schema = extendSchema(baseSchema, doc);
|
19
56
|
const errors = validateSchema(schema).filter((err) => !/query root/i.test(err.message));
|
20
57
|
if (errors.length > 0) {
|
21
58
|
throw errors[0];
|
22
59
|
}
|
60
|
+
checkRelations(schema);
|
23
61
|
return schema;
|
24
62
|
}
|
25
63
|
export function schemaFromFile(filePath) {
|
package/lib/store/schema.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,YAAY,EAAiB,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACnH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"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"}
|
package/lib/store/store.d.ts
CHANGED
@@ -1,13 +1,18 @@
|
|
1
|
-
import { Entity, EntityClass } from './entity.js';
|
2
1
|
import { StoreContext } from './context.js';
|
3
2
|
import { BigDecimal } from '@sentio/bigdecimal';
|
4
|
-
import { Bytes,
|
5
|
-
type Value = ID | string | Int | Float | boolean |
|
3
|
+
import { Bytes, Float, ID, Int, Timestamp } from './types.js';
|
4
|
+
type Value = ID | string | Int | Float | boolean | Timestamp | Bytes | BigDecimal | bigint;
|
5
|
+
interface Entity {
|
6
|
+
id: ID;
|
7
|
+
}
|
8
|
+
export interface EntityClass<T> {
|
9
|
+
new (data: Partial<T>): T;
|
10
|
+
}
|
6
11
|
export declare class Store {
|
7
12
|
private readonly context;
|
8
13
|
constructor(context: StoreContext);
|
9
|
-
get<T extends Entity>(entity: EntityClass<T> | string, id:
|
10
|
-
delete(entity: EntityClass<
|
14
|
+
get<T extends Entity>(entity: EntityClass<T> | string, id: ID): Promise<T | undefined>;
|
15
|
+
delete<T extends Entity>(entity: EntityClass<T> | T | T[], id?: string | string[]): Promise<void>;
|
11
16
|
upsert<T extends Entity>(entity: T | T[]): Promise<void>;
|
12
17
|
list<T extends Entity>(entity: EntityClass<T>, filters?: ListFilter<T>[]): AsyncGenerator<T, void, unknown>;
|
13
18
|
private newEntity;
|
@@ -21,5 +26,6 @@ export interface ListFilter<T extends Entity> {
|
|
21
26
|
export interface ListOptions<T extends Entity> {
|
22
27
|
cursor: string;
|
23
28
|
}
|
29
|
+
export declare function getStore(): Store | undefined;
|
24
30
|
export {};
|
25
31
|
//# sourceMappingURL=store.d.ts.map
|
package/lib/store/store.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAM7D,KAAK,KAAK,GAAG,EAAE,GAAG,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAA;AAE1F,UAAU,MAAM;IACd,EAAE,EAAE,EAAE,CAAA;CACP;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;CAC1B;AAED,qBAAa,KAAK;IACJ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAE5C,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAiBtF,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BjG,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE;IA2B/E,OAAO,CAAC,SAAS;CAiBlB;AAED,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAA;AAE9E,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM;IAC1C,KAAK,EAAE,MAAM,CAAC,CAAA;IACd,EAAE,EAAE,SAAS,CAAA;IACb,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM;IAC3C,MAAM,EAAE,MAAM,CAAA;CACf;AA+DD,wBAAgB,QAAQ,sBAMvB"}
|