UNPKG

@deepkit/api-console-gui

Version:

API Console GUI

41 lines 2.5 kB
import { isMapType, isMongoIdType, isSetType, isUUIDType, ReflectionKind } from '@deepkit/type'; import { StringInputComponent } from './string-input.component'; import { UnionInputComponent } from './union-input.component'; import { ArrayInputComponent } from './array-input.component'; import { JsonInputComponent } from './json-input.component'; import { DateInputComponent } from './date-input.component'; import { BinaryInputComponent } from './binary-input.component'; import { EnumInputComponent } from './enum-input.component'; import { ClassInputComponent } from './class-input.component'; import { MapInputComponent } from './map-input.component'; import { getClassName } from '@deepkit/core'; export function loadRegistry(inputRegistry) { inputRegistry.set(ReflectionKind.string, StringInputComponent); inputRegistry.set(ReflectionKind.number, StringInputComponent); inputRegistry.set(ReflectionKind.bigint, StringInputComponent); inputRegistry.set(ReflectionKind.union, UnionInputComponent); inputRegistry.set(type => type.kind === ReflectionKind.array || isSetType(type), ArrayInputComponent); inputRegistry.set(ReflectionKind.any, JsonInputComponent); //todo: needs new component inputRegistry.set(ReflectionKind.literal, JsonInputComponent); inputRegistry.set(ReflectionKind.rest, JsonInputComponent); inputRegistry.set(ReflectionKind.promise, JsonInputComponent); inputRegistry.set(ReflectionKind.tuple, JsonInputComponent); inputRegistry.set(ReflectionKind.regexp, JsonInputComponent); inputRegistry.set([ReflectionKind.object, ReflectionKind.unknown], JsonInputComponent); inputRegistry.setClass(Date, DateInputComponent); inputRegistry.setBinary(BinaryInputComponent); inputRegistry.set(ReflectionKind.enum, EnumInputComponent); inputRegistry.set([ReflectionKind.class, ReflectionKind.objectLiteral], ClassInputComponent); inputRegistry.set(isUUIDType, StringInputComponent); inputRegistry.set(isMongoIdType, StringInputComponent); inputRegistry.set(type => { if (type.kind === ReflectionKind.objectLiteral && type.types.length && type.types.every(v => v.kind === ReflectionKind.indexSignature)) return true; return isMapType(type); }, MapInputComponent); inputRegistry.set(type => { return type.kind === ReflectionKind.class && getClassName(type.classType) === 'UploadedFile'; }, BinaryInputComponent); } //# sourceMappingURL=registry-loader.js.map