vue-app-sdk
Version:
56 lines (55 loc) • 2.13 kB
TypeScript
import { StorageOptions } from '../types';
import { Nullish } from '@rhao/types-base';
import { RemovableRef, Serializer } from '@vueuse/core';
import { RouteLocationMatched, RouteLocationNormalized, RouteLocationNormalizedLoaded, RouteRecordNormalized } from 'vue-router';
export declare const logger: {
format: (msg: string, type?: string) => string;
info: (msg: string, ...args: any[]) => void;
warn: (msg: string, ...args: any[]) => void;
error: (msg: string, ...args: any[]) => void;
};
export declare const assign: {
<T extends {}, U>(target: T, source: U): T & U;
<T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
<T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
(target: object, ...sources: any[]): any;
};
/**
* 创建可持久化的 `ref` 变量
*/
export declare function createPersistentRef<T, A extends boolean>(options: StorageOptions<A> & {
storageKey: string;
shallow?: boolean;
value: T;
}, isAsync?: A, serializer?: Serializer<T>): RemovableRef<T>;
/**
* 是否是 ES 模块
*/
export declare function isESModule(obj: any): any;
/**
* 模拟 `loadRouteLocation` 加载路由组件
*/
export declare function loadRouteRecord(route: RouteRecordNormalized): Promise<RouteRecordNormalized>;
export type LoadableRoute = RouteLocationNormalized | RouteRecordNormalized | RouteLocationNormalizedLoaded;
/**
* 路由是否未加载
*/
export declare function isUnloadedRoute(route: RouteRecordNormalized): boolean;
/**
* 加载路由
*/
export declare function loadRoute(route: RouteLocationNormalized): Promise<RouteLocationNormalizedLoaded>;
export declare function loadRoute(route: RouteRecordNormalized): Promise<RouteLocationMatched>;
/**
* 获取组件名称
*/
export declare function getComponentName(component: any): any;
/**
* 同步组件名称
*/
export declare function syncComponentName(component: any, name: string): any;
/**
* 根据路由获取组件名称
* @param route 路由
*/
export declare function resolveComponentNameByRoute(route: RouteRecordNormalized | Nullish): Promise<any>;