shyft
Version:
Model driven GraphQL API framework
45 lines (44 loc) • 1.39 kB
TypeScript
import { Entity } from '../entity/Entity';
import { Mutation } from '../mutation/Mutation';
import { Context } from '../context/Context';
import { RegistryEntity } from '../../graphqlProtocol/registry';
export declare type StorageDataTypeSerializer = {
(value: unknown, options?: {
data?: Record<string, unknown>;
entity?: Entity;
mutation?: Mutation;
model?: RegistryEntity;
context?: Context;
}): unknown;
};
export declare type StorageDataTypeParser = {
(value: unknown, options?: {
data?: Record<string, unknown>;
entity?: Entity;
model?: RegistryEntity;
context?: Context;
}): unknown;
};
export declare type StorageDataTypeSetup = {
name: string;
description: string;
nativeDataType: any;
isSortable?: boolean;
serialize?: StorageDataTypeSerializer;
enforceSerialize?: boolean;
parse?: StorageDataTypeParser;
capabilities?: string[];
};
export declare class StorageDataType {
name: string;
description: string;
nativeDataType: any;
isSortable?: boolean;
serialize?: StorageDataTypeSerializer;
enforceSerialize?: boolean;
parse?: StorageDataTypeParser;
capabilities?: string[];
constructor(setup?: StorageDataTypeSetup);
toString(): string;
}
export declare const isStorageDataType: (obj: unknown) => obj is StorageDataType;