File size: 399 Bytes
a99a515
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import { plainToClass } from "class-transformer";

export const serialize = <T>(
  serializable: Record<string, any> | Record<string, any>[],
  serializer: new () => T
): T | T[] => {
  if (Array.isArray(serializable)) {
    return serializable.map((item) => serialize(item, serializer)) as T[];
  }

  return plainToClass(serializer, serializable, {
    excludeExtraneousValues: true,
  }) as T;
};