zcw-shared 1.32.0 → 1.32.2

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 (143) hide show
  1. package/README.md +2 -2
  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/hooks/usePermission.d.ts +7 -0
  36. package/dist/hooks/usePermission.js +123 -0
  37. package/dist/hooks/usePermission.js.map +1 -0
  38. package/dist/vue-hooks/dom/useKeyboard.d.ts +29 -0
  39. package/dist/vue-hooks/dom/useKeyboard.js +129 -0
  40. package/dist/vue-hooks/dom/useKeyboard.js.map +1 -0
  41. package/dist/vue-hooks/state/useFileUpload.d.ts +23 -0
  42. package/dist/vue-hooks/state/useFileUpload.js +93 -0
  43. package/dist/vue-hooks/state/useFileUpload.js.map +1 -0
  44. package/package.json +2 -5
  45. package/dist/functions/algorithm/lcsVisual.d.ts +0 -6
  46. package/dist/functions/algorithm/lcsVisual.js +0 -88
  47. package/dist/functions/algorithm/lcsVisual.js.map +0 -1
  48. package/dist/functions/algorithm/mergeSortVisual.d.ts +0 -5
  49. package/dist/functions/algorithm/mergeSortVisual.js +0 -103
  50. package/dist/functions/algorithm/mergeSortVisual.js.map +0 -1
  51. package/dist/functions/algorithm/nQueensVisual.d.ts +0 -14
  52. package/dist/functions/algorithm/nQueensVisual.js +0 -94
  53. package/dist/functions/algorithm/nQueensVisual.js.map +0 -1
  54. package/dist/functions/algorithm/numIslandsVisual.d.ts +0 -17
  55. package/dist/functions/algorithm/numIslandsVisual.js +0 -102
  56. package/dist/functions/algorithm/numIslandsVisual.js.map +0 -1
  57. package/dist/functions/algorithm/quickSortVisual.d.ts +0 -18
  58. package/dist/functions/algorithm/quickSortVisual.js +0 -104
  59. package/dist/functions/algorithm/quickSortVisual.js.map +0 -1
  60. package/dist/functions/browser/detectDevice.d.ts +0 -10
  61. package/dist/functions/browser/detectDevice.js +0 -49
  62. package/dist/functions/browser/detectDevice.js.map +0 -1
  63. package/dist/functions/cookie/getCookie.d.ts +0 -5
  64. package/dist/functions/cookie/getCookie.js +0 -14
  65. package/dist/functions/cookie/getCookie.js.map +0 -1
  66. package/dist/functions/cookie/removeCookie.d.ts +0 -8
  67. package/dist/functions/cookie/removeCookie.js +0 -12
  68. package/dist/functions/cookie/removeCookie.js.map +0 -1
  69. package/dist/functions/cookie/setCookie.d.ts +0 -11
  70. package/dist/functions/cookie/setCookie.js +0 -23
  71. package/dist/functions/cookie/setCookie.js.map +0 -1
  72. package/dist/functions/data-structures/EventEmitter.d.ts +0 -32
  73. package/dist/functions/data-structures/EventEmitter.js +0 -108
  74. package/dist/functions/data-structures/EventEmitter.js.map +0 -1
  75. package/dist/functions/data-structures/MyPromise.d.ts +0 -32
  76. package/dist/functions/data-structures/MyPromise.js +0 -254
  77. package/dist/functions/data-structures/MyPromise.js.map +0 -1
  78. package/dist/functions/reactive/useReactiveCookie.d.ts +0 -19
  79. package/dist/functions/reactive/useReactiveCookie.js +0 -84
  80. package/dist/functions/reactive/useReactiveCookie.js.map +0 -1
  81. package/dist/hooks/useClickOutside.d.ts +0 -12
  82. package/dist/hooks/useClickOutside.js +0 -16
  83. package/dist/hooks/useClickOutside.js.map +0 -1
  84. package/dist/hooks/useClipboard.d.ts +0 -20
  85. package/dist/hooks/useClipboard.js +0 -33
  86. package/dist/hooks/useClipboard.js.map +0 -1
  87. package/dist/hooks/useCounter.d.ts +0 -19
  88. package/dist/hooks/useCounter.js +0 -44
  89. package/dist/hooks/useCounter.js.map +0 -1
  90. package/dist/hooks/useEventListener.d.ts +0 -14
  91. package/dist/hooks/useEventListener.js +0 -18
  92. package/dist/hooks/useEventListener.js.map +0 -1
  93. package/dist/hooks/useInterval.d.ts +0 -19
  94. package/dist/hooks/useInterval.js +0 -33
  95. package/dist/hooks/useInterval.js.map +0 -1
  96. package/dist/hooks/useTimeout.d.ts +0 -20
  97. package/dist/hooks/useTimeout.js +0 -40
  98. package/dist/hooks/useTimeout.js.map +0 -1
  99. package/dist/hooks/useToggle.d.ts +0 -15
  100. package/dist/hooks/useToggle.js +0 -23
  101. package/dist/hooks/useToggle.js.map +0 -1
  102. package/dist/reactive/createGlobalState.d.ts +0 -2
  103. package/dist/reactive/createGlobalState.js +0 -11
  104. package/dist/reactive/createGlobalState.js.map +0 -1
  105. package/dist/reactive/createSharedComposable.d.ts +0 -2
  106. package/dist/reactive/createSharedComposable.js +0 -13
  107. package/dist/reactive/createSharedComposable.js.map +0 -1
  108. package/dist/reactive/errorManager.d.ts +0 -63
  109. package/dist/reactive/errorManager.js +0 -199
  110. package/dist/reactive/errorManager.js.map +0 -1
  111. package/dist/reactive/i18n.d.ts +0 -27
  112. package/dist/reactive/i18n.js +0 -119
  113. package/dist/reactive/i18n.js.map +0 -1
  114. package/dist/reactive/permission.d.ts +0 -40
  115. package/dist/reactive/permission.js +0 -189
  116. package/dist/reactive/permission.js.map +0 -1
  117. package/dist/reactive/pinia.d.ts +0 -52
  118. package/dist/reactive/pinia.js +0 -183
  119. package/dist/reactive/pinia.js.map +0 -1
  120. package/dist/reactive/useAltool.d.ts +0 -39
  121. package/dist/reactive/useAltool.js +0 -350
  122. package/dist/reactive/useAltool.js.map +0 -1
  123. package/dist/reactive/useCache.d.ts +0 -18
  124. package/dist/reactive/useCache.js +0 -82
  125. package/dist/reactive/useCache.js.map +0 -1
  126. package/dist/reactive/useLocalStorage.d.ts +0 -8
  127. package/dist/reactive/useLocalStorage.js +0 -101
  128. package/dist/reactive/useLocalStorage.js.map +0 -1
  129. package/dist/reactive/usePluginSystem.d.ts +0 -11
  130. package/dist/reactive/usePluginSystem.js +0 -34
  131. package/dist/reactive/usePluginSystem.js.map +0 -1
  132. package/dist/reactive/useSessionStorage.d.ts +0 -8
  133. package/dist/reactive/useSessionStorage.js +0 -101
  134. package/dist/reactive/useSessionStorage.js.map +0 -1
  135. package/dist/reactive/useStorage.d.ts +0 -13
  136. package/dist/reactive/useStorage.js +0 -62
  137. package/dist/reactive/useStorage.js.map +0 -1
  138. package/dist/reactive/useStorageWithIndexedDB.d.ts +0 -8
  139. package/dist/reactive/useStorageWithIndexedDB.js +0 -132
  140. package/dist/reactive/useStorageWithIndexedDB.js.map +0 -1
  141. package/dist/vue-hooks/state/useToken.d.ts +0 -36
  142. package/dist/vue-hooks/state/useToken.js +0 -121
  143. package/dist/vue-hooks/state/useToken.js.map +0 -1
@@ -1,82 +0,0 @@
1
- export default function (globalOptions = {}) {
2
- const cache = new Map();
3
- const initStats = {
4
- hits: 0,
5
- misses: 0,
6
- totalRequests: 0,
7
- hitRate: 0,
8
- };
9
- let stats = { ...initStats };
10
- function cleanExpiredCache() {
11
- const now = Date.now();
12
- for (const [key, item] of cache.entries()) {
13
- if (item.expireAt && now > item.expireAt) {
14
- cache.delete(key);
15
- }
16
- }
17
- }
18
- function cleanLeastRecentlyUsed() {
19
- if (!globalOptions.maxSize)
20
- return;
21
- if (cache.size > globalOptions.maxSize) {
22
- const entries = Array.from(cache.entries());
23
- entries.sort((a, b) => a[1].lastAccessed - b[1].lastAccessed);
24
- const itemsToRemove = entries.slice(0, cache.size - globalOptions.maxSize);
25
- itemsToRemove.forEach(([key]) => cache.delete(key));
26
- }
27
- }
28
- function updateStats(hit) {
29
- stats.totalRequests++;
30
- if (hit) {
31
- stats.hits++;
32
- }
33
- else {
34
- stats.misses++;
35
- }
36
- stats.hitRate = stats.hits / stats.totalRequests;
37
- }
38
- function set(key, value, options = {}) {
39
- cleanExpiredCache();
40
- const item = {
41
- value,
42
- expireAt: options.ttl ? Date.now() + options.ttl : undefined,
43
- lastAccessed: Date.now(),
44
- };
45
- cache.set(key, item);
46
- cleanLeastRecentlyUsed();
47
- }
48
- function get(key) {
49
- cleanExpiredCache();
50
- const item = cache.get(key);
51
- if (!item) {
52
- updateStats(false);
53
- return undefined;
54
- }
55
- if (item.expireAt && Date.now() > item.expireAt) {
56
- cache.delete(key);
57
- updateStats(false);
58
- return undefined;
59
- }
60
- item.lastAccessed = Date.now();
61
- updateStats(true);
62
- return item.value;
63
- }
64
- function remove(key) {
65
- cache.delete(key);
66
- }
67
- function clear() {
68
- cache.clear();
69
- stats = { ...initStats };
70
- }
71
- function getStats() {
72
- return { ...stats };
73
- }
74
- return {
75
- set,
76
- get,
77
- remove,
78
- clear,
79
- getStats,
80
- };
81
- }
82
- //# sourceMappingURL=useCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCache.js","sourceRoot":"","sources":["../../src/reactive/useCache.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { StorageOptions, StorageAdapter } from '../../types/storage.d';
2
- import type { Storage } from '../../references/storage.d';
3
- import type { Console } from '../../references/console.d';
4
- export interface LocalStorageDeps {
5
- localStorage: Storage;
6
- consoleError: Console['error'];
7
- }
8
- export default function useLocalStorage<T>(deps: LocalStorageDeps, options?: StorageOptions): StorageAdapter<T>;
@@ -1,101 +0,0 @@
1
- export default function useLocalStorage(deps, options = {}) {
2
- const { localStorage, consoleError } = deps;
3
- const { prefix = '', serializer } = options;
4
- const defaultSerializer = {
5
- serialize: (value) => JSON.stringify(value),
6
- deserialize: (value) => {
7
- try {
8
- return JSON.parse(value);
9
- }
10
- catch {
11
- return value;
12
- }
13
- }
14
- };
15
- const currentSerializer = serializer || defaultSerializer;
16
- const get = async (key) => {
17
- try {
18
- const fullKey = prefix + key;
19
- const item = localStorage.getItem(fullKey);
20
- if (item === null)
21
- return null;
22
- return currentSerializer.deserialize(item);
23
- }
24
- catch (error) {
25
- consoleError(`获取 localStorage 值失败: ${error}`);
26
- return null;
27
- }
28
- };
29
- const set = async (key, value) => {
30
- try {
31
- const fullKey = prefix + key;
32
- const serializedValue = currentSerializer.serialize(value);
33
- localStorage.setItem(fullKey, serializedValue);
34
- }
35
- catch (error) {
36
- throw new Error(`设置 localStorage 值失败: ${error}`);
37
- }
38
- };
39
- const remove = async (key) => {
40
- try {
41
- const fullKey = prefix + key;
42
- localStorage.removeItem(fullKey);
43
- }
44
- catch (error) {
45
- throw new Error(`移除 localStorage 值失败: ${error}`);
46
- }
47
- };
48
- const clear = async () => {
49
- try {
50
- localStorage.clear();
51
- }
52
- catch (error) {
53
- throw new Error(`清空 localStorage 失败: ${error}`);
54
- }
55
- };
56
- const getAll = async () => {
57
- try {
58
- const result = {};
59
- for (let i = 0; i < localStorage.length; i++) {
60
- const key = localStorage.key(i);
61
- if (key && key.startsWith(prefix)) {
62
- const actualKey = key.slice(prefix.length);
63
- const value = await get(actualKey);
64
- if (value !== null) {
65
- result[actualKey] = value;
66
- }
67
- }
68
- }
69
- return result;
70
- }
71
- catch (error) {
72
- consoleError(`获取所有 localStorage 值失败: ${error}`);
73
- return {};
74
- }
75
- };
76
- const getKeys = async () => {
77
- try {
78
- const keys = [];
79
- for (let i = 0; i < localStorage.length; i++) {
80
- const key = localStorage.key(i);
81
- if (key && key.startsWith(prefix)) {
82
- keys.push(key.slice(prefix.length));
83
- }
84
- }
85
- return keys;
86
- }
87
- catch (error) {
88
- consoleError(`获取 localStorage 键列表失败: ${error}`);
89
- return [];
90
- }
91
- };
92
- return {
93
- get,
94
- set,
95
- remove,
96
- clear,
97
- getAll,
98
- getKeys
99
- };
100
- }
101
- //# sourceMappingURL=useLocalStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLocalStorage.js","sourceRoot":"","sources":["../../src/reactive/useLocalStorage.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- export type SyncPluginFunction<State, Context> = (state: State, context: Context) => State;
2
- interface PluginSystemBase<State, Context> {
3
- state: State;
4
- addPlugin: (plugin: SyncPluginFunction<State, Context>) => void;
5
- execute: (context: Context) => State;
6
- clear: () => void;
7
- getPlugins: () => SyncPluginFunction<State, Context>[];
8
- getPluginCount: () => number;
9
- }
10
- declare function createSyncPluginSystem<State, Context>(initialState: State): PluginSystemBase<State, Context>;
11
- export default createSyncPluginSystem;
@@ -1,34 +0,0 @@
1
- function createSyncPluginSystem(initialState) {
2
- let state = initialState;
3
- const plugins = [];
4
- const addPlugin = (plugin) => {
5
- plugins.push(plugin);
6
- };
7
- const execute = (context) => {
8
- let currentState = state;
9
- for (const plugin of plugins) {
10
- currentState = plugin(currentState, context);
11
- }
12
- state = currentState;
13
- return currentState;
14
- };
15
- const clear = () => {
16
- plugins.length = 0;
17
- };
18
- const getPlugins = () => {
19
- return [...plugins];
20
- };
21
- const getPluginCount = () => {
22
- return plugins.length;
23
- };
24
- return {
25
- state,
26
- addPlugin,
27
- execute,
28
- clear,
29
- getPlugins,
30
- getPluginCount
31
- };
32
- }
33
- export default createSyncPluginSystem;
34
- //# sourceMappingURL=usePluginSystem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePluginSystem.js","sourceRoot":"","sources":["../../src/reactive/usePluginSystem.ts"],"names":[],"mappings":"AAyBA,SAAS,sBAAsB,CAC7B,YAAmB;IAEnB,IAAI,KAAK,GAAG,YAAY,CAAA;IACxB,MAAM,OAAO,GAAyC,EAAE,CAAA;IAExD,MAAM,SAAS,GAAG,CAAC,MAA0C,EAAE,EAAE;QAC/D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAE,EAAE;QACnC,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,GAAG,YAAY,CAAA;QACpB,OAAO,YAAY,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IACpB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,OAAO,OAAO,CAAC,MAAM,CAAA;IACvB,CAAC,CAAA;IAED,OAAO;QACL,KAAK;QACL,SAAS;QACT,OAAO;QACP,KAAK;QACL,UAAU;QACV,cAAc;KACf,CAAA;AACH,CAAC;AAGD,eAAe,sBAAsB,CAAA"}
@@ -1,8 +0,0 @@
1
- import type { StorageOptions, StorageAdapter } from '../../types/storage.d';
2
- import type { Storage } from '../../references/storage.d';
3
- import type { Console } from '../../references/console.d';
4
- export interface SessionStorageDeps {
5
- sessionStorage: Storage;
6
- consoleError: Console['error'];
7
- }
8
- export default function useSessionStorage<T>(deps: SessionStorageDeps, options?: StorageOptions): StorageAdapter<T>;
@@ -1,101 +0,0 @@
1
- export default function useSessionStorage(deps, options = {}) {
2
- const { sessionStorage, consoleError } = deps;
3
- const { prefix = '', serializer } = options;
4
- const defaultSerializer = {
5
- serialize: (value) => JSON.stringify(value),
6
- deserialize: (value) => {
7
- try {
8
- return JSON.parse(value);
9
- }
10
- catch {
11
- return value;
12
- }
13
- }
14
- };
15
- const currentSerializer = serializer || defaultSerializer;
16
- const get = async (key) => {
17
- try {
18
- const fullKey = prefix + key;
19
- const item = sessionStorage.getItem(fullKey);
20
- if (item === null)
21
- return null;
22
- return currentSerializer.deserialize(item);
23
- }
24
- catch (error) {
25
- consoleError(`获取 sessionStorage 值失败: ${error}`);
26
- return null;
27
- }
28
- };
29
- const set = async (key, value) => {
30
- try {
31
- const fullKey = prefix + key;
32
- const serializedValue = currentSerializer.serialize(value);
33
- sessionStorage.setItem(fullKey, serializedValue);
34
- }
35
- catch (error) {
36
- throw new Error(`设置 sessionStorage 值失败: ${error}`);
37
- }
38
- };
39
- const remove = async (key) => {
40
- try {
41
- const fullKey = prefix + key;
42
- sessionStorage.removeItem(fullKey);
43
- }
44
- catch (error) {
45
- throw new Error(`移除 sessionStorage 值失败: ${error}`);
46
- }
47
- };
48
- const clear = async () => {
49
- try {
50
- sessionStorage.clear();
51
- }
52
- catch (error) {
53
- throw new Error(`清空 sessionStorage 失败: ${error}`);
54
- }
55
- };
56
- const getAll = async () => {
57
- try {
58
- const result = {};
59
- for (let i = 0; i < sessionStorage.length; i++) {
60
- const key = sessionStorage.key(i);
61
- if (key && key.startsWith(prefix)) {
62
- const actualKey = key.slice(prefix.length);
63
- const value = await get(actualKey);
64
- if (value !== null) {
65
- result[actualKey] = value;
66
- }
67
- }
68
- }
69
- return result;
70
- }
71
- catch (error) {
72
- consoleError(`获取所有 sessionStorage 值失败: ${error}`);
73
- return {};
74
- }
75
- };
76
- const getKeys = async () => {
77
- try {
78
- const keys = [];
79
- for (let i = 0; i < sessionStorage.length; i++) {
80
- const key = sessionStorage.key(i);
81
- if (key && key.startsWith(prefix)) {
82
- keys.push(key.slice(prefix.length));
83
- }
84
- }
85
- return keys;
86
- }
87
- catch (error) {
88
- consoleError(`获取 sessionStorage 键列表失败: ${error}`);
89
- return [];
90
- }
91
- };
92
- return {
93
- get,
94
- set,
95
- remove,
96
- clear,
97
- getAll,
98
- getKeys
99
- };
100
- }
101
- //# sourceMappingURL=useSessionStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSessionStorage.js","sourceRoot":"","sources":["../../src/reactive/useSessionStorage.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { StorageAdapter } from '../../types/storage.d';
2
- import type { Console } from '../../references/console.d';
3
- export interface StorageDeps {
4
- error: Console['error'];
5
- }
6
- export default function useStorage<T>(adapter: StorageAdapter<T>, deps: StorageDeps): {
7
- getAll: () => Promise<Record<string, T>>;
8
- get: (key: string) => Promise<T | null>;
9
- set: (key: string, value: T) => Promise<void>;
10
- remove: (key: string) => Promise<void>;
11
- clear: () => Promise<void>;
12
- getKeys: () => Promise<string[]>;
13
- };
@@ -1,62 +0,0 @@
1
- export default function useStorage(adapter, deps) {
2
- const getAll = async () => {
3
- try {
4
- return await adapter.getAll();
5
- }
6
- catch (error) {
7
- deps.error(`获取所有存储值失败: ${error}`);
8
- return {};
9
- }
10
- };
11
- const get = async (key) => {
12
- try {
13
- return await adapter.get(key);
14
- }
15
- catch (error) {
16
- deps.error(`获取存储值失败: ${error}`);
17
- return null;
18
- }
19
- };
20
- const set = async (key, value) => {
21
- try {
22
- await adapter.set(key, value);
23
- }
24
- catch (error) {
25
- throw new Error(`设置存储值失败: ${error}`);
26
- }
27
- };
28
- const remove = async (key) => {
29
- try {
30
- await adapter.remove(key);
31
- }
32
- catch (error) {
33
- throw new Error(`移除存储值失败: ${error}`);
34
- }
35
- };
36
- const clear = async () => {
37
- try {
38
- await adapter.clear();
39
- }
40
- catch (error) {
41
- throw new Error(`清空存储失败: ${error}`);
42
- }
43
- };
44
- const getKeys = async () => {
45
- try {
46
- return await adapter.getKeys();
47
- }
48
- catch (error) {
49
- deps.error(`获取存储键列表失败: ${error}`);
50
- return [];
51
- }
52
- };
53
- return {
54
- getAll,
55
- get,
56
- set,
57
- remove,
58
- clear,
59
- getKeys
60
- };
61
- }
62
- //# sourceMappingURL=useStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStorage.js","sourceRoot":"","sources":["../../src/reactive/useStorage.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,OAA0B,EAC1B,IAAiB;IAGjB,MAAM,MAAM,GAAG,KAAK,IAAgC,EAAE;QACpD,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,CAAC,CAAA;YACjC,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC,CAAA;IAGD,MAAM,GAAG,GAAG,KAAK,EAAE,GAAW,EAAqB,EAAE;QACnD,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;YAC/B,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IAGD,MAAM,GAAG,GAAG,KAAK,EAAE,GAAW,EAAE,KAAQ,EAAiB,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;QACtC,CAAC;IACH,CAAC,CAAA;IAGD,MAAM,MAAM,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;QACtC,CAAC;IACH,CAAC,CAAA;IAGD,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,EAAE,CAAC,CAAA;QACrC,CAAC;IACH,CAAC,CAAA;IAGD,MAAM,OAAO,GAAG,KAAK,IAAuB,EAAE;QAC5C,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,CAAC,CAAA;YACjC,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC,CAAA;IAED,OAAO;QACL,MAAM;QACN,GAAG;QACH,GAAG;QACH,MAAM;QACN,KAAK;QACL,OAAO;KACR,CAAA;AACH,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { IDBFactory } from '../../references/indexeddb.d';
2
- import type { IndexedDBStorageOptions, StorageAdapter } from '../../types/storage.d';
3
- import type { Console } from '../../references/console.d';
4
- export interface IndexedDBStorageDeps {
5
- indexedDB: IDBFactory;
6
- consoleError: Console['error'];
7
- }
8
- export default function useStorageWithIndexedDB<T>(deps: IndexedDBStorageDeps, options: IndexedDBStorageOptions): StorageAdapter<T>;
@@ -1,132 +0,0 @@
1
- export default function useStorageWithIndexedDB(deps, options) {
2
- const { indexedDB, consoleError } = deps;
3
- const { dbName, storeName, version = 1, prefix = '', serializer } = options;
4
- const defaultSerializer = {
5
- serialize: (value) => value,
6
- deserialize: (value) => value
7
- };
8
- const currentSerializer = serializer ? {
9
- serialize: serializer.serialize,
10
- deserialize: (value) => {
11
- if (typeof value === 'string') {
12
- return serializer.deserialize(value);
13
- }
14
- return serializer.deserialize(JSON.stringify(value));
15
- }
16
- } : defaultSerializer;
17
- const openDatabase = () => {
18
- return new Promise((resolve, reject) => {
19
- const request = indexedDB.open(dbName, version);
20
- request.onerror = () => {
21
- reject(new Error(`打开 IndexedDB 数据库失败: ${request.error?.message}`));
22
- };
23
- request.onsuccess = () => {
24
- resolve(request.result);
25
- };
26
- request.onupgradeneeded = () => {
27
- const db = request.result;
28
- if (!db.objectStoreNames.contains(storeName)) {
29
- db.createObjectStore(storeName);
30
- }
31
- };
32
- });
33
- };
34
- const getObjectStore = async (mode = 'readonly') => {
35
- const db = await openDatabase();
36
- const transaction = db.transaction([storeName], mode);
37
- return transaction.objectStore(storeName);
38
- };
39
- const executeRequest = (request) => {
40
- return new Promise((resolve, reject) => {
41
- request.onsuccess = () => resolve(request.result);
42
- request.onerror = () => reject(new Error(`IndexedDB 操作失败: ${request.error?.message}`));
43
- });
44
- };
45
- const get = async (key) => {
46
- try {
47
- const fullKey = prefix + key;
48
- const store = await getObjectStore('readonly');
49
- const request = store.get(fullKey);
50
- const result = await executeRequest(request);
51
- return result ? currentSerializer.deserialize(result) : null;
52
- }
53
- catch (error) {
54
- consoleError(`获取 IndexedDB 值失败: ${error}`);
55
- return null;
56
- }
57
- };
58
- const set = async (key, value) => {
59
- try {
60
- const fullKey = prefix + key;
61
- const store = await getObjectStore('readwrite');
62
- const serializedValue = currentSerializer.serialize(value);
63
- const request = store.put(serializedValue, fullKey);
64
- await executeRequest(request);
65
- }
66
- catch (error) {
67
- throw new Error(`设置 IndexedDB 值失败: ${error}`);
68
- }
69
- };
70
- const remove = async (key) => {
71
- try {
72
- const fullKey = prefix + key;
73
- const store = await getObjectStore('readwrite');
74
- const request = store.delete(fullKey);
75
- await executeRequest(request);
76
- }
77
- catch (error) {
78
- throw new Error(`移除 IndexedDB 值失败: ${error}`);
79
- }
80
- };
81
- const clear = async () => {
82
- try {
83
- const store = await getObjectStore('readwrite');
84
- const request = store.clear();
85
- await executeRequest(request);
86
- }
87
- catch (error) {
88
- throw new Error(`清空 IndexedDB 失败: ${error}`);
89
- }
90
- };
91
- const getKeys = async () => {
92
- try {
93
- const store = await getObjectStore('readonly');
94
- const request = store.getAllKeys();
95
- const keys = await executeRequest(request);
96
- return keys.map(key => {
97
- const strKey = String(key);
98
- return strKey.startsWith(prefix) ? strKey.slice(prefix.length) : strKey;
99
- });
100
- }
101
- catch (error) {
102
- consoleError(`获取 IndexedDB 键列表失败: ${error}`);
103
- return [];
104
- }
105
- };
106
- const getAll = async () => {
107
- try {
108
- const keys = await getKeys();
109
- const result = {};
110
- for (const key of keys) {
111
- const value = await get(key);
112
- if (value !== null) {
113
- result[key] = value;
114
- }
115
- }
116
- return result;
117
- }
118
- catch (error) {
119
- consoleError(`获取所有 IndexedDB 值失败: ${error}`);
120
- return {};
121
- }
122
- };
123
- return {
124
- get,
125
- set,
126
- remove,
127
- clear,
128
- getAll,
129
- getKeys
130
- };
131
- }
132
- //# sourceMappingURL=useStorageWithIndexedDB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStorageWithIndexedDB.js","sourceRoot":"","sources":["../../src/reactive/useStorageWithIndexedDB.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import type { setTimeout as SetTimeout } from '../../../references/timer.d';
2
- export interface UseTokenEnvironment<VueRef, VueComputed> {
3
- vue: {
4
- ref: <T>(value: T) => VueRef;
5
- computed: <T>(getter: () => T) => VueComputed;
6
- watch: (source: any, cb: (...args: any[]) => void, options?: any) => void;
7
- onMounted: (fn: () => void) => void;
8
- onUnmounted: (fn: () => void) => void;
9
- };
10
- host: {
11
- getItem: (key: string) => string | null;
12
- setItem: (key: string, value: string) => void;
13
- removeItem: (key: string) => void;
14
- now: () => number;
15
- setTimeout: typeof SetTimeout;
16
- clearTimeout: (id: any) => void;
17
- };
18
- }
19
- export interface UseTokenOptions {
20
- key?: string;
21
- initialToken?: string | null;
22
- initialTtlMs?: number;
23
- persist?: boolean;
24
- }
25
- export interface UseTokenState<VueRef, VueComputed> {
26
- token: VueRef;
27
- expiresAt: VueRef;
28
- isAuthenticated: VueComputed;
29
- isExpired: VueComputed;
30
- remainingMs: VueComputed;
31
- setToken: (value: string | null, ttlMs?: number | null) => void;
32
- clearToken: () => void;
33
- refresh: (ttlMs: number) => void;
34
- reload: () => void;
35
- }
36
- export declare function useToken<VueRef, VueComputed>(options: UseTokenOptions, env: UseTokenEnvironment<VueRef, VueComputed>): UseTokenState<VueRef, VueComputed>;