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