@qubit-ltd/common-decorator 3.8.9

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.
Files changed (55) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1156 -0
  3. package/README.zh_CN.md +929 -0
  4. package/dist/common-decorator.cjs +6818 -0
  5. package/dist/common-decorator.cjs.map +1 -0
  6. package/dist/common-decorator.min.cjs +1 -0
  7. package/dist/common-decorator.min.cjs.map +1 -0
  8. package/dist/common-decorator.min.mjs +1 -0
  9. package/dist/common-decorator.min.mjs.map +1 -0
  10. package/dist/common-decorator.mjs +6792 -0
  11. package/dist/common-decorator.mjs.map +1 -0
  12. package/doc/api/DefaultAssignmentOptions.html +678 -0
  13. package/doc/api/DefaultOptions.html +954 -0
  14. package/doc/api/DefaultToJsonOptions.html +633 -0
  15. package/doc/api/Enum.html +1848 -0
  16. package/doc/api/Model.html +3607 -0
  17. package/doc/api/Page.html +1105 -0
  18. package/doc/api/fonts/OpenSans-Bold-webfont.eot +0 -0
  19. package/doc/api/fonts/OpenSans-Bold-webfont.svg +1838 -0
  20. package/doc/api/fonts/OpenSans-Bold-webfont.woff +0 -0
  21. package/doc/api/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  22. package/doc/api/fonts/OpenSans-BoldItalic-webfont.svg +1838 -0
  23. package/doc/api/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  24. package/doc/api/fonts/OpenSans-Italic-webfont.eot +0 -0
  25. package/doc/api/fonts/OpenSans-Italic-webfont.svg +1838 -0
  26. package/doc/api/fonts/OpenSans-Italic-webfont.woff +0 -0
  27. package/doc/api/fonts/OpenSans-Light-webfont.eot +0 -0
  28. package/doc/api/fonts/OpenSans-Light-webfont.svg +1839 -0
  29. package/doc/api/fonts/OpenSans-Light-webfont.woff +0 -0
  30. package/doc/api/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  31. package/doc/api/fonts/OpenSans-LightItalic-webfont.svg +1843 -0
  32. package/doc/api/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  33. package/doc/api/fonts/OpenSans-Regular-webfont.eot +0 -0
  34. package/doc/api/fonts/OpenSans-Regular-webfont.svg +1839 -0
  35. package/doc/api/fonts/OpenSans-Regular-webfont.woff +0 -0
  36. package/doc/api/fonts/OpenSans-Semibold-webfont.eot +0 -0
  37. package/doc/api/fonts/OpenSans-Semibold-webfont.svg +1838 -0
  38. package/doc/api/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  39. package/doc/api/fonts/OpenSans-Semibold-webfont.woff +0 -0
  40. package/doc/api/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  41. package/doc/api/fonts/OpenSans-SemiboldItalic-webfont.svg +1838 -0
  42. package/doc/api/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  43. package/doc/api/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  44. package/doc/api/global.html +6049 -0
  45. package/doc/api/index.html +1325 -0
  46. package/doc/api/scripts/linenumber.js +34 -0
  47. package/doc/api/scripts/prettify/Apache-License-2.0.txt +202 -0
  48. package/doc/api/scripts/prettify/lang-css.js +2 -0
  49. package/doc/api/scripts/prettify/prettify.js +28 -0
  50. package/doc/api/styles/jsdoc-default.css +699 -0
  51. package/doc/api/styles/prettify-jsdoc.css +120 -0
  52. package/doc/api/styles/prettify-tomorrow.css +141 -0
  53. package/doc/common-decorator.min.visualization.html +4949 -0
  54. package/doc/common-decorator.visualization.html +4949 -0
  55. package/package.json +107 -0
@@ -0,0 +1,954 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <title>DefaultOptions - Documentation</title>
7
+
8
+ <script src="scripts/prettify/prettify.js"></script>
9
+ <script src="scripts/prettify/lang-css.js"></script>
10
+ <!--[if lt IE 9]>
11
+ <script src="https://cdn.bootcdn.net/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
12
+ <![endif]-->
13
+ <link type="text/css" rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/ionicons/2.0.1/css/ionicons.min.css">
14
+ <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
15
+ <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
16
+ </head>
17
+ <body>
18
+
19
+ <input type="checkbox" id="nav-trigger" class="nav-trigger" />
20
+ <label for="nav-trigger" class="navicon-button x">
21
+ <div class="navicon"></div>
22
+ </label>
23
+
24
+ <label for="nav-trigger" class="overlay"></label>
25
+
26
+ <nav>
27
+ <li class="nav-link nav-home-link"><a href="index.html">Home</a></li><li class="nav-heading">Classes</li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="DefaultAssignmentOptions.html">DefaultAssignmentOptions</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="DefaultOptions.html">DefaultOptions</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="DefaultOptions.html#.get">get</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="DefaultOptions.html#.merge">merge</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="DefaultOptions.html#.reset">reset</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="DefaultOptions.html#.set">set</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="DefaultToJsonOptions.html">DefaultToJsonOptions</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Page.html">Page</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Page.html#assign">assign</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Page.html#.getFrom">getFrom</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Page.html#.newEmpty">newEmpty</a></span></li><li class="nav-heading">Namespaces</li><li class="nav-heading"><span class="nav-item-type type-namespace">N</span><span class="nav-item-name"><a href="Enum.html">Enum</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Enum.html#.Class.has">Class.has</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Enum.html#.Class.hasCode">Class.hasCode</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Enum.html#.Class.hasName">Class.hasName</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Enum.html#.Class.hasValue">Class.hasValue</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Enum.html#.Class.of">Class.of</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Enum.html#.Class.ofCode">Class.ofCode</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Enum.html#.Class.ofName">Class.ofName</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Enum.html#.Class.ofValue">Class.ofValue</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Enum.html#.Class.values">Class.values</a></span></li><li class="nav-heading"><span class="nav-item-type type-namespace">N</span><span class="nav-item-name"><a href="Model.html">Model</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#assign">assign</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#clear">clear</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#clone">clone</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#equals">equals</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#generateId">generateId</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#isEmpty">isEmpty</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#normalize">normalize</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#normalizeField">normalizeField</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#toJSON">toJSON</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#toJsonString">toJsonString</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#validate">validate</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#validateField">validateField</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#.Class.create">Class.create</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#.Class.createArray">Class.createArray</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#.Class.createPage">Class.createPage</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#.Class.isNullishOrEmpty">Class.isNullishOrEmpty</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Model.html#.Class.parseJsonString">Class.parseJsonString</a></span></li><li class="nav-heading"><a href="global.html">Globals</a></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#ElementType">ElementType</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#Enumerable">Enumerable</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#Label">Label</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#NameField">NameField</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#NonEmpty">NonEmpty</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#NonEnumerable">NonEnumerable</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#Normalizable">Normalizable</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#Nullable">Nullable</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#Payload">Payload</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#Readonly">Readonly</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#Timeout">Timeout</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#Type">Type</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#Validatable">Validatable</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#assign">assign</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#create">create</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#createArray">createArray</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#createPage">createPage</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#defaultNormalizer">defaultNormalizer</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#defaultValidator">defaultValidator</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#enumNormalizer">enumNormalizer</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#isEnumClass">isEnumClass</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#isEnumerator">isEnumerator</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#isValidPageSource">isValidPageSource</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#normalize">normalize</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#stringifyId">stringifyId</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#toJSON">toJSON</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#toJsonString">toJsonString</a></span></li>
28
+ </nav>
29
+
30
+ <div id="main">
31
+
32
+ <h1 class="page-title">DefaultOptions</h1>
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+ <section>
41
+
42
+ <header>
43
+
44
+ <h2>
45
+ DefaultOptions
46
+ </h2>
47
+
48
+ <div class="class-description"><p>The class is used to get or set the default options of different aspects of
49
+ this library.</p>
50
+ <p>This class accesses an internal <code>Map</code> object. The key of the map is the name
51
+ of aspects, and the value of the map is an object representing the default
52
+ options of the aspect.</p>
53
+ <p>For example, the default options of the <code>assign()</code> method of the class
54
+ decorated by <code>@Model</code> is stored in the key <code>assign</code>. That is,
55
+ <code>DefaultOption.get('assign')</code> returns the object representing the default
56
+ options of the <code>assign()</code> method.</p>
57
+ <p>The program can change the default options with <code>DefaultOptions.set('key', options)</code>
58
+ method.</p>
59
+ <p>Currently, the following aspects are supported:</p>
60
+ <ul>
61
+ <li><code>assign</code>: the default options of the <code>Class.prototype.assign()</code>,
62
+ <code>Class.create()</code>, <code>Class.createArray()</code>, <code>Class.createPage()</code>,
63
+ <code>Class.parseJsonString()</code> methods of the class decorated by <code>@Model</code>.</li>
64
+ <li><code>toJSON</code>: the default options of the <code>Class.prototype.toJSON()</code>,
65
+ <code>Class.prototype.toJsonString()</code> methods of the class decorated by <code>@Model</code>.</li>
66
+ </ul></div>
67
+
68
+
69
+ </header>
70
+
71
+ <article>
72
+ <div class="container-overview">
73
+
74
+
75
+ <div class="section-method">
76
+
77
+
78
+ <h2>Constructor</h2>
79
+
80
+
81
+
82
+ <h4 class="name" id="DefaultOptions"><span class="type-signature"></span>new DefaultOptions<span class="signature">()</span><span class="type-signature"></span></h4>
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+ <dl class="details">
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+ <dt class="tag-author">Author:</dt>
113
+ <dd class="tag-author">
114
+ <ul>
115
+ <li>Haixing Hu</li>
116
+ </ul>
117
+ </dd>
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+ </dl>
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+ </div>
162
+
163
+ </div>
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+ <h3 class="subsection-title">Methods</h3>
179
+
180
+
181
+
182
+ <div class="section-method">
183
+
184
+
185
+
186
+
187
+ <h4 class="name" id=".get"><span class="type-signature">(static) </span>get<span class="signature">(aspect)</span><span class="type-signature"> &rarr; {object}</span></h4>
188
+
189
+
190
+
191
+
192
+
193
+
194
+ <div class="description">
195
+ <p>Gets the default options of the specified aspect.</p>
196
+ <h5>Usage example:</h5>
197
+ <pre class="prettyprint source lang-js"><code>const opt1 = DefaultOptions.get('assign');
198
+ expect(opt1.convertNaming).toBe(false);
199
+ opt1.convertNaming = true;
200
+ const opt2 = DefaultOptions.get('assign');
201
+ expect(opt2.convertNaming).toBe(false);
202
+ </code></pre>
203
+ </div>
204
+
205
+
206
+
207
+
208
+
209
+ <dl class="details">
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+ <dt class="tag-author">Author:</dt>
229
+ <dd class="tag-author">
230
+ <ul>
231
+ <li>Haixing Hu</li>
232
+ </ul>
233
+ </dd>
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+ <dt class="tag-see">See:</dt>
248
+ <dd class="tag-see">
249
+ <ul>
250
+ <li><a href="DefaultOptions.html#.merge">DefaultOptions.merge</a></li>
251
+
252
+ <li><a href="DefaultOptions.html#.set">DefaultOptions.set</a></li>
253
+ </ul>
254
+ </dd>
255
+
256
+
257
+
258
+ </dl>
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+ <h5>Parameters:</h5>
269
+
270
+
271
+ <table class="params">
272
+ <thead>
273
+ <tr>
274
+
275
+ <th>Name</th>
276
+
277
+
278
+ <th>Type</th>
279
+
280
+
281
+
282
+
283
+
284
+ <th class="last">Description</th>
285
+ </tr>
286
+ </thead>
287
+
288
+ <tbody>
289
+
290
+
291
+ <tr>
292
+
293
+ <td class="name"><code>aspect</code></td>
294
+
295
+
296
+ <td class="type">
297
+
298
+
299
+ <span class="param-type"><code>string</code></span>
300
+
301
+
302
+
303
+ </td>
304
+
305
+
306
+
307
+
308
+
309
+ <td class="description last">
310
+ <p>the name of the aspect.</p>
311
+
312
+ </td>
313
+ </tr>
314
+
315
+
316
+ </tbody>
317
+ </table>
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+ <div class="section-returns">
335
+ <h5>Returns:</h5>
336
+
337
+
338
+
339
+ <dl class="param-type">
340
+ <dt>
341
+ Type:
342
+ </dt>
343
+ <dd>
344
+
345
+ <span class="param-type"><code>object</code></span>
346
+
347
+
348
+ </dd>
349
+ </dl>
350
+
351
+
352
+ <div class="param-desc">
353
+ <p>the object representing the default options of the aspect, or <code>undefined</code>
354
+ if the aspect does not exist. Note that the returned object is a deep
355
+ cloned copy of the object stored in the internal map, so that the
356
+ modification of the returned object will <strong>not</strong> affect the default
357
+ options stored in the internal map.</p>
358
+ </div>
359
+
360
+
361
+ </div>
362
+
363
+
364
+
365
+
366
+
367
+ </div>
368
+
369
+
370
+ <div class="section-method">
371
+
372
+
373
+
374
+
375
+ <h4 class="name" id=".merge"><span class="type-signature">(static) </span>merge<span class="signature">(aspect, options)</span><span class="type-signature"> &rarr; {object}</span></h4>
376
+
377
+
378
+
379
+
380
+
381
+
382
+ <div class="description">
383
+ <p>Gets the default options of the specified aspect, merging the provided
384
+ default options into the returned object.</p>
385
+ <p><strong>NOTE:</strong> This function does <strong>NOT</strong> change the default options stored in the
386
+ internal map, instead, it returns a new object representing the merged options.</p>
387
+ <h5>Usage example:</h5>
388
+ <pre class="prettyprint source lang-js"><code>const opt1 = DefaultOptions.get('assign');
389
+ expect(opt1.convertNaming).toBe(false);
390
+ const opt2 = DefaultOptions.merge('assign', { convertNaming: true });
391
+ expect(opt2.convertNaming).toBe(true);
392
+ expect(opt1.convertNaming).toBe(false);
393
+ const opt3 = DefaultOptions.merge('assign', null);
394
+ expect(opt3.convertNaming).toBe(false);
395
+ </code></pre>
396
+ </div>
397
+
398
+
399
+
400
+
401
+
402
+ <dl class="details">
403
+
404
+
405
+
406
+
407
+
408
+
409
+
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+ <dt class="tag-author">Author:</dt>
422
+ <dd class="tag-author">
423
+ <ul>
424
+ <li>Haixing Hu</li>
425
+ </ul>
426
+ </dd>
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+ <dt class="tag-see">See:</dt>
441
+ <dd class="tag-see">
442
+ <ul>
443
+ <li><a href="DefaultOptions.html#.get">DefaultOptions.get</a></li>
444
+
445
+ <li><a href="DefaultOptions.html#.set">DefaultOptions.set</a></li>
446
+ </ul>
447
+ </dd>
448
+
449
+
450
+
451
+ </dl>
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+
460
+
461
+ <h5>Parameters:</h5>
462
+
463
+
464
+ <table class="params">
465
+ <thead>
466
+ <tr>
467
+
468
+ <th>Name</th>
469
+
470
+
471
+ <th>Type</th>
472
+
473
+
474
+
475
+
476
+
477
+ <th class="last">Description</th>
478
+ </tr>
479
+ </thead>
480
+
481
+ <tbody>
482
+
483
+
484
+ <tr>
485
+
486
+ <td class="name"><code>aspect</code></td>
487
+
488
+
489
+ <td class="type">
490
+
491
+
492
+ <span class="param-type"><code>string</code></span>
493
+
494
+
495
+
496
+ </td>
497
+
498
+
499
+
500
+
501
+
502
+ <td class="description last">
503
+ <p>the name of the aspect.</p>
504
+
505
+ </td>
506
+ </tr>
507
+
508
+
509
+
510
+ <tr>
511
+
512
+ <td class="name"><code>options</code></td>
513
+
514
+
515
+ <td class="type">
516
+
517
+
518
+ <span class="param-type"><code>undefined</code></span>
519
+ |
520
+
521
+ <span class="param-type"><code>null</code></span>
522
+ |
523
+
524
+ <span class="param-type"><code>object</code></span>
525
+
526
+
527
+
528
+ </td>
529
+
530
+
531
+
532
+
533
+
534
+ <td class="description last">
535
+ <p>the provided options of the aspect.</p>
536
+
537
+ </td>
538
+ </tr>
539
+
540
+
541
+ </tbody>
542
+ </table>
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
556
+
557
+
558
+
559
+ <div class="section-returns">
560
+ <h5>Returns:</h5>
561
+
562
+
563
+
564
+ <dl class="param-type">
565
+ <dt>
566
+ Type:
567
+ </dt>
568
+ <dd>
569
+
570
+ <span class="param-type"><code>object</code></span>
571
+
572
+
573
+ </dd>
574
+ </dl>
575
+
576
+
577
+ <div class="param-desc">
578
+ <p>the default options of the specified aspect, merging the provided
579
+ options into the returned object.</p>
580
+ </div>
581
+
582
+
583
+ </div>
584
+
585
+
586
+
587
+
588
+
589
+ </div>
590
+
591
+
592
+ <div class="section-method">
593
+
594
+
595
+
596
+
597
+ <h4 class="name" id=".reset"><span class="type-signature">(static) </span>reset<span class="signature">(aspect)</span><span class="type-signature"></span></h4>
598
+
599
+
600
+
601
+
602
+
603
+
604
+ <div class="description">
605
+ <p>Resets the default options to factory settings.</p>
606
+ </div>
607
+
608
+
609
+
610
+
611
+
612
+ <dl class="details">
613
+
614
+
615
+
616
+
617
+
618
+
619
+
620
+
621
+
622
+
623
+
624
+
625
+
626
+
627
+
628
+
629
+
630
+
631
+ <dt class="tag-author">Author:</dt>
632
+ <dd class="tag-author">
633
+ <ul>
634
+ <li>Haixing Hu</li>
635
+ </ul>
636
+ </dd>
637
+
638
+
639
+
640
+
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+
649
+
650
+
651
+
652
+ </dl>
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+
662
+ <h5>Parameters:</h5>
663
+
664
+
665
+ <table class="params">
666
+ <thead>
667
+ <tr>
668
+
669
+ <th>Name</th>
670
+
671
+
672
+ <th>Type</th>
673
+
674
+
675
+
676
+
677
+
678
+ <th class="last">Description</th>
679
+ </tr>
680
+ </thead>
681
+
682
+ <tbody>
683
+
684
+
685
+ <tr>
686
+
687
+ <td class="name"><code>aspect</code></td>
688
+
689
+
690
+ <td class="type">
691
+
692
+
693
+ <span class="param-type"><code>string</code></span>
694
+ |
695
+
696
+ <span class="param-type"><code>undefined</code></span>
697
+
698
+
699
+
700
+ </td>
701
+
702
+
703
+
704
+
705
+
706
+ <td class="description last">
707
+ <p>the name of the aspect to be reset. If this parameter is <code>undefined</code>,
708
+ all aspects will be reset.</p>
709
+
710
+ </td>
711
+ </tr>
712
+
713
+
714
+ </tbody>
715
+ </table>
716
+
717
+
718
+
719
+
720
+
721
+
722
+
723
+
724
+
725
+
726
+
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+
735
+
736
+ </div>
737
+
738
+
739
+ <div class="section-method">
740
+
741
+
742
+
743
+
744
+ <h4 class="name" id=".set"><span class="type-signature">(static) </span>set<span class="signature">(aspect, options)</span><span class="type-signature"></span></h4>
745
+
746
+
747
+
748
+
749
+
750
+
751
+ <div class="description">
752
+ <p>Sets the default options of the specified aspect.</p>
753
+ <h5>Usage example:</h5>
754
+ <pre class="prettyprint source lang-js"><code>const opt1 = DefaultOptions.get('assign');
755
+ expect(opt1.convertNaming).toBe(false);
756
+ DefaultOptions.set('assign', { convertNaming: true });
757
+ const opt2 = DefaultOptions.get('assign');
758
+ expect(opt2.convertNaming).toBe(true);
759
+ expect(opt1.convertNaming).toBe(false);
760
+ </code></pre>
761
+ </div>
762
+
763
+
764
+
765
+
766
+
767
+ <dl class="details">
768
+
769
+
770
+
771
+
772
+
773
+
774
+
775
+
776
+
777
+
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+
786
+ <dt class="tag-author">Author:</dt>
787
+ <dd class="tag-author">
788
+ <ul>
789
+ <li>Haixing Hu</li>
790
+ </ul>
791
+ </dd>
792
+
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+ <dt class="tag-see">See:</dt>
806
+ <dd class="tag-see">
807
+ <ul>
808
+ <li><a href="DefaultOptions.html#.get">DefaultOptions.get</a></li>
809
+
810
+ <li><a href="DefaultOptions.html#.merge">DefaultOptions.merge</a></li>
811
+ </ul>
812
+ </dd>
813
+
814
+
815
+
816
+ </dl>
817
+
818
+
819
+
820
+
821
+
822
+
823
+
824
+
825
+
826
+ <h5>Parameters:</h5>
827
+
828
+
829
+ <table class="params">
830
+ <thead>
831
+ <tr>
832
+
833
+ <th>Name</th>
834
+
835
+
836
+ <th>Type</th>
837
+
838
+
839
+
840
+
841
+
842
+ <th class="last">Description</th>
843
+ </tr>
844
+ </thead>
845
+
846
+ <tbody>
847
+
848
+
849
+ <tr>
850
+
851
+ <td class="name"><code>aspect</code></td>
852
+
853
+
854
+ <td class="type">
855
+
856
+
857
+ <span class="param-type"><code>string</code></span>
858
+
859
+
860
+
861
+ </td>
862
+
863
+
864
+
865
+
866
+
867
+ <td class="description last">
868
+ <p>the name of the aspect.</p>
869
+
870
+ </td>
871
+ </tr>
872
+
873
+
874
+
875
+ <tr>
876
+
877
+ <td class="name"><code>options</code></td>
878
+
879
+
880
+ <td class="type">
881
+
882
+
883
+ <span class="param-type"><code>object</code></span>
884
+
885
+
886
+
887
+ </td>
888
+
889
+
890
+
891
+
892
+
893
+ <td class="description last">
894
+ <p>the new default options of the aspect to be set. This function will
895
+ merge the new options into the old default options of the aspect. If
896
+ the new options have the same property as the old default options stored
897
+ in the internal map, the value of the new options will override the
898
+ value of the old default options; otherwise, the new property will be
899
+ added to the old default options.</p>
900
+
901
+ </td>
902
+ </tr>
903
+
904
+
905
+ </tbody>
906
+ </table>
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+
916
+
917
+
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+ </div>
928
+
929
+
930
+
931
+
932
+
933
+
934
+ </article>
935
+
936
+ </section>
937
+
938
+
939
+
940
+
941
+ </div>
942
+
943
+ <br class="clear">
944
+
945
+ <footer>
946
+ Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.4</a>
947
+ on Mon Jan 06 2025 12:25:48 GMT+0800 (China Standard Time)
948
+ using the <a href="https://github.com/Haixing-Hu/jsdoc-minami">customized Minami theme</a>.
949
+ </footer>
950
+
951
+ <script>prettyPrint();</script>
952
+ <script src="scripts/linenumber.js"></script>
953
+ </body>
954
+ </html>