@odg/chemical-x 1.29.0 → 2.0.1

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 (75) hide show
  1. package/dist/Container.d.ts +3 -47
  2. package/dist/Container.js +3 -23
  3. package/dist/Container.js.map +1 -1
  4. package/dist/Helpers/index.d.ts +1 -1
  5. package/dist/Helpers/index.js +1 -1
  6. package/dist/Helpers/index.js.map +1 -1
  7. package/dist/Helpers/retry.d.ts +1 -1
  8. package/dist/Helpers/retry.js +2 -2
  9. package/dist/Helpers/retry.js.map +1 -1
  10. package/dist/Helpers/sleep.d.ts +1 -1
  11. package/dist/Helpers/{throwIf.d.ts → throw-if.d.ts} +1 -1
  12. package/dist/Helpers/{throwIf.js → throw-if.js} +1 -1
  13. package/dist/Helpers/throw-if.js.map +1 -0
  14. package/dist/Helpers/timeout.d.ts +1 -1
  15. package/dist/Helpers/timeout.js +1 -1
  16. package/dist/Helpers/timeout.js.map +1 -1
  17. package/dist/Interfaces/AttemptableFlow.d.ts +5 -5
  18. package/dist/Interfaces/RetryInterface.d.ts +6 -6
  19. package/dist/Interfaces/TimeoutInterface.d.ts +1 -1
  20. package/dist/Interfaces/index.d.ts +1 -1
  21. package/dist/Interfaces/index.js +0 -15
  22. package/dist/Interfaces/index.js.map +1 -1
  23. package/dist/Support/Arr.d.ts +1 -7
  24. package/dist/Support/Arr.js +0 -6
  25. package/dist/Support/Arr.js.map +1 -1
  26. package/dist/Support/Decorators/OdgDecorators.d.ts +15 -0
  27. package/dist/Support/Decorators/{ODGDecorators.js → OdgDecorators.js} +43 -28
  28. package/dist/Support/Decorators/OdgDecorators.js.map +1 -0
  29. package/dist/Support/Decorators/index.d.ts +1 -2
  30. package/dist/Support/Decorators/index.js +1 -2
  31. package/dist/Support/Decorators/index.js.map +1 -1
  32. package/dist/Support/Num.d.ts +1 -1
  33. package/dist/Support/Num.js.map +1 -1
  34. package/dist/Support/Str.d.ts +2 -2
  35. package/dist/Support/Str.js +6 -6
  36. package/dist/Support/Str.js.map +1 -1
  37. package/dist/crawler/@types/Browser.d.ts +1 -1
  38. package/dist/crawler/@types/Context.d.ts +1 -2
  39. package/dist/crawler/@types/ManagerBrowserType.d.ts +4 -4
  40. package/dist/crawler/@types/Page.d.ts +3 -4
  41. package/dist/crawler/Browser.d.ts +7 -7
  42. package/dist/crawler/Browser.js +1 -1
  43. package/dist/crawler/Browser.js.map +1 -1
  44. package/dist/crawler/BrowserManager.d.ts +5 -5
  45. package/dist/crawler/BrowserManager.js.map +1 -1
  46. package/dist/crawler/Context.d.ts +7 -7
  47. package/dist/crawler/Context.js +2 -2
  48. package/dist/crawler/Context.js.map +1 -1
  49. package/dist/crawler/Handlers/BaseHandler.d.ts +8 -7
  50. package/dist/crawler/Handlers/BaseHandler.js +3 -4
  51. package/dist/crawler/Handlers/BaseHandler.js.map +1 -1
  52. package/dist/crawler/Interfaces/HandlerInterface.d.ts +34 -15
  53. package/dist/crawler/Interfaces/PageInterface.d.ts +1 -1
  54. package/dist/crawler/Interfaces/index.d.ts +1 -1
  55. package/dist/crawler/Interfaces/index.js +0 -15
  56. package/dist/crawler/Interfaces/index.js.map +1 -1
  57. package/dist/crawler/Page.d.ts +5 -5
  58. package/dist/crawler/Page.js +1 -1
  59. package/dist/crawler/Page.js.map +1 -1
  60. package/dist/crawler/Pages/BasePage.d.ts +12 -19
  61. package/dist/crawler/Pages/BasePage.js +3 -13
  62. package/dist/crawler/Pages/BasePage.js.map +1 -1
  63. package/dist/crawler/Pages/Components/BaseComponentPage.d.ts +2 -2
  64. package/dist/crawler/Pages/Components/BaseComponentPage.js.map +1 -1
  65. package/dist/index.d.ts +1 -1
  66. package/dist/index.js +0 -1
  67. package/dist/index.js.map +1 -1
  68. package/dist/tsconfig.build.tsbuildinfo +1 -1
  69. package/package.json +37 -19
  70. package/dist/Helpers/throwIf.js.map +0 -1
  71. package/dist/Support/Decorators/GetterDecorator.d.ts +0 -1
  72. package/dist/Support/Decorators/GetterDecorator.js +0 -18
  73. package/dist/Support/Decorators/GetterDecorator.js.map +0 -1
  74. package/dist/Support/Decorators/ODGDecorators.d.ts +0 -15
  75. package/dist/Support/Decorators/ODGDecorators.js.map +0 -1
@@ -1,51 +1,7 @@
1
- import { type interfaces, Container as ContainerInversify } from "inversify";
1
+ import { TypedContainer } from "@inversifyjs/strongly-typed";
2
2
  /**
3
- * @template {Record<string, unknown>} ContainerType
4
- * @template {string} Name Keyof of interface
3
+ * @template ContainerType
5
4
  */
6
- export declare class Container<ContainerType extends Record<string, unknown> = Record<string, unknown>> extends ContainerInversify {
7
- /**
8
- * Get Container Item
9
- *
10
- * @template {string} Name Keyof of interface
11
- * @param {Name} serviceIdentifier containerName
12
- * @returns {ContainerType[Name]}
13
- */
14
- get<Name extends keyof ContainerType>(serviceIdentifier: Name): ContainerType[Name];
15
- get<Name>(serviceIdentifier: string): Name;
16
- /**
17
- * Get Container Item
18
- *
19
- * @template {string} Name
20
- * @param {Name} serviceIdentifier containerName
21
- * @returns {ContainerType[Name] | undefined}
22
- */
5
+ export declare class Container<ContainerType extends object = Record<string, unknown>> extends TypedContainer<ContainerType> {
23
6
  getOptional<Name extends keyof ContainerType>(serviceIdentifier: Name): ContainerType[Name] | undefined;
24
- /**
25
- * Bind Container Item
26
- *
27
- * @template {string} Name
28
- * @param {Name} serviceIdentifier containerName
29
- * @returns {interfaces.BindingToSyntax<ContainerType[Name]>}
30
- */
31
- bind<Name extends keyof ContainerType>(serviceIdentifier: Name): interfaces.BindingToSyntax<ContainerType[Name]>;
32
- bind<Name>(serviceIdentifier: string): interfaces.BindingToSyntax<Name>;
33
- /**
34
- * Get Async Container Item
35
- *
36
- * @template {string} Name
37
- * @param {Name} serviceIdentifier containerName
38
- * @returns {Promise<ContainerType[Name]>}
39
- */
40
- getAsync<Name extends keyof ContainerType>(serviceIdentifier: Name): Promise<ContainerType[Name]>;
41
- getAsync<Name>(serviceIdentifier: interfaces.ServiceIdentifier<Name>): Promise<Name>;
42
- /**
43
- * Get Container Item
44
- *
45
- * @template {string} Name
46
- * @param {Name} serviceIdentifier containerName
47
- * @returns {boolean}
48
- */
49
- isBound<Name extends keyof ContainerType>(serviceIdentifier: Name): boolean;
50
- isBound<Name>(serviceIdentifier: string): Name;
51
7
  }
package/dist/Container.js CHANGED
@@ -1,36 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Container = void 0;
4
- const inversify_1 = require("inversify");
4
+ const strongly_typed_1 = require("@inversifyjs/strongly-typed");
5
5
  /**
6
- * @template {Record<string, unknown>} ContainerType
7
- * @template {string} Name Keyof of interface
6
+ * @template ContainerType
8
7
  */
9
- class Container extends inversify_1.Container {
10
- get(serviceIdentifier) {
11
- return super.get(serviceIdentifier);
12
- }
13
- /**
14
- * Get Container Item
15
- *
16
- * @template {string} Name
17
- * @param {Name} serviceIdentifier containerName
18
- * @returns {ContainerType[Name] | undefined}
19
- */
8
+ class Container extends strongly_typed_1.TypedContainer {
20
9
  getOptional(serviceIdentifier) {
21
10
  if (!this.isBound(serviceIdentifier))
22
11
  return;
23
12
  return super.get(serviceIdentifier);
24
13
  }
25
- bind(serviceIdentifier) {
26
- return super.bind(serviceIdentifier);
27
- }
28
- async getAsync(serviceIdentifier) {
29
- return super.getAsync(serviceIdentifier);
30
- }
31
- isBound(serviceIdentifier) {
32
- return super.isBound(serviceIdentifier);
33
- }
34
14
  }
35
15
  exports.Container = Container;
36
16
  //# sourceMappingURL=Container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../src/Container.ts"],"names":[],"mappings":";;;AAAA,yCAGmB;AAEnB;;;GAGG;AACH,MAAa,SAEX,SAAQ,qBAAkB;IAWjB,GAAG,CAAmC,iBAAuB;QAChE,OAAO,KAAK,CAAC,GAAG,CAAsB,iBAA2B,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAmC,iBAAuB;QACxE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAA2B,CAAC;YAAE,OAAO;QAEvD,OAAO,KAAK,CAAC,GAAG,CAAC,iBAA2B,CAAC,CAAC;IAClD,CAAC;IAaM,IAAI,CACP,iBAAuB;QAEvB,OAAO,KAAK,CAAC,IAAI,CAAC,iBAA2B,CAAC,CAAC;IACnD,CAAC;IAWM,KAAK,CAAC,QAAQ,CAAmC,iBAAuB;QAC3E,OAAO,KAAK,CAAC,QAAQ,CAAC,iBAA2B,CAAC,CAAC;IACvD,CAAC;IAWM,OAAO,CAAmC,iBAAuB;QACpE,OAAO,KAAK,CAAC,OAAO,CAAC,iBAA2B,CAAC,CAAC;IACtD,CAAC;CAEJ;AAzED,8BAyEC"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../src/Container.ts"],"names":[],"mappings":";;;AAAA,gEAA6D;AAE7D;;GAEG;AACH,MAAa,SAEX,SAAQ,+BAA6B;IAE5B,WAAW,CACd,iBAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAAE,OAAO;QAE7C,OAAO,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAwB,CAAC;IAC/D,CAAC;CAEJ;AAZD,8BAYC"}
@@ -1,4 +1,4 @@
1
1
  export * from "./sleep";
2
2
  export * from "./retry";
3
3
  export * from "./timeout";
4
- export * from "./throwIf";
4
+ export * from "./throw-if";
@@ -17,5 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./sleep"), exports);
18
18
  __exportStar(require("./retry"), exports);
19
19
  __exportStar(require("./timeout"), exports);
20
- __exportStar(require("./throwIf"), exports);
20
+ __exportStar(require("./throw-if"), exports);
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AAExB,0CAAwB;AAExB,4CAA0B;AAE1B,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AAExB,0CAAwB;AAExB,4CAA0B;AAE1B,6CAA2B"}
@@ -1,3 +1,3 @@
1
- import { type RetryOptionsInterface, type RetryWhenDefaultInterface, type RetryWhenResolveInterface } from "../Interfaces";
1
+ import type { RetryOptionsInterface, RetryWhenDefaultInterface, RetryWhenResolveInterface } from "../Interfaces";
2
2
  export declare function retry<ReturnType>(options: RetryOptionsInterface<ReturnType> & RetryWhenDefaultInterface): Promise<ReturnType>;
3
3
  export declare function retry<ReturnType>(options: RetryOptionsInterface<ReturnType> & RetryWhenResolveInterface): Promise<ReturnType | undefined>;
@@ -25,14 +25,14 @@ async function getWhen(exception, options) {
25
25
  * Retry Function recursive
26
26
  *
27
27
  * @template {any} ReturnType
28
- * @param {RetryOptionsInterface<ReturnType> & { attempt: number }} options Options Retry
28
+ * @param {RetryOptionsInterface<ReturnType> & { attempt: number }} options Retry action all params options
29
29
  * @returns {Promise<ReturnType | undefined>}
30
30
  */
31
31
  async function retryHelper(options) {
32
32
  (0, _1.throwIf)(typeof options.times !== "number" || Number.isNaN(options.times), () => new RetryException_1.RetryException("Attempt is not a number"));
33
33
  try {
34
34
  (0, _1.throwIf)(!!options.signal?.aborted, () => new exception_1.AbortException(exception_1.AbortException.parseOrDefault(options.signal?.reason, "Retry Aborted").message));
35
- return await options.callback.call(options.callback, options.attempt, options.signal);
35
+ return await options.callback(options.attempt, options.signal);
36
36
  }
37
37
  catch (exception) {
38
38
  const when = await getWhen(exception, options);
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/Helpers/retry.ts"],"names":[],"mappings":";;AA+EA,sBAOC;AAtFD,8CAAgD;AAEhD,mCAAqC;AACrC,+DAA4D;AAO5D,wBAAmC;AAEnC,KAAK,UAAU,OAAO,CAClB,SAAkB,EAClB,OAAyF;IAEzF,MAAM,cAAc,GAAG,+BAAc,CAAC,cAAc,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IAC3F,IAAI,cAAc,YAAY,0BAAc;QAAE,MAAM,cAAc,CAAC;IAEnE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,CAAE,oBAAW,CAAC,KAAK,EAAE,oBAAW,CAAC,OAAO,CAAE,CAAC;IAC1D,IAAI,IAAI,KAAK,oBAAW,CAAC,KAAK;QAAE,MAAM,cAAc,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,KAAK,oBAAW,CAAC,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,0BAAc,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAK,CAAC,EAAE,CAAC;QAChD,MAAM,cAAc,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CACtB,OAAgE;IAEhE,IAAA,UAAO,EACH,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAChE,GAAG,EAAE,CAAC,IAAI,+BAAc,CAAC,yBAAyB,CAAC,CACtD,CAAC;IAEF,IAAI,CAAC;QACD,IAAA,UAAO,EACH,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EACzB,GAAG,EAAE,CAAC,IAAI,0BAAc,CAAC,0BAAc,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,CAC3G,CAAC;QAEF,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,SAAkB,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,oBAAW,CAAC,OAAO,EAAE,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,MAAM,IAAA,QAAK,EAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE5D,OAAO,WAAW,CAAC;YACf,GAAG,OAAO;YACV,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC;SAC/B,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAUM,KAAK,UAAU,KAAK,CACvB,OAA0C;IAE1C,OAAO,WAAW,CAAC;QACf,GAAG,OAAO;QACV,OAAO,EAAE,CAAC;KACb,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/Helpers/retry.ts"],"names":[],"mappings":";;AAmFA,sBAOC;AA1FD,8CAAgD;AAEhD,mCAAqC;AACrC,+DAA4D;AAO5D,wBAAmC;AAEnC,KAAK,UAAU,OAAO,CAClB,SAAkB,EAClB,OAAyF;IAEzF,MAAM,cAAc,GAAG,+BAAc,CAAC,cAAc,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IAE3F,IAAI,cAAc,YAAY,0BAAc;QAAE,MAAM,cAAc,CAAC;IAEnE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,CAAE,oBAAW,CAAC,KAAK,EAAE,oBAAW,CAAC,OAAO,CAAE,CAAC;IAE1D,IAAI,IAAI,KAAK,oBAAW,CAAC,KAAK;QAAE,MAAM,cAAc,CAAC;IAErD,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,KAAK,oBAAW,CAAC,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,0BAAc,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAK,CAAC,EAAE,CAAC;QAChD,MAAM,cAAc,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CACtB,OAAgE;IAEhE,IAAA,UAAO,EACH,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAChE,GAAG,EAAE,CAAC,IAAI,+BAAc,CAAC,yBAAyB,CAAC,CACtD,CAAC;IAEF,IAAI,CAAC;QACD,IAAA,UAAO,EACH,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EACzB,GAAG,EAAE,CAAC,IAAI,0BAAc,CAAC,0BAAc,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,CAC3G,CAAC;QAEF,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,SAAkB,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,IAAI,KAAK,oBAAW,CAAC,OAAO,EAAE,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,MAAM,IAAA,QAAK,EAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE5D,OAAO,WAAW,CAAC;YACf,GAAG,OAAO;YACV,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC;SAC/B,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAUM,KAAK,UAAU,KAAK,CACvB,OAA0C;IAE1C,OAAO,WAAW,CAAC;QACf,GAAG,OAAO;QACV,OAAO,EAAE,CAAC;KACb,CAAC,CAAC;AACP,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type Abortable } from "node:events";
1
+ import type { Abortable } from "node:events";
2
2
  /**
3
3
  * Sleep async function
4
4
  *
@@ -1,4 +1,4 @@
1
- import { type Exception } from "@odg/exception";
1
+ import type { Exception } from "@odg/exception";
2
2
  export declare function throwIf(condition: true, exception: () => Exception): never;
3
3
  export declare function throwIf(condition: false, exception: () => Exception): void;
4
4
  export declare function throwIf(condition: boolean, exception: () => Exception): never | void;
@@ -15,4 +15,4 @@ function throwIf(condition, exception) {
15
15
  throw exception();
16
16
  }
17
17
  }
18
- //# sourceMappingURL=throwIf.js.map
18
+ //# sourceMappingURL=throw-if.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throw-if.js","sourceRoot":"","sources":["../../src/Helpers/throw-if.ts"],"names":[],"mappings":";;AA0BA,0BAIC;AAbD;;;;;;;;GAQG;AACH,SAAgB,OAAO,CAAC,SAAkB,EAAE,SAA0B;IAClE,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,SAAS,EAAE,CAAC;IACtB,CAAC;AACL,CAAC"}
@@ -1,2 +1,2 @@
1
- import { type TimeoutOptionsInterface } from "../Interfaces";
1
+ import type { TimeoutOptionsInterface } from "../Interfaces";
2
2
  export declare function timeout<ReturnType>(options: TimeoutOptionsInterface<ReturnType>): Promise<ReturnType>;
@@ -10,7 +10,7 @@ async function timeout(options) {
10
10
  }
11
11
  return Promise.race([
12
12
  Promise.resolve()
13
- .then(async () => options.callback.call(options.callback)),
13
+ .then(async () => options.callback()),
14
14
  (0, _1.sleep)(options.timeout).then(() => {
15
15
  throw new TimeoutException_1.TimeoutException(`${options.name || "Default"} - Timeout ${options.timeout}ms exceeded`);
16
16
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/Helpers/timeout.ts"],"names":[],"mappings":";;AAQA,0BAcC;AAtBD,6CAAuD;AACvD,mEAAgE;AAKhE,wBAA0B;AAEnB,KAAK,UAAU,OAAO,CACzB,OAA4C;IAE5C,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,sCAAwB,CAAC,yBAAyB,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC;QAChB,OAAO,CAAC,OAAO,EAAE;aACZ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAA,QAAK,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7B,MAAM,IAAI,mCAAgB,CAAC,GAAG,OAAO,CAAC,IAAK,IAAI,SAAS,cAAc,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;QACxG,CAAC,CAAC;KACL,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/Helpers/timeout.ts"],"names":[],"mappings":";;AAQA,0BAcC;AAtBD,6CAAuD;AACvD,mEAAgE;AAKhE,wBAA0B;AAEnB,KAAK,UAAU,OAAO,CACzB,OAA4C;IAE5C,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,sCAAwB,CAAC,yBAAyB,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC;QAChB,OAAO,CAAC,OAAO,EAAE;aACZ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAA,QAAK,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7B,MAAM,IAAI,mCAAgB,CAAC,GAAG,OAAO,CAAC,IAAK,IAAI,SAAS,cAAc,OAAO,CAAC,OAAO,aAAa,CAAC,CAAC;QACxG,CAAC,CAAC;KACL,CAAC,CAAC;AACP,CAAC"}
@@ -1,6 +1,6 @@
1
- import { type Exception } from "@odg/exception";
2
- import { type RetryAction } from "../Enums";
3
- import { type RetryOptionsInterface } from ".";
1
+ import type { Exception } from "@odg/exception";
2
+ import type { RetryAction } from "../Enums";
3
+ import type { RetryOptionsInterface } from ".";
4
4
  export interface AttemptableInterface {
5
5
  currentAttempt: number;
6
6
  /**
@@ -24,7 +24,7 @@ export interface AttemptableInterface {
24
24
  *
25
25
  * Return a retry action to control retry behavior.
26
26
  *
27
- * @param {Exception} exception Exception
27
+ * @param {Exception} exception Last Exception to dispatch this function
28
28
  * @param {number} attempt Current attempt (starts at 1).
29
29
  * @returns {Promise<RetryAction>}
30
30
  */
@@ -35,7 +35,7 @@ export interface AttemptableInterface {
35
35
  * Use this to handle final failure logic.
36
36
  * You should re-throw the exception if needed.
37
37
  *
38
- * @param {Exception} exception Exception
38
+ * @param {Exception} exception Last exception in attemptableFlow
39
39
  * @returns {Promise<void>}
40
40
  */
41
41
  failure?(exception: Exception): Promise<void>;
@@ -1,6 +1,6 @@
1
- import { type Exception } from "@odg/exception";
2
- import { type PromiseOrSyncType } from "../types/index";
3
- import { type RetryAction } from "../Enums";
1
+ import type { Exception } from "@odg/exception";
2
+ import type { PromiseOrSyncType } from "../types/index";
3
+ import type { RetryAction } from "../Enums";
4
4
  /**
5
5
  * Defines the options for a retry operation.
6
6
  *
@@ -10,7 +10,7 @@ import { type RetryAction } from "../Enums";
10
10
  export interface RetryOptionsInterface<ReturnType = undefined> {
11
11
  /**
12
12
  * Number of times to retry
13
- * 0 = No retry
13
+ * 0,1 = No retry only first attempt
14
14
  *
15
15
  * @type {number}
16
16
  * @memberof RetryOptionsInterface
@@ -71,7 +71,7 @@ export interface RetryWhenResolveInterface {
71
71
  *
72
72
  * @param {Exception} exception The exception caught during the attempt.
73
73
  * @param {number} times The number of attempts made so far. (starts at 1).
74
- * @returns {PromiseOrSyncType<RetryAction.Default | RetryAction.Resolve | RetryAction.Retry | RetryAction.Throw>}
74
+ * @returns {PromiseOrSyncType<RetryAction>}
75
75
  */
76
- when?(exception: Exception, times: number): PromiseOrSyncType<RetryAction.Default | RetryAction.Resolve | RetryAction.Retry | RetryAction.Throw>;
76
+ when?(exception: Exception, times: number): PromiseOrSyncType<RetryAction>;
77
77
  }
@@ -1,4 +1,4 @@
1
- import { type PromiseOrSyncType } from "../types/index";
1
+ import type { PromiseOrSyncType } from "../types/index";
2
2
  /**
3
3
  * Retry options
4
4
  *
@@ -4,4 +4,4 @@ export type * from "./RetryInterface";
4
4
  export type * from "./GetterInterface";
5
5
  export type * from "./TimeoutInterface";
6
6
  export type * from "./AttemptableFlow";
7
- export * from "../crawler/Interfaces";
7
+ export type * from "../crawler/Interfaces";
@@ -1,18 +1,3 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("../crawler/Interfaces"), exports);
18
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAYA,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Interfaces/index.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { type CloneableInterface } from "../Interfaces";
1
+ import type { CloneableInterface } from "../Interfaces";
2
2
  /**
3
3
  * Arr Class Helper
4
4
  *
@@ -9,12 +9,6 @@ import { type CloneableInterface } from "../Interfaces";
9
9
  export declare class Arr<Type extends unknown[]> implements CloneableInterface {
10
10
  private readonly subject;
11
11
  constructor(subject: Type);
12
- /**
13
- * Clone This Object
14
- *
15
- * @memberof Arr
16
- * @returns {Arr<Array<Type[number]>>}
17
- */
18
12
  clone(): Arr<Array<Type[number]>>;
19
13
  /**
20
14
  * Get Array Class Properties
@@ -13,12 +13,6 @@ class Arr {
13
13
  constructor(subject) {
14
14
  this.subject = subject;
15
15
  }
16
- /**
17
- * Clone This Object
18
- *
19
- * @memberof Arr
20
- * @returns {Arr<Array<Type[number]>>}
21
- */
22
16
  clone() {
23
17
  return new Arr([...this.subject]);
24
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Arr.js","sourceRoot":"","sources":["../../src/Support/Arr.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,MAAa,GAAG;IAGS;IADrB,YACqB,OAAa;QAAb,YAAO,GAAP,OAAO,CAAM;IAC9B,CAAC;IAEL;;;;;OAKG;IACI,KAAK;QACR,OAAO,IAAI,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,OAAO,CAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CAEJ;AA1BD,kBA0BC"}
1
+ {"version":3,"file":"Arr.js","sourceRoot":"","sources":["../../src/Support/Arr.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,MAAa,GAAG;IAGS;IADrB,YACqB,OAAa;QAAb,YAAO,GAAP,OAAO,CAAM;IAElC,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,OAAO,CAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CAEJ;AArBD,kBAqBC"}
@@ -0,0 +1,15 @@
1
+ import type { TypedContainer } from "@inversifyjs/strongly-typed";
2
+ import type { EventListener, EventNameType, EventObjectType, EventOptions } from "@odg/events";
3
+ import type { AttemptableInterface, GetterAccessInterface } from "../../Interfaces";
4
+ export declare class ODGDecorators {
5
+ protected static readonly metaDataPageOrHandler: string;
6
+ protected static readonly metaDataEvent: string;
7
+ static injectablePageOrHandler(name: string): CallableFunction;
8
+ static attemptableFlow<T extends new (...constructors: any[]) => AttemptableInterface>(): (constructor: T) => T;
9
+ static getterAccess<T extends new (..._ignore: never[]) => GetterAccessInterface>(): (targetClass: T) => T;
10
+ static registerListener(eventName: EventNameType, containerName: string, options: EventOptions): CallableFunction;
11
+ static getEvents<Events extends EventObjectType>(containerInstance: TypedContainer): EventListener<Events, keyof Events>;
12
+ static loadModule(containerInstance: TypedContainer): void;
13
+ private static getReflectEvents;
14
+ private static createGetterPropertyIntercept;
15
+ }
@@ -1,29 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ODGDecorators = void 0;
4
- require("reflect-metadata");
5
4
  const exception_1 = require("@odg/exception");
6
5
  const inversify_1 = require("inversify");
7
6
  const _helpers_1 = require("../../Helpers");
8
7
  class ODGDecorators {
9
- static metaData = "odg:bind-page-metadata";
8
+ static metaDataPageOrHandler = "odg:bind-page-metadata";
10
9
  static metaDataEvent = "odg:bind-events-metadata";
11
10
  static injectablePageOrHandler(name) {
12
11
  return (target) => {
13
12
  (0, inversify_1.decorate)((0, inversify_1.injectable)(), target);
14
- const previousMetadata = Reflect.getMetadata(ODGDecorators.metaData, Reflect);
15
- const newMetadata = [{
16
- target,
17
- name,
18
- }, ...previousMetadata ?? []];
19
- Reflect.defineMetadata(ODGDecorators.metaData, newMetadata, Reflect);
13
+ (0, inversify_1.decorate)((0, inversify_1.injectFromHierarchy)({
14
+ extendConstructorArguments: true,
15
+ extendProperties: true,
16
+ lifecycle: {
17
+ extendPostConstructMethods: true,
18
+ extendPreDestroyMethods: true,
19
+ },
20
+ }), target);
21
+ const previousMetadata = Reflect.getMetadata(ODGDecorators.metaDataPageOrHandler, Reflect);
22
+ const newMetadata = [
23
+ { target, name },
24
+ ...previousMetadata ?? [],
25
+ ];
26
+ Reflect.defineMetadata(ODGDecorators.metaDataPageOrHandler, newMetadata, Reflect);
20
27
  };
21
28
  }
22
29
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
30
  static attemptableFlow() {
24
31
  return (constructor) => class extends constructor {
32
+ currentAttempt = 0;
25
33
  async execute() {
26
34
  try {
35
+ this.currentAttempt = 1;
27
36
  await (0, _helpers_1.retry)({
28
37
  times: await this.attempt(),
29
38
  sleep: await this.sleep?.(),
@@ -47,13 +56,16 @@ class ODGDecorators {
47
56
  }
48
57
  };
49
58
  }
59
+ static getterAccess() {
60
+ return (targetClass) => this.createGetterPropertyIntercept(targetClass);
61
+ }
50
62
  static registerListener(eventName, containerName, options) {
51
63
  return () => {
52
64
  const previousMetadata = this.getReflectEvents();
53
65
  previousMetadata[eventName] ??= [];
54
66
  previousMetadata[eventName].push({
55
- containerName: containerName,
56
- options: options,
67
+ containerName,
68
+ options,
57
69
  });
58
70
  Reflect.defineMetadata(ODGDecorators.metaDataEvent, previousMetadata, Reflect);
59
71
  };
@@ -68,28 +80,31 @@ class ODGDecorators {
68
80
  return allEvents;
69
81
  }
70
82
  static loadModule(containerInstance) {
71
- return new inversify_1.ContainerModule(() => {
72
- const provideMetadata = Reflect.getMetadata(ODGDecorators.metaData, Reflect) ?? [];
73
- for (const metadata of provideMetadata) {
74
- containerInstance.bind(metadata.name)
75
- .toFactory(() => ODGDecorators.bindPageOrHandler(metadata, containerInstance));
76
- }
77
- });
78
- }
79
- static bindPageOrHandler(metadata, containerInstance) {
80
- return (page) => {
81
- const container = `PageOrHandler${metadata.name}`;
82
- containerInstance.bind(container).to(metadata.target);
83
- const value = containerInstance.get(container);
84
- containerInstance.unbind(container);
85
- value.page = page;
86
- return value;
87
- };
83
+ const provideMetadata = Reflect.getMetadata(ODGDecorators.metaDataPageOrHandler, Reflect) ?? [];
84
+ for (const metadata of provideMetadata) {
85
+ containerInstance
86
+ .bind(metadata.name)
87
+ .to(metadata.target)
88
+ .inTransientScope();
89
+ }
88
90
  }
89
91
  static getReflectEvents() {
90
92
  const defaultItens = {};
91
93
  return Reflect.getMetadata(ODGDecorators.metaDataEvent, Reflect) ?? defaultItens;
92
94
  }
95
+ static createGetterPropertyIntercept(targetClass) {
96
+ return new Proxy(targetClass, {
97
+ construct(target, argumentsList, newTarget) {
98
+ const instance = Reflect.construct(target, argumentsList, newTarget);
99
+ return new Proxy(instance, {
100
+ get(object, property) {
101
+ const getter = "__get";
102
+ return object[getter](property, object[property]);
103
+ },
104
+ });
105
+ },
106
+ });
107
+ }
93
108
  }
94
109
  exports.ODGDecorators = ODGDecorators;
95
- //# sourceMappingURL=ODGDecorators.js.map
110
+ //# sourceMappingURL=OdgDecorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OdgDecorators.js","sourceRoot":"","sources":["../../../src/Support/Decorators/OdgDecorators.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
- export * from "./ODGDecorators";
2
- export * from "./GetterDecorator";
1
+ export * from "./OdgDecorators";
@@ -14,6 +14,5 @@ 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("./ODGDecorators"), exports);
18
- __exportStar(require("./GetterDecorator"), exports);
17
+ __exportStar(require("./OdgDecorators"), exports);
19
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Support/Decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAEhC,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Support/Decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
@@ -1,4 +1,4 @@
1
- import { type NativeInterface, type CloneableInterface } from "../Interfaces";
1
+ import type { CloneableInterface, NativeInterface } from "../Interfaces";
2
2
  /**
3
3
  * Class Helper to manipulate number
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Num.js","sourceRoot":"","sources":["../../src/Support/Num.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,MAAa,GAAG;IAGS;IADrB,YACqB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAChC,CAAC;IAEL;;;;OAIG;IACI,KAAK;QACR,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CAEJ;AAjCD,kBAiCC"}
1
+ {"version":3,"file":"Num.js","sourceRoot":"","sources":["../../src/Support/Num.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,MAAa,GAAG;IAGS;IADrB,YACqB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAEpC,CAAC;IAED;;;;OAIG;IACI,KAAK;QACR,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CAEJ;AAlCD,kBAkCC"}
@@ -1,4 +1,4 @@
1
- import { type CloneableInterface, type NativeInterface } from "..";
1
+ import type { CloneableInterface, NativeInterface } from "..";
2
2
  import { Arr } from "./Arr";
3
3
  import { Num } from "./Num";
4
4
  /**
@@ -54,7 +54,7 @@ export declare class Str implements CloneableInterface, NativeInterface<string>
54
54
  *
55
55
  * @returns {this}
56
56
  */
57
- formatUnicorn(data: Record<string, number | string>): this;
57
+ formatUnicorn(objectVariable: Record<string, number | string>): this;
58
58
  /**
59
59
  * Make a string's first character uppercase.
60
60
  *
@@ -36,9 +36,9 @@ class Str {
36
36
  throw new MoneyMultipleResultException_1.MoneyMultipleResultException("Multiple results found");
37
37
  const centLength = match.groups.cents?.length ?? 0;
38
38
  const stringCurrent = new Str(match[0]).onlyNumbers().toString();
39
- return new Num_1.Num(+(`${stringCurrent.slice(0, Math.max(0, stringCurrent.length - centLength))}`
40
- + `${match.groups.separatorCent ? "." : ""}`
41
- + `${match.groups.separatorCent ? stringCurrent.slice(stringCurrent.length - centLength) : ""}`));
39
+ return new Num_1.Num(+(stringCurrent.slice(0, Math.max(0, stringCurrent.length - centLength))
40
+ + (match.groups.separatorCent ? "." : "")
41
+ + (match.groups.separatorCent ? stringCurrent.slice(stringCurrent.length - centLength) : "")));
42
42
  }
43
43
  /**
44
44
  * Get all money values from a string and return a Arr<Num[]>
@@ -81,11 +81,11 @@ class Str {
81
81
  *
82
82
  * @returns {this}
83
83
  */
84
- formatUnicorn(data) {
85
- for (const key in data) {
84
+ formatUnicorn(objectVariable) {
85
+ for (const key in objectVariable) {
86
86
  this.subject = this.subject.replaceAll(
87
87
  // eslint-disable-next-line security/detect-non-literal-regexp
88
- new RegExp(`\\{\\{\\s*${key.toString()}\\s*\\}\\}`, "gi"), String(data[key]));
88
+ new RegExp(String.raw `\{\{\s*${key}\s*\}\}`, "gi"), String(objectVariable[key]));
89
89
  }
90
90
  return this;
91
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Str.js","sourceRoot":"","sources":["../../src/Support/Str.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Str.js","sourceRoot":"","sources":["../../src/Support/Str.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type ContextEngineInterface, type ContextOptionsLibraryInterface, type ContextChemicalXInterface } from "./Context";
1
+ import type { ContextEngineInterface, ContextOptionsLibraryInterface, ContextChemicalXInterface } from "./Context";
2
2
  export interface BrowserOptionsLibraryInterface {
3
3
  /**
4
4
  * Additional arguments to pass to the browser instance. The list of Chromium flags can be found
@@ -1,5 +1,4 @@
1
- export interface ContextOptionsLibraryInterface {
2
- }
1
+ export type ContextOptionsLibraryInterface = object;
3
2
  export interface ContextEngineInterface {
4
3
  newPage: CallableFunction;
5
4
  pages: CallableFunction;
@@ -1,4 +1,4 @@
1
- import { type BrowserChemicalXInterface, type BrowserEngineInterface, type ContextChemicalXInterface, type ContextEngineInterface, type PageChemicalXInterface, type PageEngineInterface } from "..";
2
- export type CreatePageFactoryType<ContextEngineType extends ContextChemicalXInterface<ContextEngineInterface>, PageEngineType extends PageEngineInterface> = (context: ContextEngineType, page: PageEngineType) => PageChemicalXInterface<PageEngineType>;
3
- export type CreateContextFactoryType<ContextEngineType extends ContextEngineInterface, PageEngineType extends PageEngineInterface> = (context: ContextEngineType, newPage: CreatePageFactoryType<ContextChemicalXInterface<ContextEngineType>, PageEngineType>) => ContextChemicalXInterface<ContextEngineType>;
4
- export type CreateBrowserFactoryType<BrowserEngineType extends BrowserEngineInterface, ContextEngineType extends ContextEngineInterface, PageEngineType extends PageEngineInterface> = (browser: BrowserEngineType, newContext: CreateContextFactoryType<ContextEngineType, PageEngineType>, newPage: CreatePageFactoryType<ContextChemicalXInterface<ContextEngineType>, PageEngineType>) => BrowserChemicalXInterface<BrowserEngineType, ContextEngineType>;
1
+ import type { BrowserChemicalXInterface, BrowserEngineInterface, ContextChemicalXInterface, ContextEngineInterface, PageChemicalXInterface, PageEngineInterface } from "..";
2
+ export type CreatePageFactoryType<ContextClassEngine extends ContextChemicalXInterface<ContextEngineInterface>, PageClassEngine extends PageEngineInterface> = (context: ContextClassEngine, page: PageClassEngine) => PageChemicalXInterface<PageClassEngine>;
3
+ export type CreateContextFactoryType<ContextClassEngine extends ContextEngineInterface, PageClassEngine extends PageEngineInterface> = (context: ContextClassEngine, newPage: CreatePageFactoryType<ContextChemicalXInterface<ContextClassEngine>, PageClassEngine>) => ContextChemicalXInterface<ContextClassEngine>;
4
+ export type CreateBrowserFactoryType<BrowserClassEngine extends BrowserEngineInterface, ContextClassEngine extends ContextEngineInterface, PageClassEngine extends PageEngineInterface> = (browser: BrowserClassEngine, newContext: CreateContextFactoryType<ContextClassEngine, PageClassEngine>, newPage: CreatePageFactoryType<ContextChemicalXInterface<ContextClassEngine>, PageClassEngine>) => BrowserChemicalXInterface<BrowserClassEngine, ContextClassEngine>;
@@ -1,7 +1,6 @@
1
- export interface PageOptionsLibraryInterface {
2
- }
3
- export interface PageChemicalXInterface<PageEngineType extends PageEngineInterface> {
4
- $pageInstance: PageEngineType;
1
+ export type PageOptionsLibraryInterface = object;
2
+ export interface PageChemicalXInterface<PageClassEngine extends PageEngineInterface> {
3
+ $pageInstance: PageClassEngine;
5
4
  }
6
5
  export interface PageEngineInterface {
7
6
  goto: CallableFunction;