@sentio/sdk 2.39.4-rc.1 → 2.39.4-rc.10
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/provider.d.ts.map +1 -1
- package/lib/eth/provider.js +3 -3
- package/lib/eth/provider.js.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/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
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/eth/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAW,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAI3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,eAAO,MAAM,aAAa,iBAA2C,CAAA;AAcrE,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,QAAQ,
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/eth/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAW,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAI3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,eAAO,MAAM,aAAa,iBAA2C,CAAA;AAcrE,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,QAAQ,CAgC1D"}
|
package/lib/eth/provider.js
CHANGED
@@ -33,7 +33,7 @@ export function getProvider(chainId) {
|
|
33
33
|
', configured chains: ' +
|
34
34
|
[...Endpoints.INSTANCE.chainServer.keys()].join(' '));
|
35
35
|
}
|
36
|
-
provider = new QueuedStaticJsonRpcProvider(address, network, Endpoints.INSTANCE.concurrency);
|
36
|
+
provider = new QueuedStaticJsonRpcProvider(address, network, Endpoints.INSTANCE.concurrency, Endpoints.INSTANCE.batchCount);
|
37
37
|
providers.set(key, provider);
|
38
38
|
return provider;
|
39
39
|
}
|
@@ -77,9 +77,9 @@ class QueuedStaticJsonRpcProvider extends JsonRpcProvider {
|
|
77
77
|
misses = 0;
|
78
78
|
totalDuration = 0;
|
79
79
|
totalQueued = 0;
|
80
|
-
constructor(url, network, concurrency) {
|
80
|
+
constructor(url, network, concurrency, batchCount = 1) {
|
81
81
|
// TODO re-enable match when possible
|
82
|
-
super(url, network, { staticNetwork: network, batchMaxCount:
|
82
|
+
super(url, network, { staticNetwork: network, batchMaxCount: batchCount });
|
83
83
|
this.executor = new PQueue({ concurrency: concurrency });
|
84
84
|
}
|
85
85
|
async send(method, params) {
|
package/lib/eth/provider.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/eth/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAY,MAAM,QAAQ,CAAA;AAE3D,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAErE,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAA;AAEpD,oFAAoF;AACpF,uBAAuB;AACvB,uCAAuC;AACvC,MAAM;AACN,6CAA6C;AAC7C,2CAA2C;AAC3C,MAAM;AACN,sBAAsB;AACtB,IAAI;AAEJ,MAAM,UAAU,WAAW,CAAC,OAAoB;IAC9C,4DAA4D;IAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAA;IAC/B,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/C,iCAAiC;IAEjC,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,OAAO,CAAA;IACtD,IAAI,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEjC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,KAAK,CACT,+BAA+B;YAC7B,OAAO,CAAC,OAAO;YACf,uBAAuB;YACvB,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvD,CAAA;IACH,CAAC;IACD,QAAQ,GAAG,IAAI,2BAA2B,
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/eth/provider.ts"],"names":[],"mappings":"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"}
|
package/lib/store/codegen.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/store/codegen.ts"],"names":[],"mappings":"
|
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"}
|
package/lib/store/codegen.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { GraphQLEnumType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLScalarType,
|
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
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
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
|
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
|
-
|
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
|
-
|
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
|
47
|
-
|
48
|
-
|
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
|
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
|
-
${
|
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
|
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
|
198
|
+
return isRelationType(type.ofType);
|
112
199
|
}
|
113
|
-
else {
|
114
|
-
return
|
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
|
-
|
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
|
package/lib/store/codegen.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/store/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,
|
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"}
|
package/lib/store/convert.d.ts
CHANGED
@@ -1,32 +1,32 @@
|
|
1
|
-
import {
|
2
|
-
import { String, Int, Float, ID, Bytes,
|
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>;
|
16
20
|
export declare const BooleanConverter: ValueConverter<Boolean | undefined>;
|
17
|
-
export declare const
|
21
|
+
export declare const TimestampConverter: ValueConverter<Timestamp | undefined>;
|
18
22
|
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,
|
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"}
|