UNPKG

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