@ldsg/resource 0.1.0-alpha.9 → 0.2.0
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/resource.d.ts +26 -12
- package/dist/resource.d.ts.map +1 -1
- package/dist/resource.js +40 -13
- package/dist/types/index.d.ts +0 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -2
- package/dist/types/instantiate-resource.d.ts +3 -3
- package/dist/types/instantiate-resource.d.ts.map +1 -1
- package/dist/types/instantiate-resources.d.ts +4 -5
- package/dist/types/instantiate-resources.d.ts.map +1 -1
- package/package.json +5 -3
- package/dist/types/manifest.d.ts +0 -48
- package/dist/types/manifest.d.ts.map +0 -1
- package/dist/types/manifest.js +0 -2
- package/dist/types/resource-definition-resource-settings.d.ts +0 -13
- package/dist/types/resource-definition-resource-settings.d.ts.map +0 -1
- package/dist/types/resource-definition-resource-settings.js +0 -2
package/dist/resource.d.ts
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
|
+
import { ResourceRecord, ResourceSettings, SpecificResourceSettings } from "@ldsg/types";
|
|
1
2
|
import { ListIterateeCustom } from "lodash";
|
|
2
|
-
|
|
3
|
-
type GetFilteredResourcesParams = ListIterateeCustom<Resource<Manifest.ResourceSettings>, boolean>;
|
|
4
|
-
type GetFilteredResources = (params: GetFilteredResourcesParams) => Resource[];
|
|
5
|
-
type GetFilteredResource = (params: GetFilteredResourcesParams) => Resource | undefined;
|
|
6
|
-
export interface ResourceConstructorParams<T extends Manifest.ResourceSettings = Manifest.ResourceSettings> extends Manifest.Resource<T> {
|
|
3
|
+
export interface ResourceConstructorParams<T extends SpecificResourceSettings = SpecificResourceSettings> extends ResourceRecord<T> {
|
|
7
4
|
}
|
|
8
|
-
export
|
|
5
|
+
export type GetFilteredResourcesParams = ListIterateeCustom<Resource, boolean>;
|
|
6
|
+
export interface GetFilteredResourceRes<T extends Record<string, any> = Record<string, any>> {
|
|
7
|
+
resource: (Resource & T) | undefined;
|
|
8
|
+
}
|
|
9
|
+
export interface GetFilteredResourcesRes<T extends Record<string, any> = Record<string, any>> {
|
|
10
|
+
resources: (Resource & T)[];
|
|
11
|
+
}
|
|
12
|
+
export type GetResourcesFromSettingsRes<T extends SpecificResourceSettings> = {
|
|
13
|
+
[K in keyof T as K extends `${infer P}ResourceId` ? `${P}Resource` : never]: Resource;
|
|
14
|
+
};
|
|
15
|
+
export declare class Resource<T extends SpecificResourceSettings = SpecificResourceSettings> implements ResourceRecord<T> {
|
|
9
16
|
/**
|
|
10
17
|
* Resource ID
|
|
11
18
|
*/
|
|
@@ -21,20 +28,27 @@ export declare class Resource<T extends Manifest.ResourceSettings = Manifest.Res
|
|
|
21
28
|
/**
|
|
22
29
|
* Resource Settings
|
|
23
30
|
*/
|
|
24
|
-
settings: T
|
|
31
|
+
settings: ResourceSettings<T>;
|
|
32
|
+
/**
|
|
33
|
+
* Resource List
|
|
34
|
+
*/
|
|
35
|
+
static resourceList: Resource[];
|
|
25
36
|
/**
|
|
26
|
-
*
|
|
37
|
+
* Resource Map
|
|
27
38
|
*/
|
|
28
|
-
static
|
|
39
|
+
static resourceMap: Record<string, Resource>;
|
|
29
40
|
constructor(params: ResourceConstructorParams<T>);
|
|
30
41
|
/**
|
|
31
42
|
* Get Filtered Resource
|
|
32
43
|
*/
|
|
33
|
-
getFilteredResource:
|
|
44
|
+
getFilteredResource: <T_1 extends Record<string, any> = Record<string, any>>(params: GetFilteredResourcesParams) => GetFilteredResourceRes<T_1>;
|
|
34
45
|
/**
|
|
35
46
|
* Get Filtered Resources
|
|
36
47
|
*/
|
|
37
|
-
getFilteredResources:
|
|
48
|
+
getFilteredResources: <T_1 extends Record<string, any> = Record<string, any>>(params: GetFilteredResourcesParams) => GetFilteredResourcesRes<T_1>;
|
|
49
|
+
/**
|
|
50
|
+
* Get Resources From Settings
|
|
51
|
+
*/
|
|
52
|
+
getResourcesFromSettings: () => GetResourcesFromSettingsRes<T>;
|
|
38
53
|
}
|
|
39
|
-
export {};
|
|
40
54
|
//# sourceMappingURL=resource.d.ts.map
|
package/dist/resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAU,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AACrB,OAAU,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,WAAW,yBAAyB,CACxC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CAC7D,SAAQ,cAAc,CAAC,CAAC,CAAC;CAAG;AAE9B,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE/E,MAAM,WAAW,sBAAsB,CACrC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEnD,QAAQ,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,uBAAuB,CACtC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEnD,SAAS,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,wBAAwB,IAAI;KAC3E,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,GAC7C,GAAG,CAAC,UAAU,GACd,KAAK,GAAG,QAAQ;CACrB,CAAC;AAEF,qBAAa,QAAQ,CACnB,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CAC7D,YAAW,cAAc,CAAC,CAAC,CAAC;IAE5B;;OAEG;IACH,EAAE,EAAG,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAG,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAE/B;;OAEG;IACH,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAM;IAErC;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAM;gBAEtC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAUhD;;OAEG;IACH,mBAAmB,GAAI,GAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxE,QAAQ,0BAA0B,iCASlC;IAEF;;OAEG;IACH,oBAAoB,GAAI,GAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzE,QAAQ,0BAA0B,kCAWlC;IAEF;;OAEG;IACH,wBAAwB,uCAwBtB;CACH"}
|
package/dist/resource.js
CHANGED
|
@@ -11,27 +11,54 @@ class Resource {
|
|
|
11
11
|
* Get Filtered Resource
|
|
12
12
|
*/
|
|
13
13
|
this.getFilteredResource = (params) => {
|
|
14
|
-
|
|
14
|
+
const getFilteredResourcesRes = this.getFilteredResources(params);
|
|
15
|
+
const res = {
|
|
16
|
+
resource: getFilteredResourcesRes.resources[0],
|
|
17
|
+
};
|
|
18
|
+
return res;
|
|
15
19
|
};
|
|
16
20
|
/**
|
|
17
21
|
* Get Filtered Resources
|
|
18
22
|
*/
|
|
19
23
|
this.getFilteredResources = (params) => {
|
|
20
|
-
const {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
const { resourceList } = Resource;
|
|
25
|
+
const filterRes = lodash_1.default.filter(resourceList, params);
|
|
26
|
+
const res = {
|
|
27
|
+
resources: filterRes,
|
|
28
|
+
};
|
|
29
|
+
return res;
|
|
24
30
|
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Get Resources From Settings
|
|
33
|
+
*/
|
|
34
|
+
this.getResourcesFromSettings = () => {
|
|
35
|
+
const { settings } = this;
|
|
36
|
+
const pickByRes = lodash_1.default.pickBy(settings, (value, key) => lodash_1.default.endsWith(key, "ResourceId"));
|
|
37
|
+
const mapValuesRes = lodash_1.default.mapValues(pickByRes, (resourceId) => {
|
|
38
|
+
const { resource } = this.getFilteredResource({
|
|
39
|
+
id: resourceId,
|
|
40
|
+
});
|
|
41
|
+
return resource;
|
|
42
|
+
});
|
|
43
|
+
const mapKeysRes = lodash_1.default.mapKeys(mapValuesRes, (value, key) => {
|
|
44
|
+
const res = lodash_1.default.replace(key, "ResourceId", "Resource");
|
|
45
|
+
return res;
|
|
46
|
+
});
|
|
47
|
+
const res = mapKeysRes;
|
|
48
|
+
return res;
|
|
49
|
+
};
|
|
50
|
+
const { id } = params;
|
|
51
|
+
Object.assign(this, params);
|
|
52
|
+
Resource.resourceList.push(this);
|
|
53
|
+
Resource.resourceMap[id] = this;
|
|
31
54
|
}
|
|
32
55
|
}
|
|
33
56
|
exports.Resource = Resource;
|
|
34
57
|
/**
|
|
35
|
-
*
|
|
58
|
+
* Resource List
|
|
59
|
+
*/
|
|
60
|
+
Resource.resourceList = [];
|
|
61
|
+
/**
|
|
62
|
+
* Resource Map
|
|
36
63
|
*/
|
|
37
|
-
Resource.
|
|
64
|
+
Resource.resourceMap = {};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -16,5 +16,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./instantiate-resource"), exports);
|
|
18
18
|
__exportStar(require("./instantiate-resources"), exports);
|
|
19
|
-
__exportStar(require("./manifest"), exports);
|
|
20
|
-
__exportStar(require("./resource-definition-resource-settings"), exports);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { SpecificResourceSettings } from "@ldsg/types";
|
|
1
2
|
import { Resource, ResourceConstructorParams } from "../resource";
|
|
2
|
-
|
|
3
|
-
export interface InstantiateResourceParams<T extends Manifest.ResourceSettings = Manifest.ResourceSettings> {
|
|
3
|
+
export interface InstantiateResourceParams<T extends SpecificResourceSettings = SpecificResourceSettings> {
|
|
4
4
|
resourceConstructorParams: ResourceConstructorParams<T>;
|
|
5
5
|
}
|
|
6
6
|
export interface InstantiateResourceRes<R extends Resource = Resource> {
|
|
7
7
|
resource: R;
|
|
8
8
|
}
|
|
9
|
-
export type InstantiateResource<T extends
|
|
9
|
+
export type InstantiateResource<T extends SpecificResourceSettings = SpecificResourceSettings, R extends Resource = Resource> = (params: InstantiateResourceParams<T>) => InstantiateResourceRes<R>;
|
|
10
10
|
//# sourceMappingURL=instantiate-resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instantiate-resource.d.ts","sourceRoot":"","sources":["../../src/types/instantiate-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"instantiate-resource.d.ts","sourceRoot":"","sources":["../../src/types/instantiate-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,WAAW,yBAAyB,CACxC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB;IAE7D,yBAAyB,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACnE,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,EAC7D,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAC3B,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,KAAK,sBAAsB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
import { ResourceRecord, SpecificResourceSettings } from "@ldsg/types";
|
|
1
2
|
import { Resource } from "../resource";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
manifestResources: Manifest.Resource<T>[];
|
|
3
|
+
export interface InstantiateResourcesParams<T extends SpecificResourceSettings = SpecificResourceSettings> {
|
|
4
|
+
resourceRecords: ResourceRecord<T>[];
|
|
5
5
|
}
|
|
6
6
|
export interface InstantiateResourcesRes<R extends Resource = Resource> {
|
|
7
7
|
resources: R[];
|
|
8
8
|
}
|
|
9
|
-
export type InstantiateResources<T extends
|
|
10
|
-
export {};
|
|
9
|
+
export type InstantiateResources<T extends SpecificResourceSettings = SpecificResourceSettings, R extends Resource = Resource> = (params: InstantiateResourcesParams<T>) => InstantiateResourcesRes<R>;
|
|
11
10
|
//# sourceMappingURL=instantiate-resources.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instantiate-resources.d.ts","sourceRoot":"","sources":["../../src/types/instantiate-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"instantiate-resources.d.ts","sourceRoot":"","sources":["../../src/types/instantiate-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,0BAA0B,CACzC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB;IAE7D,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACpE,SAAS,EAAE,CAAC,EAAE,CAAC;CAChB;AAED,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,EAC7D,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAC3B,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ldsg/resource",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -14,12 +14,14 @@
|
|
|
14
14
|
"access": "public"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"lodash": "^4.17.21"
|
|
17
|
+
"lodash": "^4.17.21",
|
|
18
|
+
"@ldsg/types": "0.2.0"
|
|
18
19
|
},
|
|
19
20
|
"devDependencies": {
|
|
20
21
|
"@types/lodash": "^4.14.202"
|
|
21
22
|
},
|
|
22
23
|
"scripts": {
|
|
23
|
-
"build": "
|
|
24
|
+
"build": "pnpm clean && tsc --project tsconfig.build.json",
|
|
25
|
+
"clean": "rm -rf dist"
|
|
24
26
|
}
|
|
25
27
|
}
|
package/dist/types/manifest.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
export declare namespace Manifest {
|
|
2
|
-
/**
|
|
3
|
-
* Resource Settings
|
|
4
|
-
*/
|
|
5
|
-
interface ResourceSettings {
|
|
6
|
-
/**
|
|
7
|
-
* Resource Title
|
|
8
|
-
*/
|
|
9
|
-
title: string;
|
|
10
|
-
/**
|
|
11
|
-
* Resource Description
|
|
12
|
-
*/
|
|
13
|
-
description: string;
|
|
14
|
-
/**
|
|
15
|
-
* Extra Key
|
|
16
|
-
*/
|
|
17
|
-
[key: string]: any;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Resource Config
|
|
21
|
-
*/
|
|
22
|
-
interface Resource<T extends ResourceSettings = ResourceSettings> {
|
|
23
|
-
/**
|
|
24
|
-
* Resource ID
|
|
25
|
-
*/
|
|
26
|
-
id: string;
|
|
27
|
-
/**
|
|
28
|
-
* Resource Kind
|
|
29
|
-
* Connect uppercase letters with underscores
|
|
30
|
-
*/
|
|
31
|
-
kind: string;
|
|
32
|
-
/**
|
|
33
|
-
* Parent Resource ID
|
|
34
|
-
*/
|
|
35
|
-
parentId: string;
|
|
36
|
-
/**
|
|
37
|
-
* Resource Settings
|
|
38
|
-
*/
|
|
39
|
-
settings: T;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Manifest
|
|
44
|
-
*/
|
|
45
|
-
export interface Manifest {
|
|
46
|
-
resources: Manifest.Resource[];
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"AAAA,yBAAiB,QAAQ,CAAC;IACxB;;OAEG;IACH,UAAiB,gBAAgB;QAC/B;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,WAAW,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB;IAED;;OAEG;IACH,UAAiB,QAAQ,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;QACrE;;WAEG;QACH,EAAE,EAAE,MAAM,CAAC;QAEX;;;WAGG;QACH,IAAI,EAAE,MAAM,CAAC;QAEb;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC;QAEjB;;WAEG;QACH,QAAQ,EAAE,CAAC,CAAC;KACb;CACF;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;CAChC"}
|
package/dist/types/manifest.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Manifest } from "./manifest";
|
|
2
|
-
export interface ResourceDefinitionResourceSettings extends Manifest.ResourceSettings {
|
|
3
|
-
/**
|
|
4
|
-
* Resource Kind
|
|
5
|
-
*/
|
|
6
|
-
kind: string;
|
|
7
|
-
/**
|
|
8
|
-
* Sub Resource Kinds
|
|
9
|
-
* When it is an empty array, there are no sub resource.
|
|
10
|
-
*/
|
|
11
|
-
subKinds: string[];
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=resource-definition-resource-settings.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-definition-resource-settings.d.ts","sourceRoot":"","sources":["../../src/types/resource-definition-resource-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,WAAW,kCACf,SAAQ,QAAQ,CAAC,gBAAgB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB"}
|