toosoon-utils 3.0.3 → 3.1.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 CHANGED
@@ -279,14 +279,36 @@ No-op function.
279
279
  noop(): void;
280
280
  ```
281
281
 
282
- ##### wait(timeout)
282
+ ##### wait(delay)
283
283
 
284
284
  Promise wrapped setTimeout.
285
285
 
286
- - `[timeout=0]`: Time to wait (in milliseconds).
286
+ - `[delay=0]`: Time to wait (in milliseconds).
287
287
 
288
288
  ```ts
289
- wait(timeout?: number): Promise<void>;
289
+ wait(delay?: number): Promise<void>;
290
+ ```
291
+
292
+ ##### debounce(callback, delay)
293
+
294
+ Create a debounced function that delays the execution of `callback` until a specified `delay` time has passed since the last call.
295
+
296
+ - `callback`: Function to debounce.
297
+ - `delay`: Delay (in milliseconds).
298
+
299
+ ```ts
300
+ debounce(callback: Function, delay: number): Function;
301
+ ```
302
+
303
+ ##### throttle(callback, limit)
304
+
305
+ Create a throttled function that limits the execution of `callback` to once every `limit` time.
306
+
307
+ - `callback`: Function to throttle.
308
+ - `limit`: Minimum interval between two calls (in milliseconds).
309
+
310
+ ```ts
311
+ throttle(callback: Function, limit: number): Function;
290
312
  ```
291
313
 
292
314
  ##### defer()
@@ -629,6 +651,144 @@ Smoothly interpolate a number toward another.
629
651
  damp(value: number, target: number, damping: number, delta: number): number;
630
652
  ```
631
653
 
654
+ ### Random
655
+
656
+ ##### randomBoolean(probability)
657
+
658
+ Generate a random boolean (true or false).
659
+
660
+ - `[probability=0.5]`: Probability to get true.
661
+
662
+ ```ts
663
+ randomBoolean(probability?: number): boolean;
664
+ ```
665
+
666
+ ##### randomSign(probability)
667
+
668
+ Generate a random sign (1 or -1).
669
+
670
+ - `[probability=0.5]`: Probability to get 1.
671
+
672
+ ```ts
673
+ randomSign(probability?: number): number;
674
+ ```
675
+
676
+ ##### randomFloat(min, max)
677
+
678
+ Generate a random floating-point number within a specified range.
679
+
680
+ - `[min=0]`: Minimum boundary.
681
+ - `[max=1]`: Maximum boundary.
682
+ - `[precision=2]`: Number of digits after the decimal point.
683
+
684
+ ```ts
685
+ randomFloat(min?: number, max?: number, precision?: number): number;
686
+ ```
687
+
688
+ ##### randomInt(min, max)
689
+
690
+ Generate a random integer number within a specified range.
691
+
692
+ - `min`: Minimum boundary.
693
+ - `max`: Maximum boundary.
694
+
695
+ ```ts
696
+ randomInt(min: number, max: number): number;
697
+ ```
698
+
699
+ ##### randomHexColor()
700
+
701
+ Generate a random hexadecimal color.
702
+
703
+ ```ts
704
+ randomHexColor(): string;
705
+ ```
706
+
707
+ ##### randomItem(array)
708
+
709
+ Pick a random item from a given array.
710
+
711
+ - `array`: Array to pick the item from.
712
+
713
+ ```ts
714
+ randomItem<T>(array: T[]): T | undefined;
715
+ ```
716
+
717
+ ##### randomObjectProperty(object)
718
+
719
+ Pick a random property value from a given object.
720
+
721
+ - `object`: Object to pick the property from.
722
+
723
+ ```ts
724
+ randomObjectProperty<T>(object: Record<string, T>): T | undefined;
725
+ ```
726
+
727
+ ##### randomIndex(weights)
728
+
729
+ Select a random index from an array of weighted items.
730
+
731
+ - `weights`: Array of weights.
732
+
733
+ ```ts
734
+ randomIndex(weights: number[]): number;
735
+ ```
736
+
737
+ ##### randomGaussian(mean, spread)
738
+
739
+ Generate a random number fitting a Gaussian (normal) distribution.
740
+
741
+ - `[mean=0]`: Central value.
742
+ - `[spread=1]`: Standard deviation.
743
+
744
+ ```ts
745
+ randomGaussian(mean?: number, spread?: number): number;
746
+ ```
747
+
748
+ ##### onCircle(radius)
749
+
750
+ Produce a random 2D point around the perimiter of a unit circle.
751
+
752
+ - `[radius=1]`: Radius of the circle.
753
+ - `[target]`: Target vector.
754
+
755
+ ```ts
756
+ onCircle(radius?: number, target?: Vector2): Vector2;
757
+ ```
758
+
759
+ ##### insideCircle(radius)
760
+
761
+ Produce a random 2D point inside a unit circle.
762
+
763
+ - `[radius=1]`: Radius of the circle.
764
+ - `[target]` Target vector.
765
+
766
+ ```ts
767
+ insideCircle(radius?: number, target?: Vector2): Vector2;
768
+ ```
769
+
770
+ ##### onSphere(radius)
771
+
772
+ Produce a random 3D point on the surface of a unit sphere.
773
+
774
+ - `[radius=1]`: Radius of the sphere.
775
+ - `[target]`: Target vector.
776
+
777
+ ```ts
778
+ onSphere(radius?: number, target?: Vector3): Vector3;
779
+ ```
780
+
781
+ ##### insideSphere(radius)
782
+
783
+ Produce a random 3D point inside a unit sphere.
784
+
785
+ - `[radius=1]`: Radius of the sphere.
786
+ - `[target]`: Target vector.
787
+
788
+ ```ts
789
+ insideSphere(radius?: number, target?: Vector3): Vector3;
790
+ ```
791
+
632
792
  ### Pseudo-Random Number Generator (PRNG)
633
793
 
634
794
  #### PRNG Algorithms
@@ -807,164 +967,143 @@ Generate a pseudo-random number fitting a Gaussian (normal) distribution.
807
967
  randomGaussian(prng: string | object, mean?: number, spread?: number): number;
808
968
  ```
809
969
 
810
- ### Random
970
+ ### Query parameters
811
971
 
812
- ##### randomBoolean(probability)
972
+ ##### getQuery(property)
813
973
 
814
- Generate a random boolean (true or false).
974
+ Get a query parameter.
815
975
 
816
- - `[probability=0.5]`: Probability to get true.
976
+ - `property`: Query property to check.
817
977
 
818
978
  ```ts
819
- randomBoolean(probability?: number): boolean;
979
+ getQuery(property: string): string | null;
820
980
  ```
821
981
 
822
- ##### randomSign(probability)
982
+ ##### setQuery(property)
823
983
 
824
- Generate a random sign (1 or -1).
984
+ Set a query parameter.
825
985
 
826
- - `[probability=0.5]`: Probability to get 1.
986
+ - `property`: Query property to set.
987
+ - `value`: Value to set.
827
988
 
828
989
  ```ts
829
- randomSign(probability?: number): number;
990
+ setQuery(property: string, value: string): void;
830
991
  ```
831
992
 
832
- ##### randomFloat(min, max)
993
+ ##### hasQuery(property)
833
994
 
834
- Generate a random floating-point number within a specified range.
995
+ Check if a query parameter exists.
835
996
 
836
- - `[min=0]`: Minimum boundary.
837
- - `[max=1]`: Maximum boundary.
838
- - `[precision=2]`: Number of digits after the decimal point.
997
+ - `property`: Query property to check.
839
998
 
840
999
  ```ts
841
- randomFloat(min?: number, max?: number, precision?: number): number;
1000
+ hasQuery(property: string): boolean;
842
1001
  ```
843
1002
 
844
- ##### randomInt(min, max)
845
-
846
- Generate a random integer number within a specified range.
1003
+ ### Strings
847
1004
 
848
- - `min`: Minimum boundary.
849
- - `max`: Maximum boundary.
1005
+ #### Cases
850
1006
 
851
- ```ts
852
- randomInt(min: number, max: number): number;
853
- ```
1007
+ ##### capitalize(string)
854
1008
 
855
- ##### randomHexColor()
1009
+ Capitalize a string.
856
1010
 
857
- Generate a random hexadecimal color.
1011
+ - `string`: String to capitalize.
858
1012
 
859
1013
  ```ts
860
- randomHexColor(): string;
1014
+ capitalize(string: string): string;
861
1015
  ```
862
1016
 
863
- ##### randomItem(array)
1017
+ ##### toKebabCase(string)
864
1018
 
865
- Pick a random item from a given array.
1019
+ Convert a string to kebab-case: 'Hello world' -> 'hello-world'.
866
1020
 
867
- - `array`: Array to pick the item from.
1021
+ - `string`: String to convert.
868
1022
 
869
1023
  ```ts
870
- randomItem<T>(array: T[]): T | undefined;
1024
+ toKebabCase(string: string): string;
871
1025
  ```
872
1026
 
873
- ##### randomObjectProperty(object)
1027
+ ##### toSnakeCase(string)
874
1028
 
875
- Pick a random property value from a given object.
1029
+ Convert a string to snake_case: 'Hello world' -> 'hello_world'.
876
1030
 
877
- - `object`: Object to pick the property from.
1031
+ - `string`: String to convert.
878
1032
 
879
1033
  ```ts
880
- randomObjectProperty<T>(object: Record<string, T>): T | undefined;
1034
+ toSnakeCase(string: string): string;
881
1035
  ```
882
1036
 
883
- ##### randomIndex(weights)
1037
+ ##### toCamelCase(string)
884
1038
 
885
- Select a random index from an array of weighted items.
1039
+ Convert a string to camelCase: 'Hello world' -> 'helloWorld'.
886
1040
 
887
- - `weights`: Array of weights.
1041
+ - `string`: String to convert.
888
1042
 
889
1043
  ```ts
890
- randomIndex(weights: number[]): number;
1044
+ toCamelCase(string: string): string;
891
1045
  ```
892
1046
 
893
- ##### randomGaussian(mean, spread)
1047
+ ##### toPascalCase(string)
894
1048
 
895
- Generate a random number fitting a Gaussian (normal) distribution.
1049
+ Convert a string to PascalCase: 'Hello world' -> 'HelloWorld'.
896
1050
 
897
- - `[mean=0]`: Central value.
898
- - `[spread=1]`: Standard deviation.
1051
+ - `string`: String to convert.
899
1052
 
900
1053
  ```ts
901
- randomGaussian(mean?: number, spread?: number): number;
1054
+ toPascalCase(string: string): string;
902
1055
  ```
903
1056
 
904
- ##### onCircle(radius)
1057
+ ##### toTrainCase(string)
905
1058
 
906
- Produce a random 2D point around the perimiter of a unit circle.
1059
+ Convert a string to Train-Case: 'Hello world' -> 'Hello-World'.
907
1060
 
908
- - `[radius=1]`: Radius of the circle.
909
- - `[target]`: Target vector.
1061
+ - `string`: String to convert.
910
1062
 
911
1063
  ```ts
912
- onCircle(radius?: number, target?: Vector2): Vector2;
1064
+ toTrainCase(string: string): string;
913
1065
  ```
914
1066
 
915
- ##### insideCircle(radius)
1067
+ ##### toConstantCase(string)
916
1068
 
917
- Produce a random 2D point inside a unit circle.
1069
+ Convert a string to CONSTANT_CASE: 'Hello world' -> 'HELLO_WORLD'.
918
1070
 
919
- - `[radius=1]`: Radius of the circle.
920
- - `[target]` Target vector.
1071
+ - `string`: String to convert.
921
1072
 
922
1073
  ```ts
923
- insideCircle(radius?: number, target?: Vector2): Vector2;
1074
+ toConstantCase(string: string): string;
924
1075
  ```
925
1076
 
926
- ##### onSphere(radius)
927
-
928
- Produce a random 3D point on the surface of a unit sphere.
929
-
930
- - `[radius=1]`: Radius of the sphere.
931
- - `[target]`: Target vector.
1077
+ #### Paths
932
1078
 
933
- ```ts
934
- onSphere(radius?: number, target?: Vector3): Vector3;
935
- ```
936
-
937
- ##### insideSphere(radius)
1079
+ ##### cleanPath(path)
938
1080
 
939
- Produce a random 3D point inside a unit sphere.
1081
+ Clean a path by removing its parameters.
940
1082
 
941
- - `[radius=1]`: Radius of the sphere.
942
- - `[target]`: Target vector.
1083
+ - `path`: Path to clean.
943
1084
 
944
1085
  ```ts
945
- insideSphere(radius?: number, target?: Vector3): Vector3;
1086
+ cleanPath(path: string): string;
946
1087
  ```
947
1088
 
948
- ### Strings
949
-
950
- ##### capitalize(string)
1089
+ ##### addTrailingSlash(path)
951
1090
 
952
- Capitalize a string.
1091
+ Convert a path by ensuring it has a trailing slash.
953
1092
 
954
- - `string`: String to capitalize.
1093
+ - `path`: Path to convert.
955
1094
 
956
1095
  ```ts
957
- capitalize(string: string): string;
1096
+ addTrailingSlash(path: string): string;
958
1097
  ```
959
1098
 
960
- ##### cleanPath(path)
1099
+ ##### removeTrailingSlash(path)
961
1100
 
962
- Clean a path by removing params.
1101
+ Convert a path by ensuring it has not a trailing slash.
963
1102
 
964
- - `path`: Path to clean.
1103
+ - `path`: Path to convert.
965
1104
 
966
1105
  ```ts
967
- cleanPath(path: string): string;
1106
+ removeTrailingSlash(path: string): string;
968
1107
  ```
969
1108
 
970
1109
  ## Utility classes
@@ -6,10 +6,10 @@
6
6
  */
7
7
  export default class FrameRate {
8
8
  private _fps;
9
- private interval;
10
- private time;
11
- private elapsedTime;
12
- private lastUpdate;
9
+ private _interval;
10
+ private _time;
11
+ private _elapsedTime;
12
+ private _lastUpdate;
13
13
  /**
14
14
  * @param {number} [fps=30] Frame per second limit
15
15
  */
@@ -13,11 +13,10 @@ var FrameRate = /** @class */ (function () {
13
13
  */
14
14
  function FrameRate(fps) {
15
15
  if (fps === void 0) { fps = 30; }
16
- this.interval = 0;
17
- this.time = 0;
18
- this.elapsedTime = 0;
19
- this.lastUpdate = 0;
20
- this._fps = fps;
16
+ this._interval = 0;
17
+ this._time = 0;
18
+ this._elapsedTime = 0;
19
+ this._lastUpdate = 0;
21
20
  this.fps = fps;
22
21
  }
23
22
  /**
@@ -26,12 +25,12 @@ var FrameRate = /** @class */ (function () {
26
25
  * @returns {boolean}
27
26
  */
28
27
  FrameRate.prototype.update = function () {
29
- this.time = (0, functions_1.now)();
30
- this.elapsedTime = this.time - this.lastUpdate;
31
- if (this.elapsedTime < this.interval) {
28
+ this._time = (0, functions_1.now)();
29
+ this._elapsedTime = this._time - this._lastUpdate;
30
+ if (this._elapsedTime < this._interval) {
32
31
  return false;
33
32
  }
34
- this.lastUpdate = this.time - (this.elapsedTime % this.interval);
33
+ this._lastUpdate = this._time - (this._elapsedTime % this._interval);
35
34
  return true;
36
35
  };
37
36
  Object.defineProperty(FrameRate.prototype, "fps", {
@@ -40,7 +39,7 @@ var FrameRate = /** @class */ (function () {
40
39
  },
41
40
  set: function (fps) {
42
41
  this._fps = fps;
43
- this.interval = 1000 / fps;
42
+ this._interval = 1000 / fps;
44
43
  },
45
44
  enumerable: false,
46
45
  configurable: true
package/lib/colors.d.ts CHANGED
@@ -33,7 +33,7 @@ export declare function rgbToHexString([r, g, b]: [number, number, number]): str
33
33
  * Convert hexadecimal to RGB
34
34
  * Note: rgb values are contained in the interval [0, 1]
35
35
  *
36
- * @param {(number|string)} hex Hexadecimal color
36
+ * @param {number|string} hex Hexadecimal color
37
37
  * @returns {[number, number, number]} RGB color
38
38
  */
39
39
  export declare function hexToRgb(hex: number | string): [number, number, number];
package/lib/colors.js CHANGED
@@ -83,7 +83,7 @@ exports.rgbToHexString = rgbToHexString;
83
83
  * Convert hexadecimal to RGB
84
84
  * Note: rgb values are contained in the interval [0, 1]
85
85
  *
86
- * @param {(number|string)} hex Hexadecimal color
86
+ * @param {number|string} hex Hexadecimal color
87
87
  * @returns {[number, number, number]} RGB color
88
88
  */
89
89
  function hexToRgb(hex) {
package/lib/dom.d.ts CHANGED
@@ -2,15 +2,15 @@
2
2
  * Find the closest parent that matches a selector
3
3
  *
4
4
  * @param {Element|null} element Target element
5
- * @param {(Element|string)} selector Selector or parent to match
5
+ * @param {Element|string} selector Selector or parent to match
6
6
  * @returns {Element|null}
7
7
  */
8
8
  export declare function closest(element: Element | null, selector: Element | string): Element | null;
9
9
  /**
10
10
  * Create a canvas and 2d context
11
11
  *
12
- * @param {Number} width Width of the canvas
13
- * @param {Number} height Height of the canvas
12
+ * @param {number} width Width of the canvas
13
+ * @param {number} height Height of the canvas
14
14
  * @returns {{ canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D }}
15
15
  */
16
16
  export declare function createCanvas(width: number, height: number): {
package/lib/dom.js CHANGED
@@ -6,7 +6,7 @@ var DOCUMENT_NODE_TYPE = 9;
6
6
  * Find the closest parent that matches a selector
7
7
  *
8
8
  * @param {Element|null} element Target element
9
- * @param {(Element|string)} selector Selector or parent to match
9
+ * @param {Element|string} selector Selector or parent to match
10
10
  * @returns {Element|null}
11
11
  */
12
12
  function closest(element, selector) {
@@ -23,8 +23,8 @@ exports.closest = closest;
23
23
  /**
24
24
  * Create a canvas and 2d context
25
25
  *
26
- * @param {Number} width Width of the canvas
27
- * @param {Number} height Height of the canvas
26
+ * @param {number} width Width of the canvas
27
+ * @param {number} height Height of the canvas
28
28
  * @returns {{ canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D }}
29
29
  */
30
30
  function createCanvas(width, height) {
@@ -6,10 +6,26 @@ export declare const noop: () => void;
6
6
  /**
7
7
  * Promise wrapped setTimeout
8
8
  *
9
- * @param {number} [timeout=0] Time to wait (in milliseconds)
9
+ * @param {number} [delay=0] Time to wait (in milliseconds)
10
10
  * @returns {Promise}
11
11
  */
12
- export declare function wait(timeout?: number): Promise<void>;
12
+ export declare function wait(delay?: number): Promise<void>;
13
+ /**
14
+ * Create a debounced function that delays the execution of `callback` until a specified `delay` time has passed since the last call
15
+ *
16
+ * @param {Function} callback Function to debounce
17
+ * @param {number} delay Delay (in milliseconds)
18
+ * @returns {Function} Debounced function
19
+ */
20
+ export declare function debounce<T extends (...args: any[]) => void>(callback: T, delay: number): (...args: Parameters<T>) => void;
21
+ /**
22
+ * Create a throttled function that limits the execution of `callback` to once every `limit` time
23
+ *
24
+ * @param {Function} callback Function to throttle
25
+ * @param {number} limit Minimum interval between two calls (in milliseconds)
26
+ * @returns {Function} Throttled function
27
+ */
28
+ export declare function throttle<T extends (...args: any[]) => void>(callback: T, limit: number): (...args: Parameters<T>) => void;
13
29
  /**
14
30
  * Deferred promise implementation
15
31
  *
package/lib/functions.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.now = exports.defer = exports.wait = exports.noop = void 0;
3
+ exports.now = exports.defer = exports.throttle = exports.debounce = exports.wait = exports.noop = void 0;
4
4
  /**
5
5
  * No-op function
6
6
  */
@@ -9,14 +9,56 @@ exports.noop = noop;
9
9
  /**
10
10
  * Promise wrapped setTimeout
11
11
  *
12
- * @param {number} [timeout=0] Time to wait (in milliseconds)
12
+ * @param {number} [delay=0] Time to wait (in milliseconds)
13
13
  * @returns {Promise}
14
14
  */
15
- function wait(timeout) {
16
- if (timeout === void 0) { timeout = 0; }
17
- return new Promise(function (resolve) { return setTimeout(resolve, timeout); });
15
+ function wait(delay) {
16
+ if (delay === void 0) { delay = 0; }
17
+ return new Promise(function (resolve) { return setTimeout(resolve, delay); });
18
18
  }
19
19
  exports.wait = wait;
20
+ /**
21
+ * Create a debounced function that delays the execution of `callback` until a specified `delay` time has passed since the last call
22
+ *
23
+ * @param {Function} callback Function to debounce
24
+ * @param {number} delay Delay (in milliseconds)
25
+ * @returns {Function} Debounced function
26
+ */
27
+ function debounce(callback, delay) {
28
+ var timeout = null;
29
+ return function () {
30
+ var args = [];
31
+ for (var _i = 0; _i < arguments.length; _i++) {
32
+ args[_i] = arguments[_i];
33
+ }
34
+ if (timeout)
35
+ clearTimeout(timeout);
36
+ timeout = setTimeout(function () { return callback.apply(void 0, args); }, delay);
37
+ };
38
+ }
39
+ exports.debounce = debounce;
40
+ /**
41
+ * Create a throttled function that limits the execution of `callback` to once every `limit` time
42
+ *
43
+ * @param {Function} callback Function to throttle
44
+ * @param {number} limit Minimum interval between two calls (in milliseconds)
45
+ * @returns {Function} Throttled function
46
+ */
47
+ function throttle(callback, limit) {
48
+ var lastTime = 0;
49
+ return function () {
50
+ var args = [];
51
+ for (var _i = 0; _i < arguments.length; _i++) {
52
+ args[_i] = arguments[_i];
53
+ }
54
+ var time = (0, exports.now)();
55
+ if (time - lastTime >= limit) {
56
+ lastTime = time;
57
+ callback.apply(void 0, args);
58
+ }
59
+ };
60
+ }
61
+ exports.throttle = throttle;
20
62
  /**
21
63
  * Deferred promise implementation
22
64
  *
package/lib/prng.js CHANGED
@@ -250,9 +250,6 @@ function randomIndex(prng, weights) {
250
250
  return 0;
251
251
  }
252
252
  exports.randomIndex = randomIndex;
253
- // *********************
254
- // Distribution
255
- // *********************
256
253
  /**
257
254
  * Generate a pseudo-random number fitting a Gaussian (normal) distribution
258
255
  *
package/lib/query.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Get a query parameter
3
+ *
4
+ * @param {string} property Query property to check
5
+ * @returns {string|null} Value associated to the given search parameter
6
+ */
7
+ export declare function getQuery(property: string): string | null;
8
+ /**
9
+ * Set a query parameter
10
+ *
11
+ * @param {string} property Query property to set
12
+ * @param {string} value Value to set
13
+ */
14
+ export declare function setQuery(property: string, value: string): void;
15
+ /**
16
+ * Check if a query parameter exists
17
+ *
18
+ * @param {string} property Query property to check
19
+ * @returns {boolean} True if the given property has a query parameter value, false otherwise
20
+ */
21
+ export declare function hasQuery(property: string): boolean;
package/lib/query.js ADDED
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasQuery = exports.setQuery = exports.getQuery = void 0;
4
+ var search = typeof window !== 'undefined' ? window.location.search : undefined;
5
+ var history = typeof window !== 'undefined' ? window.history : undefined;
6
+ /**
7
+ * Get a query parameter
8
+ *
9
+ * @param {string} property Query property to check
10
+ * @returns {string|null} Value associated to the given search parameter
11
+ */
12
+ function getQuery(property) {
13
+ var params = new URLSearchParams(search);
14
+ return params.get(property);
15
+ }
16
+ exports.getQuery = getQuery;
17
+ /**
18
+ * Set a query parameter
19
+ *
20
+ * @param {string} property Query property to set
21
+ * @param {string} value Value to set
22
+ */
23
+ function setQuery(property, value) {
24
+ var params = new URLSearchParams(search);
25
+ params.set(property, value);
26
+ var string = '?' + params.toString().replace(/\=$/, '').replace(/\=\&/g, '&');
27
+ history === null || history === void 0 ? void 0 : history.pushState({ str: string }, '', string);
28
+ }
29
+ exports.setQuery = setQuery;
30
+ /**
31
+ * Check if a query parameter exists
32
+ *
33
+ * @param {string} property Query property to check
34
+ * @returns {boolean} True if the given property has a query parameter value, false otherwise
35
+ */
36
+ function hasQuery(property) {
37
+ return getQuery(property) !== null;
38
+ }
39
+ exports.hasQuery = hasQuery;
package/lib/random.js CHANGED
@@ -111,9 +111,6 @@ function randomIndex(weights) {
111
111
  return 0;
112
112
  }
113
113
  exports.randomIndex = randomIndex;
114
- // *********************
115
- // Distribution
116
- // *********************
117
114
  /**
118
115
  * Generate a random number fitting a Gaussian (normal) distribution
119
116
  *
package/lib/strings.d.ts CHANGED
@@ -1,14 +1,70 @@
1
1
  /**
2
2
  * Capitalize a string
3
3
  *
4
- * @param {string} string String to capitalize
4
+ * @param {string} string String to capitalize
5
5
  * @returns {string} Capitalized string
6
6
  */
7
7
  export declare function capitalize(string: string): string;
8
8
  /**
9
- * Clean a path by removing params
9
+ * Convert a string to kebab-case: 'Hello world' -> 'hello-world'
10
10
  *
11
- * @param {string} path Path to clean
11
+ * @param {string} string String to convert
12
+ * @returns {string} Converted string
13
+ */
14
+ export declare function toKebabCase(string: string): string;
15
+ /**
16
+ * Convert a string to snake_case: 'Hello world' -> 'hello_world'
17
+ *
18
+ * @param {string} string String to convert
19
+ * @returns {string} Converted string
20
+ */
21
+ export declare function toSnakeCase(string: string): string;
22
+ /**
23
+ * Convert a string to camelCase: 'Hello world' -> 'helloWorld'
24
+ *
25
+ * @param {string} string String to convert
26
+ * @returns {string} Converted string
27
+ */
28
+ export declare function toCamelCase(string: string): string;
29
+ /**
30
+ * Convert a string to PascalCase: 'Hello world' -> 'HelloWorld'
31
+ *
32
+ * @param {string} string String to convert
33
+ * @returns {string} Converted string
34
+ */
35
+ export declare function toPascalCase(string: string): string;
36
+ /**
37
+ * Convert a string to Train-Case: 'Hello world' -> 'Hello-World'
38
+ *
39
+ * @param {string} string String to convert
40
+ * @returns {string} Converted string
41
+ */
42
+ export declare function toTrainCase(string: string): string;
43
+ /**
44
+ * Convert a string to CONSTANT_CASE: 'Hello world' -> 'HELLO_WORLD'
45
+ *
46
+ * @param {string} string String to convert
47
+ * @returns {string} Converted string
48
+ */
49
+ export declare function toConstantCase(string: string): string;
50
+ /**
51
+ * Clean a path by removing its parameters
52
+ *
53
+ * @param {string} path Path to clean
12
54
  * @returns {string} Cleaned path
13
55
  */
14
56
  export declare function cleanPath(path: string): string;
57
+ /**
58
+ * Convert a path by ensuring it has a trailing slash
59
+ *
60
+ * @param {string} path Path to convert
61
+ * @returns {string}
62
+ */
63
+ export declare function addTrailingSlash(path: string): string;
64
+ /**
65
+ * Convert a path by ensuring it has not a trailing slash
66
+ *
67
+ * @param {string} path Path to convert
68
+ * @returns {string}
69
+ */
70
+ export declare function removeTrailingSlash(path: string): string;
package/lib/strings.js CHANGED
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
+ // ******************************************
3
+ // Cases
4
+ // ******************************************
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cleanPath = exports.capitalize = void 0;
6
+ exports.removeTrailingSlash = exports.addTrailingSlash = exports.cleanPath = exports.toConstantCase = exports.toTrainCase = exports.toPascalCase = exports.toCamelCase = exports.toSnakeCase = exports.toKebabCase = exports.capitalize = void 0;
4
7
  /**
5
8
  * Capitalize a string
6
9
  *
7
- * @param {string} string String to capitalize
10
+ * @param {string} string String to capitalize
8
11
  * @returns {string} Capitalized string
9
12
  */
10
13
  function capitalize(string) {
@@ -12,12 +15,129 @@ function capitalize(string) {
12
15
  }
13
16
  exports.capitalize = capitalize;
14
17
  /**
15
- * Clean a path by removing params
18
+ * Convert a string to kebab-case: 'Hello world' -> 'hello-world'
16
19
  *
17
- * @param {string} path Path to clean
20
+ * @param {string} string String to convert
21
+ * @returns {string} Converted string
22
+ */
23
+ function toKebabCase(string) {
24
+ return (string
25
+ // Insert a hyphen between lowercase and uppercase letters
26
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
27
+ // Replace spaces and underscores with hyphens
28
+ .replace(/[\s_]+/g, '-')
29
+ .toLowerCase());
30
+ }
31
+ exports.toKebabCase = toKebabCase;
32
+ /**
33
+ * Convert a string to snake_case: 'Hello world' -> 'hello_world'
34
+ *
35
+ * @param {string} string String to convert
36
+ * @returns {string} Converted string
37
+ */
38
+ function toSnakeCase(string) {
39
+ return (string
40
+ // Insert an underscore between lowercase and uppercase letters
41
+ .replace(/([a-z])([A-Z])/g, '$1_$2')
42
+ // Replace spaces and hyphens with underscores
43
+ .replace(/[\s-]+/g, '_')
44
+ .toLowerCase());
45
+ }
46
+ exports.toSnakeCase = toSnakeCase;
47
+ /**
48
+ * Convert a string to camelCase: 'Hello world' -> 'helloWorld'
49
+ *
50
+ * @param {string} string String to convert
51
+ * @returns {string} Converted string
52
+ */
53
+ function toCamelCase(string) {
54
+ return (string
55
+ // Remove separators and capitalize the following letter
56
+ .replace(/[-_\s]+(.)?/g, function (_, c) { return (c ? c.toUpperCase() : ''); })
57
+ // Ensure the first letter is lowercase
58
+ .replace(/^([A-Z])/, function (c) { return c.toLowerCase(); }));
59
+ }
60
+ exports.toCamelCase = toCamelCase;
61
+ /**
62
+ * Convert a string to PascalCase: 'Hello world' -> 'HelloWorld'
63
+ *
64
+ * @param {string} string String to convert
65
+ * @returns {string} Converted string
66
+ */
67
+ function toPascalCase(string) {
68
+ return (string
69
+ // Remove separators and capitalizes the following letter
70
+ .replace(/[-_\s]+(.)?/g, function (_, c) { return (c ? c.toUpperCase() : ''); })
71
+ // Ensure the first letter is uppercase
72
+ .replace(/^([a-z])/, function (c) { return c.toUpperCase(); }));
73
+ }
74
+ exports.toPascalCase = toPascalCase;
75
+ /**
76
+ * Convert a string to Train-Case: 'Hello world' -> 'Hello-World'
77
+ *
78
+ * @param {string} string String to convert
79
+ * @returns {string} Converted string
80
+ */
81
+ function toTrainCase(string) {
82
+ return (string
83
+ // Insert a hyphen between lowercase and uppercase letters
84
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
85
+ // Replace spaces and underscores with hyphens
86
+ .replace(/[\s_]+/g, '-')
87
+ .toLowerCase()
88
+ // Capitalizes each word
89
+ .replace(/\b\w/g, function (c) { return c.toUpperCase(); }));
90
+ }
91
+ exports.toTrainCase = toTrainCase;
92
+ /**
93
+ * Convert a string to CONSTANT_CASE: 'Hello world' -> 'HELLO_WORLD'
94
+ *
95
+ * @param {string} string String to convert
96
+ * @returns {string} Converted string
97
+ */
98
+ function toConstantCase(string) {
99
+ return (string
100
+ // Insert an underscore between lowercase and uppercase letters
101
+ .replace(/([a-z])([A-Z])/g, '$1_$2')
102
+ // Replace spaces and hyphens with underscores
103
+ .replace(/[\s-]+/g, '_')
104
+ .toUpperCase());
105
+ }
106
+ exports.toConstantCase = toConstantCase;
107
+ // ******************************************
108
+ // Paths
109
+ // ******************************************
110
+ /**
111
+ * Clean a path by removing its parameters
112
+ *
113
+ * @param {string} path Path to clean
18
114
  * @returns {string} Cleaned path
19
115
  */
20
116
  function cleanPath(path) {
21
117
  return path.split('#')[0].split('?')[0];
22
118
  }
23
119
  exports.cleanPath = cleanPath;
120
+ /**
121
+ * Convert a path by ensuring it has a trailing slash
122
+ *
123
+ * @param {string} path Path to convert
124
+ * @returns {string}
125
+ */
126
+ function addTrailingSlash(path) {
127
+ if (path.match(/\.[a-z]{2,4}$/i) || path.match(/^mailto:/) || path.endsWith('/'))
128
+ return path;
129
+ return "".concat(path, "/");
130
+ }
131
+ exports.addTrailingSlash = addTrailingSlash;
132
+ /**
133
+ * Convert a path by ensuring it has not a trailing slash
134
+ *
135
+ * @param {string} path Path to convert
136
+ * @returns {string}
137
+ */
138
+ function removeTrailingSlash(path) {
139
+ if (path.endsWith('/'))
140
+ return path.slice(0, -1);
141
+ return "".concat(path);
142
+ }
143
+ exports.removeTrailingSlash = removeTrailingSlash;
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.object.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/constants.ts","../src/types.ts","../src/geometry.ts","../src/maths.ts","../src/colors.ts","../src/dom.ts","../src/files.ts","../src/functions.ts","../src/prng.ts","../src/random.ts","../src/strings.ts","../src/classes/_pool.ts","../src/classes/color-scale.ts","../src/classes/frame-rate.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","886e50ef125efb7878f744e86908884c0133e7a6d9d80013f421b0cd8fb2af94",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"45cf2eb6cd6d7189ff80c87564aaa4fea53eb4c3da65d5e641127373de571cd9","signature":"0b4eec0a8599d6713095e0af18ab7e6204b675cd9fe8b2d02d04d66746e586e1"},{"version":"afcdcf3d0d1bb3289b5b7e7f9279e29ddee9ff9204376cf3d61636fe739f34ac","signature":"cf619c5895f1094521348154ca64a0c7b2f27aae89224981a63aee81ec835745"},{"version":"f3a0d63370fdf2816ec854af8993122f7f798d9635cf75de7d21cc14e8360c2e","signature":"ae587e25ddfbc84ffb1ae0108bb790db5417ded791a0f278910557cc6687dea4"},{"version":"5f0fcfcbcc870dcdeb52d296b5bd1901a9cd04a1616cd7f1bcf8e47bf3a8cc47","signature":"a0ff24ef84faa00948def16d69f7a1604e4f52088597b022145265391b5561ab"},{"version":"aa631ccb764e10001e746490f52eef2f129fd73c41aee0e95f9a9964544c92e1","signature":"ca745f3cebda4c4e91b00575b1cb2512df09c3f167b186b6f6fb5e8a9dec338e"},{"version":"dd1b87fd55fc2312232d2748422f2a4ce58925d4ad23ccc68ca8da41d0a553bc","signature":"c99d34f7823d0992f394cbd832037a60cb86937d3670e9a9d968fd01f24b9129"},{"version":"d52ff004bb7cd1c00d0a179f4b0893ddf84cdafc6830b2ceafc814804dfff9a5","signature":"4d71e33886aa72fef5fe425d76a3557f6553ee0b08863733656d58b91b8a6e77"},{"version":"de35f6a8eedc2a21a0e673f456cb55419da3985c321b19f3f1c81f37cb2f3013","signature":"61f803248f1cb85557eaa016fe19620e5a390cf87abba42ec793afda3a65f3be"},{"version":"0f4a1c91bc0f98149251bb7224340a0f89abc13db386d072bc4f4ce3d4e4a47f","signature":"3244739232ed0f77eb4aa4cd9af4feddcf5c3eabdf4f6c3388a5a75569935adb"},{"version":"75e05945ba1afcde574cc06fa32555de390a99076178fa1582bf9ccab6af617f","signature":"1f33200b9e8be924894b2a94bbf9d3284cad94358a2d12fbf51d920219256ae5"},{"version":"7ff1ac0e7aebca773d04dda761bca41d14320e0622ef69f6f2447e7b000f4fa7","signature":"399d115998e6ee77790354467a58babe1c7ee7caba7eed1bf471f4ec8a9a365f"},{"version":"4d7527ca5cc5b43998dea53a70b01fcae3f3ddcfdd570d8f677813107d198b4f","signature":"d0e23e1faa28d5e2cd295e0ee3348313884513c7db2e17609664c01a95228ba3"},{"version":"d9a2200bf067484badf94fe9d428bf0e4109700ba825c1709d1e687bc393b8a1","signature":"30c398411c923b113ad0b26b098390592475ee2474ff68a6c6115998d38babc5"},{"version":"562abb83a49d3112664e50077ea0b0b68e7714258a2961f47ee6c79117eeb153","signature":"93bd4de4b789d580460b72635bcfff03bf58797ef8c581c5de815f429c5115a9"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[69,82]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"checkJs":true,"declaration":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"strict":true,"target":1},"fileIdsList":[[83],[118],[119,124,152],[120,131,132,139,149,160],[120,121,131,139],[122,161],[123,124,132,140],[124,149,157],[125,127,131,139],[118,126],[127,128],[131],[129,131],[118,131],[131,132,133,149,160],[131,132,133,146,149,152],[116,119,165],[127,131,134,139,149,160],[131,132,134,135,139,149,157,160],[134,136,149,157,160],[83,84,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],[131,137],[138,160,165],[127,131,139,149],[140],[141],[118,142],[143,159,165],[144],[145],[131,146,147],[146,148,161,163],[119,131,149,150,151,152],[119,149,151],[149,150],[152],[153],[118,149],[131,155,156],[155,156],[124,139,149,157],[158],[139,159],[119,134,145,160],[124,161],[149,162],[138,163],[164],[119,124,131,133,142,149,160,163,165],[149,166],[93,97,160],[93,149,160],[88],[90,93,157,160],[139,157],[168],[88,168],[90,93,139,160],[85,86,89,92,119,131,149,160],[85,91],[89,93,119,152,160,168],[119,168],[109,119,168],[87,88,168],[93],[87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115],[93,100,101],[91,93,101,102],[92],[85,88,93],[93,97,101,102],[97],[91,93,96,160],[85,90,91,93,97,100],[119,149],[88,93,109,119,165,168],[70,72,73],[76],[69,70,71,72],[70],[69,70],[70,71],[69]],"referencedMap":[[83,1],[84,1],[118,2],[119,3],[120,4],[121,5],[122,6],[123,7],[124,8],[125,9],[126,10],[127,11],[128,11],[130,12],[129,13],[131,14],[132,15],[133,16],[117,17],[134,18],[135,19],[136,20],[168,21],[137,22],[138,23],[139,24],[140,25],[141,26],[142,27],[143,28],[144,29],[145,30],[146,31],[147,31],[148,32],[149,33],[151,34],[150,35],[152,36],[153,37],[154,38],[155,39],[156,40],[157,41],[158,42],[159,43],[160,44],[161,45],[162,46],[163,47],[164,48],[165,49],[166,50],[100,51],[107,52],[99,51],[114,53],[91,54],[90,55],[113,56],[108,57],[111,58],[93,59],[92,60],[88,61],[87,62],[110,63],[89,64],[94,65],[98,65],[116,66],[115,65],[102,67],[103,68],[105,69],[101,70],[104,71],[109,56],[96,72],[97,73],[106,74],[86,75],[112,76],[81,77],[82,78],[73,79],[76,80],[71,81],[78,82],[70,83]],"exportedModulesMap":[[83,1],[84,1],[118,2],[119,3],[120,4],[121,5],[122,6],[123,7],[124,8],[125,9],[126,10],[127,11],[128,11],[130,12],[129,13],[131,14],[132,15],[133,16],[117,17],[134,18],[135,19],[136,20],[168,21],[137,22],[138,23],[139,24],[140,25],[141,26],[142,27],[143,28],[144,29],[145,30],[146,31],[147,31],[148,32],[149,33],[151,34],[150,35],[152,36],[153,37],[154,38],[155,39],[156,40],[157,41],[158,42],[159,43],[160,44],[161,45],[162,46],[163,47],[164,48],[165,49],[166,50],[100,51],[107,52],[99,51],[114,53],[91,54],[90,55],[113,56],[108,57],[111,58],[93,59],[92,60],[88,61],[87,62],[110,63],[89,64],[94,65],[98,65],[116,66],[115,65],[102,67],[103,68],[105,69],[101,70],[104,71],[109,56],[96,72],[97,73],[106,74],[86,75],[112,76],[81,80],[73,80],[76,80],[71,80],[78,80],[70,83]],"semanticDiagnosticsPerFile":[83,84,118,119,120,121,122,123,124,125,126,127,128,130,129,131,132,133,117,167,134,135,136,168,137,138,139,140,141,142,143,144,145,146,147,148,149,151,150,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,67,68,12,14,13,2,15,16,17,18,19,20,21,22,3,23,4,24,28,25,26,27,29,30,31,5,32,33,34,35,6,39,36,37,38,40,7,41,46,47,42,43,44,45,8,51,48,49,50,52,9,53,54,55,58,56,57,59,60,10,1,61,11,65,63,62,66,64,100,107,99,114,91,90,113,108,111,93,92,88,87,110,89,94,95,98,85,116,115,102,103,105,101,104,109,96,97,106,86,112,80,81,82,73,69,74,75,76,71,72,77,78,79,70]},"version":"5.4.2"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.object.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/constants.ts","../src/types.ts","../src/geometry.ts","../src/maths.ts","../src/colors.ts","../src/dom.ts","../src/files.ts","../src/functions.ts","../src/prng.ts","../src/query.ts","../src/random.ts","../src/strings.ts","../src/classes/_pool.ts","../src/classes/color-scale.ts","../src/classes/frame-rate.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","886e50ef125efb7878f744e86908884c0133e7a6d9d80013f421b0cd8fb2af94",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"45cf2eb6cd6d7189ff80c87564aaa4fea53eb4c3da65d5e641127373de571cd9","signature":"0b4eec0a8599d6713095e0af18ab7e6204b675cd9fe8b2d02d04d66746e586e1"},{"version":"afcdcf3d0d1bb3289b5b7e7f9279e29ddee9ff9204376cf3d61636fe739f34ac","signature":"cf619c5895f1094521348154ca64a0c7b2f27aae89224981a63aee81ec835745"},{"version":"f3a0d63370fdf2816ec854af8993122f7f798d9635cf75de7d21cc14e8360c2e","signature":"ae587e25ddfbc84ffb1ae0108bb790db5417ded791a0f278910557cc6687dea4"},{"version":"5f0fcfcbcc870dcdeb52d296b5bd1901a9cd04a1616cd7f1bcf8e47bf3a8cc47","signature":"a0ff24ef84faa00948def16d69f7a1604e4f52088597b022145265391b5561ab"},{"version":"ea71fe6821fcb1fe0084b244df74b5eef3ffc7f47e0449ecddcd93ee6f3c381f","signature":"84a60c426f921cbf9cb2251648705c8186b786ad4074380e55430c14dd0708ac"},{"version":"2319a6f113ef4cc739b0144f40434149fc6b681af1c7a0868c347c167cf21285","signature":"309de51e4d0b348939ba9d776c0ba208b4d4b8347de072a8af7ea43d6339233a"},{"version":"d52ff004bb7cd1c00d0a179f4b0893ddf84cdafc6830b2ceafc814804dfff9a5","signature":"4d71e33886aa72fef5fe425d76a3557f6553ee0b08863733656d58b91b8a6e77"},{"version":"bb910d1f2b86cb2b13a84b50da064fc46a91c47af0105a4f4ad2479fd41445e4","signature":"c3bf4a4609d39a265e8d2243b70189b7a6b1ac23bc6ee209e72c5612fc639724"},{"version":"abf157af4c9f3385a2f62d2fd751d67e868bd66bde489ca17d8bea83bfe0e9e5","signature":"3244739232ed0f77eb4aa4cd9af4feddcf5c3eabdf4f6c3388a5a75569935adb"},{"version":"10264fe1de3f0382802714f56b647344e758d682320b9605b0cd133a5322b7eb","signature":"027a0b75ecc4aca51f293dab58d070cd0d844e64c1557fcefa3581617f0b9733"},{"version":"6e7f5400a1a989d6980fc1dade95d46f5f6194706420f9919b27b256d34b59ce","signature":"1f33200b9e8be924894b2a94bbf9d3284cad94358a2d12fbf51d920219256ae5"},{"version":"fb82dc4ee7474b17ee18f8f486c72dc08d4a4a58de1fa5bd848f605dc35aea56","signature":"4dfc999d370f6f4e1172db031360eb34235ed377f9556010e0abba18df13a4be"},{"version":"4d7527ca5cc5b43998dea53a70b01fcae3f3ddcfdd570d8f677813107d198b4f","signature":"d0e23e1faa28d5e2cd295e0ee3348313884513c7db2e17609664c01a95228ba3"},{"version":"d9a2200bf067484badf94fe9d428bf0e4109700ba825c1709d1e687bc393b8a1","signature":"30c398411c923b113ad0b26b098390592475ee2474ff68a6c6115998d38babc5"},{"version":"1bb614fee833c30ffdc7ccac0743f50bc58ad8da274759973b1f8ee223a5f482","signature":"658f275e39f25ec9655c143d4604e7aca92cbd4725466976160f1b1d82e22096"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[69,83]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"checkJs":true,"declaration":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"strict":true,"target":1},"fileIdsList":[[84],[119],[120,125,153],[121,132,133,140,150,161],[121,122,132,140],[123,162],[124,125,133,141],[125,150,158],[126,128,132,140],[119,127],[128,129],[132],[130,132],[119,132],[132,133,134,150,161],[132,133,134,147,150,153],[117,120,166],[128,132,135,140,150,161],[132,133,135,136,140,150,158,161],[135,137,150,158,161],[84,85,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168],[132,138],[139,161,166],[128,132,140,150],[141],[142],[119,143],[144,160,166],[145],[146],[132,147,148],[147,149,162,164],[120,132,150,151,152,153],[120,150,152],[150,151],[153],[154],[119,150],[132,156,157],[156,157],[125,140,150,158],[159],[140,160],[120,135,146,161],[125,162],[150,163],[139,164],[165],[120,125,132,134,143,150,161,164,166],[150,167],[94,98,161],[94,150,161],[89],[91,94,158,161],[140,158],[169],[89,169],[91,94,140,161],[86,87,90,93,120,132,150,161],[86,92],[90,94,120,153,161,169],[120,169],[110,120,169],[88,89,169],[94],[88,89,90,91,92,93,94,95,96,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116],[94,101,102],[92,94,102,103],[93],[86,89,94],[94,98,102,103],[98],[92,94,97,161],[86,91,92,94,98,101],[120,150],[89,94,110,120,166,169],[70,72,73],[76],[69,70,71,72],[70],[69,70],[70,71],[69]],"referencedMap":[[84,1],[85,1],[119,2],[120,3],[121,4],[122,5],[123,6],[124,7],[125,8],[126,9],[127,10],[128,11],[129,11],[131,12],[130,13],[132,14],[133,15],[134,16],[118,17],[135,18],[136,19],[137,20],[169,21],[138,22],[139,23],[140,24],[141,25],[142,26],[143,27],[144,28],[145,29],[146,30],[147,31],[148,31],[149,32],[150,33],[152,34],[151,35],[153,36],[154,37],[155,38],[156,39],[157,40],[158,41],[159,42],[160,43],[161,44],[162,45],[163,46],[164,47],[165,48],[166,49],[167,50],[101,51],[108,52],[100,51],[115,53],[92,54],[91,55],[114,56],[109,57],[112,58],[94,59],[93,60],[89,61],[88,62],[111,63],[90,64],[95,65],[99,65],[117,66],[116,65],[103,67],[104,68],[106,69],[102,70],[105,71],[110,56],[97,72],[98,73],[107,74],[87,75],[113,76],[82,77],[83,78],[73,79],[76,80],[71,81],[79,82],[70,83]],"exportedModulesMap":[[84,1],[85,1],[119,2],[120,3],[121,4],[122,5],[123,6],[124,7],[125,8],[126,9],[127,10],[128,11],[129,11],[131,12],[130,13],[132,14],[133,15],[134,16],[118,17],[135,18],[136,19],[137,20],[169,21],[138,22],[139,23],[140,24],[141,25],[142,26],[143,27],[144,28],[145,29],[146,30],[147,31],[148,31],[149,32],[150,33],[152,34],[151,35],[153,36],[154,37],[155,38],[156,39],[157,40],[158,41],[159,42],[160,43],[161,44],[162,45],[163,46],[164,47],[165,48],[166,49],[167,50],[101,51],[108,52],[100,51],[115,53],[92,54],[91,55],[114,56],[109,57],[112,58],[94,59],[93,60],[89,61],[88,62],[111,63],[90,64],[95,65],[99,65],[117,66],[116,65],[103,67],[104,68],[106,69],[102,70],[105,71],[110,56],[97,72],[98,73],[107,74],[87,75],[113,76],[82,80],[73,80],[76,80],[71,80],[79,80],[70,83]],"semanticDiagnosticsPerFile":[84,85,119,120,121,122,123,124,125,126,127,128,129,131,130,132,133,134,118,168,135,136,137,169,138,139,140,141,142,143,144,145,146,147,148,149,150,152,151,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,67,68,12,14,13,2,15,16,17,18,19,20,21,22,3,23,4,24,28,25,26,27,29,30,31,5,32,33,34,35,6,39,36,37,38,40,7,41,46,47,42,43,44,45,8,51,48,49,50,52,9,53,54,55,58,56,57,59,60,10,1,61,11,65,63,62,66,64,101,108,100,115,92,91,114,109,112,94,93,89,88,111,90,95,96,99,86,117,116,103,104,106,102,105,110,97,98,107,87,113,81,82,83,73,69,74,75,76,71,72,77,78,79,80,70]},"version":"5.4.2"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toosoon-utils",
3
- "version": "3.0.3",
3
+ "version": "3.1.0",
4
4
  "description": "Utility functions & classes",
5
5
  "engines": {
6
6
  "node": ">=16"
@@ -15,6 +15,7 @@
15
15
  "./geometry": "./lib/geometry.js",
16
16
  "./maths": "./lib/maths.js",
17
17
  "./prng": "./lib/prng.js",
18
+ "./query": "./lib/query.js",
18
19
  "./random": "./lib/random.js",
19
20
  "./strings": "./lib/strings.js",
20
21
  "./constants": "./lib/constants.js",