Files
NapCatQQ/.pnpm-store/v3/files/2e/f7bab682d6c2f78c34a9e9c5eb350607e72acf4fa8dd0c5fc5646b21d76e618db3ce591490fdd82975a4b6b99af666e6d9caabd1034fb5e6f1dfd6089318ed
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';
import type { Ensure } from '../helpers/index';
import { OptionalKind } from '../symbols/index';
import type { TMappedResult } from '../mapped/index';
import { type TOptionalFromMappedResult } from './optional-from-mapped-result';
type TRemoveOptional<T extends TSchema> = T extends TOptional<infer S> ? S : T;
type TAddOptional<T extends TSchema> = T extends TOptional<infer S> ? TOptional<S> : Ensure<TOptional<T>>;
export type TOptionalWithFlag<T extends TSchema, F extends boolean> = F extends false ? TRemoveOptional<T> : TAddOptional<T>;
export type TOptional<T extends TSchema> = T & {
[OptionalKind]: 'Optional';
};
/** `[Json]` Creates a Optional property */
export declare function Optional<T extends TMappedResult, F extends boolean>(schema: T, enable: F): TOptionalFromMappedResult<T, F>;
/** `[Json]` Creates a Optional property */
export declare function Optional<T extends TSchema, F extends boolean>(schema: T, enable: F): TOptionalWithFlag<T, F>;
/** `[Json]` Creates a Optional property */
export declare function Optional<T extends TMappedResult>(schema: T): TOptionalFromMappedResult<T, true>;
/** `[Json]` Creates a Optional property */
export declare function Optional<T extends TSchema>(schema: T): TOptionalWithFlag<T, true>;
export {};