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