@furystack/utils 3.1.7 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/package.json +21 -8
  2. package/src/debounce.spec.ts +20 -17
  3. package/src/deep-merge.spec.ts +1 -0
  4. package/src/deep-merge.ts +0 -1
  5. package/src/disposable.spec.ts +23 -15
  6. package/src/disposable.ts +0 -2
  7. package/src/observable-value.spec.ts +47 -20
  8. package/src/observable-value.ts +4 -7
  9. package/src/path-helper.spec.ts +1 -0
  10. package/src/path-helper.ts +0 -5
  11. package/src/sleep-async.spec.ts +1 -0
  12. package/src/sleep-async.ts +0 -1
  13. package/src/sort-by.spec.ts +1 -0
  14. package/src/trace.spec.ts +48 -26
  15. package/src/trace.ts +0 -1
  16. package/src/tuple.spec.ts +1 -0
  17. package/src/tuple.ts +0 -1
  18. package/src/value-observer.ts +1 -2
  19. package/types/deep-merge.d.ts +0 -1
  20. package/types/deep-merge.d.ts.map +1 -1
  21. package/types/disposable.d.ts +0 -2
  22. package/types/disposable.d.ts.map +1 -1
  23. package/types/observable-value.d.ts +1 -7
  24. package/types/observable-value.d.ts.map +1 -1
  25. package/types/path-helper.d.ts +0 -5
  26. package/types/path-helper.d.ts.map +1 -1
  27. package/types/sleep-async.d.ts +0 -1
  28. package/types/sleep-async.d.ts.map +1 -1
  29. package/types/trace.d.ts +0 -1
  30. package/types/trace.d.ts.map +1 -1
  31. package/types/tuple.d.ts +0 -1
  32. package/types/tuple.d.ts.map +1 -1
  33. package/types/value-observer.d.ts +1 -2
  34. package/types/value-observer.d.ts.map +1 -1
  35. package/dist/debounce.js +0 -23
  36. package/dist/debounce.js.map +0 -1
  37. package/dist/debounce.spec.js +0 -40
  38. package/dist/debounce.spec.js.map +0 -1
  39. package/dist/deep-merge.js +0 -34
  40. package/dist/deep-merge.js.map +0 -1
  41. package/dist/deep-merge.spec.js +0 -31
  42. package/dist/deep-merge.spec.js.map +0 -1
  43. package/dist/disposable.js +0 -63
  44. package/dist/disposable.js.map +0 -1
  45. package/dist/disposable.spec.js +0 -112
  46. package/dist/disposable.spec.js.map +0 -1
  47. package/dist/index.js +0 -27
  48. package/dist/index.js.map +0 -1
  49. package/dist/observable-value.js +0 -117
  50. package/dist/observable-value.js.map +0 -1
  51. package/dist/observable-value.spec.js +0 -109
  52. package/dist/observable-value.spec.js.map +0 -1
  53. package/dist/path-helper.js +0 -75
  54. package/dist/path-helper.js.map +0 -1
  55. package/dist/path-helper.spec.js +0 -62
  56. package/dist/path-helper.spec.js.map +0 -1
  57. package/dist/sleep-async.js +0 -13
  58. package/dist/sleep-async.js.map +0 -1
  59. package/dist/sleep-async.spec.js +0 -16
  60. package/dist/sleep-async.spec.js.map +0 -1
  61. package/dist/sort-by.js +0 -19
  62. package/dist/sort-by.js.map +0 -1
  63. package/dist/sort-by.spec.js +0 -22
  64. package/dist/sort-by.spec.js.map +0 -1
  65. package/dist/trace.js +0 -131
  66. package/dist/trace.js.map +0 -1
  67. package/dist/trace.spec.js +0 -169
  68. package/dist/trace.spec.js.map +0 -1
  69. package/dist/tuple.js +0 -12
  70. package/dist/tuple.js.map +0 -1
  71. package/dist/tuple.spec.js +0 -9
  72. package/dist/tuple.spec.js.map +0 -1
  73. package/dist/value-observer.js +0 -45
  74. package/dist/value-observer.js.map +0 -1
  75. package/types/debounce.spec.d.ts +0 -5
  76. package/types/debounce.spec.d.ts.map +0 -1
  77. package/types/deep-merge.spec.d.ts +0 -2
  78. package/types/deep-merge.spec.d.ts.map +0 -1
  79. package/types/disposable.spec.d.ts +0 -22
  80. package/types/disposable.spec.d.ts.map +0 -1
  81. package/types/observable-value.spec.d.ts +0 -5
  82. package/types/observable-value.spec.d.ts.map +0 -1
  83. package/types/path-helper.spec.d.ts +0 -5
  84. package/types/path-helper.spec.d.ts.map +0 -1
  85. package/types/sleep-async.spec.d.ts +0 -5
  86. package/types/sleep-async.spec.d.ts.map +0 -1
  87. package/types/sort-by.spec.d.ts +0 -2
  88. package/types/sort-by.spec.d.ts.map +0 -1
  89. package/types/trace.spec.d.ts +0 -2
  90. package/types/trace.spec.d.ts.map +0 -1
  91. package/types/tuple.spec.d.ts +0 -2
  92. package/types/tuple.spec.d.ts.map +0 -1
package/src/tuple.spec.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { tuple } from './tuple'
2
+ import { describe, it, expect } from 'vitest'
2
3
 
3
4
  describe('Tuple', () => {
4
5
  it('Should return a Tuple object', () => {
package/src/tuple.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Factory method for creating a Tuple instance.
3
- *
4
3
  * @param args The argument list to create
5
4
  * @returns alma asd
6
5
  */
@@ -11,7 +11,7 @@ import type { ObservableValue, ValueChangeCallback } from './observable-value'
11
11
  *
12
12
  * const observableValue = new ObservableValue<number>(0);
13
13
  * const observer = observableValue.subscribe((newValue) => {
14
- * console.log("Value changed:", newValue);
14
+ * console.log("Value changed:", newValue);
15
15
  * });
16
16
  *
17
17
  * // To update the value
@@ -21,7 +21,6 @@ import type { ObservableValue, ValueChangeCallback } from './observable-value'
21
21
  * // if you want to dispose the whole observableValue with all of its observers:
22
22
  * observableValue.dispose();
23
23
  * ```
24
- *
25
24
  * @param T This type parameter is the value type to observe
26
25
  */
27
26
  export class ValueObserver<T> implements Disposable {
@@ -6,7 +6,6 @@ export type DeepPartial<T> = {
6
6
  };
7
7
  /**
8
8
  * Deep merge two objects.
9
- *
10
9
  * @param target The source object to be merged
11
10
  * @param sources The source objects
12
11
  * @returns A new instance with the merged values
@@ -1 +1 @@
1
- {"version":3,"file":"deep-merge.d.ts","sourceRoot":"","sources":["../src/deep-merge.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,iEAmBrB,CAAA"}
1
+ {"version":3,"file":"deep-merge.d.ts","sourceRoot":"","sources":["../src/deep-merge.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,SAAS,iEAmBrB,CAAA"}
@@ -34,7 +34,6 @@ export interface Disposable {
34
34
  }
35
35
  /**
36
36
  * Method that accepts an IDisposable resource that will be disposed after the callback
37
- *
38
37
  * @param resource The resource that is used in the callback and will be disposed afterwards
39
38
  * @param callback The callback that will be executed synchrounously before the resource will be disposed
40
39
  * @returns the value that will be returned by the callback method
@@ -42,7 +41,6 @@ export interface Disposable {
42
41
  export declare const using: <T extends Disposable, TReturns>(resource: T, callback: (r: T) => TReturns) => TReturns;
43
42
  /**
44
43
  * Method that accepts an IDisposable resource that will be disposed after the callback
45
- *
46
44
  * @param resource The resource that is used in the callback and will be disposed afterwards
47
45
  * @param callback The callback that will be executed asynchrounously before the resource will be disposed
48
46
  * @returns A promise that will be resolved with a return value after the resource is disposed
@@ -1 +1 @@
1
- {"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../src/disposable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM;AAEN;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,yFAMjB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,2GAYtB,CAAA"}
1
+ {"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../src/disposable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM;AAEN;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpC;AAED;;;;;GAKG;AACH,eAAO,MAAM,KAAK,yFAMjB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,2GAYtB,CAAA"}
@@ -19,7 +19,7 @@ export type ValueChangeCallback<T> = (next: T) => void;
19
19
  * ```ts
20
20
  * const observableValue = new ObservableValue<number>(0);
21
21
  * const observer = observableValue.subscribe((newValue) => {
22
- * console.log("Value changed:", newValue);
22
+ * console.log("Value changed:", newValue);
23
23
  * });
24
24
  * // To update the value
25
25
  * observableValue.setValue(Math.random());
@@ -28,7 +28,6 @@ export type ValueChangeCallback<T> = (next: T) => void;
28
28
  * // if you want to dispose the whole observableValue with all of its observers:
29
29
  * observableValue.dispose();
30
30
  * ```
31
- *
32
31
  * @param T Generic argument to indicate the value type
33
32
  */
34
33
  export declare class ObservableValue<T> implements Disposable {
@@ -42,7 +41,6 @@ export declare class ObservableValue<T> implements Disposable {
42
41
  private currentValue;
43
42
  /**
44
43
  * Subscribes to a value changes
45
- *
46
44
  * @param callback The callback method that will be called on each change
47
45
  * @param getLast Will call the callback with the last known value right after subscription
48
46
  * @returns The ValueObserver instance
@@ -50,26 +48,22 @@ export declare class ObservableValue<T> implements Disposable {
50
48
  subscribe(callback: ValueChangeCallback<T>, getLast?: boolean): ValueObserver<T>;
51
49
  /**
52
50
  * The observer will unsubscribe from the Observable
53
- *
54
51
  * @param observer The ValueObserver instance
55
52
  * @returns if unsubscribing was successfull
56
53
  */
57
54
  unsubscribe(observer: ValueObserver<T>): boolean;
58
55
  /**
59
56
  * Gets the current Value
60
- *
61
57
  * @returns The current value
62
58
  */
63
59
  getValue(): T;
64
60
  /**
65
61
  * Sets a new value and notifies the observers.
66
- *
67
62
  * @param newValue The new value to be set
68
63
  */
69
64
  setValue(newValue: T): void;
70
65
  /**
71
66
  * Gets the observers
72
- *
73
67
  * @returns The subscribed observers
74
68
  */
75
69
  getObservers(): readonly ValueObserver<T>[];
@@ -1 +1 @@
1
- {"version":3,"file":"observable-value.d.ts","sourceRoot":"","sources":["../src/observable-value.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;;CAIxD;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,UAAU;IACnD,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,OAAO,CAAC,WAAW,CAAQ;IAE3B;;OAEG;IACI,OAAO;IAId,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,YAAY,CAAI;IAExB;;;;;;OAMG;IACI,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,OAAO,UAAQ;IASlE;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAI7C;;;;OAIG;IACI,QAAQ,IAAI,CAAC;IAOpB;;;;OAIG;IACI,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAY3B;;;;OAIG;IACI,YAAY;IAInB;;OAEG;gBACS,YAAY,CAAC,EAAE,CAAC;CAK7B"}
1
+ {"version":3,"file":"observable-value.d.ts","sourceRoot":"","sources":["../src/observable-value.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;;CAIxD;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,UAAU;IACnD,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,OAAO,CAAC,WAAW,CAAQ;IAE3B;;OAEG;IACI,OAAO;IAId,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,YAAY,CAAI;IAExB;;;;;OAKG;IACI,SAAS,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,OAAO,UAAQ;IAYlE;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAI7C;;;OAGG;IACI,QAAQ,IAAI,CAAC;IAOpB;;;OAGG;IACI,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAY3B;;;OAGG;IACI,YAAY;IAInB;;OAEG;gBACS,YAAY,CAAC,EAAE,CAAC;CAK7B"}
@@ -6,7 +6,6 @@
6
6
  export declare class PathHelper {
7
7
  /**
8
8
  * Trims the slash characters from the beginning and from the end of the path to avoid duplicated slashes
9
- *
10
9
  * @param {string} path The source path that should be trimmed
11
10
  * @returns the trimmed path
12
11
  */
@@ -14,21 +13,18 @@ export declare class PathHelper {
14
13
  /**
15
14
  * Splits a full path into path segments,
16
15
  * e.g.: /Root/Example/stuff
17
- *
18
16
  * @param path The path to be splitted
19
17
  * @returns {string[]} the segments for the path
20
18
  */
21
19
  static getSegments(path: string): string[];
22
20
  /**
23
21
  * Method that allows to join paths without multiple or missing slashes
24
- *
25
22
  * @param args The list of the paths to join
26
23
  * @returns the joined path string
27
24
  */
28
25
  static joinPaths(...args: string[]): string;
29
26
  /**
30
27
  * Checks if the ancestorPath is really the ancestor of the descendantPath
31
- *
32
28
  * @param {string} ancestorPath the ancestor path
33
29
  * @param {string} descendantPath the descendant path
34
30
  * @returns {boolean} if the provided path is the ancestor of the descendant
@@ -39,7 +35,6 @@ export declare class PathHelper {
39
35
  * e.g. "/Root/Example/Content" will return "/Root/Example"
40
36
  *
41
37
  * "Root" will always return "Root"
42
- *
43
38
  * @param path The content path
44
39
  * @returns the parent path
45
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"path-helper.d.ts","sourceRoot":"","sources":["../src/path-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,UAAU;IACrB;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM;IAUtC;;;;;;OAMG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAIjD;;;;;OAKG;WACW,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAIzC;;;;;;OAMG;WACW,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IAIjF;;;;;;;;OAQG;WACW,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQnC,SAAS,CAAC,IAAI,EAAE,MAAM;CAGrC"}
1
+ {"version":3,"file":"path-helper.d.ts","sourceRoot":"","sources":["../src/path-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,UAAU;IACrB;;;;OAIG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM;IAUtC;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAIjD;;;;OAIG;WACW,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAIzC;;;;;OAKG;WACW,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IAIjF;;;;;;;OAOG;WACW,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAQnC,SAAS,CAAC,IAAI,EAAE,MAAM;CAGrC"}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Returns a simple promise that will be resolved within a discrete timeout
3
- *
4
3
  * @param timeout The timeout in millisecs
5
4
  */
6
5
  export declare const sleepAsync: (timeout?: number) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"sleep-async.d.ts","sourceRoot":"","sources":["../src/sleep-async.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,UAAU,qCAKpB,CAAA"}
1
+ {"version":3,"file":"sleep-async.d.ts","sourceRoot":"","sources":["../src/sleep-async.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,UAAU,qCAKpB,CAAA"}
package/types/trace.d.ts CHANGED
@@ -111,7 +111,6 @@ export declare class Trace {
111
111
  private static callMethodAsync;
112
112
  /**
113
113
  * Creates an observer that will be observe method calls, finishes and errors
114
- *
115
114
  * @param options The options object for the trace
116
115
  * @returns the trace object that can be disposed after usage
117
116
  */
@@ -1 +1 @@
1
- {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,OAAO,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EAAE,KAAK,SAAS,OAAO,EAAE;IACzG;;OAEG;IACH,MAAM,EAAE,CAAC,CAAA;IACT;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;IACrD;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,CAAA;IAChF;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;IAErD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,KAAK,SAAS,GAAG,EAAE;IAClD;;OAEG;IACH,aAAa,EAAE,IAAI,CAAA;IAEnB;;OAEG;IACH,eAAe,EAAE,KAAK,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,QAAQ,EAAE,KAAK,SAAS,GAAG,EAAE,CAAE,SAAQ,eAAe,CAAC,KAAK,CAAC;IAChG,QAAQ,EAAE,QAAQ,CAAA;IAClB,gBAAgB,EAAE,IAAI,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,GAAG,EAAE,CAAE,SAAQ,eAAe,CAAC,KAAK,CAAC;IACnF,KAAK,EAAE,GAAG,CAAA;IACV,aAAa,EAAE,IAAI,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,QAAQ,EAAE,KAAK,SAAS,GAAG,EAAE;IAC1D;;OAEG;IACH,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAA;IAC5C;;OAEG;IACH,cAAc,EAAE,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;IAEvD,kBAAkB,EAAE,eAAe,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IACpE,eAAe,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;CACvD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAsC;IAEjE,OAAO,CAAC,MAAM,CAAC,cAAc;IAQ7B,OAAO,CAAC,MAAM,CAAC,UAAU;IAazB,OAAO,CAAC,MAAM,CAAC,aAAa;IAe5B,OAAO,CAAC,MAAM,CAAC,UAAU;IAgBzB,OAAO,CAAC,MAAM,CAAC,UAAU;mBAiBJ,eAAe;IAiBpC;;;;;OAKG;WACW,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,SAAS,GAAG,EAAE,EACjG,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAC7C,UAAU;CA0Cd"}
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,OAAO,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EAAE,KAAK,SAAS,OAAO,EAAE;IACzG;;OAEG;IACH,MAAM,EAAE,CAAC,CAAA;IACT;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;IACrD;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,CAAA;IAChF;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;IAErD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,KAAK,SAAS,GAAG,EAAE;IAClD;;OAEG;IACH,aAAa,EAAE,IAAI,CAAA;IAEnB;;OAEG;IACH,eAAe,EAAE,KAAK,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,QAAQ,EAAE,KAAK,SAAS,GAAG,EAAE,CAAE,SAAQ,eAAe,CAAC,KAAK,CAAC;IAChG,QAAQ,EAAE,QAAQ,CAAA;IAClB,gBAAgB,EAAE,IAAI,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,GAAG,EAAE,CAAE,SAAQ,eAAe,CAAC,KAAK,CAAC;IACnF,KAAK,EAAE,GAAG,CAAA;IACV,aAAa,EAAE,IAAI,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,QAAQ,EAAE,KAAK,SAAS,GAAG,EAAE;IAC1D;;OAEG;IACH,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAA;IAC5C;;OAEG;IACH,cAAc,EAAE,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;IAEvD,kBAAkB,EAAE,eAAe,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IACpE,eAAe,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;CACvD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAsC;IAEjE,OAAO,CAAC,MAAM,CAAC,cAAc;IAQ7B,OAAO,CAAC,MAAM,CAAC,UAAU;IAazB,OAAO,CAAC,MAAM,CAAC,aAAa;IAe5B,OAAO,CAAC,MAAM,CAAC,UAAU;IAgBzB,OAAO,CAAC,MAAM,CAAC,UAAU;mBAiBJ,eAAe;IAiBpC;;;;OAIG;WACW,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,SAAS,GAAG,EAAE,EACjG,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAC7C,UAAU;CA0Cd"}
package/types/tuple.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Factory method for creating a Tuple instance.
3
- *
4
3
  * @param args The argument list to create
5
4
  * @returns alma asd
6
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../src/tuple.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,KAAK,uCAA2C,CAAA"}
1
+ {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../src/tuple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,KAAK,uCAA2C,CAAA"}
@@ -10,7 +10,7 @@ import type { ObservableValue, ValueChangeCallback } from './observable-value';
10
10
  *
11
11
  * const observableValue = new ObservableValue<number>(0);
12
12
  * const observer = observableValue.subscribe((newValue) => {
13
- * console.log("Value changed:", newValue);
13
+ * console.log("Value changed:", newValue);
14
14
  * });
15
15
  *
16
16
  * // To update the value
@@ -20,7 +20,6 @@ import type { ObservableValue, ValueChangeCallback } from './observable-value';
20
20
  * // if you want to dispose the whole observableValue with all of its observers:
21
21
  * observableValue.dispose();
22
22
  * ```
23
- *
24
23
  * @param T This type parameter is the value type to observe
25
24
  */
26
25
  export declare class ValueObserver<T> implements Disposable {
@@ -1 +1 @@
1
- {"version":3,"file":"value-observer.d.ts","sourceRoot":"","sources":["../src/value-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,UAAU;aAarB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IAAS,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAZnG;;OAEG;IACI,OAAO;IAId;;;;OAIG;gBACyB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAS,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;CACpG"}
1
+ {"version":3,"file":"value-observer.d.ts","sourceRoot":"","sources":["../src/value-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE9E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,UAAU;aAarB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IAAS,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAZnG;;OAEG;IACI,OAAO;IAId;;;;OAIG;gBACyB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAS,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;CACpG"}
package/dist/debounce.js DELETED
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.debounce = void 0;
4
- /**
5
- * @param method The method that should be debounced
6
- * @param debounceMs The timeout in millisecs
7
- * @returns a method that wraps the original one with an async debounce
8
- */
9
- const debounce = (method, debounceMs = 250) => {
10
- let timeout;
11
- return ((...args) => {
12
- if (timeout) {
13
- clearTimeout(timeout);
14
- }
15
- timeout = setTimeout(() => {
16
- method(...args);
17
- timeout ?? clearTimeout(timeout);
18
- timeout = undefined;
19
- }, debounceMs);
20
- });
21
- };
22
- exports.debounce = debounce;
23
- //# sourceMappingURL=debounce.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../src/debounce.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACI,MAAM,QAAQ,GAAG,CAAoC,MAAoC,EAAE,UAAU,GAAG,GAAG,EAAE,EAAE;IACpH,IAAI,OAAkD,CAAA;IACtD,OAAO,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;QACzB,IAAI,OAAO,EAAE;YACX,YAAY,CAAC,OAAO,CAAC,CAAA;SACtB;QACD,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;YACf,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAA;YAChC,OAAO,GAAG,SAAS,CAAA;QACrB,CAAC,EAAE,UAAU,CAAC,CAAA;IAChB,CAAC,CAAiC,CAAA;AACpC,CAAC,CAAA;AAZY,QAAA,QAAQ,YAYpB"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.debounceTests = void 0;
4
- const debounce_1 = require("./debounce");
5
- const sleep_async_1 = require("./sleep-async");
6
- /**
7
- * Tests for debounce
8
- */
9
- exports.debounceTests = describe('debounce', () => {
10
- it('Simple method execution', (done) => {
11
- const method = (0, debounce_1.debounce)(() => {
12
- done();
13
- });
14
- method();
15
- });
16
- it('Should be executed once when triggered multiple time in a given range', async () => {
17
- let counter = 0;
18
- const method = (0, debounce_1.debounce)(() => {
19
- counter++;
20
- }, 10);
21
- for (let index = 0; index < 10; index++) {
22
- method();
23
- }
24
- await (0, sleep_async_1.sleepAsync)(300);
25
- expect(counter).toBe(1);
26
- });
27
- it('Should be executed multiple times when triggered multiple times out of a a given range', async () => {
28
- let counter = 0;
29
- const method = (0, debounce_1.debounce)(() => {
30
- counter++;
31
- }, 10);
32
- for (let index = 0; index < 10; index++) {
33
- method();
34
- await (0, sleep_async_1.sleepAsync)(15);
35
- }
36
- await (0, sleep_async_1.sleepAsync)(300);
37
- expect(counter).toBe(10);
38
- });
39
- });
40
- //# sourceMappingURL=debounce.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debounce.spec.js","sourceRoot":"","sources":["../src/debounce.spec.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AACrC,+CAA0C;AAE1C;;GAEG;AACU,QAAA,aAAa,GAAG,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,yBAAyB,EAAE,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE;YAC3B,IAAI,EAAE,CAAA;QACR,CAAC,CAAC,CAAA;QACF,MAAM,EAAE,CAAA;IACV,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,CAAA;QACX,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,EAAE,CAAA;SACT;QACD,MAAM,IAAA,wBAAU,EAAC,GAAG,CAAC,CAAA;QACrB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;QACvG,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE;YAC3B,OAAO,EAAE,CAAA;QACX,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,EAAE,CAAA;YACR,MAAM,IAAA,wBAAU,EAAC,EAAE,CAAC,CAAA;SACrB;QACD,MAAM,IAAA,wBAAU,EAAC,GAAG,CAAC,CAAA;QACrB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deepMerge = void 0;
4
- /**
5
- * Deep merge two objects.
6
- *
7
- * @param target The source object to be merged
8
- * @param sources The source objects
9
- * @returns A new instance with the merged values
10
- */
11
- const deepMerge = (target, ...sources) => {
12
- if (!sources.length) {
13
- return target;
14
- }
15
- const merged = { ...target };
16
- for (const source of sources) {
17
- if (!source) {
18
- continue;
19
- }
20
- const keys = Object.keys(source);
21
- for (const key of keys) {
22
- if (!(source[key] instanceof Array) && typeof source[key] === 'object' && typeof target[key] === 'object') {
23
- merged[key] = (0, exports.deepMerge)(target[key], source[key]);
24
- }
25
- else if (source[key] !== undefined) {
26
- ;
27
- merged[key] = source[key];
28
- }
29
- }
30
- }
31
- return merged;
32
- };
33
- exports.deepMerge = deepMerge;
34
- //# sourceMappingURL=deep-merge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deep-merge.js","sourceRoot":"","sources":["../src/deep-merge.ts"],"names":[],"mappings":";;;AAKA;;;;;;GAMG;AACI,MAAM,SAAS,GAAG,CAAI,MAAS,EAAE,GAAG,OAA0C,EAAE,EAAE;IACvF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,OAAO,MAAM,CAAA;KACd;IACD,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,SAAQ;SACT;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAmB,CAAA;QAClD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;gBACzG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,iBAAS,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;aAClD;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBACpC,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;aACpC;SACF;KACF;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAnBY,QAAA,SAAS,aAmBrB"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const deep_merge_1 = require("./deep-merge");
4
- describe('DeepMerge tests', () => {
5
- it('Should return the target object if no merge sources are defined', () => {
6
- const obj = { a: 1 };
7
- expect((0, deep_merge_1.deepMerge)(obj)).toBe(obj);
8
- });
9
- it('Should merge simple values in one level', () => {
10
- expect((0, deep_merge_1.deepMerge)({ a: 1, b: 0, c: 0 }, { b: 2 }, { c: 3 })).toEqual({ a: 1, b: 2, c: 3 });
11
- });
12
- it('Should skip falsy sources', () => {
13
- expect((0, deep_merge_1.deepMerge)({ a: 1, b: 0, c: 0 }, null, { b: 2 }, { c: 3 })).toEqual({ a: 1, b: 2, c: 3 });
14
- });
15
- it('Should override arrays', () => {
16
- expect((0, deep_merge_1.deepMerge)({ a: [0, 1, 2] }, { a: [1, 2, 3] })).toEqual({ a: [1, 2, 3] });
17
- });
18
- it('Should merge nested objects', () => {
19
- expect((0, deep_merge_1.deepMerge)({ a: 1, b: { a: 1, b: 2 } }, { b: { a: 3 } })).toEqual({ a: 1, b: { a: 3, b: 2 } });
20
- });
21
- it('Should respect falsy but defined values (false)', () => {
22
- expect((0, deep_merge_1.deepMerge)({ a: true }, { a: false })).toEqual({ a: false });
23
- });
24
- it('Should respect falsy but defined values (empty string)', () => {
25
- expect((0, deep_merge_1.deepMerge)({ a: 'asdasd' }, { a: '' })).toEqual({ a: '' });
26
- });
27
- it('Should respect falsy but defined values (zero)', () => {
28
- expect((0, deep_merge_1.deepMerge)({ a: 654 }, { a: 0 })).toEqual({ a: 0 });
29
- });
30
- });
31
- //# sourceMappingURL=deep-merge.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deep-merge.spec.js","sourceRoot":"","sources":["../src/deep-merge.spec.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- "use strict";
2
- /**
3
- *
4
- * You can implement *IDisposable* resources and use them with a *using()* or *usingAsync()* syntax.
5
- *
6
- * Usage example:
7
- *
8
- * ```ts
9
- * class Resource implements IDisposable{
10
- * dispose(){
11
- * // cleanup logics
12
- * }
13
- * }
14
- *
15
- *
16
- * using(new Resource(), (resource)=>{
17
- * // do something with the resource
18
- * })
19
- *
20
- * usingAsync(new Resource(), async (resource)=>{
21
- * // do something with the resource, allows awaiting promises
22
- * })
23
- * ```
24
- */
25
- /** */
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.usingAsync = exports.using = void 0;
28
- /**
29
- * Method that accepts an IDisposable resource that will be disposed after the callback
30
- *
31
- * @param resource The resource that is used in the callback and will be disposed afterwards
32
- * @param callback The callback that will be executed synchrounously before the resource will be disposed
33
- * @returns the value that will be returned by the callback method
34
- */
35
- const using = (resource, callback) => {
36
- try {
37
- return callback(resource);
38
- }
39
- finally {
40
- resource.dispose();
41
- }
42
- };
43
- exports.using = using;
44
- /**
45
- * Method that accepts an IDisposable resource that will be disposed after the callback
46
- *
47
- * @param resource The resource that is used in the callback and will be disposed afterwards
48
- * @param callback The callback that will be executed asynchrounously before the resource will be disposed
49
- * @returns A promise that will be resolved with a return value after the resource is disposed
50
- */
51
- const usingAsync = async (resource, callback) => {
52
- try {
53
- return await callback(resource);
54
- }
55
- finally {
56
- const disposeResult = resource.dispose();
57
- if (disposeResult instanceof Promise) {
58
- await disposeResult;
59
- }
60
- }
61
- };
62
- exports.usingAsync = usingAsync;
63
- //# sourceMappingURL=disposable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disposable.js","sourceRoot":"","sources":["../src/disposable.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM;;;AAaN;;;;;;GAMG;AACI,MAAM,KAAK,GAAG,CAAiC,QAAW,EAAE,QAA4B,EAAE,EAAE;IACjG,IAAI;QACF,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAA;KAC1B;YAAS;QACR,QAAQ,CAAC,OAAO,EAAE,CAAA;KACnB;AACH,CAAC,CAAA;AANY,QAAA,KAAK,SAMjB;AAED;;;;;;GAMG;AACI,MAAM,UAAU,GAAG,KAAK,EAC7B,QAAW,EACX,QAAqC,EACrC,EAAE;IACF,IAAI;QACF,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;KAChC;YAAS;QACR,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;QACxC,IAAI,aAAa,YAAY,OAAO,EAAE;YACpC,MAAM,aAAa,CAAA;SACpB;KACF;AACH,CAAC,CAAA;AAZY,QAAA,UAAU,cAYtB"}
@@ -1,112 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.disposableTests = exports.MockDisposable = void 0;
4
- const disposable_1 = require("./disposable");
5
- class MockDisposable {
6
- constructor() {
7
- this.disposed = false;
8
- this.isDisposed = () => this.disposed;
9
- /**
10
- * Disposes the MockDisposable instance, calls the dispose callback
11
- */
12
- this.dispose = () => {
13
- this.disposed = true;
14
- this.disposeCallback && this.disposeCallback();
15
- };
16
- }
17
- /**
18
- * Mock to throw an error
19
- */
20
- whooops() {
21
- throw Error('Whooops');
22
- }
23
- }
24
- exports.MockDisposable = MockDisposable;
25
- /**
26
- * Unit tests for disposables
27
- */
28
- exports.disposableTests = describe('Disposable', () => {
29
- it('Can be constructed', () => {
30
- (0, disposable_1.using)(new MockDisposable(), (d) => {
31
- expect(d).toBeInstanceOf(MockDisposable);
32
- });
33
- });
34
- it('Should return a value from a callback', () => {
35
- const returned = (0, disposable_1.using)(new MockDisposable(), () => {
36
- return 1;
37
- });
38
- expect(returned).toBe(1);
39
- });
40
- it('Should return a value from an async callback', async () => {
41
- const returned = await (0, disposable_1.usingAsync)(new MockDisposable(), async () => {
42
- return 2;
43
- });
44
- expect(returned).toBe(2);
45
- });
46
- describe('isDisposed', () => {
47
- it('should return a correct value before and after disposition', () => {
48
- const d = new MockDisposable();
49
- expect(d.isDisposed()).toBe(false);
50
- d.dispose();
51
- expect(d.isDisposed()).toBe(true);
52
- });
53
- });
54
- describe('dispose()', () => {
55
- it('should be called on error', (done) => {
56
- try {
57
- (0, disposable_1.using)(new MockDisposable(), (d) => {
58
- d.disposeCallback = () => {
59
- done();
60
- };
61
- d.whooops();
62
- });
63
- }
64
- catch {
65
- /** ignore */
66
- }
67
- });
68
- it('should be called with usingAsync()', (done) => {
69
- (0, disposable_1.usingAsync)(new MockDisposable(), async (d) => {
70
- d.disposeCallback = () => {
71
- done();
72
- };
73
- return new Promise((resolve) => {
74
- setTimeout(resolve, 1);
75
- });
76
- });
77
- });
78
- it('should be called when async fails', (done) => {
79
- (0, disposable_1.usingAsync)(new MockDisposable(), async (d) => {
80
- d.disposeCallback = () => {
81
- done();
82
- };
83
- return new Promise((_resolve, reject) => {
84
- setTimeout(reject, 1);
85
- });
86
- }).catch(() => {
87
- /** ignore */
88
- });
89
- });
90
- it('should await dispose for asyncs with usingAsync()', async () => {
91
- class AsyncDispose {
92
- constructor() {
93
- /** flag */
94
- this.isDisposed = false;
95
- }
96
- /** set isDisposed with a timeout */
97
- async dispose() {
98
- await new Promise((resolve) => setTimeout(() => {
99
- this.isDisposed = true;
100
- resolve();
101
- }, 10));
102
- }
103
- }
104
- const asyncDispose = new AsyncDispose();
105
- await (0, disposable_1.usingAsync)(asyncDispose, async () => {
106
- /** */
107
- });
108
- expect(asyncDispose.isDisposed).toBe(true);
109
- });
110
- });
111
- });
112
- //# sourceMappingURL=disposable.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disposable.spec.js","sourceRoot":"","sources":["../src/disposable.spec.ts"],"names":[],"mappings":"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"}
package/dist/index.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./disposable"), exports);
18
- __exportStar(require("./deep-merge"), exports);
19
- __exportStar(require("./debounce"), exports);
20
- __exportStar(require("./observable-value"), exports);
21
- __exportStar(require("./value-observer"), exports);
22
- __exportStar(require("./path-helper"), exports);
23
- __exportStar(require("./sleep-async"), exports);
24
- __exportStar(require("./sort-by"), exports);
25
- __exportStar(require("./trace"), exports);
26
- __exportStar(require("./tuple"), exports);
27
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,6CAA0B;AAC1B,qDAAkC;AAClC,mDAAgC;AAChC,gDAA6B;AAC7B,gDAA6B;AAC7B,4CAAyB;AACzB,0CAAuB;AACvB,0CAAuB"}