@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
TypeScript
/**
* 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;
}