@vlian/framework 1.2.19 → 1.2.37
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/analytics.umd.js +208 -2395
- package/dist/analytics.umd.js.map +1 -1
- package/dist/core/error/ErrorHandler.cjs.map +1 -1
- package/dist/core/error/ErrorHandler.d.ts +1 -1
- package/dist/core/error/ErrorHandler.js.map +1 -1
- package/dist/core/index.cjs +0 -1
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.ts +1 -2
- package/dist/core/index.js +0 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/initialization/index.cjs.map +1 -1
- package/dist/core/initialization/index.d.ts +1 -1
- package/dist/core/initialization/index.js.map +1 -1
- package/dist/core/initialization/initialization.cjs +2 -147
- package/dist/core/initialization/initialization.cjs.map +1 -1
- package/dist/core/initialization/initialization.d.ts +0 -57
- package/dist/core/initialization/initialization.js +2 -148
- package/dist/core/initialization/initialization.js.map +1 -1
- package/dist/core/kernel/startKernel.cjs +1 -2
- package/dist/core/kernel/startKernel.cjs.map +1 -1
- package/dist/core/kernel/startKernel.js +1 -2
- package/dist/core/kernel/startKernel.js.map +1 -1
- package/dist/core/plugin.cjs +16 -16
- package/dist/core/plugin.cjs.map +1 -1
- package/dist/core/plugin.d.ts +5 -1
- package/dist/core/plugin.js +17 -17
- package/dist/core/plugin.js.map +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.cjs.map +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.js +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.js.map +1 -1
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +13 -8
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs.map +1 -1
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +13 -8
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js.map +1 -1
- package/dist/core/router/utils/adapters/react-router/transform.cjs +4 -0
- package/dist/core/router/utils/adapters/react-router/transform.cjs.map +1 -1
- package/dist/core/router/utils/adapters/react-router/transform.js +4 -0
- package/dist/core/router/utils/adapters/react-router/transform.js.map +1 -1
- package/dist/core/startup/initializeServices.cjs +1 -1
- package/dist/core/startup/initializeServices.cjs.map +1 -1
- package/dist/core/startup/initializeServices.d.ts +1 -1
- package/dist/core/startup/initializeServices.js +1 -1
- package/dist/core/startup/initializeServices.js.map +1 -1
- package/dist/core/startup/performanceTracker.cjs.map +1 -1
- package/dist/core/startup/performanceTracker.d.ts +1 -1
- package/dist/core/startup/performanceTracker.js.map +1 -1
- package/dist/core/startup/renderApp.cjs +1 -1
- package/dist/core/startup/renderApp.cjs.map +1 -1
- package/dist/core/startup/renderApp.d.ts +1 -1
- package/dist/core/startup/renderApp.js +1 -1
- package/dist/core/startup/renderApp.js.map +1 -1
- package/dist/core/startup/startApp.cjs +2 -4
- package/dist/core/startup/startApp.cjs.map +1 -1
- package/dist/core/startup/startApp.js +3 -5
- package/dist/core/startup/startApp.js.map +1 -1
- package/dist/core/types.d.ts +2 -6
- package/dist/core/types.js.map +1 -1
- package/dist/index.cjs +15 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +11758 -32895
- package/dist/index.umd.js.map +1 -1
- package/dist/kernel/constants.cjs +67 -0
- package/dist/kernel/constants.cjs.map +1 -0
- package/dist/kernel/constants.d.ts +5 -0
- package/dist/kernel/constants.js +43 -0
- package/dist/kernel/constants.js.map +1 -0
- package/dist/kernel/index.cjs +40 -0
- package/dist/kernel/index.cjs.map +1 -0
- package/dist/kernel/index.d.ts +3 -0
- package/dist/kernel/index.js +4 -0
- package/dist/kernel/index.js.map +1 -0
- package/dist/kernel/kernel.cjs +296 -0
- package/dist/kernel/kernel.cjs.map +1 -0
- package/dist/kernel/kernel.d.ts +40 -0
- package/dist/kernel/kernel.js +272 -0
- package/dist/kernel/kernel.js.map +1 -0
- package/dist/kernel/manager/cacheManager.cjs +46 -0
- package/dist/kernel/manager/cacheManager.cjs.map +1 -0
- package/dist/kernel/manager/cacheManager.d.ts +6 -0
- package/dist/kernel/manager/cacheManager.js +36 -0
- package/dist/kernel/manager/cacheManager.js.map +1 -0
- package/dist/kernel/manager/i18nManager.cjs +68 -0
- package/dist/kernel/manager/i18nManager.cjs.map +1 -0
- package/dist/kernel/manager/i18nManager.d.ts +8 -0
- package/dist/kernel/manager/i18nManager.js +58 -0
- package/dist/kernel/manager/i18nManager.js.map +1 -0
- package/dist/kernel/manager/index.cjs +30 -0
- package/dist/kernel/manager/index.cjs.map +1 -0
- package/dist/kernel/manager/index.d.ts +4 -0
- package/dist/kernel/manager/index.js +6 -0
- package/dist/kernel/manager/index.js.map +1 -0
- package/dist/kernel/manager/loggerManager.cjs +70 -0
- package/dist/kernel/manager/loggerManager.cjs.map +1 -0
- package/dist/kernel/manager/loggerManager.d.ts +14 -0
- package/dist/kernel/manager/loggerManager.js +60 -0
- package/dist/kernel/manager/loggerManager.js.map +1 -0
- package/dist/kernel/manager/persistence.cjs +93 -0
- package/dist/kernel/manager/persistence.cjs.map +1 -0
- package/dist/kernel/manager/persistence.d.ts +3 -0
- package/dist/kernel/manager/persistence.js +75 -0
- package/dist/kernel/manager/persistence.js.map +1 -0
- package/dist/kernel/manager/themeManager.cjs +85 -0
- package/dist/kernel/manager/themeManager.cjs.map +1 -0
- package/dist/kernel/manager/themeManager.d.ts +9 -0
- package/dist/kernel/manager/themeManager.js +75 -0
- package/dist/kernel/manager/themeManager.js.map +1 -0
- package/dist/kernel/types.cjs.map +1 -0
- package/dist/kernel/types.d.ts +72 -0
- package/dist/kernel/types.js.map +1 -0
- package/dist/library/storage/index.cjs +1 -1
- package/dist/library/storage/index.cjs.map +1 -1
- package/dist/library/storage/index.d.ts +1 -0
- package/dist/library/storage/index.js +1 -1
- package/dist/library/storage/index.js.map +1 -1
- package/dist/request/adapter.d.ts +1 -0
- package/dist/request/core.d.ts +1 -0
- package/dist/request/index.d.ts +1 -42
- package/dist/request/plugin/csrfPlugin.d.ts +2 -2
- package/dist/request/plugin/queue.d.ts +2 -2
- package/dist/request/plugin.d.ts +1 -0
- package/dist/request/runtime.d.ts +1 -0
- package/dist/request/types.d.ts +1 -394
- package/dist/request/utils.d.ts +1 -0
- package/dist/state.umd.js +1 -1
- package/dist/utils/csrf.cjs +13 -152
- package/dist/utils/csrf.cjs.map +1 -1
- package/dist/utils/csrf.d.ts +1 -72
- package/dist/utils/csrf.js +1 -142
- package/dist/utils/csrf.js.map +1 -1
- package/dist/utils/errors/ErrorCodes.cjs +6 -76
- package/dist/utils/errors/ErrorCodes.cjs.map +1 -1
- package/dist/utils/errors/ErrorCodes.d.ts +1 -45
- package/dist/utils/errors/ErrorCodes.js +1 -84
- package/dist/utils/errors/ErrorCodes.js.map +1 -1
- package/dist/utils/errors.cjs +15 -344
- package/dist/utils/errors.cjs.map +1 -1
- package/dist/utils/errors.d.ts +1 -183
- package/dist/utils/errors.js +1 -352
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/logger.cjs +5 -374
- package/dist/utils/logger.cjs.map +1 -1
- package/dist/utils/logger.d.ts +2 -189
- package/dist/utils/logger.js +1 -379
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/logger.types.cjs +3 -12
- package/dist/utils/logger.types.cjs.map +1 -1
- package/dist/utils/logger.types.d.ts +2 -57
- package/dist/utils/logger.types.js +1 -10
- package/dist/utils/logger.types.js.map +1 -1
- package/dist/utils/monitoring.cjs +11 -302
- package/dist/utils/monitoring.cjs.map +1 -1
- package/dist/utils/monitoring.d.ts +1 -163
- package/dist/utils/monitoring.js +1 -294
- package/dist/utils/monitoring.js.map +1 -1
- package/dist/utils/performance.cjs +5 -352
- package/dist/utils/performance.cjs.map +1 -1
- package/dist/utils/performance.d.ts +2 -246
- package/dist/utils/performance.js +1 -354
- package/dist/utils/performance.js.map +1 -1
- package/dist/utils/resourceLoader.cjs +5 -303
- package/dist/utils/resourceLoader.cjs.map +1 -1
- package/dist/utils/resourceLoader.d.ts +2 -130
- package/dist/utils/resourceLoader.js +1 -305
- package/dist/utils/resourceLoader.js.map +1 -1
- package/dist/utils/runtimeSecurity.cjs +2 -140
- package/dist/utils/runtimeSecurity.cjs.map +1 -1
- package/dist/utils/runtimeSecurity.d.ts +2 -104
- package/dist/utils/runtimeSecurity.js +1 -141
- package/dist/utils/runtimeSecurity.js.map +1 -1
- package/dist/utils/security.cjs +3 -314
- package/dist/utils/security.cjs.map +1 -1
- package/dist/utils/security.d.ts +2 -80
- package/dist/utils/security.js +1 -311
- package/dist/utils/security.js.map +1 -1
- package/dist/utils/traceId.cjs +10 -111
- package/dist/utils/traceId.cjs.map +1 -1
- package/dist/utils/traceId.d.ts +1 -63
- package/dist/utils/traceId.js +1 -116
- package/dist/utils/traceId.js.map +1 -1
- package/dist/utils/validation.cjs +3 -173
- package/dist/utils/validation.cjs.map +1 -1
- package/dist/utils/validation.d.ts +2 -110
- package/dist/utils/validation.js +1 -175
- package/dist/utils/validation.js.map +1 -1
- package/package.json +98 -13
- package/dist/core/ui-adapter/adapters.cjs +0 -45
- package/dist/core/ui-adapter/adapters.cjs.map +0 -1
- package/dist/core/ui-adapter/adapters.d.ts +0 -4
- package/dist/core/ui-adapter/adapters.js +0 -27
- package/dist/core/ui-adapter/adapters.js.map +0 -1
- package/dist/core/ui-adapter/index.cjs +0 -21
- package/dist/core/ui-adapter/index.cjs.map +0 -1
- package/dist/core/ui-adapter/index.d.ts +0 -2
- package/dist/core/ui-adapter/index.js +0 -3
- package/dist/core/ui-adapter/index.js.map +0 -1
- package/dist/core/ui-adapter/types.cjs.map +0 -1
- package/dist/core/ui-adapter/types.d.ts +0 -24
- package/dist/core/ui-adapter/types.js.map +0 -1
- package/dist/request/adapter/RequestAdapter.cjs +0 -78
- package/dist/request/adapter/RequestAdapter.cjs.map +0 -1
- package/dist/request/adapter/axiosAdapter.cjs +0 -164
- package/dist/request/adapter/axiosAdapter.cjs.map +0 -1
- package/dist/request/adapter/fetchAdapter.cjs +0 -134
- package/dist/request/adapter/fetchAdapter.cjs.map +0 -1
- package/dist/request/adapter/index.cjs +0 -80
- package/dist/request/adapter/index.cjs.map +0 -1
- package/dist/request/adapter/kyAdapter.cjs +0 -191
- package/dist/request/adapter/kyAdapter.cjs.map +0 -1
- package/dist/request/adapter/undiciAdapter.cjs +0 -213
- package/dist/request/adapter/undiciAdapter.cjs.map +0 -1
- package/dist/request/core/RequestClient.cjs +0 -558
- package/dist/request/core/RequestClient.cjs.map +0 -1
- package/dist/request/core/index.cjs +0 -15
- package/dist/request/core/index.cjs.map +0 -1
- package/dist/request/index.cjs +0 -149
- package/dist/request/index.cjs.map +0 -1
- package/dist/request/plugin/RequestPlugin.cjs +0 -218
- package/dist/request/plugin/RequestPlugin.cjs.map +0 -1
- package/dist/request/plugin/cache.cjs +0 -269
- package/dist/request/plugin/cache.cjs.map +0 -1
- package/dist/request/plugin/csrfPlugin.cjs +0 -40
- package/dist/request/plugin/csrfPlugin.cjs.map +0 -1
- package/dist/request/plugin/index.cjs +0 -53
- package/dist/request/plugin/index.cjs.map +0 -1
- package/dist/request/plugin/monitoring.cjs +0 -216
- package/dist/request/plugin/monitoring.cjs.map +0 -1
- package/dist/request/plugin/queue.cjs +0 -140
- package/dist/request/plugin/queue.cjs.map +0 -1
- package/dist/request/plugin/retry.cjs +0 -98
- package/dist/request/plugin/retry.cjs.map +0 -1
- package/dist/request/plugin/validation.cjs +0 -121
- package/dist/request/plugin/validation.cjs.map +0 -1
- package/dist/request/runtime/RequestContext.cjs +0 -77
- package/dist/request/runtime/RequestContext.cjs.map +0 -1
- package/dist/request/runtime/index.cjs +0 -32
- package/dist/request/runtime/index.cjs.map +0 -1
- package/dist/request/types.cjs +0 -112
- package/dist/request/types.cjs.map +0 -1
- package/dist/request/utils/RequestQueueManager.cjs +0 -168
- package/dist/request/utils/RequestQueueManager.cjs.map +0 -1
- package/dist/request/utils/dependencyCheck.cjs +0 -237
- package/dist/request/utils/dependencyCheck.cjs.map +0 -1
- package/dist/request/utils/index.cjs +0 -30
- package/dist/request/utils/index.cjs.map +0 -1
- package/dist/request.umd.js +0 -5392
- package/dist/request.umd.js.map +0 -1
- /package/dist/{core/ui-adapter → kernel}/types.cjs +0 -0
- /package/dist/{core/ui-adapter → kernel}/types.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/library/storage/index.ts"],"sourcesContent":["import { createStorage } from '@vlian/utils';\nimport type { StorageInstance } from '@vlian/utils';\nimport type { StorageOptions } from '../../types';\nimport type { EncryptionConfig } from './encryption';\nimport { MultiLevelCache } from './cache';\n\n/**\n * 增强的存储选项\n */\nexport interface EnhancedStorageOptions extends StorageOptions {\n /**\n * 加密配置\n */\n encryption?: EncryptionConfig;\n /**\n * 缓存配置\n */\n cache?: {\n enabled?: boolean;\n defaultTTL?: number;\n maxSize?: number;\n };\n}\n\nclass Storage {\n private static instance: Storage | null = null;\n\n private _local!: StorageInstance;\n private _session!: StorageInstance;\n private _indexedDB!: StorageInstance;\n private _localCache?: MultiLevelCache;\n private _sessionCache?: MultiLevelCache;\n private cacheEnabled: boolean = false;\n\n public get local(): StorageInstance {\n return this._local;\n }\n\n public get session(): StorageInstance {\n return this._session;\n }\n\n public get indexedDB(): StorageInstance {\n return this._indexedDB;\n }\n\n /**\n * 获取本地存储缓存\n */\n public get localCache(): MultiLevelCache | undefined {\n return this._localCache;\n }\n\n /**\n * 获取会话存储缓存\n */\n public get sessionCache(): MultiLevelCache | undefined {\n return this._sessionCache;\n }\n\n /**\n * 私有构造函数,防止外部直接实例化\n */\n private constructor() {\n // 私有构造函数\n }\n\n /**\n * 获取单例实例\n
|
|
1
|
+
{"version":3,"sources":["../../../src/library/storage/index.ts"],"sourcesContent":["import { createStorage } from '@vlian/utils';\nimport type { StorageInstance } from '@vlian/utils';\nimport type { StorageOptions } from '../../types';\nimport type { EncryptionConfig } from './encryption';\nimport { MultiLevelCache } from './cache';\n\n\nexport {\n StorageInstance\n}\n\n/**\n * 增强的存储选项\n */\nexport interface EnhancedStorageOptions extends StorageOptions {\n /**\n * 加密配置\n */\n encryption?: EncryptionConfig;\n /**\n * 缓存配置\n */\n cache?: {\n enabled?: boolean;\n defaultTTL?: number;\n maxSize?: number;\n };\n}\n\nclass Storage {\n private static instance: Storage | null = null;\n\n private _local!: StorageInstance;\n private _session!: StorageInstance;\n private _indexedDB!: StorageInstance;\n private _localCache?: MultiLevelCache;\n private _sessionCache?: MultiLevelCache;\n private cacheEnabled: boolean = false;\n\n public get local(): StorageInstance {\n return this._local;\n }\n\n public get session(): StorageInstance {\n return this._session;\n }\n\n public get indexedDB(): StorageInstance {\n return this._indexedDB;\n }\n\n /**\n * 获取本地存储缓存\n */\n public get localCache(): MultiLevelCache | undefined {\n return this._localCache;\n }\n\n /**\n * 获取会话存储缓存\n */\n public get sessionCache(): MultiLevelCache | undefined {\n return this._sessionCache;\n }\n\n /**\n * 私有构造函数,防止外部直接实例化\n */\n private constructor() {\n // 私有构造函数\n }\n\n /**\n * 获取单例实例\n *\n * @returns Singleton 实例\n */\n public static getInstance(): Storage {\n if (!Storage.instance) {\n Storage.instance = new Storage();\n }\n return Storage.instance;\n }\n\n public initialize(options?: EnhancedStorageOptions): void {\n const local = createStorage({\n type: 'local',\n prefix: options?.prefix || 'vlian',\n defaultExpire: options?.defaultExpire || 24 * 60 * 60 * 1000,\n });\n const session = createStorage({\n type: 'session',\n prefix: options?.prefix || 'vlian',\n defaultExpire: options?.defaultExpire || 24 * 60 * 60 * 1000,\n });\n const indexedDB = createStorage({\n type: 'indexedDB',\n prefix: options?.prefix || 'vlian',\n defaultExpire: options?.defaultExpire || 24 * 60 * 60 * 1000,\n dbName: options?.tableName,\n });\n\n this._local = local;\n this._session = session;\n this._indexedDB = indexedDB;\n\n // 初始化缓存\n this.cacheEnabled = options?.cache?.enabled ?? false;\n if (this.cacheEnabled) {\n this._localCache = new MultiLevelCache(local, {\n defaultTTL: options?.cache?.defaultTTL,\n maxSize: options?.cache?.maxSize,\n });\n this._sessionCache = new MultiLevelCache(session, {\n defaultTTL: options?.cache?.defaultTTL,\n maxSize: options?.cache?.maxSize,\n });\n }\n }\n\n /**\n * 清理过期缓存\n */\n public async cleanupCache(): Promise<void> {\n if (this._localCache) {\n await this._localCache.cleanup();\n }\n if (this._sessionCache) {\n await this._sessionCache.cleanup();\n }\n }\n}\n\nexport const storage = Storage.getInstance();\n\n// 导出加密和缓存相关类型\nexport type { EncryptionConfig } from './encryption';\nexport type { CacheConfig } from './cache';\nexport { MultiLevelCache } from './cache';\nexport { EncryptionUtils } from './encryption';\n"],"names":["EncryptionUtils","MultiLevelCache","storage","Storage","local","_local","session","_session","indexedDB","_indexedDB","localCache","_localCache","sessionCache","_sessionCache","getInstance","instance","initialize","options","createStorage","type","prefix","defaultExpire","dbName","tableName","cacheEnabled","cache","enabled","defaultTTL","maxSize","cleanupCache","cleanup"],"mappings":";;;;;;;;;;;QA2ISA;eAAAA,2BAAe;;QADfC;eAAAA,sBAAe;;QALXC;eAAAA;;;uBArIiB;uBAIE;4BAuIA;;;;;;;;;;;;;;AA9GhC,IAAA,AAAMC,UAAN,MAAMA;IAUF,IAAWC,QAAyB;QAChC,OAAO,IAAI,CAACC,MAAM;IACtB;IAEA,IAAWC,UAA2B;QAClC,OAAO,IAAI,CAACC,QAAQ;IACxB;IAEA,IAAWC,YAA6B;QACpC,OAAO,IAAI,CAACC,UAAU;IAC1B;IAEA;;KAEC,GACD,IAAWC,aAA0C;QACjD,OAAO,IAAI,CAACC,WAAW;IAC3B;IAEA;;KAEC,GACD,IAAWC,eAA4C;QACnD,OAAO,IAAI,CAACC,aAAa;IAC7B;IASA;;;;GAID,GACC,OAAcC,cAAuB;QACjC,IAAI,CAACX,QAAQY,QAAQ,EAAE;YACnBZ,QAAQY,QAAQ,GAAG,IAAIZ;QAC3B;QACA,OAAOA,QAAQY,QAAQ;IAC3B;IAEOC,WAAWC,OAAgC,EAAQ;QACtD,MAAMb,QAAQc,IAAAA,oBAAa,EAAC;YACxBC,MAAM;YACNC,QAAQH,SAASG,UAAU;YAC3BC,eAAeJ,SAASI,iBAAiB,KAAK,KAAK,KAAK;QAC5D;QACA,MAAMf,UAAUY,IAAAA,oBAAa,EAAC;YAC1BC,MAAM;YACNC,QAAQH,SAASG,UAAU;YAC3BC,eAAeJ,SAASI,iBAAiB,KAAK,KAAK,KAAK;QAC5D;QACA,MAAMb,YAAYU,IAAAA,oBAAa,EAAC;YAC5BC,MAAM;YACNC,QAAQH,SAASG,UAAU;YAC3BC,eAAeJ,SAASI,iBAAiB,KAAK,KAAK,KAAK;YACxDC,QAAQL,SAASM;QACrB;QAEA,IAAI,CAAClB,MAAM,GAAGD;QACd,IAAI,CAACG,QAAQ,GAAGD;QAChB,IAAI,CAACG,UAAU,GAAGD;QAElB,QAAQ;QACR,IAAI,CAACgB,YAAY,GAAGP,SAASQ,OAAOC,WAAW;QAC/C,IAAI,IAAI,CAACF,YAAY,EAAE;YACnB,IAAI,CAACb,WAAW,GAAG,IAAIV,sBAAe,CAACG,OAAO;gBAC1CuB,YAAYV,SAASQ,OAAOE;gBAC5BC,SAASX,SAASQ,OAAOG;YAC7B;YACA,IAAI,CAACf,aAAa,GAAG,IAAIZ,sBAAe,CAACK,SAAS;gBAC9CqB,YAAYV,SAASQ,OAAOE;gBAC5BC,SAASX,SAASQ,OAAOG;YAC7B;QACJ;IACJ;IAEA;;KAEC,GACD,MAAaC,eAA8B;QACvC,IAAI,IAAI,CAAClB,WAAW,EAAE;YAClB,MAAM,IAAI,CAACA,WAAW,CAACmB,OAAO;QAClC;QACA,IAAI,IAAI,CAACjB,aAAa,EAAE;YACpB,MAAM,IAAI,CAACA,aAAa,CAACiB,OAAO;QACpC;IACJ;IAjEA;;KAEC,GACD,aAAsB;QApCtB,uBAAQzB,UAAR,KAAA;QACA,uBAAQE,YAAR,KAAA;QACA,uBAAQE,cAAR,KAAA;QACA,uBAAQE,eAAR,KAAA;QACA,uBAAQE,iBAAR,KAAA;QACA,uBAAQW,gBAAwB;IAgC5B,SAAS;IACb;AA6DJ;AArGI,iBADErB,SACaY,YAA2B;AAuGvC,MAAMb,UAAUC,QAAQW,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/library/storage/index.ts"],"sourcesContent":["import { createStorage } from '@vlian/utils';\nimport type { StorageInstance } from '@vlian/utils';\nimport type { StorageOptions } from '../../types';\nimport type { EncryptionConfig } from './encryption';\nimport { MultiLevelCache } from './cache';\n\n/**\n * 增强的存储选项\n */\nexport interface EnhancedStorageOptions extends StorageOptions {\n /**\n * 加密配置\n */\n encryption?: EncryptionConfig;\n /**\n * 缓存配置\n */\n cache?: {\n enabled?: boolean;\n defaultTTL?: number;\n maxSize?: number;\n };\n}\n\nclass Storage {\n private static instance: Storage | null = null;\n\n private _local!: StorageInstance;\n private _session!: StorageInstance;\n private _indexedDB!: StorageInstance;\n private _localCache?: MultiLevelCache;\n private _sessionCache?: MultiLevelCache;\n private cacheEnabled: boolean = false;\n\n public get local(): StorageInstance {\n return this._local;\n }\n\n public get session(): StorageInstance {\n return this._session;\n }\n\n public get indexedDB(): StorageInstance {\n return this._indexedDB;\n }\n\n /**\n * 获取本地存储缓存\n */\n public get localCache(): MultiLevelCache | undefined {\n return this._localCache;\n }\n\n /**\n * 获取会话存储缓存\n */\n public get sessionCache(): MultiLevelCache | undefined {\n return this._sessionCache;\n }\n\n /**\n * 私有构造函数,防止外部直接实例化\n */\n private constructor() {\n // 私有构造函数\n }\n\n /**\n * 获取单例实例\n
|
|
1
|
+
{"version":3,"sources":["../../../src/library/storage/index.ts"],"sourcesContent":["import { createStorage } from '@vlian/utils';\nimport type { StorageInstance } from '@vlian/utils';\nimport type { StorageOptions } from '../../types';\nimport type { EncryptionConfig } from './encryption';\nimport { MultiLevelCache } from './cache';\n\n\nexport {\n StorageInstance\n}\n\n/**\n * 增强的存储选项\n */\nexport interface EnhancedStorageOptions extends StorageOptions {\n /**\n * 加密配置\n */\n encryption?: EncryptionConfig;\n /**\n * 缓存配置\n */\n cache?: {\n enabled?: boolean;\n defaultTTL?: number;\n maxSize?: number;\n };\n}\n\nclass Storage {\n private static instance: Storage | null = null;\n\n private _local!: StorageInstance;\n private _session!: StorageInstance;\n private _indexedDB!: StorageInstance;\n private _localCache?: MultiLevelCache;\n private _sessionCache?: MultiLevelCache;\n private cacheEnabled: boolean = false;\n\n public get local(): StorageInstance {\n return this._local;\n }\n\n public get session(): StorageInstance {\n return this._session;\n }\n\n public get indexedDB(): StorageInstance {\n return this._indexedDB;\n }\n\n /**\n * 获取本地存储缓存\n */\n public get localCache(): MultiLevelCache | undefined {\n return this._localCache;\n }\n\n /**\n * 获取会话存储缓存\n */\n public get sessionCache(): MultiLevelCache | undefined {\n return this._sessionCache;\n }\n\n /**\n * 私有构造函数,防止外部直接实例化\n */\n private constructor() {\n // 私有构造函数\n }\n\n /**\n * 获取单例实例\n *\n * @returns Singleton 实例\n */\n public static getInstance(): Storage {\n if (!Storage.instance) {\n Storage.instance = new Storage();\n }\n return Storage.instance;\n }\n\n public initialize(options?: EnhancedStorageOptions): void {\n const local = createStorage({\n type: 'local',\n prefix: options?.prefix || 'vlian',\n defaultExpire: options?.defaultExpire || 24 * 60 * 60 * 1000,\n });\n const session = createStorage({\n type: 'session',\n prefix: options?.prefix || 'vlian',\n defaultExpire: options?.defaultExpire || 24 * 60 * 60 * 1000,\n });\n const indexedDB = createStorage({\n type: 'indexedDB',\n prefix: options?.prefix || 'vlian',\n defaultExpire: options?.defaultExpire || 24 * 60 * 60 * 1000,\n dbName: options?.tableName,\n });\n\n this._local = local;\n this._session = session;\n this._indexedDB = indexedDB;\n\n // 初始化缓存\n this.cacheEnabled = options?.cache?.enabled ?? false;\n if (this.cacheEnabled) {\n this._localCache = new MultiLevelCache(local, {\n defaultTTL: options?.cache?.defaultTTL,\n maxSize: options?.cache?.maxSize,\n });\n this._sessionCache = new MultiLevelCache(session, {\n defaultTTL: options?.cache?.defaultTTL,\n maxSize: options?.cache?.maxSize,\n });\n }\n }\n\n /**\n * 清理过期缓存\n */\n public async cleanupCache(): Promise<void> {\n if (this._localCache) {\n await this._localCache.cleanup();\n }\n if (this._sessionCache) {\n await this._sessionCache.cleanup();\n }\n }\n}\n\nexport const storage = Storage.getInstance();\n\n// 导出加密和缓存相关类型\nexport type { EncryptionConfig } from './encryption';\nexport type { CacheConfig } from './cache';\nexport { MultiLevelCache } from './cache';\nexport { EncryptionUtils } from './encryption';\n"],"names":["createStorage","MultiLevelCache","Storage","local","_local","session","_session","indexedDB","_indexedDB","localCache","_localCache","sessionCache","_sessionCache","getInstance","instance","initialize","options","type","prefix","defaultExpire","dbName","tableName","cacheEnabled","cache","enabled","defaultTTL","maxSize","cleanupCache","cleanup","storage","EncryptionUtils"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,aAAa,QAAQ,eAAe;AAI7C,SAASC,eAAe,QAAQ,UAAU;AAyB1C,IAAA,AAAMC,UAAN,MAAMA;IAUF,IAAWC,QAAyB;QAChC,OAAO,IAAI,CAACC,MAAM;IACtB;IAEA,IAAWC,UAA2B;QAClC,OAAO,IAAI,CAACC,QAAQ;IACxB;IAEA,IAAWC,YAA6B;QACpC,OAAO,IAAI,CAACC,UAAU;IAC1B;IAEA;;KAEC,GACD,IAAWC,aAA0C;QACjD,OAAO,IAAI,CAACC,WAAW;IAC3B;IAEA;;KAEC,GACD,IAAWC,eAA4C;QACnD,OAAO,IAAI,CAACC,aAAa;IAC7B;IASA;;;;GAID,GACC,OAAcC,cAAuB;QACjC,IAAI,CAACX,QAAQY,QAAQ,EAAE;YACnBZ,QAAQY,QAAQ,GAAG,IAAIZ;QAC3B;QACA,OAAOA,QAAQY,QAAQ;IAC3B;IAEOC,WAAWC,OAAgC,EAAQ;QACtD,MAAMb,QAAQH,cAAc;YACxBiB,MAAM;YACNC,QAAQF,SAASE,UAAU;YAC3BC,eAAeH,SAASG,iBAAiB,KAAK,KAAK,KAAK;QAC5D;QACA,MAAMd,UAAUL,cAAc;YAC1BiB,MAAM;YACNC,QAAQF,SAASE,UAAU;YAC3BC,eAAeH,SAASG,iBAAiB,KAAK,KAAK,KAAK;QAC5D;QACA,MAAMZ,YAAYP,cAAc;YAC5BiB,MAAM;YACNC,QAAQF,SAASE,UAAU;YAC3BC,eAAeH,SAASG,iBAAiB,KAAK,KAAK,KAAK;YACxDC,QAAQJ,SAASK;QACrB;QAEA,IAAI,CAACjB,MAAM,GAAGD;QACd,IAAI,CAACG,QAAQ,GAAGD;QAChB,IAAI,CAACG,UAAU,GAAGD;QAElB,QAAQ;QACR,IAAI,CAACe,YAAY,GAAGN,SAASO,OAAOC,WAAW;QAC/C,IAAI,IAAI,CAACF,YAAY,EAAE;YACnB,IAAI,CAACZ,WAAW,GAAG,IAAIT,gBAAgBE,OAAO;gBAC1CsB,YAAYT,SAASO,OAAOE;gBAC5BC,SAASV,SAASO,OAAOG;YAC7B;YACA,IAAI,CAACd,aAAa,GAAG,IAAIX,gBAAgBI,SAAS;gBAC9CoB,YAAYT,SAASO,OAAOE;gBAC5BC,SAASV,SAASO,OAAOG;YAC7B;QACJ;IACJ;IAEA;;KAEC,GACD,MAAaC,eAA8B;QACvC,IAAI,IAAI,CAACjB,WAAW,EAAE;YAClB,MAAM,IAAI,CAACA,WAAW,CAACkB,OAAO;QAClC;QACA,IAAI,IAAI,CAAChB,aAAa,EAAE;YACpB,MAAM,IAAI,CAACA,aAAa,CAACgB,OAAO;QACpC;IACJ;IAjEA;;KAEC,GACD,aAAsB;QApCtB,uBAAQxB,UAAR,KAAA;QACA,uBAAQE,YAAR,KAAA;QACA,uBAAQE,cAAR,KAAA;QACA,uBAAQE,eAAR,KAAA;QACA,uBAAQE,iBAAR,KAAA;QACA,uBAAQU,gBAAwB;IAgC5B,SAAS;IACb;AA6DJ;AArGI,iBADEpB,SACaY,YAA2B;AAuG9C,OAAO,MAAMe,UAAU3B,QAAQW,WAAW,GAAG;AAK7C,SAASZ,eAAe,QAAQ,UAAU;AAC1C,SAAS6B,eAAe,QAAQ,eAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@vlian/request/adapter';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@vlian/request/core';
|
package/dist/request/index.d.ts
CHANGED
|
@@ -1,42 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* 请求库主入口
|
|
3
|
-
*
|
|
4
|
-
* 提供企业级、可扩展、类型安全的 HTTP 请求能力
|
|
5
|
-
*/
|
|
6
|
-
export type { RequestOptions, Response, RequestContext, RequestHeaders, RequestQuery, RequestBody, HttpMethod, RetryConfig, CacheConfig, ValidationConfig, AdapterCapabilities, } from './types';
|
|
7
|
-
export { RequestError, RequestErrorType, RequestErrorCode, } from './types';
|
|
8
|
-
export { RequestClient } from './core/RequestClient';
|
|
9
|
-
export type { RequestClientConfig } from './types';
|
|
10
|
-
export type { RequestAdapter, AdapterFactory } from './adapter/RequestAdapter';
|
|
11
|
-
export { adapterRegistry } from './adapter/RequestAdapter';
|
|
12
|
-
export { fetchAdapter, kyAdapter, axiosAdapter } from './adapter';
|
|
13
|
-
export declare function undiciAdapter(): Promise<import("./adapter").RequestAdapter>;
|
|
14
|
-
export type { RequestPlugin } from './plugin/RequestPlugin';
|
|
15
|
-
export { PluginManager, PluginLifecycleStage, PluginPriority } from './plugin/RequestPlugin';
|
|
16
|
-
export { createCachePlugin, createRetryPlugin, createValidationPlugin, createMonitoringPlugin, createQueuePlugin, } from './plugin';
|
|
17
|
-
export type { CachePluginConfig, RetryPluginConfig, ValidationPluginConfig, MonitoringPluginConfig, MonitoringEvent, MonitoringReporter, QueuePluginConfig, QueueTriggerCondition, } from './plugin';
|
|
18
|
-
export { MonitoringEventType } from './plugin';
|
|
19
|
-
export { createRequestContext, updateRequestContext, completeRequestContext, failRequestContext, cancelRequestContext, } from './runtime/RequestContext';
|
|
20
|
-
/**
|
|
21
|
-
* 创建请求客户端实例
|
|
22
|
-
*
|
|
23
|
-
* @param config - 请求客户端配置
|
|
24
|
-
* @returns 请求客户端实例
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```typescript
|
|
28
|
-
* import { createRequestClient } from '@vlian/framework/request';
|
|
29
|
-
*
|
|
30
|
-
* const client = createRequestClient({
|
|
31
|
-
* baseURL: 'https://api.example.com',
|
|
32
|
-
* defaultTimeout: 5000,
|
|
33
|
-
* plugins: [
|
|
34
|
-
* createCachePlugin(),
|
|
35
|
-
* createRetryPlugin(),
|
|
36
|
-
* ],
|
|
37
|
-
* });
|
|
38
|
-
*
|
|
39
|
-
* const response = await client.get<User>('/user/1');
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export declare function createRequestClient(config?: import('./types').RequestClientConfig): Promise<import(".").RequestClient>;
|
|
1
|
+
export * from '@vlian/request';
|
|
@@ -8,8 +8,8 @@ import type { RequestPlugin } from './RequestPlugin';
|
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* ```typescript
|
|
11
|
-
* import { createRequestClient } from '@vlian/
|
|
12
|
-
* import { createCSRFPlugin } from '@vlian/
|
|
11
|
+
* import { createRequestClient } from '@vlian/request';
|
|
12
|
+
* import { createCSRFPlugin } from '@vlian/request/plugin';
|
|
13
13
|
*
|
|
14
14
|
* const client = await createRequestClient({
|
|
15
15
|
* plugins: [
|
|
@@ -69,8 +69,8 @@ export interface QueuePluginConfig {
|
|
|
69
69
|
*
|
|
70
70
|
* @example
|
|
71
71
|
* ```typescript
|
|
72
|
-
* import { createRequestClient } from '@vlian/
|
|
73
|
-
* import { createQueuePlugin } from '@vlian/
|
|
72
|
+
* import { createRequestClient } from '@vlian/request';
|
|
73
|
+
* import { createQueuePlugin } from '@vlian/request/plugin';
|
|
74
74
|
*
|
|
75
75
|
* const client = await createRequestClient({
|
|
76
76
|
* plugins: [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@vlian/request/plugin';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@vlian/request/runtime';
|
package/dist/request/types.d.ts
CHANGED
|
@@ -1,394 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* 请求库核心类型定义
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* HTTP 请求方法
|
|
6
|
-
*/
|
|
7
|
-
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS';
|
|
8
|
-
/**
|
|
9
|
-
* 请求头类型
|
|
10
|
-
*/
|
|
11
|
-
export type RequestHeaders = Record<string, string | number | boolean>;
|
|
12
|
-
/**
|
|
13
|
-
* 请求查询参数类型
|
|
14
|
-
*/
|
|
15
|
-
export type RequestQuery = Record<string, string | number | boolean | null | undefined>;
|
|
16
|
-
/**
|
|
17
|
-
* 请求体类型
|
|
18
|
-
*/
|
|
19
|
-
export type RequestBody = string | FormData | URLSearchParams | Blob | ArrayBuffer | Record<string, unknown> | null;
|
|
20
|
-
/**
|
|
21
|
-
* 请求配置选项
|
|
22
|
-
*
|
|
23
|
-
* @template TResponse - 响应数据类型(用于类型推导)
|
|
24
|
-
*/
|
|
25
|
-
export interface RequestOptions<TResponse = unknown> {
|
|
26
|
-
/**
|
|
27
|
-
* 响应类型占位符(用于类型推导,实际不使用)
|
|
28
|
-
* @internal
|
|
29
|
-
*/
|
|
30
|
-
_responseType?: TResponse;
|
|
31
|
-
/**
|
|
32
|
-
* 请求方法
|
|
33
|
-
*/
|
|
34
|
-
method?: HttpMethod;
|
|
35
|
-
/**
|
|
36
|
-
* 请求 URL
|
|
37
|
-
*/
|
|
38
|
-
url: string;
|
|
39
|
-
/**
|
|
40
|
-
* 请求头
|
|
41
|
-
*/
|
|
42
|
-
headers?: RequestHeaders;
|
|
43
|
-
/**
|
|
44
|
-
* 查询参数
|
|
45
|
-
*/
|
|
46
|
-
query?: RequestQuery;
|
|
47
|
-
/**
|
|
48
|
-
* 请求体
|
|
49
|
-
*/
|
|
50
|
-
body?: RequestBody;
|
|
51
|
-
/**
|
|
52
|
-
* 请求超时时间(毫秒)
|
|
53
|
-
*/
|
|
54
|
-
timeout?: number;
|
|
55
|
-
/**
|
|
56
|
-
* 是否允许跨域请求
|
|
57
|
-
*/
|
|
58
|
-
credentials?: 'include' | 'same-origin' | 'omit';
|
|
59
|
-
/**
|
|
60
|
-
* 响应类型
|
|
61
|
-
*/
|
|
62
|
-
responseType?: 'json' | 'text' | 'blob' | 'arrayBuffer' | 'formData';
|
|
63
|
-
/**
|
|
64
|
-
* 是否中止请求
|
|
65
|
-
*/
|
|
66
|
-
signal?: AbortSignal;
|
|
67
|
-
/**
|
|
68
|
-
* 请求元数据(用于插件扩展)
|
|
69
|
-
*/
|
|
70
|
-
meta?: Record<string, unknown>;
|
|
71
|
-
/**
|
|
72
|
-
* 请求标签(用于缓存、监控等)
|
|
73
|
-
*/
|
|
74
|
-
tags?: string[];
|
|
75
|
-
/**
|
|
76
|
-
* 是否跳过默认插件
|
|
77
|
-
*/
|
|
78
|
-
skipPlugins?: string[];
|
|
79
|
-
/**
|
|
80
|
-
* 请求重试配置
|
|
81
|
-
*/
|
|
82
|
-
retry?: RetryConfig;
|
|
83
|
-
/**
|
|
84
|
-
* 请求缓存配置
|
|
85
|
-
*/
|
|
86
|
-
cache?: CacheConfig;
|
|
87
|
-
/**
|
|
88
|
-
* 请求验证配置
|
|
89
|
-
*/
|
|
90
|
-
validation?: ValidationConfig;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* 重试配置
|
|
94
|
-
*/
|
|
95
|
-
export interface RetryConfig {
|
|
96
|
-
/**
|
|
97
|
-
* 最大重试次数
|
|
98
|
-
*/
|
|
99
|
-
maxAttempts?: number;
|
|
100
|
-
/**
|
|
101
|
-
* 重试延迟(毫秒)
|
|
102
|
-
*/
|
|
103
|
-
delay?: number;
|
|
104
|
-
/**
|
|
105
|
-
* 重试延迟策略(指数退避)
|
|
106
|
-
*/
|
|
107
|
-
exponentialBackoff?: boolean;
|
|
108
|
-
/**
|
|
109
|
-
* 重试条件函数
|
|
110
|
-
*/
|
|
111
|
-
shouldRetry?: (error: unknown, attempt: number) => boolean;
|
|
112
|
-
/**
|
|
113
|
-
* 重试延迟计算函数
|
|
114
|
-
*/
|
|
115
|
-
calculateDelay?: (attempt: number) => number;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* 缓存配置
|
|
119
|
-
*/
|
|
120
|
-
export interface CacheConfig {
|
|
121
|
-
/**
|
|
122
|
-
* 缓存键
|
|
123
|
-
*/
|
|
124
|
-
key?: string;
|
|
125
|
-
/**
|
|
126
|
-
* 缓存时间(毫秒)
|
|
127
|
-
*/
|
|
128
|
-
ttl?: number;
|
|
129
|
-
/**
|
|
130
|
-
* 是否强制刷新
|
|
131
|
-
*/
|
|
132
|
-
forceRefresh?: boolean;
|
|
133
|
-
/**
|
|
134
|
-
* 缓存存储类型
|
|
135
|
-
*/
|
|
136
|
-
storage?: 'memory' | 'localStorage' | 'sessionStorage';
|
|
137
|
-
/**
|
|
138
|
-
* 缓存条件函数
|
|
139
|
-
*/
|
|
140
|
-
shouldCache?: (response: Response<unknown>) => boolean;
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* 验证配置
|
|
144
|
-
*
|
|
145
|
-
* @template TResponse - 响应数据类型
|
|
146
|
-
*/
|
|
147
|
-
export interface ValidationConfig {
|
|
148
|
-
/**
|
|
149
|
-
* 请求参数验证 Schema(Zod)
|
|
150
|
-
*/
|
|
151
|
-
requestSchema?: unknown;
|
|
152
|
-
/**
|
|
153
|
-
* 响应数据验证 Schema(Zod)
|
|
154
|
-
*/
|
|
155
|
-
responseSchema?: unknown;
|
|
156
|
-
/**
|
|
157
|
-
* 验证失败时的处理方式
|
|
158
|
-
*/
|
|
159
|
-
onValidationError?: (error: unknown) => void;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* 响应对象
|
|
163
|
-
*
|
|
164
|
-
* @template TData - 响应数据类型
|
|
165
|
-
* @template TMeta - 响应元数据类型
|
|
166
|
-
*/
|
|
167
|
-
export interface Response<TData = unknown, TMeta = Record<string, unknown>> {
|
|
168
|
-
/**
|
|
169
|
-
* 响应数据
|
|
170
|
-
*/
|
|
171
|
-
data: TData;
|
|
172
|
-
/**
|
|
173
|
-
* HTTP 状态码
|
|
174
|
-
*/
|
|
175
|
-
status: number;
|
|
176
|
-
/**
|
|
177
|
-
* HTTP 状态文本
|
|
178
|
-
*/
|
|
179
|
-
statusText: string;
|
|
180
|
-
/**
|
|
181
|
-
* 响应头
|
|
182
|
-
*/
|
|
183
|
-
headers: RequestHeaders;
|
|
184
|
-
/**
|
|
185
|
-
* 响应元数据(由插件注入)
|
|
186
|
-
*/
|
|
187
|
-
meta?: TMeta;
|
|
188
|
-
/**
|
|
189
|
-
* 原始响应对象(适配器提供)
|
|
190
|
-
*/
|
|
191
|
-
raw?: unknown;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* 请求错误类型
|
|
195
|
-
*/
|
|
196
|
-
export declare enum RequestErrorType {
|
|
197
|
-
/**
|
|
198
|
-
* 网络错误
|
|
199
|
-
*/
|
|
200
|
-
NETWORK_ERROR = "NETWORK_ERROR",
|
|
201
|
-
/**
|
|
202
|
-
* 超时错误
|
|
203
|
-
*/
|
|
204
|
-
TIMEOUT_ERROR = "TIMEOUT_ERROR",
|
|
205
|
-
/**
|
|
206
|
-
* HTTP 错误(4xx, 5xx)
|
|
207
|
-
*/
|
|
208
|
-
HTTP_ERROR = "HTTP_ERROR",
|
|
209
|
-
/**
|
|
210
|
-
* 取消错误
|
|
211
|
-
*/
|
|
212
|
-
ABORT_ERROR = "ABORT_ERROR",
|
|
213
|
-
/**
|
|
214
|
-
* 验证错误
|
|
215
|
-
*/
|
|
216
|
-
VALIDATION_ERROR = "VALIDATION_ERROR",
|
|
217
|
-
/**
|
|
218
|
-
* 未知错误
|
|
219
|
-
*/
|
|
220
|
-
UNKNOWN_ERROR = "UNKNOWN_ERROR"
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* 请求错误代码
|
|
224
|
-
*/
|
|
225
|
-
export declare enum RequestErrorCode {
|
|
226
|
-
/**
|
|
227
|
-
* 网络连接失败
|
|
228
|
-
*/
|
|
229
|
-
NETWORK_CONNECTION_FAILED = "NETWORK_CONNECTION_FAILED",
|
|
230
|
-
/**
|
|
231
|
-
* 请求超时
|
|
232
|
-
*/
|
|
233
|
-
REQUEST_TIMEOUT = "REQUEST_TIMEOUT",
|
|
234
|
-
/**
|
|
235
|
-
* 服务器错误(5xx)
|
|
236
|
-
*/
|
|
237
|
-
SERVER_ERROR = "SERVER_ERROR",
|
|
238
|
-
/**
|
|
239
|
-
* 客户端错误(4xx)
|
|
240
|
-
*/
|
|
241
|
-
CLIENT_ERROR = "CLIENT_ERROR",
|
|
242
|
-
/**
|
|
243
|
-
* 请求被取消
|
|
244
|
-
*/
|
|
245
|
-
REQUEST_ABORTED = "REQUEST_ABORTED",
|
|
246
|
-
/**
|
|
247
|
-
* 响应验证失败
|
|
248
|
-
*/
|
|
249
|
-
RESPONSE_VALIDATION_FAILED = "RESPONSE_VALIDATION_FAILED",
|
|
250
|
-
/**
|
|
251
|
-
* 请求参数验证失败
|
|
252
|
-
*/
|
|
253
|
-
REQUEST_VALIDATION_FAILED = "REQUEST_VALIDATION_FAILED"
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* 请求错误类
|
|
257
|
-
*/
|
|
258
|
-
export declare class RequestError extends Error {
|
|
259
|
-
/**
|
|
260
|
-
* 错误类型
|
|
261
|
-
*/
|
|
262
|
-
type: RequestErrorType;
|
|
263
|
-
/**
|
|
264
|
-
* 错误代码
|
|
265
|
-
*/
|
|
266
|
-
code: RequestErrorCode;
|
|
267
|
-
/**
|
|
268
|
-
* HTTP 状态码(如果有)
|
|
269
|
-
*/
|
|
270
|
-
status?: number;
|
|
271
|
-
/**
|
|
272
|
-
* 原始错误
|
|
273
|
-
*/
|
|
274
|
-
cause?: unknown;
|
|
275
|
-
/**
|
|
276
|
-
* 请求配置
|
|
277
|
-
*/
|
|
278
|
-
request?: RequestOptions;
|
|
279
|
-
/**
|
|
280
|
-
* 响应数据(如果有)
|
|
281
|
-
*/
|
|
282
|
-
response?: Response;
|
|
283
|
-
/**
|
|
284
|
-
* 错误上下文
|
|
285
|
-
*/
|
|
286
|
-
context?: Record<string, unknown>;
|
|
287
|
-
constructor(message: string, type: RequestErrorType, code: RequestErrorCode, options?: {
|
|
288
|
-
status?: number;
|
|
289
|
-
cause?: unknown;
|
|
290
|
-
request?: RequestOptions;
|
|
291
|
-
response?: Response;
|
|
292
|
-
context?: Record<string, unknown>;
|
|
293
|
-
});
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* 请求上下文
|
|
297
|
-
*
|
|
298
|
-
* @template TRequest - 请求配置类型
|
|
299
|
-
* @template TResponse - 响应类型
|
|
300
|
-
* @template TMeta - 元数据类型
|
|
301
|
-
*/
|
|
302
|
-
export interface RequestContext<TRequest = RequestOptions, TResponse = Response, TMeta = Record<string, unknown>> {
|
|
303
|
-
/**
|
|
304
|
-
* 请求配置
|
|
305
|
-
*/
|
|
306
|
-
request: TRequest;
|
|
307
|
-
/**
|
|
308
|
-
* 响应(如果已收到)
|
|
309
|
-
*/
|
|
310
|
-
response?: TResponse;
|
|
311
|
-
/**
|
|
312
|
-
* 错误(如果发生)
|
|
313
|
-
*/
|
|
314
|
-
error?: RequestError;
|
|
315
|
-
/**
|
|
316
|
-
* 上下文元数据(由插件注入)
|
|
317
|
-
*/
|
|
318
|
-
meta: TMeta;
|
|
319
|
-
/**
|
|
320
|
-
* 请求开始时间
|
|
321
|
-
*/
|
|
322
|
-
startTime: number;
|
|
323
|
-
/**
|
|
324
|
-
* 请求结束时间(如果已完成)
|
|
325
|
-
*/
|
|
326
|
-
endTime?: number;
|
|
327
|
-
/**
|
|
328
|
-
* 请求耗时(毫秒)
|
|
329
|
-
*/
|
|
330
|
-
duration?: number;
|
|
331
|
-
/**
|
|
332
|
-
* 重试次数
|
|
333
|
-
*/
|
|
334
|
-
retryCount: number;
|
|
335
|
-
/**
|
|
336
|
-
* 是否已取消
|
|
337
|
-
*/
|
|
338
|
-
cancelled: boolean;
|
|
339
|
-
/**
|
|
340
|
-
* 中止控制器
|
|
341
|
-
*/
|
|
342
|
-
abortController?: AbortController;
|
|
343
|
-
}
|
|
344
|
-
/**
|
|
345
|
-
* 适配器能力声明
|
|
346
|
-
*/
|
|
347
|
-
export interface AdapterCapabilities {
|
|
348
|
-
/**
|
|
349
|
-
* 是否支持取消请求
|
|
350
|
-
*/
|
|
351
|
-
supportsAbort?: boolean;
|
|
352
|
-
/**
|
|
353
|
-
* 是否支持超时
|
|
354
|
-
*/
|
|
355
|
-
supportsTimeout?: boolean;
|
|
356
|
-
/**
|
|
357
|
-
* 是否支持进度追踪
|
|
358
|
-
*/
|
|
359
|
-
supportsProgress?: boolean;
|
|
360
|
-
/**
|
|
361
|
-
* 是否支持拦截器
|
|
362
|
-
*/
|
|
363
|
-
supportsInterceptors?: boolean;
|
|
364
|
-
}
|
|
365
|
-
/**
|
|
366
|
-
* 请求客户端配置
|
|
367
|
-
*/
|
|
368
|
-
export interface RequestClientConfig {
|
|
369
|
-
/**
|
|
370
|
-
* 基础 URL
|
|
371
|
-
*/
|
|
372
|
-
baseURL?: string;
|
|
373
|
-
/**
|
|
374
|
-
* 默认请求头
|
|
375
|
-
*/
|
|
376
|
-
defaultHeaders?: RequestHeaders;
|
|
377
|
-
/**
|
|
378
|
-
* 默认超时时间(毫秒)
|
|
379
|
-
*/
|
|
380
|
-
defaultTimeout?: number;
|
|
381
|
-
/**
|
|
382
|
-
* 默认适配器(按需加载)
|
|
383
|
-
* 可以是适配器名称字符串,或返回适配器的工厂函数
|
|
384
|
-
*/
|
|
385
|
-
defaultAdapter?: string | (() => Promise<import('./adapter/RequestAdapter').RequestAdapter>);
|
|
386
|
-
/**
|
|
387
|
-
* 插件列表
|
|
388
|
-
*/
|
|
389
|
-
plugins?: Array<import('./plugin/RequestPlugin').RequestPlugin>;
|
|
390
|
-
/**
|
|
391
|
-
* 是否启用开发模式
|
|
392
|
-
*/
|
|
393
|
-
devMode?: boolean;
|
|
394
|
-
}
|
|
1
|
+
export * from '@vlian/request/types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@vlian/request/utils';
|
package/dist/state.umd.js
CHANGED