@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.
- package/LICENSE +201 -0
- package/README.md +1156 -0
- package/README.zh_CN.md +929 -0
- package/dist/common-decorator.cjs +6818 -0
- package/dist/common-decorator.cjs.map +1 -0
- package/dist/common-decorator.min.cjs +1 -0
- package/dist/common-decorator.min.cjs.map +1 -0
- package/dist/common-decorator.min.mjs +1 -0
- package/dist/common-decorator.min.mjs.map +1 -0
- package/dist/common-decorator.mjs +6792 -0
- package/dist/common-decorator.mjs.map +1 -0
- package/doc/api/DefaultAssignmentOptions.html +678 -0
- package/doc/api/DefaultOptions.html +954 -0
- package/doc/api/DefaultToJsonOptions.html +633 -0
- package/doc/api/Enum.html +1848 -0
- package/doc/api/Model.html +3607 -0
- package/doc/api/Page.html +1105 -0
- package/doc/api/fonts/OpenSans-Bold-webfont.eot +0 -0
- package/doc/api/fonts/OpenSans-Bold-webfont.svg +1838 -0
- package/doc/api/fonts/OpenSans-Bold-webfont.woff +0 -0
- package/doc/api/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- package/doc/api/fonts/OpenSans-BoldItalic-webfont.svg +1838 -0
- package/doc/api/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- package/doc/api/fonts/OpenSans-Italic-webfont.eot +0 -0
- package/doc/api/fonts/OpenSans-Italic-webfont.svg +1838 -0
- package/doc/api/fonts/OpenSans-Italic-webfont.woff +0 -0
- package/doc/api/fonts/OpenSans-Light-webfont.eot +0 -0
- package/doc/api/fonts/OpenSans-Light-webfont.svg +1839 -0
- package/doc/api/fonts/OpenSans-Light-webfont.woff +0 -0
- package/doc/api/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- package/doc/api/fonts/OpenSans-LightItalic-webfont.svg +1843 -0
- package/doc/api/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- package/doc/api/fonts/OpenSans-Regular-webfont.eot +0 -0
- package/doc/api/fonts/OpenSans-Regular-webfont.svg +1839 -0
- package/doc/api/fonts/OpenSans-Regular-webfont.woff +0 -0
- package/doc/api/fonts/OpenSans-Semibold-webfont.eot +0 -0
- package/doc/api/fonts/OpenSans-Semibold-webfont.svg +1838 -0
- package/doc/api/fonts/OpenSans-Semibold-webfont.ttf +0 -0
- package/doc/api/fonts/OpenSans-Semibold-webfont.woff +0 -0
- package/doc/api/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
- package/doc/api/fonts/OpenSans-SemiboldItalic-webfont.svg +1838 -0
- package/doc/api/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
- package/doc/api/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
- package/doc/api/global.html +6049 -0
- package/doc/api/index.html +1325 -0
- package/doc/api/scripts/linenumber.js +34 -0
- package/doc/api/scripts/prettify/Apache-License-2.0.txt +202 -0
- package/doc/api/scripts/prettify/lang-css.js +2 -0
- package/doc/api/scripts/prettify/prettify.js +28 -0
- package/doc/api/styles/jsdoc-default.css +699 -0
- package/doc/api/styles/prettify-jsdoc.css +120 -0
- package/doc/api/styles/prettify-tomorrow.css +141 -0
- package/doc/common-decorator.min.visualization.html +4949 -0
- package/doc/common-decorator.visualization.html +4949 -0
- package/package.json +107 -0
|
@@ -0,0 +1,678 @@
|
|
|
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>DefaultAssignmentOptions - 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">DefaultAssignmentOptions</h1>
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
<section>
|
|
41
|
+
|
|
42
|
+
<header>
|
|
43
|
+
|
|
44
|
+
<h2>
|
|
45
|
+
DefaultAssignmentOptions
|
|
46
|
+
</h2>
|
|
47
|
+
|
|
48
|
+
<div class="class-description"><p>The default options for the <code>Class.prototype.assign()</code>, <code>Class.create()</code>,
|
|
49
|
+
<code>Class.createArray()</code>, <code>Class.createPage()</code>, <code>Class.parseJsonString()</code>
|
|
50
|
+
methods of the class decorated by <code>@Model</code>.</p></div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</header>
|
|
54
|
+
|
|
55
|
+
<article>
|
|
56
|
+
<div class="container-overview">
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
<div class="section-method">
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
<h2>Constructor</h2>
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
<h4 class="name" id="DefaultAssignmentOptions"><span class="type-signature"></span>new DefaultAssignmentOptions<span class="signature">()</span><span class="type-signature"></span></h4>
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
<dl class="details">
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
<dt class="tag-author">Author:</dt>
|
|
97
|
+
<dd class="tag-author">
|
|
98
|
+
<ul>
|
|
99
|
+
<li>Haixing Hu</li>
|
|
100
|
+
</ul>
|
|
101
|
+
</dd>
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
</dl>
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
</div>
|
|
146
|
+
|
|
147
|
+
</div>
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
<h3 class="subsection-title">Members</h3>
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
<div class="section-members">
|
|
165
|
+
<h4 class="name" id="convertNaming"><span class="type-signature"></span>convertNaming<span class="type-signature"> :boolean</span></h4>
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
<div class="description">
|
|
171
|
+
<p>Indicates whether to convert the naming style of the target object.</p>
|
|
172
|
+
<p>The default value of this option is <code>false</code>.</p>
|
|
173
|
+
</div>
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
<dl class="details">
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
</dl>
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
<h5>Type:</h5>
|
|
217
|
+
<ul>
|
|
218
|
+
<li>
|
|
219
|
+
|
|
220
|
+
<span class="param-type"><code>boolean</code></span>
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
</li>
|
|
224
|
+
</ul>
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
</div>
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
<div class="section-members">
|
|
235
|
+
<h4 class="name" id="elementTypes"><span class="type-signature"></span>elementTypes<span class="type-signature"> :object</span></h4>
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
<div class="description">
|
|
241
|
+
<p>The additional information about element types of fields of the target object.</p>
|
|
242
|
+
<p>The keys of this object are the path of the fields or sub-fields of the
|
|
243
|
+
target object, the values are the type of the fields, represented
|
|
244
|
+
as the constructor function of the type.</p>
|
|
245
|
+
<p>For example:</p>
|
|
246
|
+
<pre class="prettyprint source lang-js"><code>@Model
|
|
247
|
+
class Child {
|
|
248
|
+
name = null;
|
|
249
|
+
|
|
250
|
+
credentials = [];
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
@Model
|
|
254
|
+
class Foo {
|
|
255
|
+
id = null;
|
|
256
|
+
|
|
257
|
+
@Type(Child)
|
|
258
|
+
child = null;
|
|
259
|
+
}
|
|
260
|
+
</code></pre>
|
|
261
|
+
<p>In this example, in order to assign a JSON object to an instance of <code>Foo</code>,
|
|
262
|
+
we could specify the type of the <code>Foo.id</code>, <code>Foo.child.name</code>, and
|
|
263
|
+
<code>Foo.child.credentials</code> as follows:</p>
|
|
264
|
+
<pre class="prettyprint source"><code>const foo = Foo.create(obj, {
|
|
265
|
+
types: {
|
|
266
|
+
'Foo.id': Number,
|
|
267
|
+
'Foo.child.name': String,
|
|
268
|
+
},
|
|
269
|
+
elementTypes: {
|
|
270
|
+
'Foo.child.credential': Credential,
|
|
271
|
+
},
|
|
272
|
+
});
|
|
273
|
+
</code></pre>
|
|
274
|
+
<p>Note that the path of the fields or sub-fields of the target object should
|
|
275
|
+
include the class name of the target object.</p>
|
|
276
|
+
<p>The default value of this option is an empty object.</p>
|
|
277
|
+
</div>
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
<dl class="details">
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
</dl>
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
<h5>Type:</h5>
|
|
321
|
+
<ul>
|
|
322
|
+
<li>
|
|
323
|
+
|
|
324
|
+
<span class="param-type"><code>object</code></span>
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
</li>
|
|
328
|
+
</ul>
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
</div>
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
<div class="section-members">
|
|
339
|
+
<h4 class="name" id="normalize"><span class="type-signature"></span>normalize<span class="type-signature"> :boolean</span></h4>
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
<div class="description">
|
|
345
|
+
<p>Indicates whether to normalize this object after the assignment.</p>
|
|
346
|
+
<p>The default value of this option is <code>true</code>.</p>
|
|
347
|
+
</div>
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
<dl class="details">
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
</dl>
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
<h5>Type:</h5>
|
|
391
|
+
<ul>
|
|
392
|
+
<li>
|
|
393
|
+
|
|
394
|
+
<span class="param-type"><code>boolean</code></span>
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
</li>
|
|
398
|
+
</ul>
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
</div>
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
<div class="section-members">
|
|
409
|
+
<h4 class="name" id="sourceNamingStyle"><span class="type-signature"></span>sourceNamingStyle<span class="type-signature"> :string</span></h4>
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
<div class="description">
|
|
415
|
+
<p>The naming style of the source object, i.e., the first argument of the
|
|
416
|
+
<code>assign()</code> method.</p>
|
|
417
|
+
<p>The default value of this option is <code>LOWER_UNDERSCORE</code>.</p>
|
|
418
|
+
</div>
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
<dl class="details">
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
</dl>
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
<h5>Type:</h5>
|
|
462
|
+
<ul>
|
|
463
|
+
<li>
|
|
464
|
+
|
|
465
|
+
<span class="param-type"><code>string</code></span>
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
</li>
|
|
469
|
+
</ul>
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
</div>
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
<div class="section-members">
|
|
480
|
+
<h4 class="name" id="targetNamingStyle"><span class="type-signature"></span>targetNamingStyle<span class="type-signature"> :string</span></h4>
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
<div class="description">
|
|
486
|
+
<p>The naming style of the target object, i.e., the object calling the
|
|
487
|
+
<code>assign()</code> method.</p>
|
|
488
|
+
<p>The default value of this option is <code>LOWER_CAMEL</code>.</p>
|
|
489
|
+
</div>
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
<dl class="details">
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
|
|
528
|
+
</dl>
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
|
|
532
|
+
<h5>Type:</h5>
|
|
533
|
+
<ul>
|
|
534
|
+
<li>
|
|
535
|
+
|
|
536
|
+
<span class="param-type"><code>string</code></span>
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
</li>
|
|
540
|
+
</ul>
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
</div>
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
<div class="section-members">
|
|
551
|
+
<h4 class="name" id="types"><span class="type-signature"></span>types<span class="type-signature"> :object</span></h4>
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
<div class="description">
|
|
557
|
+
<p>The additional information about types of fields of classes.</p>
|
|
558
|
+
<p>The keys of this object are the path of the fields or sub-fields of the
|
|
559
|
+
target object, the values are the type of the fields, represented
|
|
560
|
+
as the constructor function of the type.</p>
|
|
561
|
+
<p>For example:</p>
|
|
562
|
+
<pre class="prettyprint source lang-js"><code>@Model
|
|
563
|
+
class Child {
|
|
564
|
+
name = null;
|
|
565
|
+
|
|
566
|
+
credential = null;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
@Model
|
|
570
|
+
class Foo {
|
|
571
|
+
id = null;
|
|
572
|
+
|
|
573
|
+
@Type(Child)
|
|
574
|
+
child = null;
|
|
575
|
+
}
|
|
576
|
+
</code></pre>
|
|
577
|
+
<p>In this example, in order to assign a JSON object to an instance of <code>Foo</code>,
|
|
578
|
+
we could specify the type of the <code>Foo.id</code>, <code>Foo.child.name</code>, and
|
|
579
|
+
<code>Foo.child.credential</code> as follows:</p>
|
|
580
|
+
<pre class="prettyprint source"><code>const foo = Foo.create(obj, {
|
|
581
|
+
types: {
|
|
582
|
+
'Foo.id': Number,
|
|
583
|
+
'Foo.child.name': String,
|
|
584
|
+
'Foo.child.credential': Credential,
|
|
585
|
+
},
|
|
586
|
+
});
|
|
587
|
+
</code></pre>
|
|
588
|
+
<p>Note that the path of the fields or sub-fields of the target object should
|
|
589
|
+
include the class name of the target object.</p>
|
|
590
|
+
<p>The default value of this option is an empty object.</p>
|
|
591
|
+
</div>
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
<dl class="details">
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
</dl>
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
<h5>Type:</h5>
|
|
635
|
+
<ul>
|
|
636
|
+
<li>
|
|
637
|
+
|
|
638
|
+
<span class="param-type"><code>object</code></span>
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
</li>
|
|
642
|
+
</ul>
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
</div>
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
</article>
|
|
659
|
+
|
|
660
|
+
</section>
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
|
|
664
|
+
|
|
665
|
+
</div>
|
|
666
|
+
|
|
667
|
+
<br class="clear">
|
|
668
|
+
|
|
669
|
+
<footer>
|
|
670
|
+
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.4</a>
|
|
671
|
+
on Mon Jan 06 2025 12:25:48 GMT+0800 (China Standard Time)
|
|
672
|
+
using the <a href="https://github.com/Haixing-Hu/jsdoc-minami">customized Minami theme</a>.
|
|
673
|
+
</footer>
|
|
674
|
+
|
|
675
|
+
<script>prettyPrint();</script>
|
|
676
|
+
<script src="scripts/linenumber.js"></script>
|
|
677
|
+
</body>
|
|
678
|
+
</html>
|