@cruncher/adapter-utils
Version:
Utility functions for Cruncher adapters.
53 lines • 2.08 kB
TypeScript
export type ProcessedData = {
object: ObjectFields;
message: string;
};
export type ObjectFields = {
[key: string]: Field;
};
export type FieldWithError = {
errors?: string[];
};
export type NumberField = {
type: "number";
value: number;
} & FieldWithError;
export type StringField = {
type: "string";
value: string;
} & FieldWithError;
export type DateField = {
type: "date";
value: number;
} & FieldWithError;
export type ArrayField = {
type: "array";
value: Field[];
} & FieldWithError;
export type ObjectField = {
type: "object";
raw: Record<string, unknown>;
value: ObjectFields;
} & FieldWithError;
export type BooleanField = {
type: "boolean";
value: boolean;
} & FieldWithError;
export type HashableField = NumberField | StringField | DateField;
export type FieldMust = HashableField | BooleanField | ArrayField | ObjectField;
export type Field = FieldMust | undefined | null;
export declare const asStringFieldOrUndefined: (field: Field) => StringField | undefined;
export declare const asStringField: (field: Field) => StringField;
export declare const asNumberFieldOrUndefined: (field: Field) => NumberField | undefined;
export declare const isNumberField: (field: Field) => field is NumberField;
export declare const asNumberField: (field: Field) => NumberField;
export declare const asJson: (field: Field) => string;
export declare const asDisplayString: (field: Field) => string;
export declare const asDateField: (field: Field) => DateField;
export declare const getTimeFromProcessedData: (data: ProcessedData) => number;
export declare const compareProcessedData: (a: ProcessedData, b: ProcessedData) => number;
export declare const isNotDefined: (field: Field) => field is null | undefined;
export declare const isHashableField: (field: Field) => field is HashableField;
export declare const toJsonObject: (data: ProcessedData) => Record<string, string | number | boolean | null | undefined>;
export declare const processField: (field: unknown) => Field;
//# sourceMappingURL=logTypes.d.ts.map