@route-forge/core 1.2.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -10
- package/dist/codegen.d.cts +1 -1
- package/dist/codegen.d.ts +1 -1
- package/dist/index.cjs +106 -35
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +106 -35
- package/dist/index.js.map +1 -1
- package/dist/route-forge.global.js +106 -35
- package/dist/route-forge.global.js.map +1 -1
- package/dist/route-forge.global.min.js +2 -2
- package/dist/{types-BcaNLA_l.d.cts → types-D4PMbR4-.d.cts} +43 -51
- package/dist/{types-BcaNLA_l.d.ts → types-D4PMbR4-.d.ts} +43 -51
- package/package.json +1 -1
|
@@ -256,14 +256,9 @@ interface RouteForge {
|
|
|
256
256
|
isLoaded(level?: string): boolean;
|
|
257
257
|
/** 检查指定层级下某路由是否存在(需该层级缓存已加载) */
|
|
258
258
|
hasRoute(level: string, name: string): boolean;
|
|
259
|
-
/**
|
|
260
|
-
* 查询加载中标识状态
|
|
261
|
-
*/
|
|
259
|
+
/** 查询加载中标识状态 */
|
|
262
260
|
isLoading(): boolean;
|
|
263
|
-
/**
|
|
264
|
-
* 订阅加载状态变更
|
|
265
|
-
* @returns 取消订阅函数
|
|
266
|
-
*/
|
|
261
|
+
/** 订阅加载状态变更,返回取消订阅函数 */
|
|
267
262
|
onLoadingChange(cb: LoadingChangeCallback): () => void;
|
|
268
263
|
/**
|
|
269
264
|
* 获取路由元信息快照(深拷贝,修改返回值不影响内部缓存)。
|
|
@@ -278,16 +273,24 @@ interface RouteForge {
|
|
|
278
273
|
response: InterceptorManager<ResponseData, unknown>;
|
|
279
274
|
};
|
|
280
275
|
/**
|
|
281
|
-
*
|
|
282
|
-
*
|
|
276
|
+
* auto-discovery + eager load 完成后 resolve。
|
|
277
|
+
* 始终返回 Promise<this>,resolve 值为 forge 实例自身,支持链式调用。
|
|
278
|
+
*
|
|
279
|
+
* - 无参:返回 Promise,适合 async/await
|
|
280
|
+
* - 有参:回调内部走 then/catch,仍返回 Promise
|
|
283
281
|
*/
|
|
284
|
-
ready: Promise<
|
|
282
|
+
ready(): Promise<RouteForge>;
|
|
283
|
+
ready(onFulfilled: (forge: RouteForge) => void, onRejected?: (error: unknown) => void): Promise<RouteForge>;
|
|
285
284
|
/**
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
*
|
|
285
|
+
* 绑定 level(+ 可选 prefix),返回 BoundForge。
|
|
286
|
+
* 唯一入口 — Vue/React/IIFE 共享同一套 API 表面。
|
|
287
|
+
*
|
|
288
|
+
* - use():不绑定,返回 RouteForge 自身
|
|
289
|
+
* - use(level):绑定 level
|
|
290
|
+
* - use(level, prefix):绑定 level + prefix
|
|
289
291
|
*/
|
|
290
|
-
|
|
292
|
+
use(): RouteForge;
|
|
293
|
+
use<L extends string>(level: L, prefix?: string): BoundForge;
|
|
291
294
|
}
|
|
292
295
|
/**
|
|
293
296
|
* createRouteForge 配置项
|
|
@@ -369,46 +372,35 @@ type ForgeApiResponse<L extends string, N extends string> = [
|
|
|
369
372
|
response: infer R;
|
|
370
373
|
} ? R : unknown) : unknown : unknown;
|
|
371
374
|
/**
|
|
372
|
-
* 已绑定 level
|
|
373
|
-
*
|
|
374
|
-
*
|
|
375
|
+
* 已绑定 level 的 forge 对象。
|
|
376
|
+
* 由 `forge.use(level, prefix?)` 返回,Vue/React/IIFE 共享同一 API 表面。
|
|
377
|
+
*
|
|
378
|
+
* @typeParam LL - levelLoaded 的类型:core 默认 Promise<void>,Vue 替换为 Ref<boolean>
|
|
375
379
|
*/
|
|
376
|
-
interface
|
|
377
|
-
/**
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
load(level: string | string[]): Promise<void>;
|
|
383
|
-
invalidate(level?: string | string[]): void;
|
|
384
|
-
isLoaded(level?: string): boolean;
|
|
385
|
-
hasRoute(level: string, name: string): boolean;
|
|
386
|
-
/** 查询加载中标识状态 */
|
|
387
|
-
isLoading(): boolean;
|
|
388
|
-
/** 订阅加载状态变更,返回取消订阅函数 */
|
|
389
|
-
onLoadingChange(cb: LoadingChangeCallback): () => void;
|
|
390
|
-
/** 获取指定层级下全部路由元信息(深拷贝,修改不影响内部缓存) */
|
|
391
|
-
getRoutes(level: string): Record<string, RouteMeta>;
|
|
392
|
-
}
|
|
393
|
-
/** 已绑定 level — 可直接调用(= api 快捷方式),无需传 level */
|
|
394
|
-
interface BoundForgeTyped<L extends string, LevelLoaded = unknown> extends BoundForgeMethods<L, LevelLoaded> {
|
|
395
|
-
/** 当前绑定的 level 值 */
|
|
396
|
-
readonly level: L;
|
|
397
|
-
/** 路由名前缀(仅在传入 prefix 时存在) */
|
|
380
|
+
interface BoundForge<LL = Promise<void>> {
|
|
381
|
+
/** 直接调用 = api 快捷方式,自动带绑定的 level */
|
|
382
|
+
(name: string, params?: ApiCallParams): Promise<unknown>;
|
|
383
|
+
/** 当前绑定的 level */
|
|
384
|
+
readonly level: string;
|
|
385
|
+
/** 绑定的路由名前缀(仅传入 prefix 时存在) */
|
|
398
386
|
readonly prefix?: string;
|
|
399
|
-
/**
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
load(
|
|
407
|
-
invalidate(
|
|
408
|
-
isLoaded(
|
|
387
|
+
/** level 加载状态(core: Promise<void>,Vue: Ref<boolean>) */
|
|
388
|
+
levelLoaded: LL;
|
|
389
|
+
api(name: string, params?: ApiCallParams): Promise<unknown>;
|
|
390
|
+
route(name: string, params?: Record<string, unknown>): string;
|
|
391
|
+
url(name: string, params?: Record<string, unknown>): string;
|
|
392
|
+
hasRoute(name: string): boolean;
|
|
393
|
+
getRoutes(): Record<string, RouteMeta>;
|
|
394
|
+
load(): Promise<void>;
|
|
395
|
+
invalidate(): void;
|
|
396
|
+
isLoaded(): boolean;
|
|
409
397
|
isLoading(): boolean;
|
|
410
398
|
onLoadingChange(cb: LoadingChangeCallback): () => void;
|
|
411
|
-
|
|
399
|
+
/** 等待绑定的 level 加载完成,resolve 值为自身(BoundForge),保证可安全调用 */
|
|
400
|
+
onLevelLoaded(): Promise<BoundForge<LL>>;
|
|
401
|
+
onLevelLoaded(onFulfilled: (bound: BoundForge<LL>) => void, onRejected?: (error: unknown) => void): Promise<BoundForge<LL>>;
|
|
402
|
+
/** 在已绑定 level 基础上追加/替换 prefix,返回新的 BoundForge */
|
|
403
|
+
useRoutePrefix(prefix: string): BoundForge<LL>;
|
|
412
404
|
}
|
|
413
405
|
/** call 函数签名 — 未绑定 level,需要显式传入 */
|
|
414
406
|
interface UseForgeApiCall {
|
|
@@ -451,4 +443,4 @@ interface UseForgeByPrefixReturn {
|
|
|
451
443
|
route: (suffix: string, params?: Record<string, unknown>) => string;
|
|
452
444
|
}
|
|
453
445
|
|
|
454
|
-
export { type AdapterOption as A, type
|
|
446
|
+
export { type AdapterOption as A, type BoundForge as B, type CacheStorage as C, type Fetcher as F, type InterceptorManager as I, type LevelRoutesResponse as L, type RouteMeta as R, type SummaryResponse as S, type UseForgeApiBoundCall as U, type InterceptorHandler as a, type RouteForgeOptions as b, type RouteForge as c, type ApiCallParams as d, type ForgeApiParams as e, type ForgeApiResponse as f, type ForgeRouteMap as g, type ForgeRouteName as h, type LoadingChangeCallback as i, type LoadingChangeEvent as j, LoadingTracker as k, type RequestConfig as l, type ResponseData as m, type UseForgeApiBoundReturn as n, type UseForgeApiCall as o, type UseForgeApiReturn as p, type UseForgeByPrefixReturn as q };
|
|
@@ -256,14 +256,9 @@ interface RouteForge {
|
|
|
256
256
|
isLoaded(level?: string): boolean;
|
|
257
257
|
/** 检查指定层级下某路由是否存在(需该层级缓存已加载) */
|
|
258
258
|
hasRoute(level: string, name: string): boolean;
|
|
259
|
-
/**
|
|
260
|
-
* 查询加载中标识状态
|
|
261
|
-
*/
|
|
259
|
+
/** 查询加载中标识状态 */
|
|
262
260
|
isLoading(): boolean;
|
|
263
|
-
/**
|
|
264
|
-
* 订阅加载状态变更
|
|
265
|
-
* @returns 取消订阅函数
|
|
266
|
-
*/
|
|
261
|
+
/** 订阅加载状态变更,返回取消订阅函数 */
|
|
267
262
|
onLoadingChange(cb: LoadingChangeCallback): () => void;
|
|
268
263
|
/**
|
|
269
264
|
* 获取路由元信息快照(深拷贝,修改返回值不影响内部缓存)。
|
|
@@ -278,16 +273,24 @@ interface RouteForge {
|
|
|
278
273
|
response: InterceptorManager<ResponseData, unknown>;
|
|
279
274
|
};
|
|
280
275
|
/**
|
|
281
|
-
*
|
|
282
|
-
*
|
|
276
|
+
* auto-discovery + eager load 完成后 resolve。
|
|
277
|
+
* 始终返回 Promise<this>,resolve 值为 forge 实例自身,支持链式调用。
|
|
278
|
+
*
|
|
279
|
+
* - 无参:返回 Promise,适合 async/await
|
|
280
|
+
* - 有参:回调内部走 then/catch,仍返回 Promise
|
|
283
281
|
*/
|
|
284
|
-
ready: Promise<
|
|
282
|
+
ready(): Promise<RouteForge>;
|
|
283
|
+
ready(onFulfilled: (forge: RouteForge) => void, onRejected?: (error: unknown) => void): Promise<RouteForge>;
|
|
285
284
|
/**
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
*
|
|
285
|
+
* 绑定 level(+ 可选 prefix),返回 BoundForge。
|
|
286
|
+
* 唯一入口 — Vue/React/IIFE 共享同一套 API 表面。
|
|
287
|
+
*
|
|
288
|
+
* - use():不绑定,返回 RouteForge 自身
|
|
289
|
+
* - use(level):绑定 level
|
|
290
|
+
* - use(level, prefix):绑定 level + prefix
|
|
289
291
|
*/
|
|
290
|
-
|
|
292
|
+
use(): RouteForge;
|
|
293
|
+
use<L extends string>(level: L, prefix?: string): BoundForge;
|
|
291
294
|
}
|
|
292
295
|
/**
|
|
293
296
|
* createRouteForge 配置项
|
|
@@ -369,46 +372,35 @@ type ForgeApiResponse<L extends string, N extends string> = [
|
|
|
369
372
|
response: infer R;
|
|
370
373
|
} ? R : unknown) : unknown : unknown;
|
|
371
374
|
/**
|
|
372
|
-
* 已绑定 level
|
|
373
|
-
*
|
|
374
|
-
*
|
|
375
|
+
* 已绑定 level 的 forge 对象。
|
|
376
|
+
* 由 `forge.use(level, prefix?)` 返回,Vue/React/IIFE 共享同一 API 表面。
|
|
377
|
+
*
|
|
378
|
+
* @typeParam LL - levelLoaded 的类型:core 默认 Promise<void>,Vue 替换为 Ref<boolean>
|
|
375
379
|
*/
|
|
376
|
-
interface
|
|
377
|
-
/**
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
load(level: string | string[]): Promise<void>;
|
|
383
|
-
invalidate(level?: string | string[]): void;
|
|
384
|
-
isLoaded(level?: string): boolean;
|
|
385
|
-
hasRoute(level: string, name: string): boolean;
|
|
386
|
-
/** 查询加载中标识状态 */
|
|
387
|
-
isLoading(): boolean;
|
|
388
|
-
/** 订阅加载状态变更,返回取消订阅函数 */
|
|
389
|
-
onLoadingChange(cb: LoadingChangeCallback): () => void;
|
|
390
|
-
/** 获取指定层级下全部路由元信息(深拷贝,修改不影响内部缓存) */
|
|
391
|
-
getRoutes(level: string): Record<string, RouteMeta>;
|
|
392
|
-
}
|
|
393
|
-
/** 已绑定 level — 可直接调用(= api 快捷方式),无需传 level */
|
|
394
|
-
interface BoundForgeTyped<L extends string, LevelLoaded = unknown> extends BoundForgeMethods<L, LevelLoaded> {
|
|
395
|
-
/** 当前绑定的 level 值 */
|
|
396
|
-
readonly level: L;
|
|
397
|
-
/** 路由名前缀(仅在传入 prefix 时存在) */
|
|
380
|
+
interface BoundForge<LL = Promise<void>> {
|
|
381
|
+
/** 直接调用 = api 快捷方式,自动带绑定的 level */
|
|
382
|
+
(name: string, params?: ApiCallParams): Promise<unknown>;
|
|
383
|
+
/** 当前绑定的 level */
|
|
384
|
+
readonly level: string;
|
|
385
|
+
/** 绑定的路由名前缀(仅传入 prefix 时存在) */
|
|
398
386
|
readonly prefix?: string;
|
|
399
|
-
/**
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
load(
|
|
407
|
-
invalidate(
|
|
408
|
-
isLoaded(
|
|
387
|
+
/** level 加载状态(core: Promise<void>,Vue: Ref<boolean>) */
|
|
388
|
+
levelLoaded: LL;
|
|
389
|
+
api(name: string, params?: ApiCallParams): Promise<unknown>;
|
|
390
|
+
route(name: string, params?: Record<string, unknown>): string;
|
|
391
|
+
url(name: string, params?: Record<string, unknown>): string;
|
|
392
|
+
hasRoute(name: string): boolean;
|
|
393
|
+
getRoutes(): Record<string, RouteMeta>;
|
|
394
|
+
load(): Promise<void>;
|
|
395
|
+
invalidate(): void;
|
|
396
|
+
isLoaded(): boolean;
|
|
409
397
|
isLoading(): boolean;
|
|
410
398
|
onLoadingChange(cb: LoadingChangeCallback): () => void;
|
|
411
|
-
|
|
399
|
+
/** 等待绑定的 level 加载完成,resolve 值为自身(BoundForge),保证可安全调用 */
|
|
400
|
+
onLevelLoaded(): Promise<BoundForge<LL>>;
|
|
401
|
+
onLevelLoaded(onFulfilled: (bound: BoundForge<LL>) => void, onRejected?: (error: unknown) => void): Promise<BoundForge<LL>>;
|
|
402
|
+
/** 在已绑定 level 基础上追加/替换 prefix,返回新的 BoundForge */
|
|
403
|
+
useRoutePrefix(prefix: string): BoundForge<LL>;
|
|
412
404
|
}
|
|
413
405
|
/** call 函数签名 — 未绑定 level,需要显式传入 */
|
|
414
406
|
interface UseForgeApiCall {
|
|
@@ -451,4 +443,4 @@ interface UseForgeByPrefixReturn {
|
|
|
451
443
|
route: (suffix: string, params?: Record<string, unknown>) => string;
|
|
452
444
|
}
|
|
453
445
|
|
|
454
|
-
export { type AdapterOption as A, type
|
|
446
|
+
export { type AdapterOption as A, type BoundForge as B, type CacheStorage as C, type Fetcher as F, type InterceptorManager as I, type LevelRoutesResponse as L, type RouteMeta as R, type SummaryResponse as S, type UseForgeApiBoundCall as U, type InterceptorHandler as a, type RouteForgeOptions as b, type RouteForge as c, type ApiCallParams as d, type ForgeApiParams as e, type ForgeApiResponse as f, type ForgeRouteMap as g, type ForgeRouteName as h, type LoadingChangeCallback as i, type LoadingChangeEvent as j, LoadingTracker as k, type RequestConfig as l, type ResponseData as m, type UseForgeApiBoundReturn as n, type UseForgeApiCall as o, type UseForgeApiReturn as p, type UseForgeByPrefixReturn as q };
|