@jonloucks/contracts-ts 1.0.2 → 1.0.4

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.
@@ -20,6 +20,13 @@ export interface AtomicBoolean {
20
20
  * @return true if successful. False return indicates that the actual value was not equal to the expected value.
21
21
  */
22
22
  compareAndSet(expectedValue: boolean, newValue: boolean): boolean;
23
+ /**
24
+ * Atomically sets to the given value and returns the previous value.
25
+ *
26
+ * @param newValue the new value
27
+ * @return the previous value
28
+ */
29
+ getAndSet(newValue: boolean): boolean;
23
30
  /**
24
31
  * Helpful method for converting to primitive types.
25
32
  * @param hint
@@ -1 +1 @@
1
- {"version":3,"file":"AtomicBoolean.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,mCAAmC,CAAC;AAEjF;;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"}
1
+ {"version":3,"file":"AtomicBoolean.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,mCAAmC,CAAC;AAEjF;;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;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAEtC;;;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"}
@@ -9,6 +9,6 @@ const Types_1 = require("@jonloucks/contracts-ts/api/Types");
9
9
  * @returns true if the instance implements AtomicBoolean
10
10
  */
11
11
  function guard(instance) {
12
- return (0, Types_1.guardFunctions)(instance, "compareAndSet", "get", "set");
12
+ return (0, Types_1.guardFunctions)(instance, "compareAndSet", "get", "set", "getAndSet");
13
13
  }
14
14
  //# sourceMappingURL=AtomicBoolean.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AtomicBoolean.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicBoolean.ts"],"names":[],"mappings":";;AAwCA,sBAEC;AA1CD,6DAAiF;AAkCjF;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,OAAO,IAAA,sBAAc,EAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"AtomicBoolean.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicBoolean.ts"],"names":[],"mappings":";;AAgDA,sBAEC;AAlDD,6DAAiF;AA0CjF;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,OAAO,IAAA,sBAAc,EAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAChF,CAAC"}
@@ -29,6 +29,13 @@ export interface AtomicInteger {
29
29
  * @return the updated value
30
30
  */
31
31
  decrementAndGet(): number;
32
+ /**
33
+ * Atomically sets to the given value and returns the previous value.
34
+ *
35
+ * @param newValue the new value
36
+ * @return the previous value
37
+ */
38
+ getAndSet(newValue: number): number;
32
39
  /**
33
40
  * Helpful method for converting to primitive types.
34
41
  * @param hint primitive hint
@@ -1 +1 @@
1
- {"version":3,"file":"AtomicInteger.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicInteger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,mCAAmC,CAAC;AAEjF;;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"}
1
+ {"version":3,"file":"AtomicInteger.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicInteger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,mCAAmC,CAAC;AAEjF;;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;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAEpC;;;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"}
@@ -9,6 +9,6 @@ const Types_1 = require("@jonloucks/contracts-ts/api/Types");
9
9
  * @returns true if the instance implements AtomicInteger
10
10
  */
11
11
  function guard(instance) {
12
- return (0, Types_1.guardFunctions)(instance, "compareAndSet", "incrementAndGet", "decrementAndGet", "get", "set");
12
+ return (0, Types_1.guardFunctions)(instance, "compareAndSet", "incrementAndGet", "decrementAndGet", "getAndSet", "get", "set");
13
13
  }
14
14
  //# sourceMappingURL=AtomicInteger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AtomicInteger.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicInteger.ts"],"names":[],"mappings":";;AAmDA,sBAEC;AArDD,6DAAiF;AA6CjF;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,OAAO,IAAA,sBAAc,EAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACzG,CAAC"}
1
+ {"version":3,"file":"AtomicInteger.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicInteger.ts"],"names":[],"mappings":";;AA2DA,sBAEC;AA7DD,6DAAiF;AAqDjF;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAiB;IACnC,OAAO,IAAA,sBAAc,EAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACtH,CAAC"}
@@ -1,4 +1,11 @@
1
1
  import { OptionalType, RequiredType } from "@jonloucks/contracts-ts/api/Types";
2
+ /**
3
+ * @module auxiliary/AtomicReference
4
+ * @description
5
+ *
6
+ * AtomicReference is not truly atomic in this implementation due to JavaScript/TypeScript limitations.
7
+ * However, it provides a thread-safe interface for reference operations using standard object equality.
8
+ */
2
9
  /**
3
10
  * Responsibility: An atomic reference interface for thread-safe reference operations.
4
11
  * Note: typescript limitations prevent full atomicity guarantees.
@@ -20,6 +27,13 @@ export interface AtomicReference<T> {
20
27
  * @return true if successful. False return indicates that the actual value was not equal to the expected value.
21
28
  */
22
29
  compareAndSet(expectedValue: OptionalType<T>, newValue: OptionalType<T>): boolean;
30
+ /**
31
+ * Atomically sets to the given value and returns the previous value.
32
+ *
33
+ * @param newValue the new value
34
+ * @return the previous value
35
+ */
36
+ getAndSet(newValue: OptionalType<T>): OptionalType<T>;
23
37
  }
24
38
  /**
25
39
  * Type guard for AtomicReference interface.
@@ -1 +1 @@
1
- {"version":3,"file":"AtomicReference.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mCAAmC,CAAC;AAE/F;;;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"}
1
+ {"version":3,"file":"AtomicReference.d.ts","sourceRoot":"","sources":["../../src/auxiliary/AtomicReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAkB,MAAM,mCAAmC,CAAC;AAE/F;;;;;;GAMG;AAEH;;;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;IAElF;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;CACzD;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAExF"}
@@ -9,6 +9,6 @@ const Types_1 = require("@jonloucks/contracts-ts/api/Types");
9
9
  * @returns true if the instance implements AtomicReference
10
10
  */
11
11
  function guard(instance) {
12
- return (0, Types_1.guardFunctions)(instance, "compareAndSet", "get", "set");
12
+ return (0, Types_1.guardFunctions)(instance, "compareAndSet", "getAndSet", "get", "set");
13
13
  }
14
14
  //# sourceMappingURL=AtomicReference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AtomicReference.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicReference.ts"],"names":[],"mappings":";;AAkCA,sBAEC;AApCD,6DAA+F;AA4B/F;;;;;GAKG;AACH,SAAgB,KAAK,CAAI,QAAiB;IACtC,OAAO,IAAA,sBAAc,EAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"AtomicReference.js","sourceRoot":"","sources":["../../src/auxiliary/AtomicReference.ts"],"names":[],"mappings":";;AAkDA,sBAEC;AApDD,6DAA+F;AA4C/F;;;;;GAKG;AACH,SAAgB,KAAK,CAAI,QAAiB;IACtC,OAAO,IAAA,sBAAc,EAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAChF,CAAC"}
@@ -24,19 +24,19 @@ export { AtomicInteger } from "@jonloucks/contracts-ts/auxiliary/AtomicInteger";
24
24
  * @param initialValue the initial boolean value
25
25
  * @returns the AtomicBoolean instance
26
26
  */
27
- export declare function createAtomicBoolean(initialValue: boolean): RequiredType<AtomicBoolean>;
27
+ export declare function createAtomicBoolean(initialValue?: boolean): RequiredType<AtomicBoolean>;
28
28
  /**
29
29
  * Create an AtomicReference via the shared global CONTRACTS instance.
30
30
  *
31
31
  * @param initialValue the initial reference value
32
32
  * @returns the AtomicReference instance
33
33
  */
34
- export declare function createAtomicReference<T>(initialValue: T): RequiredType<AtomicReference<T>>;
34
+ export declare function createAtomicReference<T>(initialValue?: T): RequiredType<AtomicReference<T>>;
35
35
  /**
36
36
  * Create an AtomicInteger via the shared global CONTRACTS instance.
37
37
  *
38
38
  * @param initialValue the initial integer value
39
39
  * @returns the AtomicInteger instance
40
40
  */
41
- export declare function createAtomicInteger(initialValue: number): RequiredType<AtomicInteger>;
41
+ export declare function createAtomicInteger(initialValue?: number): RequiredType<AtomicInteger>;
42
42
  //# 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;AAKjE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF;;;;;;;;;;;;GAYG;AAEH;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAEtF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE1F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAErF"}
1
+ {"version":3,"file":"Convenience.d.ts","sourceRoot":"","sources":["../../src/auxiliary/Convenience.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAKjE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF;;;;;;;;;;;;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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Convenience.js","sourceRoot":"","sources":["../../src/auxiliary/Convenience.ts"],"names":[],"mappings":";;AAiCA,kDAEC;AAQD,sDAEC;AAQD,kDAEC;AAtDD,0DAAoD;AACpD,iGAAqG;AACrG,qGAAyG;AACzG,iGAAqG;AASrG;;;;;;;;;;;;GAYG;AAEH;;;;;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,qBAAqB,CAAI,YAAe;IACtD,OAAO,wBAAS,CAAC,OAAO,CAAC,iCAAiB,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAClF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,YAAoB;IACtD,OAAO,wBAAS,CAAC,OAAO,CAAC,+BAAe,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"Convenience.js","sourceRoot":"","sources":["../../src/auxiliary/Convenience.ts"],"names":[],"mappings":";;AAiCA,kDAEC;AAQD,sDAEC;AAQD,kDAEC;AAtDD,0DAAoD;AACpD,iGAAqG;AACrG,qGAAyG;AACzG,iGAAqG;AASrG;;;;;;;;;;;;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"}
@@ -43,6 +43,14 @@ class AtomicBooleanImpl {
43
43
  // Atomics.compareExchange checks value and sets it if it matches expectation
44
44
  return Atomics.compareExchange(this.array, 0, expectedVal, newTargetVal) === expectedVal;
45
45
  }
46
+ /**
47
+ * AtomicBoolean.getAndSet override
48
+ */
49
+ getAndSet(newValue) {
50
+ const newTargetVal = booleanToNumber(newValue);
51
+ const previousVal = Atomics.exchange(this.array, 0, newTargetVal);
52
+ return previousVal === TRUE_AS_NUMBER;
53
+ }
46
54
  /**
47
55
  * [Symbol.toPrimitive] override
48
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AtomicBoolean.impl.js","sourceRoot":"","sources":["../../src/impl/AtomicBoolean.impl.ts"],"names":[],"mappings":";;AASA,wBAEC;AARD;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,YAAsB;IAC3C,OAAO,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,yCAAyC;AAEzC,MAAM,eAAe,GAAW,CAAC,CAAC;AAClC,MAAM,cAAc,GAAW,CAAC,CAAC;AAEjC,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB;IAErB;;OAEG;IACH,GAAG;QACD,2CAA2C;QAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,KAAc;QAChB,4CAA4C;QAC5C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAiB,EAAE,QAAiB;QAChD,MAAM,WAAW,GAAW,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,YAAY,GAAW,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEvD,6EAA6E;QAC7E,OAAO,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,KAAK,WAAW,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY;QAC/B,MAAM,KAAK,GAAY,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,QAAQ;gBACX,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;YAChC;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,YAAsB;QAC1C,OAAO,IAAI,iBAAiB,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,YAAoB,YAAqB;QAIxB,WAAM,GAAsB,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACrD,UAAK,GAAe,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAJ/D,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC;CAIF"}
1
+ {"version":3,"file":"AtomicBoolean.impl.js","sourceRoot":"","sources":["../../src/impl/AtomicBoolean.impl.ts"],"names":[],"mappings":";;AASA,wBAEC;AARD;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,YAAsB;IAC3C,OAAO,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,yCAAyC;AAEzC,MAAM,eAAe,GAAW,CAAC,CAAC;AAClC,MAAM,cAAc,GAAW,CAAC,CAAC;AAEjC,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB;IAErB;;OAEG;IACH,GAAG;QACD,2CAA2C;QAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,KAAc;QAChB,4CAA4C;QAC5C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAiB,EAAE,QAAiB;QAChD,MAAM,WAAW,GAAW,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,YAAY,GAAW,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEvD,6EAA6E;QAC7E,OAAO,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,KAAK,WAAW,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAiB;QACzB,MAAM,YAAY,GAAW,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,WAAW,GAAW,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;QAC1E,OAAO,WAAW,KAAK,cAAc,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY;QAC/B,MAAM,KAAK,GAAY,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,QAAQ;gBACX,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;YAChC;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,YAAsB;QAC1C,OAAO,IAAI,iBAAiB,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,YAAoB,YAAqB;QAIxB,WAAM,GAAsB,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACrD,UAAK,GAAe,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAJ/D,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC;CAIF"}
@@ -46,6 +46,12 @@ class AtomicIntegerImpl {
46
46
  const current = Atomics.compareExchange(this.array, 0, expectedValue, newValue);
47
47
  return current === expectedValue;
48
48
  }
49
+ /**
50
+ * AtomicInteger.getAndSet override
51
+ */
52
+ getAndSet(newValue) {
53
+ return Atomics.exchange(this.array, 0, newValue);
54
+ }
49
55
  /**
50
56
  * Object.toString override
51
57
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AtomicInteger.impl.js","sourceRoot":"","sources":["../../src/impl/AtomicInteger.impl.ts"],"names":[],"mappings":";;AASA,wBAEC;AARD;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,YAAqB;IAC1C,OAAO,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,yCAAyC;AAEzC;;GAEG;AACH,MAAM,iBAAiB;IAErB;;OAEG;IACH,eAAe;QACb,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,KAAa;QACf,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,aAAqB,EAAE,QAAgB;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAChF,OAAO,OAAO,KAAK,aAAa,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY;QAC/B,MAAM,KAAK,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,SAAS;gBACZ,OAAO,KAAK,KAAK,CAAC,CAAC;YACrB;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,YAAqB;QACzC,OAAO,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,YAAoB,eAAuB,CAAC;QAI3B,WAAM,GAAsB,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACrD,UAAK,GAAe,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAJ/D,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC;CAIF"}
1
+ {"version":3,"file":"AtomicInteger.impl.js","sourceRoot":"","sources":["../../src/impl/AtomicInteger.impl.ts"],"names":[],"mappings":";;AASA,wBAEC;AARD;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,YAAqB;IAC1C,OAAO,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,yCAAyC;AAEzC;;GAEG;AACH,MAAM,iBAAiB;IAErB;;OAEG;IACH,eAAe;QACb,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,KAAa;QACf,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,aAAqB,EAAE,QAAgB;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAChF,OAAO,OAAO,KAAK,aAAa,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAgB;QACxB,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY;QAC/B,MAAM,KAAK,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,SAAS;gBACZ,OAAO,KAAK,KAAK,CAAC,CAAC;YACrB;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,YAAqB;QACzC,OAAO,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,YAAoB,eAAuB,CAAC;QAI3B,WAAM,GAAsB,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACrD,UAAK,GAAe,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAJ/D,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC;CAIF"}
@@ -23,6 +23,10 @@ export declare class AtomicReferenceImpl<T> implements AtomicReference<T> {
23
23
  * AtomicReference.compareAndSet override
24
24
  */
25
25
  compareAndSet(expectedValue: OptionalType<T>, newValue: OptionalType<T>): boolean;
26
+ /**
27
+ * AtomicReference.getAndSet override
28
+ */
29
+ getAndSet(newValue: OptionalType<T>): OptionalType<T>;
26
30
  /**
27
31
  * Object.toString override
28
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AtomicReference.impl.d.ts","sourceRoot":"","sources":["../../src/impl/AtomicReference.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE1F;AAID;;GAEG;AACH,qBAAa,mBAAmB,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAE/D;;OAEG;IACH,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC;IAItB;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAIpC;;OAEG;IACH,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO;IASjF;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAI5E,OAAO;IAIP,OAAO,CAAC,KAAK,CAAkB;CAChC"}
1
+ {"version":3,"file":"AtomicReference.impl.d.ts","sourceRoot":"","sources":["../../src/impl/AtomicReference.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAE1F;AAID;;GAEG;AACH,qBAAa,mBAAmB,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAE/D;;OAEG;IACH,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC;IAItB;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAIpC;;OAEG;IACH,aAAa,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO;IASjF;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAMrD;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAI5E,OAAO;IAIP,OAAO,CAAC,KAAK,CAAkB;CAChC"}
@@ -40,6 +40,14 @@ class AtomicReferenceImpl {
40
40
  return false;
41
41
  }
42
42
  }
43
+ /**
44
+ * AtomicReference.getAndSet override
45
+ */
46
+ getAndSet(newValue) {
47
+ const previousValue = this.value;
48
+ this.value = newValue;
49
+ return previousValue;
50
+ }
43
51
  /**
44
52
  * Object.toString override
45
53
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AtomicReference.impl.js","sourceRoot":"","sources":["../../src/impl/AtomicReference.impl.ts"],"names":[],"mappings":";;;AASA,wBAEC;AARD;;;;;GAKG;AACH,SAAgB,MAAM,CAAI,YAA8B;IACtD,OAAO,mBAAmB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,yCAAyC;AAEzC;;GAEG;AACH,MAAa,mBAAmB;IAE9B;;OAEG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,QAAyB;QAC3B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,aAA8B,EAAE,QAAyB;QACrE,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,aAAa,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,cAAc,CAAI,YAA8B;QACrD,OAAO,IAAI,mBAAmB,CAAI,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,YAAoB,YAA8B;QAChD,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;IAC5B,CAAC;CAGF;AA5CD,kDA4CC"}
1
+ {"version":3,"file":"AtomicReference.impl.js","sourceRoot":"","sources":["../../src/impl/AtomicReference.impl.ts"],"names":[],"mappings":";;;AASA,wBAEC;AARD;;;;;GAKG;AACH,SAAgB,MAAM,CAAI,YAA8B;IACtD,OAAO,mBAAmB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,yCAAyC;AAEzC;;GAEG;AACH,MAAa,mBAAmB;IAE9B;;OAEG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,QAAyB;QAC3B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,aAA8B,EAAE,QAAyB;QACrE,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAyB;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,aAAa,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,cAAc,CAAI,YAA8B;QACrD,OAAO,IAAI,mBAAmB,CAAI,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,YAAoB,YAA8B;QAChD,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;IAC5B,CAAC;CAGF;AArDD,kDAqDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jonloucks/contracts-ts",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Typescript Dependency Contracts for dependency inversion",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
package/version.js CHANGED
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = exports.NAME = void 0;
4
4
  // generated file - do not edit
5
5
  exports.NAME = "@jonloucks/contracts-ts";
6
- exports.VERSION = "1.0.2";
6
+ exports.VERSION = "1.0.4";
7
7
  //# sourceMappingURL=version.js.map