UNPKG

@odata2ts/odata-query-objects

Version:

Q-Objects are the magic sauce for the odata-query-builder and allow for renaming and type conversion

21 lines (20 loc) 1.31 kB
import { ValueConverter } from "@odata2ts/converter-api"; import { FlexibleConversionModel } from "../QueryObjectModel"; import { QParamModel } from "./QParamModel"; import { UrlParamValueFormatter, UrlParamValueParser } from "./UrlParamModel"; export type PrimitiveParamType = string | number | boolean; export declare abstract class QParam<Type extends PrimitiveParamType, ConvertedType> implements QParamModel<Type, ConvertedType> { protected name: string; protected mappedName?: string | undefined; protected readonly converter: ValueConverter<Type, ConvertedType>; constructor(name: string, mappedName?: string | undefined, converter?: ValueConverter<Type, ConvertedType>); getName(): string; getMappedName(): string; getConverter(): ValueConverter<Type, ConvertedType>; protected abstract getUrlConformValue: UrlParamValueFormatter<Type>; protected abstract parseValueFromUrl: UrlParamValueParser<Type>; convertFrom(value: FlexibleConversionModel<Type>): FlexibleConversionModel<ConvertedType>; convertTo(value: FlexibleConversionModel<ConvertedType>): FlexibleConversionModel<Type>; formatUrlValue(value: FlexibleConversionModel<ConvertedType>): string | undefined; parseUrlValue(value: string | undefined): FlexibleConversionModel<ConvertedType>; }