"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const mapper_1 = require("../mapper");
class ObjectMapper {
    constructor() { }
    fromDb(val, propertyMetadata) {
        if (propertyMetadata && propertyMetadata.typeInfo && propertyMetadata.typeInfo.isCustom) {
            return mapper_1.Mapper.fromDb(val.M, propertyMetadata.typeInfo.type);
        }
        else {
            return mapper_1.Mapper.fromDb(val.M);
        }
    }
    toDb(modelValue, propertyMetadata) {
        let value;
        if (propertyMetadata && propertyMetadata.typeInfo && propertyMetadata.typeInfo.isCustom) {
            value = mapper_1.Mapper.toDb(modelValue, propertyMetadata.typeInfo.type);
        }
        else {
            value = mapper_1.Mapper.toDb(modelValue);
        }
        return { M: value };
    }
}
exports.ObjectMapper = ObjectMapper;
//# sourceMappingURL=object.mapper.js.map