Files
NapCatQQ/.pnpm-store/v3/files/d7/2a26aa3a0ddd8ff3c3e39ae8deb43c0d07cccf14b6160d60340f05c1e520812d5dee95e50aad6f8c81d80d08b280292c452328e8bf9dbed8222151406256ee
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

21 lines
1.3 KiB
Plaintext

import type { TSchema } from '../schema/index.mjs';
import type { Ensure } from '../helpers/index.mjs';
import { ReadonlyKind } from '../symbols/index.mjs';
import type { TMappedResult } from '../mapped/index.mjs';
import { type TReadonlyFromMappedResult } from './readonly-from-mapped-result.mjs';
type TRemoveReadonly<T extends TSchema> = T extends TReadonly<infer S> ? S : T;
type TAddReadonly<T extends TSchema> = T extends TReadonly<infer S> ? TReadonly<S> : Ensure<TReadonly<T>>;
export type TReadonlyWithFlag<T extends TSchema, F extends boolean> = F extends false ? TRemoveReadonly<T> : TAddReadonly<T>;
export type TReadonly<T extends TSchema> = T & {
[ReadonlyKind]: 'Readonly';
};
/** `[Json]` Creates a Readonly property */
export declare function Readonly<T extends TMappedResult, F extends boolean>(schema: T, enable: F): TReadonlyFromMappedResult<T, F>;
/** `[Json]` Creates a Readonly property */
export declare function Readonly<T extends TSchema, F extends boolean>(schema: T, enable: F): TReadonlyWithFlag<T, F>;
/** `[Json]` Creates a Readonly property */
export declare function Readonly<T extends TMappedResult>(schema: T): TReadonlyFromMappedResult<T, true>;
/** `[Json]` Creates a Readonly property */
export declare function Readonly<T extends TSchema>(schema: T): TReadonlyWithFlag<T, true>;
export {};