import Money from “js-money”
const inflection = require(“inflection”)
export default class ApiMakerDeserializer {
static parse(object) { if (Array.isArray(object)) { return object.map(value => ApiMakerDeserializer.parse(value)) } else if (object && typeof object == "object") { if (object.api_maker_type == "money") { var cents = object.amount var currency = object.currency return Money.fromInteger(cents, currency) } else if (object.api_maker_type == "model") { var modelClassName = inflection.singularize(object.model_name) var modelClass = require(`api-maker/models/${modelClassName}`).default var model = new modelClass({data: object.serialized, isNewRecord: false}) return model } else { var newObject = {} for(var key in object) { var value = object[key] newObject[key] = ApiMakerDeserializer.parse(value) } return newObject } } else { return object } }
}