@jonloucks/contracts-ts 1.0.4 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -18
- package/api/Convenience.d.ts +13 -4
- package/api/Convenience.d.ts.map +1 -1
- package/api/Convenience.js +23 -0
- package/api/Convenience.js.map +1 -1
- package/api/Open.d.ts +14 -2
- package/api/Open.d.ts.map +1 -1
- package/api/Open.js +28 -1
- package/api/Open.js.map +1 -1
- package/api/Repository.d.ts +14 -0
- package/api/Repository.d.ts.map +1 -1
- package/api/Repository.js.map +1 -1
- package/api/RepositoryFactory.d.ts +2 -2
- package/api/RepositoryFactory.d.ts.map +1 -1
- package/api/Types.d.ts.map +1 -1
- package/api/Types.js +5 -2
- package/api/Types.js.map +1 -1
- package/auxiliary/Convenience.d.ts +9 -3
- package/auxiliary/Convenience.d.ts.map +1 -1
- package/auxiliary/Convenience.js +11 -0
- package/auxiliary/Convenience.js.map +1 -1
- package/auxiliary/IdempotenState.d.ts +11 -0
- package/auxiliary/IdempotenState.d.ts.map +1 -0
- package/auxiliary/IdempotenState.js +10 -0
- package/auxiliary/IdempotenState.js.map +1 -0
- package/auxiliary/Idempotent.d.ts +38 -0
- package/auxiliary/Idempotent.d.ts.map +1 -0
- package/auxiliary/Idempotent.js +14 -0
- package/auxiliary/Idempotent.js.map +1 -0
- package/auxiliary/IdempotentFactory.d.ts +28 -0
- package/auxiliary/IdempotentFactory.d.ts.map +1 -0
- package/auxiliary/IdempotentFactory.js +23 -0
- package/auxiliary/IdempotentFactory.js.map +1 -0
- package/impl/Contracts.impl.d.ts.map +1 -1
- package/impl/Contracts.impl.js +16 -18
- package/impl/Contracts.impl.js.map +1 -1
- package/impl/ContractsFactory.impl.d.ts.map +1 -1
- package/impl/ContractsFactory.impl.js +3 -0
- package/impl/ContractsFactory.impl.js.map +1 -1
- package/impl/ContractsWrapper.impl.d.ts.map +1 -1
- package/impl/ContractsWrapper.impl.js +20 -26
- package/impl/ContractsWrapper.impl.js.map +1 -1
- package/impl/Events.impl.d.ts +1 -1
- package/impl/Events.impl.d.ts.map +1 -1
- package/impl/Events.impl.js +4 -15
- package/impl/Events.impl.js.map +1 -1
- package/impl/Idempotent.impl.d.ts +5 -5
- package/impl/Idempotent.impl.d.ts.map +1 -1
- package/impl/Idempotent.impl.js +62 -17
- package/impl/Idempotent.impl.js.map +1 -1
- package/impl/IdempotentFactory.impl.d.ts +12 -0
- package/impl/IdempotentFactory.impl.d.ts.map +1 -0
- package/impl/IdempotentFactory.impl.js +25 -0
- package/impl/IdempotentFactory.impl.js.map +1 -0
- package/impl/Repository.impl.d.ts +2 -3
- package/impl/Repository.impl.d.ts.map +1 -1
- package/impl/Repository.impl.js +16 -16
- package/impl/Repository.impl.js.map +1 -1
- package/impl/RepositoryFactory.impl.js +6 -2
- package/impl/RepositoryFactory.impl.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.d.ts.map +1 -1
- package/index.js +4 -5
- package/index.js.map +1 -1
- package/package.json +4 -4
- package/version.js +1 -1
- package/impl/Idempotent.d.ts +0 -26
- package/impl/Idempotent.d.ts.map +0 -1
- package/impl/Idempotent.js +0 -3
- package/impl/Idempotent.js.map +0 -1
package/README.md
CHANGED
|
@@ -27,11 +27,39 @@ npm install @jonloucks/contracts-ts
|
|
|
27
27
|
|
|
28
28
|
## Usage - code fragments from Example.test.ts
|
|
29
29
|
|
|
30
|
-
<details markdown="1"><summary>
|
|
30
|
+
<details markdown="1"><summary>Importing the Package</summary>
|
|
31
31
|
|
|
32
32
|
```typescript
|
|
33
|
-
import {
|
|
33
|
+
import { CONTRACTS, createContract } from '@jonloucks/contracts-ts';
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
</details>
|
|
37
|
+
|
|
38
|
+
<details markdown="1"><summary>Importing the Convenience Package</summary>
|
|
39
|
+
|
|
40
|
+
```typescript
|
|
41
|
+
import {
|
|
42
|
+
AutoClose,
|
|
43
|
+
bind,
|
|
44
|
+
claim,
|
|
45
|
+
Contract,
|
|
46
|
+
createExtractor,
|
|
47
|
+
createLifeCycle,
|
|
48
|
+
createRepository,
|
|
49
|
+
createSingleton,
|
|
50
|
+
createValue,
|
|
51
|
+
createContract,
|
|
52
|
+
enforce,
|
|
53
|
+
guardFunctions,
|
|
54
|
+
isBound
|
|
55
|
+
} from "@jonloucks/contracts-ts/api/Convenience";
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
</details>
|
|
34
59
|
|
|
60
|
+
<details markdown="1"><summary>Creating a Contract</summary>
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
35
63
|
// Define a service interface
|
|
36
64
|
interface Logger {
|
|
37
65
|
log(message: string): void;
|
|
@@ -40,30 +68,19 @@ interface Logger {
|
|
|
40
68
|
// Create a contract for the service
|
|
41
69
|
const LOGGER_CONTRACT: Contract<Logger> = createContract<Logger>({
|
|
42
70
|
name: "Logger",
|
|
43
|
-
test: (obj:
|
|
44
|
-
|
|
71
|
+
test: (obj: unknown): obj is Logger => { // example of duck-typing check
|
|
72
|
+
return guardFunctions(obj, 'log'); // example of using guardFunctions helper
|
|
45
73
|
}
|
|
46
74
|
});
|
|
47
75
|
```
|
|
48
76
|
</details>
|
|
49
77
|
|
|
50
|
-
<details markdown="1"><summary>Importing the Package</summary>
|
|
51
|
-
|
|
52
|
-
```typescript
|
|
53
|
-
import { CONTRACTS, createContract, PromisorFactory, PROMISOR_FACTORY } from '@jonloucks/contracts-ts';
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
</details>
|
|
57
|
-
|
|
58
78
|
<details markdown="1"><summary>Binding a Contract</summary>
|
|
59
79
|
|
|
60
80
|
```typescript
|
|
61
81
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
CONTRACTS.bind<Logger>(LOGGER_CONTRACT,
|
|
66
|
-
promisorFactory.createSingleton<Logger>(
|
|
82
|
+
bind<Logger>(LOGGER_CONTRACT,
|
|
83
|
+
createSingleton<Logger>(
|
|
67
84
|
() => ({
|
|
68
85
|
log: (message: string) => {
|
|
69
86
|
console.log("LOG:", message);
|
|
@@ -75,7 +92,7 @@ CONTRACTS.bind<Logger>(LOGGER_CONTRACT,
|
|
|
75
92
|
<details markdown="1"><summary>Using the Contract</summary>
|
|
76
93
|
|
|
77
94
|
```typescript
|
|
78
|
-
const logger : Logger =
|
|
95
|
+
const logger : Logger = enforce<Logger>(LOGGER_CONTRACT);
|
|
79
96
|
logger.log("Using the service in the test.");
|
|
80
97
|
```
|
|
81
98
|
</details>
|
package/api/Convenience.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { PromisorType } from "@jonloucks/contracts-ts/api/Promisor";
|
|
1
|
+
import { Contract, ContractConfig, CONTRACTS, createContract } from "@jonloucks/contracts-ts";
|
|
2
|
+
import { Promisor, PromisorType } from "@jonloucks/contracts-ts/api/Promisor";
|
|
3
|
+
import { AutoClose, inlineAutoClose } from "@jonloucks/contracts-ts/api/AutoClose";
|
|
3
4
|
import { BindStrategyType } from "@jonloucks/contracts-ts/api/BindStrategy";
|
|
4
|
-
import {
|
|
5
|
-
import { TransformType } from "@jonloucks/contracts-ts/api/Types";
|
|
5
|
+
import { Repository, Config as RepositoryConfig } from "@jonloucks/contracts-ts/api/Repository";
|
|
6
|
+
import { OptionalType, RequiredType, Transform, TransformType, isNumber, isFunction, isString, isBoolean, isObject, guardFunctions } from "@jonloucks/contracts-ts/api/Types";
|
|
7
|
+
export { AutoClose, BindStrategyType, Contract, ContractConfig, CONTRACTS, createContract, guardFunctions, inlineAutoClose, isBoolean, isFunction, isNumber, isObject, isString, OptionalType, Promisor, PromisorType, Repository, RepositoryConfig, RequiredType, Transform, TransformType, };
|
|
6
8
|
/**
|
|
7
9
|
* @module Convenience
|
|
8
10
|
* @description
|
|
@@ -84,4 +86,11 @@ export declare function createLifeCycle<T>(promisor: PromisorType<T>): RequiredT
|
|
|
84
86
|
* @param <R> the new Promisor deliverable type
|
|
85
87
|
*/
|
|
86
88
|
export declare function createExtractor<T, R>(promisor: PromisorType<T>, extractor: TransformType<T, R>): RequiredType<Promisor<R>>;
|
|
89
|
+
/**
|
|
90
|
+
* Factory method to create a Repository via the shared global REPOSITORY_FACTORY instance.
|
|
91
|
+
*
|
|
92
|
+
* @param config optional configuration for the Repository
|
|
93
|
+
* @returns the Repository implementation
|
|
94
|
+
*/
|
|
95
|
+
export declare function createRepository(config?: RepositoryConfig): RequiredType<Repository>;
|
|
87
96
|
//# sourceMappingURL=Convenience.d.ts.map
|
package/api/Convenience.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Convenience.d.ts","sourceRoot":"","sources":["../../src/api/Convenience.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Convenience.d.ts","sourceRoot":"","sources":["../../src/api/Convenience.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAG5E,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAE9K,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,aAAa,GACd,CAAC;AAEF;;;;;;;;;;;;GAYG;AAEH;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAE/E;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,CAEhJ;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAEvE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAEtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAEvF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAEvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAE1H;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC,CAEpF"}
|
package/api/Convenience.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isString = exports.isObject = exports.isNumber = exports.isFunction = exports.isBoolean = exports.inlineAutoClose = exports.guardFunctions = exports.createContract = exports.CONTRACTS = void 0;
|
|
3
4
|
exports.claim = claim;
|
|
4
5
|
exports.enforce = enforce;
|
|
5
6
|
exports.bind = bind;
|
|
@@ -8,8 +9,21 @@ exports.createValue = createValue;
|
|
|
8
9
|
exports.createSingleton = createSingleton;
|
|
9
10
|
exports.createLifeCycle = createLifeCycle;
|
|
10
11
|
exports.createExtractor = createExtractor;
|
|
12
|
+
exports.createRepository = createRepository;
|
|
11
13
|
const contracts_ts_1 = require("@jonloucks/contracts-ts");
|
|
14
|
+
Object.defineProperty(exports, "CONTRACTS", { enumerable: true, get: function () { return contracts_ts_1.CONTRACTS; } });
|
|
15
|
+
Object.defineProperty(exports, "createContract", { enumerable: true, get: function () { return contracts_ts_1.createContract; } });
|
|
16
|
+
const AutoClose_1 = require("@jonloucks/contracts-ts/api/AutoClose");
|
|
17
|
+
Object.defineProperty(exports, "inlineAutoClose", { enumerable: true, get: function () { return AutoClose_1.inlineAutoClose; } });
|
|
12
18
|
const PromisorFactory_1 = require("@jonloucks/contracts-ts/api/PromisorFactory");
|
|
19
|
+
const RepositoryFactory_1 = require("@jonloucks/contracts-ts/api/RepositoryFactory");
|
|
20
|
+
const Types_1 = require("@jonloucks/contracts-ts/api/Types");
|
|
21
|
+
Object.defineProperty(exports, "isNumber", { enumerable: true, get: function () { return Types_1.isNumber; } });
|
|
22
|
+
Object.defineProperty(exports, "isFunction", { enumerable: true, get: function () { return Types_1.isFunction; } });
|
|
23
|
+
Object.defineProperty(exports, "isString", { enumerable: true, get: function () { return Types_1.isString; } });
|
|
24
|
+
Object.defineProperty(exports, "isBoolean", { enumerable: true, get: function () { return Types_1.isBoolean; } });
|
|
25
|
+
Object.defineProperty(exports, "isObject", { enumerable: true, get: function () { return Types_1.isObject; } });
|
|
26
|
+
Object.defineProperty(exports, "guardFunctions", { enumerable: true, get: function () { return Types_1.guardFunctions; } });
|
|
13
27
|
/**
|
|
14
28
|
* @module Convenience
|
|
15
29
|
* @description
|
|
@@ -107,4 +121,13 @@ function createLifeCycle(promisor) {
|
|
|
107
121
|
function createExtractor(promisor, extractor) {
|
|
108
122
|
return enforce(PromisorFactory_1.CONTRACT).createExtractor(promisor, extractor);
|
|
109
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Factory method to create a Repository via the shared global REPOSITORY_FACTORY instance.
|
|
126
|
+
*
|
|
127
|
+
* @param config optional configuration for the Repository
|
|
128
|
+
* @returns the Repository implementation
|
|
129
|
+
*/
|
|
130
|
+
function createRepository(config) {
|
|
131
|
+
return enforce(RepositoryFactory_1.CONTRACT).createRepository(config);
|
|
132
|
+
}
|
|
110
133
|
//# sourceMappingURL=Convenience.js.map
|
package/api/Convenience.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Convenience.js","sourceRoot":"","sources":["../../src/api/Convenience.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Convenience.js","sourceRoot":"","sources":["../../src/api/Convenience.ts"],"names":[],"mappings":";;;AAqDA,sBAEC;AAQD,0BAEC;AAUD,oBAEC;AAQD,0BAEC;AASD,kCAEC;AAWD,0CAEC;AAUD,0CAEC;AAYD,0CAEC;AAQD,4CAEC;AAnJD,0DAA8F;AAc5F,0FAdiC,wBAAS,OAcjC;AACT,+FAf4C,6BAAc,OAe5C;AAbhB,qEAAmF;AAejF,gGAfkB,2BAAe,OAelB;AAbjB,iFAA2F;AAC3F,qFAA+F;AAE/F,6DAA8K;AAa5K,yFAb6D,gBAAQ,OAa7D;AADR,2FAZuE,kBAAU,OAYvE;AAGV,yFAfmF,gBAAQ,OAenF;AAJR,0FAX6F,iBAAS,OAW7F;AAGT,yFAdwG,gBAAQ,OAcxG;AALR,+FATkH,sBAAc,OASlH;AAiBhB;;;;;;;;;;;;GAYG;AAEH;;;;;GAKG;AACH,SAAgB,KAAK,CAAI,QAAmC;IAC1D,OAAO,wBAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,OAAO,CAAI,QAAmC;IAC5D,OAAO,wBAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,IAAI,CAAI,QAAmC,EAAE,QAAyB,EAAE,YAA+B;IACrH,OAAO,wBAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,OAAO,CAAI,QAAmC;IAC5D,OAAO,wBAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAI,WAA4B;IACzD,OAAO,OAAO,CAAC,0BAAgB,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAI,QAAyB;IAC1D,OAAO,OAAO,CAAC,0BAAgB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAI,QAAyB;IAC1D,OAAO,OAAO,CAAC,0BAAgB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAO,QAAyB,EAAE,SAA8B;IAC7F,OAAO,OAAO,CAAC,0BAAgB,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,MAAyB;IACxD,OAAO,OAAO,CAAC,4BAAkB,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC"}
|
package/api/Open.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { AutoClose } from "
|
|
2
|
-
import {
|
|
1
|
+
import { AutoClose, AutoCloseType } from "@jonloucks/contracts-ts/api/AutoClose";
|
|
2
|
+
import { AutoOpen } from "@jonloucks/contracts-ts/api/AutoOpen";
|
|
3
|
+
import { RequiredType } from "@jonloucks/contracts-ts/api/AutoCloseFactory";
|
|
3
4
|
/**
|
|
4
5
|
* Interface representing an entity that can be opened, returning an AutoClose mechanism.
|
|
5
6
|
*/
|
|
@@ -10,6 +11,10 @@ export interface Open {
|
|
|
10
11
|
*/
|
|
11
12
|
open(): AutoClose;
|
|
12
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* The type used to open an Idempotent
|
|
16
|
+
*/
|
|
17
|
+
export type OpenType = AutoOpen | Open | (() => AutoCloseType);
|
|
13
18
|
/**
|
|
14
19
|
* Duck-typing check for Open interface.
|
|
15
20
|
*
|
|
@@ -17,4 +22,11 @@ export interface Open {
|
|
|
17
22
|
* @returns true if the value implements Open, false otherwise
|
|
18
23
|
*/
|
|
19
24
|
export declare function guard(value: unknown): value is RequiredType<Open>;
|
|
25
|
+
/**
|
|
26
|
+
* Convert an OpenType to an Open instance.
|
|
27
|
+
*
|
|
28
|
+
* @param type the OpenType to convert
|
|
29
|
+
* @return the Open instance
|
|
30
|
+
*/
|
|
31
|
+
export declare function typeToOpen(type: OpenType): Open;
|
|
20
32
|
//# sourceMappingURL=Open.d.ts.map
|
package/api/Open.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Open.d.ts","sourceRoot":"","sources":["../../src/api/Open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Open.d.ts","sourceRoot":"","sources":["../../src/api/Open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAmB,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,QAAQ,EAA0B,MAAM,sCAAsC,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,IAAI;IAEnB;;;OAGG;IACH,IAAI,IAAI,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,aAAa,CAAC,CAAC;AAE/D;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAc/C"}
|
package/api/Open.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.guard = guard;
|
|
4
|
-
|
|
4
|
+
exports.typeToOpen = typeToOpen;
|
|
5
|
+
const AutoClose_1 = require("@jonloucks/contracts-ts/api/AutoClose");
|
|
6
|
+
const AutoOpen_1 = require("@jonloucks/contracts-ts/api/AutoOpen");
|
|
7
|
+
const Types_1 = require("@jonloucks/contracts-ts/api/Types");
|
|
5
8
|
/**
|
|
6
9
|
* Duck-typing check for Open interface.
|
|
7
10
|
*
|
|
@@ -11,4 +14,28 @@ const Types_1 = require("./Types");
|
|
|
11
14
|
function guard(value) {
|
|
12
15
|
return (0, Types_1.guardFunctions)(value, 'open');
|
|
13
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Convert an OpenType to an Open instance.
|
|
19
|
+
*
|
|
20
|
+
* @param type the OpenType to convert
|
|
21
|
+
* @return the Open instance
|
|
22
|
+
*/
|
|
23
|
+
function typeToOpen(type) {
|
|
24
|
+
if ((0, AutoOpen_1.guard)(type)) {
|
|
25
|
+
return {
|
|
26
|
+
open: () => type.autoOpen()
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
else if (guard(type)) {
|
|
30
|
+
return type;
|
|
31
|
+
}
|
|
32
|
+
else if ((0, Types_1.isFunction)(type)) {
|
|
33
|
+
return {
|
|
34
|
+
open: () => (0, AutoClose_1.typeToAutoClose)(type())
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
throw new Error("Invalid Open type.");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
14
41
|
//# sourceMappingURL=Open.js.map
|
package/api/Open.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Open.js","sourceRoot":"","sources":["../../src/api/Open.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Open.js","sourceRoot":"","sources":["../../src/api/Open.ts"],"names":[],"mappings":";;AA4BA,sBAEC;AAQD,gCAcC;AApDD,qEAAkG;AAClG,mEAAwF;AACxF,6DAA+E;AAoB/E;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,IAAA,sBAAc,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,IAAc;IACvC,IAAI,IAAA,gBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;SAC5B,CAAA;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAA,2BAAe,EAAC,IAAI,EAAE,CAAC;SACpC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;AACH,CAAC"}
|
package/api/Repository.d.ts
CHANGED
|
@@ -4,6 +4,20 @@ import { BindStrategy } from "@jonloucks/contracts-ts/api/BindStrategy";
|
|
|
4
4
|
import { Contract } from "@jonloucks/contracts-ts/api/Contract";
|
|
5
5
|
import { PromisorType } from "@jonloucks/contracts-ts/api/Promisor";
|
|
6
6
|
import { RequiredType } from "@jonloucks/contracts-ts/api/Types";
|
|
7
|
+
import { Contracts } from "./Contracts";
|
|
8
|
+
/**
|
|
9
|
+
* Configuration for Repository
|
|
10
|
+
*/
|
|
11
|
+
export interface Config {
|
|
12
|
+
/**
|
|
13
|
+
* Optional Contracts container for the Repository
|
|
14
|
+
*/
|
|
15
|
+
contracts?: Contracts;
|
|
16
|
+
/**
|
|
17
|
+
* Optional required contracts for the Repository
|
|
18
|
+
*/
|
|
19
|
+
requiredContracts?: Contract<unknown>[];
|
|
20
|
+
}
|
|
7
21
|
/**
|
|
8
22
|
* A repository for multiple contract promisors
|
|
9
23
|
* This is an opt-in feature to simplify the managing of many contract bindings.
|
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,IAAI,EAAsB,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAkB,YAAY,EAAE,MAAM,mCAAmC,CAAC;
|
|
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,IAAI,EAAsB,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAkB,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,MAAM;IAErB;;OAEG;IACH,SAAS,CAAC,EAAG,SAAS,CAAC;IAEvB;;OAEG;IACH,iBAAiB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAW,SAAQ,IAAI;IAEtC;;;;;;;;;;;;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,YAAY,CAAC,UAAU,CAAC,CAEvE"}
|
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":";;AA+EA,sBAEC;AAhFD,2DAA4E;AAI5E,6DAAiF;AAoEjF;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,IAAA,sBAAc,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,IAAA,YAAS,EAAC,KAAK,CAAC,CAAC;AACxF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Contract } from "@jonloucks/contracts-ts/api/Contract";
|
|
2
|
-
import { Repository } from "@jonloucks/contracts-ts/api/Repository";
|
|
2
|
+
import { Repository, Config } from "@jonloucks/contracts-ts/api/Repository";
|
|
3
3
|
import { RequiredType } from "@jonloucks/contracts-ts/api/Types";
|
|
4
4
|
/**
|
|
5
5
|
* Factory interface for creating Repository instances.
|
|
@@ -8,7 +8,7 @@ export interface RepositoryFactory {
|
|
|
8
8
|
/**
|
|
9
9
|
* Create a new Repository instance.
|
|
10
10
|
*/
|
|
11
|
-
createRepository(): RequiredType<Repository>;
|
|
11
|
+
createRepository(config?: Config): RequiredType<Repository>;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Type guard for RepositoryFactory
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepositoryFactory.d.ts","sourceRoot":"","sources":["../../src/api/RepositoryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"RepositoryFactory.d.ts","sourceRoot":"","sources":["../../src/api/RepositoryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAkB,MAAM,mCAAmC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC;;OAEG;IACH,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;CAC7D;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,iBAAiB,CAAC,CAE9E;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAG7D,CAAC"}
|
package/api/Types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../src/api/Types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,SAAS,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAE9F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAEtH;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,CAExE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAErF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,YAAY,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../src/api/Types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,SAAS,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAE9F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAEtH;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,CAExE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAErF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,YAAY,CAAC,eAAe,CAAC,CAgB5H;AAUD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CASnG"}
|
package/api/Types.js
CHANGED
|
@@ -120,12 +120,15 @@ function isConstructor(value) {
|
|
|
120
120
|
* @returns true if property is defined
|
|
121
121
|
*/
|
|
122
122
|
function guardFunctions(value, ...propertyNames) {
|
|
123
|
-
if (
|
|
123
|
+
if (isObject(value) === false) {
|
|
124
124
|
return false;
|
|
125
125
|
}
|
|
126
126
|
const record = value;
|
|
127
127
|
for (const propertyName of propertyNames) {
|
|
128
|
-
if (
|
|
128
|
+
if (propertyName in value === false) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
if (isFunction(record[propertyName]) === false) {
|
|
129
132
|
return false;
|
|
130
133
|
}
|
|
131
134
|
}
|
package/api/Types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Types.js","sourceRoot":"","sources":["../../src/api/Types.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA2CH,8BAEC;AAQD,oCAEC;AAOD,gCAEC;AASD,kDAEC;AAOD,4BAEC;AAQD,4BAEC;AAOD,4BAEC;AAOD,4BAEC;AAOD,8BAEC;AAOD,4BAEC;AAOD,sCAEC;AAUD,
|
|
1
|
+
{"version":3,"file":"Types.js","sourceRoot":"","sources":["../../src/api/Types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,8 @@ import { RequiredType } from "@jonloucks/contracts-ts/api/Types";
|
|
|
2
2
|
import { AtomicBoolean } from "@jonloucks/contracts-ts/auxiliary/AtomicBoolean";
|
|
3
3
|
import { AtomicReference } from "@jonloucks/contracts-ts/auxiliary/AtomicReference";
|
|
4
4
|
import { AtomicInteger } from "@jonloucks/contracts-ts/auxiliary/AtomicInteger";
|
|
5
|
-
|
|
6
|
-
export { AtomicReference
|
|
7
|
-
export { AtomicInteger } from "@jonloucks/contracts-ts/auxiliary/AtomicInteger";
|
|
5
|
+
import { Idempotent, Config as IdempotentConfig } from "@jonloucks/contracts-ts/auxiliary/Idempotent";
|
|
6
|
+
export { AtomicBoolean, AtomicReference, AtomicInteger, RequiredType, Idempotent, IdempotentConfig };
|
|
8
7
|
/**
|
|
9
8
|
* @module Convenience
|
|
10
9
|
* @description
|
|
@@ -39,4 +38,11 @@ export declare function createAtomicReference<T>(initialValue?: T): RequiredType
|
|
|
39
38
|
* @returns the AtomicInteger instance
|
|
40
39
|
*/
|
|
41
40
|
export declare function createAtomicInteger(initialValue?: number): RequiredType<AtomicInteger>;
|
|
41
|
+
/**
|
|
42
|
+
* Create an Idempotent via the shared global CONTRACTS instance.
|
|
43
|
+
*
|
|
44
|
+
* @param config the idempotent configuration
|
|
45
|
+
* @returns the Idempotent instance
|
|
46
|
+
*/
|
|
47
|
+
export declare function createIdempotent(config: IdempotentConfig): RequiredType<Idempotent>;
|
|
42
48
|
//# sourceMappingURL=Convenience.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Convenience.d.ts","sourceRoot":"","sources":["../../src/auxiliary/Convenience.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"Convenience.d.ts","sourceRoot":"","sources":["../../src/auxiliary/Convenience.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAMjE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEtG,OAAO,EAAE,aAAa,EAAG,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAEtG;;;;;;;;;;;;GAYG;AAEH;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAEvF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE3F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAEtF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC,CAEnF"}
|
package/auxiliary/Convenience.js
CHANGED
|
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createAtomicBoolean = createAtomicBoolean;
|
|
4
4
|
exports.createAtomicReference = createAtomicReference;
|
|
5
5
|
exports.createAtomicInteger = createAtomicInteger;
|
|
6
|
+
exports.createIdempotent = createIdempotent;
|
|
6
7
|
const contracts_ts_1 = require("@jonloucks/contracts-ts");
|
|
7
8
|
const AtomicBooleanFactory_1 = require("@jonloucks/contracts-ts/auxiliary/AtomicBooleanFactory");
|
|
8
9
|
const AtomicReferenceFactory_1 = require("@jonloucks/contracts-ts/auxiliary/AtomicReferenceFactory");
|
|
9
10
|
const AtomicIntegerFactory_1 = require("@jonloucks/contracts-ts/auxiliary/AtomicIntegerFactory");
|
|
11
|
+
const IdempotentFactory_1 = require("@jonloucks/contracts-ts/auxiliary/IdempotentFactory");
|
|
10
12
|
/**
|
|
11
13
|
* @module Convenience
|
|
12
14
|
* @description
|
|
@@ -47,4 +49,13 @@ function createAtomicReference(initialValue) {
|
|
|
47
49
|
function createAtomicInteger(initialValue) {
|
|
48
50
|
return contracts_ts_1.CONTRACTS.enforce(AtomicIntegerFactory_1.CONTRACT).createAtomicInteger(initialValue);
|
|
49
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Create an Idempotent via the shared global CONTRACTS instance.
|
|
54
|
+
*
|
|
55
|
+
* @param config the idempotent configuration
|
|
56
|
+
* @returns the Idempotent instance
|
|
57
|
+
*/
|
|
58
|
+
function createIdempotent(config) {
|
|
59
|
+
return contracts_ts_1.CONTRACTS.enforce(IdempotentFactory_1.CONTRACT).createIdempotent(config);
|
|
60
|
+
}
|
|
50
61
|
//# sourceMappingURL=Convenience.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Convenience.js","sourceRoot":"","sources":["../../src/auxiliary/Convenience.ts"],"names":[],"mappings":";;AAiCA,kDAEC;AAQD,sDAEC;AAQD,kDAEC;
|
|
1
|
+
{"version":3,"file":"Convenience.js","sourceRoot":"","sources":["../../src/auxiliary/Convenience.ts"],"names":[],"mappings":";;AAiCA,kDAEC;AAQD,sDAEC;AAQD,kDAEC;AAQD,4CAEC;AAhED,0DAAoD;AACpD,iGAAqG;AACrG,qGAAyG;AACzG,iGAAqG;AACrG,2FAAqG;AAQrG;;;;;;;;;;;;GAYG;AAEH;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,YAAsB;IACxD,OAAO,wBAAS,CAAC,OAAO,CAAC,+BAAe,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAI,YAAgB;IACvD,OAAO,wBAAS,CAAC,OAAO,CAAC,iCAAiB,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAClF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,YAAqB;IACvD,OAAO,wBAAS,CAAC,OAAO,CAAC,+BAAe,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,MAAwB;IACvD,OAAO,wBAAS,CAAC,OAAO,CAAC,4BAAkB,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The possible states of an Idempotent
|
|
3
|
+
*/
|
|
4
|
+
export declare const STATES: readonly ["OPENABLE", "OPENING", "OPENED", "CLOSING", "CLOSED", "DESTROYED"];
|
|
5
|
+
/** The possible states of an Idempotent */
|
|
6
|
+
export type State = typeof STATES[number];
|
|
7
|
+
/** The IdempotentState type */
|
|
8
|
+
export { State as IdempotentState };
|
|
9
|
+
/** The starting state for an Idempotent */
|
|
10
|
+
export declare const START_STATE: State;
|
|
11
|
+
//# sourceMappingURL=IdempotenState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdempotenState.d.ts","sourceRoot":"","sources":["../../src/auxiliary/IdempotenState.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,MAAM,8EAA+E,CAAC;AAEnG,2CAA2C;AAC3C,MAAM,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAE1C,+BAA+B;AAC/B,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC;AAEpC,2CAA2C;AAC3C,eAAO,MAAM,WAAW,EAAE,KAAkB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.START_STATE = exports.STATES = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The possible states of an Idempotent
|
|
6
|
+
*/
|
|
7
|
+
exports.STATES = ['OPENABLE', 'OPENING', 'OPENED', 'CLOSING', 'CLOSED', 'DESTROYED'];
|
|
8
|
+
/** The starting state for an Idempotent */
|
|
9
|
+
exports.START_STATE = 'OPENABLE';
|
|
10
|
+
//# sourceMappingURL=IdempotenState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdempotenState.js","sourceRoot":"","sources":["../../src/auxiliary/IdempotenState.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,MAAM,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC;AAQnG,2CAA2C;AAC9B,QAAA,WAAW,GAAU,UAAU,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Open, OpenType } from "@jonloucks/contracts-ts/api/Open";
|
|
2
|
+
import { State } from "@jonloucks/contracts-ts/auxiliary/IdempotenState";
|
|
3
|
+
import { Contracts } from "@jonloucks/contracts-ts/api/Contracts";
|
|
4
|
+
import { RequiredType } from "@jonloucks/contracts-ts/api/Types";
|
|
5
|
+
/**
|
|
6
|
+
* The configuration used to create a new Idempotent instance
|
|
7
|
+
*/
|
|
8
|
+
export interface Config {
|
|
9
|
+
/** The Contracts instance to use */
|
|
10
|
+
contracts?: Contracts;
|
|
11
|
+
/** The Open type to use when opening the Idempotent */
|
|
12
|
+
open: OpenType;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The Idempotent API
|
|
16
|
+
*/
|
|
17
|
+
export interface Idempotent extends Open {
|
|
18
|
+
/**
|
|
19
|
+
* Get the current state of the Idempotent
|
|
20
|
+
*
|
|
21
|
+
* @return the current state
|
|
22
|
+
*/
|
|
23
|
+
getState(): State;
|
|
24
|
+
/**
|
|
25
|
+
* Determine if the Idempotent is open
|
|
26
|
+
*
|
|
27
|
+
* @return true if the Idempotent is open
|
|
28
|
+
*/
|
|
29
|
+
isOpen(): boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Determine if an instance implements Idempotent
|
|
33
|
+
*
|
|
34
|
+
* @param instance the instance to check
|
|
35
|
+
* @returns true if the instance implements Idempotent
|
|
36
|
+
*/
|
|
37
|
+
export declare function guard(instance: unknown): instance is RequiredType<Idempotent>;
|
|
38
|
+
//# sourceMappingURL=Idempotent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Idempotent.d.ts","sourceRoot":"","sources":["../../src/auxiliary/Idempotent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAkB,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,MAAM;IAErB,oCAAoC;IACpC,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,uDAAuD;IACvD,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,IAAI;IAEtC;;;;OAIG;IACH,QAAQ,IAAI,KAAK,CAAC;IAElB;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,UAAU,CAAC,CAM7E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.guard = guard;
|
|
4
|
+
const Types_1 = require("@jonloucks/contracts-ts/api/Types");
|
|
5
|
+
/**
|
|
6
|
+
* Determine if an instance implements Idempotent
|
|
7
|
+
*
|
|
8
|
+
* @param instance the instance to check
|
|
9
|
+
* @returns true if the instance implements Idempotent
|
|
10
|
+
*/
|
|
11
|
+
function guard(instance) {
|
|
12
|
+
return (0, Types_1.guardFunctions)(instance, 'getState', 'open', 'isOpen');
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=Idempotent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Idempotent.js","sourceRoot":"","sources":["../../src/auxiliary/Idempotent.ts"],"names":[],"mappings":";;AA2CA,sBAMC;AA9CD,6DAAiF;AAkCjF;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACrC,OAAO,IAAA,sBAAc,EAAC,QAAQ,EAC5B,UAAU,EACV,MAAM,EACN,QAAQ,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Contract } from "@jonloucks/contracts-ts/api/Contract";
|
|
2
|
+
import { RequiredType } from "@jonloucks/contracts-ts/api/Types";
|
|
3
|
+
import { Idempotent, Config } from "@jonloucks/contracts-ts/auxiliary/Idempotent";
|
|
4
|
+
/**
|
|
5
|
+
* Idempotent Factory
|
|
6
|
+
*/
|
|
7
|
+
export interface IdempotentFactory {
|
|
8
|
+
/**
|
|
9
|
+
* Create a new {@link Idempotent} using the provided configuration.
|
|
10
|
+
*
|
|
11
|
+
* @param config configuration for the idempotent; invalid or null/undefined values are not allowed
|
|
12
|
+
* @returns an {@link Idempotent} instance created from the given configuration
|
|
13
|
+
* @throws Error if the configuration is invalid or the idempotent cannot be created
|
|
14
|
+
*/
|
|
15
|
+
createIdempotent(config: Config): RequiredType<Idempotent>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Determine if the given instance is a IdempotentFactory
|
|
19
|
+
*
|
|
20
|
+
* @param instance the instance to check
|
|
21
|
+
* @return true if the instance is a IdempotentFactory
|
|
22
|
+
*/
|
|
23
|
+
export declare function guard(instance: unknown): instance is RequiredType<IdempotentFactory>;
|
|
24
|
+
/**
|
|
25
|
+
* Contract for IdempotentFactory
|
|
26
|
+
*/
|
|
27
|
+
export declare const CONTRACT: Contract<IdempotentFactory>;
|
|
28
|
+
//# sourceMappingURL=IdempotentFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdempotentFactory.d.ts","sourceRoot":"","sources":["../../src/auxiliary/IdempotentFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAkB,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;CAC5D;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,iBAAiB,CAAC,CAEpF;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAG/C,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONTRACT = void 0;
|
|
4
|
+
exports.guard = guard;
|
|
5
|
+
const RatifiedContract_1 = require("@jonloucks/contracts-ts/api/RatifiedContract");
|
|
6
|
+
const Types_1 = require("@jonloucks/contracts-ts/api/Types");
|
|
7
|
+
/**
|
|
8
|
+
* Determine if the given instance is a IdempotentFactory
|
|
9
|
+
*
|
|
10
|
+
* @param instance the instance to check
|
|
11
|
+
* @return true if the instance is a IdempotentFactory
|
|
12
|
+
*/
|
|
13
|
+
function guard(instance) {
|
|
14
|
+
return (0, Types_1.guardFunctions)(instance, 'createIdempotent');
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Contract for IdempotentFactory
|
|
18
|
+
*/
|
|
19
|
+
exports.CONTRACT = (0, RatifiedContract_1.create)({
|
|
20
|
+
name: "IdempotentFactory",
|
|
21
|
+
test: guard
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=IdempotentFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdempotentFactory.js","sourceRoot":"","sources":["../../src/auxiliary/IdempotentFactory.ts"],"names":[],"mappings":";;;AA0BA,sBAEC;AA5BD,mFAAwF;AAExF,6DAAiF;AAkBjF;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACrC,OAAO,IAAA,sBAAc,EAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACU,QAAA,QAAQ,GAAgC,IAAA,yBAAc,EAAC;IAClE,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,KAAK;CACZ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contracts.impl.d.ts","sourceRoot":"","sources":["../../src/impl/Contracts.impl.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAgB,YAAY,EAAa,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"Contracts.impl.d.ts","sourceRoot":"","sources":["../../src/impl/Contracts.impl.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAgB,YAAY,EAAa,MAAM,mCAAmC,CAAC;AAY1F;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAE9D"}
|