1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports["default"] = exports.Model = void 0;
|
9 |
|
10 | var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
11 |
|
12 | var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
13 |
|
14 | var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
15 |
|
16 | var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
17 |
|
18 | var _bluebird = _interopRequireDefault(require("bluebird"));
|
19 |
|
20 | var _forEach = _interopRequireDefault(require("lodash/forEach"));
|
21 |
|
22 | var _get = _interopRequireDefault(require("lodash/get"));
|
23 |
|
24 | var _set = _interopRequireDefault(require("lodash/set"));
|
25 |
|
26 | var _mongoose = require("mongoose");
|
27 |
|
28 | var Model = 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);
|
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 | }
|
52 |
|
53 | }], [{
|
54 | key: "prepareOne",
|
55 | value: function () {
|
56 | var _prepareOne = (0, _asyncToGenerator2["default"])( _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"])( _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 |
|
94 |
|
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 |
|
152 | exports.Model = Model;
|
153 | Model.Schema = _mongoose.Schema;
|
154 | Model.Types = _mongoose.Schema.Types;
|
155 | Model.defaultOptions = {
|
156 | timestamps: true
|
157 | };
|
158 | Model.options = {};
|
159 | var _default = Model;
|
160 | exports["default"] = _default;
|
161 |
|
\ | No newline at end of file |