sqlite3orm
Version:
ORM for sqlite3 and TypeScript/JavaScript
129 lines • 4.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEFAULT_VALUE_TRANSFORMERS = exports.DefaultValueTransformers = exports.UnknownDefaultTransformer = exports.StringNumberTransformer = exports.StringDefaultTransformer = exports.NumberDefaultTransformer = exports.NumberTextTransformer = exports.DateIntegerAsMillisecondsTransformer = exports.DateIntegerAsSecondsTransformer = exports.DateTextTransformer = exports.BooleanNumberTransformer = exports.BooleanTextTransformer = exports.JsonTransformer = void 0;
class JsonTransformer {
toDB(input) {
return input == undefined ? null : JSON.stringify(input);
}
fromDB(input) {
return input == null ? undefined : JSON.parse(input);
}
}
exports.JsonTransformer = JsonTransformer;
class BooleanTextTransformer {
toDB(input) {
return input == undefined ? null : !input ? '0' : '1';
}
fromDB(input) {
if (input == null) {
return undefined;
}
if (input === '0' || input === 'false') {
return false;
}
else if (input === '1' || input === 'true') {
return true;
}
return undefined;
}
}
exports.BooleanTextTransformer = BooleanTextTransformer;
class BooleanNumberTransformer {
toDB(input) {
return input == undefined ? null : !input ? 0 : 1;
}
fromDB(input) {
return input == null ? undefined : !input ? false : true;
}
}
exports.BooleanNumberTransformer = BooleanNumberTransformer;
class DateTextTransformer {
toDB(input) {
return input == undefined ? null : input.toISOString();
}
fromDB(input) {
return input == null ? undefined : new Date(Date.parse(input));
}
}
exports.DateTextTransformer = DateTextTransformer;
class DateIntegerAsSecondsTransformer {
toDB(input) {
return input == undefined ? null : Math.floor(input.getTime() / 1000);
}
fromDB(input) {
return input == null ? undefined : new Date(Number.isInteger(input) ? input * 1000 : NaN);
}
}
exports.DateIntegerAsSecondsTransformer = DateIntegerAsSecondsTransformer;
class DateIntegerAsMillisecondsTransformer {
toDB(input) {
return input == undefined ? null : input.getTime();
}
fromDB(input) {
return input == null ? undefined : new Date(Number.isInteger(input) ? input : NaN);
}
}
exports.DateIntegerAsMillisecondsTransformer = DateIntegerAsMillisecondsTransformer;
class NumberTextTransformer {
toDB(input) {
return input == undefined ? null : String(input);
}
fromDB(input) {
return input == null ? undefined : Number(input);
}
}
exports.NumberTextTransformer = NumberTextTransformer;
class NumberDefaultTransformer {
toDB(input) {
return input == undefined ? null : Number(input);
}
fromDB(input) {
return input == null ? undefined : Number(input);
}
}
exports.NumberDefaultTransformer = NumberDefaultTransformer;
class StringDefaultTransformer {
toDB(input) {
return input == undefined ? null : String(input);
}
fromDB(input) {
return input == null ? undefined : String(input);
}
}
exports.StringDefaultTransformer = StringDefaultTransformer;
class StringNumberTransformer {
toDB(input) {
return input == undefined ? null : Number(input);
}
fromDB(input) {
return input == null ? undefined : String(input);
}
}
exports.StringNumberTransformer = StringNumberTransformer;
class UnknownDefaultTransformer {
/* istanbul ignore next */
toDB(input) {
return input == undefined ? null : input;
}
/* istanbul ignore next */
fromDB(input) {
return input == null ? undefined : input;
}
}
exports.UnknownDefaultTransformer = UnknownDefaultTransformer;
class DefaultValueTransformers {
json = new JsonTransformer();
booleanText = new BooleanTextTransformer();
booleanNumber = new BooleanNumberTransformer();
dateText = new DateTextTransformer();
dateIntegerAsSeconds = new DateIntegerAsSecondsTransformer();
dateIntegerAsMilliseconds = new DateIntegerAsMillisecondsTransformer();
numberText = new NumberTextTransformer();
numberDefault = new NumberDefaultTransformer();
stringNumber = new StringNumberTransformer();
stringDefault = new StringDefaultTransformer();
unknownDefault = new UnknownDefaultTransformer();
}
exports.DefaultValueTransformers = DefaultValueTransformers;
exports.DEFAULT_VALUE_TRANSFORMERS = new DefaultValueTransformers();
//# sourceMappingURL=DefaultValueTransformers.js.map