Boolean
Creation
class User {
public isAdmin: boolean;
}
const isAdminField = new BooleanField();
const USER_META = new ObjectMeta({
builder: User,
fields: {
isAdmin: isAdminField,
}
});
const values = [
{
isAdmin: true,
},
{
isAdmin: 0,
}
];
const result = JTC.convert({
id: `Boolean`,
meta: new ObjectArrayMeta({ meta: USER_META }),
values,
});
const log = JTC.log.asString(result.tree);
console.log(result.converted.all);
/* 1 (EXCLUDED) -> {...} | Validation failed for all fields
1 (EXCLUDED) -> isAdmin -> 0 | Expected boolean, but got number */
console.log(log);
Validation
class User {
public isAdmin: boolean;
public isAlive: boolean;
}
const isAdminField = new BooleanField({ mode: `FALSY` });
const isAliveField = new BooleanField({ mode: `TRUTHY` });
const USER_META = new ObjectMeta({
builder: User,
fields: {
isAdmin: isAdminField,
isAlive: isAliveField
}
});
const values = [
{
isAdmin: false,
isAlive: true,
},
{
isAdmin: true,
isAlive: true,
},
{
isAdmin: false,
isAlive: false,
},
{
isAdmin: true,
isAlive: false,
},
];
const result = JTC.convert({
id: `Boolean Truthy`,
meta: new ObjectArrayMeta({ meta: USER_META }),
values,
});
const validation = isAdminField.validate({ value: true });
const log = JTC.log.asString(result.tree);
console.log(result.converted.all);
/* 1 -> isAdmin -> true | Should always be falsy
2 -> isAlive -> false | Should always be truthy
3 -> isAdmin -> true | Should always be falsy
3 -> isAlive -> false | Should always be truthy */
console.log(log);
console.log(validation.errors);
/* true */
console.log(validation.isInvalid);
Last updated
Was this helpful?