@ldsg/resource 0.1.0-alpha.3 → 0.1.0-alpha.5
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 +19 -7
- package/dist/resource.d.ts.map +1 -1
- package/dist/resource.js +18 -28
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/instantiate-resource.d.ts +10 -0
- package/dist/types/instantiate-resource.d.ts.map +1 -0
- package/dist/types/instantiate-resource.js +2 -0
- package/dist/types/instantiate-resources.d.ts +11 -0
- package/dist/types/instantiate-resources.d.ts.map +1 -0
- package/dist/types/instantiate-resources.js +2 -0
- package/dist/types/manifest.d.ts +1 -1
- package/dist/types/resource-definition-resource-settings.d.ts +13 -0
- package/dist/types/resource-definition-resource-settings.d.ts.map +1 -0
- package/dist/types/resource-definition-resource-settings.js +2 -0
- package/package.json +8 -2
package/dist/resource.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
import { ListIterateeCustom } from "lodash";
|
|
1
2
|
import { Manifest } from "./types/manifest";
|
|
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> {
|
|
7
|
+
relatedResources?: Resource[];
|
|
8
|
+
}
|
|
2
9
|
export declare class Resource<T extends Manifest.ResourceSettings = Manifest.ResourceSettings> implements Manifest.Resource<T> {
|
|
3
10
|
/**
|
|
4
11
|
* Resource ID
|
|
@@ -16,14 +23,19 @@ export declare class Resource<T extends Manifest.ResourceSettings = Manifest.Res
|
|
|
16
23
|
* Resource Settings
|
|
17
24
|
*/
|
|
18
25
|
settings: T;
|
|
19
|
-
constructor(resource: Manifest.Resource<T>);
|
|
20
|
-
getId: () => string;
|
|
21
|
-
getKind: () => string;
|
|
22
|
-
getParentId: () => string;
|
|
23
26
|
/**
|
|
24
|
-
*
|
|
25
|
-
|
|
27
|
+
* Related Resources
|
|
28
|
+
*/
|
|
29
|
+
relatedResources: Resource[];
|
|
30
|
+
constructor(params: ResourceConstructorParams<T>);
|
|
31
|
+
/**
|
|
32
|
+
* Get Filtered Resource
|
|
33
|
+
*/
|
|
34
|
+
getFilteredResource: GetFilteredResource;
|
|
35
|
+
/**
|
|
36
|
+
* Get Filtered Resources
|
|
26
37
|
*/
|
|
27
|
-
|
|
38
|
+
getFilteredResources: GetFilteredResources;
|
|
28
39
|
}
|
|
40
|
+
export {};
|
|
29
41
|
//# 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,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,qBAAa,QAAQ,CACnB,CAAC,SAAS,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAC/D,YAAW,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAU,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,KAAK,0BAA0B,GAAG,kBAAkB,CAClD,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACnC,OAAO,CACR,CAAC;AAEF,KAAK,oBAAoB,GAAG,CAAC,MAAM,EAAE,0BAA0B,KAAK,QAAQ,EAAE,CAAC;AAE/E,KAAK,mBAAmB,GAAG,CACzB,MAAM,EAAE,0BAA0B,KAC/B,QAAQ,GAAG,SAAS,CAAC;AAE1B,MAAM,WAAW,yBAAyB,CACxC,CAAC,SAAS,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAC/D,SAAQ,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5B,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC/B;AAED,qBAAa,QAAQ,CACnB,CAAC,SAAS,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAC/D,YAAW,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC;IAEZ;;OAEG;IACH,gBAAgB,EAAE,QAAQ,EAAE,CAAC;gBAEjB,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAUhD;;OAEG;IACH,mBAAmB,EAAE,mBAAmB,CAEtC;IAEF;;OAEG;IACH,oBAAoB,EAAE,oBAAoB,CAQxC;CACH"}
|
package/dist/resource.js
CHANGED
|
@@ -1,43 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.Resource = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
4
8
|
class Resource {
|
|
5
|
-
constructor(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return id;
|
|
12
|
-
};
|
|
13
|
-
this.getKind = () => {
|
|
14
|
-
const type = this.kind;
|
|
15
|
-
if (!type) {
|
|
16
|
-
throw new Error("resource kind is required");
|
|
17
|
-
}
|
|
18
|
-
return type;
|
|
19
|
-
};
|
|
20
|
-
this.getParentId = () => {
|
|
21
|
-
const parentId = this.parentId;
|
|
22
|
-
if (!parentId) {
|
|
23
|
-
throw new Error("resource parent id is required");
|
|
24
|
-
}
|
|
25
|
-
return parentId;
|
|
9
|
+
constructor(params) {
|
|
10
|
+
/**
|
|
11
|
+
* Get Filtered Resource
|
|
12
|
+
*/
|
|
13
|
+
this.getFilteredResource = (params) => {
|
|
14
|
+
return this.getFilteredResources(params)[0];
|
|
26
15
|
};
|
|
27
16
|
/**
|
|
28
|
-
* Get
|
|
29
|
-
* @returns Resource Settings
|
|
17
|
+
* Get Filtered Resources
|
|
30
18
|
*/
|
|
31
|
-
this.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
19
|
+
this.getFilteredResources = (params) => {
|
|
20
|
+
const { relatedResources } = this;
|
|
21
|
+
console.debug("getFilteredResources relatedResources", relatedResources);
|
|
22
|
+
console.debug("getFilteredResources params", params);
|
|
23
|
+
return lodash_1.default.filter(relatedResources, params);
|
|
35
24
|
};
|
|
36
|
-
const { id, kind, parentId, settings } =
|
|
25
|
+
const { id, kind, parentId, settings, relatedResources = [] } = params;
|
|
37
26
|
this.id = id;
|
|
38
27
|
this.kind = kind;
|
|
39
28
|
this.parentId = parentId;
|
|
40
29
|
this.settings = settings;
|
|
30
|
+
this.relatedResources = relatedResources;
|
|
41
31
|
}
|
|
42
32
|
}
|
|
43
33
|
exports.Resource = Resource;
|
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,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,yCAAyC,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -14,4 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./instantiate-resource"), exports);
|
|
18
|
+
__exportStar(require("./instantiate-resources"), exports);
|
|
17
19
|
__exportStar(require("./manifest"), exports);
|
|
20
|
+
__exportStar(require("./resource-definition-resource-settings"), exports);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Resource, ResourceConstructorParams } from "../resource";
|
|
2
|
+
import { Manifest } from "./manifest";
|
|
3
|
+
export interface InstantiateResourceParams<T extends Manifest.ResourceSettings = Manifest.ResourceSettings> {
|
|
4
|
+
resourceConstructorParams: ResourceConstructorParams<T>;
|
|
5
|
+
}
|
|
6
|
+
export interface InstantiateResourceRes<R extends Resource = Resource> {
|
|
7
|
+
resource: R;
|
|
8
|
+
}
|
|
9
|
+
export type InstantiateResource<T extends Manifest.ResourceSettings = Manifest.ResourceSettings, R extends Resource = Resource> = (params: InstantiateResourceParams<T>) => InstantiateResourceRes<R>;
|
|
10
|
+
//# sourceMappingURL=instantiate-resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instantiate-resource.d.ts","sourceRoot":"","sources":["../../src/types/instantiate-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,WAAW,yBAAyB,CACxC,CAAC,SAAS,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB;IAE/D,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,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,EAC/D,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAC3B,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,KAAK,sBAAsB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Resource } from "../resource";
|
|
2
|
+
import { Manifest } from "./manifest";
|
|
3
|
+
interface Params<T extends Manifest.ResourceSettings = Manifest.ResourceSettings> {
|
|
4
|
+
manifestResources: Manifest.Resource<T>[];
|
|
5
|
+
}
|
|
6
|
+
export interface InstantiateResourcesRes<R extends Resource = Resource> {
|
|
7
|
+
resources: R[];
|
|
8
|
+
}
|
|
9
|
+
export type InstantiateResources<T extends Manifest.ResourceSettings = Manifest.ResourceSettings, R extends Resource = Resource> = (params: Params<T>) => InstantiateResourcesRes<R>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=instantiate-resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instantiate-resources.d.ts","sourceRoot":"","sources":["../../src/types/instantiate-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,UAAU,MAAM,CACd,CAAC,SAAS,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB;IAE/D,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACpE,SAAS,EAAE,CAAC,EAAE,CAAC;CAChB;AAED,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,EAC/D,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAC3B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/types/manifest.d.ts
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ldsg/resource",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -13,7 +13,13 @@
|
|
|
13
13
|
"publishConfig": {
|
|
14
14
|
"access": "public"
|
|
15
15
|
},
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"lodash": "^4.17.21"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@types/lodash": "^4.14.202"
|
|
21
|
+
},
|
|
16
22
|
"scripts": {
|
|
17
|
-
"build": "tsc --project tsconfig.build.json"
|
|
23
|
+
"build": "rm -rf dist && tsc --project tsconfig.build.json"
|
|
18
24
|
}
|
|
19
25
|
}
|