UNPKG

chargebee-typescript

Version:

A library in typescript for integrating with Chargebee.

89 lines (88 loc) 3.65 kB
"use strict"; var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } privateMap.set(receiver, value); return value; }; var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); }; var __values, __sub_types, __dependant_types; Object.defineProperty(exports, "__esModule", { value: true }); exports.Model = void 0; const resources = require("../resources"); const util_1 = require("../util"); class Model { constructor(_values, _sub_types = {}, _dependant_types = {}) { __values.set(this, void 0); __sub_types.set(this, void 0); __dependant_types.set(this, void 0); __classPrivateFieldSet(this, __values, _values); __classPrivateFieldSet(this, __sub_types, _sub_types); __classPrivateFieldSet(this, __dependant_types, _dependant_types); this.load(this.values); } get values() { return __classPrivateFieldGet(this, __values); } get sub_types() { return __classPrivateFieldGet(this, __sub_types); } get dependant_types() { return __classPrivateFieldGet(this, __dependant_types); } load(values) { for (const k in values) { let v = values[k]; let set_val = v; if (util_1.Util.isObject(v) && this.dependant_types[k]) { continue; } else if (util_1.Util.isObject(v)) { set_val = this.sub_types[k] ? new (resources)[this.sub_types[k]](v) : v; } else if (util_1.Util.isArray(v)) { if (!util_1.Util.isEmptyObject(this.sub_types[k])) { let set_vals = []; for (let item of v) { set_vals.push(new (resources)[this.sub_types[k]](item)); } set_val = set_vals; } else { set_val = v; } } this[k] = set_val; } } init_dependant(obj, type, sub_types = {}) { if (!util_1.Util.isEmptyObject(obj) && util_1.Util.isObject(obj) && !util_1.Util.isEmptyObject(this.dependant_types[type])) { this[type] = new (resources)[this.dependant_types[type]](obj[type], sub_types); } } init_dependant_extended(obj, type, sub_types = {}) { if (!util_1.Util.isEmptyObject(obj) && !util_1.Util.isEmptyObject(obj[type]) && util_1.Util.isObject(obj) && !util_1.Util.isEmptyObject(this.dependant_types[type])) { this[type] = new (resources)[this.dependant_types[type]](obj[type], sub_types); } } init_dependant_list(obj, type, sub_types = {}) { if (!util_1.Util.isEmptyObject(obj) && !util_1.Util.isEmptyObject(obj[type]) && util_1.Util.isArray(obj[type]) && !util_1.Util.isEmptyObject(this.dependant_types[type])) { let dependant_objs = []; for (let dt of obj[type]) { dependant_objs.push(new (resources)[this.dependant_types[type]](dt, sub_types)); } this[type] = dependant_objs; } } toString(...args) { return JSON.stringify(this.values, null, 2); } } exports.Model = Model; __values = new WeakMap(), __sub_types = new WeakMap(), __dependant_types = new WeakMap();