@ldsg/resource 0.1.0-alpha.13 → 0.1.0-alpha.14

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.
@@ -1,11 +1,11 @@
1
1
  import { ListIterateeCustom } from "lodash";
2
- import { Manifest } from "./types/manifest";
3
- type GetFilteredResourcesParams = ListIterateeCustom<Resource<Manifest.ResourceSettings>, boolean>;
2
+ import { ResourceRecord, ResourceSettings } from "./types";
3
+ type GetFilteredResourcesParams = ListIterateeCustom<Resource<ResourceSettings>, boolean>;
4
4
  type GetFilteredResources = (params: GetFilteredResourcesParams) => Resource[];
5
5
  type GetFilteredResource = (params: GetFilteredResourcesParams) => Resource | undefined;
6
- export interface ResourceConstructorParams<T extends Manifest.ResourceSettings = Manifest.ResourceSettings> extends Manifest.Resource<T> {
6
+ export interface ResourceConstructorParams<T extends ResourceSettings = ResourceSettings> extends ResourceRecord<T> {
7
7
  }
8
- export declare class Resource<T extends Manifest.ResourceSettings = Manifest.ResourceSettings> implements Manifest.Resource<T> {
8
+ export declare class Resource<T extends ResourceSettings = ResourceSettings> implements ResourceRecord<T> {
9
9
  /**
10
10
  * Resource ID
11
11
  */
@@ -23,9 +23,13 @@ export declare class Resource<T extends Manifest.ResourceSettings = Manifest.Res
23
23
  */
24
24
  settings: T;
25
25
  /**
26
- * Related Resources
26
+ * Resource List
27
27
  */
28
- static relatedResources: Resource[];
28
+ static resourceList: Resource[];
29
+ /**
30
+ * Resource Map
31
+ */
32
+ static resourceMap: Record<string, Resource>;
29
33
  constructor(params: ResourceConstructorParams<T>);
30
34
  /**
31
35
  * Get Filtered Resource
@@ -1 +1 @@
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;CAAG;AAEjC,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,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAM;gBAE7B,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAWhD;;OAEG;IACH,mBAAmB,EAAE,mBAAmB,CAEtC;IAEF;;OAEG;IACH,oBAAoB,EAAE,oBAAoB,CAQxC;CACH"}
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,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3D,KAAK,0BAA0B,GAAG,kBAAkB,CAClD,QAAQ,CAAC,gBAAgB,CAAC,EAC1B,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,gBAAgB,GAAG,gBAAgB,CAC7C,SAAQ,cAAc,CAAC,CAAC,CAAC;CAAG;AAE9B,qBAAa,QAAQ,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,CACjE,YAAW,cAAc,CAAC,CAAC,CAAC;IAE5B;;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,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;IAahD;;OAEG;IACH,mBAAmB,EAAE,mBAAmB,CAEtC;IAEF;;OAEG;IACH,oBAAoB,EAAE,oBAAoB,CAIxC;CACH"}
package/dist/resource.js CHANGED
@@ -17,21 +17,24 @@ class Resource {
17
17
  * Get Filtered Resources
18
18
  */
19
19
  this.getFilteredResources = (params) => {
20
- const { relatedResources } = Resource;
21
- console.debug("getFilteredResources relatedResources", relatedResources);
22
- console.debug("getFilteredResources params", params);
23
- return lodash_1.default.filter(relatedResources, params);
20
+ const { resourceList } = Resource;
21
+ return lodash_1.default.filter(resourceList, params);
24
22
  };
25
23
  const { id, kind, parentId, settings } = params;
26
24
  this.id = id;
27
25
  this.kind = kind;
28
26
  this.parentId = parentId;
29
27
  this.settings = settings;
30
- Resource.relatedResources.push(this);
28
+ Resource.resourceList.push(this);
29
+ Resource.resourceMap[id] = this;
31
30
  }
32
31
  }
33
32
  exports.Resource = Resource;
34
33
  /**
35
- * Related Resources
34
+ * Resource List
36
35
  */
37
- Resource.relatedResources = [];
36
+ Resource.resourceList = [];
37
+ /**
38
+ * Resource Map
39
+ */
40
+ Resource.resourceMap = {};
@@ -1,10 +1,10 @@
1
1
  import { Resource, ResourceConstructorParams } from "../resource";
2
- import { Manifest } from "./manifest";
3
- export interface InstantiateResourceParams<T extends Manifest.ResourceSettings = Manifest.ResourceSettings> {
2
+ import { ResourceSettings } from "./manifest";
3
+ export interface InstantiateResourceParams<T extends ResourceSettings = ResourceSettings> {
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 Manifest.ResourceSettings = Manifest.ResourceSettings, R extends Resource = Resource> = (params: InstantiateResourceParams<T>) => InstantiateResourceRes<R>;
9
+ export type InstantiateResource<T extends ResourceSettings = ResourceSettings, 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,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"}
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,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,yBAAyB,CACxC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAE7C,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,gBAAgB,GAAG,gBAAgB,EAC7C,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAC3B,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,KAAK,sBAAsB,CAAC,CAAC,CAAC,CAAC"}
@@ -1,11 +1,10 @@
1
1
  import { Resource } from "../resource";
2
- import { Manifest } from "./manifest";
3
- interface Params<T extends Manifest.ResourceSettings = Manifest.ResourceSettings> {
4
- manifestResources: Manifest.Resource<T>[];
2
+ import { ResourceRecord, ResourceSettings } from "./manifest";
3
+ export interface InstantiateResourcesParams<T extends ResourceSettings = ResourceSettings> {
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 Manifest.ResourceSettings = Manifest.ResourceSettings, R extends Resource = Resource> = (params: Params<T>) => InstantiateResourcesRes<R>;
10
- export {};
9
+ export type InstantiateResources<T extends ResourceSettings = ResourceSettings, 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,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"}
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,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,0BAA0B,CACzC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAE7C,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,gBAAgB,GAAG,gBAAgB,EAC7C,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAC3B,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,CAAC"}
@@ -1,48 +1,46 @@
1
- export declare namespace Manifest {
1
+ /**
2
+ * Resource Settings
3
+ */
4
+ export interface ResourceSettings {
2
5
  /**
3
- * Resource Settings
6
+ * Resource Title
7
+ */
8
+ title: string;
9
+ /**
10
+ * Resource Description
4
11
  */
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
- }
12
+ description: string;
19
13
  /**
20
- * Resource Config
14
+ * Extra Key
15
+ */
16
+ [key: string]: any;
17
+ }
18
+ /**
19
+ * Resource Config
20
+ */
21
+ export interface ResourceRecord<T extends ResourceSettings = ResourceSettings> {
22
+ /**
23
+ * Resource ID
24
+ */
25
+ id: string;
26
+ /**
27
+ * Resource Kind
28
+ * Connect uppercase letters with underscores
29
+ */
30
+ kind: string;
31
+ /**
32
+ * Parent Resource ID
33
+ */
34
+ parentId: string;
35
+ /**
36
+ * Resource Settings
21
37
  */
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
- }
38
+ settings: T;
41
39
  }
42
40
  /**
43
41
  * Manifest
44
42
  */
45
43
  export interface Manifest {
46
- resources: Manifest.Resource[];
44
+ resourceRecords: ResourceRecord[];
47
45
  }
48
46
  //# sourceMappingURL=manifest.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAC3E;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC"}
@@ -1,5 +1,5 @@
1
- import { Manifest } from "./manifest";
2
- export interface ResourceDefinitionResourceSettings extends Manifest.ResourceSettings {
1
+ import { ResourceSettings } from "./manifest";
2
+ export interface ResourceDefinitionResourceSettings extends ResourceSettings {
3
3
  /**
4
4
  * Resource Kind
5
5
  */
@@ -1 +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"}
1
+ {"version":3,"file":"resource-definition-resource-settings.d.ts","sourceRoot":"","sources":["../../src/types/resource-definition-resource-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,kCAAmC,SAAQ,gBAAgB;IAC1E;;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.13",
3
+ "version": "0.1.0-alpha.14",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [