UNPKG

@buka/class-transformer-extra

Version:

class-transformer-extra contains methods that's aren't included in the class-transform package.

18 lines (17 loc) 622 B
/* eslint-disable @typescript-eslint/no-explicit-any */ import { Transform } from 'class-transformer'; import * as R from 'ramda'; export function Split(separator, options) { return Transform(function SplitTransform({ value }) { if (typeof value === 'string') { return value.split(separator); } if (options && 'default' in options) { if (typeof options.default === 'function') { return options.default(value); } return options.default; } return value; }, options ? R.omit(['default'], options) : undefined); }