cmux/node_modules/json-schema-to-ts/lib/utils/replace.d.ts
2026-01-29 17:36:26 -08:00

16 lines
586 B
TypeScript

import { DeepMergeUnsafe } from "./merge";
import { OptionalProps } from "./optionalProps";
import { RequiredProps } from "./requiredProps";
/**
* Set a specified value to an object property or properties
*
* @param O Object
* @param P Properties
* @param V Value (type)
* @return Object
*/
export declare type Replace<O extends Record<string | number | symbol, any>, P extends keyof O, V, Req extends keyof O = RequiredProps<O>, Opt extends keyof O = OptionalProps<O>> = DeepMergeUnsafe<DeepMergeUnsafe<Omit<O, P>, {
[key in P & Req]: V;
}>, {
[key in P & Opt]?: V;
}>;