UNPKG

@opra/common

Version:
23 lines (22 loc) 1.14 kB
import type { Class, RequiredSome, Type } from 'ts-gems'; import type { DataType } from './data-type.js'; /** * Create a new MappedType that marks given fields as baseType * @param baseType * @param keys * @param options */ export declare function RequiredType<Args extends any[], Instance, Static, K extends keyof Instance>(baseType: Class<Args, Instance, Static>, keys?: readonly K[], options?: DataType.Options): Class<Args, RequiredSome<Instance, K>> & Omit<Pick<Static, keyof typeof baseType>, 'prototype' | 'constructor'>; /** * Create a new MappedType that marks all fields as baseType * @param baseType * @param options */ export declare function RequiredType<Args extends any[], Instance, Static>(baseType: Class<Args, Instance, Static>, options?: DataType.Options): Class<Args, Required<Instance>> & Omit<Pick<Static, keyof typeof baseType>, 'prototype' | 'constructor'>; /** * Create a new MappedType that marks given or all fields as required * @param baseType * @param keys * @param options */ export declare function RequiredType(baseType: string | Type, keys?: string[] | true, options?: DataType.Options): Type;