@ldsg/resource 0.3.26 → 0.3.28

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.
@@ -12,6 +12,9 @@ export interface GetFilteredResourcesRes<T extends Record<string, any> = Record<
12
12
  export type GetResourcesFromSettingsRes<T extends SpecificResourceSettings> = {
13
13
  [K in keyof T as K extends `${infer P}ResourceId` ? `${P}Resource` : never]: Resource;
14
14
  };
15
+ export declare function clearResourceRegistry(): void;
16
+ export declare function getResourceList(): Resource[];
17
+ export declare function getResourceMap(): Record<string, Resource>;
15
18
  export declare class Resource<T extends SpecificResourceSettings = SpecificResourceSettings> implements ResourceRecord<T> {
16
19
  /**
17
20
  * Resource ID
@@ -29,14 +32,6 @@ export declare class Resource<T extends SpecificResourceSettings = SpecificResou
29
32
  * Resource Settings
30
33
  */
31
34
  settings: ResourceSettings<T>;
32
- /**
33
- * Resource List
34
- */
35
- static resourceList: Resource[];
36
- /**
37
- * Resource Map
38
- */
39
- static resourceMap: Record<string, Resource>;
40
35
  constructor(params: ResourceConstructorParams<T>);
41
36
  /**
42
37
  * Get Filtered Resource
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACzF,OAAU,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CACtG,SAAQ,cAAc,CAAC,CAAC,CAAC;CAAG;AAE9B,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE/E,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACzF,QAAQ,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC1F,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,GAAG,GAAG,CAAC,UAAU,GAAG,KAAK,GAAG,QAAQ;CACtF,CAAC;AAEF,qBAAa,QAAQ,CAAC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CACjF,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,uCAsBtB;CACH"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACzF,OAAU,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CACtG,SAAQ,cAAc,CAAC,CAAC,CAAC;CAAG;AAE9B,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE/E,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACzF,QAAQ,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC1F,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,GAAG,GAAG,CAAC,UAAU,GAAG,KAAK,GAAG,QAAQ;CACtF,CAAC;AAmBF,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAE5C;AAED,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAEzD;AAED,qBAAa,QAAQ,CAAC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CACjF,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;gBAEnB,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,uCAsBtB;CACH"}
package/dist/resource.js CHANGED
@@ -4,7 +4,34 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Resource = void 0;
7
+ exports.clearResourceRegistry = clearResourceRegistry;
8
+ exports.getResourceList = getResourceList;
9
+ exports.getResourceMap = getResourceMap;
7
10
  const lodash_1 = __importDefault(require("lodash"));
11
+ const RESOURCE_LIST_KEY = Symbol.for('@ldsg/resource/resourceList');
12
+ const RESOURCE_MAP_KEY = Symbol.for('@ldsg/resource/resourceMap');
13
+ function getGlobalResourceList() {
14
+ if (!globalThis[RESOURCE_LIST_KEY]) {
15
+ globalThis[RESOURCE_LIST_KEY] = [];
16
+ }
17
+ return globalThis[RESOURCE_LIST_KEY];
18
+ }
19
+ function getGlobalResourceMap() {
20
+ if (!globalThis[RESOURCE_MAP_KEY]) {
21
+ globalThis[RESOURCE_MAP_KEY] = {};
22
+ }
23
+ return globalThis[RESOURCE_MAP_KEY];
24
+ }
25
+ function clearResourceRegistry() {
26
+ globalThis[RESOURCE_LIST_KEY] = [];
27
+ globalThis[RESOURCE_MAP_KEY] = {};
28
+ }
29
+ function getResourceList() {
30
+ return getGlobalResourceList();
31
+ }
32
+ function getResourceMap() {
33
+ return getGlobalResourceMap();
34
+ }
8
35
  class Resource {
9
36
  constructor(params) {
10
37
  /**
@@ -21,7 +48,7 @@ class Resource {
21
48
  * Get Filtered Resources
22
49
  */
23
50
  this.getFilteredResources = (params) => {
24
- const { resourceList } = Resource;
51
+ const resourceList = getGlobalResourceList();
25
52
  const filterRes = lodash_1.default.filter(resourceList, params);
26
53
  const res = {
27
54
  resources: filterRes
@@ -49,16 +76,8 @@ class Resource {
49
76
  };
50
77
  const { id } = params;
51
78
  Object.assign(this, params);
52
- Resource.resourceList.push(this);
53
- Resource.resourceMap[id] = this;
79
+ getGlobalResourceList().push(this);
80
+ getGlobalResourceMap()[id] = this;
54
81
  }
55
82
  }
56
83
  exports.Resource = Resource;
57
- /**
58
- * Resource List
59
- */
60
- Resource.resourceList = [];
61
- /**
62
- * Resource Map
63
- */
64
- Resource.resourceMap = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ldsg/resource",
3
- "version": "0.3.26",
3
+ "version": "0.3.28",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -12,7 +12,7 @@
12
12
  ],
13
13
  "dependencies": {
14
14
  "lodash": "^4.17.21",
15
- "@ldsg/types": "0.3.26"
15
+ "@ldsg/types": "0.3.28"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/jest": "^29.5.2",