@opra/common
Version:
Opra common package
20 lines (19 loc) • 747 B
TypeScript
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;
}