toosoon-utils 3.0.4 → 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
@@ -651,6 +651,144 @@ Smoothly interpolate a number toward another.
651
651
  damp(value: number, target: number, damping: number, delta: number): number;
652
652
  ```
653
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
+
654
792
  ### Pseudo-Random Number Generator (PRNG)
655
793
 
656
794
  #### PRNG Algorithms
@@ -829,164 +967,143 @@ Generate a pseudo-random number fitting a Gaussian (normal) distribution.
829
967
  randomGaussian(prng: string | object, mean?: number, spread?: number): number;
830
968
  ```
831
969
 
832
- ### Random
970
+ ### Query parameters
833
971
 
834
- ##### randomBoolean(probability)
972
+ ##### getQuery(property)
835
973
 
836
- Generate a random boolean (true or false).
974
+ Get a query parameter.
837
975
 
838
- - `[probability=0.5]`: Probability to get true.
976
+ - `property`: Query property to check.
839
977
 
840
978
  ```ts
841
- randomBoolean(probability?: number): boolean;
979
+ getQuery(property: string): string | null;
842
980
  ```
843
981
 
844
- ##### randomSign(probability)
982
+ ##### setQuery(property)
845
983
 
846
- Generate a random sign (1 or -1).
984
+ Set a query parameter.
847
985
 
848
- - `[probability=0.5]`: Probability to get 1.
986
+ - `property`: Query property to set.
987
+ - `value`: Value to set.
849
988
 
850
989
  ```ts
851
- randomSign(probability?: number): number;
990
+ setQuery(property: string, value: string): void;
852
991
  ```
853
992
 
854
- ##### randomFloat(min, max)
993
+ ##### hasQuery(property)
855
994
 
856
- Generate a random floating-point number within a specified range.
995
+ Check if a query parameter exists.
857
996
 
858
- - `[min=0]`: Minimum boundary.
859
- - `[max=1]`: Maximum boundary.
860
- - `[precision=2]`: Number of digits after the decimal point.
997
+ - `property`: Query property to check.
861
998
 
862
999
  ```ts
863
- randomFloat(min?: number, max?: number, precision?: number): number;
1000
+ hasQuery(property: string): boolean;
864
1001
  ```
865
1002
 
866
- ##### randomInt(min, max)
867
-
868
- Generate a random integer number within a specified range.
1003
+ ### Strings
869
1004
 
870
- - `min`: Minimum boundary.
871
- - `max`: Maximum boundary.
1005
+ #### Cases
872
1006
 
873
- ```ts
874
- randomInt(min: number, max: number): number;
875
- ```
1007
+ ##### capitalize(string)
876
1008
 
877
- ##### randomHexColor()
1009
+ Capitalize a string.
878
1010
 
879
- Generate a random hexadecimal color.
1011
+ - `string`: String to capitalize.
880
1012
 
881
1013
  ```ts
882
- randomHexColor(): string;
1014
+ capitalize(string: string): string;
883
1015
  ```
884
1016
 
885
- ##### randomItem(array)
1017
+ ##### toKebabCase(string)
886
1018
 
887
- Pick a random item from a given array.
1019
+ Convert a string to kebab-case: 'Hello world' -> 'hello-world'.
888
1020
 
889
- - `array`: Array to pick the item from.
1021
+ - `string`: String to convert.
890
1022
 
891
1023
  ```ts
892
- randomItem<T>(array: T[]): T | undefined;
1024
+ toKebabCase(string: string): string;
893
1025
  ```
894
1026
 
895
- ##### randomObjectProperty(object)
1027
+ ##### toSnakeCase(string)
896
1028
 
897
- Pick a random property value from a given object.
1029
+ Convert a string to snake_case: 'Hello world' -> 'hello_world'.
898
1030
 
899
- - `object`: Object to pick the property from.
1031
+ - `string`: String to convert.
900
1032
 
901
1033
  ```ts
902
- randomObjectProperty<T>(object: Record<string, T>): T | undefined;
1034
+ toSnakeCase(string: string): string;
903
1035
  ```
904
1036
 
905
- ##### randomIndex(weights)
1037
+ ##### toCamelCase(string)
906
1038
 
907
- Select a random index from an array of weighted items.
1039
+ Convert a string to camelCase: 'Hello world' -> 'helloWorld'.
908
1040
 
909
- - `weights`: Array of weights.
1041
+ - `string`: String to convert.
910
1042
 
911
1043
  ```ts
912
- randomIndex(weights: number[]): number;
1044
+ toCamelCase(string: string): string;
913
1045
  ```
914
1046
 
915
- ##### randomGaussian(mean, spread)
1047
+ ##### toPascalCase(string)
916
1048
 
917
- Generate a random number fitting a Gaussian (normal) distribution.
1049
+ Convert a string to PascalCase: 'Hello world' -> 'HelloWorld'.
918
1050
 
919
- - `[mean=0]`: Central value.
920
- - `[spread=1]`: Standard deviation.
1051
+ - `string`: String to convert.
921
1052
 
922
1053
  ```ts
923
- randomGaussian(mean?: number, spread?: number): number;
1054
+ toPascalCase(string: string): string;
924
1055
  ```
925
1056
 
926
- ##### onCircle(radius)
1057
+ ##### toTrainCase(string)
927
1058
 
928
- Produce a random 2D point around the perimiter of a unit circle.
1059
+ Convert a string to Train-Case: 'Hello world' -> 'Hello-World'.
929
1060
 
930
- - `[radius=1]`: Radius of the circle.
931
- - `[target]`: Target vector.
1061
+ - `string`: String to convert.
932
1062
 
933
1063
  ```ts
934
- onCircle(radius?: number, target?: Vector2): Vector2;
1064
+ toTrainCase(string: string): string;
935
1065
  ```
936
1066
 
937
- ##### insideCircle(radius)
1067
+ ##### toConstantCase(string)
938
1068
 
939
- Produce a random 2D point inside a unit circle.
1069
+ Convert a string to CONSTANT_CASE: 'Hello world' -> 'HELLO_WORLD'.
940
1070
 
941
- - `[radius=1]`: Radius of the circle.
942
- - `[target]` Target vector.
1071
+ - `string`: String to convert.
943
1072
 
944
1073
  ```ts
945
- insideCircle(radius?: number, target?: Vector2): Vector2;
1074
+ toConstantCase(string: string): string;
946
1075
  ```
947
1076
 
948
- ##### onSphere(radius)
949
-
950
- Produce a random 3D point on the surface of a unit sphere.
951
-
952
- - `[radius=1]`: Radius of the sphere.
953
- - `[target]`: Target vector.
954
-
955
- ```ts
956
- onSphere(radius?: number, target?: Vector3): Vector3;
957
- ```
1077
+ #### Paths
958
1078
 
959
- ##### insideSphere(radius)
1079
+ ##### cleanPath(path)
960
1080
 
961
- Produce a random 3D point inside a unit sphere.
1081
+ Clean a path by removing its parameters.
962
1082
 
963
- - `[radius=1]`: Radius of the sphere.
964
- - `[target]`: Target vector.
1083
+ - `path`: Path to clean.
965
1084
 
966
1085
  ```ts
967
- insideSphere(radius?: number, target?: Vector3): Vector3;
1086
+ cleanPath(path: string): string;
968
1087
  ```
969
1088
 
970
- ### Strings
1089
+ ##### addTrailingSlash(path)
971
1090
 
972
- ##### capitalize(string)
1091
+ Convert a path by ensuring it has a trailing slash.
973
1092
 
974
- Capitalize a string.
975
-
976
- - `string`: String to capitalize.
1093
+ - `path`: Path to convert.
977
1094
 
978
1095
  ```ts
979
- capitalize(string: string): string;
1096
+ addTrailingSlash(path: string): string;
980
1097
  ```
981
1098
 
982
- ##### cleanPath(path)
1099
+ ##### removeTrailingSlash(path)
983
1100
 
984
- Clean a path by removing params.
1101
+ Convert a path by ensuring it has not a trailing slash.
985
1102
 
986
- - `path`: Path to clean.
1103
+ - `path`: Path to convert.
987
1104
 
988
1105
  ```ts
989
- cleanPath(path: string): string;
1106
+ removeTrailingSlash(path: string): string;
990
1107
  ```
991
1108
 
992
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) {
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/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":"bb910d1f2b86cb2b13a84b50da064fc46a91c47af0105a4f4ad2479fd41445e4","signature":"c3bf4a4609d39a265e8d2243b70189b7a6b1ac23bc6ee209e72c5612fc639724"},{"version":"abf157af4c9f3385a2f62d2fd751d67e868bd66bde489ca17d8bea83bfe0e9e5","signature":"3244739232ed0f77eb4aa4cd9af4feddcf5c3eabdf4f6c3388a5a75569935adb"},{"version":"6e7f5400a1a989d6980fc1dade95d46f5f6194706420f9919b27b256d34b59ce","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.4",
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",