Skip to content

[bug/proposal] for boolean prop type and enabled enableImplicitConversion flag #306

Closed
@ruscon

Description

@ruscon

version: "class-transformer": "0.2.3"

example:

import 'reflect-metadata';
import { Expose, plainToClass } from 'class-transformer';

class TestClass {
    @Expose()
    prop: boolean;
}

console.log(plainToClass(TestClass, {
    prop: 'false',
}, {
    enableImplicitConversion: true,
}));

returned: TestClass { prop: true }
expected: TestClass { prop: false }

proposal:
if value === 'true' || value === true || value === 1 || value === '1' then true
otherwise false

somethink like ths:

import { Transform } from 'class-transformer';

export function ToBoolean(): (target: any, key: string) => void {
    return Transform((value: any) => value === 'true' || value === true || value === 1 || value === '1');
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: duplicateIssue is being tracked already in another issue.type: featureIssues related to new features.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions