@jonloucks/concurrency-ts 0.4.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 +248 -0
- package/api/Completable.d.ts +51 -0
- package/api/Completable.d.ts.map +1 -0
- package/api/Completable.js +11 -0
- package/api/Completable.js.map +1 -0
- package/api/CompletableFactory.d.ts +29 -0
- package/api/CompletableFactory.d.ts.map +1 -0
- package/api/CompletableFactory.js +19 -0
- package/api/CompletableFactory.js.map +1 -0
- package/api/Completion.d.ts +18 -0
- package/api/Completion.d.ts.map +1 -0
- package/api/Completion.js +2 -0
- package/api/Completion.js.map +1 -0
- package/api/CompletionNotify.d.ts +23 -0
- package/api/CompletionNotify.d.ts.map +1 -0
- package/api/CompletionNotify.js +11 -0
- package/api/CompletionNotify.js.map +1 -0
- package/api/CompletionState.d.ts +35 -0
- package/api/CompletionState.d.ts.map +1 -0
- package/api/CompletionState.js +64 -0
- package/api/CompletionState.js.map +1 -0
- package/api/Concurrency.d.ts +90 -0
- package/api/Concurrency.d.ts.map +1 -0
- package/api/Concurrency.js +19 -0
- package/api/Concurrency.js.map +1 -0
- package/api/ConcurrencyException.d.ts +27 -0
- package/api/ConcurrencyException.d.ts.map +1 -0
- package/api/ConcurrencyException.js +53 -0
- package/api/ConcurrencyException.js.map +1 -0
- package/api/ConcurrencyFactory.d.ts +41 -0
- package/api/ConcurrencyFactory.d.ts.map +1 -0
- package/api/ConcurrencyFactory.js +19 -0
- package/api/ConcurrencyFactory.js.map +1 -0
- package/api/IsCompleted.d.ts +20 -0
- package/api/IsCompleted.d.ts.map +1 -0
- package/api/IsCompleted.js +11 -0
- package/api/IsCompleted.js.map +1 -0
- package/api/OnCompletion.d.ts +23 -0
- package/api/OnCompletion.d.ts.map +1 -0
- package/api/OnCompletion.js +12 -0
- package/api/OnCompletion.js.map +1 -0
- package/api/Rule.d.ts +28 -0
- package/api/Rule.d.ts.map +1 -0
- package/api/Rule.js +11 -0
- package/api/Rule.js.map +1 -0
- package/api/StateMachine.d.ts +95 -0
- package/api/StateMachine.d.ts.map +1 -0
- package/api/StateMachine.js +13 -0
- package/api/StateMachine.js.map +1 -0
- package/api/StateMachineFactory.d.ts +29 -0
- package/api/StateMachineFactory.d.ts.map +1 -0
- package/api/StateMachineFactory.js +19 -0
- package/api/StateMachineFactory.js.map +1 -0
- package/api/TimeoutException.d.ts +21 -0
- package/api/TimeoutException.d.ts.map +1 -0
- package/api/TimeoutException.js +27 -0
- package/api/TimeoutException.js.map +1 -0
- package/api/Transition.d.ts +44 -0
- package/api/Transition.d.ts.map +1 -0
- package/api/Transition.js +11 -0
- package/api/Transition.js.map +1 -0
- package/api/Types.d.ts +27 -0
- package/api/Types.d.ts.map +1 -0
- package/api/Types.js +28 -0
- package/api/Types.js.map +1 -0
- package/api/Waitable.d.ts +39 -0
- package/api/Waitable.d.ts.map +1 -0
- package/api/Waitable.js +17 -0
- package/api/Waitable.js.map +1 -0
- package/api/WaitableConsumer.d.ts +54 -0
- package/api/WaitableConsumer.d.ts.map +1 -0
- package/api/WaitableConsumer.js +11 -0
- package/api/WaitableConsumer.js.map +1 -0
- package/api/WaitableFactory.d.ts +29 -0
- package/api/WaitableFactory.d.ts.map +1 -0
- package/api/WaitableFactory.js +19 -0
- package/api/WaitableFactory.js.map +1 -0
- package/api/WaitableNotify.d.ts +31 -0
- package/api/WaitableNotify.d.ts.map +1 -0
- package/api/WaitableNotify.js +12 -0
- package/api/WaitableNotify.js.map +1 -0
- package/api/WaitableSupplier.d.ts +53 -0
- package/api/WaitableSupplier.d.ts.map +1 -0
- package/api/WaitableSupplier.js +11 -0
- package/api/WaitableSupplier.js.map +1 -0
- package/auxiliary/Checks.d.ts +116 -0
- package/auxiliary/Checks.d.ts.map +1 -0
- package/auxiliary/Checks.js +145 -0
- package/auxiliary/Checks.js.map +1 -0
- package/auxiliary/Consumer.d.ts +45 -0
- package/auxiliary/Consumer.d.ts.map +1 -0
- package/auxiliary/Consumer.js +45 -0
- package/auxiliary/Consumer.js.map +1 -0
- package/auxiliary/Predicate.d.ts +55 -0
- package/auxiliary/Predicate.d.ts.map +1 -0
- package/auxiliary/Predicate.js +73 -0
- package/auxiliary/Predicate.js.map +1 -0
- package/auxiliary/Supplier.d.ts +52 -0
- package/auxiliary/Supplier.d.ts.map +1 -0
- package/auxiliary/Supplier.js +67 -0
- package/auxiliary/Supplier.js.map +1 -0
- package/impl/Completable.impl.d.ts +10 -0
- package/impl/Completable.impl.d.ts.map +1 -0
- package/impl/Completable.impl.js +136 -0
- package/impl/Completable.impl.js.map +1 -0
- package/impl/CompletableFactory.impl.d.ts +9 -0
- package/impl/CompletableFactory.impl.d.ts.map +1 -0
- package/impl/CompletableFactory.impl.js +42 -0
- package/impl/CompletableFactory.impl.js.map +1 -0
- package/impl/CompleteLater.impl.d.ts +12 -0
- package/impl/CompleteLater.impl.d.ts.map +1 -0
- package/impl/CompleteLater.impl.js +31 -0
- package/impl/CompleteLater.impl.js.map +1 -0
- package/impl/CompleteNow.impl.d.ts +14 -0
- package/impl/CompleteNow.impl.d.ts.map +1 -0
- package/impl/CompleteNow.impl.js +33 -0
- package/impl/CompleteNow.impl.js.map +1 -0
- package/impl/Concurrency.impl.d.ts +9 -0
- package/impl/Concurrency.impl.d.ts.map +1 -0
- package/impl/Concurrency.impl.js +84 -0
- package/impl/Concurrency.impl.js.map +1 -0
- package/impl/ConcurrencyFactory.impl.d.ts +10 -0
- package/impl/ConcurrencyFactory.impl.d.ts.map +1 -0
- package/impl/ConcurrencyFactory.impl.js +74 -0
- package/impl/ConcurrencyFactory.impl.js.map +1 -0
- package/impl/ConcurrencyWrapper.impl.d.ts +13 -0
- package/impl/ConcurrencyWrapper.impl.d.ts.map +1 -0
- package/impl/ConcurrencyWrapper.impl.js +85 -0
- package/impl/ConcurrencyWrapper.impl.js.map +1 -0
- package/impl/Events.d.ts +25 -0
- package/impl/Events.d.ts.map +1 -0
- package/impl/Events.impl.d.ts +11 -0
- package/impl/Events.impl.d.ts.map +1 -0
- package/impl/Events.impl.js +63 -0
- package/impl/Events.impl.js.map +1 -0
- package/impl/Events.js +3 -0
- package/impl/Events.js.map +1 -0
- package/impl/ExposedPromise.d.ts +26 -0
- package/impl/ExposedPromise.d.ts.map +1 -0
- package/impl/ExposedPromise.impl.d.ts +9 -0
- package/impl/ExposedPromise.impl.d.ts.map +1 -0
- package/impl/ExposedPromise.impl.js +41 -0
- package/impl/ExposedPromise.impl.js.map +1 -0
- package/impl/ExposedPromise.js +2 -0
- package/impl/ExposedPromise.js.map +1 -0
- package/impl/Internal.impl.d.ts +35 -0
- package/impl/Internal.impl.d.ts.map +1 -0
- package/impl/Internal.impl.js +90 -0
- package/impl/Internal.impl.js.map +1 -0
- package/impl/StateMachine.impl.d.ts +9 -0
- package/impl/StateMachine.impl.d.ts.map +1 -0
- package/impl/StateMachine.impl.js +184 -0
- package/impl/StateMachine.impl.js.map +1 -0
- package/impl/StateMachineFactory.impl.d.ts +9 -0
- package/impl/StateMachineFactory.impl.d.ts.map +1 -0
- package/impl/StateMachineFactory.impl.js +43 -0
- package/impl/StateMachineFactory.impl.js.map +1 -0
- package/impl/Waitable.impl.d.ts +8 -0
- package/impl/Waitable.impl.d.ts.map +1 -0
- package/impl/Waitable.impl.js +212 -0
- package/impl/Waitable.impl.js.map +1 -0
- package/impl/WaitableFactory.impl.d.ts +9 -0
- package/impl/WaitableFactory.impl.d.ts.map +1 -0
- package/impl/WaitableFactory.impl.js +42 -0
- package/impl/WaitableFactory.impl.js.map +1 -0
- package/index.d.ts +25 -0
- package/index.d.ts.map +1 -0
- package/index.js +33 -0
- package/index.js.map +1 -0
- package/package.json +88 -0
- package/version.d.ts +3 -0
- package/version.d.ts.map +1 -0
- package/version.js +4 -0
- package/version.js.map +1 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
+
};
|
|
12
|
+
var _WaitableImpl_isOpen, _WaitableImpl_reference, _WaitableImpl_valueObservers;
|
|
13
|
+
import { ConcurrencyException } from "@jonloucks/concurrency-ts/api/ConcurrencyException";
|
|
14
|
+
import { fromType as consumerFromType } from "@jonloucks/concurrency-ts/auxiliary/Consumer";
|
|
15
|
+
import { fromType as predicateFromType } from "@jonloucks/concurrency-ts/auxiliary/Predicate";
|
|
16
|
+
import { fromType as supplierFromType } from "@jonloucks/concurrency-ts/auxiliary/Supplier";
|
|
17
|
+
import { createAtomicBoolean, createAtomicReference } from "@jonloucks/contracts-ts/auxiliary/Convenience";
|
|
18
|
+
import { IllegalStateException } from "@jonloucks/contracts-ts/auxiliary/IllegalStateException";
|
|
19
|
+
import { AUTO_CLOSE_NONE, inlineAutoClose } from "@jonloucks/contracts-ts/api/AutoClose";
|
|
20
|
+
import { create as createExposedPromise } from "./ExposedPromise.impl.js";
|
|
21
|
+
import { Internal } from "./Internal.impl.js";
|
|
22
|
+
/**
|
|
23
|
+
* Create a new Waitable
|
|
24
|
+
*
|
|
25
|
+
* @return the new Waitable
|
|
26
|
+
*/
|
|
27
|
+
export function create(config) {
|
|
28
|
+
return WaitableImpl.internalCreate(config);
|
|
29
|
+
}
|
|
30
|
+
;
|
|
31
|
+
const CLOSED_EXCEPTION = new ConcurrencyException("Waitable is closed.");
|
|
32
|
+
class WaitableImpl {
|
|
33
|
+
open() {
|
|
34
|
+
if (__classPrivateFieldGet(this, _WaitableImpl_isOpen, "f").compareAndSet(false, true)) {
|
|
35
|
+
return inlineAutoClose(() => {
|
|
36
|
+
if (__classPrivateFieldGet(this, _WaitableImpl_isOpen, "f").compareAndSet(true, false)) {
|
|
37
|
+
this.closeAllListeners();
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return AUTO_CLOSE_NONE;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
;
|
|
46
|
+
// WaitableSupplier.supply implementations
|
|
47
|
+
supply() {
|
|
48
|
+
const value = __classPrivateFieldGet(this, _WaitableImpl_reference, "f").get();
|
|
49
|
+
// if (value === undefined || value === null) {
|
|
50
|
+
// throw new IllegalStateException("No value is currently available in Waitable.");
|
|
51
|
+
// }
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
// WaitableSupplier.supplyIf implementation
|
|
55
|
+
supplyIf(predicate) {
|
|
56
|
+
const validPredicate = predicateFromType(predicate);
|
|
57
|
+
const currentValue = __classPrivateFieldGet(this, _WaitableImpl_reference, "f").get();
|
|
58
|
+
if (validPredicate.test(currentValue)) {
|
|
59
|
+
return currentValue;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// WaitableSupplier.supplyWhen implementation
|
|
66
|
+
async supplyWhen(predicate, timeout) {
|
|
67
|
+
if (!this.isOpen()) {
|
|
68
|
+
return Promise.reject(CLOSED_EXCEPTION);
|
|
69
|
+
}
|
|
70
|
+
const validPredicate = predicateFromType(predicate);
|
|
71
|
+
const firstNotify = createAtomicBoolean(true);
|
|
72
|
+
const exposedPromise = createExposedPromise();
|
|
73
|
+
const removeListener = (v) => {
|
|
74
|
+
__classPrivateFieldGet(this, _WaitableImpl_valueObservers, "f").delete(v);
|
|
75
|
+
};
|
|
76
|
+
const valueObserver = {
|
|
77
|
+
observeValue: function (value) {
|
|
78
|
+
if (validPredicate.test(value) && firstNotify.getAndSet(false)) {
|
|
79
|
+
removeListener(this);
|
|
80
|
+
exposedPromise.resolve(value);
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
close: function () {
|
|
84
|
+
removeListener(this);
|
|
85
|
+
exposedPromise.reject(CLOSED_EXCEPTION);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
// maybe have the timeout delete the observer as well
|
|
89
|
+
const returnPromise = Internal.wrapPromiseWithTimeout(exposedPromise.getPromise(), timeout);
|
|
90
|
+
__classPrivateFieldGet(this, _WaitableImpl_valueObservers, "f").add(valueObserver);
|
|
91
|
+
valueObserver.observeValue(this.supply());
|
|
92
|
+
return returnPromise;
|
|
93
|
+
}
|
|
94
|
+
// WaitableConsumer.consume implementations
|
|
95
|
+
consume(value) {
|
|
96
|
+
this.setValue(supplierFromType(value).supply());
|
|
97
|
+
}
|
|
98
|
+
// WaitableConsumer.consumeIf implementation
|
|
99
|
+
consumeIf(predicate, value) {
|
|
100
|
+
const validPredicate = predicateFromType(predicate);
|
|
101
|
+
const validValueSupplier = supplierFromType(value);
|
|
102
|
+
const currentValue = __classPrivateFieldGet(this, _WaitableImpl_reference, "f").get();
|
|
103
|
+
if (validPredicate.test(currentValue)) {
|
|
104
|
+
const newValue = validValueSupplier.supply();
|
|
105
|
+
this.setValue(newValue);
|
|
106
|
+
return newValue;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// WaitableConsumer.consumeWhen implementation
|
|
113
|
+
async consumeWhen(predicate, value, timeout) {
|
|
114
|
+
if (!this.isOpen()) {
|
|
115
|
+
return Promise.reject(CLOSED_EXCEPTION);
|
|
116
|
+
}
|
|
117
|
+
const validPredicate = predicateFromType(predicate);
|
|
118
|
+
const validValueSupplier = supplierFromType(value);
|
|
119
|
+
const firstNotify = createAtomicBoolean(true);
|
|
120
|
+
const exposedPromise = createExposedPromise();
|
|
121
|
+
const removeListener = (v) => {
|
|
122
|
+
__classPrivateFieldGet(this, _WaitableImpl_valueObservers, "f").delete(v);
|
|
123
|
+
};
|
|
124
|
+
const setTheValue = (v) => {
|
|
125
|
+
this.setValue(v);
|
|
126
|
+
};
|
|
127
|
+
const valueObserver = {
|
|
128
|
+
observeValue: function (value) {
|
|
129
|
+
if (validPredicate.test(value) && firstNotify.getAndSet(false)) {
|
|
130
|
+
const suppliedValue = validValueSupplier.supply();
|
|
131
|
+
setTheValue(suppliedValue);
|
|
132
|
+
removeListener(this);
|
|
133
|
+
exposedPromise.resolve(suppliedValue);
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
close: function () {
|
|
137
|
+
removeListener(this);
|
|
138
|
+
exposedPromise.reject(CLOSED_EXCEPTION);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
const returnPromise = Internal.wrapPromiseWithTimeout(exposedPromise.getPromise(), timeout);
|
|
142
|
+
__classPrivateFieldGet(this, _WaitableImpl_valueObservers, "f").add(valueObserver);
|
|
143
|
+
valueObserver.observeValue(this.supply());
|
|
144
|
+
return returnPromise;
|
|
145
|
+
}
|
|
146
|
+
// WaitableNotify.notifyWhile implementation
|
|
147
|
+
notifyWhile(predicate, listener) {
|
|
148
|
+
this.assertOpen();
|
|
149
|
+
const validPredicate = predicateFromType(predicate);
|
|
150
|
+
const notifyCallback = consumerFromType(listener);
|
|
151
|
+
const firstClose = createAtomicBoolean(true);
|
|
152
|
+
const isLive = createAtomicBoolean(true);
|
|
153
|
+
const removeListener = (v) => {
|
|
154
|
+
__classPrivateFieldGet(this, _WaitableImpl_valueObservers, "f").delete(v);
|
|
155
|
+
};
|
|
156
|
+
const valueObserver = {
|
|
157
|
+
observeValue: function (value) {
|
|
158
|
+
if (!isLive.get() || !validPredicate.test(value)) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
notifyCallback.consume(value);
|
|
162
|
+
},
|
|
163
|
+
close: function () {
|
|
164
|
+
if (firstClose.compareAndSet(true, false)) {
|
|
165
|
+
isLive.set(false);
|
|
166
|
+
removeListener(this);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
__classPrivateFieldGet(this, _WaitableImpl_valueObservers, "f").add(valueObserver);
|
|
171
|
+
valueObserver.observeValue(this.supply());
|
|
172
|
+
return inlineAutoClose(() => {
|
|
173
|
+
valueObserver.close();
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
static internalCreate(config) {
|
|
177
|
+
return new WaitableImpl(config);
|
|
178
|
+
}
|
|
179
|
+
constructor(config) {
|
|
180
|
+
_WaitableImpl_isOpen.set(this, createAtomicBoolean(false));
|
|
181
|
+
_WaitableImpl_reference.set(this, void 0);
|
|
182
|
+
_WaitableImpl_valueObservers.set(this, new Set());
|
|
183
|
+
const actualConfig = config ? config : {};
|
|
184
|
+
__classPrivateFieldSet(this, _WaitableImpl_reference, createAtomicReference(actualConfig.initialValue), "f");
|
|
185
|
+
}
|
|
186
|
+
isOpen() {
|
|
187
|
+
return __classPrivateFieldGet(this, _WaitableImpl_isOpen, "f").get();
|
|
188
|
+
}
|
|
189
|
+
setValue(newValue) {
|
|
190
|
+
const oldValue = __classPrivateFieldGet(this, _WaitableImpl_reference, "f").getAndSet(newValue);
|
|
191
|
+
if (oldValue !== newValue) {
|
|
192
|
+
this.notifyListeners(newValue);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
notifyListeners(newValue) {
|
|
196
|
+
for (const valueObserver of __classPrivateFieldGet(this, _WaitableImpl_valueObservers, "f")) {
|
|
197
|
+
valueObserver.observeValue(newValue);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
closeAllListeners() {
|
|
201
|
+
for (const valueObserver of __classPrivateFieldGet(this, _WaitableImpl_valueObservers, "f")) {
|
|
202
|
+
valueObserver.close();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
assertOpen() {
|
|
206
|
+
if (!__classPrivateFieldGet(this, _WaitableImpl_isOpen, "f").get()) {
|
|
207
|
+
throw new IllegalStateException("Waitable must be open.");
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
_WaitableImpl_isOpen = new WeakMap(), _WaitableImpl_reference = new WeakMap(), _WaitableImpl_valueObservers = new WeakMap();
|
|
212
|
+
//# sourceMappingURL=Waitable.impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Waitable.impl.js","sourceRoot":"","sources":["../../src/impl/Waitable.impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { WaitableFactory } from "@jonloucks/concurrency-ts/api/WaitableFactory";
|
|
2
|
+
import { Config as ConcurrencyConfig } from "@jonloucks/concurrency-ts/api/Concurrency";
|
|
3
|
+
/**
|
|
4
|
+
* Create a new WaitableFactory
|
|
5
|
+
*
|
|
6
|
+
* @return the new WaitableFactory
|
|
7
|
+
*/
|
|
8
|
+
export declare function create(config: ConcurrencyConfig): WaitableFactory;
|
|
9
|
+
//# sourceMappingURL=WaitableFactory.impl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WaitableFactory.impl.d.ts","sourceRoot":"","sources":["../../src/impl/WaitableFactory.impl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAa,MAAM,2CAA2C,CAAC;AAKnG;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAEjE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
+
};
|
|
12
|
+
var _WaitableFactoryImpl_concurrencyConfig;
|
|
13
|
+
import { create as createWaitableImpl } from "./Waitable.impl.js";
|
|
14
|
+
import { Internal } from "./Internal.impl.js";
|
|
15
|
+
/**
|
|
16
|
+
* Create a new WaitableFactory
|
|
17
|
+
*
|
|
18
|
+
* @return the new WaitableFactory
|
|
19
|
+
*/
|
|
20
|
+
export function create(config) {
|
|
21
|
+
return WaitableFactoryImpl.internalCreate(config);
|
|
22
|
+
}
|
|
23
|
+
// ---- Implementation details below ----
|
|
24
|
+
class WaitableFactoryImpl {
|
|
25
|
+
createWaitable(config) {
|
|
26
|
+
const validConfig = config ?? {};
|
|
27
|
+
const contracts = Internal.resolveContracts(validConfig, __classPrivateFieldGet(this, _WaitableFactoryImpl_concurrencyConfig, "f"));
|
|
28
|
+
const finalConfig = { ...validConfig, contracts: contracts };
|
|
29
|
+
return createWaitableImpl(finalConfig);
|
|
30
|
+
}
|
|
31
|
+
static internalCreate(config) {
|
|
32
|
+
return new WaitableFactoryImpl(config);
|
|
33
|
+
}
|
|
34
|
+
constructor(config) {
|
|
35
|
+
_WaitableFactoryImpl_concurrencyConfig.set(this, void 0);
|
|
36
|
+
const contracts = Internal.resolveContracts(config);
|
|
37
|
+
__classPrivateFieldSet(this, _WaitableFactoryImpl_concurrencyConfig, { ...config, contracts: contracts }, "f");
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
_WaitableFactoryImpl_concurrencyConfig = new WeakMap();
|
|
41
|
+
;
|
|
42
|
+
//# sourceMappingURL=WaitableFactory.impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WaitableFactory.impl.js","sourceRoot":"","sources":["../../src/impl/WaitableFactory.impl.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,OAAO,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,MAAyB;IAC9C,OAAO,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,yCAAyC;AAEzC,MAAM,mBAAmB;IACvB,cAAc,CAAI,MAA0B;QAC1C,MAAM,WAAW,GAAG,MAAM,IAAI,EAAE,CAAC;QACjC,MAAM,SAAS,GAAc,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,uBAAA,IAAI,8CAAmB,CAAC,CAAC;QAC7F,MAAM,WAAW,GAAsB,EAAE,GAAG,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAChF,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,MAAyB;QAC7C,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,YAAoB,MAAyB;QAKpC,yDAAsC;QAJ7C,MAAM,SAAS,GAAc,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC/D,uBAAA,IAAI,0CAAsB,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAA,CAAC;IAChE,CAAC;CAGF;;AAAA,CAAC"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ConcurrencyException } from "@jonloucks/concurrency-ts/api/ConcurrencyException";
|
|
2
|
+
import { create as createConcurrencyFactory } from "./impl/ConcurrencyFactory.impl.js";
|
|
3
|
+
import { VERSION } from "./version.js";
|
|
4
|
+
import { Concurrency, ConcurrencyConfig, CONTRACT as CONCURRENCY_CONTRACT } from "@jonloucks/concurrency-ts/api/Concurrency";
|
|
5
|
+
import { ConcurrencyFactory } from "@jonloucks/concurrency-ts/api/ConcurrencyFactory";
|
|
6
|
+
/**
|
|
7
|
+
* A shared global ConcurrencyFactory instance.
|
|
8
|
+
*/
|
|
9
|
+
declare const CONCURRENCY_FACTORY: ConcurrencyFactory;
|
|
10
|
+
/**
|
|
11
|
+
* Create a new Concurrency instance
|
|
12
|
+
* @param config the Concurrency Config
|
|
13
|
+
*
|
|
14
|
+
* @return the new Concurrency instance
|
|
15
|
+
*/
|
|
16
|
+
declare function createConcurrency(config?: ConcurrencyConfig): Concurrency;
|
|
17
|
+
/**
|
|
18
|
+
* A shared global Concurrency instance.
|
|
19
|
+
*/
|
|
20
|
+
declare const CONCURRENCY: Concurrency;
|
|
21
|
+
/**
|
|
22
|
+
* concurrency-ts main index exports
|
|
23
|
+
*/
|
|
24
|
+
export { VERSION, type Concurrency, type ConcurrencyConfig, type ConcurrencyFactory, ConcurrencyException, createConcurrencyFactory, createConcurrency, CONCURRENCY, CONCURRENCY_CONTRACT, CONCURRENCY_FACTORY };
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,MAAM,IAAI,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAEtF;;GAEG;AACH,QAAA,MAAM,mBAAmB,EAAE,kBAAiD,CAAC;AAE7E;;;;;GAKG;AACH,iBAAS,iBAAiB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAElE;AAED;;GAEG;AACH,QAAA,MAAM,WAAW,EAAG,WAOhB,CAAC;AAEL;;GAEG;AACH,OAAO,EACL,OAAO,EACP,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACpB,CAAC"}
|
package/index.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ConcurrencyException } from "@jonloucks/concurrency-ts/api/ConcurrencyException";
|
|
2
|
+
import { create as createConcurrencyFactory } from "./impl/ConcurrencyFactory.impl.js";
|
|
3
|
+
import { VERSION } from "./version.js";
|
|
4
|
+
import { CONTRACT as CONCURRENCY_CONTRACT } from "@jonloucks/concurrency-ts/api/Concurrency";
|
|
5
|
+
/**
|
|
6
|
+
* A shared global ConcurrencyFactory instance.
|
|
7
|
+
*/
|
|
8
|
+
const CONCURRENCY_FACTORY = createConcurrencyFactory({});
|
|
9
|
+
/**
|
|
10
|
+
* Create a new Concurrency instance
|
|
11
|
+
* @param config the Concurrency Config
|
|
12
|
+
*
|
|
13
|
+
* @return the new Concurrency instance
|
|
14
|
+
*/
|
|
15
|
+
function createConcurrency(config) {
|
|
16
|
+
return CONCURRENCY_FACTORY.createConcurrency(config);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A shared global Concurrency instance.
|
|
20
|
+
*/
|
|
21
|
+
const CONCURRENCY = (() => {
|
|
22
|
+
const globalConfig = {
|
|
23
|
+
shutdownEvents: ['exit']
|
|
24
|
+
};
|
|
25
|
+
const concurrency = createConcurrency(globalConfig);
|
|
26
|
+
concurrency.open(); // closed on exit
|
|
27
|
+
return concurrency;
|
|
28
|
+
})();
|
|
29
|
+
/**
|
|
30
|
+
* concurrency-ts main index exports
|
|
31
|
+
*/
|
|
32
|
+
export { VERSION, ConcurrencyException, createConcurrencyFactory, createConcurrency, CONCURRENCY, CONCURRENCY_CONTRACT, CONCURRENCY_FACTORY };
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,MAAM,IAAI,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAkC,QAAQ,IAAI,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAG7H;;GAEG;AACH,MAAM,mBAAmB,GAAuB,wBAAwB,CAAC,EAAE,CAAC,CAAC;AAE7E;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,MAA0B;IACnD,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,WAAW,GAAiB,CAAC,GAAiB,EAAE;IAClD,MAAM,YAAY,GAAuB;QACvC,cAAc,EAAE,CAAC,MAAM,CAAC;KACzB,CAAC;IACF,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACpD,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,iBAAiB;IACrC,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC,EAAE,CAAC;AAEL;;GAEG;AACH,OAAO,EACL,OAAO,EAIP,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACpB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jonloucks/concurrency-ts",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "TypeScript asynchronous concurrency library with Waitables, Completables, and State Machines",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "index.js",
|
|
7
|
+
"types": "index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./index.d.ts",
|
|
11
|
+
"import": "./index.js",
|
|
12
|
+
"default": "./index.js"
|
|
13
|
+
},
|
|
14
|
+
"./version": {
|
|
15
|
+
"types": "./version.d.ts",
|
|
16
|
+
"import": "./version.js",
|
|
17
|
+
"default": "./version.js"
|
|
18
|
+
},
|
|
19
|
+
"./api/*": {
|
|
20
|
+
"types": "./api/*.d.ts",
|
|
21
|
+
"import": "./api/*.js",
|
|
22
|
+
"default": "./api/*.js"
|
|
23
|
+
},
|
|
24
|
+
"./auxiliary/*": {
|
|
25
|
+
"types": "./auxiliary/*.d.ts",
|
|
26
|
+
"import": "./auxiliary/*.js",
|
|
27
|
+
"default": "./auxiliary/*.js"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"*",
|
|
32
|
+
"!never-publish/**/*",
|
|
33
|
+
"!**/*.test.*",
|
|
34
|
+
"!**/*.spec.*"
|
|
35
|
+
],
|
|
36
|
+
"scripts": {
|
|
37
|
+
"build": "tsc",
|
|
38
|
+
"test": "tsx --test $(find src -name '*.test.ts')",
|
|
39
|
+
"test:watch": "tsx --test --watch $(find src -name '*.test.ts')",
|
|
40
|
+
"test:coverage": "npx c8 --check-coverage --lines 95 --functions 95 --branches 95 --statements 95 --reporter=lcov npx tsx --test $(find src -name '*.test.ts')",
|
|
41
|
+
"lint": "eslint . --ext .ts",
|
|
42
|
+
"lint:fix": "eslint . --ext .ts --fix",
|
|
43
|
+
"prepublishOnly": "npm run build",
|
|
44
|
+
"before:publish": "npm run clean && npm run compile && cp package.json dist && cp README.md dist && cd dist && npm pkg delete private",
|
|
45
|
+
"after:publish": "npm run clean",
|
|
46
|
+
"prepare": "npm run build",
|
|
47
|
+
"docs": "typedoc --options typedoc.json",
|
|
48
|
+
"badges": "npx badges-ts generate",
|
|
49
|
+
"discover": "npx badges-ts discover",
|
|
50
|
+
"clean": "rm -rf dist",
|
|
51
|
+
"compile": "tsc",
|
|
52
|
+
"postversion": "npm run applyversion",
|
|
53
|
+
"applyversion": "npx badges-ts apply-version",
|
|
54
|
+
"pack-package": "npm run before:publish && mkdir -p packs && cd dist && npm pack && mv *.tgz ../packs/ && npm run after:publish"
|
|
55
|
+
},
|
|
56
|
+
"keywords": [
|
|
57
|
+
"typescript",
|
|
58
|
+
"concurrency",
|
|
59
|
+
"statemachine",
|
|
60
|
+
"asynchronous",
|
|
61
|
+
"waitable",
|
|
62
|
+
"completable",
|
|
63
|
+
"notify"
|
|
64
|
+
],
|
|
65
|
+
"author": "Jon Loucks",
|
|
66
|
+
"license": "MIT",
|
|
67
|
+
"repository": {
|
|
68
|
+
"type": "git",
|
|
69
|
+
"url": "git+https://github.com/jonloucks/concurrency-ts.git"
|
|
70
|
+
},
|
|
71
|
+
"publishConfig": {
|
|
72
|
+
"registry": "https://registry.npmjs.org/"
|
|
73
|
+
},
|
|
74
|
+
"devDependencies": {
|
|
75
|
+
"@jonloucks/badges-ts": "^1.0.3",
|
|
76
|
+
"@types/node": "^25.2.3",
|
|
77
|
+
"@typescript-eslint/eslint-plugin": "^8.56.0",
|
|
78
|
+
"@typescript-eslint/parser": "^8.54.0",
|
|
79
|
+
"c8": "^10.1.3",
|
|
80
|
+
"eslint": "^9.39.2",
|
|
81
|
+
"tsx": "^4.21.0",
|
|
82
|
+
"typedoc": "^0.28.17",
|
|
83
|
+
"typescript": "^5.9.3"
|
|
84
|
+
},
|
|
85
|
+
"dependencies": {
|
|
86
|
+
"@jonloucks/contracts-ts": "^2.0.2"
|
|
87
|
+
}
|
|
88
|
+
}
|
package/version.d.ts
ADDED
package/version.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,IAAI,EAAE,MAAoC,CAAC;AACxD,eAAO,MAAM,OAAO,EAAE,MAAgB,CAAC"}
|
package/version.js
ADDED
package/version.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAW,2BAA2B,CAAC;AACxD,MAAM,CAAC,MAAM,OAAO,GAAW,OAAO,CAAC"}
|