pankod/refine

View on GitHub
packages/inferencer/src/compose-transformers/index.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { FieldTransformer } from "../types";

/**
 * Compose multiple field transformers into one
 * @param transformers The transformer functions to compose
 */
export const composeTransformers = (
  transformers: Array<FieldTransformer>,
): FieldTransformer => {
  const fieldTransformer: FieldTransformer = (
    fields,
    resources,
    resource,
    record,
    infer,
    type,
  ) => {
    return transformers.reduce((acc, transformer) => {
      return transformer(acc, resources, resource, record, infer, type);
    }, fields);
  };

  return fieldTransformer;
};