zcw-shared 1.32.4 → 1.33.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/dist/functions/dom/pickFile.d.ts +6 -4
- package/dist/functions/dom/pickFile.js +12 -3
- package/dist/functions/dom/pickFile.js.map +1 -1
- package/dist/functions/wechat/useWxWebShare.d.ts +26 -0
- package/dist/functions/wechat/useWxWebShare.js +141 -0
- package/dist/functions/wechat/useWxWebShare.js.map +1 -0
- package/package.json +5 -3
- package/references/wechat.d.ts +35 -0
- package/dist/functions/platform/tencent-cloud/deploy.tcb.d.ts +0 -13
- package/dist/functions/platform/tencent-cloud/deploy.tcb.js +0 -46
- package/dist/functions/platform/tencent-cloud/deploy.tcb.js.map +0 -1
- package/dist/functions/platform/tencent-cloud/getSecret.d.ts +0 -4
- package/dist/functions/platform/tencent-cloud/getSecret.js +0 -19
- package/dist/functions/platform/tencent-cloud/getSecret.js.map +0 -1
- package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.d.ts +0 -27
- package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.js +0 -287
- package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.js.map +0 -1
- package/dist/functions/platform/uniapp/build.d.ts +0 -21
- package/dist/functions/platform/uniapp/build.js +0 -83
- package/dist/functions/platform/uniapp/build.js.map +0 -1
- package/dist/functions/platform/uniapp/detectAndroidProjectStructure.d.ts +0 -11
- package/dist/functions/platform/uniapp/detectAndroidProjectStructure.js +0 -30
- package/dist/functions/platform/uniapp/detectAndroidProjectStructure.js.map +0 -1
- package/dist/functions/platform/uniapp/detectProjectType.d.ts +0 -20
- package/dist/functions/platform/uniapp/detectProjectType.js +0 -68
- package/dist/functions/platform/uniapp/detectProjectType.js.map +0 -1
- package/dist/functions/platform/uniapp/parseManifest.d.ts +0 -18
- package/dist/functions/platform/uniapp/parseManifest.js +0 -49
- package/dist/functions/platform/uniapp/parseManifest.js.map +0 -1
- package/dist/functions/platform/uniapp/waitForPages.d.ts +0 -7
- package/dist/functions/platform/uniapp/waitForPages.js +0 -20
- package/dist/functions/platform/uniapp/waitForPages.js.map +0 -1
- package/dist/functions/string/visualizeRegexSteps.d.ts +0 -39
- package/dist/functions/string/visualizeRegexSteps.js +0 -446
- package/dist/functions/string/visualizeRegexSteps.js.map +0 -1
- package/dist/functions/utils/AVLTree.d.ts +0 -19
- package/dist/functions/utils/AVLTree.js +0 -197
- package/dist/functions/utils/AVLTree.js.map +0 -1
- package/dist/functions/utils/BinarySearchTree.d.ts +0 -19
- package/dist/functions/utils/BinarySearchTree.js +0 -150
- package/dist/functions/utils/BinarySearchTree.js.map +0 -1
- package/dist/functions/utils/EventEmitter.d.ts +0 -32
- package/dist/functions/utils/EventEmitter.js +0 -108
- package/dist/functions/utils/EventEmitter.js.map +0 -1
- package/dist/functions/utils/Graph.d.ts +0 -19
- package/dist/functions/utils/Graph.js +0 -190
- package/dist/functions/utils/Graph.js.map +0 -1
- package/dist/functions/utils/HashMap.d.ts +0 -13
- package/dist/functions/utils/HashMap.js +0 -128
- package/dist/functions/utils/HashMap.js.map +0 -1
- package/dist/functions/utils/Heap.d.ts +0 -11
- package/dist/functions/utils/Heap.js +0 -91
- package/dist/functions/utils/Heap.js.map +0 -1
- package/dist/functions/utils/LRUCache.d.ts +0 -41
- package/dist/functions/utils/LRUCache.js +0 -182
- package/dist/functions/utils/LRUCache.js.map +0 -1
- package/dist/functions/utils/LinkedList.d.ts +0 -18
- package/dist/functions/utils/LinkedList.js +0 -135
- package/dist/functions/utils/LinkedList.js.map +0 -1
- package/dist/functions/utils/MyPromise.d.ts +0 -32
- package/dist/functions/utils/MyPromise.js +0 -254
- package/dist/functions/utils/MyPromise.js.map +0 -1
- package/dist/functions/utils/PriorityQueue.d.ts +0 -14
- package/dist/functions/utils/PriorityQueue.js +0 -77
- package/dist/functions/utils/PriorityQueue.js.map +0 -1
- package/dist/functions/utils/Queue.d.ts +0 -10
- package/dist/functions/utils/Queue.js +0 -27
- package/dist/functions/utils/Queue.js.map +0 -1
- package/dist/functions/utils/Stack.d.ts +0 -10
- package/dist/functions/utils/Stack.js +0 -27
- package/dist/functions/utils/Stack.js.map +0 -1
- package/dist/functions/utils/Trie.d.ts +0 -16
- package/dist/functions/utils/Trie.js +0 -127
- package/dist/functions/utils/Trie.js.map +0 -1
- package/dist/functions/utils/UnionFind.d.ts +0 -8
- package/dist/functions/utils/UnionFind.js +0 -53
- package/dist/functions/utils/UnionFind.js.map +0 -1
- package/dist/functions/utils/cachedAsync.d.ts +0 -27
- package/dist/functions/utils/cachedAsync.js +0 -123
- package/dist/functions/utils/cachedAsync.js.map +0 -1
- package/dist/functions/utils/compose.d.ts +0 -1
- package/dist/functions/utils/compose.js +0 -10
- package/dist/functions/utils/compose.js.map +0 -1
- package/dist/functions/utils/cond.d.ts +0 -1
- package/dist/functions/utils/cond.js +0 -15
- package/dist/functions/utils/cond.js.map +0 -1
- package/dist/functions/utils/createI18n.d.ts +0 -2
- package/dist/functions/utils/createI18n.js +0 -97
- package/dist/functions/utils/createI18n.js.map +0 -1
- package/dist/functions/utils/createReactive.d.ts +0 -10
- package/dist/functions/utils/createReactive.js +0 -50
- package/dist/functions/utils/createReactive.js.map +0 -1
- package/dist/functions/utils/curry.d.ts +0 -1
- package/dist/functions/utils/curry.js +0 -13
- package/dist/functions/utils/curry.js.map +0 -1
- package/dist/functions/utils/curryAdvanced.d.ts +0 -8
- package/dist/functions/utils/curryAdvanced.js +0 -87
- package/dist/functions/utils/curryAdvanced.js.map +0 -1
- package/dist/functions/utils/debounce.d.ts +0 -5
- package/dist/functions/utils/debounce.js +0 -12
- package/dist/functions/utils/debounce.js.map +0 -1
- package/dist/functions/utils/deepClone.d.ts +0 -12
- package/dist/functions/utils/deepClone.js +0 -131
- package/dist/functions/utils/deepClone.js.map +0 -1
- package/dist/functions/utils/errorManager.d.ts +0 -63
- package/dist/functions/utils/errorManager.js +0 -199
- package/dist/functions/utils/errorManager.js.map +0 -1
- package/dist/functions/utils/evolve.d.ts +0 -3
- package/dist/functions/utils/evolve.js +0 -15
- package/dist/functions/utils/evolve.js.map +0 -1
- package/dist/functions/utils/flatten.d.ts +0 -7
- package/dist/functions/utils/flatten.js +0 -60
- package/dist/functions/utils/flatten.js.map +0 -1
- package/dist/functions/utils/flattenObject.d.ts +0 -5
- package/dist/functions/utils/flattenObject.js +0 -102
- package/dist/functions/utils/flattenObject.js.map +0 -1
- package/dist/functions/utils/flow.d.ts +0 -1
- package/dist/functions/utils/flow.js +0 -14
- package/dist/functions/utils/flow.js.map +0 -1
- package/dist/functions/utils/formatString.d.ts +0 -5
- package/dist/functions/utils/formatString.js +0 -9
- package/dist/functions/utils/formatString.js.map +0 -1
- package/dist/functions/utils/functionBind.d.ts +0 -4
- package/dist/functions/utils/functionBind.js +0 -33
- package/dist/functions/utils/functionBind.js.map +0 -1
- package/dist/functions/utils/i18n.d.ts +0 -27
- package/dist/functions/utils/i18n.js +0 -119
- package/dist/functions/utils/i18n.js.map +0 -1
- package/dist/functions/utils/memoize.d.ts +0 -1
- package/dist/functions/utils/memoize.js +0 -13
- package/dist/functions/utils/memoize.js.map +0 -1
- package/dist/functions/utils/myInstanceof.d.ts +0 -5
- package/dist/functions/utils/myInstanceof.js +0 -56
- package/dist/functions/utils/myInstanceof.js.map +0 -1
- package/dist/functions/utils/myNew.d.ts +0 -3
- package/dist/functions/utils/myNew.js +0 -19
- package/dist/functions/utils/myNew.js.map +0 -1
- package/dist/functions/utils/once.d.ts +0 -1
- package/dist/functions/utils/once.js +0 -13
- package/dist/functions/utils/once.js.map +0 -1
- package/dist/functions/utils/partial.d.ts +0 -1
- package/dist/functions/utils/partial.js +0 -13
- package/dist/functions/utils/partial.js.map +0 -1
- package/dist/functions/utils/permission.d.ts +0 -40
- package/dist/functions/utils/permission.js +0 -189
- package/dist/functions/utils/permission.js.map +0 -1
- package/dist/functions/utils/pinia.d.ts +0 -52
- package/dist/functions/utils/pinia.js +0 -183
- package/dist/functions/utils/pinia.js.map +0 -1
- package/dist/functions/utils/pipe.d.ts +0 -1
- package/dist/functions/utils/pipe.js +0 -10
- package/dist/functions/utils/pipe.js.map +0 -1
- package/dist/functions/utils/promiseLimit.d.ts +0 -10
- package/dist/functions/utils/promiseLimit.js +0 -125
- package/dist/functions/utils/promiseLimit.js.map +0 -1
- package/dist/functions/utils/retryWithBackoff.d.ts +0 -12
- package/dist/functions/utils/retryWithBackoff.js +0 -29
- package/dist/functions/utils/retryWithBackoff.js.map +0 -1
- package/dist/functions/utils/tap.d.ts +0 -1
- package/dist/functions/utils/tap.js +0 -14
- package/dist/functions/utils/tap.js.map +0 -1
- package/dist/functions/utils/throttle.d.ts +0 -1
- package/dist/functions/utils/throttle.js +0 -11
- package/dist/functions/utils/throttle.js.map +0 -1
- package/dist/functions/utils/unique.d.ts +0 -10
- package/dist/functions/utils/unique.js +0 -85
- package/dist/functions/utils/unique.js.map +0 -1
- package/dist/functions/utils/until.d.ts +0 -1
- package/dist/functions/utils/until.js +0 -10
- package/dist/functions/utils/until.js.map +0 -1
- package/dist/hooks/createGlobalState.d.ts +0 -2
- package/dist/hooks/createGlobalState.js +0 -11
- package/dist/hooks/createGlobalState.js.map +0 -1
- package/dist/hooks/createInjectionState.d.ts +0 -14
- package/dist/hooks/createInjectionState.js +0 -20
- package/dist/hooks/createInjectionState.js.map +0 -1
- package/dist/hooks/createSharedComposable.d.ts +0 -2
- package/dist/hooks/createSharedComposable.js +0 -13
- package/dist/hooks/createSharedComposable.js.map +0 -1
- package/dist/hooks/injectLocal.d.ts +0 -10
- package/dist/hooks/injectLocal.js +0 -12
- package/dist/hooks/injectLocal.js.map +0 -1
- package/dist/hooks/provideLocal.d.ts +0 -9
- package/dist/hooks/provideLocal.js +0 -7
- package/dist/hooks/provideLocal.js.map +0 -1
- package/dist/hooks/useAltool.d.ts +0 -39
- package/dist/hooks/useAltool.js +0 -350
- package/dist/hooks/useAltool.js.map +0 -1
- package/dist/hooks/useAsyncState.d.ts +0 -30
- package/dist/hooks/useAsyncState.js +0 -46
- package/dist/hooks/useAsyncState.js.map +0 -1
- package/dist/hooks/useCache.d.ts +0 -18
- package/dist/hooks/useCache.js +0 -82
- package/dist/hooks/useCache.js.map +0 -1
- package/dist/hooks/useDebouncedRefHistory.d.ts +0 -22
- package/dist/hooks/useDebouncedRefHistory.js +0 -46
- package/dist/hooks/useDebouncedRefHistory.js.map +0 -1
- package/dist/hooks/useDraggable.d.ts +0 -37
- package/dist/hooks/useDraggable.js +0 -163
- package/dist/hooks/useDraggable.js.map +0 -1
- package/dist/hooks/useLocalStorage.d.ts +0 -8
- package/dist/hooks/useLocalStorage.js +0 -101
- package/dist/hooks/useLocalStorage.js.map +0 -1
- package/dist/hooks/useManualRefHistory.d.ts +0 -26
- package/dist/hooks/useManualRefHistory.js +0 -80
- package/dist/hooks/useManualRefHistory.js.map +0 -1
- package/dist/hooks/usePermission.d.ts +0 -7
- package/dist/hooks/usePermission.js +0 -123
- package/dist/hooks/usePermission.js.map +0 -1
- package/dist/hooks/usePluginSystem.d.ts +0 -11
- package/dist/hooks/usePluginSystem.js +0 -34
- package/dist/hooks/usePluginSystem.js.map +0 -1
- package/dist/hooks/useRefHistory.d.ts +0 -21
- package/dist/hooks/useRefHistory.js +0 -41
- package/dist/hooks/useRefHistory.js.map +0 -1
- package/dist/hooks/useResizable.d.ts +0 -54
- package/dist/hooks/useResizable.js +0 -178
- package/dist/hooks/useResizable.js.map +0 -1
- package/dist/hooks/useSessionStorage.d.ts +0 -8
- package/dist/hooks/useSessionStorage.js +0 -101
- package/dist/hooks/useSessionStorage.js.map +0 -1
- package/dist/hooks/useStorage.d.ts +0 -13
- package/dist/hooks/useStorage.js +0 -62
- package/dist/hooks/useStorage.js.map +0 -1
- package/dist/hooks/useStorageWithIndexedDB.d.ts +0 -8
- package/dist/hooks/useStorageWithIndexedDB.js +0 -132
- package/dist/hooks/useStorageWithIndexedDB.js.map +0 -1
- package/dist/hooks/useWebWorker.d.ts +0 -25
- package/dist/hooks/useWebWorker.js +0 -207
- package/dist/hooks/useWebWorker.js.map +0 -1
- package/dist/hooks/useWorkerFunction.d.ts +0 -26
- package/dist/hooks/useWorkerFunction.js +0 -191
- package/dist/hooks/useWorkerFunction.js.map +0 -1
- package/dist/hooks/useWorkerPool.d.ts +0 -33
- package/dist/hooks/useWorkerPool.js +0 -247
- package/dist/hooks/useWorkerPool.js.map +0 -1
- package/dist/vue-hooks/dom/useKeyboard.d.ts +0 -29
- package/dist/vue-hooks/dom/useKeyboard.js +0 -129
- package/dist/vue-hooks/dom/useKeyboard.js.map +0 -1
- package/dist/vue-hooks/state/useFileUpload.d.ts +0 -23
- package/dist/vue-hooks/state/useFileUpload.js +0 -93
- package/dist/vue-hooks/state/useFileUpload.js.map +0 -1
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface TrieNode {
|
|
2
|
-
children: Map<string, TrieNode>;
|
|
3
|
-
isEndOfWord: boolean;
|
|
4
|
-
word?: string;
|
|
5
|
-
}
|
|
6
|
-
export interface Trie {
|
|
7
|
-
insert(word: string): void;
|
|
8
|
-
search(word: string): boolean;
|
|
9
|
-
startsWith(prefix: string): boolean;
|
|
10
|
-
autocomplete(prefix: string): string[];
|
|
11
|
-
delete(word: string): boolean;
|
|
12
|
-
getAllWords(): string[];
|
|
13
|
-
size(): number;
|
|
14
|
-
clear(): void;
|
|
15
|
-
}
|
|
16
|
-
export declare function createTrie(): Trie;
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
export function createTrie() {
|
|
2
|
-
const root = {
|
|
3
|
-
children: new Map(),
|
|
4
|
-
isEndOfWord: false
|
|
5
|
-
};
|
|
6
|
-
let wordCount = 0;
|
|
7
|
-
return {
|
|
8
|
-
insert(word) {
|
|
9
|
-
if (!word)
|
|
10
|
-
return;
|
|
11
|
-
let current = root;
|
|
12
|
-
for (const char of word) {
|
|
13
|
-
if (!current.children.has(char)) {
|
|
14
|
-
current.children.set(char, {
|
|
15
|
-
children: new Map(),
|
|
16
|
-
isEndOfWord: false
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
current = current.children.get(char);
|
|
20
|
-
}
|
|
21
|
-
if (!current.isEndOfWord) {
|
|
22
|
-
current.isEndOfWord = true;
|
|
23
|
-
current.word = word;
|
|
24
|
-
wordCount++;
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
search(word) {
|
|
28
|
-
if (!word)
|
|
29
|
-
return false;
|
|
30
|
-
let current = root;
|
|
31
|
-
for (const char of word) {
|
|
32
|
-
if (!current.children.has(char)) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
current = current.children.get(char);
|
|
36
|
-
}
|
|
37
|
-
return current.isEndOfWord;
|
|
38
|
-
},
|
|
39
|
-
startsWith(prefix) {
|
|
40
|
-
if (!prefix)
|
|
41
|
-
return true;
|
|
42
|
-
let current = root;
|
|
43
|
-
for (const char of prefix) {
|
|
44
|
-
if (!current.children.has(char)) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
current = current.children.get(char);
|
|
48
|
-
}
|
|
49
|
-
return true;
|
|
50
|
-
},
|
|
51
|
-
autocomplete(prefix) {
|
|
52
|
-
const results = [];
|
|
53
|
-
let current = root;
|
|
54
|
-
for (const char of prefix) {
|
|
55
|
-
if (!current.children.has(char)) {
|
|
56
|
-
return results;
|
|
57
|
-
}
|
|
58
|
-
current = current.children.get(char);
|
|
59
|
-
}
|
|
60
|
-
function dfs(node) {
|
|
61
|
-
if (node.isEndOfWord && node.word) {
|
|
62
|
-
results.push(node.word);
|
|
63
|
-
}
|
|
64
|
-
for (const child of node.children.values()) {
|
|
65
|
-
dfs(child);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
dfs(current);
|
|
69
|
-
return results.sort();
|
|
70
|
-
},
|
|
71
|
-
delete(word) {
|
|
72
|
-
if (!word || !this.search(word)) {
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
function deleteHelper(node, word, index) {
|
|
76
|
-
if (index === word.length) {
|
|
77
|
-
if (!node.isEndOfWord) {
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
node.isEndOfWord = false;
|
|
81
|
-
node.word = undefined;
|
|
82
|
-
return node.children.size === 0;
|
|
83
|
-
}
|
|
84
|
-
const char = word[index];
|
|
85
|
-
const childNode = node.children.get(char);
|
|
86
|
-
if (!childNode) {
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
const shouldDeleteChild = deleteHelper(childNode, word, index + 1);
|
|
90
|
-
if (shouldDeleteChild) {
|
|
91
|
-
node.children.delete(char);
|
|
92
|
-
return !node.isEndOfWord && node.children.size === 0;
|
|
93
|
-
}
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
const deleted = deleteHelper(root, word, 0);
|
|
97
|
-
if (deleted || !this.search(word)) {
|
|
98
|
-
wordCount--;
|
|
99
|
-
return true;
|
|
100
|
-
}
|
|
101
|
-
return false;
|
|
102
|
-
},
|
|
103
|
-
getAllWords() {
|
|
104
|
-
const words = [];
|
|
105
|
-
function dfs(node) {
|
|
106
|
-
if (node.isEndOfWord && node.word) {
|
|
107
|
-
words.push(node.word);
|
|
108
|
-
}
|
|
109
|
-
for (const child of node.children.values()) {
|
|
110
|
-
dfs(child);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
dfs(root);
|
|
114
|
-
return words.sort();
|
|
115
|
-
},
|
|
116
|
-
size() {
|
|
117
|
-
return wordCount;
|
|
118
|
-
},
|
|
119
|
-
clear() {
|
|
120
|
-
root.children.clear();
|
|
121
|
-
root.isEndOfWord = false;
|
|
122
|
-
root.word = undefined;
|
|
123
|
-
wordCount = 0;
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=Trie.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Trie.js","sourceRoot":"","sources":["../../../src/functions/utils/Trie.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
export function createUnionFind(size) {
|
|
2
|
-
const parent = Array.from({ length: size }, (_, i) => i);
|
|
3
|
-
const rank = Array(size).fill(0);
|
|
4
|
-
const setSize = Array(size).fill(1);
|
|
5
|
-
let setCount = size;
|
|
6
|
-
function findRoot(x) {
|
|
7
|
-
if (parent[x] !== x) {
|
|
8
|
-
parent[x] = findRoot(parent[x]);
|
|
9
|
-
}
|
|
10
|
-
return parent[x];
|
|
11
|
-
}
|
|
12
|
-
return {
|
|
13
|
-
find(x) {
|
|
14
|
-
if (x < 0 || x >= size) {
|
|
15
|
-
throw new Error(`Invalid element: ${x}`);
|
|
16
|
-
}
|
|
17
|
-
return findRoot(x);
|
|
18
|
-
},
|
|
19
|
-
union(x, y) {
|
|
20
|
-
const rootX = findRoot(x);
|
|
21
|
-
const rootY = findRoot(y);
|
|
22
|
-
if (rootX === rootY) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
if (rank[rootX] < rank[rootY]) {
|
|
26
|
-
parent[rootX] = rootY;
|
|
27
|
-
setSize[rootY] += setSize[rootX];
|
|
28
|
-
}
|
|
29
|
-
else if (rank[rootX] > rank[rootY]) {
|
|
30
|
-
parent[rootY] = rootX;
|
|
31
|
-
setSize[rootX] += setSize[rootY];
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
parent[rootY] = rootX;
|
|
35
|
-
setSize[rootX] += setSize[rootY];
|
|
36
|
-
rank[rootX]++;
|
|
37
|
-
}
|
|
38
|
-
setCount--;
|
|
39
|
-
return true;
|
|
40
|
-
},
|
|
41
|
-
connected(x, y) {
|
|
42
|
-
return findRoot(x) === findRoot(y);
|
|
43
|
-
},
|
|
44
|
-
count() {
|
|
45
|
-
return setCount;
|
|
46
|
-
},
|
|
47
|
-
getSize(x) {
|
|
48
|
-
const root = findRoot(x);
|
|
49
|
-
return setSize[root];
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=UnionFind.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UnionFind.js","sourceRoot":"","sources":["../../../src/functions/utils/UnionFind.ts"],"names":[],"mappings":"AA0CA,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,MAAM,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAClE,MAAM,IAAI,GAAa,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAa,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC7C,IAAI,QAAQ,GAAG,IAAI,CAAA;IAEnB,SAAS,QAAQ,CAAC,CAAS;QAEzB,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,CAAS;YACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAA;YAC1C,CAAC;YACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC;QAED,KAAK,CAAC,CAAS,EAAE,CAAS;YACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAGzB,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAA;YACd,CAAC;YAGD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;gBACrB,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;YAClC,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;gBACrB,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;gBACrB,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;gBAChC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;YACf,CAAC;YAED,QAAQ,EAAE,CAAA;YACV,OAAO,IAAI,CAAA;QACb,CAAC;QAED,SAAS,CAAC,CAAS,EAAE,CAAS;YAC5B,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;QAED,KAAK;YACH,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO,CAAC,CAAS;YACf,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACxB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { LRUCache } from './LRUCache';
|
|
2
|
-
export interface CachedAsyncOptions {
|
|
3
|
-
keyGenerator?: (...args: any[]) => string;
|
|
4
|
-
ttl?: number;
|
|
5
|
-
maxSize?: number;
|
|
6
|
-
cache?: LRUCache<string, any>;
|
|
7
|
-
cacheErrors?: boolean;
|
|
8
|
-
debug?: boolean;
|
|
9
|
-
console?: {
|
|
10
|
-
log: (...args: any[]) => void;
|
|
11
|
-
warn: (...args: any[]) => void;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export interface CachedAsyncFunction<T extends (...args: any[]) => Promise<any>> {
|
|
15
|
-
(...args: Parameters<T>): ReturnType<T>;
|
|
16
|
-
clear: () => void;
|
|
17
|
-
delete: (...args: Parameters<T>) => void;
|
|
18
|
-
has: (...args: Parameters<T>) => boolean;
|
|
19
|
-
getStats: () => {
|
|
20
|
-
size: number;
|
|
21
|
-
hits: number;
|
|
22
|
-
misses: number;
|
|
23
|
-
hitRate: number;
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
export declare function cachedAsync<T extends (...args: any[]) => Promise<any>>(fn: T, options?: CachedAsyncOptions): CachedAsyncFunction<T>;
|
|
27
|
-
export declare function createCachedAsyncWithCache(cache: LRUCache<string, any>): <T extends (...args: any[]) => Promise<any>>(fn: T, options?: Omit<CachedAsyncOptions, "cache">) => CachedAsyncFunction<T>;
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { LRUCache } from './LRUCache';
|
|
2
|
-
function defaultKeyGenerator(...args) {
|
|
3
|
-
try {
|
|
4
|
-
return JSON.stringify(args);
|
|
5
|
-
}
|
|
6
|
-
catch (error) {
|
|
7
|
-
return args.map(arg => String(arg)).join('_');
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
export function cachedAsync(fn, options = {}) {
|
|
11
|
-
const { keyGenerator = defaultKeyGenerator, ttl = 0, maxSize = 500, cache: customCache, cacheErrors = false, debug = false, console: customConsole } = options;
|
|
12
|
-
const cache = customCache || new LRUCache({
|
|
13
|
-
capacity: maxSize,
|
|
14
|
-
debug,
|
|
15
|
-
console: customConsole
|
|
16
|
-
});
|
|
17
|
-
const pendingRequests = new Map();
|
|
18
|
-
let hits = 0;
|
|
19
|
-
let misses = 0;
|
|
20
|
-
const log = (message) => {
|
|
21
|
-
if (debug && customConsole) {
|
|
22
|
-
customConsole.log(`[CachedAsync] ${message}`);
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
const warn = (message) => {
|
|
26
|
-
if (debug && customConsole) {
|
|
27
|
-
customConsole.warn(`[CachedAsync] ${message}`);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
function isExpired(entry) {
|
|
31
|
-
if (!entry.expiresAt) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
return Date.now() > entry.expiresAt;
|
|
35
|
-
}
|
|
36
|
-
async function cachedFunction(...args) {
|
|
37
|
-
const cacheKey = keyGenerator(...args);
|
|
38
|
-
const cachedEntry = cache.get(cacheKey);
|
|
39
|
-
if (cachedEntry && !isExpired(cachedEntry)) {
|
|
40
|
-
hits++;
|
|
41
|
-
log(`Cache HIT for key: ${cacheKey}`);
|
|
42
|
-
if (cachedEntry.isError) {
|
|
43
|
-
throw cachedEntry.value;
|
|
44
|
-
}
|
|
45
|
-
return cachedEntry.value;
|
|
46
|
-
}
|
|
47
|
-
if (cachedEntry && isExpired(cachedEntry)) {
|
|
48
|
-
cache.delete(cacheKey);
|
|
49
|
-
log(`Cache EXPIRED for key: ${cacheKey}`);
|
|
50
|
-
}
|
|
51
|
-
misses++;
|
|
52
|
-
log(`Cache MISS for key: ${cacheKey}`);
|
|
53
|
-
const pendingRequest = pendingRequests.get(cacheKey);
|
|
54
|
-
if (pendingRequest) {
|
|
55
|
-
log(`Reusing pending request for key: ${cacheKey}`);
|
|
56
|
-
return pendingRequest;
|
|
57
|
-
}
|
|
58
|
-
const promise = fn(...args)
|
|
59
|
-
.then((result) => {
|
|
60
|
-
const entry = {
|
|
61
|
-
value: result,
|
|
62
|
-
expiresAt: ttl > 0 ? Date.now() + ttl : undefined,
|
|
63
|
-
isError: false
|
|
64
|
-
};
|
|
65
|
-
cache.put(cacheKey, entry);
|
|
66
|
-
log(`Cache SET for key: ${cacheKey}`);
|
|
67
|
-
pendingRequests.delete(cacheKey);
|
|
68
|
-
return result;
|
|
69
|
-
})
|
|
70
|
-
.catch((error) => {
|
|
71
|
-
pendingRequests.delete(cacheKey);
|
|
72
|
-
if (cacheErrors) {
|
|
73
|
-
const entry = {
|
|
74
|
-
value: error,
|
|
75
|
-
expiresAt: ttl > 0 ? Date.now() + ttl : undefined,
|
|
76
|
-
isError: true
|
|
77
|
-
};
|
|
78
|
-
cache.put(cacheKey, entry);
|
|
79
|
-
log(`Cache SET ERROR for key: ${cacheKey}`);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
log(`Error not cached for key: ${cacheKey}`);
|
|
83
|
-
}
|
|
84
|
-
throw error;
|
|
85
|
-
});
|
|
86
|
-
pendingRequests.set(cacheKey, promise);
|
|
87
|
-
return promise;
|
|
88
|
-
}
|
|
89
|
-
cachedFunction.clear = () => {
|
|
90
|
-
cache.clear();
|
|
91
|
-
pendingRequests.clear();
|
|
92
|
-
hits = 0;
|
|
93
|
-
misses = 0;
|
|
94
|
-
log('All cache cleared');
|
|
95
|
-
};
|
|
96
|
-
cachedFunction.delete = (...args) => {
|
|
97
|
-
const cacheKey = keyGenerator(...args);
|
|
98
|
-
cache.delete(cacheKey);
|
|
99
|
-
pendingRequests.delete(cacheKey);
|
|
100
|
-
log(`Cache deleted for key: ${cacheKey}`);
|
|
101
|
-
};
|
|
102
|
-
cachedFunction.has = (...args) => {
|
|
103
|
-
const cacheKey = keyGenerator(...args);
|
|
104
|
-
const entry = cache.get(cacheKey);
|
|
105
|
-
return entry !== undefined && !isExpired(entry);
|
|
106
|
-
};
|
|
107
|
-
cachedFunction.getStats = () => {
|
|
108
|
-
const totalRequests = hits + misses;
|
|
109
|
-
return {
|
|
110
|
-
size: cache.size,
|
|
111
|
-
hits,
|
|
112
|
-
misses,
|
|
113
|
-
hitRate: totalRequests > 0 ? hits / totalRequests : 0
|
|
114
|
-
};
|
|
115
|
-
};
|
|
116
|
-
return cachedFunction;
|
|
117
|
-
}
|
|
118
|
-
export function createCachedAsyncWithCache(cache) {
|
|
119
|
-
return function (fn, options = {}) {
|
|
120
|
-
return cachedAsync(fn, { ...options, cache });
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=cachedAsync.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cachedAsync.js","sourceRoot":"","sources":["../../../src/functions/utils/cachedAsync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function compose<T>(...functions: Array<(arg: T) => T>): (arg: T) => T;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export function compose(...functions) {
|
|
2
|
-
if (functions.length === 0)
|
|
3
|
-
return (arg) => arg;
|
|
4
|
-
if (functions.length === 1)
|
|
5
|
-
return functions[0];
|
|
6
|
-
return (arg) => {
|
|
7
|
-
return functions.reduceRight((result, fn) => fn(result), arg);
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=compose.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/functions/utils/compose.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,OAAO,CAAI,GAAG,SAA+B;IAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,GAAG,CAAA;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;IAE/C,OAAO,CAAC,GAAM,EAAE,EAAE;QAChB,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;IAC/D,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function cond<T, R>(conditions: Array<[(arg: T) => boolean, (arg: T) => R]>): (arg: T) => R;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export function cond(conditions) {
|
|
2
|
-
return (arg) => {
|
|
3
|
-
for (const [predicate, fn] of conditions) {
|
|
4
|
-
if (predicate(arg)) {
|
|
5
|
-
return fn(arg);
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
const lastCondition = conditions[conditions.length - 1];
|
|
9
|
-
if (lastCondition && lastCondition[0](arg)) {
|
|
10
|
-
return lastCondition[1](arg);
|
|
11
|
-
}
|
|
12
|
-
throw new Error('没有匹配的条件分支');
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=cond.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cond.js","sourceRoot":"","sources":["../../../src/functions/utils/cond.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,IAAI,CAClB,UAAuD;IAEvD,OAAO,CAAC,GAAM,EAAK,EAAE;QACnB,KAAK,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;QAGD,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACvD,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;IAC9B,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { createReactive } from './createReactive';
|
|
2
|
-
export const createI18n = (initialState, deps) => {
|
|
3
|
-
const reactiveI18n = createReactive(initialState, {
|
|
4
|
-
subscribers: new Set(),
|
|
5
|
-
notify: () => {
|
|
6
|
-
},
|
|
7
|
-
subscribe: (listener) => {
|
|
8
|
-
reactiveI18n.subscribers.add(listener);
|
|
9
|
-
return () => reactiveI18n.subscribers.delete(listener);
|
|
10
|
-
},
|
|
11
|
-
dispose: () => reactiveI18n.subscribers.clear(),
|
|
12
|
-
createProxy: (target, deps) => new Proxy(target, {
|
|
13
|
-
get(target, property) {
|
|
14
|
-
if (property === 'subscribe' || property === 'notify' ||
|
|
15
|
-
property === 'dispose' || property === 'subscribers') {
|
|
16
|
-
return deps[property];
|
|
17
|
-
}
|
|
18
|
-
return target[property];
|
|
19
|
-
},
|
|
20
|
-
set(target, property, value) {
|
|
21
|
-
if (property === 'currentLang') {
|
|
22
|
-
const newLang = String(value);
|
|
23
|
-
if (newLang !== target.currentLang) {
|
|
24
|
-
;
|
|
25
|
-
target[property] = newLang;
|
|
26
|
-
deps.notify();
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
;
|
|
32
|
-
target[property] = value;
|
|
33
|
-
deps.notify();
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
}),
|
|
37
|
-
getChangePath: (target, property) => [String(property)]
|
|
38
|
-
});
|
|
39
|
-
const t = (key, params) => {
|
|
40
|
-
const { currentLang, messages, fallbackLang } = reactiveI18n;
|
|
41
|
-
let message = messages[currentLang]?.[key];
|
|
42
|
-
if (!message && fallbackLang) {
|
|
43
|
-
message = messages[fallbackLang]?.[key];
|
|
44
|
-
}
|
|
45
|
-
if (!message) {
|
|
46
|
-
message = key;
|
|
47
|
-
}
|
|
48
|
-
if (params && Object.keys(params).length > 0) {
|
|
49
|
-
message = deps.format(message, params);
|
|
50
|
-
}
|
|
51
|
-
return message;
|
|
52
|
-
};
|
|
53
|
-
const addMessages = (lang, messages) => {
|
|
54
|
-
if (!reactiveI18n.messages[lang]) {
|
|
55
|
-
;
|
|
56
|
-
reactiveI18n.messages[lang] = {};
|
|
57
|
-
}
|
|
58
|
-
Object.assign(reactiveI18n.messages[lang], messages);
|
|
59
|
-
};
|
|
60
|
-
const removeMessages = (lang) => {
|
|
61
|
-
if (reactiveI18n.messages[lang]) {
|
|
62
|
-
delete reactiveI18n.messages[lang];
|
|
63
|
-
if (reactiveI18n.currentLang === lang) {
|
|
64
|
-
const fallbackLang = reactiveI18n.fallbackLang;
|
|
65
|
-
if (fallbackLang && reactiveI18n.messages[fallbackLang]) {
|
|
66
|
-
reactiveI18n.currentLang = fallbackLang;
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
const availableLangs = Object.keys(reactiveI18n.messages);
|
|
70
|
-
if (availableLangs.length > 0) {
|
|
71
|
-
reactiveI18n.currentLang = availableLangs[0];
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
const setLang = (lang) => {
|
|
78
|
-
if (reactiveI18n.messages[lang]) {
|
|
79
|
-
reactiveI18n.currentLang = lang;
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
deps.console?.warn(`Language "${lang}" is not available. Available languages:`, Object.keys(reactiveI18n.messages));
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
const getSupportedLangs = () => {
|
|
86
|
-
return Object.keys(reactiveI18n.messages);
|
|
87
|
-
};
|
|
88
|
-
Object.assign(reactiveI18n, {
|
|
89
|
-
t,
|
|
90
|
-
addMessages,
|
|
91
|
-
removeMessages,
|
|
92
|
-
setLang,
|
|
93
|
-
getSupportedLangs
|
|
94
|
-
});
|
|
95
|
-
return reactiveI18n;
|
|
96
|
-
};
|
|
97
|
-
//# sourceMappingURL=createI18n.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createI18n.js","sourceRoot":"","sources":["../../../src/functions/utils/createI18n.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { CreateReactive, ReactiveDeps } from '../../../types/reactive';
|
|
2
|
-
export interface CreateReactiveDeps {
|
|
3
|
-
subscribers: Set<(...args: any[]) => void>;
|
|
4
|
-
notify: () => void;
|
|
5
|
-
subscribe: (listener: () => void) => () => void;
|
|
6
|
-
dispose: () => void;
|
|
7
|
-
createProxy: <T extends Record<string, any>>(target: T, deps: ReactiveDeps) => T;
|
|
8
|
-
getChangePath: (target: any, property: string | symbol) => string[];
|
|
9
|
-
}
|
|
10
|
-
export declare const createReactive: CreateReactive;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
export const createReactive = (target, deps) => {
|
|
2
|
-
const subscribers = new Set();
|
|
3
|
-
const notify = () => {
|
|
4
|
-
subscribers.forEach(listener => listener());
|
|
5
|
-
};
|
|
6
|
-
const subscribe = (listener) => {
|
|
7
|
-
subscribers.add(listener);
|
|
8
|
-
return () => subscribers.delete(listener);
|
|
9
|
-
};
|
|
10
|
-
const dispose = () => {
|
|
11
|
-
subscribers.clear();
|
|
12
|
-
};
|
|
13
|
-
const getChangePath = (target, property) => {
|
|
14
|
-
return [String(property)];
|
|
15
|
-
};
|
|
16
|
-
const createProxy = (target, deps) => {
|
|
17
|
-
return new Proxy(target, {
|
|
18
|
-
get(target, property) {
|
|
19
|
-
if (property === 'subscribe' || property === 'notify' || property === 'dispose' || property === 'subscribers') {
|
|
20
|
-
return deps[property];
|
|
21
|
-
}
|
|
22
|
-
return target[property];
|
|
23
|
-
},
|
|
24
|
-
set(target, property, value) {
|
|
25
|
-
const oldValue = target[property];
|
|
26
|
-
target[property] = value;
|
|
27
|
-
deps.notify();
|
|
28
|
-
return true;
|
|
29
|
-
},
|
|
30
|
-
deleteProperty(target, property) {
|
|
31
|
-
if (property in target) {
|
|
32
|
-
delete target[property];
|
|
33
|
-
deps.notify();
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
const reactiveDeps = {
|
|
41
|
-
subscribers,
|
|
42
|
-
notify,
|
|
43
|
-
subscribe,
|
|
44
|
-
dispose,
|
|
45
|
-
getChangePath,
|
|
46
|
-
createProxy
|
|
47
|
-
};
|
|
48
|
-
return createProxy(target, reactiveDeps);
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=createReactive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createReactive.js","sourceRoot":"","sources":["../../../src/functions/utils/createReactive.ts"],"names":[],"mappings":"AA4EA,MAAM,CAAC,MAAM,cAAc,GAAmB,CAC5C,MAAS,EACT,IAAwB,EACX,EAAE;IAEf,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAA;IAGvD,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA;IAGD,MAAM,SAAS,GAAG,CAAC,QAAoB,EAAgB,EAAE;QACvD,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACzB,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC3C,CAAC,CAAA;IAGD,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,WAAW,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC,CAAA;IAGD,MAAM,aAAa,GAAG,CAAC,MAAW,EAAE,QAAyB,EAAY,EAAE;QACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3B,CAAC,CAAA;IAGD,MAAM,WAAW,GAAG,CAClB,MAAS,EACT,IAAkB,EACf,EAAE;QACL,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;YACvB,GAAG,CAAC,MAAM,EAAE,QAAQ;gBAElB,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;oBAC9G,OAAO,IAAI,CAAC,QAA8B,CAAC,CAAA;gBAC7C,CAAC;gBACD,OAAO,MAAM,CAAC,QAAmB,CAAC,CAAA;YACpC,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK;gBACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAmB,CAAC,CAC3C;gBAAC,MAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;gBAGlC,IAAI,CAAC,MAAM,EAAE,CAAA;gBAEb,OAAO,IAAI,CAAA;YACb,CAAC;YACD,cAAc,CAAC,MAAM,EAAE,QAAQ;gBAC7B,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;oBACvB,OAAO,MAAM,CAAC,QAAmB,CAAC,CAAA;oBAClC,IAAI,CAAC,MAAM,EAAE,CAAA;oBACb,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAA;IAGD,MAAM,YAAY,GAAuB;QACvC,WAAW;QACX,MAAM;QACN,SAAS;QACT,OAAO;QACP,aAAa;QACb,WAAW;KACZ,CAAA;IAGD,OAAO,WAAW,CAAC,MAAM,EAAE,YAAY,CAAgB,CAAA;AACzD,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function curry<T extends (...args: any[]) => any>(fn: T, arity?: number): (...args: any[]) => any;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export function curry(fn, arity) {
|
|
2
|
-
const targetArity = arity || fn.length;
|
|
3
|
-
if (targetArity <= 1)
|
|
4
|
-
return fn;
|
|
5
|
-
function curried(...args) {
|
|
6
|
-
if (args.length >= targetArity) {
|
|
7
|
-
return fn(...args);
|
|
8
|
-
}
|
|
9
|
-
return (...moreArgs) => curried(...args, ...moreArgs);
|
|
10
|
-
}
|
|
11
|
-
return curried;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=curry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"curry.js","sourceRoot":"","sources":["../../../src/functions/utils/curry.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,KAAK,CACnB,EAAK,EACL,KAAc;IAEd,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,CAAA;IAEtC,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAE/B,SAAS,OAAO,CAAC,GAAG,IAAW;QAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QACpB,CAAC;QAED,OAAO,CAAC,GAAG,QAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare function curryAdvanced<T extends (...args: any[]) => any>(fn: T, arity?: number): any;
|
|
2
|
-
export declare const PLACEHOLDER: unique symbol;
|
|
3
|
-
export declare function curryWithPlaceholder<T extends (...args: any[]) => any>(fn: T, arity?: number): any;
|
|
4
|
-
export declare function curryRight<T extends (...args: any[]) => any>(fn: T, arity?: number): any;
|
|
5
|
-
export declare function partial<T extends (...args: any[]) => any>(fn: T, ...presetArgs: any[]): (...args: any[]) => ReturnType<T>;
|
|
6
|
-
export declare function uncurry<T extends (...args: any[]) => any>(fn: any, arity: number): T;
|
|
7
|
-
export declare function autoCurry<T extends (...args: any[]) => any>(fn: T): any;
|
|
8
|
-
export declare function pipeCurry<T extends (...args: any[]) => any>(fn: T): any;
|