UNPKG

@opra/common

Version:
20 lines (19 loc) 747 B
import type { StrictOmit } from 'ts-gems'; import type { ComplexType } from './complex-type.interface.js'; import type { DataType, DataTypeBase } from './data-type.interface.js'; import type { Field } from './field.interface.js'; import type { MixinType } from './mixin-type.interface.js'; export interface MappedType extends StrictOmit<DataTypeBase, 'kind'> { kind: MappedType.Kind; base: DataType.Name | ComplexType | MixinType | MappedType; omit?: Field.Name[]; pick?: Field.Name[]; partial?: Field.Name[] | boolean; required?: Field.Name[] | boolean; discriminatorField?: string; discriminatorValue?: string; } export declare namespace MappedType { const Kind = "MappedType"; type Kind = typeof Kind; }