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 | (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 |
|
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 |
|
41 | }], [{
|
42 | key: "prepareOne",
|
43 | value: function () {
|
44 | var _prepareOne = (0, _asyncToGenerator2["default"])( _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"])( _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 |
|
74 |
|
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 | }();
|
119 | exports.Model = Model;
|
120 | Model.Schema = _mongoose.Schema;
|
121 | Model.Types = _mongoose.Schema.Types;
|
122 | Model.defaultOptions = {
|
123 | timestamps: true
|
124 | };
|
125 | Model.options = {};
|
126 | var _default = Model;
|
127 | exports["default"] = _default;
|
128 |
|
\ | No newline at end of file |