zcw-shared 1.29.0 → 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/README.md +87 -55
  2. package/dist/functions/platform/tencent-cloud/deploy.tcb.d.ts +13 -0
  3. package/dist/functions/platform/tencent-cloud/deploy.tcb.js +46 -0
  4. package/dist/functions/platform/tencent-cloud/deploy.tcb.js.map +1 -0
  5. package/dist/functions/platform/tencent-cloud/getSecret.d.ts +4 -0
  6. package/dist/functions/platform/tencent-cloud/getSecret.js +19 -0
  7. package/dist/functions/platform/tencent-cloud/getSecret.js.map +1 -0
  8. package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.d.ts +27 -0
  9. package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.js +287 -0
  10. package/dist/functions/platform/uniapp/app-plus/buildAndroidApp.js.map +1 -0
  11. package/dist/functions/platform/uniapp/build.d.ts +21 -0
  12. package/dist/functions/platform/uniapp/build.js +83 -0
  13. package/dist/functions/platform/uniapp/build.js.map +1 -0
  14. package/dist/functions/platform/uniapp/detectAndroidProjectStructure.d.ts +11 -0
  15. package/dist/functions/platform/uniapp/detectAndroidProjectStructure.js +30 -0
  16. package/dist/functions/platform/uniapp/detectAndroidProjectStructure.js.map +1 -0
  17. package/dist/functions/platform/uniapp/detectProjectType.d.ts +20 -0
  18. package/dist/functions/platform/uniapp/detectProjectType.js +68 -0
  19. package/dist/functions/platform/uniapp/detectProjectType.js.map +1 -0
  20. package/dist/functions/platform/uniapp/parseManifest.d.ts +18 -0
  21. package/dist/functions/platform/uniapp/parseManifest.js +49 -0
  22. package/dist/functions/platform/uniapp/parseManifest.js.map +1 -0
  23. package/dist/functions/platform/uniapp/waitForPages.d.ts +7 -0
  24. package/dist/functions/platform/uniapp/waitForPages.js +20 -0
  25. package/dist/functions/platform/uniapp/waitForPages.js.map +1 -0
  26. package/dist/functions/string/visualizeRegexSteps.d.ts +39 -0
  27. package/dist/functions/string/visualizeRegexSteps.js +446 -0
  28. package/dist/functions/string/visualizeRegexSteps.js.map +1 -0
  29. package/dist/functions/utils/createI18n.d.ts +2 -0
  30. package/dist/functions/utils/createI18n.js +97 -0
  31. package/dist/functions/utils/createI18n.js.map +1 -0
  32. package/dist/functions/utils/formatString.d.ts +5 -0
  33. package/dist/functions/utils/formatString.js +9 -0
  34. package/dist/functions/utils/formatString.js.map +1 -0
  35. package/dist/functions/vue/dynamicMount.d.ts +6 -4
  36. package/dist/functions/vue/isVNode.d.ts +1 -1
  37. package/dist/functions/vue/isVueComponent.d.ts +1 -1
  38. package/dist/hooks/usePermission.d.ts +7 -0
  39. package/dist/hooks/usePermission.js +123 -0
  40. package/dist/hooks/usePermission.js.map +1 -0
  41. package/dist/vue-hooks/browser/useBattery.d.ts +1 -1
  42. package/dist/vue-hooks/browser/useBluetooth.d.ts +1 -1
  43. package/dist/vue-hooks/browser/useCamera.d.ts +1 -1
  44. package/dist/vue-hooks/browser/useClipboard.d.ts +1 -1
  45. package/dist/vue-hooks/browser/useFileUpload.d.ts +1 -1
  46. package/dist/vue-hooks/browser/useFullscreen.d.ts +1 -1
  47. package/dist/vue-hooks/browser/useGamepad.d.ts +1 -1
  48. package/dist/vue-hooks/browser/useGeolocation.d.ts +1 -1
  49. package/dist/vue-hooks/browser/useMediaSession.d.ts +1 -1
  50. package/dist/vue-hooks/browser/useMicrophone.d.ts +1 -1
  51. package/dist/vue-hooks/browser/useNetwork.d.ts +1 -1
  52. package/dist/vue-hooks/browser/useOrientation.d.ts +1 -1
  53. package/dist/vue-hooks/browser/usePageVisibility.d.ts +1 -1
  54. package/dist/vue-hooks/browser/useScreenOrientation.d.ts +1 -1
  55. package/dist/vue-hooks/browser/useScreenWakeLock.d.ts +1 -1
  56. package/dist/vue-hooks/browser/useShare.d.ts +1 -1
  57. package/dist/vue-hooks/browser/useVibration.d.ts +1 -1
  58. package/dist/vue-hooks/dom/useAutoUpdate.d.ts +1 -1
  59. package/dist/vue-hooks/dom/useClickOutside.d.ts +1 -1
  60. package/dist/vue-hooks/dom/useDraggable.d.ts +4 -4
  61. package/dist/vue-hooks/dom/useEventListener.d.ts +1 -1
  62. package/dist/vue-hooks/dom/useKeyboard.d.ts +29 -0
  63. package/dist/vue-hooks/dom/useKeyboard.js +129 -0
  64. package/dist/vue-hooks/dom/useKeyboard.js.map +1 -0
  65. package/dist/vue-hooks/dom/useResizable.d.ts +8 -3
  66. package/dist/vue-hooks/history/useDebouncedRefHistory.d.ts +1 -1
  67. package/dist/vue-hooks/history/useManualRefHistory.d.ts +1 -1
  68. package/dist/vue-hooks/history/useRefHistory.d.ts +1 -1
  69. package/dist/vue-hooks/state/injectLocal.d.ts +1 -1
  70. package/dist/vue-hooks/state/provideLocal.d.ts +1 -1
  71. package/dist/vue-hooks/state/useAsyncState.d.ts +1 -1
  72. package/dist/vue-hooks/state/useCounter.d.ts +1 -1
  73. package/dist/vue-hooks/state/useFileUpload.d.ts +23 -0
  74. package/dist/vue-hooks/state/useFileUpload.js +93 -0
  75. package/dist/vue-hooks/state/useFileUpload.js.map +1 -0
  76. package/dist/vue-hooks/state/useToggle.d.ts +1 -1
  77. package/dist/vue-hooks/time/useInterval.d.ts +1 -1
  78. package/dist/vue-hooks/time/useTimeout.d.ts +1 -1
  79. package/dist/vue-hooks/worker/useWebWorker.d.ts +4 -4
  80. package/dist/vue-hooks/worker/useWorkerFunction.d.ts +4 -4
  81. package/dist/vue-hooks/worker/useWorkerPool.d.ts +4 -4
  82. package/package.json +1 -1
  83. package/types/vue.d.ts +1 -1
  84. package/dist/functions/algorithm/lcsVisual.d.ts +0 -6
  85. package/dist/functions/algorithm/lcsVisual.js +0 -88
  86. package/dist/functions/algorithm/lcsVisual.js.map +0 -1
  87. package/dist/functions/algorithm/mergeSortVisual.d.ts +0 -5
  88. package/dist/functions/algorithm/mergeSortVisual.js +0 -103
  89. package/dist/functions/algorithm/mergeSortVisual.js.map +0 -1
  90. package/dist/functions/algorithm/nQueensVisual.d.ts +0 -14
  91. package/dist/functions/algorithm/nQueensVisual.js +0 -94
  92. package/dist/functions/algorithm/nQueensVisual.js.map +0 -1
  93. package/dist/functions/algorithm/numIslandsVisual.d.ts +0 -17
  94. package/dist/functions/algorithm/numIslandsVisual.js +0 -102
  95. package/dist/functions/algorithm/numIslandsVisual.js.map +0 -1
  96. package/dist/functions/algorithm/quickSortVisual.d.ts +0 -18
  97. package/dist/functions/algorithm/quickSortVisual.js +0 -104
  98. package/dist/functions/algorithm/quickSortVisual.js.map +0 -1
  99. package/dist/functions/browser/detectDevice.d.ts +0 -10
  100. package/dist/functions/browser/detectDevice.js +0 -49
  101. package/dist/functions/browser/detectDevice.js.map +0 -1
  102. package/dist/functions/cookie/getCookie.d.ts +0 -5
  103. package/dist/functions/cookie/getCookie.js +0 -14
  104. package/dist/functions/cookie/getCookie.js.map +0 -1
  105. package/dist/functions/cookie/removeCookie.d.ts +0 -8
  106. package/dist/functions/cookie/removeCookie.js +0 -12
  107. package/dist/functions/cookie/removeCookie.js.map +0 -1
  108. package/dist/functions/cookie/setCookie.d.ts +0 -11
  109. package/dist/functions/cookie/setCookie.js +0 -23
  110. package/dist/functions/cookie/setCookie.js.map +0 -1
  111. package/dist/functions/data-structures/EventEmitter.d.ts +0 -32
  112. package/dist/functions/data-structures/EventEmitter.js +0 -108
  113. package/dist/functions/data-structures/EventEmitter.js.map +0 -1
  114. package/dist/functions/data-structures/MyPromise.d.ts +0 -32
  115. package/dist/functions/data-structures/MyPromise.js +0 -254
  116. package/dist/functions/data-structures/MyPromise.js.map +0 -1
  117. package/dist/functions/reactive/useReactiveCookie.d.ts +0 -19
  118. package/dist/functions/reactive/useReactiveCookie.js +0 -84
  119. package/dist/functions/reactive/useReactiveCookie.js.map +0 -1
  120. package/dist/hooks/useClickOutside.d.ts +0 -12
  121. package/dist/hooks/useClickOutside.js +0 -16
  122. package/dist/hooks/useClickOutside.js.map +0 -1
  123. package/dist/hooks/useClipboard.d.ts +0 -20
  124. package/dist/hooks/useClipboard.js +0 -33
  125. package/dist/hooks/useClipboard.js.map +0 -1
  126. package/dist/hooks/useCounter.d.ts +0 -19
  127. package/dist/hooks/useCounter.js +0 -44
  128. package/dist/hooks/useCounter.js.map +0 -1
  129. package/dist/hooks/useEventListener.d.ts +0 -14
  130. package/dist/hooks/useEventListener.js +0 -18
  131. package/dist/hooks/useEventListener.js.map +0 -1
  132. package/dist/hooks/useInterval.d.ts +0 -19
  133. package/dist/hooks/useInterval.js +0 -33
  134. package/dist/hooks/useInterval.js.map +0 -1
  135. package/dist/hooks/useTimeout.d.ts +0 -20
  136. package/dist/hooks/useTimeout.js +0 -40
  137. package/dist/hooks/useTimeout.js.map +0 -1
  138. package/dist/hooks/useToggle.d.ts +0 -15
  139. package/dist/hooks/useToggle.js +0 -23
  140. package/dist/hooks/useToggle.js.map +0 -1
  141. package/dist/reactive/createGlobalState.d.ts +0 -2
  142. package/dist/reactive/createGlobalState.js +0 -11
  143. package/dist/reactive/createGlobalState.js.map +0 -1
  144. package/dist/reactive/createSharedComposable.d.ts +0 -2
  145. package/dist/reactive/createSharedComposable.js +0 -13
  146. package/dist/reactive/createSharedComposable.js.map +0 -1
  147. package/dist/reactive/errorManager.d.ts +0 -63
  148. package/dist/reactive/errorManager.js +0 -199
  149. package/dist/reactive/errorManager.js.map +0 -1
  150. package/dist/reactive/i18n.d.ts +0 -27
  151. package/dist/reactive/i18n.js +0 -119
  152. package/dist/reactive/i18n.js.map +0 -1
  153. package/dist/reactive/permission.d.ts +0 -40
  154. package/dist/reactive/permission.js +0 -189
  155. package/dist/reactive/permission.js.map +0 -1
  156. package/dist/reactive/pinia.d.ts +0 -52
  157. package/dist/reactive/pinia.js +0 -183
  158. package/dist/reactive/pinia.js.map +0 -1
  159. package/dist/reactive/useAltool.d.ts +0 -39
  160. package/dist/reactive/useAltool.js +0 -350
  161. package/dist/reactive/useAltool.js.map +0 -1
  162. package/dist/reactive/useCache.d.ts +0 -18
  163. package/dist/reactive/useCache.js +0 -82
  164. package/dist/reactive/useCache.js.map +0 -1
  165. package/dist/reactive/useLocalStorage.d.ts +0 -8
  166. package/dist/reactive/useLocalStorage.js +0 -101
  167. package/dist/reactive/useLocalStorage.js.map +0 -1
  168. package/dist/reactive/usePluginSystem.d.ts +0 -11
  169. package/dist/reactive/usePluginSystem.js +0 -34
  170. package/dist/reactive/usePluginSystem.js.map +0 -1
  171. package/dist/reactive/useSessionStorage.d.ts +0 -8
  172. package/dist/reactive/useSessionStorage.js +0 -101
  173. package/dist/reactive/useSessionStorage.js.map +0 -1
  174. package/dist/reactive/useStorage.d.ts +0 -13
  175. package/dist/reactive/useStorage.js +0 -62
  176. package/dist/reactive/useStorage.js.map +0 -1
  177. package/dist/reactive/useStorageWithIndexedDB.d.ts +0 -8
  178. package/dist/reactive/useStorageWithIndexedDB.js +0 -132
  179. package/dist/reactive/useStorageWithIndexedDB.js.map +0 -1
  180. package/references/vue.d.ts +0 -242
@@ -1,102 +0,0 @@
1
- export function numIslandsVisual(grid) {
2
- const steps = [];
3
- let stepNumber = 0;
4
- const gridCopy = grid.map(row => [...row]);
5
- const m = gridCopy.length;
6
- const n = gridCopy[0].length;
7
- let count = 0;
8
- steps.push({
9
- stepNumber: stepNumber++,
10
- description: '开始搜索岛屿',
11
- graph: [],
12
- visited: [],
13
- grid: gridCopy.map(r => [...r]),
14
- islandCount: 0
15
- });
16
- function dfs(i, j, islandId) {
17
- if (i < 0 || i >= m || j < 0 || j >= n || gridCopy[i][j] === '0') {
18
- steps.push({
19
- stepNumber: stepNumber++,
20
- description: `位置(${i},${j})越界或是水域,返回`,
21
- graph: [],
22
- visited: [],
23
- grid: gridCopy.map(r => [...r]),
24
- currentPos: { row: i, col: j },
25
- islandCount: count
26
- });
27
- return;
28
- }
29
- steps.push({
30
- stepNumber: stepNumber++,
31
- description: `访问陆地(${i},${j}),标记为岛屿${islandId}的一部分`,
32
- graph: [],
33
- visited: [],
34
- grid: gridCopy.map(r => [...r]),
35
- currentPos: { row: i, col: j },
36
- islandCount: count
37
- });
38
- gridCopy[i][j] = '0';
39
- steps.push({
40
- stepNumber: stepNumber++,
41
- description: `标记(${i},${j})为已访问`,
42
- graph: [],
43
- visited: [],
44
- grid: gridCopy.map(r => [...r]),
45
- currentPos: { row: i, col: j },
46
- islandCount: count
47
- });
48
- const directions = [
49
- { name: '下', dr: 1, dc: 0 },
50
- { name: '上', dr: -1, dc: 0 },
51
- { name: '右', dr: 0, dc: 1 },
52
- { name: '左', dr: 0, dc: -1 }
53
- ];
54
- for (const dir of directions) {
55
- steps.push({
56
- stepNumber: stepNumber++,
57
- description: `从(${i},${j})向${dir.name}搜索`,
58
- graph: [],
59
- visited: [],
60
- grid: gridCopy.map(r => [...r]),
61
- currentPos: { row: i, col: j },
62
- islandCount: count
63
- });
64
- dfs(i + dir.dr, j + dir.dc, islandId);
65
- }
66
- }
67
- for (let i = 0; i < m; i++) {
68
- for (let j = 0; j < n; j++) {
69
- if (gridCopy[i][j] === '1') {
70
- count++;
71
- steps.push({
72
- stepNumber: stepNumber++,
73
- description: `发现新岛屿${count}!起点(${i},${j})`,
74
- graph: [],
75
- visited: [],
76
- grid: gridCopy.map(r => [...r]),
77
- currentPos: { row: i, col: j },
78
- islandCount: count
79
- });
80
- dfs(i, j, count);
81
- steps.push({
82
- stepNumber: stepNumber++,
83
- description: `岛屿${count}搜索完成`,
84
- graph: [],
85
- visited: [],
86
- grid: gridCopy.map(r => [...r]),
87
- islandCount: count
88
- });
89
- }
90
- }
91
- }
92
- steps.push({
93
- stepNumber: stepNumber++,
94
- description: `搜索完成!共找到${count}个岛屿`,
95
- graph: [],
96
- visited: [],
97
- grid: gridCopy.map(r => [...r]),
98
- islandCount: count
99
- });
100
- return { steps, count };
101
- }
102
- //# sourceMappingURL=numIslandsVisual.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numIslandsVisual.js","sourceRoot":"","sources":["../../../src/functions/algorithm/numIslandsVisual.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- export interface SortStep {
2
- description: string;
3
- array: number[];
4
- highlights: {
5
- pivot?: number;
6
- comparing?: number[];
7
- swapping?: number[];
8
- sorted?: number[];
9
- };
10
- range?: {
11
- left: number;
12
- right: number;
13
- };
14
- }
15
- export declare function quickSortVisual(arr: number[]): {
16
- steps: SortStep[];
17
- result: number[];
18
- };
@@ -1,104 +0,0 @@
1
- export function quickSortVisual(arr) {
2
- const steps = [];
3
- const result = [...arr];
4
- steps.push({
5
- description: '开始排序',
6
- array: [...result],
7
- highlights: {}
8
- });
9
- function partition(arr, left, right) {
10
- const pivot = arr[right];
11
- const pivotIndex = right;
12
- steps.push({
13
- description: `选择基准值 arr[${right}] = ${pivot}`,
14
- array: [...arr],
15
- highlights: { pivot: right },
16
- range: { left, right }
17
- });
18
- let i = left - 1;
19
- for (let j = left; j < right; j++) {
20
- steps.push({
21
- description: `比较 arr[${j}] = ${arr[j]} 与基准值 ${pivot}`,
22
- array: [...arr],
23
- highlights: { pivot: pivotIndex, comparing: [j] },
24
- range: { left, right }
25
- });
26
- if (arr[j] <= pivot) {
27
- i++;
28
- if (i !== j) {
29
- steps.push({
30
- description: `交换 arr[${i}] = ${arr[i]} 与 arr[${j}] = ${arr[j]}`,
31
- array: [...arr],
32
- highlights: { pivot: pivotIndex, swapping: [i, j] },
33
- range: { left, right }
34
- });
35
- [arr[i], arr[j]] = [arr[j], arr[i]];
36
- steps.push({
37
- description: `交换后: arr[${i}] = ${arr[i]}, arr[${j}] = ${arr[j]}`,
38
- array: [...arr],
39
- highlights: { pivot: pivotIndex },
40
- range: { left, right }
41
- });
42
- }
43
- }
44
- }
45
- const newPivotIndex = i + 1;
46
- if (newPivotIndex !== right) {
47
- steps.push({
48
- description: `将基准值放到正确位置: 交换 arr[${newPivotIndex}] 与 arr[${right}]`,
49
- array: [...arr],
50
- highlights: { swapping: [newPivotIndex, right] },
51
- range: { left, right }
52
- });
53
- [arr[newPivotIndex], arr[right]] = [arr[right], arr[newPivotIndex]];
54
- steps.push({
55
- description: `基准值 ${pivot} 已就位于索引 ${newPivotIndex}`,
56
- array: [...arr],
57
- highlights: { sorted: [newPivotIndex] },
58
- range: { left, right }
59
- });
60
- }
61
- return newPivotIndex;
62
- }
63
- function quickSortHelper(arr, left, right) {
64
- if (left >= right) {
65
- if (left === right) {
66
- steps.push({
67
- description: `单个元素 arr[${left}] = ${arr[left]} 已有序`,
68
- array: [...arr],
69
- highlights: { sorted: [left] }
70
- });
71
- }
72
- return;
73
- }
74
- steps.push({
75
- description: `处理子数组 [${left}..${right}]`,
76
- array: [...arr],
77
- highlights: {},
78
- range: { left, right }
79
- });
80
- const pivotIndex = partition(arr, left, right);
81
- steps.push({
82
- description: `递归处理左半部分 [${left}..${pivotIndex - 1}]`,
83
- array: [...arr],
84
- highlights: {},
85
- range: { left, right: pivotIndex - 1 }
86
- });
87
- quickSortHelper(arr, left, pivotIndex - 1);
88
- steps.push({
89
- description: `递归处理右半部分 [${pivotIndex + 1}..${right}]`,
90
- array: [...arr],
91
- highlights: {},
92
- range: { left: pivotIndex + 1, right }
93
- });
94
- quickSortHelper(arr, pivotIndex + 1, right);
95
- }
96
- quickSortHelper(result, 0, result.length - 1);
97
- steps.push({
98
- description: '排序完成!',
99
- array: [...result],
100
- highlights: { sorted: result.map((_, i) => i) }
101
- });
102
- return { steps, result };
103
- }
104
- //# sourceMappingURL=quickSortVisual.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quickSortVisual.js","sourceRoot":"","sources":["../../../src/functions/algorithm/quickSortVisual.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { Navigator } from '../../../references/browser.d';
2
- export interface DetectDeviceDeps {
3
- userAgent: Navigator['userAgent'];
4
- }
5
- export interface DeviceInfo {
6
- type: 'mobile' | 'tablet' | 'desktop';
7
- vendor: string;
8
- model: string;
9
- }
10
- export declare function detectDevice(deps: DetectDeviceDeps): DeviceInfo;
@@ -1,49 +0,0 @@
1
- export function detectDevice(deps) {
2
- const ua = deps.userAgent;
3
- let type = 'desktop';
4
- let vendor = 'Unknown';
5
- let model = 'Unknown';
6
- if (/iPad/.test(ua)) {
7
- type = 'tablet';
8
- vendor = 'Apple';
9
- model = 'iPad';
10
- }
11
- else if (/iPhone/.test(ua)) {
12
- type = 'mobile';
13
- vendor = 'Apple';
14
- model = 'iPhone';
15
- }
16
- else if (/Android/.test(ua)) {
17
- type = /Mobile/.test(ua) ? 'mobile' : 'tablet';
18
- vendor = 'Android';
19
- const modelMatch = ua.match(/Android.*;\s*([^)]+)\s*Build/);
20
- if (modelMatch) {
21
- model = modelMatch[1].trim();
22
- }
23
- }
24
- else if (/Windows Phone/.test(ua)) {
25
- type = 'mobile';
26
- vendor = 'Microsoft';
27
- model = 'Windows Phone';
28
- }
29
- if (type === 'desktop') {
30
- if (/Mac/.test(ua)) {
31
- vendor = 'Apple';
32
- model = 'Macintosh';
33
- }
34
- else if (/Windows/.test(ua)) {
35
- vendor = 'Microsoft';
36
- model = 'Windows PC';
37
- }
38
- else if (/Linux/.test(ua)) {
39
- vendor = 'Linux';
40
- model = 'Linux PC';
41
- }
42
- }
43
- return {
44
- type,
45
- vendor,
46
- model
47
- };
48
- }
49
- //# sourceMappingURL=detectDevice.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detectDevice.js","sourceRoot":"","sources":["../../../src/functions/browser/detectDevice.ts"],"names":[],"mappings":"AAoCA,MAAM,UAAU,YAAY,CAAC,IAAsB;IACjD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;IAEzB,IAAI,IAAI,GAAoC,SAAS,CAAA;IACrD,IAAI,MAAM,GAAG,SAAS,CAAA;IACtB,IAAI,KAAK,GAAG,SAAS,CAAA;IAGrB,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACpB,IAAI,GAAG,QAAQ,CAAA;QACf,MAAM,GAAG,OAAO,CAAA;QAChB,KAAK,GAAG,MAAM,CAAA;IAChB,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,IAAI,GAAG,QAAQ,CAAA;QACf,MAAM,GAAG,OAAO,CAAA;QAChB,KAAK,GAAG,QAAQ,CAAA;IAClB,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9B,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QAC9C,MAAM,GAAG,SAAS,CAAA;QAGlB,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC3D,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9B,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACpC,IAAI,GAAG,QAAQ,CAAA;QACf,MAAM,GAAG,WAAW,CAAA;QACpB,KAAK,GAAG,eAAe,CAAA;IACzB,CAAC;IAGD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACnB,MAAM,GAAG,OAAO,CAAA;YAChB,KAAK,GAAG,WAAW,CAAA;QACrB,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,WAAW,CAAA;YACpB,KAAK,GAAG,YAAY,CAAA;QACtB,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,OAAO,CAAA;YAChB,KAAK,GAAG,UAAU,CAAA;QACpB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,MAAM;QACN,KAAK;KACN,CAAA;AACH,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { Document } from '../../../references/dom.d';
2
- export interface GetCookieDeps {
3
- cookie: Document['cookie'];
4
- }
5
- export declare function getCookie(name: string, deps: GetCookieDeps): string | null;
@@ -1,14 +0,0 @@
1
- export function getCookie(name, deps) {
2
- if (!name || !deps.cookie) {
3
- return null;
4
- }
5
- const cookies = deps.cookie.split(';');
6
- for (const cookie of cookies) {
7
- const [key, value] = cookie.trim().split('=');
8
- if (key === name) {
9
- return decodeURIComponent(value);
10
- }
11
- }
12
- return null;
13
- }
14
- //# sourceMappingURL=getCookie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCookie.js","sourceRoot":"","sources":["../../../src/functions/cookie/getCookie.ts"],"names":[],"mappings":"AAyBA,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAmB;IACzD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,8 +0,0 @@
1
- export interface RemoveCookieDeps {
2
- setCookie: (value: string) => void;
3
- }
4
- export interface RemoveCookieOptions {
5
- path?: string;
6
- domain?: string;
7
- }
8
- export declare function removeCookie(name: string, options: RemoveCookieOptions | undefined, deps: RemoveCookieDeps): void;
@@ -1,12 +0,0 @@
1
- export function removeCookie(name, options = {}, deps) {
2
- const { path = '/', domain } = options;
3
- let cookieString = `${encodeURIComponent(name)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
4
- if (path) {
5
- cookieString += `; path=${path}`;
6
- }
7
- if (domain) {
8
- cookieString += `; domain=${domain}`;
9
- }
10
- deps.setCookie(cookieString);
11
- }
12
- //# sourceMappingURL=removeCookie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeCookie.js","sourceRoot":"","sources":["../../../src/functions/cookie/removeCookie.ts"],"names":[],"mappings":"AAkCA,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,UAA+B,EAAE,EACjC,IAAsB;IAEtB,MAAM,EAAE,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAEtC,IAAI,YAAY,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,0CAA0C,CAAA;IAExF,IAAI,IAAI,EAAE,CAAC;QACT,YAAY,IAAI,UAAU,IAAI,EAAE,CAAA;IAClC,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,YAAY,IAAI,YAAY,MAAM,EAAE,CAAA;IACtC,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;AAC9B,CAAC"}
@@ -1,11 +0,0 @@
1
- export interface SetCookieDeps {
2
- setCookie: (value: string) => void;
3
- }
4
- export interface SetCookieOptions {
5
- days?: number;
6
- path?: string;
7
- domain?: string;
8
- secure?: boolean;
9
- sameSite?: 'Strict' | 'Lax' | 'None';
10
- }
11
- export declare function setCookie(name: string, value: string, options: SetCookieOptions | undefined, deps: SetCookieDeps): void;
@@ -1,23 +0,0 @@
1
- export function setCookie(name, value, options = {}, deps) {
2
- const { days, path = '/', domain, secure = false, sameSite = 'Lax' } = options;
3
- let cookieString = `${encodeURIComponent(name)}=${encodeURIComponent(value)}`;
4
- if (days) {
5
- const date = new Date();
6
- date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
7
- cookieString += `; expires=${date.toUTCString()}`;
8
- }
9
- if (path) {
10
- cookieString += `; path=${path}`;
11
- }
12
- if (domain) {
13
- cookieString += `; domain=${domain}`;
14
- }
15
- if (secure) {
16
- cookieString += '; secure';
17
- }
18
- if (sameSite) {
19
- cookieString += `; SameSite=${sameSite}`;
20
- }
21
- deps.setCookie(cookieString);
22
- }
23
- //# sourceMappingURL=setCookie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setCookie.js","sourceRoot":"","sources":["../../../src/functions/cookie/setCookie.ts"],"names":[],"mappings":"AA6CA,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,KAAa,EACb,UAA4B,EAAE,EAC9B,IAAmB;IAEnB,MAAM,EACJ,IAAI,EACJ,IAAI,GAAG,GAAG,EACV,MAAM,EACN,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,KAAK,EACjB,GAAG,OAAO,CAAA;IAEX,IAAI,YAAY,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAA;IAE7E,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QACzD,YAAY,IAAI,aAAa,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;IACnD,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,YAAY,IAAI,UAAU,IAAI,EAAE,CAAA;IAClC,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,YAAY,IAAI,YAAY,MAAM,EAAE,CAAA;IACtC,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,YAAY,IAAI,UAAU,CAAA;IAC5B,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,YAAY,IAAI,cAAc,QAAQ,EAAE,CAAA;IAC1C,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;AAC9B,CAAC"}
@@ -1,32 +0,0 @@
1
- import type { Console } from '../../../references/console.d';
2
- export interface EventEmitterDeps {
3
- log: Console['log'];
4
- error: Console['error'];
5
- warn: Console['warn'];
6
- }
7
- export type EventListener = (...args: any[]) => void;
8
- export interface EventMap {
9
- [event: string]: EventListener[];
10
- }
11
- export interface EventEmitterOptions {
12
- maxListeners?: number;
13
- debug?: boolean;
14
- }
15
- export declare class EventEmitter {
16
- private events;
17
- private maxListeners;
18
- private debug;
19
- private deps;
20
- constructor(deps: EventEmitterDeps, options?: EventEmitterOptions);
21
- on(event: string, listener: EventListener): this;
22
- once(event: string, listener: EventListener): this;
23
- off(event: string, listener?: EventListener): this;
24
- emit(event: string, ...args: any[]): boolean;
25
- listeners(event: string): EventListener[];
26
- listenerCount(event: string): number;
27
- eventNames(): string[];
28
- removeAllListeners(event?: string): this;
29
- setMaxListeners(n: number): this;
30
- getMaxListeners(): number;
31
- }
32
- export declare function createEventEmitter(deps: EventEmitterDeps, options?: EventEmitterOptions): EventEmitter;
@@ -1,108 +0,0 @@
1
- export class EventEmitter {
2
- events = {};
3
- maxListeners;
4
- debug;
5
- deps;
6
- constructor(deps, options = {}) {
7
- this.deps = deps;
8
- this.maxListeners = options.maxListeners ?? 10;
9
- this.debug = options.debug ?? false;
10
- }
11
- on(event, listener) {
12
- if (!this.events[event]) {
13
- this.events[event] = [];
14
- }
15
- this.events[event].push(listener);
16
- if (this.events[event].length > this.maxListeners) {
17
- this.deps.warn(`Warning: Event "${event}" has ${this.events[event].length} listeners, ` +
18
- `exceeds max limit of ${this.maxListeners}`);
19
- }
20
- if (this.debug) {
21
- this.deps.log(`[EventEmitter] Listener added for "${event}"`);
22
- }
23
- return this;
24
- }
25
- once(event, listener) {
26
- const onceWrapper = (...args) => {
27
- listener(...args);
28
- this.off(event, onceWrapper);
29
- };
30
- onceWrapper.listener = listener;
31
- return this.on(event, onceWrapper);
32
- }
33
- off(event, listener) {
34
- if (!this.events[event]) {
35
- return this;
36
- }
37
- if (!listener) {
38
- delete this.events[event];
39
- if (this.debug) {
40
- this.deps.log(`[EventEmitter] All listeners removed for "${event}"`);
41
- }
42
- return this;
43
- }
44
- this.events[event] = this.events[event].filter(l => {
45
- return l !== listener && l.listener !== listener;
46
- });
47
- if (this.events[event].length === 0) {
48
- delete this.events[event];
49
- }
50
- if (this.debug) {
51
- this.deps.log(`[EventEmitter] Listener removed for "${event}"`);
52
- }
53
- return this;
54
- }
55
- emit(event, ...args) {
56
- if (!this.events[event] || this.events[event].length === 0) {
57
- if (this.debug) {
58
- this.deps.log(`[EventEmitter] No listeners for "${event}"`);
59
- }
60
- return false;
61
- }
62
- const listeners = [...this.events[event]];
63
- if (this.debug) {
64
- this.deps.log(`[EventEmitter] Emitting "${event}" to ${listeners.length} listeners`);
65
- }
66
- listeners.forEach(listener => {
67
- try {
68
- listener(...args);
69
- }
70
- catch (error) {
71
- this.deps.error(`[EventEmitter] Error in listener for "${event}":`, error);
72
- }
73
- });
74
- return true;
75
- }
76
- listeners(event) {
77
- return this.events[event] ? [...this.events[event]] : [];
78
- }
79
- listenerCount(event) {
80
- return this.events[event]?.length ?? 0;
81
- }
82
- eventNames() {
83
- return Object.keys(this.events);
84
- }
85
- removeAllListeners(event) {
86
- if (event) {
87
- delete this.events[event];
88
- }
89
- else {
90
- this.events = {};
91
- }
92
- if (this.debug) {
93
- this.deps.log(`[EventEmitter] All listeners removed${event ? ` for "${event}"` : ''}`);
94
- }
95
- return this;
96
- }
97
- setMaxListeners(n) {
98
- this.maxListeners = n;
99
- return this;
100
- }
101
- getMaxListeners() {
102
- return this.maxListeners;
103
- }
104
- }
105
- export function createEventEmitter(deps, options) {
106
- return new EventEmitter(deps, options);
107
- }
108
- //# sourceMappingURL=EventEmitter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../src/functions/data-structures/EventEmitter.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- export declare enum PromiseState {
2
- PENDING = "pending",
3
- FULFILLED = "fulfilled",
4
- REJECTED = "rejected"
5
- }
6
- export type PromiseExecutor<T> = (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void;
7
- export type OnFulfilled<T, R> = ((value: T) => R | PromiseLike<R>) | null | undefined;
8
- export type OnRejected<R> = ((reason: any) => R | PromiseLike<R>) | null | undefined;
9
- export interface MyPromiseDeps {
10
- scheduleMicrotask: (callback: () => void) => void;
11
- }
12
- export declare class MyPromise<T> {
13
- private state;
14
- private value;
15
- private reason;
16
- private onFulfilledCallbacks;
17
- private onRejectedCallbacks;
18
- private deps;
19
- constructor(executor: PromiseExecutor<T>, deps: MyPromiseDeps);
20
- private resolve;
21
- private reject;
22
- then<R1 = T, R2 = never>(onFulfilled?: OnFulfilled<T, R1>, onRejected?: OnRejected<R2>): MyPromise<R1 | R2>;
23
- catch<R = never>(onRejected?: OnRejected<R>): MyPromise<T | R>;
24
- finally(onFinally?: (() => void) | null | undefined): MyPromise<T>;
25
- private resolvePromise;
26
- static resolve<T>(value: T | PromiseLike<T>, deps: MyPromiseDeps): MyPromise<T>;
27
- static reject<T = never>(reason: any, deps: MyPromiseDeps): MyPromise<T>;
28
- static all<T>(promises: Array<T | PromiseLike<T>>, deps: MyPromiseDeps): MyPromise<T[]>;
29
- static race<T>(promises: Array<T | PromiseLike<T>>, deps: MyPromiseDeps): MyPromise<T>;
30
- static allSettled<T>(promises: Array<T | PromiseLike<T>>, deps: MyPromiseDeps): MyPromise<Array<PromiseSettledResult<T>>>;
31
- static any<T>(promises: Array<T | PromiseLike<T>>, deps: MyPromiseDeps): MyPromise<T>;
32
- }