Skip to main content
Version: 6.3

serialize

Callable

  • serialize<Entity, Naked, Populate, Exclude, Config>(entity: Entity, options?: Config & SerializeOptions<UnboxArray<Entity>, Populate, Exclude>): Naked extends object[] ? EntityDTO<Loaded<ArrayElement<Naked>, Populate>, CleanTypeConfig<Config>>[] : EntityDTO<Loaded<Naked, Populate>, CleanTypeConfig<Config>>

  • Converts entity instance to POJO, converting the Collections to arrays and unwrapping the Reference wrapper, while respecting the serialization options. This method accepts either a single entity or an array of entities, and returns the corresponding POJO or an array of POJO. To serialize a single entity, you can also use wrap(entity).serialize() which handles a single entity only.

    const dtos = serialize([user1, user, ...], { exclude: ['id', 'email'], forceObject: true });
    const [dto2, dto3] = serialize([user2, user3], { exclude: ['id', 'email'], forceObject: true });
    const dto1 = serialize(user, { exclude: ['id', 'email'], forceObject: true });
    const dto2 = wrap(user).serialize({ exclude: ['id', 'email'], forceObject: true });

    Type parameters

    • Entity: object
    • Naked: unknown = FromEntityType<Entity>
    • Populate: string = never
    • Exclude: string = never
    • Config: TypeConfig = never

    Parameters

    Returns Naked extends object[] ? EntityDTO<Loaded<ArrayElement<Naked>, Populate>, CleanTypeConfig<Config>>[] : EntityDTO<Loaded<Naked, Populate>, CleanTypeConfig<Config>>