UNPKG

ngx-resource-gearheart

Version:

Angular2 resource module with simple decorators. Customized by Gearheart.

63 lines (62 loc) 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ResourceModel = (function () { function ResourceModel() { this.$cachedRelated = {}; this.$primaryKey = 'id'; var resource = Reflect.getMetadata('resource', this.constructor); this.$resource = !!resource && resource.constructor.instance; } ResourceModel.create = function (data, commit) { if (data === void 0) { data = {}; } if (commit === void 0) { commit = true; } console.error('Model static create is not available anymore. Please use new YourModel() instead'); }; ResourceModel.prototype.$setData = function (data) { Object.assign(this, data); return this; }; ResourceModel.prototype.$save = function () { if (this.isNew()) { return this.$create(); } else { return this.$update(); } }; ResourceModel.prototype.$create = function () { return this.$resource_method('save'); }; ResourceModel.prototype.$update = function () { return this.$resource_method('update'); }; ResourceModel.prototype.$remove = function () { return this.$resource_method('remove'); }; ResourceModel.prototype.toJSON = function () { var retObj = {}; for (var propName in this) { if (!(this[propName] instanceof Function) && !(propName.charAt(0) === '$')) { retObj[propName] = this[propName]; } } return retObj; }; ResourceModel.prototype.isNew = function () { return !this[this.$primaryKey]; }; ResourceModel.prototype.$resource_method = function (methodName) { if (!this.$resource) { console.error("Your Resource is not set. Please use resource.createModel() method to create model."); return this; } if (!this.$resource[methodName]) { console.error("Your Resource has no implemented " + methodName + " method."); return this; } this.$resource[methodName](this); return this; }; return ResourceModel; }()); exports.ResourceModel = ResourceModel;