@adaas/a-server 0.0.18 → 0.0.19
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/dist/src/channels/A-Websockets/A-Websockets.channel.d.ts +4 -0
- package/dist/src/channels/A-Websockets/A-Websockets.channel.js +22 -0
- package/dist/src/channels/A-Websockets/A-Websockets.channel.js.map +1 -0
- package/dist/src/components/A-CommandController/A-CommandController.component.js +0 -1
- package/dist/src/components/A-CommandController/A-CommandController.component.js.map +1 -1
- package/dist/src/components/A-EntityController/A-EntityController.component.d.ts +4 -0
- package/dist/src/components/A-EntityController/A-EntityController.component.js +38 -0
- package/dist/src/components/A-EntityController/A-EntityController.component.js.map +1 -1
- package/dist/src/components/A-EntityRepository/A-EntityRepository.component.d.ts +2 -0
- package/dist/src/components/A-EntityRepository/A-EntityRepository.component.js +22 -0
- package/dist/src/components/A-EntityRepository/A-EntityRepository.component.js.map +1 -1
- package/package.json +2 -1
- package/src/channels/A-Websockets/A-Websockets.channel.ts +15 -0
- package/src/components/A-CommandController/A-CommandController.component.ts +0 -2
- package/src/components/A-EntityController/A-EntityController.component.ts +45 -1
- package/src/components/A-EntityRepository/A-EntityRepository.component.ts +25 -1
- package/tsconfig.json +3 -2
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.A_WebsocketsChannel = void 0;
|
|
13
|
+
const a_utils_1 = require("@adaas/a-utils");
|
|
14
|
+
class A_WebsocketsChannel extends a_utils_1.A_Channel {
|
|
15
|
+
// Websockets specific implementations would go here
|
|
16
|
+
request(params) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.A_WebsocketsChannel = A_WebsocketsChannel;
|
|
22
|
+
//# sourceMappingURL=A-Websockets.channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A-Websockets.channel.js","sourceRoot":"","sources":["../../../../src/channels/A-Websockets/A-Websockets.channel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA2C;AAI3C,MAAa,mBAAoB,SAAQ,mBAAS;IAC9C,oDAAoD;IAM9C,OAAO,CAAC,MAAW;;QAEzB,CAAC;KAAA;CACJ;AAVD,kDAUC"}
|
|
@@ -34,7 +34,6 @@ class A_CommandController extends a_concept_1.A_Component {
|
|
|
34
34
|
}
|
|
35
35
|
const command = new CommandConstructor(req.body);
|
|
36
36
|
container.scope.register(command);
|
|
37
|
-
console.log(`1) Executing command: ${commandName}`);
|
|
38
37
|
yield command.execute();
|
|
39
38
|
const serialized = command.toJSON();
|
|
40
39
|
return res.status(200).json(serialized);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-CommandController.component.js","sourceRoot":"","sources":["../../../../src/components/A-CommandController/A-CommandController.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAA+E;AAC/E,uEAA0D;AAC1D,0FAAgF;AAChF,6FAAmF;AAInF,MAAa,mBAAoB,SAAQ,uBAAW;IAO1C,aAAa,CACM,GAA6C,EAC5C,GAAe,EAClB,KAAc,EACV,SAAsB;;YAG7C,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YAEvC,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAY,WAAW,CAAC,CAAC;YAE5E,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAEhB,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,YAAY,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEjD,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAElC,
|
|
1
|
+
{"version":3,"file":"A-CommandController.component.js","sourceRoot":"","sources":["../../../../src/components/A-CommandController/A-CommandController.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAA+E;AAC/E,uEAA0D;AAC1D,0FAAgF;AAChF,6FAAmF;AAInF,MAAa,mBAAoB,SAAQ,uBAAW;IAO1C,aAAa,CACM,GAA6C,EAC5C,GAAe,EAClB,KAAc,EACV,SAAsB;;YAG7C,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YAEvC,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAY,WAAW,CAAC,CAAC;YAE5E,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAEhB,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,YAAY,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEjD,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAElC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAExB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAEpC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;KAAA;CAEJ;AAnCD,kDAmCC;AA5BS;IALL,6BAAQ,CAAC,GAAG,CAAC;QACV,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,WAAW;KACtB,CAAC;IAEG,WAAA,IAAA,oBAAQ,EAAC,4BAAS,CAAC,CAAA;IACnB,WAAA,IAAA,oBAAQ,EAAC,8BAAU,CAAC,CAAA;IACpB,WAAA,IAAA,oBAAQ,EAAC,mBAAO,CAAC,CAAA;IACjB,WAAA,IAAA,oBAAQ,EAAC,uBAAW,CAAC,CAAA;wDAsBzB"}
|
|
@@ -2,7 +2,11 @@ import { A_Component, A_Scope } from "@adaas/a-concept";
|
|
|
2
2
|
import { A_Request } from "../../entities/A-Request/A-Request.entity";
|
|
3
3
|
import { A_EntityFactory } from "../../context/A-EntityFactory/A-EntityFactory.context";
|
|
4
4
|
import { A_Response } from "../../entities/A-Response/A-Response.entity";
|
|
5
|
+
import { A_Config } from "@adaas/a-utils";
|
|
5
6
|
export declare class A_EntityController extends A_Component {
|
|
7
|
+
list(request: A_Request<any, any, {
|
|
8
|
+
type: string;
|
|
9
|
+
}>, response: A_Response, factory: A_EntityFactory, scope: A_Scope, config: A_Config<['A_LIST_ITEMS_PER_PAGE', 'A_LIST_PAGE']>): Promise<void>;
|
|
6
10
|
load(request: A_Request<any, any, {
|
|
7
11
|
aseid: string;
|
|
8
12
|
}>, response: A_Response, scope: A_Scope): Promise<void>;
|
|
@@ -25,10 +25,36 @@ const A_Router_component_1 = require("../A-Router/A-Router.component");
|
|
|
25
25
|
const A_EntityFactory_context_1 = require("../../context/A-EntityFactory/A-EntityFactory.context");
|
|
26
26
|
const A_Response_entity_1 = require("../../entities/A-Response/A-Response.entity");
|
|
27
27
|
const A_ServerError_class_1 = require("../A-ServerError/A-ServerError.class");
|
|
28
|
+
const a_utils_1 = require("@adaas/a-utils");
|
|
29
|
+
const A_ListQueryFilter_context_1 = require("../../context/A-ListQueryFilter/A_ListQueryFilter.context");
|
|
30
|
+
const A_EntityList_entity_1 = require("../../entities/A_EntityList/A_EntityList.entity");
|
|
28
31
|
class A_EntityController extends a_concept_1.A_Component {
|
|
29
32
|
// =======================================================
|
|
30
33
|
// ================ Method Definition=====================
|
|
31
34
|
// =======================================================
|
|
35
|
+
list(request, response, factory, scope, config) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
const constructor = factory.resolveByName(request.params.type);
|
|
38
|
+
if (constructor) {
|
|
39
|
+
const entityList = new A_EntityList_entity_1.A_EntityList({
|
|
40
|
+
name: request.params.type,
|
|
41
|
+
scope: scope.name,
|
|
42
|
+
constructor
|
|
43
|
+
});
|
|
44
|
+
scope.register(entityList);
|
|
45
|
+
const queryFilter = new A_ListQueryFilter_context_1.A_ListQueryFilter(request.query, {
|
|
46
|
+
itemsPerPage: String(config.get('A_LIST_ITEMS_PER_PAGE') || '10'),
|
|
47
|
+
page: String(config.get('A_LIST_PAGE') || '1')
|
|
48
|
+
});
|
|
49
|
+
const queryScope = new a_concept_1.A_Scope({
|
|
50
|
+
fragments: [queryFilter]
|
|
51
|
+
}).inherit(scope);
|
|
52
|
+
yield entityList.load(queryScope);
|
|
53
|
+
response.add('items', entityList.items);
|
|
54
|
+
response.add('pagination', entityList.pagination);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
32
58
|
load(request, response, scope) {
|
|
33
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
60
|
// Check if the scope has a manifest and if the entity is allowed to save
|
|
@@ -128,6 +154,18 @@ class A_EntityController extends a_concept_1.A_Component {
|
|
|
128
154
|
}
|
|
129
155
|
}
|
|
130
156
|
exports.A_EntityController = A_EntityController;
|
|
157
|
+
__decorate([
|
|
158
|
+
A_Router_component_1.A_Router.Get({
|
|
159
|
+
path: '/:type',
|
|
160
|
+
version: 'v1',
|
|
161
|
+
prefix: 'a-list'
|
|
162
|
+
}),
|
|
163
|
+
__param(0, (0, a_concept_1.A_Inject)(A_Request_entity_1.A_Request)),
|
|
164
|
+
__param(1, (0, a_concept_1.A_Inject)(A_Response_entity_1.A_Response)),
|
|
165
|
+
__param(2, (0, a_concept_1.A_Inject)(A_EntityFactory_context_1.A_EntityFactory)),
|
|
166
|
+
__param(3, (0, a_concept_1.A_Inject)(a_concept_1.A_Scope)),
|
|
167
|
+
__param(4, (0, a_concept_1.A_Inject)(a_utils_1.A_Config))
|
|
168
|
+
], A_EntityController.prototype, "list", null);
|
|
131
169
|
__decorate([
|
|
132
170
|
a_concept_1.A_Feature.Define({
|
|
133
171
|
name: 'getEntity',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-EntityController.component.js","sourceRoot":"","sources":["../../../../src/components/A-EntityController/A-EntityController.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAA4H;AAC5H,0FAAgF;AAChF,uEAA0D;AAC1D,6GAAkG;AAClG,6FAAmF;AACnF,8EAAqE;
|
|
1
|
+
{"version":3,"file":"A-EntityController.component.js","sourceRoot":"","sources":["../../../../src/components/A-EntityController/A-EntityController.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { A_Component, A_Entity, A_Scope } from "@adaas/a-concept";
|
|
2
2
|
import { A_HTTPChannel } from "../../channels/A-Http/A-Http.channel";
|
|
3
|
+
import { A_EntityList } from "../../entities/A_EntityList/A_EntityList.entity";
|
|
3
4
|
export declare class A_EntityRepository extends A_Component {
|
|
5
|
+
list(channel: A_HTTPChannel, entity: A_EntityList, scope: A_Scope): Promise<void>;
|
|
4
6
|
load(channel: A_HTTPChannel, entity: A_Entity, scope: A_Scope): Promise<void>;
|
|
5
7
|
save(channel: A_HTTPChannel, entity: A_Entity, scope: A_Scope): Promise<void>;
|
|
6
8
|
destroy(channel: A_HTTPChannel, entity: A_Entity, scope: A_Scope): Promise<void>;
|
|
@@ -25,6 +25,17 @@ const A_Http_channel_1 = require("../../channels/A-Http/A-Http.channel");
|
|
|
25
25
|
const A_EntityList_entity_1 = require("../../entities/A_EntityList/A_EntityList.entity");
|
|
26
26
|
const a_utils_1 = require("@adaas/a-utils");
|
|
27
27
|
class A_EntityRepository extends a_concept_1.A_Component {
|
|
28
|
+
list(channel, entity, scope) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
// Check if the scope has a manifest and if the entity is allowed to load
|
|
31
|
+
if (scope.has(a_utils_1.A_Manifest) && !scope.resolve(a_utils_1.A_Manifest)
|
|
32
|
+
.isAllowed(entity.constructor, 'load')
|
|
33
|
+
.for(entity.constructor))
|
|
34
|
+
return;
|
|
35
|
+
const response = yield channel.get(`/a-list/${entity.aseid.entity}`);
|
|
36
|
+
entity.fromJSON(response.data);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
28
39
|
load(channel, entity, scope) {
|
|
29
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
41
|
// Check if the scope has a manifest and if the entity is allowed to load
|
|
@@ -60,6 +71,17 @@ class A_EntityRepository extends a_concept_1.A_Component {
|
|
|
60
71
|
}
|
|
61
72
|
}
|
|
62
73
|
exports.A_EntityRepository = A_EntityRepository;
|
|
74
|
+
__decorate([
|
|
75
|
+
a_concept_1.A_Feature.Extend({
|
|
76
|
+
name: A_Entity_constants_1.A_TYPES__EntityFeatures.LOAD,
|
|
77
|
+
scope: {
|
|
78
|
+
include: [A_EntityList_entity_1.A_EntityList]
|
|
79
|
+
}
|
|
80
|
+
}),
|
|
81
|
+
__param(0, (0, a_concept_1.A_Inject)(A_Http_channel_1.A_HTTPChannel)),
|
|
82
|
+
__param(1, (0, a_concept_1.A_Inject)(a_concept_1.A_Caller)),
|
|
83
|
+
__param(2, (0, a_concept_1.A_Inject)(a_concept_1.A_Scope))
|
|
84
|
+
], A_EntityRepository.prototype, "list", null);
|
|
63
85
|
__decorate([
|
|
64
86
|
a_concept_1.A_Feature.Extend({
|
|
65
87
|
name: A_Entity_constants_1.A_TYPES__EntityFeatures.LOAD,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-EntityRepository.component.js","sourceRoot":"","sources":["../../../../src/components/A-EntityRepository/A-EntityRepository.component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAA8H;AAC9H,qGAAuG;AACvG,mFAA+E;AAC/E,mGAAyF;AACzF,
|
|
1
|
+
{"version":3,"file":"A-EntityRepository.component.js","sourceRoot":"","sources":["../../../../src/components/A-EntityRepository/A-EntityRepository.component.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaas/a-server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.19",
|
|
4
4
|
"description": "SDK to create a server with ease. Build your backend server with modular structure and use it within or outside the ADAAS ecosystem.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
8
9
|
"nodemonConfig": {
|
|
9
10
|
"ignore": [
|
|
10
11
|
"**/*.test.ts",
|
|
@@ -4,7 +4,9 @@ import { A_Router } from "../A-Router/A-Router.component";
|
|
|
4
4
|
import { A_EntityFactory } from "@adaas/a-server/context/A-EntityFactory/A-EntityFactory.context";
|
|
5
5
|
import { A_Response } from "@adaas/a-server/entities/A-Response/A-Response.entity";
|
|
6
6
|
import { A_ServerError } from "../A-ServerError/A-ServerError.class";
|
|
7
|
-
import { A_Manifest } from "@adaas/a-utils";
|
|
7
|
+
import { A_Config, A_Manifest } from "@adaas/a-utils";
|
|
8
|
+
import { A_ListQueryFilter } from "@adaas/a-server/context/A-ListQueryFilter/A_ListQueryFilter.context";
|
|
9
|
+
import { A_EntityList } from "@adaas/a-server/entities/A_EntityList/A_EntityList.entity";
|
|
8
10
|
|
|
9
11
|
|
|
10
12
|
|
|
@@ -13,6 +15,48 @@ export class A_EntityController extends A_Component {
|
|
|
13
15
|
// =======================================================
|
|
14
16
|
// ================ Method Definition=====================
|
|
15
17
|
// =======================================================
|
|
18
|
+
@A_Router.Get({
|
|
19
|
+
path: '/:type',
|
|
20
|
+
version: 'v1',
|
|
21
|
+
prefix: 'a-list'
|
|
22
|
+
})
|
|
23
|
+
async list(
|
|
24
|
+
@A_Inject(A_Request) request: A_Request<any, any, { type: string }>,
|
|
25
|
+
@A_Inject(A_Response) response: A_Response,
|
|
26
|
+
@A_Inject(A_EntityFactory) factory: A_EntityFactory,
|
|
27
|
+
@A_Inject(A_Scope) scope: A_Scope,
|
|
28
|
+
@A_Inject(A_Config) config: A_Config<['A_LIST_ITEMS_PER_PAGE', 'A_LIST_PAGE']>
|
|
29
|
+
) {
|
|
30
|
+
|
|
31
|
+
const constructor = factory.resolveByName(request.params.type);
|
|
32
|
+
|
|
33
|
+
if (constructor) {
|
|
34
|
+
|
|
35
|
+
const entityList = new A_EntityList({
|
|
36
|
+
name: request.params.type,
|
|
37
|
+
scope: scope.name,
|
|
38
|
+
constructor
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
scope.register(entityList);
|
|
42
|
+
|
|
43
|
+
const queryFilter = new A_ListQueryFilter(request.query, {
|
|
44
|
+
itemsPerPage: String(config.get('A_LIST_ITEMS_PER_PAGE') || '10'),
|
|
45
|
+
page: String(config.get('A_LIST_PAGE') || '1')
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
const queryScope = new A_Scope({
|
|
49
|
+
fragments: [queryFilter]
|
|
50
|
+
}).inherit(scope);
|
|
51
|
+
|
|
52
|
+
await entityList.load(queryScope);
|
|
53
|
+
|
|
54
|
+
response.add('items', entityList.items);
|
|
55
|
+
response.add('pagination', entityList.pagination);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
|
|
16
60
|
@A_Feature.Define({
|
|
17
61
|
name: 'getEntity',
|
|
18
62
|
invoke: false
|
|
@@ -2,13 +2,37 @@ import { A_Caller, A_Component, A_Entity, A_Feature, A_Inject, A_Scope, A_TYPES_
|
|
|
2
2
|
import { A_TYPES__EntityFeatures } from "@adaas/a-concept/dist/src/global/A-Entity/A-Entity.constants";
|
|
3
3
|
import { A_HTTPChannel } from "@adaas/a-server/channels/A-Http/A-Http.channel";
|
|
4
4
|
import { A_EntityList } from "@adaas/a-server/entities/A_EntityList/A_EntityList.entity";
|
|
5
|
-
import {
|
|
5
|
+
import { A_Manifest } from "@adaas/a-utils";
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
export class A_EntityRepository extends A_Component {
|
|
11
11
|
|
|
12
|
+
@A_Feature.Extend({
|
|
13
|
+
name: A_TYPES__EntityFeatures.LOAD,
|
|
14
|
+
scope: {
|
|
15
|
+
include: [A_EntityList]
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
async list(
|
|
19
|
+
@A_Inject(A_HTTPChannel) channel: A_HTTPChannel,
|
|
20
|
+
@A_Inject(A_Caller) entity: A_EntityList,
|
|
21
|
+
@A_Inject(A_Scope) scope: A_Scope,
|
|
22
|
+
) {
|
|
23
|
+
// Check if the scope has a manifest and if the entity is allowed to load
|
|
24
|
+
if (
|
|
25
|
+
scope.has(A_Manifest) && !scope.resolve(A_Manifest)
|
|
26
|
+
.isAllowed(entity.constructor, 'load')
|
|
27
|
+
.for(entity.constructor as A_TYPES__Entity_Constructor)
|
|
28
|
+
)
|
|
29
|
+
return;
|
|
30
|
+
|
|
31
|
+
const response = await channel.get(`/a-list/${entity.aseid.entity}`);
|
|
32
|
+
|
|
33
|
+
entity.fromJSON(response.data);
|
|
34
|
+
}
|
|
35
|
+
|
|
12
36
|
|
|
13
37
|
@A_Feature.Extend({
|
|
14
38
|
name: A_TYPES__EntityFeatures.LOAD,
|
package/tsconfig.json
CHANGED
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
"resolveJsonModule": true,
|
|
14
14
|
"noErrorTruncation": true,
|
|
15
15
|
"jsx": "react",
|
|
16
|
-
"target": "
|
|
17
|
-
"module": "
|
|
16
|
+
"target": "es2020",
|
|
17
|
+
"module": "esnext",
|
|
18
|
+
"declaration": true,
|
|
18
19
|
"moduleResolution": "node",
|
|
19
20
|
"allowSyntheticDefaultImports": true,
|
|
20
21
|
"esModuleInterop": true,
|