@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.
- package/api/AutoClose.d.ts +3 -1
- package/api/AutoClose.d.ts.map +1 -1
- package/api/AutoClose.js +4 -3
- package/api/AutoClose.js.map +1 -1
- package/api/AutoCloseFactory.d.ts +12 -1
- package/api/AutoCloseFactory.d.ts.map +1 -1
- package/api/AutoCloseFactory.js +17 -2
- package/api/AutoCloseFactory.js.map +1 -1
- package/api/AutoOpen.d.ts +4 -1
- package/api/AutoOpen.d.ts.map +1 -1
- package/api/AutoOpen.js +3 -2
- package/api/AutoOpen.js.map +1 -1
- package/api/BindStrategy.d.ts +4 -1
- package/api/BindStrategy.d.ts.map +1 -1
- package/api/BindStrategy.js +3 -2
- package/api/BindStrategy.js.map +1 -1
- package/api/Contract.d.ts +7 -0
- package/api/Contract.d.ts.map +1 -1
- package/api/Contract.js +11 -0
- package/api/Contract.js.map +1 -1
- package/api/ContractException.d.ts +7 -0
- package/api/ContractException.d.ts.map +1 -1
- package/api/ContractException.js +11 -1
- package/api/ContractException.js.map +1 -1
- package/api/ContractFactory.d.ts +7 -0
- package/api/ContractFactory.d.ts.map +1 -1
- package/api/ContractFactory.js +11 -0
- package/api/ContractFactory.js.map +1 -1
- package/api/Contracts.d.ts +7 -0
- package/api/Contracts.d.ts.map +1 -1
- package/api/Contracts.js +12 -0
- package/api/Contracts.js.map +1 -1
- package/api/ContractsFactory.d.ts +7 -0
- package/api/ContractsFactory.d.ts.map +1 -1
- package/api/ContractsFactory.js +11 -0
- package/api/ContractsFactory.js.map +1 -1
- package/api/Lawyer.d.ts +1 -0
- package/api/Lawyer.d.ts.map +1 -1
- package/api/Promisor.d.ts +5 -1
- package/api/Promisor.d.ts.map +1 -1
- package/api/Promisor.js +6 -4
- package/api/Promisor.js.map +1 -1
- package/api/PromisorFactory.d.ts +8 -0
- package/api/PromisorFactory.d.ts.map +1 -1
- package/api/PromisorFactory.js +16 -2
- package/api/PromisorFactory.js.map +1 -1
- package/api/Repository.d.ts +8 -0
- package/api/Repository.d.ts.map +1 -1
- package/api/Repository.js +13 -1
- package/api/Repository.js.map +1 -1
- package/api/RepositoryFactory.d.ts +8 -0
- package/api/RepositoryFactory.d.ts.map +1 -1
- package/api/RepositoryFactory.js +16 -2
- package/api/RepositoryFactory.js.map +1 -1
- package/auxiliary/AtomicBoolean.d.ts +12 -0
- package/auxiliary/AtomicBoolean.d.ts.map +1 -1
- package/auxiliary/AtomicBoolean.js +13 -1
- package/auxiliary/AtomicBoolean.js.map +1 -1
- package/auxiliary/AtomicBooleanFactory.d.ts +12 -1
- package/auxiliary/AtomicBooleanFactory.d.ts.map +1 -1
- package/auxiliary/AtomicBooleanFactory.js +17 -2
- package/auxiliary/AtomicBooleanFactory.js.map +1 -1
- package/auxiliary/AtomicInteger.d.ts +12 -0
- package/auxiliary/AtomicInteger.d.ts.map +1 -1
- package/auxiliary/AtomicInteger.js +13 -1
- package/auxiliary/AtomicInteger.js.map +1 -1
- package/auxiliary/AtomicIntegerFactory.d.ts +12 -1
- package/auxiliary/AtomicIntegerFactory.d.ts.map +1 -1
- package/auxiliary/AtomicIntegerFactory.js +17 -2
- package/auxiliary/AtomicIntegerFactory.js.map +1 -1
- package/auxiliary/AtomicReference.d.ts +11 -0
- package/auxiliary/AtomicReference.d.ts.map +1 -1
- package/auxiliary/AtomicReference.js +13 -1
- package/auxiliary/AtomicReference.js.map +1 -1
- package/auxiliary/AtomicReferenceFactory.d.ts +11 -0
- package/auxiliary/AtomicReferenceFactory.d.ts.map +1 -1
- package/auxiliary/AtomicReferenceFactory.js +17 -2
- package/auxiliary/AtomicReferenceFactory.js.map +1 -1
- package/package.json +2 -1
- package/version.d.ts.map +1 -1
- package/version.js +14 -8
- package/version.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromisorFactory.js","sourceRoot":"","sources":["../../src/api/PromisorFactory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"PromisorFactory.js","sourceRoot":"","sources":["../../src/api/PromisorFactory.ts"],"names":[],"mappings":";;;AA4DA,sBAEC;AA3DD,mFAAwF;AACxF,6DAAwG;AAkDxG;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACrC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;AACxG,CAAC;AAED;;;GAGG;AACU,QAAA,MAAM,GAA4B,IAAI;IAEjD;;OAEG;IACH,aAAa,CAA4B,QAAiB;QACxD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,cAAc,CAA4B,MAA0B;QAClE,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,iBAAiB,EAAC;QAEpC,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,QAAQ,GAA8B,IAAA,yBAAc,EAAC;IAChE,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAC"}
|
package/api/Repository.d.ts
CHANGED
|
@@ -48,8 +48,16 @@ export interface Repository extends AutoOpen {
|
|
|
48
48
|
*/
|
|
49
49
|
require<T>(contract: Contract<T>): void;
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Type guard for Repository
|
|
53
|
+
*
|
|
54
|
+
* @param value the value to check
|
|
55
|
+
* @return true if value is Repository, false otherwise
|
|
56
|
+
*/
|
|
57
|
+
export declare function guard(value: unknown): value is Repository;
|
|
51
58
|
/**
|
|
52
59
|
* For creating a Contract for Repository with duck-typing checks.
|
|
60
|
+
* @deprecated use createContract with guard instead
|
|
53
61
|
*/
|
|
54
62
|
export declare const LAWYER: Lawyer<Repository>;
|
|
55
63
|
//# sourceMappingURL=Repository.d.ts.map
|
package/api/Repository.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/api/Repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/api/Repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAA0B,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAIpE;;;;;GAKG;AACH,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAE1C;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IAElG;;;;;;;;;;OAUG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAE7F;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;OAIG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CACzC;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEzD;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,UAAU,CAoBrC,CAAC"}
|
package/api/Repository.js
CHANGED
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LAWYER = void 0;
|
|
4
|
+
exports.guard = guard;
|
|
5
|
+
const AutoOpen_1 = require("@jonloucks/contracts-ts/api/AutoOpen");
|
|
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 Repository
|
|
10
|
+
*
|
|
11
|
+
* @param value the value to check
|
|
12
|
+
* @return true if value is Repository, false otherwise
|
|
13
|
+
*/
|
|
14
|
+
function guard(value) {
|
|
15
|
+
return (0, Types_1.hasFunctions)(value, 'store', 'keep', 'check', 'require') && (0, AutoOpen_1.guard)(value);
|
|
16
|
+
}
|
|
6
17
|
/**
|
|
7
18
|
* For creating a Contract for Repository with duck-typing checks.
|
|
19
|
+
* @deprecated use createContract with guard instead
|
|
8
20
|
*/
|
|
9
21
|
exports.LAWYER = new class {
|
|
10
22
|
/**
|
|
11
23
|
* Lawyer.isDeliverable override
|
|
12
24
|
*/
|
|
13
25
|
isDeliverable(instance) {
|
|
14
|
-
return (
|
|
26
|
+
return guard(instance);
|
|
15
27
|
}
|
|
16
28
|
/**
|
|
17
29
|
* Lawyer.createContract override
|
package/api/Repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../src/api/Repository.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../src/api/Repository.ts"],"names":[],"mappings":";;;AAgEA,sBAEC;AAjED,mEAAwF;AAKxF,mFAAwF;AACxF,6DAA+E;AAmD/E;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,IAAA,oBAAY,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,IAAA,gBAAa,EAAC,KAAK,CAAC,CAAC;AAC1F,CAAC;AAED;;;GAGG;AACU,QAAA,MAAM,GAAuB,IAAI;IAE5C;;OAEG;IACH,aAAa,CAAuB,QAAiB;QACnD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,cAAc,CAAuB,MAAsC;QACzE,MAAM,IAAI,GAAsB,EAAE,GAAG,MAAM,EAAE,CAAA;QAE7C,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,YAAY,EAAC;QAC/B,IAAI,CAAC,IAAI,KAAT,IAAI,CAAC,IAAI,GAAK,IAAI,CAAC,aAAa,EAAC;QAEjC,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAC"}
|
|
@@ -11,8 +11,16 @@ export interface RepositoryFactory {
|
|
|
11
11
|
*/
|
|
12
12
|
create(): RequiredType<Repository>;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Type guard for RepositoryFactory
|
|
16
|
+
*
|
|
17
|
+
* @param value the value to check
|
|
18
|
+
* @return true if value is RepositoryFactory, false otherwise
|
|
19
|
+
*/
|
|
20
|
+
export declare function guard(value: unknown): value is RepositoryFactory;
|
|
14
21
|
/**
|
|
15
22
|
* For creating a Contract for RepositoryFactory with duck-typing checks.
|
|
23
|
+
* @deprecated use createContract with guard instead
|
|
16
24
|
*/
|
|
17
25
|
export declare const LAWYER: Lawyer<RepositoryFactory>;
|
|
18
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepositoryFactory.d.ts","sourceRoot":"","sources":["../../src/api/RepositoryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAgB,YAAY,EAAgB,MAAM,mCAAmC,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC;;OAEG;IACH,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;CACpC;AAED
|
|
1
|
+
{"version":3,"file":"RepositoryFactory.d.ts","sourceRoot":"","sources":["../../src/api/RepositoryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAgB,YAAY,EAAgB,MAAM,mCAAmC,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC;;OAEG;IACH,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAEhE;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAoB5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAG7D,CAAC"}
|
package/api/RepositoryFactory.js
CHANGED
|
@@ -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 RepositoryFactory
|
|
9
|
+
*
|
|
10
|
+
* @param value the value to check
|
|
11
|
+
* @return true if value is RepositoryFactory, false otherwise
|
|
12
|
+
*/
|
|
13
|
+
function guard(value) {
|
|
14
|
+
return (0, Types_1.hasFunctions)(value, "create");
|
|
15
|
+
}
|
|
6
16
|
/**
|
|
7
17
|
* For creating a Contract for RepositoryFactory with duck-typing checks.
|
|
18
|
+
* @deprecated use createContract with guard instead
|
|
8
19
|
*/
|
|
9
20
|
exports.LAWYER = new class {
|
|
10
21
|
/**
|
|
11
22
|
* Lawyer.isDeliverable override
|
|
12
23
|
*/
|
|
13
24
|
isDeliverable(instance) {
|
|
14
|
-
return (
|
|
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 factory Contract for creating new Repository instances.
|
|
28
39
|
*/
|
|
29
|
-
exports.CONTRACT =
|
|
40
|
+
exports.CONTRACT = (0, RatifiedContract_1.create)({
|
|
41
|
+
test: guard,
|
|
42
|
+
name: "RepositoryFactory"
|
|
43
|
+
});
|
|
30
44
|
//# sourceMappingURL=RepositoryFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepositoryFactory.js","sourceRoot":"","sources":["../../src/api/RepositoryFactory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"RepositoryFactory.js","sourceRoot":"","sources":["../../src/api/RepositoryFactory.ts"],"names":[],"mappings":";;;AAuBA,sBAEC;AAvBD,mFAAwF;AAExF,6DAA6F;AAa7F;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,IAAA,oBAAY,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACU,QAAA,MAAM,GAA8B,IAAI;IAEnD;;OAEG;IACH,aAAa,CAA8B,QAAiB;QAC1D,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,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,mBAAmB,EAAC;QAEtC,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,QAAQ,GAA8C,IAAA,yBAAc,EAAC;IAChF,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Lawyer } from "@jonloucks/contracts-ts/api/Lawyer";
|
|
2
|
+
import { OptionalType } from "@jonloucks/contracts-ts/api/Types";
|
|
2
3
|
/**
|
|
3
4
|
* Responsibility: An atomic boolean interface for thread-safe boolean operations.
|
|
4
5
|
*/
|
|
@@ -26,8 +27,19 @@ export interface AtomicBoolean {
|
|
|
26
27
|
*/
|
|
27
28
|
[Symbol.toPrimitive](hint: string): string | boolean | number;
|
|
28
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Type guard for AtomicBoolean interface.
|
|
32
|
+
*
|
|
33
|
+
* @param instance the instance to check
|
|
34
|
+
* @returns true if the instance implements AtomicBoolean
|
|
35
|
+
*/
|
|
36
|
+
export declare function guard(instance: unknown): instance is OptionalType<AtomicBoolean>;
|
|
37
|
+
/** @deprecated use guard instead
|
|
38
|
+
*/
|
|
39
|
+
export { guard as isAtomicBoolean };
|
|
29
40
|
/**
|
|
30
41
|
* For creating a Contract for AtomicBoolean with duck-typing checks.
|
|
42
|
+
* @deprecated create a contract using typeGuard directly
|
|
31
43
|
*/
|
|
32
44
|
export declare const LAWYER: Lawyer<AtomicBoolean>;
|
|
33
45
|
//# sourceMappingURL=AtomicBoolean.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicBoolean.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicBoolean.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"AtomicBoolean.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicBoolean.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAgB,MAAM,mCAAmC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,aAAa;IAE1B;;OAEG;IACH,GAAG,IAAI,OAAO,CAAC;IAEf;;;OAGG;IACH,GAAG,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAE7B;;;;;;OAMG;IACH,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAElE;;;OAGG;IACH,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACjE;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,aAAa,CAAC,CAEhF;AAED;GACG;AACH,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,CAAA;AAEnC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,aAAa,CAoBxC,CAAC"}
|
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LAWYER = void 0;
|
|
4
|
+
exports.guard = guard;
|
|
5
|
+
exports.isAtomicBoolean = 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 AtomicBoolean interface.
|
|
10
|
+
*
|
|
11
|
+
* @param instance the instance to check
|
|
12
|
+
* @returns true if the instance implements AtomicBoolean
|
|
13
|
+
*/
|
|
14
|
+
function guard(instance) {
|
|
15
|
+
return (0, Types_1.hasFunctions)(instance, "compareAndSet", "get", "set");
|
|
16
|
+
}
|
|
6
17
|
/**
|
|
7
18
|
* For creating a Contract for AtomicBoolean with duck-typing checks.
|
|
19
|
+
* @deprecated create a contract using typeGuard directly
|
|
8
20
|
*/
|
|
9
21
|
exports.LAWYER = new class {
|
|
10
22
|
/**
|
|
11
23
|
* Lawyer.isDeliverable override
|
|
12
24
|
*/
|
|
13
25
|
isDeliverable(instance) {
|
|
14
|
-
return (
|
|
26
|
+
return guard(instance);
|
|
15
27
|
}
|
|
16
28
|
/**
|
|
17
29
|
* Lawyer.createContract override
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicBoolean.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicBoolean.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AtomicBoolean.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicBoolean.ts"],"names":[],"mappings":";;;AA2CA,sBAEC;AAIiB,gCAAe;AA/CjC,mFAAwF;AACxF,6DAA+E;AAkC/E;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AAMD;;;GAGG;AACU,QAAA,MAAM,GAA0B,IAAI;IAE7C;;OAEG;IACH,aAAa,CAA0B,QAAiB;QACpD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,cAAc,CAA0B,MAA0B;QAC9D,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,eAAe,EAAC;QAElC,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACnC,CAAC;CACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Contract } from "@jonloucks/contracts-ts/api/Contract";
|
|
2
2
|
import { Lawyer } from "@jonloucks/contracts-ts/api/Lawyer";
|
|
3
|
-
import { RequiredType } from "@jonloucks/contracts-ts/api/Types";
|
|
3
|
+
import { OptionalType, RequiredType } from "@jonloucks/contracts-ts/api/Types";
|
|
4
4
|
import { AtomicBoolean } from "@jonloucks/contracts-ts/auxiliary/AtomicBoolean";
|
|
5
5
|
/**
|
|
6
6
|
* Factory interface for creating AtomicBoolean instances.
|
|
@@ -12,8 +12,19 @@ export interface AtomicBooleanFactory {
|
|
|
12
12
|
*/
|
|
13
13
|
create(initialValue?: boolean): RequiredType<AtomicBoolean>;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Type guard for AtomicBooleanFactory interface.
|
|
17
|
+
*
|
|
18
|
+
* @param instance the instance to check
|
|
19
|
+
* @returns true if the instance implements AtomicBooleanFactory
|
|
20
|
+
*/
|
|
21
|
+
export declare function guard(instance: unknown): instance is OptionalType<AtomicBooleanFactory>;
|
|
22
|
+
/** @deprecated use guard instead
|
|
23
|
+
*/
|
|
24
|
+
export { guard as isAtomicBooleanFactory };
|
|
15
25
|
/**
|
|
16
26
|
* For creating a Contract for AtomicBoolean with duck-typing checks.
|
|
27
|
+
* @deprecated use CONTRACT instead
|
|
17
28
|
*/
|
|
18
29
|
export declare const LAWYER: Lawyer<AtomicBooleanFactory>;
|
|
19
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicBooleanFactory.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicBooleanFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,
|
|
1
|
+
{"version":3,"file":"AtomicBooleanFactory.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicBooleanFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAgB,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAEnC;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;CAC7D;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAEvF;AAED;GACG;AACH,OAAO,EAAE,KAAK,IAAI,sBAAsB,EAAE,CAAA;AAE1C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAoB/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAGlD,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.isAtomicBooleanFactory = 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 AtomicBooleanFactory interface.
|
|
10
|
+
*
|
|
11
|
+
* @param instance the instance to check
|
|
12
|
+
* @returns true if the instance implements AtomicBooleanFactory
|
|
13
|
+
*/
|
|
14
|
+
function guard(instance) {
|
|
15
|
+
return (0, Types_1.hasFunctions)(instance, "create");
|
|
16
|
+
}
|
|
6
17
|
/**
|
|
7
18
|
* For creating a Contract for AtomicBoolean 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 (
|
|
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 factory Contract for creating new AtomicBoolean instances.
|
|
28
40
|
*/
|
|
29
|
-
exports.CONTRACT =
|
|
41
|
+
exports.CONTRACT = (0, RatifiedContract_1.create)({
|
|
42
|
+
test: guard,
|
|
43
|
+
name: "AtomicBooleanFactory"
|
|
44
|
+
});
|
|
30
45
|
//# sourceMappingURL=AtomicBooleanFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicBooleanFactory.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicBooleanFactory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AtomicBooleanFactory.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicBooleanFactory.ts"],"names":[],"mappings":";;;AAwBA,sBAEC;AAIiB,uCAAsB;AA5BxC,mFAAwF;AACxF,6DAA6F;AAe7F;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACrC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAMD;;;GAGG;AACU,QAAA,MAAM,GAAiC,IAAI;IAEtD;;OAEG;IACH,aAAa,CAAiC,QAAiB;QAC7D,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,cAAc,CAAiC,MAA0B;QACvE,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,sBAAsB,EAAC;QAEzC,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,QAAQ,GAAmC,IAAA,yBAAc,EAAC;IACrE,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,sBAAsB;CAC7B,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Lawyer } from "@jonloucks/contracts-ts/api/Lawyer";
|
|
2
|
+
import { OptionalType } from "@jonloucks/contracts-ts/api/Types";
|
|
2
3
|
/**
|
|
3
4
|
* Responsibility: An atomic integer interface for thread-safe integer operations.
|
|
4
5
|
*/
|
|
@@ -35,8 +36,19 @@ export interface AtomicInteger {
|
|
|
35
36
|
*/
|
|
36
37
|
[Symbol.toPrimitive](hint: string): string | number | boolean;
|
|
37
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Type guard for AtomicInteger interface.
|
|
41
|
+
*
|
|
42
|
+
* @param instance the instance to check
|
|
43
|
+
* @returns true if the instance implements AtomicInteger
|
|
44
|
+
*/
|
|
45
|
+
export declare function guard(instance: unknown): instance is OptionalType<AtomicInteger>;
|
|
46
|
+
/** @deprecated use guard instead
|
|
47
|
+
*/
|
|
48
|
+
export { guard as isAtomicInteger };
|
|
38
49
|
/**
|
|
39
50
|
* For creating a Contract for AtomicInteger with duck-typing checks.
|
|
51
|
+
* @deprecated create a contract using guard directly
|
|
40
52
|
*/
|
|
41
53
|
export declare const LAWYER: Lawyer<AtomicInteger>;
|
|
42
54
|
//# sourceMappingURL=AtomicInteger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicInteger.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicInteger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"AtomicInteger.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicInteger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAgB,MAAM,mCAAmC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,aAAa;IAE1B;;OAEG;IACH,GAAG,IAAI,MAAM,CAAC;IAEd;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;;;OAKG;IACH,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhE;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;OAGG;IACH,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACjE;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,aAAa,CAAC,CAEhF;AAED;GACG;AACH,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,CAAA;AAEnC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,aAAa,CAoBxC,CAAC"}
|
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LAWYER = void 0;
|
|
4
|
+
exports.guard = guard;
|
|
5
|
+
exports.isAtomicInteger = 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 AtomicInteger interface.
|
|
10
|
+
*
|
|
11
|
+
* @param instance the instance to check
|
|
12
|
+
* @returns true if the instance implements AtomicInteger
|
|
13
|
+
*/
|
|
14
|
+
function guard(instance) {
|
|
15
|
+
return (0, Types_1.hasFunctions)(instance, "compareAndSet", "incrementAndGet", "decrementAndGet", "get", "set");
|
|
16
|
+
}
|
|
6
17
|
/**
|
|
7
18
|
* For creating a Contract for AtomicInteger with duck-typing checks.
|
|
19
|
+
* @deprecated create a contract using guard directly
|
|
8
20
|
*/
|
|
9
21
|
exports.LAWYER = new class {
|
|
10
22
|
/**
|
|
11
23
|
* Lawyer.isDeliverable override
|
|
12
24
|
*/
|
|
13
25
|
isDeliverable(instance) {
|
|
14
|
-
return (
|
|
26
|
+
return guard(instance);
|
|
15
27
|
}
|
|
16
28
|
/**
|
|
17
29
|
* Lawyer.createContract override
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicInteger.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicInteger.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AtomicInteger.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicInteger.ts"],"names":[],"mappings":";;;AAsDA,sBAEC;AAIiB,gCAAe;AA1DjC,mFAAwF;AACxF,6DAA+E;AA6C/E;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACvG,CAAC;AAMD;;;GAGG;AACU,QAAA,MAAM,GAA0B,IAAI;IAE7C;;OAEG;IACH,aAAa,CAA0B,QAAiB;QACpD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,cAAc,CAA0B,MAA0B;QAC9D,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,eAAe,EAAC;QAElC,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACnC,CAAC;CACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Contract } from "@jonloucks/contracts-ts/api/Contract";
|
|
2
2
|
import { Lawyer } from "@jonloucks/contracts-ts/api/Lawyer";
|
|
3
|
-
import { RequiredType } from "@jonloucks/contracts-ts/api/Types";
|
|
3
|
+
import { OptionalType, RequiredType } from "@jonloucks/contracts-ts/api/Types";
|
|
4
4
|
import { AtomicInteger } from "@jonloucks/contracts-ts/auxiliary/AtomicInteger";
|
|
5
5
|
/**
|
|
6
6
|
* Factory interface for creating AtomicInteger instances.
|
|
@@ -12,8 +12,19 @@ export interface AtomicIntegerFactory {
|
|
|
12
12
|
*/
|
|
13
13
|
create(initialValue?: number): RequiredType<AtomicInteger>;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Type guard for AtomicIntegerFactory interface.
|
|
17
|
+
*
|
|
18
|
+
* @param instance the instance to check
|
|
19
|
+
* @returns true if the instance implements AtomicIntegerFactory
|
|
20
|
+
*/
|
|
21
|
+
export declare function guard(instance: unknown): instance is OptionalType<AtomicIntegerFactory>;
|
|
22
|
+
/** @deprecated use guard instead
|
|
23
|
+
*/
|
|
24
|
+
export { guard as isAtomicIntegerFactory };
|
|
15
25
|
/**
|
|
16
26
|
* For creating a Contract for AtomicInteger with duck-typing checks.
|
|
27
|
+
* @deprecated use createContract instead with guard
|
|
17
28
|
*/
|
|
18
29
|
export declare const LAWYER: Lawyer<AtomicIntegerFactory>;
|
|
19
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicIntegerFactory.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicIntegerFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,
|
|
1
|
+
{"version":3,"file":"AtomicIntegerFactory.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicIntegerFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAgB,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAEjC;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;CAC9D;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAEvF;AAED;GACG;AACH,OAAO,EAAE,KAAK,IAAI,sBAAsB,EAAE,CAAA;AAE1C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAoB/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAGlD,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.isAtomicIntegerFactory = 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 AtomicIntegerFactory interface.
|
|
10
|
+
*
|
|
11
|
+
* @param instance the instance to check
|
|
12
|
+
* @returns true if the instance implements AtomicIntegerFactory
|
|
13
|
+
*/
|
|
14
|
+
function guard(instance) {
|
|
15
|
+
return (0, Types_1.hasFunctions)(instance, 'create');
|
|
16
|
+
}
|
|
6
17
|
/**
|
|
7
18
|
* For creating a Contract for AtomicInteger with duck-typing checks.
|
|
19
|
+
* @deprecated use createContract instead with guard
|
|
8
20
|
*/
|
|
9
21
|
exports.LAWYER = new class {
|
|
10
22
|
/**
|
|
11
23
|
* Lawyer.isDeliverable override
|
|
12
24
|
*/
|
|
13
25
|
isDeliverable(instance) {
|
|
14
|
-
return (
|
|
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 factory Contract for creating new AtomicInteger instances.
|
|
28
40
|
*/
|
|
29
|
-
exports.CONTRACT =
|
|
41
|
+
exports.CONTRACT = (0, RatifiedContract_1.create)({
|
|
42
|
+
test: guard,
|
|
43
|
+
name: "AtomicIntegerFactory"
|
|
44
|
+
});
|
|
30
45
|
//# sourceMappingURL=AtomicIntegerFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicIntegerFactory.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicIntegerFactory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AtomicIntegerFactory.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicIntegerFactory.ts"],"names":[],"mappings":";;;AAwBA,sBAEC;AAIiB,uCAAsB;AA5BxC,mFAAwF;AACxF,6DAA6F;AAe7F;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAMD;;;GAGG;AACU,QAAA,MAAM,GAAiC,IAAI;IAEpD;;OAEG;IACH,aAAa,CAAiC,QAAiB;QAC3D,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,cAAc,CAAiC,MAA0B;QACrE,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,sBAAsB,EAAC;QAEzC,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACnC,CAAC;CACJ,CAAC;AAEF;;GAEG;AACU,QAAA,QAAQ,GAAmC,IAAA,yBAAc,EAAC;IACnE,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,sBAAsB;CAC/B,CAAC,CAAC"}
|
|
@@ -22,8 +22,19 @@ export interface AtomicReference<T> {
|
|
|
22
22
|
*/
|
|
23
23
|
compareAndSet(expectedValue: OptionalType<T>, newValue: OptionalType<T>): boolean;
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Type guard for AtomicReference interface.
|
|
27
|
+
*
|
|
28
|
+
* @param instance the instance to check
|
|
29
|
+
* @returns true if the instance implements AtomicReference
|
|
30
|
+
*/
|
|
31
|
+
export declare function guard<T>(instance: unknown): instance is OptionalType<AtomicReference<T>>;
|
|
32
|
+
/** @deprecated use guard instead
|
|
33
|
+
*/
|
|
34
|
+
export { guard as isAtomicReference };
|
|
25
35
|
/**
|
|
26
36
|
* For creating a Contract for AtomicReference with duck-typing checks.
|
|
37
|
+
* @deprecated create a contract using typeGuard directly
|
|
27
38
|
*/
|
|
28
39
|
export declare const LAWYER: Lawyer<AtomicReference<unknown>>;
|
|
29
40
|
//# sourceMappingURL=AtomicReference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicReference.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicReference.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAgB,MAAM,mCAAmC,CAAC;AAE/E;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAE9B;;OAEG;IACH,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAEvB;;;OAGG;IACH,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAEpC;;;;;OAKG;IACH,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACrF;AAED
|
|
1
|
+
{"version":3,"file":"AtomicReference.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicReference.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAgB,MAAM,mCAAmC,CAAC;AAE/E;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAE9B;;OAEG;IACH,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAEvB;;;OAGG;IACH,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAEpC;;;;;OAKG;IACH,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACrF;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAExF;AAED;GACG;AACH,OAAO,EAAE,KAAK,IAAI,iBAAiB,EAAE,CAAA;AAErC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAoBnD,CAAA"}
|
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LAWYER = void 0;
|
|
4
|
+
exports.guard = guard;
|
|
5
|
+
exports.isAtomicReference = 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 AtomicReference interface.
|
|
10
|
+
*
|
|
11
|
+
* @param instance the instance to check
|
|
12
|
+
* @returns true if the instance implements AtomicReference
|
|
13
|
+
*/
|
|
14
|
+
function guard(instance) {
|
|
15
|
+
return (0, Types_1.hasFunctions)(instance, "compareAndSet", "get", "set");
|
|
16
|
+
}
|
|
6
17
|
/**
|
|
7
18
|
* For creating a Contract for AtomicReference with duck-typing checks.
|
|
19
|
+
* @deprecated create a contract using typeGuard directly
|
|
8
20
|
*/
|
|
9
21
|
exports.LAWYER = new class {
|
|
10
22
|
/**
|
|
11
23
|
* Lawyer.isDeliverable override
|
|
12
24
|
*/
|
|
13
25
|
isDeliverable(instance) {
|
|
14
|
-
return (
|
|
26
|
+
return guard(instance);
|
|
15
27
|
}
|
|
16
28
|
/**
|
|
17
29
|
* Lawyer.createContract override
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicReference.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicReference.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AtomicReference.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicReference.ts"],"names":[],"mappings":";;;AAqCA,sBAEC;AAIiB,kCAAiB;AAzCnC,mFAAwF;AACxF,6DAA+E;AA4B/E;;;;;GAKG;AACH,SAAgB,KAAK,CAAI,QAAiB;IACtC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AAMD;;;GAGG;AACU,QAAA,MAAM,GAAqC,IAAI;IAExD;;OAEG;IACH,aAAa,CAAqC,QAAiB;QAC/D,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,cAAc,CAAqC,MAA0B;QACzE,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,iBAAiB,EAAC;QAEpC,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACnC,CAAC;CACJ,CAAA"}
|
|
@@ -12,8 +12,19 @@ export interface AtomicReferenceFactory {
|
|
|
12
12
|
*/
|
|
13
13
|
create<T>(intialValue?: OptionalType<T>): RequiredType<AtomicReference<T>>;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Type guard for AtomicReferenceFactory interface.
|
|
17
|
+
*
|
|
18
|
+
* @param instance the instance to check
|
|
19
|
+
* @returns true if the instance implements AtomicReferenceFactory
|
|
20
|
+
*/
|
|
21
|
+
export declare function guard(instance: unknown): instance is OptionalType<AtomicReferenceFactory>;
|
|
22
|
+
/** @deprecated use guard instead
|
|
23
|
+
*/
|
|
24
|
+
export { guard as isAtomicReferenceFactory };
|
|
15
25
|
/**
|
|
16
26
|
* For creating a Contract for AtomicReferenceFactory with duck-typing checks.
|
|
27
|
+
* @deprecated use createContract with guard instead
|
|
17
28
|
*/
|
|
18
29
|
export declare const LAWYER: Lawyer<AtomicReferenceFactory>;
|
|
19
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicReferenceFactory.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicReferenceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAgB,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IAEnC;;;OAGG;IACH,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9E;AAED
|
|
1
|
+
{"version":3,"file":"AtomicReferenceFactory.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicReferenceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA4B,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAgB,MAAM,mCAAmC,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IAEnC;;;OAGG;IACH,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9E;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,sBAAsB,CAAC,CAEzF;AAED;GACG;AACH,OAAO,EAAE,KAAK,IAAI,wBAAwB,EAAE,CAAA;AAC5C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,sBAAsB,CAoBjD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,CAGpD,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.isAtomicReferenceFactory = 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 AtomicReferenceFactory interface.
|
|
10
|
+
*
|
|
11
|
+
* @param instance the instance to check
|
|
12
|
+
* @returns true if the instance implements AtomicReferenceFactory
|
|
13
|
+
*/
|
|
14
|
+
function guard(instance) {
|
|
15
|
+
return (0, Types_1.hasFunctions)(instance, "create");
|
|
16
|
+
}
|
|
6
17
|
/**
|
|
7
18
|
* For creating a Contract for AtomicReferenceFactory with duck-typing checks.
|
|
19
|
+
* @deprecated use createContract with guard instead
|
|
8
20
|
*/
|
|
9
21
|
exports.LAWYER = new class {
|
|
10
22
|
/**
|
|
11
23
|
* Lawyer.isDeliverable override
|
|
12
24
|
*/
|
|
13
25
|
isDeliverable(instance) {
|
|
14
|
-
return (
|
|
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 factory Contract for creating new AtomicReference instances.
|
|
28
40
|
*/
|
|
29
|
-
exports.CONTRACT =
|
|
41
|
+
exports.CONTRACT = (0, RatifiedContract_1.create)({
|
|
42
|
+
test: guard,
|
|
43
|
+
name: "AtomicReferenceFactory"
|
|
44
|
+
});
|
|
30
45
|
//# sourceMappingURL=AtomicReferenceFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicReferenceFactory.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicReferenceFactory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AtomicReferenceFactory.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicReferenceFactory.ts"],"names":[],"mappings":";;;AAwBA,sBAEC;AAIiB,yCAAwB;AA5B1C,mFAAwF;AACxF,6DAA6F;AAe7F;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAKD;;;GAGG;AACU,QAAA,MAAM,GAAmC,IAAI;IAEtD;;OAEG;IACH,aAAa,CAAmC,QAAiB;QAC7D,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,cAAc,CAAmC,MAA0B;QACvE,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,wBAAwB,EAAC;QAE3C,OAAO,IAAA,yBAAc,EAAI,IAAI,CAAC,CAAC;IACnC,CAAC;CACJ,CAAA;AAED;;GAEG;AACU,QAAA,QAAQ,GAAqC,IAAA,yBAAc,EAAC;IACrE,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,wBAAwB;CACjC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jonloucks/contracts-ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Typescript Dependency Contracts for dependency inversion",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
"@typescript-eslint/parser": "^8.53.1",
|
|
71
71
|
"eslint": "^9.39.2",
|
|
72
72
|
"jest": "^30.2.0",
|
|
73
|
+
"jest-mock-extended": "^4.0.0",
|
|
73
74
|
"ts-jest": "^29.4.6",
|
|
74
75
|
"typedoc": "^0.28.15",
|
|
75
76
|
"typescript": "^5.9.3"
|
package/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,EAAE,MAalB,CAAC"}
|