fix: index.d.ts 修复自引用空壳, 补全丢失的类型定义
对应 ff 主仓库 emit-types 脚本的修复(index 入口打包时把 @ff/core 误判成外部 引用、指向自己), 重新构建后类型内容恢复正常。
This commit is contained in:
Vendored
+143
-2
@@ -1,2 +1,143 @@
|
|||||||
export * from './index';
|
import Request from 'ff-request';
|
||||||
export { default } from './index';
|
import { AxiosStatic } from 'axios';
|
||||||
|
import MockAdapter from 'axios-mock-adapter';
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
declare const _default$3: any;
|
||||||
|
|
||||||
|
// ===== 用户数据结构(复用类型,JSDoc 无法跨文件引用,放 .d.ts) =====
|
||||||
|
|
||||||
|
interface UserRoleBinding {
|
||||||
|
user_uuid: string
|
||||||
|
role_uuid: string
|
||||||
|
created_at: string
|
||||||
|
updated_at: string
|
||||||
|
created_user: string
|
||||||
|
owned_user: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface UserInfo {
|
||||||
|
uuid: string
|
||||||
|
username: string
|
||||||
|
nickname: string
|
||||||
|
email: string
|
||||||
|
last_login_ip: string
|
||||||
|
is_active: 0 | 1
|
||||||
|
UserRole: UserRoleBinding[]
|
||||||
|
[key: string]: unknown
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ===== http — Proxy 模式产生交叉类型,JSDoc 无法表达 =====
|
||||||
|
|
||||||
|
/** 每次请求自动附加的请求头 */
|
||||||
|
interface HttpHeaders {
|
||||||
|
/** 客户端平台标识,固定为 'web' */
|
||||||
|
Platform: string
|
||||||
|
/** SaaS 租户标识,单租户时为 null */
|
||||||
|
SaaS: string | null
|
||||||
|
/** JWT Bearer token,未登录时为 undefined */
|
||||||
|
Authorization: string | undefined
|
||||||
|
}
|
||||||
|
|
||||||
|
// ===== func — ff-worker-pipe 无类型文件,显式声明 =====
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 基于 Worker 的表达式执行引擎单例;
|
||||||
|
* exec 在独立 Worker 上下文中求值一段 JS 表达式/源码
|
||||||
|
*/
|
||||||
|
interface WorkerPipeInstance {
|
||||||
|
/**
|
||||||
|
* 在 Worker 上下文中执行一段 JS 表达式
|
||||||
|
* @param expression 要执行的表达式字符串
|
||||||
|
* @param args 传给表达式的参数(可在表达式内作为第一个参数使用)
|
||||||
|
* @param fns 注入到表达式执行作用域的额外可调用函数
|
||||||
|
* @param session 会话标识;相同 session 共享 Worker 侧工作区(this)
|
||||||
|
*/
|
||||||
|
exec: (
|
||||||
|
expression: string,
|
||||||
|
args?: Record<string, unknown>,
|
||||||
|
fns?: Record<string, Function>,
|
||||||
|
session?: string
|
||||||
|
) => Promise<unknown>
|
||||||
|
/** 清除指定 session 的 Worker 侧工作区 */
|
||||||
|
clear: (session: string) => void
|
||||||
|
}
|
||||||
|
|
||||||
|
declare const _default$2: Http & Request;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 应用统一的 HTTP 客户端单例;自身只实现 init/driver/headers/mock/unmock,
|
||||||
|
* 其余属性通过 Proxy 代理到内部的 ff-request 实例(HttpRequest),
|
||||||
|
* 所以 get/post/del 等请求方法可以直接在这个单例上调用
|
||||||
|
*/
|
||||||
|
declare class Http {
|
||||||
|
static "__#private@#instance": any;
|
||||||
|
static "__#private@#core": any;
|
||||||
|
/** @returns {Http & Request} 单例实例 */
|
||||||
|
static getInstance: () => Http & Request;
|
||||||
|
appUrl: string;
|
||||||
|
/**
|
||||||
|
* 初始化(设置请求 baseURL/超时,并初始化内部 ff-request 实例)
|
||||||
|
* @param {string} appKey
|
||||||
|
* @param {string} appSecret
|
||||||
|
* @param {string} appUrl 接口请求的 baseURL
|
||||||
|
*/
|
||||||
|
init(appKey: string, appSecret: string, appUrl: string): void;
|
||||||
|
/** @returns {AxiosStatic} */
|
||||||
|
get driver(): AxiosStatic;
|
||||||
|
/** @returns {HttpHeaders} */
|
||||||
|
get headers(): HttpHeaders;
|
||||||
|
/**
|
||||||
|
* 开启请求 mock(基于 axios-mock-adapter),未匹配的请求会透传到真实接口
|
||||||
|
* @param {Object} [opt] 传给 MockAdapter 的选项
|
||||||
|
* @returns {MockAdapter} mock 适配器实例,用于注册具体的 mock 规则
|
||||||
|
*/
|
||||||
|
mock(opt?: any): MockAdapter;
|
||||||
|
/** 关闭并清除 mock */
|
||||||
|
unmock(): void;
|
||||||
|
#private;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare class Cache {
|
||||||
|
constructor(target: any, fn: any);
|
||||||
|
get: (...args: any[]) => Promise<any>;
|
||||||
|
#private;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare const _default$1: any;
|
||||||
|
|
||||||
|
/** @type {WorkerPipeInstance} */
|
||||||
|
declare const pipe: WorkerPipeInstance;
|
||||||
|
|
||||||
|
declare const _default: any;
|
||||||
|
|
||||||
|
/** @type {React.Context<{ user: UserInfo, initUser: () => void, initUserComplete: boolean }>} */
|
||||||
|
declare const AppContext: React.Context<{
|
||||||
|
user: UserInfo;
|
||||||
|
initUser: () => void;
|
||||||
|
initUserComplete: boolean;
|
||||||
|
}>;
|
||||||
|
/** @type {React.Context<{ set: (...args: unknown[]) => unknown, get: (...args: unknown[]) => unknown, assign: (...args: unknown[]) => unknown, currentRoute: (...args: unknown[]) => unknown }>} */
|
||||||
|
declare const AppGlobalParamsContext: React.Context<{
|
||||||
|
set: (...args: unknown[]) => unknown;
|
||||||
|
get: (...args: unknown[]) => unknown;
|
||||||
|
assign: (...args: unknown[]) => unknown;
|
||||||
|
currentRoute: (...args: unknown[]) => unknown;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否是 React 组件(大写字母开头的函数 / forwardRef / memo 等)
|
||||||
|
* @param {unknown} component 要判断的值
|
||||||
|
* @returns {boolean}
|
||||||
|
*/
|
||||||
|
declare function isReactComponent(component: unknown): boolean;
|
||||||
|
/**
|
||||||
|
* 向 document.head 注入一段 CSS;id 相同时更新已有 style 标签
|
||||||
|
* @param {string} css 要注入的 CSS 字符串
|
||||||
|
* @param {string} id style 标签的唯一标识
|
||||||
|
* @returns {string | undefined} 注入的 CSS 字符串,无法注入时返回 undefined
|
||||||
|
*/
|
||||||
|
declare function insertStyle(css: string, id: string): string | undefined;
|
||||||
|
|
||||||
|
export { AppContext, AppGlobalParamsContext, Cache as cache, _default$1 as configure, _default$3 as default, pipe as func, _default$2 as http, insertStyle, isReactComponent, _default as route };
|
||||||
|
|||||||
Reference in New Issue
Block a user