Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pfftdammitchris/68dd856ef9836ed2c6e19c5f58488dbb to your computer and use it in GitHub Desktop.
Save pfftdammitchris/68dd856ef9836ed2c6e19c5f58488dbb to your computer and use it in GitHub Desktop.
type ReferenceString = string
type Obj = Record<string, any>
interface TransformFunc {
(
transformer: <V>(value: ReferenceString | Obj | any[]) => V,
...args: any
): any[]
}
const transform: TransformFunc = (transformer, ...args) => {
return args.reduce(
(arr, arg) =>
Array.isArray(arg)
? arr.concat(...arg.map((val) => transformer(val)))
: transformer(arg),
[],
)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment