@sentio/sdk 2.37.0-rc.4 → 2.37.0-rc.6
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/store/codegen.d.ts.map +1 -1
- package/lib/store/codegen.js +17 -4
- package/lib/store/codegen.js.map +1 -1
- package/lib/store/decorators.d.ts +1 -1
- package/lib/store/decorators.d.ts.map +1 -1
- package/lib/store/decorators.js +5 -2
- package/lib/store/decorators.js.map +1 -1
- package/lib/store/store.d.ts.map +1 -1
- package/lib/store/store.js +6 -5
- package/lib/store/store.js.map +1 -1
- package/package.json +3 -3
- package/src/store/codegen.ts +19 -4
- package/src/store/decorators.ts +5 -2
- package/src/store/store.ts +6 -5
@@ -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;
|
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;AAiMD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,aAAa,UAU3D"}
|
package/lib/store/codegen.js
CHANGED
@@ -21,8 +21,8 @@ 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,
|
25
|
-
`import { DatabaseSchema } from "@sentio/sdk"`
|
24
|
+
"import {entity, derivedFrom, DateTime, Json, Bytes, ID, Entity, Store} from '@sentio/sdk/store'",
|
25
|
+
`import { DatabaseSchema, BigDecimal } from "@sentio/sdk"`
|
26
26
|
];
|
27
27
|
const entities = [];
|
28
28
|
for (const t of Object.values(schema.getTypeMap())) {
|
@@ -126,12 +126,24 @@ function genField(field) {
|
|
126
126
|
const typeAsArg = isInterfaceType(t) ? `"${t}"` : genType(t);
|
127
127
|
if (isList(field.type)) {
|
128
128
|
return `${directives.join()}\tget ${field.name}(): Promise<${genType(t)}[]> { return this.getFieldObjectArray(${typeAsArg}, "${field.name}") as Promise<${genType(t)}[]> }
|
129
|
-
set ${field.name}(value:
|
129
|
+
set ${field.name}(value: ${type} | ID[]) { this.set("${field.name}", value) }
|
130
130
|
get ${field.name}Ids(): ID[] { return this.get("${field.name}") }`;
|
131
131
|
}
|
132
132
|
return `${directives.join()}\tget ${field.name}(): Promise<${genType(t)} | undefined> { return this.getFieldObject(${typeAsArg},"${field.name}") as Promise<${genType(t)} | undefined> }
|
133
133
|
set ${field.name}(value: ${type} | ID) { this.set("${field.name}", value) }
|
134
134
|
get ${field.name}Id(): ID | undefined { return this.get("${field.name}") }`;
|
135
|
+
}
|
136
|
+
if (returnType == 'BigInt') {
|
137
|
+
return `${directives.join()}\tget ${field.name}(): ${returnType} { return BigInt(this.get("${field.name}")) }
|
138
|
+
set ${field.name}(value: ${type}) { this.set("${field.name}", value.toString()) }`;
|
139
|
+
}
|
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')) }`;
|
135
147
|
}
|
136
148
|
return `${directives.join()}\tget ${field.name}(): ${returnType} { return this.get("${field.name}") }
|
137
149
|
set ${field.name}(value: ${type}) { this.set("${field.name}", value) }`;
|
@@ -149,7 +161,7 @@ function genDataType(t) {
|
|
149
161
|
return output;
|
150
162
|
}
|
151
163
|
function genEntity(t) {
|
152
|
-
const decorators = t.astNode?.directives?.map(directive2decorator) || [];
|
164
|
+
const decorators = t.astNode?.directives?.filter((d) => d.name.value != 'entity').map(directive2decorator) || [];
|
153
165
|
let impls = '';
|
154
166
|
if (t.getInterfaces().length > 0) {
|
155
167
|
impls +=
|
@@ -162,6 +174,7 @@ function genEntity(t) {
|
|
162
174
|
return `
|
163
175
|
${genDataType(t)}
|
164
176
|
${decorators.join('\n')}
|
177
|
+
@entity("${t.name}")
|
165
178
|
export class ${t.name} extends Entity${impls} {
|
166
179
|
constructor(data: Partial<${t.name}Data>) {
|
167
180
|
super(data)
|
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,EAEL,eAAe,EAEf,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,iBAAiB,EAEjB,iBAAiB,EAEjB,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,UAAU,EACX,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;AAEzB,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,KAAK,UAAU,eAAe,CAAC,MAAqB,EAAE,MAAc,EAAE,MAAc;IAClF,MAAM,OAAO,GAAa;QACxB,mDAAmD;QACnD,sBAAsB;QACtB,sBAAsB;QACtB,
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/store/codegen.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
type Constructor = {
|
2
2
|
new (...args: any[]): any;
|
3
3
|
};
|
4
|
-
export declare function entity<T extends Constructor>(constructor: T, context: any)
|
4
|
+
export declare function entity(name: string): <T extends Constructor>(constructor: T, context: any) => T;
|
5
5
|
export declare function derivedFrom(field: string): (target: any, context: any) => void;
|
6
6
|
export declare function unique(field: string): (target: any, context: any) => void;
|
7
7
|
export declare function index(field: string[]): (target: any, context: any) => void;
|
@@ -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;AAEhD,wBAAgB,MAAM,CAAC,
|
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;AAEhD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,wCACoB,CAAC,WAAW,GAAG,OAIrE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,YACd,GAAG,WAAW,GAAG,UAC3C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,YACT,GAAG,WAAW,GAAG,UAC3C;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,YACV,GAAG,WAAW,GAAG,UAC3C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,YACX,GAAG,WAAW,GAAG,UAC3C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,YACd,GAAG,WAAW,GAAG,UAC3C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,YACb,GAAG,WAAW,GAAG,UAC3C"}
|
package/lib/store/decorators.js
CHANGED
@@ -1,5 +1,8 @@
|
|
1
|
-
export function entity(
|
2
|
-
return constructor
|
1
|
+
export function entity(name) {
|
2
|
+
return function (constructor, context) {
|
3
|
+
constructor.prototype.entityName = name;
|
4
|
+
return constructor;
|
5
|
+
};
|
3
6
|
}
|
4
7
|
export function derivedFrom(field) {
|
5
8
|
return function (target, context) { };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,MAAM,
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,UAAiC,WAAc,EAAE,OAAY;QAClE,WAAW,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAA;QACvC,OAAO,WAAW,CAAA;IACpB,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,UAAU,MAAW,EAAE,OAAY,IAAG,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,OAAO,UAAU,MAAW,EAAE,OAAY,IAAG,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAe;IACnC,OAAO,UAAU,MAAW,EAAE,OAAY,IAAG,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,OAAO,UAAU,MAAW,EAAE,OAAY,IAAG,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,UAAU,MAAW,EAAE,OAAY,IAAG,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,UAAU,MAAW,EAAE,OAAY,IAAG,CAAC,CAAA;AAChD,CAAC"}
|
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,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,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,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAe1F,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,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,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAe1F,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBrD,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAenG,OAAO,CAAC,SAAS;CAclB"}
|
package/lib/store/store.js
CHANGED
@@ -8,7 +8,7 @@ export class Store {
|
|
8
8
|
async get(entity, id) {
|
9
9
|
const promise = this.context.sendRequest({
|
10
10
|
get: {
|
11
|
-
entity: typeof entity == 'string' ? entity : entity.
|
11
|
+
entity: typeof entity == 'string' ? entity : entity.prototype.entityName,
|
12
12
|
id
|
13
13
|
}
|
14
14
|
});
|
@@ -21,7 +21,7 @@ export class Store {
|
|
21
21
|
async delete(entity, id) {
|
22
22
|
await this.context.sendRequest({
|
23
23
|
delete: {
|
24
|
-
entity: entity.
|
24
|
+
entity: entity.prototype.entityName,
|
25
25
|
id: Array.isArray(id) ? id : [id]
|
26
26
|
}
|
27
27
|
});
|
@@ -29,8 +29,9 @@ export class Store {
|
|
29
29
|
async upsert(entity) {
|
30
30
|
const promise = this.context.sendRequest({
|
31
31
|
upsert: {
|
32
|
-
entity: entity.constructor.
|
33
|
-
data: Array.isArray(entity) ? entity.map((e) => e.data) : [entity.data]
|
32
|
+
entity: entity.constructor.prototype.entityName,
|
33
|
+
data: Array.isArray(entity) ? entity.map((e) => e.data) : [entity.data],
|
34
|
+
id: Array.isArray(entity) ? entity.map((e) => e.id) : [entity.id]
|
34
35
|
}
|
35
36
|
});
|
36
37
|
if (Array.isArray(entity)) {
|
@@ -44,7 +45,7 @@ export class Store {
|
|
44
45
|
async list(entity, limit, offset) {
|
45
46
|
const promise = this.context.sendRequest({
|
46
47
|
list: {
|
47
|
-
entity: entity.
|
48
|
+
entity: entity.constructor.prototype.entityName,
|
48
49
|
limit,
|
49
50
|
offset
|
50
51
|
}
|
package/lib/store/store.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAe,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,OAAO,KAAK;IACa;IAA7B,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAEtD,KAAK,CAAC,GAAG,CAAmB,MAA+B,EAAE,EAAU;QACrE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACvC,GAAG,EAAE;gBACH,MAAM,EAAE,OAAO,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentio/sdk",
|
3
|
-
"version": "2.37.0-rc.
|
3
|
+
"version": "2.37.0-rc.6",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -79,8 +79,8 @@
|
|
79
79
|
"typedoc": "^0.25.7",
|
80
80
|
"utility-types": "^3.11.0",
|
81
81
|
"yaml": "^2.3.4",
|
82
|
-
"@sentio/protos": "2.37.0-rc.
|
83
|
-
"@sentio/runtime": "^2.37.0-rc.
|
82
|
+
"@sentio/protos": "2.37.0-rc.6",
|
83
|
+
"@sentio/runtime": "^2.37.0-rc.6"
|
84
84
|
},
|
85
85
|
"peerDependencies": {
|
86
86
|
"tsup": "npm:@sentio/tsup@^6.7.2"
|
package/src/store/codegen.ts
CHANGED
@@ -38,8 +38,8 @@ async function codegenInternal(schema: GraphQLSchema, source: string, target: st
|
|
38
38
|
'/* Autogenerated file. Do not edit manually. */\n',
|
39
39
|
'/* tslint:disable */',
|
40
40
|
'/* eslint-disable */',
|
41
|
-
"import {entity, derivedFrom,
|
42
|
-
`import { DatabaseSchema } from "@sentio/sdk"`
|
41
|
+
"import {entity, derivedFrom, DateTime, Json, Bytes, ID, Entity, Store} from '@sentio/sdk/store'",
|
42
|
+
`import { DatabaseSchema, BigDecimal } from "@sentio/sdk"`
|
43
43
|
]
|
44
44
|
const entities: string[] = []
|
45
45
|
for (const t of Object.values(schema.getTypeMap())) {
|
@@ -151,7 +151,7 @@ function genField(field: GraphQLField<any, any>) {
|
|
151
151
|
|
152
152
|
if (isList(field.type)) {
|
153
153
|
return `${directives.join()}\tget ${field.name}(): Promise<${genType(t)}[]> { return this.getFieldObjectArray(${typeAsArg}, "${field.name}") as Promise<${genType(t)}[]> }
|
154
|
-
set ${field.name}(value:
|
154
|
+
set ${field.name}(value: ${type} | ID[]) { this.set("${field.name}", value) }
|
155
155
|
get ${field.name}Ids(): ID[] { return this.get("${field.name}") }`
|
156
156
|
}
|
157
157
|
|
@@ -160,6 +160,20 @@ function genField(field: GraphQLField<any, any>) {
|
|
160
160
|
get ${field.name}Id(): ID | undefined { return this.get("${field.name}") }`
|
161
161
|
}
|
162
162
|
|
163
|
+
if (returnType == 'BigInt') {
|
164
|
+
return `${directives.join()}\tget ${field.name}(): ${returnType} { return BigInt(this.get("${field.name}")) }
|
165
|
+
set ${field.name}(value: ${type}) { this.set("${field.name}", value.toString()) }`
|
166
|
+
}
|
167
|
+
if (returnType == 'BigDecimal') {
|
168
|
+
return `${directives.join()}\tget ${field.name}(): ${returnType} { return new BigDecimal(this.get("${field.name}")) }
|
169
|
+
set ${field.name}(value: ${type}) { this.set("${field.name}", value.toString()) }`
|
170
|
+
}
|
171
|
+
|
172
|
+
if (returnType == 'Bytes') {
|
173
|
+
return `${directives.join()}\tget ${field.name}(): ${returnType} { return Uint8Array.from(Buffer.from(this.get<string>("${field.name}"), 'hex')) ) }
|
174
|
+
set ${field.name}(value: ${type}) { this.set("${field.name}", Buffer.from(value).toString('hex')) }`
|
175
|
+
}
|
176
|
+
|
163
177
|
return `${directives.join()}\tget ${field.name}(): ${returnType} { return this.get("${field.name}") }
|
164
178
|
set ${field.name}(value: ${type}) { this.set("${field.name}", value) }`
|
165
179
|
}
|
@@ -177,7 +191,7 @@ function genDataType(t: GraphQLObjectType<any, any>) {
|
|
177
191
|
}
|
178
192
|
|
179
193
|
function genEntity(t: GraphQLObjectType<any, any>) {
|
180
|
-
const decorators = t.astNode?.directives?.map(directive2decorator) || []
|
194
|
+
const decorators = t.astNode?.directives?.filter((d) => d.name.value != 'entity').map(directive2decorator) || []
|
181
195
|
|
182
196
|
let impls = ''
|
183
197
|
if (t.getInterfaces().length > 0) {
|
@@ -192,6 +206,7 @@ function genEntity(t: GraphQLObjectType<any, any>) {
|
|
192
206
|
return `
|
193
207
|
${genDataType(t)}
|
194
208
|
${decorators.join('\n')}
|
209
|
+
@entity("${t.name}")
|
195
210
|
export class ${t.name} extends Entity${impls} {
|
196
211
|
constructor(data: Partial<${t.name}Data>) {
|
197
212
|
super(data)
|
package/src/store/decorators.ts
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
type Constructor = { new (...args: any[]): any }
|
2
2
|
|
3
|
-
export function entity
|
4
|
-
return constructor
|
3
|
+
export function entity(name: string) {
|
4
|
+
return function <T extends Constructor>(constructor: T, context: any) {
|
5
|
+
constructor.prototype.entityName = name
|
6
|
+
return constructor
|
7
|
+
}
|
5
8
|
}
|
6
9
|
|
7
10
|
export function derivedFrom(field: string) {
|
package/src/store/store.ts
CHANGED
@@ -8,7 +8,7 @@ export class Store {
|
|
8
8
|
async get<T extends Entity>(entity: EntityClass<T> | string, id: string): Promise<T | undefined> {
|
9
9
|
const promise = this.context.sendRequest({
|
10
10
|
get: {
|
11
|
-
entity: typeof entity == 'string' ? entity : entity.
|
11
|
+
entity: typeof entity == 'string' ? entity : entity.prototype.entityName,
|
12
12
|
id
|
13
13
|
}
|
14
14
|
})
|
@@ -23,7 +23,7 @@ export class Store {
|
|
23
23
|
async delete(entity: EntityClass<any>, id: string | string[]): Promise<void> {
|
24
24
|
await this.context.sendRequest({
|
25
25
|
delete: {
|
26
|
-
entity: entity.
|
26
|
+
entity: entity.prototype.entityName,
|
27
27
|
id: Array.isArray(id) ? id : [id]
|
28
28
|
}
|
29
29
|
})
|
@@ -32,8 +32,9 @@ export class Store {
|
|
32
32
|
async upsert<T extends Entity>(entity: T | T[]): Promise<T> {
|
33
33
|
const promise = this.context.sendRequest({
|
34
34
|
upsert: {
|
35
|
-
entity: entity.constructor.
|
36
|
-
data: Array.isArray(entity) ? entity.map((e) => e.data) : [entity.data]
|
35
|
+
entity: entity.constructor.prototype.entityName,
|
36
|
+
data: Array.isArray(entity) ? entity.map((e) => e.data) : [entity.data],
|
37
|
+
id: Array.isArray(entity) ? entity.map((e) => e.id) : [entity.id]
|
37
38
|
}
|
38
39
|
})
|
39
40
|
|
@@ -49,7 +50,7 @@ export class Store {
|
|
49
50
|
async list<T extends Entity>(entity: EntityClass<T>, limit?: number, offset?: number): Promise<T[]> {
|
50
51
|
const promise = this.context.sendRequest({
|
51
52
|
list: {
|
52
|
-
entity: entity.
|
53
|
+
entity: entity.constructor.prototype.entityName,
|
53
54
|
limit,
|
54
55
|
offset
|
55
56
|
}
|