UNPKG

@report-toolkit/transformers

Version:

See docs at [https://ibm.github.io/report-toolkit](https://ibm.github.io/report-toolkit)

83 lines (82 loc) 3.21 kB
/** * Creates a Transformer * @template T,U * @param {TransformFunction<T,U>} transform - Transformer function * @param {TransformerMeta} meta - Transformer meta * @param {object} [config] - Transformer config * @returns {Transformer<T,U>} */ export function createTransformer<T, U>(transform: (opts?: object) => import("rxjs/internal/types").OperatorFunction<T, U>, meta: TransformerMeta, config?: object): Transformer<T, U>; export type Formatters = "table" | "json" | "csv"; export type TransformerField = { label: string; value: string | ((arg0: any) => string); color?: string | ((arg0: any) => string); }; export type Report = import("../../diff/node_modules/@report-toolkit/common/src/report").Report; export type TransformerMeta = { id: string; description?: string; input?: string[]; output: string; alias?: string[]; defaults?: any; }; /** * <T,U> */ export type OperatorFunction<T, U> = import("rxjs/internal/types").OperatorFunction<T, U>; export type TransformFunction<T, U> = (opts?: object) => import("rxjs/internal/types").OperatorFunction<T, U>; /** * Represents a Transformer having a transform() function and * metadata. * @template T,U */ export class Transformer<T, U> { /** * Creates a Transformer * @template T,U * @param {TransformFunction<T,U>} transform - Transformer function * @param {TransformerMeta} meta - Transformer meta * @param {object} [config] - Transformer config * @returns {Transformer<T,U>} */ static create<T_2, U_2>(transform: (opts?: object) => import("rxjs/internal/types").OperatorFunction<T_2, U_2>, meta: TransformerMeta, config?: object): Transformer<T_2, U_2>; /** * Sets defaults and instance props * @param {TransformFunction<T,U>} transform * @param {TransformerMeta} meta - Transformer metdata * @param {object} [config] - Transformer config */ constructor(transform: (opts?: object) => import("rxjs/internal/types").OperatorFunction<T, U>, meta: TransformerMeta, config?: object); _meta: any; _transform: (opts?: object) => import("rxjs/internal/types").OperatorFunction<T, U>; get id(): any; get input(): any; get output(): any; get defaults(): any; /** * Pipe one Transformer to another * @param {Transformer<any,any>} transformer * @returns {Transformer<any,any>} */ pipe(transformer: Transformer<any, any>): Transformer<any, any>; transform(): import("rxjs/internal/types").OperatorFunction<T, U>; /** * * @param {Transformer<any,any>} transformer * @returns {Transformer<any,any>} */ pipeFrom(transformer: Transformer<any, any>): Transformer<any, any>; _source: Transformer<any, any>; /** * Returns `true` if this Transformer can pipe to another * @param {Transformer<any,any>} transformer - Transformer to compare */ canPipeTo(transformer: Transformer<any, any>): import("lodash/fp").LodashIncludes1x2<any>; canBeginWith(type: any): import("lodash/fp").LodashIncludes1x2<any>; canEndWith(type: any): boolean; } export namespace Transformer { export const normalizeFields: (...args: any[]) => any; }