@hrnec06/util 1.4.14
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 +1 -0
- package/dist/cjs/array.d.ts +3 -0
- package/dist/cjs/array.js +27 -0
- package/dist/cjs/array.js.map +1 -0
- package/dist/cjs/general.d.ts +37 -0
- package/dist/cjs/general.js +151 -0
- package/dist/cjs/general.js.map +1 -0
- package/dist/cjs/index.d.ts +11 -0
- package/dist/cjs/index.js +28 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/AsyncClass.d.ts +13 -0
- package/dist/cjs/lib/AsyncClass.js +37 -0
- package/dist/cjs/lib/AsyncClass.js.map +1 -0
- package/dist/cjs/lib/Listenable.d.ts +21 -0
- package/dist/cjs/lib/Listenable.js +51 -0
- package/dist/cjs/lib/Listenable.js.map +1 -0
- package/dist/cjs/lib/UnitsCalculator.d.ts +27 -0
- package/dist/cjs/lib/UnitsCalculator.js +88 -0
- package/dist/cjs/lib/UnitsCalculator.js.map +1 -0
- package/dist/cjs/math.d.ts +1 -0
- package/dist/cjs/math.js +11 -0
- package/dist/cjs/math.js.map +1 -0
- package/dist/cjs/polyfill.d.ts +1 -0
- package/dist/cjs/polyfill.js +15 -0
- package/dist/cjs/polyfill.js.map +1 -0
- package/dist/cjs/record.d.ts +28 -0
- package/dist/cjs/record.js +166 -0
- package/dist/cjs/record.js.map +1 -0
- package/dist/cjs/string.d.ts +32 -0
- package/dist/cjs/string.js +99 -0
- package/dist/cjs/string.js.map +1 -0
- package/dist/cjs/types.d.ts +36 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/vector.d.ts +17 -0
- package/dist/cjs/vector.js +86 -0
- package/dist/cjs/vector.js.map +1 -0
- package/dist/esm/array.d.ts +3 -0
- package/dist/esm/array.js +22 -0
- package/dist/esm/array.js.map +1 -0
- package/dist/esm/general.d.ts +37 -0
- package/dist/esm/general.js +140 -0
- package/dist/esm/general.js.map +1 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/AsyncClass.d.ts +13 -0
- package/dist/esm/lib/AsyncClass.js +33 -0
- package/dist/esm/lib/AsyncClass.js.map +1 -0
- package/dist/esm/lib/Listenable.d.ts +21 -0
- package/dist/esm/lib/Listenable.js +48 -0
- package/dist/esm/lib/Listenable.js.map +1 -0
- package/dist/esm/lib/UnitsCalculator.d.ts +27 -0
- package/dist/esm/lib/UnitsCalculator.js +86 -0
- package/dist/esm/lib/UnitsCalculator.js.map +1 -0
- package/dist/esm/math.d.ts +1 -0
- package/dist/esm/math.js +8 -0
- package/dist/esm/math.js.map +1 -0
- package/dist/esm/polyfill.d.ts +1 -0
- package/dist/esm/polyfill.js +12 -0
- package/dist/esm/polyfill.js.map +1 -0
- package/dist/esm/record.d.ts +28 -0
- package/dist/esm/record.js +143 -0
- package/dist/esm/record.js.map +1 -0
- package/dist/esm/string.d.ts +32 -0
- package/dist/esm/string.js +88 -0
- package/dist/esm/string.js.map +1 -0
- package/dist/esm/types.d.ts +36 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/vector.d.ts +17 -0
- package/dist/esm/vector.js +68 -0
- package/dist/esm/vector.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.recordIn = recordIn;
|
|
4
|
+
exports.keys = keys;
|
|
5
|
+
exports.values = values;
|
|
6
|
+
exports.entries = entries;
|
|
7
|
+
exports.entriesToRecord = entriesToRecord;
|
|
8
|
+
exports.keysToRecord = keysToRecord;
|
|
9
|
+
exports.valuesToRecord = valuesToRecord;
|
|
10
|
+
exports.length = length;
|
|
11
|
+
exports.find = find;
|
|
12
|
+
exports.findKey = findKey;
|
|
13
|
+
exports.findValue = findValue;
|
|
14
|
+
exports.mapRecord = mapRecord;
|
|
15
|
+
exports.map = map;
|
|
16
|
+
exports.mapKeys = mapKeys;
|
|
17
|
+
exports.mapValues = mapValues;
|
|
18
|
+
exports.filter = filter;
|
|
19
|
+
exports.forEach = forEach;
|
|
20
|
+
exports.every = every;
|
|
21
|
+
exports.some = some;
|
|
22
|
+
exports.recordify = recordify;
|
|
23
|
+
exports.flat = flat;
|
|
24
|
+
function recordIn(object, key) {
|
|
25
|
+
return key in object;
|
|
26
|
+
}
|
|
27
|
+
// Basic
|
|
28
|
+
function keys(object) {
|
|
29
|
+
const keys = [];
|
|
30
|
+
for (const key in object)
|
|
31
|
+
keys.push(key);
|
|
32
|
+
return keys;
|
|
33
|
+
}
|
|
34
|
+
function values(object) {
|
|
35
|
+
const values = [];
|
|
36
|
+
for (const key in object)
|
|
37
|
+
values.push(object[key]);
|
|
38
|
+
return values;
|
|
39
|
+
}
|
|
40
|
+
function entries(object) {
|
|
41
|
+
const entries = [];
|
|
42
|
+
for (const key in object)
|
|
43
|
+
entries.push([key, object[key]]);
|
|
44
|
+
return entries;
|
|
45
|
+
}
|
|
46
|
+
function entriesToRecord(entries) {
|
|
47
|
+
const record = {};
|
|
48
|
+
for (const entry of entries)
|
|
49
|
+
record[entry[0]] = entry[1];
|
|
50
|
+
return record;
|
|
51
|
+
}
|
|
52
|
+
function keysToRecord(keys, callback) {
|
|
53
|
+
const record = {};
|
|
54
|
+
let ix = 0;
|
|
55
|
+
for (const key of keys)
|
|
56
|
+
record[key] = callback(key, ix++);
|
|
57
|
+
return record;
|
|
58
|
+
}
|
|
59
|
+
function valuesToRecord(values, callback) {
|
|
60
|
+
const record = {};
|
|
61
|
+
let ix = 0;
|
|
62
|
+
for (const value of values)
|
|
63
|
+
record[callback(value, ix++)] = value;
|
|
64
|
+
return record;
|
|
65
|
+
}
|
|
66
|
+
function length(object) {
|
|
67
|
+
return keys(object).length;
|
|
68
|
+
}
|
|
69
|
+
// Find
|
|
70
|
+
function find(object, callback) {
|
|
71
|
+
let ix = 0;
|
|
72
|
+
for (const key in object) {
|
|
73
|
+
if (callback(key, object[key], ix++))
|
|
74
|
+
return [key, object[key]];
|
|
75
|
+
}
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
function findKey(object, callback) {
|
|
79
|
+
const result = find(object, callback);
|
|
80
|
+
return result !== undefined ? result[0] : undefined;
|
|
81
|
+
}
|
|
82
|
+
function findValue(object, callback) {
|
|
83
|
+
const result = find(object, callback);
|
|
84
|
+
return result !== undefined ? result[1] : undefined;
|
|
85
|
+
}
|
|
86
|
+
// Map
|
|
87
|
+
function mapRecord(object, callback) {
|
|
88
|
+
const newObject = {};
|
|
89
|
+
let ix = 0;
|
|
90
|
+
for (const key in object) {
|
|
91
|
+
const result = callback(key, object[key], ix++);
|
|
92
|
+
newObject[result[0]] = result[1];
|
|
93
|
+
}
|
|
94
|
+
return newObject;
|
|
95
|
+
}
|
|
96
|
+
function map(object, callback) {
|
|
97
|
+
const mapped = [];
|
|
98
|
+
let ix = 0;
|
|
99
|
+
for (const key in object) {
|
|
100
|
+
mapped.push(callback(key, object[key], ix++));
|
|
101
|
+
}
|
|
102
|
+
return mapped;
|
|
103
|
+
}
|
|
104
|
+
function mapKeys(object, callback) {
|
|
105
|
+
return mapRecord(object, (k, v, i) => [callback(k, v, i), v]);
|
|
106
|
+
}
|
|
107
|
+
function mapValues(object, callback) {
|
|
108
|
+
return mapRecord(object, (k, v, i) => [k, callback(k, v, i)]);
|
|
109
|
+
}
|
|
110
|
+
// Filter
|
|
111
|
+
function filter(object, callback) {
|
|
112
|
+
const newObject = {};
|
|
113
|
+
let ix = 0;
|
|
114
|
+
for (const key in object) {
|
|
115
|
+
if (callback(key, object[key], ix++))
|
|
116
|
+
newObject[key] = object[key];
|
|
117
|
+
}
|
|
118
|
+
return newObject;
|
|
119
|
+
}
|
|
120
|
+
// Foreach
|
|
121
|
+
function forEach(object, callback) {
|
|
122
|
+
let ix = 0;
|
|
123
|
+
for (const key in object) {
|
|
124
|
+
callback(key, object[key], ix++);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// Every & some
|
|
128
|
+
function every(object, callback) {
|
|
129
|
+
let ix = 0;
|
|
130
|
+
for (const key in object) {
|
|
131
|
+
if (!callback(key, object[key], ix++))
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
function some(object, callback) {
|
|
137
|
+
let ix = 0;
|
|
138
|
+
for (const key in object) {
|
|
139
|
+
if (callback(key, object[key], ix++))
|
|
140
|
+
return true;
|
|
141
|
+
}
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
// Recordify
|
|
145
|
+
function recordify(array, callback) {
|
|
146
|
+
const record = {};
|
|
147
|
+
for (let i = 0; i < array.length; i++) {
|
|
148
|
+
const result = callback(array[i], i);
|
|
149
|
+
record[result[0]] = result[1];
|
|
150
|
+
}
|
|
151
|
+
return record;
|
|
152
|
+
}
|
|
153
|
+
function flat(record, includeParentKeys = false) {
|
|
154
|
+
const result = {};
|
|
155
|
+
for (const parentKey in record) {
|
|
156
|
+
const inner = record[parentKey];
|
|
157
|
+
for (const childKey in inner) {
|
|
158
|
+
let key = childKey;
|
|
159
|
+
if (includeParentKeys)
|
|
160
|
+
key = parentKey + childKey;
|
|
161
|
+
result[key] = inner[childKey];
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return result;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capitalizes a string.
|
|
3
|
+
*/
|
|
4
|
+
export declare function capitalizeString<K extends string>(string: K): Capitalize<K>;
|
|
5
|
+
/**
|
|
6
|
+
* Vrátí variantu podle pádu.
|
|
7
|
+
*
|
|
8
|
+
* @param var1 Deset `jablek`
|
|
9
|
+
* @param var2 Jedno `jablko`
|
|
10
|
+
* @param var3 Dvě `jablka`
|
|
11
|
+
*/
|
|
12
|
+
export declare function getStringForm<A extends string, B extends string, C extends string>(n: number, var1: A, var2: B, var3: C): A | B | C;
|
|
13
|
+
/**
|
|
14
|
+
* Get similarity in % of two strings
|
|
15
|
+
*
|
|
16
|
+
* @param wordA String A
|
|
17
|
+
* @param wordB String B
|
|
18
|
+
* @returns Score between 0.0 - 1.0
|
|
19
|
+
*/
|
|
20
|
+
export declare function compareString(wordA: string, wordB: string): number;
|
|
21
|
+
/**
|
|
22
|
+
* Find distance using Levenshtein distance
|
|
23
|
+
*
|
|
24
|
+
* @doc https://en.wikipedia.org/wiki/Levenshtein_distance
|
|
25
|
+
* @returns Distance between the two words.
|
|
26
|
+
*/
|
|
27
|
+
export declare function LevenshteinDistance(wordA: string, wordB: string): number;
|
|
28
|
+
export declare function trimStart(str: string, char: string): string;
|
|
29
|
+
export declare function trimEnd(str: string, char: string): string;
|
|
30
|
+
export declare function trim(str: string, char: string): string;
|
|
31
|
+
export declare function strRepeat(string: string, count: number): string;
|
|
32
|
+
export declare function padString(string: string, padding: number, padString?: string): string;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.capitalizeString = capitalizeString;
|
|
4
|
+
exports.getStringForm = getStringForm;
|
|
5
|
+
exports.compareString = compareString;
|
|
6
|
+
exports.LevenshteinDistance = LevenshteinDistance;
|
|
7
|
+
exports.trimStart = trimStart;
|
|
8
|
+
exports.trimEnd = trimEnd;
|
|
9
|
+
exports.trim = trim;
|
|
10
|
+
exports.strRepeat = strRepeat;
|
|
11
|
+
exports.padString = padString;
|
|
12
|
+
/**
|
|
13
|
+
* Capitalizes a string.
|
|
14
|
+
*/
|
|
15
|
+
function capitalizeString(string) {
|
|
16
|
+
return (string.charAt(0).toUpperCase() + string.substring(1));
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Vrátí variantu podle pádu.
|
|
20
|
+
*
|
|
21
|
+
* @param var1 Deset `jablek`
|
|
22
|
+
* @param var2 Jedno `jablko`
|
|
23
|
+
* @param var3 Dvě `jablka`
|
|
24
|
+
*/
|
|
25
|
+
function getStringForm(n, var1, var2, var3) {
|
|
26
|
+
if (n < 0)
|
|
27
|
+
n = Math.abs(n);
|
|
28
|
+
if (!isFinite(n) || isNaN(n))
|
|
29
|
+
return var1;
|
|
30
|
+
if (n === 0 || n > 4)
|
|
31
|
+
return var1;
|
|
32
|
+
if (n === 1)
|
|
33
|
+
return var2;
|
|
34
|
+
if (n > 1 && n < 5)
|
|
35
|
+
return var3;
|
|
36
|
+
return var1;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Get similarity in % of two strings
|
|
40
|
+
*
|
|
41
|
+
* @param wordA String A
|
|
42
|
+
* @param wordB String B
|
|
43
|
+
* @returns Score between 0.0 - 1.0
|
|
44
|
+
*/
|
|
45
|
+
function compareString(wordA, wordB) {
|
|
46
|
+
if (wordA == wordB)
|
|
47
|
+
return 1.0;
|
|
48
|
+
const distance = LevenshteinDistance(wordA, wordB);
|
|
49
|
+
const d = Math.max(wordA.length, wordB.length);
|
|
50
|
+
return Math.max(1 - (distance / d), 0);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Find distance using Levenshtein distance
|
|
54
|
+
*
|
|
55
|
+
* @doc https://en.wikipedia.org/wiki/Levenshtein_distance
|
|
56
|
+
* @returns Distance between the two words.
|
|
57
|
+
*/
|
|
58
|
+
function LevenshteinDistance(wordA, wordB) {
|
|
59
|
+
const memo = {};
|
|
60
|
+
const lev = (a, b) => {
|
|
61
|
+
const key = `${a}.${b}`;
|
|
62
|
+
if (key in memo)
|
|
63
|
+
return memo[key];
|
|
64
|
+
if (b.length === 0)
|
|
65
|
+
return (memo[key] = a.length);
|
|
66
|
+
if (a.length === 0)
|
|
67
|
+
return (memo[key] = b.length);
|
|
68
|
+
if (a[0] === b[0])
|
|
69
|
+
return (memo[key] = lev(a.slice(1), b.slice(1)));
|
|
70
|
+
return (memo[key] = 1 + Math.min(lev(a.slice(1), b), lev(a, b.slice(1)), lev(a.slice(1), b.slice(1))));
|
|
71
|
+
};
|
|
72
|
+
return lev(wordA, wordB);
|
|
73
|
+
}
|
|
74
|
+
function trimStart(str, char) {
|
|
75
|
+
let i = 0;
|
|
76
|
+
while (i < str.length && str[i] === char)
|
|
77
|
+
i++;
|
|
78
|
+
return str.slice(i);
|
|
79
|
+
}
|
|
80
|
+
function trimEnd(str, char) {
|
|
81
|
+
let i = str.length - 1;
|
|
82
|
+
while (i >= 0 && str[i] === char)
|
|
83
|
+
i--;
|
|
84
|
+
return str.slice(0, i + 1);
|
|
85
|
+
}
|
|
86
|
+
function trim(str, char) {
|
|
87
|
+
return trimEnd(trimStart(str, char), char);
|
|
88
|
+
}
|
|
89
|
+
function strRepeat(string, count) {
|
|
90
|
+
let builder = '';
|
|
91
|
+
for (let i = 0; i < count; i++)
|
|
92
|
+
builder += string;
|
|
93
|
+
return builder;
|
|
94
|
+
}
|
|
95
|
+
function padString(string, padding, padString = ' ') {
|
|
96
|
+
const paddingStr = strRepeat(padString, padding);
|
|
97
|
+
return paddingStr + string + paddingStr;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/string.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type Optional<T> = T | undefined;
|
|
3
|
+
export type Nullable<T> = T | null;
|
|
4
|
+
export type Promiseable<T> = T | Promise<T>;
|
|
5
|
+
export type Voidable<T> = T | void;
|
|
6
|
+
export type CanBeReadonly<T> = T | Readonly<T>;
|
|
7
|
+
export type Vector2<T = number> = [T, T];
|
|
8
|
+
export type Vector3<T = number> = [T, T, T];
|
|
9
|
+
export type Primitive = string | number | boolean;
|
|
10
|
+
export type RecordKeys = string | number | symbol;
|
|
11
|
+
export type RecordValues<T> = T[keyof T];
|
|
12
|
+
export interface AnyRecord {
|
|
13
|
+
[key: RecordKeys]: AnyRecord | Primitive;
|
|
14
|
+
}
|
|
15
|
+
export type OptionalSwitch<S extends boolean, T> = S extends true ? Optional<T> : T;
|
|
16
|
+
export type NullableSwitch<S extends boolean, T> = S extends true ? Nullable<T> : T;
|
|
17
|
+
export type SwitchBool<B extends boolean> = B extends true ? false : true;
|
|
18
|
+
export type And<A, B> = A extends true ? (B extends true ? true : false) : false;
|
|
19
|
+
export type Or<A, B> = A extends true ? true : (B extends true ? true : false);
|
|
20
|
+
export type Xor<A, B> = A extends B ? false : true;
|
|
21
|
+
export type Not<A> = A extends true ? false : true;
|
|
22
|
+
export type TypeOf = "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function";
|
|
23
|
+
export type TypeOfMap = {
|
|
24
|
+
"string": string;
|
|
25
|
+
"number": number;
|
|
26
|
+
"bigint": bigint;
|
|
27
|
+
"boolean": boolean;
|
|
28
|
+
"symbol": symbol;
|
|
29
|
+
"undefined": undefined;
|
|
30
|
+
"object": object;
|
|
31
|
+
"function": Function;
|
|
32
|
+
};
|
|
33
|
+
export type ClassInitializer<C extends abstract new (...args: any) => any> = (new (...params: ConstructorParameters<C>) => InstanceType<C>);
|
|
34
|
+
export declare namespace ReactUtils {
|
|
35
|
+
type SetState<T> = React.Dispatch<React.SetStateAction<T>>;
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Vector2, Vector3 } from "./types.js";
|
|
2
|
+
export declare function addVector2(vector1: Vector2, vector2: Vector2): void;
|
|
3
|
+
export declare function removeVector2(vector1: Vector2, vector2: Vector2): void;
|
|
4
|
+
export declare function divideVector2(vector1: Vector2, vector2: Vector2): void;
|
|
5
|
+
export declare function multiplyVector2(vector1: Vector2, vector2: Vector2): void;
|
|
6
|
+
export declare function maxVector2(vector1: Vector2, vector2: Vector2): void;
|
|
7
|
+
export declare function minVector2(vector1: Vector2, vector2: Vector2): void;
|
|
8
|
+
export declare function cloneVector2(vector: Vector2): Vector2;
|
|
9
|
+
export declare function equalsVector2(vector1: Vector2, vector2: Vector2): boolean;
|
|
10
|
+
export declare function addVector3(vector1: Vector3, vector2: Vector3): void;
|
|
11
|
+
export declare function removeVector3(vector1: Vector3, vector2: Vector3): void;
|
|
12
|
+
export declare function divideVector3(vector1: Vector3, vector2: Vector3): void;
|
|
13
|
+
export declare function multiplyVector3(vector1: Vector3, vector2: Vector3): void;
|
|
14
|
+
export declare function maxVector3(vector1: Vector3, vector2: Vector3): void;
|
|
15
|
+
export declare function minVector3(vector1: Vector3, vector2: Vector3): void;
|
|
16
|
+
export declare function cloneVector3(vector: Vector3): Vector3;
|
|
17
|
+
export declare function equalsVector3(vector1: Vector3, vector2: Vector3): boolean;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addVector2 = addVector2;
|
|
4
|
+
exports.removeVector2 = removeVector2;
|
|
5
|
+
exports.divideVector2 = divideVector2;
|
|
6
|
+
exports.multiplyVector2 = multiplyVector2;
|
|
7
|
+
exports.maxVector2 = maxVector2;
|
|
8
|
+
exports.minVector2 = minVector2;
|
|
9
|
+
exports.cloneVector2 = cloneVector2;
|
|
10
|
+
exports.equalsVector2 = equalsVector2;
|
|
11
|
+
exports.addVector3 = addVector3;
|
|
12
|
+
exports.removeVector3 = removeVector3;
|
|
13
|
+
exports.divideVector3 = divideVector3;
|
|
14
|
+
exports.multiplyVector3 = multiplyVector3;
|
|
15
|
+
exports.maxVector3 = maxVector3;
|
|
16
|
+
exports.minVector3 = minVector3;
|
|
17
|
+
exports.cloneVector3 = cloneVector3;
|
|
18
|
+
exports.equalsVector3 = equalsVector3;
|
|
19
|
+
function addVector2(vector1, vector2) {
|
|
20
|
+
vector1[0] += vector2[0];
|
|
21
|
+
vector1[1] += vector2[1];
|
|
22
|
+
}
|
|
23
|
+
function removeVector2(vector1, vector2) {
|
|
24
|
+
vector1[0] -= vector2[0];
|
|
25
|
+
vector1[1] -= vector2[1];
|
|
26
|
+
}
|
|
27
|
+
function divideVector2(vector1, vector2) {
|
|
28
|
+
vector1[0] /= vector2[0];
|
|
29
|
+
vector1[1] /= vector2[1];
|
|
30
|
+
}
|
|
31
|
+
function multiplyVector2(vector1, vector2) {
|
|
32
|
+
vector1[0] *= vector2[0];
|
|
33
|
+
vector1[1] *= vector2[1];
|
|
34
|
+
}
|
|
35
|
+
function maxVector2(vector1, vector2) {
|
|
36
|
+
vector1[0] = Math.max(vector1[0], vector2[0]);
|
|
37
|
+
vector1[1] = Math.max(vector1[1], vector2[1]);
|
|
38
|
+
}
|
|
39
|
+
function minVector2(vector1, vector2) {
|
|
40
|
+
vector1[0] = Math.min(vector1[0], vector2[0]);
|
|
41
|
+
vector1[1] = Math.min(vector1[1], vector2[1]);
|
|
42
|
+
}
|
|
43
|
+
function cloneVector2(vector) {
|
|
44
|
+
return [vector[0], vector[1]];
|
|
45
|
+
}
|
|
46
|
+
function equalsVector2(vector1, vector2) {
|
|
47
|
+
return vector1[0] === vector2[0] && vector1[1] === vector2[1];
|
|
48
|
+
}
|
|
49
|
+
// VECTOR3
|
|
50
|
+
function addVector3(vector1, vector2) {
|
|
51
|
+
vector1[0] += vector2[0];
|
|
52
|
+
vector1[1] += vector2[1];
|
|
53
|
+
vector1[2] += vector2[2];
|
|
54
|
+
}
|
|
55
|
+
function removeVector3(vector1, vector2) {
|
|
56
|
+
vector1[0] -= vector2[0];
|
|
57
|
+
vector1[1] -= vector2[1];
|
|
58
|
+
vector1[2] -= vector2[2];
|
|
59
|
+
}
|
|
60
|
+
function divideVector3(vector1, vector2) {
|
|
61
|
+
vector1[0] /= vector2[0];
|
|
62
|
+
vector1[1] /= vector2[1];
|
|
63
|
+
vector1[2] /= vector2[2];
|
|
64
|
+
}
|
|
65
|
+
function multiplyVector3(vector1, vector2) {
|
|
66
|
+
vector1[0] *= vector2[0];
|
|
67
|
+
vector1[1] *= vector2[1];
|
|
68
|
+
vector1[2] *= vector2[2];
|
|
69
|
+
}
|
|
70
|
+
function maxVector3(vector1, vector2) {
|
|
71
|
+
vector1[0] = Math.max(vector1[0], vector2[0]);
|
|
72
|
+
vector1[1] = Math.max(vector1[1], vector2[1]);
|
|
73
|
+
vector1[2] = Math.max(vector1[2], vector2[2]);
|
|
74
|
+
}
|
|
75
|
+
function minVector3(vector1, vector2) {
|
|
76
|
+
vector1[0] = Math.min(vector1[0], vector2[0]);
|
|
77
|
+
vector1[1] = Math.min(vector1[1], vector2[1]);
|
|
78
|
+
vector1[2] = Math.min(vector1[2], vector2[2]);
|
|
79
|
+
}
|
|
80
|
+
function cloneVector3(vector) {
|
|
81
|
+
return [vector[0], vector[1], vector[2]];
|
|
82
|
+
}
|
|
83
|
+
function equalsVector3(vector1, vector2) {
|
|
84
|
+
return vector1[0] === vector2[0] && vector1[1] === vector2[1] && vector1[2] === vector2[2];
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=vector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/vector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function arrayUnique(array) {
|
|
2
|
+
const unique = [];
|
|
3
|
+
for (const item of array) {
|
|
4
|
+
if (unique.includes(item))
|
|
5
|
+
continue;
|
|
6
|
+
unique.push(item);
|
|
7
|
+
}
|
|
8
|
+
return unique;
|
|
9
|
+
}
|
|
10
|
+
export function forLoop(count, callback) {
|
|
11
|
+
const result = [];
|
|
12
|
+
for (let i = 0; i < count; i++)
|
|
13
|
+
result.push(callback(i));
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
export function reduce(values, callback, initialValue) {
|
|
17
|
+
for (let i = 0; i < values.length; i++) {
|
|
18
|
+
initialValue = callback(initialValue, values[i], i);
|
|
19
|
+
}
|
|
20
|
+
return initialValue;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/array.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAI,KAAU;IACxC,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACxB,SAAS;QACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,KAAa,EAAE,QAA2B;IACpE,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;QAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,MAAM,CAAO,MAAW,EAAE,QAAoD,EAAE,YAAe;IAC9G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,YAAY,GAAG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Nullable } from "./types.js";
|
|
2
|
+
export declare function todo(message?: string): never;
|
|
3
|
+
export declare function assert(condition: boolean, error?: string | Error): asserts condition;
|
|
4
|
+
export declare function debounce(delay: number): Promise<void>;
|
|
5
|
+
export declare function countStep(currentValue: number, targetValue: number, step?: number): number;
|
|
6
|
+
export declare function random(min: number, max: number, round?: boolean): number;
|
|
7
|
+
export declare function duration({ milliseconds, seconds, minutes, hours, days }: {
|
|
8
|
+
milliseconds?: number;
|
|
9
|
+
seconds?: number;
|
|
10
|
+
minutes?: number;
|
|
11
|
+
hours?: number;
|
|
12
|
+
days?: number;
|
|
13
|
+
}): number;
|
|
14
|
+
export declare function deepCompare(itemA: unknown, itemB: unknown): boolean;
|
|
15
|
+
interface StackTraceItem {
|
|
16
|
+
name: string;
|
|
17
|
+
path: string;
|
|
18
|
+
line: number;
|
|
19
|
+
position: number;
|
|
20
|
+
}
|
|
21
|
+
interface InvalidStackTrace {
|
|
22
|
+
value: string;
|
|
23
|
+
}
|
|
24
|
+
type StackTraceList = Array<StackTraceItem | InvalidStackTrace>;
|
|
25
|
+
/**
|
|
26
|
+
* Parses error stack trace
|
|
27
|
+
*
|
|
28
|
+
* @deprecated Doesn't work right with fucking tsx or fucking next.js.
|
|
29
|
+
*/
|
|
30
|
+
export declare function getErrorTrace(): StackTraceList;
|
|
31
|
+
export declare function getCaller(lineOffset?: number): Nullable<{
|
|
32
|
+
at: Nullable<string>;
|
|
33
|
+
file: string;
|
|
34
|
+
line: number;
|
|
35
|
+
char: number;
|
|
36
|
+
}>;
|
|
37
|
+
export {};
|