wapplr 1.0.43 → 1.0.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,243 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.createDefaultStyleManager = createDefaultStyleManager;
9
- exports["default"] = createStyleManager;
10
-
11
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
-
13
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
-
15
- var _utils = require("./utils");
16
-
17
- function createDefaultStyleManager() {
18
- var p = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19
- var wapp = p.wapp;
20
- var lastStyleElemId = null;
21
-
22
- function defaultInsertCss(css, moduleId) {
23
- var id = "s".concat(moduleId);
24
- var elem = document.getElementById(id);
25
- var create = false;
26
-
27
- if (!elem) {
28
- create = true;
29
- elem = document.createElement("style");
30
- elem.setAttribute("type", "text/css");
31
- elem.id = id;
32
- }
33
-
34
- var cssText = css;
35
-
36
- if ("textContent" in elem) {
37
- elem.textContent = cssText;
38
- } else {
39
- elem.styleSheet.cssText = cssText;
40
- }
41
-
42
- if (create) {
43
- if (lastStyleElemId && document.getElementById(lastStyleElemId)) {
44
- document.head.insertBefore(elem, document.getElementById(lastStyleElemId));
45
- } else {
46
- document.head.appendChild(elem);
47
- }
48
-
49
- lastStyleElemId = id;
50
- }
51
-
52
- return function remove() {
53
- var elem = document.getElementById(id);
54
-
55
- if (elem) {
56
- elem.parentNode.removeChild(elem);
57
- }
58
- };
59
- }
60
-
61
- function defaultAdd(style) {
62
- var cssText = style._getCss();
63
-
64
- style._insertCss = function _insertCss() {
65
- var insertCss = styleManager.insertCss;
66
- var moduleId = style._module && style._module.id ? style._module.id : "";
67
- return insertCss(cssText, moduleId);
68
- };
69
-
70
- if (style._module && style._module.hot && wapp.getTargetObject().hot) {
71
- wapp.getTargetObject().hot.accept(style._module.id);
72
- }
73
-
74
- var css = styleManager.css;
75
- var tempLength = css.size;
76
- var duplicates = false;
77
- css.add(style);
78
-
79
- if (tempLength === css.size) {
80
- duplicates = true;
81
- }
82
-
83
- if (!duplicates) {
84
- if (typeof window !== "undefined") {
85
- var removeCssFunction = style._insertCss();
86
-
87
- style._remove = function _remove() {
88
- removeCssFunction();
89
- css["delete"](style);
90
- styleManager.removeCss["delete"](style._remove);
91
- };
92
-
93
- styleManager.removeCss.add(style._remove);
94
- return style._remove;
95
- } else {
96
- style._remove = function _remove() {
97
- css["delete"](style);
98
- styleManager.removeCss["delete"](style._remove);
99
- };
100
-
101
- styleManager.removeCss.add(style._remove);
102
- return style._remove;
103
- }
104
- } else {
105
- style._remove = function () {
106
- /*fake remove*/
107
- };
108
-
109
- return style._remove;
110
- }
111
- }
112
-
113
- function defaultGetCssText() {
114
- var globals = wapp.globals || {};
115
- var _globals$WAPP = globals.WAPP,
116
- WAPP = _globals$WAPP === void 0 ? "buildHash" : _globals$WAPP,
117
- DEV = globals.DEV;
118
- var cssText = (0, _toConsumableArray2["default"])(styleManager.css).map(function (style) {
119
- return style._getCss();
120
- }).join("");
121
-
122
- if (!DEV) {
123
- cssText = cssText.replace(/(\r\n|\n|\r)/gm, " ").replace(/\s+/gm, " ");
124
- }
125
-
126
- return [{
127
- id: "css_" + WAPP,
128
- cssText: cssText
129
- }];
130
- }
131
-
132
- function defaultClear() {
133
- (0, _toConsumableArray2["default"])(styleManager.removeCss).forEach(function (remove) {
134
- remove();
135
- });
136
- styleManager.removeCss = new Set();
137
- styleManager.css = new Set();
138
- }
139
-
140
- function defaultUse(styles) {
141
- var add = styleManager.add;
142
- return add(styles);
143
- }
144
-
145
- var defaultCss = new Set();
146
- var defaultRemoveCss = new Set();
147
- var styleManager = Object.create(Object.prototype, {
148
- wapp: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
149
- writable: false,
150
- enumerable: false,
151
- value: wapp
152
- }),
153
- insertCss: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
154
- value: defaultInsertCss
155
- }),
156
- css: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
157
- value: defaultCss
158
- }),
159
- removeCss: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
160
- value: defaultRemoveCss
161
- }),
162
- add: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
163
- value: defaultAdd
164
- }),
165
- clear: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
166
- value: defaultClear
167
- }),
168
- use: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
169
- value: defaultUse
170
- }),
171
- getCssText: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
172
- value: defaultGetCssText
173
- })
174
- });
175
- return styleManager;
176
- }
177
-
178
- function createStyleManager() {
179
- var p = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
180
- var wapp = p.wapp,
181
- _p$styleManager = p.styleManager,
182
- styleManager = _p$styleManager === void 0 ? createDefaultStyleManager(p) : _p$styleManager;
183
-
184
- function defaultHandle(req, res, next) {
185
- var targetObject = wapp.getTargetObject ? wapp.getTargetObject() : wapp;
186
-
187
- if (!targetObject.config || targetObject.config && !targetObject.config.styles || targetObject.config && targetObject.config.styles && !targetObject.config.styles.disableClearStyles) {
188
- stylesMiddleware.styleManager.clear();
189
- }
190
-
191
- next();
192
- }
193
-
194
- function defaultAdd(p) {
195
- return stylesMiddleware.styleManager.add(p);
196
- }
197
-
198
- function defaultUse(p) {
199
- return stylesMiddleware.styleManager.use(p);
200
- }
201
-
202
- function defaultGetCssText() {
203
- return stylesMiddleware.styleManager.getCssText(p);
204
- }
205
-
206
- var stylesMiddlewareProperties = Object.create(Object.prototype, {
207
- handle: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
208
- value: defaultHandle
209
- }),
210
- styleManager: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
211
- value: styleManager
212
- }),
213
- add: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
214
- value: defaultAdd
215
- }),
216
- use: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
217
- value: defaultUse
218
- }),
219
- getCssText: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
220
- value: defaultGetCssText
221
- })
222
- });
223
-
224
- function stylesMiddleware(req, res, next) {
225
- if (typeof stylesMiddleware.handle === "function") {
226
- stylesMiddleware.handle(req, res, next);
227
- }
228
-
229
- return stylesMiddleware;
230
- }
231
-
232
- (0, _utils.mergeProperties)(stylesMiddleware, stylesMiddlewareProperties);
233
- Object.defineProperty(stylesMiddleware, "wapp", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
234
- writable: false,
235
- enumerable: false,
236
- value: wapp
237
- }));
238
- Object.defineProperty(wapp, "styles", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _utils.defaultDescriptor), {}, {
239
- writable: false,
240
- value: stylesMiddleware
241
- }));
242
- return stylesMiddleware;
243
- }
@@ -1,29 +0,0 @@
1
- body {
2
- margin: 0;
3
- padding: 0;
4
- max-width: 100vw;
5
- overflow-x: hidden;
6
- }
7
-
8
- * {
9
- -webkit-box-sizing: border-box;
10
- box-sizing: border-box;
11
- }
12
-
13
- .app {
14
- font-size: 14px;
15
- color: rgba(0,0,0,0.87);
16
- display: block;
17
- position: relative;
18
- overflow-x: hidden;
19
- }
20
-
21
- div.app > * {
22
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
23
- }
24
-
25
- @media (orientation: portrait) {
26
- .app {
27
- max-width: 100vh;
28
- }
29
- }
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const tokens = {"app":"app_1jDDh"};
6
- tokens._getCss = function () {return `/* imported from app.css */ body { margin: 0; padding: 0; max-width: 100vw; overflow-x: hidden; } * { -webkit-box-sizing: border-box; box-sizing: border-box; } .app_1jDDh { font-size: 14px; color: rgba(0,0,0,0.87); display: block; position: relative; overflow-x: hidden; } div.app_1jDDh > * { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } @media (orientation: portrait) { .app_1jDDh { max-width: 100vh; } } `;};
7
- tokens._module = (typeof module !== "undefined") ? module : {id:"./common/template/app_css.js"};
8
- exports["default"] = tokens;
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = template;
9
-
10
- var _logo = _interopRequireDefault(require("../logo"));
11
-
12
- var appStyle = require("./app_css.js")["default"];
13
-
14
- var style = require("./template_css.js")["default"];
15
-
16
- function template() {
17
- var p = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
- var wapp = p.wapp,
19
- children = p.children,
20
- _p$footerMenu = p.footerMenu,
21
- footerMenu = _p$footerMenu === void 0 ? [{
22
- name: "HOME",
23
- href: "/"
24
- }, {
25
- name: "404",
26
- href: "/404"
27
- }, {
28
- name: "500",
29
- href: "/500"
30
- }, {
31
- name: "EXTERNAL",
32
- href: "https://google.com",
33
- target: "_blank"
34
- }] : _p$footerMenu,
35
- _p$logo = p.logo,
36
- logo = _p$logo === void 0 ? _logo["default"] : _p$logo;
37
- var styles = wapp.styles;
38
- var _wapp$config$siteName = wapp.config.siteName,
39
- siteName = _wapp$config$siteName === void 0 ? "Wapplr" : _wapp$config$siteName;
40
- var copyright = "".concat(siteName, " ").concat(new Date().getFullYear(), " \xA9");
41
- var serverRender = typeof window === "undefined";
42
- styles.use(appStyle);
43
- styles.use(style);
44
- return "\n <div class=\"".concat(style.page, "\">\n <header class=\"").concat(style.header, "\">\n <div class=\"").concat(style.innerHeader, "\">\n <div class=\"").concat(style.logo, "\">\n ").concat(logo({
45
- wapp: wapp
46
- }), "\n </div>\n </div>\n </header>\n <main class=\"").concat(style.content, "\">").concat(children, "</main>\n <footer class=\"").concat(style.footer, "\">\n <div>\n <div class=\"").concat(style.menu, "\">\n ").concat(footerMenu.map(function (menu) {
47
- var target = menu.target || "self";
48
- var noreferrer = target === "_blank" ? ' rel="noreferrer"' : "";
49
- return '<div><a class="' + style.button + '" target="' + target + '" href="' + menu.href + '" wapplronclicklistener=""' + noreferrer + '>' + menu.name + '</a></div>';
50
- }).join(""), "\n </div>\n <div class=\"").concat(style.copyright, "\">\n ").concat(copyright, "\n </div>\n </div>\n </footer>\n <script>\nif (").concat(!serverRender, "){\n window.addEventListener(\"scroll\", function (e) {\n const header = document.querySelector(\".").concat(style.header, "\");\n if (header){\n header.classList.toggle(\"").concat(style.sticky, "\", window.scrollY > 0 )\n }\n })\n}\n </script>\n </div>");
51
- }
@@ -1,137 +0,0 @@
1
- .page {
2
- display: block;
3
- position: relative;
4
- overflow-x: hidden;
5
- overflow-y: hidden;
6
- min-height: 100vh;
7
- max-width: 100vw;
8
- }
9
-
10
- .header {
11
- display: block;
12
- position: fixed;
13
- width: 100%;
14
- height: 64px;
15
- padding: 6px;
16
- background: white;
17
- z-index: 1;
18
- -webkit-transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
19
- -o-transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
20
- transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
21
- }
22
-
23
- .header.sticky {
24
- -webkit-box-shadow: 0 2px 3px rgba(62, 62, 62, 0.15);
25
- box-shadow: 0 2px 3px rgba(62, 62, 62, 0.15);
26
- }
27
-
28
- .innerHeader {
29
- display: block;
30
- width: 100%;
31
- height: 100%;
32
- position: relative;
33
- overflow: hidden;
34
- }
35
-
36
- .header .logo {
37
- height: 52px;
38
- -webkit-transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
39
- -o-transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
40
- transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
41
- margin-top: 100%;
42
- }
43
-
44
- .header.sticky .logo {
45
- margin-top: 0;
46
- }
47
-
48
- .content {
49
- min-height: 100vh;
50
- position: relative;
51
- padding-top: 64px;
52
- }
53
-
54
- .footer {
55
- display: -ms-flexbox;
56
- display: flex;
57
- min-height: 128px;
58
- -ms-flex-align: center;
59
- align-items: center;
60
- -ms-flex-pack: center;
61
- justify-content: center;
62
- }
63
-
64
- .menu {
65
-
66
- }
67
-
68
- .menu > div {
69
-
70
- }
71
-
72
- .footer .menu {
73
- -ms-flex-pack: center;
74
- justify-content: center;
75
- display: -ms-flexbox;
76
- display: flex;
77
- }
78
-
79
- .footer .menu > div {
80
- display: inline-block;
81
- }
82
-
83
- .button {
84
-
85
- color: rgba(0, 0, 0, 0.87);
86
- padding: 6px 16px;
87
- font-size: 14px;
88
- font-size: 0.875rem;
89
- min-width: 64px;
90
- -webkit-box-sizing: border-box;
91
- box-sizing: border-box;
92
- -webkit-transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,-webkit-box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
93
- transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,-webkit-box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
94
- -o-transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
95
- transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
96
- transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,-webkit-box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
97
- line-height: 1.75;
98
- border-radius: 4px;
99
- letter-spacing: 0.02857em;
100
- text-transform: uppercase;
101
- font-weight: bold;
102
-
103
- border: 0;
104
- cursor: pointer;
105
- margin: 0;
106
- display: -ms-inline-flexbox;
107
- display: inline-flex;
108
- outline: 0;
109
- position: relative;
110
- -ms-flex-align: center;
111
- align-items: center;
112
- -webkit-user-select: none;
113
- -moz-user-select: none;
114
- -ms-user-select: none;
115
- user-select: none;
116
- vertical-align: middle;
117
- -ms-flex-pack: center;
118
- justify-content: center;
119
- text-decoration: none;
120
- background-color: transparent;
121
- text-align: center;
122
-
123
- }
124
-
125
- a.button {
126
- text-decoration: none;
127
- }
128
-
129
- .copyright {
130
- font-size: 12px;
131
- margin: 24px;
132
- text-align: center;
133
- -webkit-user-select: none;
134
- -moz-user-select: none;
135
- -ms-user-select: none;
136
- user-select: none;
137
- }
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const tokens = {"page":"template_2Xa8-","header":"template_3YAtu","sticky":"template_3VZZR","innerHeader":"template_368k6","logo":"template_K8VJE","content":"template_2Fgqj","footer":"template_21lie","menu":"template_1BoA5","button":"template_3ZxC8","copyright":"template_3bU4k"};
6
- tokens._getCss = function () {return `/* imported from template.css */ .template_2Xa8- { display: block; position: relative; overflow-x: hidden; overflow-y: hidden; min-height: 100vh; max-width: 100vw; } .template_3YAtu { display: block; position: fixed; width: 100%; height: 64px; padding: 6px; background: white; z-index: 1; -webkit-transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; -o-transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; } .template_3YAtu.template_3VZZR { -webkit-box-shadow: 0 2px 3px rgba(62, 62, 62, 0.15); box-shadow: 0 2px 3px rgba(62, 62, 62, 0.15); } .template_368k6 { display: block; width: 100%; height: 100%; position: relative; overflow: hidden; } .template_3YAtu .template_K8VJE { height: 52px; -webkit-transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; -o-transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; transition: all 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms; margin-top: 100%; } .template_3YAtu.template_3VZZR .template_K8VJE { margin-top: 0; } .template_2Fgqj { min-height: 100vh; position: relative; padding-top: 64px; } .template_21lie { display: -ms-flexbox; display: flex; min-height: 128px; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; } .template_1BoA5 { } .template_1BoA5 > div { } .template_21lie .template_1BoA5 { -ms-flex-pack: center; justify-content: center; display: -ms-flexbox; display: flex; } .template_21lie .template_1BoA5 > div { display: inline-block; } .template_3ZxC8 { color: rgba(0, 0, 0, 0.87); padding: 6px 16px; font-size: 14px; font-size: 0.875rem; min-width: 64px; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,-webkit-box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,-webkit-box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; -o-transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,-webkit-box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; line-height: 1.75; border-radius: 4px; letter-spacing: 0.02857em; text-transform: uppercase; font-weight: bold; border: 0; cursor: pointer; margin: 0; display: -ms-inline-flexbox; display: inline-flex; outline: 0; position: relative; -ms-flex-align: center; align-items: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; vertical-align: middle; -ms-flex-pack: center; justify-content: center; text-decoration: none; background-color: transparent; text-align: center; } a.template_3ZxC8 { text-decoration: none; } .template_3bU4k { font-size: 12px; margin: 24px; text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } `;};
7
- tokens._module = (typeof module !== "undefined") ? module : {id:"./common/template/template_css.js"};
8
- exports["default"] = tokens;
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.mergeProperties = mergeProperties;
7
- exports.copyObject = copyObject;
8
- exports.defaultDescriptor = void 0;
9
-
10
- function mergeProperties(dest, src) {
11
- Object.getOwnPropertyNames(src).forEach(function forEachOwnPropertyName(name) {
12
- if (Object.hasOwnProperty.call(dest, name)) {
13
- return;
14
- }
15
-
16
- var descriptor = Object.getOwnPropertyDescriptor(src, name);
17
- Object.defineProperty(dest, name, descriptor);
18
- });
19
- return dest;
20
- }
21
-
22
- var defaultDescriptor = {
23
- writable: true,
24
- enumerable: true,
25
- configurable: false
26
- };
27
- exports.defaultDescriptor = defaultDescriptor;
28
-
29
- function copyObject(obj) {
30
- function cloneObj() {
31
- var clone = {};
32
-
33
- for (var key in obj) {
34
- if (obj.hasOwnProperty(key)) {
35
- clone[key] = copyObject(obj[key]);
36
- }
37
- }
38
-
39
- return clone;
40
- }
41
-
42
- function cloneArr() {
43
- return obj.map(function (item) {
44
- return copyObject(item);
45
- });
46
- }
47
-
48
- var transformedObject = obj && obj.toJSON ? obj.toJSON() : obj;
49
- var type = Object.prototype.toString.call(transformedObject).slice(8, -1).toLowerCase();
50
-
51
- if (type === "object") {
52
- return cloneObj();
53
- }
54
-
55
- if (type === "array") {
56
- return cloneArr();
57
- }
58
-
59
- return obj !== null && obj !== void 0 && obj.toJSON ? obj.toJSON() : obj;
60
- }