UNPKG

4.77 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports["default"] = exports.Model = void 0;
9
10var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
12var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
14var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
16var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
18var _bluebird = _interopRequireDefault(require("bluebird"));
19
20var _forEach = _interopRequireDefault(require("lodash/forEach"));
21
22var _get = _interopRequireDefault(require("lodash/get"));
23
24var _set = _interopRequireDefault(require("lodash/set"));
25
26var _mongoose = require("mongoose");
27
28var Model = /*#__PURE__*/function () {
29 function Model() {
30 (0, _classCallCheck2["default"])(this, Model);
31 this.__model = true;
32 }
33
34 (0, _createClass2["default"])(Model, [{
35 key: "setState",
36 value: function setState() {
37 var _this = this;
38
39 var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
40 (0, _forEach["default"])(state, function (value, key) {
41 (0, _set["default"])(_this, key, value); // @ts-ignore
42
43 _this.markModified(key);
44 });
45 }
46 }, {
47 key: "getState",
48 value: function getState(key, def) {
49 if (!key) return this;
50 return (0, _get["default"])(this, key, def);
51 } // eslint-disable-next-line @typescript-eslint/no-unused-vars
52
53 }], [{
54 key: "prepareOne",
55 value: function () {
56 var _prepareOne = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(obj, params) {
57 return _regenerator["default"].wrap(function _callee$(_context) {
58 while (1) {
59 switch (_context.prev = _context.next) {
60 case 0:
61 return _context.abrupt("return", obj);
62
63 case 1:
64 case "end":
65 return _context.stop();
66 }
67 }
68 }, _callee);
69 }));
70
71 function prepareOne(_x, _x2) {
72 return _prepareOne.apply(this, arguments);
73 }
74
75 return prepareOne;
76 }()
77 }, {
78 key: "prepare",
79 value: function () {
80 var _prepare = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(obj) {
81 var _this2 = this;
82
83 var params,
84 toObjectOne,
85 res,
86 _args2 = arguments;
87 return _regenerator["default"].wrap(function _callee2$(_context2) {
88 while (1) {
89 switch (_context2.prev = _context2.next) {
90 case 0:
91 params = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
92
93 // // console.log('PREPARE params.toObject', params.toObject);
94 // // console.log('params.toObject2@@@', params.toObject2);
95 toObjectOne = function toObjectOne(o) {
96 if (!params.toObject2 || !Object.keys(params.toObject2).length) return o;
97 if (o && o.toObject) return o.toObject(params.toObject2);
98 return o;
99 };
100
101 if (!Array.isArray(obj)) {
102 _context2.next = 8;
103 break;
104 }
105
106 _context2.next = 5;
107 return _bluebird["default"].map(obj, function (o) {
108 return _this2.prepareOne(o, params);
109 });
110
111 case 5:
112 res = _context2.sent;
113 _context2.next = 11;
114 break;
115
116 case 8:
117 _context2.next = 10;
118 return this.prepareOne(obj, params);
119
120 case 10:
121 res = _context2.sent;
122
123 case 11:
124 if (!Array.isArray(res)) {
125 _context2.next = 13;
126 break;
127 }
128
129 return _context2.abrupt("return", res.map(toObjectOne));
130
131 case 13:
132 return _context2.abrupt("return", toObjectOne(res));
133
134 case 14:
135 case "end":
136 return _context2.stop();
137 }
138 }
139 }, _callee2, this);
140 }));
141
142 function prepare(_x3) {
143 return _prepare.apply(this, arguments);
144 }
145
146 return prepare;
147 }()
148 }]);
149 return Model;
150}();
151
152exports.Model = Model;
153Model.Schema = _mongoose.Schema;
154Model.Types = _mongoose.Schema.Types;
155Model.defaultOptions = {
156 timestamps: true
157};
158Model.options = {};
159var _default = Model;
160exports["default"] = _default;
161//# sourceMappingURL=Model.js.map
\No newline at end of file