@polyipseity/obsidian-plugin-library
Version:
Library for Obsidian plugins.
13 lines • 986 B
TypeScript
import { type InverseTypeofMapE, type PrimitiveOfE } from "./typeof.js";
import type { ReadonlyTuple, Unchecked } from "./types.js";
import type { DeepWritable } from "ts-essentials";
export interface Fixed<T> {
readonly value: DeepWritable<T>;
readonly valid: boolean;
}
export type Fixer<T> = (value: unknown) => Fixed<T>;
export declare function markFixed<T>(unchecked: unknown, fixed: DeepWritable<T>): Fixed<T>;
export declare function fixTyped<S, K extends keyof S>(defaults: S, from: Unchecked<S>, key: K, types: readonly InverseTypeofMapE<S[K]>[]): PrimitiveOfE<S[K]>;
export declare function fixArray<S, K extends keyof S, V extends S[K] extends readonly (infer V0)[] ? V0 : never>(defaults: S, from: Unchecked<S>, key: K, types: readonly InverseTypeofMapE<V>[]): PrimitiveOfE<V>[];
export declare function fixInSet<S, K extends keyof S, const Vs extends ReadonlyTuple>(defaults: S, from: Unchecked<S>, key: K, set: Vs): Vs[number];
//# sourceMappingURL=fixers.d.ts.map