@ldsg/handler 0.1.0-alpha.8 → 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.
Files changed (39) hide show
  1. package/README.md +1 -5
  2. package/dist/__tests__/unit.d.ts +3 -0
  3. package/dist/__tests__/unit.d.ts.map +1 -0
  4. package/dist/__tests__/unit.js +35 -0
  5. package/dist/constants.d.ts +13 -0
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/constants.js +29 -0
  8. package/dist/handler-extended-resource.d.ts +8 -0
  9. package/dist/handler-extended-resource.d.ts.map +1 -0
  10. package/dist/handler-extended-resource.js +24 -0
  11. package/dist/handler.d.ts +1 -1
  12. package/dist/handler.d.ts.map +1 -1
  13. package/dist/index.d.ts +3 -3
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +3 -3
  16. package/dist/instantiate-resource.d.ts +2 -2
  17. package/dist/instantiate-resource.d.ts.map +1 -1
  18. package/dist/instantiate-resources.d.ts +2 -2
  19. package/dist/instantiate-resources.d.ts.map +1 -1
  20. package/dist/instantiate-resources.js +2 -2
  21. package/dist/resource.d.ts +12 -2
  22. package/dist/resource.d.ts.map +1 -1
  23. package/dist/resource.js +29 -3
  24. package/package.json +7 -3
  25. package/dist/handler-resource-settings.d.ts +0 -8
  26. package/dist/handler-resource-settings.d.ts.map +0 -1
  27. package/dist/handler-resource-settings.js +0 -18
  28. package/dist/resource-definition-resource-settings.d.ts +0 -3
  29. package/dist/resource-definition-resource-settings.d.ts.map +0 -1
  30. package/dist/resource-definition-resource-settings.js +0 -9
  31. package/dist/types/handler.d.ts +0 -4
  32. package/dist/types/handler.d.ts.map +0 -1
  33. package/dist/types/handler.js +0 -2
  34. package/dist/types/index.d.ts +0 -3
  35. package/dist/types/index.d.ts.map +0 -1
  36. package/dist/types/index.js +0 -18
  37. package/dist/types/resource-settings.d.ts +0 -29
  38. package/dist/types/resource-settings.d.ts.map +0 -1
  39. package/dist/types/resource-settings.js +0 -2
package/README.md CHANGED
@@ -1,5 +1 @@
1
- # LDSG Resource
2
-
3
- 资源 Resource
4
- 资源配置 Resource Settings 每个资源的配置
5
- 资源定义 Resource Definition 也是一种资源
1
+ # LDSG Handler
@@ -0,0 +1,3 @@
1
+ import { HandlerResource } from "../resource";
2
+ export declare function settingsHandler(this: HandlerResource): import("@ldsg/resource").GetFilteredResourcesRes<Record<string, any>>;
3
+ //# sourceMappingURL=unit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit.d.ts","sourceRoot":"","sources":["../../src/__tests__/unit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,yEAIpD"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.settingsHandler = settingsHandler;
4
+ const constants_1 = require("@ldsg/constants");
5
+ const constants_2 = require("../constants");
6
+ const resource_1 = require("../resource");
7
+ function settingsHandler() {
8
+ const res = this.getFilteredResources({});
9
+ return res;
10
+ }
11
+ describe("handler module unit test", () => {
12
+ describe("handler", () => {
13
+ const mockHandlerResource = new resource_1.HandlerResource({
14
+ id: "mock-handler",
15
+ kind: constants_2.RESOURCE_DEFINITION_SPECIFIC_RESOURCE_SETTINGS.kind,
16
+ parentId: constants_1.ROOT_RESOURCE_ID,
17
+ settings: {
18
+ title: "Mock Handler",
19
+ description: "",
20
+ code: "",
21
+ dependencies: [],
22
+ handler: settingsHandler,
23
+ },
24
+ });
25
+ const handler = mockHandlerResource.getHandler();
26
+ test("is defined", () => {
27
+ expect(handler).toBeDefined();
28
+ });
29
+ test("this is changed", () => {
30
+ const handlerRes = handler();
31
+ expect(handlerRes).toBeDefined();
32
+ expect(handlerRes.resources.length).toBeGreaterThan(0);
33
+ });
34
+ });
35
+ });
@@ -0,0 +1,13 @@
1
+ import { HandlerSpecificResourceSettings } from "@ldsg/handler-part";
2
+ import { GeneralResourceSettings } from "@ldsg/types";
3
+ export declare const HANDLER_GENERAL_RESOURCE_SETTINGS: GeneralResourceSettings;
4
+ /**
5
+ * Handler Resource Settings
6
+ * 此类型资源的子级处理程序资源的配置
7
+ * 如无或为 undefined,则说明无需子级处理程序。
8
+ */
9
+ export declare const HANDLER_SPECIFIC_RESOURCE_SETTINGS: HandlerSpecificResourceSettings;
10
+ import { ResourceDefinitionSpecificResourceSettings } from "@ldsg/resource-definition-part";
11
+ export declare const RESOURCE_DEFINITION_GENERAL_RESOURCE_SETTINGS: GeneralResourceSettings;
12
+ export declare const RESOURCE_DEFINITION_SPECIFIC_RESOURCE_SETTINGS: ResourceDefinitionSpecificResourceSettings;
13
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,eAAO,MAAM,iCAAiC,EAAE,uBAG/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,EAAE,+BAQ9C,CAAC;AAEJ,OAAO,EAAE,0CAA0C,EAAE,MAAM,gCAAgC,CAAC;AAE5F,eAAO,MAAM,6CAA6C,EAAE,uBAKzD,CAAC;AAEJ,eAAO,MAAM,8CAA8C,EAAE,0CAI1D,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RESOURCE_DEFINITION_SPECIFIC_RESOURCE_SETTINGS = exports.RESOURCE_DEFINITION_GENERAL_RESOURCE_SETTINGS = exports.HANDLER_SPECIFIC_RESOURCE_SETTINGS = exports.HANDLER_GENERAL_RESOURCE_SETTINGS = void 0;
4
+ const constants_1 = require("@ldsg/constants");
5
+ exports.HANDLER_GENERAL_RESOURCE_SETTINGS = {
6
+ title: "处理程序类型资源处理程序",
7
+ description: "包含处理程序相应的模块,此模块主要通过",
8
+ };
9
+ /**
10
+ * Handler Resource Settings
11
+ * 此类型资源的子级处理程序资源的配置
12
+ * 如无或为 undefined,则说明无需子级处理程序。
13
+ */
14
+ exports.HANDLER_SPECIFIC_RESOURCE_SETTINGS = {
15
+ code: `export * from "@ldsg/handler";`,
16
+ dependencies: [
17
+ {
18
+ name: "@ldsg/handler",
19
+ },
20
+ ],
21
+ };
22
+ exports.RESOURCE_DEFINITION_GENERAL_RESOURCE_SETTINGS = {
23
+ title: "处理程序类型资源定义",
24
+ description: "主要包含引入模块列表与相应的处理程序代码,处理程序类型资源无子级资源。",
25
+ };
26
+ exports.RESOURCE_DEFINITION_SPECIFIC_RESOURCE_SETTINGS = {
27
+ kind: "handler",
28
+ parentKind: constants_1.ROOT_RESOURCE_KIND,
29
+ };
@@ -0,0 +1,8 @@
1
+ import { HandlerExtendedResourceSettings } from "@ldsg/handler-part";
2
+ import { Resource } from "@ldsg/resource";
3
+ import { SpecificResourceSettings } from "@ldsg/types";
4
+ export declare class HandlerExtendedResource<T extends SpecificResourceSettings = SpecificResourceSettings> extends Resource<HandlerExtendedResourceSettings<T>> {
5
+ getExtendedHandler: () => import("@ldsg/handler-part").Handler<import("@ldsg/handler-part").DefaultParams, any>;
6
+ getExtendedHandlerOrUndefined: () => import("@ldsg/handler-part").Handler<import("@ldsg/handler-part").DefaultParams, any> | undefined;
7
+ }
8
+ //# sourceMappingURL=handler-extended-resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler-extended-resource.d.ts","sourceRoot":"","sources":["../src/handler-extended-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGvD,qBAAa,uBAAuB,CAClC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CAC7D,SAAQ,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC;IACpD,kBAAkB,8FAUhB;IAEF,6BAA6B,0GAQ3B;CACH"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HandlerExtendedResource = void 0;
4
+ const resource_1 = require("@ldsg/resource");
5
+ class HandlerExtendedResource extends resource_1.Resource {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.getExtendedHandler = () => {
9
+ const { getExtendedHandlerOrUndefined } = this;
10
+ const res = getExtendedHandlerOrUndefined();
11
+ if (!res) {
12
+ throw new Error("invalid handler");
13
+ }
14
+ return res;
15
+ };
16
+ this.getExtendedHandlerOrUndefined = () => {
17
+ const { getResourcesFromSettings } = this;
18
+ const { handlerResource } = getResourcesFromSettings();
19
+ const res = handlerResource === null || handlerResource === void 0 ? void 0 : handlerResource.getHandler();
20
+ return res;
21
+ };
22
+ }
23
+ }
24
+ exports.HandlerExtendedResource = HandlerExtendedResource;
package/dist/handler.d.ts CHANGED
@@ -1,6 +1,6 @@
1
+ import { Handler, HandlerResourceSettings } from "@ldsg/handler-part";
1
2
  import { InstantiateResourceParams, InstantiateResourceRes } from "@ldsg/resource";
2
3
  import { HandlerResource } from "./resource";
3
- import { Handler, HandlerResourceSettings } from "./types";
4
4
  export declare const handler: Handler<[
5
5
  InstantiateResourceParams<HandlerResourceSettings>
6
6
  ], InstantiateResourceRes<HandlerResource>>;
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE3D,eAAO,MAAM,OAAO,EAAE,OAAO,CAC3B;IAAC,yBAAyB,CAAC,uBAAuB,CAAC;CAAC,EACpD,sBAAsB,CAAC,eAAe,CAAC,CAClB,CAAC"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,OAAO,CAC3B;IAAC,yBAAyB,CAAC,uBAAuB,CAAC;CAAC,EACpD,sBAAsB,CAAC,eAAe,CAAC,CAClB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
+ export * from "@ldsg/handler-part";
2
+ export * from "./constants";
1
3
  export * from "./handler";
2
- export * from "./handler-resource-settings";
4
+ export * from "./handler-extended-resource";
3
5
  export * from "./instantiate-resource";
4
6
  export * from "./instantiate-resources";
5
7
  export * from "./resource";
6
- export * from "./resource-definition-resource-settings";
7
- export * from "./types";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,yCAAyC,CAAC;AACxD,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -14,10 +14,10 @@ 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("@ldsg/handler-part"), exports);
18
+ __exportStar(require("./constants"), exports);
17
19
  __exportStar(require("./handler"), exports);
18
- __exportStar(require("./handler-resource-settings"), exports);
20
+ __exportStar(require("./handler-extended-resource"), exports);
19
21
  __exportStar(require("./instantiate-resource"), exports);
20
22
  __exportStar(require("./instantiate-resources"), exports);
21
23
  __exportStar(require("./resource"), exports);
22
- __exportStar(require("./resource-definition-resource-settings"), exports);
23
- __exportStar(require("./types"), exports);
@@ -1,5 +1,5 @@
1
+ import { HandlerSpecificResourceSettings } from "@ldsg/handler-part";
1
2
  import { InstantiateResource } from "@ldsg/resource";
2
3
  import { HandlerResource } from "./resource";
3
- import { HandlerResourceSettings } from "./types";
4
- export declare const instantiateResource: InstantiateResource<HandlerResourceSettings, HandlerResource>;
4
+ export declare const instantiateResource: InstantiateResource<HandlerSpecificResourceSettings, HandlerResource>;
5
5
  //# sourceMappingURL=instantiate-resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instantiate-resource.d.ts","sourceRoot":"","sources":["../src/instantiate-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CACnD,uBAAuB,EACvB,eAAe,CAWhB,CAAC"}
1
+ {"version":3,"file":"instantiate-resource.d.ts","sourceRoot":"","sources":["../src/instantiate-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,CACnD,+BAA+B,EAC/B,eAAe,CAWhB,CAAC"}
@@ -1,5 +1,5 @@
1
+ import { HandlerSpecificResourceSettings } from "@ldsg/handler-part";
1
2
  import { InstantiateResources } from "@ldsg/resource";
2
3
  import { HandlerResource } from "./resource";
3
- import { HandlerResourceSettings } from "./types";
4
- export declare const instantiateResources: InstantiateResources<HandlerResourceSettings, HandlerResource>;
4
+ export declare const instantiateResources: InstantiateResources<HandlerSpecificResourceSettings, HandlerResource>;
5
5
  //# sourceMappingURL=instantiate-resources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instantiate-resources.d.ts","sourceRoot":"","sources":["../src/instantiate-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,CACrD,uBAAuB,EACvB,eAAe,CAiBhB,CAAC"}
1
+ {"version":3,"file":"instantiate-resources.d.ts","sourceRoot":"","sources":["../src/instantiate-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,CACrD,+BAA+B,EAC/B,eAAe,CAiBhB,CAAC"}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.instantiateResources = void 0;
4
4
  const instantiate_resource_1 = require("./instantiate-resource");
5
5
  const instantiateResources = (params) => {
6
- const { manifestResources } = params;
7
- const resources = manifestResources.map((manifestResource) => {
6
+ const { resourceRecords } = params;
7
+ const resources = resourceRecords.map((manifestResource) => {
8
8
  const { resource } = (0, instantiate_resource_1.instantiateResource)({
9
9
  resourceConstructorParams: manifestResource,
10
10
  });
@@ -1,9 +1,19 @@
1
+ import { DefaultParams, DefaultRes, Handler, HandlerSpecificResourceSettings } from "@ldsg/handler-part";
1
2
  import { Resource } from "@ldsg/resource";
2
- import { DefaultParams, DefaultRes, Handler, HandlerResourceSettings } from "./types";
3
3
  type GetHandler<Params extends DefaultParams = DefaultParams, Res extends DefaultRes = DefaultRes> = () => Handler<Params, Res>;
4
- export declare class HandlerResource extends Resource<HandlerResourceSettings> {
4
+ export declare class HandlerResource extends Resource<HandlerSpecificResourceSettings> {
5
+ /**
6
+ * Handler Without Changed This Pointer
7
+ */
8
+ handlerWithoutChangedThisPointer?: Handler;
9
+ /**
10
+ * Handler With Changed This Pointer
11
+ */
12
+ handlerWithChangedThisPointer?: Handler;
5
13
  getModuleId: () => string;
6
14
  getHandler: GetHandler;
15
+ getHandlerWithChangedThisPointer: GetHandler;
16
+ getHandlerWithoutChangedThisPointer: GetHandler;
7
17
  }
8
18
  export {};
9
19
  //# sourceMappingURL=resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,aAAa,EACb,UAAU,EACV,OAAO,EACP,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,KAAK,UAAU,CACb,MAAM,SAAS,aAAa,GAAG,aAAa,EAC5C,GAAG,SAAS,UAAU,GAAG,UAAU,IACjC,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/B,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,uBAAuB,CAAC;IACpE,WAAW,QAAO,MAAM,CAItB;IAEF,UAAU,EAAE,UAAU,CAcpB;CACH"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,OAAO,EACP,+BAA+B,EAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,KAAK,UAAU,CACb,MAAM,SAAS,aAAa,GAAG,aAAa,EAC5C,GAAG,SAAS,UAAU,GAAG,UAAU,IACjC,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/B,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,+BAA+B,CAAC;IAC5E;;OAEG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;OAEG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC,WAAW,QAAO,MAAM,CAItB;IAEF,UAAU,EAAE,UAAU,CAIpB;IAEF,gCAAgC,EAAE,UAAU,CAmB1C;IAEF,mCAAmC,EAAE,UAAU,CAqC7C;CACH"}
package/dist/resource.js CHANGED
@@ -6,21 +6,47 @@ class HandlerResource extends resource_1.Resource {
6
6
  constructor() {
7
7
  super(...arguments);
8
8
  this.getModuleId = () => {
9
- const { id } = this.settings;
9
+ const { id } = this;
10
10
  return id;
11
11
  };
12
12
  this.getHandler = () => {
13
- const moduleId = this.getModuleId();
13
+ const { getHandlerWithChangedThisPointer } = this;
14
+ return getHandlerWithChangedThisPointer();
15
+ };
16
+ this.getHandlerWithChangedThisPointer = () => {
17
+ const { handlerWithChangedThisPointer: thisHandlerWithChangedThisPointer, getHandlerWithoutChangedThisPointer, } = this;
18
+ if (thisHandlerWithChangedThisPointer) {
19
+ return thisHandlerWithChangedThisPointer;
20
+ }
21
+ const getHandlerWithoutChangedThisPointerRes = getHandlerWithoutChangedThisPointer();
22
+ const handlerWithChangedThisPointer = getHandlerWithoutChangedThisPointerRes.bind(this);
23
+ this.handlerWithChangedThisPointer = handlerWithChangedThisPointer;
24
+ return handlerWithChangedThisPointer;
25
+ };
26
+ this.getHandlerWithoutChangedThisPointer = () => {
27
+ const { getModuleId, handlerWithoutChangedThisPointer: thisHandlerWithoutChangedThisPointer, settings, } = this;
28
+ const { handler: settingsHandler } = settings;
29
+ if (thisHandlerWithoutChangedThisPointer) {
30
+ return thisHandlerWithoutChangedThisPointer;
31
+ }
32
+ if (settingsHandler) {
33
+ this.handlerWithoutChangedThisPointer = settingsHandler;
34
+ return settingsHandler;
35
+ }
36
+ const moduleId = getModuleId();
14
37
  try {
15
38
  const requireRes = require(moduleId);
16
39
  if ("handler" in requireRes) {
17
- return requireRes.handler;
40
+ const { handler } = requireRes;
41
+ this.handlerWithoutChangedThisPointer = handler;
42
+ return handler;
18
43
  }
19
44
  else {
20
45
  throw new Error("invalid handler in module");
21
46
  }
22
47
  }
23
48
  catch (error) {
49
+ console.error(error);
24
50
  throw new Error("require module failed");
25
51
  }
26
52
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ldsg/handler",
3
- "version": "0.1.0-alpha.8",
3
+ "version": "0.2.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -14,12 +14,16 @@
14
14
  "access": "public"
15
15
  },
16
16
  "dependencies": {
17
- "@ldsg/resource": "0.1.0-alpha.8"
17
+ "@ldsg/handler-part": "0.2.0",
18
+ "@ldsg/resource-definition-part": "0.2.0",
19
+ "@ldsg/resource": "0.2.0",
20
+ "@ldsg/types": "0.2.0"
18
21
  },
19
22
  "devDependencies": {
20
23
  "@types/node": "^20.13.0"
21
24
  },
22
25
  "scripts": {
23
- "build": "rm -rf dist && tsc --project tsconfig.build.json"
26
+ "build": "pnpm clean && tsc --project tsconfig.build.json",
27
+ "clean": "rm -rf dist"
24
28
  }
25
29
  }
@@ -1,8 +0,0 @@
1
- import { HandlerResourceSettings } from "./types";
2
- /**
3
- * Handler Resource Settings
4
- * 此类型资源的子级处理程序资源的配置
5
- * 如无或为 undefined,则说明无需子级处理程序。
6
- */
7
- export declare const handlerResourceSettings: HandlerResourceSettings;
8
- //# sourceMappingURL=handler-resource-settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler-resource-settings.d.ts","sourceRoot":"","sources":["../src/handler-resource-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,uBASrC,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handlerResourceSettings = void 0;
4
- /**
5
- * Handler Resource Settings
6
- * 此类型资源的子级处理程序资源的配置
7
- * 如无或为 undefined,则说明无需子级处理程序。
8
- */
9
- exports.handlerResourceSettings = {
10
- title: "处理程序类型资源处理程序",
11
- description: "包含处理程序相应的模块,此模块主要通过",
12
- code: `export * from "@ldsg/handler";`,
13
- dependencies: [
14
- {
15
- name: "@ldsg/handler",
16
- },
17
- ],
18
- };
@@ -1,3 +0,0 @@
1
- import { ResourceDefinitionResourceSettings } from "@ldsg/resource";
2
- export declare const resourceDefinitionResourceSettings: ResourceDefinitionResourceSettings;
3
- //# sourceMappingURL=resource-definition-resource-settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resource-definition-resource-settings.d.ts","sourceRoot":"","sources":["../src/resource-definition-resource-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAEpE,eAAO,MAAM,kCAAkC,EAAE,kCAO9C,CAAC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resourceDefinitionResourceSettings = void 0;
4
- exports.resourceDefinitionResourceSettings = {
5
- title: "处理程序类型资源定义",
6
- description: "主要包含引入模块列表与相应的处理程序代码,处理程序类型资源无子级资源。",
7
- kind: "HANDLER",
8
- subKinds: [],
9
- };
@@ -1,4 +0,0 @@
1
- export type DefaultParams = any[];
2
- export type DefaultRes = any;
3
- export type Handler<Params extends DefaultParams = DefaultParams, Res extends DefaultRes = DefaultRes> = (...params: Params) => Res | Promise<Res>;
4
- //# sourceMappingURL=handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/types/handler.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC;AAElC,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC;AAE7B,MAAM,MAAM,OAAO,CACjB,MAAM,SAAS,aAAa,GAAG,aAAa,EAC5C,GAAG,SAAS,UAAU,GAAG,UAAU,IACjC,CAAC,GAAG,MAAM,EAAE,MAAM,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +0,0 @@
1
- export * from "./handler";
2
- export * from "./resource-settings";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./handler"), exports);
18
- __exportStar(require("./resource-settings"), exports);
@@ -1,29 +0,0 @@
1
- import { Manifest } from "@ldsg/resource";
2
- export interface HandlerResourceDependency {
3
- /**
4
- * Name
5
- */
6
- name: string;
7
- /**
8
- * Version
9
- * pnpm add <name>@<version>
10
- */
11
- version?: string;
12
- /**
13
- * URI
14
- * pnpm add <uri>
15
- */
16
- uri?: string;
17
- }
18
- export interface HandlerResourceSettings extends Manifest.ResourceSettings {
19
- /**
20
- * Code
21
- * The code must exist to avoid problems caused by different versions resulting from dependencies being installed in the root project.
22
- */
23
- code: string;
24
- /**
25
- * Dependencies
26
- */
27
- dependencies: HandlerResourceDependency[];
28
- }
29
- //# sourceMappingURL=resource-settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resource-settings.d.ts","sourceRoot":"","sources":["../../src/types/resource-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAwB,SAAQ,QAAQ,CAAC,gBAAgB;IACxE;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,YAAY,EAAE,yBAAyB,EAAE,CAAC;CAC3C"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });