@jonloucks/contracts-ts 0.4.0 → 0.5.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 (82) hide show
  1. package/api/AutoClose.d.ts +3 -1
  2. package/api/AutoClose.d.ts.map +1 -1
  3. package/api/AutoClose.js +4 -3
  4. package/api/AutoClose.js.map +1 -1
  5. package/api/AutoCloseFactory.d.ts +12 -1
  6. package/api/AutoCloseFactory.d.ts.map +1 -1
  7. package/api/AutoCloseFactory.js +17 -2
  8. package/api/AutoCloseFactory.js.map +1 -1
  9. package/api/AutoOpen.d.ts +4 -1
  10. package/api/AutoOpen.d.ts.map +1 -1
  11. package/api/AutoOpen.js +3 -2
  12. package/api/AutoOpen.js.map +1 -1
  13. package/api/BindStrategy.d.ts +4 -1
  14. package/api/BindStrategy.d.ts.map +1 -1
  15. package/api/BindStrategy.js +3 -2
  16. package/api/BindStrategy.js.map +1 -1
  17. package/api/Contract.d.ts +7 -0
  18. package/api/Contract.d.ts.map +1 -1
  19. package/api/Contract.js +11 -0
  20. package/api/Contract.js.map +1 -1
  21. package/api/ContractException.d.ts +7 -0
  22. package/api/ContractException.d.ts.map +1 -1
  23. package/api/ContractException.js +11 -1
  24. package/api/ContractException.js.map +1 -1
  25. package/api/ContractFactory.d.ts +7 -0
  26. package/api/ContractFactory.d.ts.map +1 -1
  27. package/api/ContractFactory.js +11 -0
  28. package/api/ContractFactory.js.map +1 -1
  29. package/api/Contracts.d.ts +7 -0
  30. package/api/Contracts.d.ts.map +1 -1
  31. package/api/Contracts.js +12 -0
  32. package/api/Contracts.js.map +1 -1
  33. package/api/ContractsFactory.d.ts +7 -0
  34. package/api/ContractsFactory.d.ts.map +1 -1
  35. package/api/ContractsFactory.js +11 -0
  36. package/api/ContractsFactory.js.map +1 -1
  37. package/api/Lawyer.d.ts +1 -0
  38. package/api/Lawyer.d.ts.map +1 -1
  39. package/api/Promisor.d.ts +5 -1
  40. package/api/Promisor.d.ts.map +1 -1
  41. package/api/Promisor.js +6 -4
  42. package/api/Promisor.js.map +1 -1
  43. package/api/PromisorFactory.d.ts +8 -0
  44. package/api/PromisorFactory.d.ts.map +1 -1
  45. package/api/PromisorFactory.js +16 -2
  46. package/api/PromisorFactory.js.map +1 -1
  47. package/api/Repository.d.ts +8 -0
  48. package/api/Repository.d.ts.map +1 -1
  49. package/api/Repository.js +13 -1
  50. package/api/Repository.js.map +1 -1
  51. package/api/RepositoryFactory.d.ts +8 -0
  52. package/api/RepositoryFactory.d.ts.map +1 -1
  53. package/api/RepositoryFactory.js +16 -2
  54. package/api/RepositoryFactory.js.map +1 -1
  55. package/auxiliary/AtomicBoolean.d.ts +12 -0
  56. package/auxiliary/AtomicBoolean.d.ts.map +1 -1
  57. package/auxiliary/AtomicBoolean.js +13 -1
  58. package/auxiliary/AtomicBoolean.js.map +1 -1
  59. package/auxiliary/AtomicBooleanFactory.d.ts +12 -1
  60. package/auxiliary/AtomicBooleanFactory.d.ts.map +1 -1
  61. package/auxiliary/AtomicBooleanFactory.js +17 -2
  62. package/auxiliary/AtomicBooleanFactory.js.map +1 -1
  63. package/auxiliary/AtomicInteger.d.ts +12 -0
  64. package/auxiliary/AtomicInteger.d.ts.map +1 -1
  65. package/auxiliary/AtomicInteger.js +13 -1
  66. package/auxiliary/AtomicInteger.js.map +1 -1
  67. package/auxiliary/AtomicIntegerFactory.d.ts +12 -1
  68. package/auxiliary/AtomicIntegerFactory.d.ts.map +1 -1
  69. package/auxiliary/AtomicIntegerFactory.js +17 -2
  70. package/auxiliary/AtomicIntegerFactory.js.map +1 -1
  71. package/auxiliary/AtomicReference.d.ts +11 -0
  72. package/auxiliary/AtomicReference.d.ts.map +1 -1
  73. package/auxiliary/AtomicReference.js +13 -1
  74. package/auxiliary/AtomicReference.js.map +1 -1
  75. package/auxiliary/AtomicReferenceFactory.d.ts +11 -0
  76. package/auxiliary/AtomicReferenceFactory.d.ts.map +1 -1
  77. package/auxiliary/AtomicReferenceFactory.js +17 -2
  78. package/auxiliary/AtomicReferenceFactory.js.map +1 -1
  79. package/package.json +2 -1
  80. package/version.d.ts.map +1 -1
  81. package/version.js +14 -8
  82. package/version.js.map +1 -1
@@ -80,7 +80,9 @@ export declare function unwrapAutoClose(autoClose: OptionalType<AutoClose>): Opt
80
80
  * @param instance the instance to check
81
81
  * @returns true if the instance implements AutoClose, false otherwise
82
82
  */
83
- export declare function isAutoClose(instance: unknown): instance is OptionalType<AutoClose>;
83
+ export declare function guard(instance: unknown): instance is OptionalType<AutoClose>;
84
+ /** @deprecated use guard instead*/
85
+ export { guard as isAutoClose };
84
86
  /**
85
87
  * Duck-typing check for object with close() method.
86
88
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AutoClose.d.ts","sourceRoot":"","sources":["../../src/api/AutoClose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAA8B,MAAM,mCAAmC,CAAC;AAI3G;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,KAAK;IAClB;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,KAAK;IACpC;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,SAAS;IAE5C;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAE3C;;;;OAIG;IACH,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAe7B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAE/C;;OAEG;IACH,MAAM,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;CACzC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAMlF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC,CAQ/F;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,CAElF;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAW1F"}
1
+ {"version":3,"file":"AutoClose.d.ts","sourceRoot":"","sources":["../../src/api/AutoClose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAA8B,MAAM,mCAAmC,CAAC;AAI3G;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,KAAK;IAClB;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,KAAK;IACpC;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,SAAS;IAE5C;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAE3C;;;;OAIG;IACH,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAe7B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IAE/C;;OAEG;IACH,MAAM,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;CACzC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAMlF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC,CAQ/F;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,CAE5E;AAED,mCAAmC;AACnC,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,CAAC;AAEhC;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAW1F"}
package/api/AutoClose.js CHANGED
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AUTO_CLOSE_NONE = void 0;
4
4
  exports.inlineAutoClose = inlineAutoClose;
5
5
  exports.unwrapAutoClose = unwrapAutoClose;
6
- exports.isAutoClose = isAutoClose;
6
+ exports.guard = guard;
7
+ exports.isAutoClose = guard;
7
8
  exports.isClose = isClose;
8
9
  exports.typeToAutoClose = typeToAutoClose;
9
10
  const Types_1 = require("@jonloucks/contracts-ts/api/Types");
@@ -60,7 +61,7 @@ function unwrapAutoClose(autoClose) {
60
61
  * @param instance the instance to check
61
62
  * @returns true if the instance implements AutoClose, false otherwise
62
63
  */
63
- function isAutoClose(instance) {
64
+ function guard(instance) {
64
65
  return (0, Types_1.hasFunctions)(instance, 'close', Symbol.dispose);
65
66
  }
66
67
  /**
@@ -79,7 +80,7 @@ function isClose(instance) {
79
80
  */
80
81
  function typeToAutoClose(type) {
81
82
  const presentType = (0, Checks_1.presentCheck)(type, "AutoClose type must be present.");
82
- if (isAutoClose(presentType)) {
83
+ if (guard(presentType)) {
83
84
  return presentType;
84
85
  }
85
86
  else if (isClose(presentType)) {
@@ -1 +1 @@
1
- {"version":3,"file":"AutoClose.js","sourceRoot":"","sources":["../../src/api/AutoClose.ts"],"names":[],"mappings":";;;AAgGA,0CAMC;AAQD,0CAQC;AAQD,kCAEC;AAQD,0BAEC;AAOD,0CAWC;AA5JD,6DAA2G;AAC3G,yGAAsG;AACtG,qEAAwE;AAyDxE;;GAEG;AACU,QAAA,eAAe,GAAc;IAEtC;;OAEG;IACH,KAAK,EAAE,GAAG,EAAE;QACR,QAAQ;IACZ,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE;QACnB,QAAQ;IACZ,CAAC;CACJ,CAAC;AAaF;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,MAAkB;IAC9C,OAAO;QACH,KAAK,EAAE,MAAM;QACb,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM;QACxB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;KACvB,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,SAAkC;IAC9D,IAAI,IAAA,oBAAY,EAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,QAAQ,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,QAAiB;IACzC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,QAAiB;IACrC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,IAAiC;IAC7D,MAAM,WAAW,GAAG,IAAA,qBAAY,EAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;IAC1E,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC;IACvB,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,eAAe,CAAC,WAA4B,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,mDAAwB,CAAC,yBAAyB,CAAC,CAAC;IAClE,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"AutoClose.js","sourceRoot":"","sources":["../../src/api/AutoClose.ts"],"names":[],"mappings":";;;AAgGA,0CAMC;AAQD,0CAQC;AAQD,sBAEC;AAGiB,4BAAW;AAQ7B,0BAEC;AAOD,0CAWC;AA/JD,6DAA2G;AAC3G,yGAAsG;AACtG,qEAAwE;AAyDxE;;GAEG;AACU,QAAA,eAAe,GAAc;IAEtC;;OAEG;IACH,KAAK,EAAE,GAAG,EAAE;QACR,QAAQ;IACZ,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE;QACnB,QAAQ;IACZ,CAAC;CACJ,CAAC;AAaF;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,MAAkB;IAC9C,OAAO;QACH,KAAK,EAAE,MAAM;QACb,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM;QACxB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;KACvB,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,SAAkC;IAC9D,IAAI,IAAA,oBAAY,EAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,QAAQ,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAC3D,CAAC;AAKD;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,QAAiB;IACrC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,IAAiC;IAC7D,MAAM,WAAW,GAAG,IAAA,qBAAY,EAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACrB,OAAO,WAAW,CAAC;IACvB,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,eAAe,CAAC,WAA4B,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,mDAAwB,CAAC,yBAAyB,CAAC,CAAC;IAClE,CAAC;AACL,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { AutoClose, AutoCloseMany, AutoCloseOne, AutoCloseType } from "@jonloucks/contracts-ts/api/AutoClose";
2
2
  import { Contract } from "@jonloucks/contracts-ts/api/Contract";
3
3
  import { Lawyer } from "@jonloucks/contracts-ts/api/Lawyer";
4
- import { RequiredType } from "@jonloucks/contracts-ts/api/Types";
4
+ import { OptionalType, RequiredType } from "@jonloucks/contracts-ts/api/Types";
5
5
  /**
6
6
  * Interface for a factory that creates AutoClose instances.
7
7
  */
@@ -28,8 +28,19 @@ export interface AutoCloseFactory {
28
28
  export { AutoClose, AutoCloseMany, AutoCloseOne, AutoCloseType } from "@jonloucks/contracts-ts/api/AutoClose";
29
29
  export { Contract } from "@jonloucks/contracts-ts/api/Contract";
30
30
  export { OptionalType, RequiredType } from "@jonloucks/contracts-ts/api/Types";
31
+ /**
32
+ * Type guard for AutoCloseFactory interface.
33
+ *
34
+ * @param instance the instance to check
35
+ * @returns true if the instance implements AutoCloseFactory
36
+ */
37
+ export declare function guard(instance: unknown): instance is OptionalType<AutoCloseFactory>;
38
+ /** @deprecated use guard instead
39
+ */
40
+ export { guard as isAutoCloseFactory };
31
41
  /**
32
42
  * For creating a Contract for AutoCloseFactory with duck-typing checks.
43
+ * @deprecated use CONTRACT instead
33
44
  */
34
45
  export declare const LAWYER: Lawyer<AutoCloseFactory>;
35
46
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCloseFactory.d.ts","sourceRoot":"","sources":["../../src/api/AutoCloseFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAA8B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAE7B;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAE5E;;;;OAIG;IACH,mBAAmB,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;IAEnD;;;;OAIG;IACH,kBAAkB,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;CACpD;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAoB3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAA2B,CAAC"}
1
+ {"version":3,"file":"AutoCloseFactory.d.ts","sourceRoot":"","sources":["../../src/api/AutoCloseFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAgB,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAE7B;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAE5E;;;;OAIG;IACH,mBAAmB,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC;IAEnD;;;;OAIG;IACH,kBAAkB,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;CACpD;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE/E;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAEnF;AAED;GACG;AACH,OAAO,EAAE,KAAK,IAAI,kBAAkB,EAAE,CAAA;AAGtC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAoB3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAG9C,CAAC"}
@@ -1,17 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CONTRACT = exports.LAWYER = void 0;
4
+ exports.guard = guard;
5
+ exports.isAutoCloseFactory = guard;
4
6
  const RatifiedContract_1 = require("@jonloucks/contracts-ts/api/RatifiedContract");
5
7
  const Types_1 = require("@jonloucks/contracts-ts/api/Types");
8
+ /**
9
+ * Type guard for AutoCloseFactory interface.
10
+ *
11
+ * @param instance the instance to check
12
+ * @returns true if the instance implements AutoCloseFactory
13
+ */
14
+ function guard(instance) {
15
+ return (0, Types_1.hasFunctions)(instance, 'createAutoClose', 'createAutoCloseMany', 'createAutoCloseOne');
16
+ }
6
17
  /**
7
18
  * For creating a Contract for AutoCloseFactory with duck-typing checks.
19
+ * @deprecated use CONTRACT instead
8
20
  */
9
21
  exports.LAWYER = new class {
10
22
  /**
11
23
  * Lawyer.isDeliverable override
12
24
  */
13
25
  isDeliverable(instance) {
14
- return (0, Types_1.hasFunctions)(instance, 'createAutoClose', 'createAutoCloseMany', 'createAutoCloseOne');
26
+ return guard(instance);
15
27
  }
16
28
  /**
17
29
  * Lawyer.createContract override
@@ -26,5 +38,8 @@ exports.LAWYER = new class {
26
38
  /**
27
39
  * The Contract for AutoCloseFactory implementation.
28
40
  */
29
- exports.CONTRACT = exports.LAWYER.createContract();
41
+ exports.CONTRACT = (0, RatifiedContract_1.create)({
42
+ test: guard,
43
+ name: "AutoCloseFactory"
44
+ });
30
45
  //# sourceMappingURL=AutoCloseFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCloseFactory.js","sourceRoot":"","sources":["../../src/api/AutoCloseFactory.ts"],"names":[],"mappings":";;;AAGA,mFAAwF;AACxF,6DAA6F;AAiC7F;;GAEG;AACU,QAAA,MAAM,GAA6B,IAAI;IAEhD;;OAEG;IACH,aAAa,CAA6B,QAAiB;QACvD,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;IAClG,CAAC;IAED;;OAEG;IACH,cAAc,CAA6B,MAA0B;QACjE,MAAM,IAAI,GAAsB,EAAE,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC;QAEpD,IAAI,CAAC,IAAI,KAAT,IAAI,CAAC,IAAI,GAAK,IAAI,CAAC,aAAa,EAAC;QACjC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,kBAAkB,EAAC;QAErC,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACnC,CAAC;CACJ,CAAC;AAEF;;GAEG;AACU,QAAA,QAAQ,GAA+B,cAAM,CAAC,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"AutoCloseFactory.js","sourceRoot":"","sources":["../../src/api/AutoCloseFactory.ts"],"names":[],"mappings":";;;AA2CA,sBAEC;AAIiB,mCAAkB;AA9CpC,mFAAwF;AACxF,6DAA6F;AAiC7F;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;AAClG,CAAC;AAOD;;;GAGG;AACU,QAAA,MAAM,GAA6B,IAAI;IAEhD;;OAEG;IACH,aAAa,CAA6B,QAAiB;QACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,cAAc,CAA6B,MAA0B;QACjE,MAAM,IAAI,GAAsB,EAAE,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC;QAEpD,IAAI,CAAC,IAAI,KAAT,IAAI,CAAC,IAAI,GAAK,IAAI,CAAC,aAAa,EAAC;QACjC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,kBAAkB,EAAC;QAErC,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACnC,CAAC;CACJ,CAAC;AAEF;;GAEG;AACU,QAAA,QAAQ,GAA+B,IAAA,yBAAc,EAAC;IAC/D,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,kBAAkB;CAC3B,CAAC,CAAC"}
package/api/AutoOpen.d.ts CHANGED
@@ -19,5 +19,8 @@ export interface AutoOpen {
19
19
  * @param instance the instance to check
20
20
  * @returns true if the instance implements AutoOpen, false otherwise
21
21
  */
22
- export declare function isAutoOpen(instance: unknown): instance is AutoOpen;
22
+ export declare function guard(instance: unknown): instance is AutoOpen;
23
+ /** @deprecated use guard instead
24
+ */
25
+ export { guard as isAutoOpen };
23
26
  //# sourceMappingURL=AutoOpen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoOpen.d.ts","sourceRoot":"","sources":["../../src/api/AutoOpen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAGlE;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IAErB;;;OAGG;IACH,IAAI,IAAI,SAAS,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAElE"}
1
+ {"version":3,"file":"AutoOpen.d.ts","sourceRoot":"","sources":["../../src/api/AutoOpen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAGlE;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IAErB;;;OAGG;IACH,IAAI,IAAI,SAAS,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAE7D;AAED;GACG;AACH,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,CAAC"}
package/api/AutoOpen.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAutoOpen = isAutoOpen;
3
+ exports.guard = guard;
4
+ exports.isAutoOpen = guard;
4
5
  const Types_1 = require("@jonloucks/contracts-ts/api/Types");
5
6
  /**
6
7
  * Duck-typing check for AutoOpen interface.
@@ -8,7 +9,7 @@ const Types_1 = require("@jonloucks/contracts-ts/api/Types");
8
9
  * @param instance the instance to check
9
10
  * @returns true if the instance implements AutoOpen, false otherwise
10
11
  */
11
- function isAutoOpen(instance) {
12
+ function guard(instance) {
12
13
  return (0, Types_1.hasFunctions)(instance, 'open');
13
14
  }
14
15
  //# sourceMappingURL=AutoOpen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoOpen.js","sourceRoot":"","sources":["../../src/api/AutoOpen.ts"],"names":[],"mappings":";;AAyBA,gCAEC;AA1BD,6DAAiE;AAkBjE;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,QAAiB;IACxC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"AutoOpen.js","sourceRoot":"","sources":["../../src/api/AutoOpen.ts"],"names":[],"mappings":";;AAyBA,sBAEC;AAIiB,2BAAU;AA9B5B,6DAAiE;AAkBjE;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC"}
@@ -41,5 +41,8 @@ export declare function resolveBindStrategy(bindStrategy: OptionalType<BindStrat
41
41
  * @param instance the value to check
42
42
  * @returns true if value is a BindStrategy or null/undefined
43
43
  */
44
- export declare function isBindStrategy(instance: unknown): instance is OptionalType<BindStrategy>;
44
+ export declare function guard(instance: unknown): instance is OptionalType<BindStrategy>;
45
+ /** @deprecated use guard instead
46
+ */
47
+ export { guard as isBindStrategy };
45
48
  //# sourceMappingURL=BindStrategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BindStrategy.d.ts","sourceRoot":"","sources":["../../src/api/BindStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE/E;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY;AACpB;;EAEE;AACF,QAAQ;AACR;;EAEE;AACF,cAAc;AACd;;EAEE;AACF,YAAY,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAA2B,CAAA;AAE/D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAExG;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,YAAY,CAAC,CAWxF"}
1
+ {"version":3,"file":"BindStrategy.d.ts","sourceRoot":"","sources":["../../src/api/BindStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE/E;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY;AACpB;;EAEE;AACF,QAAQ;AACR;;EAEE;AACF,cAAc;AACd;;EAEE;AACF,YAAY,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAA2B,CAAA;AAE/D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAExG;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,YAAY,CAAC,CAW/E;AAED;GACG;AACH,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,CAAC"}
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_BIND_STRATEGY = void 0;
4
4
  exports.resolveBindStrategy = resolveBindStrategy;
5
- exports.isBindStrategy = isBindStrategy;
5
+ exports.guard = guard;
6
+ exports.isBindStrategy = guard;
6
7
  /**
7
8
  * The default binding strategy
8
9
  */
@@ -21,7 +22,7 @@ function resolveBindStrategy(bindStrategy) {
21
22
  * @param instance the value to check
22
23
  * @returns true if value is a BindStrategy or null/undefined
23
24
  */
24
- function isBindStrategy(instance) {
25
+ function guard(instance) {
25
26
  switch (instance) {
26
27
  case undefined:
27
28
  case null:
@@ -1 +1 @@
1
- {"version":3,"file":"BindStrategy.js","sourceRoot":"","sources":["../../src/api/BindStrategy.ts"],"names":[],"mappings":";;;AAyCA,kDAEC;AAOD,wCAWC;AApCD;;GAEG;AACU,QAAA,qBAAqB,GAAiB,YAAY,CAAA;AAO/D;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,YAAwC;IACxE,OAAO,YAAY,IAAI,6BAAqB,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,QAAiB;IAC5C,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc,CAAC;QACpB,KAAK,YAAY;YACb,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"BindStrategy.js","sourceRoot":"","sources":["../../src/api/BindStrategy.ts"],"names":[],"mappings":";;;AAyCA,kDAEC;AAOD,sBAWC;AAIiB,+BAAc;AAxChC;;GAEG;AACU,QAAA,qBAAqB,GAAiB,YAAY,CAAA;AAO/D;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,YAAwC;IACxE,OAAO,YAAY,IAAI,6BAAqB,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc,CAAC;QACpB,KAAK,YAAY;YACb,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC"}
package/api/Contract.d.ts CHANGED
@@ -80,4 +80,11 @@ export interface Contract<T> {
80
80
  */
81
81
  get replaceable(): boolean;
82
82
  }
83
+ /**
84
+ * Duck-typing check for Contract interface.
85
+ *
86
+ * @param instance the instance to check
87
+ * @returns true if the instance implements Contract, false otherwise
88
+ */
89
+ export declare function guard<T>(instance: unknown): instance is Contract<T>;
83
90
  //# sourceMappingURL=Contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Contract.d.ts","sourceRoot":"","sources":["../../src/api/Contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE;;;;GAIG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC;IAEvB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;IAE9C;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAE1D;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IAEzB;;;;;;;MAOE;IACF,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAEpD;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,IAAI,WAAW,IAAI,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"Contract.d.ts","sourceRoot":"","sources":["../../src/api/Contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC;IAEvB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;IAE9C;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAE1D;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IAEzB;;;;;;;MAOE;IACF,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAEpD;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,IAAI,WAAW,IAAI,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAEnE"}
package/api/Contract.js CHANGED
@@ -1,3 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.guard = guard;
4
+ const Types_1 = require("@jonloucks/contracts-ts/api/Types");
5
+ /**
6
+ * Duck-typing check for Contract interface.
7
+ *
8
+ * @param instance the instance to check
9
+ * @returns true if the instance implements Contract, false otherwise
10
+ */
11
+ function guard(instance) {
12
+ return (0, Types_1.hasFunctions)(instance, 'cast', 'name', 'typeName', 'replaceable');
13
+ }
3
14
  //# sourceMappingURL=Contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Contract.js","sourceRoot":"","sources":["../../src/api/Contract.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Contract.js","sourceRoot":"","sources":["../../src/api/Contract.ts"],"names":[],"mappings":";;AAqGA,sBAEC;AAvGD,6DAA+E;AA+F/E;;;;;GAKG;AACH,SAAgB,KAAK,CAAI,QAAiB;IACxC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAC3E,CAAC"}
@@ -17,4 +17,11 @@ export declare class ContractException extends Error {
17
17
  */
18
18
  static rethrow(caught: unknown, message?: string): never;
19
19
  }
20
+ /**
21
+ * Type guard for ContractException
22
+ *
23
+ * @param value the value to check
24
+ * @return true if value is ContractException, false otherwise
25
+ */
26
+ export declare function guard(value: unknown): value is ContractException;
20
27
  //# sourceMappingURL=ContractException.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContractException.d.ts","sourceRoot":"","sources":["../../src/api/ContractException.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAE1C;;;;;OAKG;gBACgB,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,KAAK,GAAG,IAAW;IAQhE;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK;CASzD"}
1
+ {"version":3,"file":"ContractException.d.ts","sourceRoot":"","sources":["../../src/api/ContractException.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAE1C;;;;;OAKG;gBACgB,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,KAAK,GAAG,IAAW;IAQhE;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK;CASzD;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAEhE"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContractException = void 0;
4
+ exports.guard = guard;
4
5
  const Checks_1 = require("@jonloucks/contracts-ts/auxiliary/Checks");
5
6
  /**
6
7
  * Runtime exception thrown for Contract related problems.
@@ -25,7 +26,7 @@ class ContractException extends Error {
25
26
  * @param message the optional message to use if caught is not an ContractException
26
27
  */
27
28
  static rethrow(caught, message) {
28
- if (caught instanceof ContractException) {
29
+ if (guard(caught)) {
29
30
  throw caught;
30
31
  }
31
32
  else if (caught instanceof Error) {
@@ -37,4 +38,13 @@ class ContractException extends Error {
37
38
  }
38
39
  }
39
40
  exports.ContractException = ContractException;
41
+ /**
42
+ * Type guard for ContractException
43
+ *
44
+ * @param value the value to check
45
+ * @return true if value is ContractException, false otherwise
46
+ */
47
+ function guard(value) {
48
+ return value instanceof ContractException;
49
+ }
40
50
  //# sourceMappingURL=ContractException.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContractException.js","sourceRoot":"","sources":["../../src/api/ContractException.ts"],"names":[],"mappings":";;;AAAA,qEAAwE;AAExE;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,KAAK;IAE1C;;;;;OAKG;IACH,YAAmB,OAAe,EAAE,UAAwB,IAAI;QAC9D,qDAAqD;QACrD,KAAK,CAAC,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC,CAAC;QAE7B,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAC1D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAe,EAAE,OAAgB;QAC9C,IAAI,MAAM,YAAY,iBAAiB,EAAE,CAAC;YACxC,MAAM,MAAM,CAAC;QACf,CAAC;aAAM,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;YACnC,MAAM,IAAI,iBAAiB,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,iBAAiB,CAAC,OAAO,IAAI,+BAA+B,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;CACF;AA9BD,8CA8BC"}
1
+ {"version":3,"file":"ContractException.js","sourceRoot":"","sources":["../../src/api/ContractException.ts"],"names":[],"mappings":";;;AA4CA,sBAEC;AA9CD,qEAAwE;AAExE;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,KAAK;IAE1C;;;;;OAKG;IACH,YAAmB,OAAe,EAAE,UAAwB,IAAI;QAC9D,qDAAqD;QACrD,KAAK,CAAC,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC,CAAC;QAE7B,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAC1D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAe,EAAE,OAAgB;QAC9C,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAClB,MAAM,MAAM,CAAC;QACf,CAAC;aAAM,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;YACnC,MAAM,IAAI,iBAAiB,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,iBAAiB,CAAC,OAAO,IAAI,+BAA+B,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;CACF;AA9BD,8CA8BC;AAED;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,iBAAiB,CAAC;AAC5C,CAAC"}
@@ -15,4 +15,11 @@ export interface ContractFactory {
15
15
  */
16
16
  create<T>(config?: OptionalType<Config<T>>): RequiredType<Contract<T>>;
17
17
  }
18
+ /**
19
+ * Type guard for ContractFactory
20
+ *
21
+ * @param value the value to check
22
+ * @return true if value is ContractFactory, false otherwise
23
+ */
24
+ export declare function guard(value: unknown): value is ContractFactory;
18
25
  //# sourceMappingURL=ContractFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContractFactory.d.ts","sourceRoot":"","sources":["../../src/api/ContractFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE/E;;;GAGG;AACH,MAAM,WAAW,eAAe;IAE9B;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACxE"}
1
+ {"version":3,"file":"ContractFactory.d.ts","sourceRoot":"","sources":["../../src/api/ContractFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAgB,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE7F;;;GAGG;AACH,MAAM,WAAW,eAAe;IAE9B;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACxE;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE9D"}
@@ -1,3 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.guard = guard;
4
+ const Types_1 = require("@jonloucks/contracts-ts/api/Types");
5
+ /**
6
+ * Type guard for ContractFactory
7
+ *
8
+ * @param value the value to check
9
+ * @return true if value is ContractFactory, false otherwise
10
+ */
11
+ function guard(value) {
12
+ return (0, Types_1.hasFunctions)(value, 'create');
13
+ }
3
14
  //# sourceMappingURL=ContractFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContractFactory.js","sourceRoot":"","sources":["../../src/api/ContractFactory.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ContractFactory.js","sourceRoot":"","sources":["../../src/api/ContractFactory.ts"],"names":[],"mappings":";;AA0BA,sBAEC;AA3BD,6DAA6F;AAmB7F;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,IAAA,oBAAY,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC"}
@@ -76,4 +76,11 @@ export interface Contracts extends AutoOpen {
76
76
  */
77
77
  bind<T>(contract: Contract<T>, promisor: PromisorType<T>, bindStrategy?: BindType): AutoClose;
78
78
  }
79
+ /**
80
+ * Type guard for Contracts
81
+ *
82
+ * @param value the value to check
83
+ * @return true if value is Contracts, false otherwise
84
+ */
85
+ export declare function guard(value: unknown): value is Contracts;
79
86
  //# sourceMappingURL=Contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Contracts.d.ts","sourceRoot":"","sources":["../../src/api/Contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,MAAM;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;IAEtB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,QAAQ;IAEvC;;;;;;;;;OASG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAEjD;;;;;;;;;OASG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAEnD;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAE3C;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACjG"}
1
+ {"version":3,"file":"Contracts.d.ts","sourceRoot":"","sources":["../../src/api/Contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAA0B,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAgB,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;IAEtB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,QAAQ;IAEzC;;;;;;;;;OASG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAEjD;;;;;;;;;OASG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAEnD;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAE3C;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/F;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAExD"}
package/api/Contracts.js CHANGED
@@ -1,3 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.guard = guard;
4
+ const AutoOpen_1 = require("@jonloucks/contracts-ts/api/AutoOpen");
5
+ const Types_1 = require("@jonloucks/contracts-ts/api/Types");
6
+ /**
7
+ * Type guard for Contracts
8
+ *
9
+ * @param value the value to check
10
+ * @return true if value is Contracts, false otherwise
11
+ */
12
+ function guard(value) {
13
+ return (0, Types_1.hasFunctions)(value, 'claim', 'enforce', 'isBound', 'bind') && (0, AutoOpen_1.guard)(value);
14
+ }
3
15
  //# sourceMappingURL=Contracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Contracts.js","sourceRoot":"","sources":["../../src/api/Contracts.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Contracts.js","sourceRoot":"","sources":["../../src/api/Contracts.ts"],"names":[],"mappings":";;AA6FA,sBAEC;AA9FD,mEAAwF;AAIxF,6DAA6F;AAkF7F;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,IAAA,oBAAY,EAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,IAAA,gBAAa,EAAC,KAAK,CAAC,CAAC;AAC5F,CAAC"}
@@ -14,4 +14,11 @@ export interface ContractsFactory {
14
14
  */
15
15
  create(config?: Config): RequiredType<Contracts>;
16
16
  }
17
+ /**
18
+ * Type guard for ContractsFactory
19
+ *
20
+ * @param value the value to check
21
+ * @return true if value is ContractsFactory, false otherwise
22
+ */
23
+ export declare function guard(value: unknown): value is ContractsFactory;
17
24
  //# sourceMappingURL=ContractsFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContractsFactory.d.ts","sourceRoot":"","sources":["../../src/api/ContractsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE/B;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;CAClD"}
1
+ {"version":3,"file":"ContractsFactory.d.ts","sourceRoot":"","sources":["../../src/api/ContractsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAgB,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE/E;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE/B;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;CAClD;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE/D"}
@@ -1,3 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.guard = guard;
4
+ const Types_1 = require("@jonloucks/contracts-ts/api/Types");
5
+ /**
6
+ * Type guard for ContractsFactory
7
+ *
8
+ * @param value the value to check
9
+ * @return true if value is ContractsFactory, false otherwise
10
+ */
11
+ function guard(value) {
12
+ return (0, Types_1.hasFunctions)(value, 'create');
13
+ }
3
14
  //# sourceMappingURL=ContractsFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContractsFactory.js","sourceRoot":"","sources":["../../src/api/ContractsFactory.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ContractsFactory.js","sourceRoot":"","sources":["../../src/api/ContractsFactory.ts"],"names":[],"mappings":";;AAyBA,sBAEC;AA1BD,6DAA+E;AAkB/E;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,IAAA,oBAAY,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC"}
package/api/Lawyer.d.ts CHANGED
@@ -2,6 +2,7 @@ import { Contract, Config as ContractConfig } from "@jonloucks/contracts-ts/api/
2
2
  import { OptionalType } from "@jonloucks/contracts-ts/api/Types";
3
3
  /**
4
4
  * Responsibility: A Lawyer creates Contracts for a specific type T, including duck-typing checks.
5
+ * @deprecated create your own Contract and duck-typing checks instead
5
6
  */
6
7
  export interface Lawyer<T> {
7
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Lawyer.d.ts","sourceRoot":"","sources":["../../src/api/Lawyer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAErE;;;;OAIG;IACH,aAAa,CAAC,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;CAC5E"}
1
+ {"version":3,"file":"Lawyer.d.ts","sourceRoot":"","sources":["../../src/api/Lawyer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAErE;;;;OAIG;IACH,aAAa,CAAC,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;CAC5E"}
package/api/Promisor.d.ts CHANGED
@@ -34,9 +34,13 @@ export interface Promisor<T> {
34
34
  * @param instance the instance to check
35
35
  * @returns true if the instance is a Promisor, false otherwise
36
36
  */
37
- export declare function isPromisor<T>(instance: unknown): instance is Promisor<T>;
37
+ export declare function guard<T>(instance: unknown): instance is Promisor<T>;
38
+ /** @deprecated use guard instead
39
+ */
40
+ export { guard as isPromisor };
38
41
  /**
39
42
  * For creating a Contract for Promisor with duck-typing checks.
43
+ * @deprecated use createContract with guard instead
40
44
  */
41
45
  export declare const LAWYER: Lawyer<Promisor<unknown>>;
42
46
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Promisor.d.ts","sourceRoot":"","sources":["../../src/api/Promisor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoD,MAAM,mCAAmC,CAAC;AAGjI;;;;;GAKG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IAEzB;;;OAGG;IACH,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAE1B;;;;;;OAMG;IACH,cAAc,IAAI,MAAM,CAAC;IAEzB;;;;;;OAMG;IACH,cAAc,IAAI,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAExE;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAoB5C,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAE7H;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAYlF;AA+BD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAQxG"}
1
+ {"version":3,"file":"Promisor.d.ts","sourceRoot":"","sources":["../../src/api/Promisor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoD,MAAM,mCAAmC,CAAC;AAGjI;;;;;GAKG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IAEzB;;;OAGG;IACH,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAE1B;;;;;;OAMG;IACH,cAAc,IAAI,MAAM,CAAC;IAEzB;;;;;;OAMG;IACH,cAAc,IAAI,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAEnE;AAED;GACG;AACH,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAoB5C,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAE7H;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAYlF;AA+BD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAQxG"}
package/api/Promisor.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LAWYER = void 0;
4
- exports.isPromisor = isPromisor;
4
+ exports.guard = guard;
5
+ exports.isPromisor = guard;
5
6
  exports.typeToPromisor = typeToPromisor;
6
7
  exports.unwrapPromisorType = unwrapPromisorType;
7
8
  const RatifiedContract_1 = require("@jonloucks/contracts-ts/api/RatifiedContract");
@@ -12,18 +13,19 @@ const Checks_1 = require("@jonloucks/contracts-ts/auxiliary/Checks");
12
13
  * @param instance the instance to check
13
14
  * @returns true if the instance is a Promisor, false otherwise
14
15
  */
15
- function isPromisor(instance) {
16
+ function guard(instance) {
16
17
  return (0, Types_1.hasFunctions)(instance, 'demand', 'incrementUsage', 'decrementUsage');
17
18
  }
18
19
  /**
19
20
  * For creating a Contract for Promisor with duck-typing checks.
21
+ * @deprecated use createContract with guard instead
20
22
  */
21
23
  exports.LAWYER = new class {
22
24
  /**
23
25
  * Lawyer.isDeliverable override
24
26
  */
25
27
  isDeliverable(instance) {
26
- return isPromisor(instance);
28
+ return guard(instance);
27
29
  }
28
30
  /**
29
31
  * Lawyer.createContract override
@@ -48,7 +50,7 @@ function typeToPromisor(type) {
48
50
  else if ((0, Types_1.isConstructorPresent)(type)) {
49
51
  return wrapPromisor(type, () => new type()); // supplier of new instance
50
52
  }
51
- else if (isPromisor(type)) {
53
+ else if (guard(type)) {
52
54
  return type; // already a Promisor
53
55
  }
54
56
  else if (typeof type === 'function') {
@@ -1 +1 @@
1
- {"version":3,"file":"Promisor.js","sourceRoot":"","sources":["../../src/api/Promisor.ts"],"names":[],"mappings":";;;AA4CA,gCAEC;AAsCD,wCAYC;AAqCD,gDAQC;AA3ID,mFAAwF;AACxF,6DAAiI;AACjI,qEAAwE;AAmCxE;;;;GAIG;AACH,SAAgB,UAAU,CAAI,QAAiB;IAC7C,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACU,QAAA,MAAM,GAA8B,IAAI;IAEnD;;OAEG;IACH,aAAa,CAA8B,QAAiB;QAC1D,OAAO,UAAU,CAAI,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,cAAc,CAA8B,MAA0B;QACpE,MAAM,IAAI,GAAsB,EAAE,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC;QAEpD,IAAI,CAAC,IAAI,KAAT,IAAI,CAAC,IAAI,GAAK,IAAI,CAAC,aAAa,EAAC;QACjC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,UAAU,EAAC;QAE7B,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAA;AAOD;;;;;GAKG;AACH,SAAgB,cAAc,CAAI,IAAqB;IACrD,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,YAAY,CAAI,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;IAC5E,CAAC;SAAM,IAAI,IAAA,4BAAoB,EAAI,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,YAAY,CAAI,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,2BAA2B;IAC7E,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,CAAC,qBAAqB;IACpC,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,YAAY,CAAI,IAAI,EAAE,IAAe,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,YAAY,CAAI,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,sDAAsD;IAClG,CAAC;AACH,CAAC;AAaD;;;;;;GAMG;AACH,SAAS,YAAY,CAAI,IAAqB,EAAE,MAA6B;IAC3E,MAAM,WAAW,GAAG,IAAA,qBAAY,EAAC,MAAM,EAAE,2CAA2C,CAAC,CAAC;IACtF,IAAI,UAAU,GAAW,CAAC,CAAC;IAC3B,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU;QAClC,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU;QAClC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI;KAC/B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAI,QAAmC;IACrE,IAAI,IAAA,oBAAY,EAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,IAAI,oBAAoB,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;QACxF,OAAO,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,QAAQ,CAAA;AACnB,CAAC"}
1
+ {"version":3,"file":"Promisor.js","sourceRoot":"","sources":["../../src/api/Promisor.ts"],"names":[],"mappings":";;;AA4CA,sBAEC;AAIiB,2BAAU;AAuC5B,wCAYC;AAqCD,gDAQC;AAhJD,mFAAwF;AACxF,6DAAiI;AACjI,qEAAwE;AAmCxE;;;;GAIG;AACH,SAAgB,KAAK,CAAI,QAAiB;IACxC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAC9E,CAAC;AAMD;;;GAGG;AACU,QAAA,MAAM,GAA8B,IAAI;IAEnD;;OAEG;IACH,aAAa,CAA8B,QAAiB;QAC1D,OAAO,KAAK,CAAI,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,cAAc,CAA8B,MAA0B;QACpE,MAAM,IAAI,GAAsB,EAAE,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC;QAEpD,IAAI,CAAC,IAAI,KAAT,IAAI,CAAC,IAAI,GAAK,IAAI,CAAC,aAAa,EAAC;QACjC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,UAAU,EAAC;QAE7B,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAA;AAOD;;;;;GAKG;AACH,SAAgB,cAAc,CAAI,IAAqB;IACrD,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,YAAY,CAAI,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;IAC5E,CAAC;SAAM,IAAI,IAAA,4BAAoB,EAAI,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,YAAY,CAAI,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,2BAA2B;IAC7E,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,CAAC,qBAAqB;IACpC,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,YAAY,CAAI,IAAI,EAAE,IAAe,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,YAAY,CAAI,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,sDAAsD;IAClG,CAAC;AACH,CAAC;AAaD;;;;;;GAMG;AACH,SAAS,YAAY,CAAI,IAAqB,EAAE,MAA6B;IAC3E,MAAM,WAAW,GAAG,IAAA,qBAAY,EAAC,MAAM,EAAE,2CAA2C,CAAC,CAAC;IACtF,IAAI,UAAU,GAAW,CAAC,CAAC;IAC3B,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU;QAClC,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU;QAClC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI;KAC/B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAI,QAAmC;IACrE,IAAI,IAAA,oBAAY,EAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,IAAI,oBAAoB,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;QACxF,OAAO,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,QAAQ,CAAA;AACnB,CAAC"}
@@ -45,8 +45,16 @@ export interface PromisorFactory {
45
45
  */
46
46
  createExtractor<T, R>(promisor: PromisorType<T>, extractor: Transform<T, R>): RequiredType<Promisor<R>>;
47
47
  }
48
+ /**
49
+ * Type guard for PromisorFactory
50
+ *
51
+ * @param value the value to check
52
+ * @return true if value is PromisorFactory, false otherwise
53
+ */
54
+ export declare function guard(instance: unknown): instance is PromisorFactory;
48
55
  /**
49
56
  * For creating a Contract for PromisorFactory with duck-typing checks.
57
+ * @deprecated use createContract directly
50
58
  */
51
59
  export declare const LAWYER: Lawyer<PromisorFactory>;
52
60
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PromisorFactory.d.ts","sourceRoot":"","sources":["../../src/api/PromisorFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAgB,MAAM,mCAAmC,CAAC;AAExG;;GAEG;AACH,MAAM,WAAW,eAAe;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE;;;;;;;;OAQG;IACH,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE;;;;;;;;;OASG;IACH,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACzG;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,eAAe,CAoB1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAA2B,CAAC"}
1
+ {"version":3,"file":"PromisorFactory.d.ts","sourceRoot":"","sources":["../../src/api/PromisorFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAgB,MAAM,mCAAmC,CAAC;AAExG;;GAEG;AACH,MAAM,WAAW,eAAe;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE;;;;;;;;OAQG;IACH,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE;;;;;;;;;OASG;IACH,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACzG;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,eAAe,CAEpE;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,eAAe,CAoB1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAG7C,CAAC"}
@@ -1,17 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CONTRACT = exports.LAWYER = void 0;
4
+ exports.guard = guard;
4
5
  const RatifiedContract_1 = require("@jonloucks/contracts-ts/api/RatifiedContract");
5
6
  const Types_1 = require("@jonloucks/contracts-ts/api/Types");
7
+ /**
8
+ * Type guard for PromisorFactory
9
+ *
10
+ * @param value the value to check
11
+ * @return true if value is PromisorFactory, false otherwise
12
+ */
13
+ function guard(instance) {
14
+ return (0, Types_1.hasFunctions)(instance, 'createExtractor', 'createLifeCycle', 'createSingleton', 'createValue');
15
+ }
6
16
  /**
7
17
  * For creating a Contract for PromisorFactory with duck-typing checks.
18
+ * @deprecated use createContract directly
8
19
  */
9
20
  exports.LAWYER = new class {
10
21
  /**
11
22
  * Lawyer.isDeliverable override
12
23
  */
13
24
  isDeliverable(instance) {
14
- return (0, Types_1.hasFunctions)(instance, 'createExtractor', 'createLifeCycle', 'createSingleton', 'createValue');
25
+ return guard(instance);
15
26
  }
16
27
  /**
17
28
  * Lawyer.createContract override
@@ -26,5 +37,8 @@ exports.LAWYER = new class {
26
37
  /**
27
38
  * The Contract for PromisorFactory implementation.
28
39
  */
29
- exports.CONTRACT = exports.LAWYER.createContract();
40
+ exports.CONTRACT = (0, RatifiedContract_1.create)({
41
+ test: guard,
42
+ name: "PromisorFactory"
43
+ });
30
44
  //# sourceMappingURL=PromisorFactory.js.map