soap 0.20.0 → 0.24.0
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/.editorconfig +23 -23
- package/.jshintrc +29 -29
- package/.travis.yml +22 -22
- package/CONTRIBUTING.md +52 -58
- package/History.md +52 -2
- package/LICENSE +7 -7
- package/PUBLISHING.md +28 -28
- package/Readme.md +1062 -931
- package/coverage/coverage.json +1 -0
- package/coverage/lcov-report/base.css +212 -0
- package/coverage/lcov-report/index.html +119 -0
- package/coverage/lcov-report/node-soap/index.html +93 -0
- package/coverage/lcov-report/node-soap/index.js.html +74 -0
- package/coverage/lcov-report/node-soap/lib/client.js.html +1001 -0
- package/coverage/lcov-report/node-soap/lib/http.js.html +416 -0
- package/coverage/lcov-report/node-soap/lib/index.html +171 -0
- package/coverage/lcov-report/node-soap/lib/nscontext.js.html +734 -0
- package/coverage/lcov-report/node-soap/lib/security/BasicAuthSecurity.js.html +137 -0
- package/coverage/lcov-report/node-soap/lib/security/BearerSecurity.js.html +134 -0
- package/coverage/lcov-report/node-soap/lib/security/ClientSSLSecurity.js.html +296 -0
- package/coverage/lcov-report/node-soap/lib/security/ClientSSLSecurityPFX.js.html +218 -0
- package/coverage/lcov-report/node-soap/lib/security/WSSecurity.js.html +278 -0
- package/coverage/lcov-report/node-soap/lib/security/index.html +158 -0
- package/coverage/lcov-report/node-soap/lib/security/index.js.html +92 -0
- package/coverage/lcov-report/node-soap/lib/server.js.html +1139 -0
- package/coverage/lcov-report/node-soap/lib/soap.js.html +314 -0
- package/coverage/lcov-report/node-soap/lib/utils.js.html +161 -0
- package/coverage/lcov-report/node-soap/lib/wsdl.js.html +6275 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +1 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +158 -0
- package/coverage/lcov.info +3325 -0
- package/index.js +3 -3
- package/lib/client.js +434 -425
- package/lib/http.js +129 -129
- package/lib/nscontext.js +223 -223
- package/lib/security/BasicAuthSecurity.js +24 -24
- package/lib/security/BearerSecurity.js +23 -23
- package/lib/security/ClientSSLSecurity.js +82 -65
- package/lib/security/ClientSSLSecurityPFX.js +51 -51
- package/lib/security/WSSecurity.js +90 -90
- package/lib/security/WSSecurityCert.js +78 -78
- package/lib/security/index.js +10 -10
- package/lib/security/templates/wsse-security-header.ejs +12 -12
- package/lib/security/templates/wsse-security-token.ejs +3 -3
- package/lib/server.js +474 -444
- package/lib/soap.d.ts +220 -0
- package/lib/soap.js +110 -110
- package/lib/utils.js +30 -30
- package/lib/wsdl.js +2272 -2234
- package/package.json +8 -8
- package/soap-stub.js +148 -148
- package/.npmignore +0 -2
|
@@ -0,0 +1,734 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<title>Code coverage report for node-soap/lib/nscontext.js</title>
|
|
5
|
+
<meta charset="utf-8" />
|
|
6
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
7
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
9
|
+
<style type='text/css'>
|
|
10
|
+
.coverage-summary .sorter {
|
|
11
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
12
|
+
}
|
|
13
|
+
</style>
|
|
14
|
+
</head>
|
|
15
|
+
<body>
|
|
16
|
+
<div class='wrapper'>
|
|
17
|
+
<div class='pad1'>
|
|
18
|
+
<h1>
|
|
19
|
+
<a href="../../index.html">all files</a> / <a href="index.html">node-soap/lib/</a> nscontext.js
|
|
20
|
+
</h1>
|
|
21
|
+
<div class='clearfix'>
|
|
22
|
+
<div class='fl pad1y space-right2'>
|
|
23
|
+
<span class="strong">86.59% </span>
|
|
24
|
+
<span class="quiet">Statements</span>
|
|
25
|
+
<span class='fraction'>71/82</span>
|
|
26
|
+
</div>
|
|
27
|
+
<div class='fl pad1y space-right2'>
|
|
28
|
+
<span class="strong">76% </span>
|
|
29
|
+
<span class="quiet">Branches</span>
|
|
30
|
+
<span class='fraction'>38/50</span>
|
|
31
|
+
</div>
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Functions</span>
|
|
35
|
+
<span class='fraction'>12/12</span>
|
|
36
|
+
</div>
|
|
37
|
+
<div class='fl pad1y space-right2'>
|
|
38
|
+
<span class="strong">86.59% </span>
|
|
39
|
+
<span class="quiet">Lines</span>
|
|
40
|
+
<span class='fraction'>71/82</span>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
<div class='status-line high'></div>
|
|
45
|
+
<pre><table class="coverage">
|
|
46
|
+
<tr><td class="line-count quiet">1
|
|
47
|
+
2
|
|
48
|
+
3
|
|
49
|
+
4
|
|
50
|
+
5
|
|
51
|
+
6
|
|
52
|
+
7
|
|
53
|
+
8
|
|
54
|
+
9
|
|
55
|
+
10
|
|
56
|
+
11
|
|
57
|
+
12
|
|
58
|
+
13
|
|
59
|
+
14
|
|
60
|
+
15
|
|
61
|
+
16
|
|
62
|
+
17
|
|
63
|
+
18
|
|
64
|
+
19
|
|
65
|
+
20
|
|
66
|
+
21
|
|
67
|
+
22
|
|
68
|
+
23
|
|
69
|
+
24
|
|
70
|
+
25
|
|
71
|
+
26
|
|
72
|
+
27
|
|
73
|
+
28
|
|
74
|
+
29
|
|
75
|
+
30
|
|
76
|
+
31
|
|
77
|
+
32
|
|
78
|
+
33
|
|
79
|
+
34
|
|
80
|
+
35
|
|
81
|
+
36
|
|
82
|
+
37
|
|
83
|
+
38
|
|
84
|
+
39
|
|
85
|
+
40
|
|
86
|
+
41
|
|
87
|
+
42
|
|
88
|
+
43
|
|
89
|
+
44
|
|
90
|
+
45
|
|
91
|
+
46
|
|
92
|
+
47
|
|
93
|
+
48
|
|
94
|
+
49
|
|
95
|
+
50
|
|
96
|
+
51
|
|
97
|
+
52
|
|
98
|
+
53
|
|
99
|
+
54
|
|
100
|
+
55
|
|
101
|
+
56
|
|
102
|
+
57
|
|
103
|
+
58
|
|
104
|
+
59
|
|
105
|
+
60
|
|
106
|
+
61
|
|
107
|
+
62
|
|
108
|
+
63
|
|
109
|
+
64
|
|
110
|
+
65
|
|
111
|
+
66
|
|
112
|
+
67
|
|
113
|
+
68
|
|
114
|
+
69
|
|
115
|
+
70
|
|
116
|
+
71
|
|
117
|
+
72
|
|
118
|
+
73
|
|
119
|
+
74
|
|
120
|
+
75
|
|
121
|
+
76
|
|
122
|
+
77
|
|
123
|
+
78
|
|
124
|
+
79
|
|
125
|
+
80
|
|
126
|
+
81
|
|
127
|
+
82
|
|
128
|
+
83
|
|
129
|
+
84
|
|
130
|
+
85
|
|
131
|
+
86
|
|
132
|
+
87
|
|
133
|
+
88
|
|
134
|
+
89
|
|
135
|
+
90
|
|
136
|
+
91
|
|
137
|
+
92
|
|
138
|
+
93
|
|
139
|
+
94
|
|
140
|
+
95
|
|
141
|
+
96
|
|
142
|
+
97
|
|
143
|
+
98
|
|
144
|
+
99
|
|
145
|
+
100
|
|
146
|
+
101
|
|
147
|
+
102
|
|
148
|
+
103
|
|
149
|
+
104
|
|
150
|
+
105
|
|
151
|
+
106
|
|
152
|
+
107
|
|
153
|
+
108
|
|
154
|
+
109
|
|
155
|
+
110
|
|
156
|
+
111
|
|
157
|
+
112
|
|
158
|
+
113
|
|
159
|
+
114
|
|
160
|
+
115
|
|
161
|
+
116
|
|
162
|
+
117
|
|
163
|
+
118
|
|
164
|
+
119
|
|
165
|
+
120
|
|
166
|
+
121
|
|
167
|
+
122
|
|
168
|
+
123
|
|
169
|
+
124
|
|
170
|
+
125
|
|
171
|
+
126
|
|
172
|
+
127
|
|
173
|
+
128
|
|
174
|
+
129
|
|
175
|
+
130
|
|
176
|
+
131
|
|
177
|
+
132
|
|
178
|
+
133
|
|
179
|
+
134
|
|
180
|
+
135
|
|
181
|
+
136
|
|
182
|
+
137
|
|
183
|
+
138
|
|
184
|
+
139
|
|
185
|
+
140
|
|
186
|
+
141
|
|
187
|
+
142
|
|
188
|
+
143
|
|
189
|
+
144
|
|
190
|
+
145
|
|
191
|
+
146
|
|
192
|
+
147
|
|
193
|
+
148
|
|
194
|
+
149
|
|
195
|
+
150
|
|
196
|
+
151
|
|
197
|
+
152
|
|
198
|
+
153
|
|
199
|
+
154
|
|
200
|
+
155
|
|
201
|
+
156
|
|
202
|
+
157
|
|
203
|
+
158
|
|
204
|
+
159
|
|
205
|
+
160
|
|
206
|
+
161
|
|
207
|
+
162
|
|
208
|
+
163
|
|
209
|
+
164
|
|
210
|
+
165
|
|
211
|
+
166
|
|
212
|
+
167
|
|
213
|
+
168
|
|
214
|
+
169
|
|
215
|
+
170
|
|
216
|
+
171
|
|
217
|
+
172
|
|
218
|
+
173
|
|
219
|
+
174
|
|
220
|
+
175
|
|
221
|
+
176
|
|
222
|
+
177
|
|
223
|
+
178
|
|
224
|
+
179
|
|
225
|
+
180
|
|
226
|
+
181
|
|
227
|
+
182
|
|
228
|
+
183
|
|
229
|
+
184
|
|
230
|
+
185
|
|
231
|
+
186
|
|
232
|
+
187
|
|
233
|
+
188
|
|
234
|
+
189
|
|
235
|
+
190
|
|
236
|
+
191
|
|
237
|
+
192
|
|
238
|
+
193
|
|
239
|
+
194
|
|
240
|
+
195
|
|
241
|
+
196
|
|
242
|
+
197
|
|
243
|
+
198
|
|
244
|
+
199
|
|
245
|
+
200
|
|
246
|
+
201
|
|
247
|
+
202
|
|
248
|
+
203
|
|
249
|
+
204
|
|
250
|
+
205
|
|
251
|
+
206
|
|
252
|
+
207
|
|
253
|
+
208
|
|
254
|
+
209
|
|
255
|
+
210
|
|
256
|
+
211
|
|
257
|
+
212
|
|
258
|
+
213
|
|
259
|
+
214
|
|
260
|
+
215
|
|
261
|
+
216
|
|
262
|
+
217
|
|
263
|
+
218
|
|
264
|
+
219
|
|
265
|
+
220
|
|
266
|
+
221
|
|
267
|
+
222
|
|
268
|
+
223
|
|
269
|
+
224</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
270
|
+
<span class="cline-any cline-neutral"> </span>
|
|
271
|
+
<span class="cline-any cline-yes">1×</span>
|
|
272
|
+
<span class="cline-any cline-neutral"> </span>
|
|
273
|
+
<span class="cline-any cline-neutral"> </span>
|
|
274
|
+
<span class="cline-any cline-neutral"> </span>
|
|
275
|
+
<span class="cline-any cline-neutral"> </span>
|
|
276
|
+
<span class="cline-any cline-neutral"> </span>
|
|
277
|
+
<span class="cline-any cline-neutral"> </span>
|
|
278
|
+
<span class="cline-any cline-neutral"> </span>
|
|
279
|
+
<span class="cline-any cline-yes">1×</span>
|
|
280
|
+
<span class="cline-any cline-yes">486×</span>
|
|
281
|
+
<span class="cline-any cline-no"> </span>
|
|
282
|
+
<span class="cline-any cline-neutral"> </span>
|
|
283
|
+
<span class="cline-any cline-yes">486×</span>
|
|
284
|
+
<span class="cline-any cline-yes">486×</span>
|
|
285
|
+
<span class="cline-any cline-neutral"> </span>
|
|
286
|
+
<span class="cline-any cline-neutral"> </span>
|
|
287
|
+
<span class="cline-any cline-neutral"> </span>
|
|
288
|
+
<span class="cline-any cline-neutral"> </span>
|
|
289
|
+
<span class="cline-any cline-neutral"> </span>
|
|
290
|
+
<span class="cline-any cline-neutral"> </span>
|
|
291
|
+
<span class="cline-any cline-neutral"> </span>
|
|
292
|
+
<span class="cline-any cline-yes">1×</span>
|
|
293
|
+
<span class="cline-any cline-yes">105×</span>
|
|
294
|
+
<span class="cline-any cline-no"> </span>
|
|
295
|
+
<span class="cline-any cline-neutral"> </span>
|
|
296
|
+
<span class="cline-any cline-yes">105×</span>
|
|
297
|
+
<span class="cline-any cline-yes">105×</span>
|
|
298
|
+
<span class="cline-any cline-yes">105×</span>
|
|
299
|
+
<span class="cline-any cline-neutral"> </span>
|
|
300
|
+
<span class="cline-any cline-neutral"> </span>
|
|
301
|
+
<span class="cline-any cline-neutral"> </span>
|
|
302
|
+
<span class="cline-any cline-neutral"> </span>
|
|
303
|
+
<span class="cline-any cline-neutral"> </span>
|
|
304
|
+
<span class="cline-any cline-neutral"> </span>
|
|
305
|
+
<span class="cline-any cline-neutral"> </span>
|
|
306
|
+
<span class="cline-any cline-neutral"> </span>
|
|
307
|
+
<span class="cline-any cline-yes">1×</span>
|
|
308
|
+
<span class="cline-any cline-yes">223×</span>
|
|
309
|
+
<span class="cline-any cline-neutral"> </span>
|
|
310
|
+
<span class="cline-any cline-no"> </span>
|
|
311
|
+
<span class="cline-any cline-neutral"> </span>
|
|
312
|
+
<span class="cline-any cline-no"> </span>
|
|
313
|
+
<span class="cline-any cline-neutral"> </span>
|
|
314
|
+
<span class="cline-any cline-yes">223×</span>
|
|
315
|
+
<span class="cline-any cline-neutral"> </span>
|
|
316
|
+
<span class="cline-any cline-yes">223×</span>
|
|
317
|
+
<span class="cline-any cline-yes">53×</span>
|
|
318
|
+
<span class="cline-any cline-yes">170×</span>
|
|
319
|
+
<span class="cline-any cline-yes">128×</span>
|
|
320
|
+
<span class="cline-any cline-neutral"> </span>
|
|
321
|
+
<span class="cline-any cline-yes">42×</span>
|
|
322
|
+
<span class="cline-any cline-neutral"> </span>
|
|
323
|
+
<span class="cline-any cline-neutral"> </span>
|
|
324
|
+
<span class="cline-any cline-neutral"> </span>
|
|
325
|
+
<span class="cline-any cline-neutral"> </span>
|
|
326
|
+
<span class="cline-any cline-yes">1×</span>
|
|
327
|
+
<span class="cline-any cline-yes">435×</span>
|
|
328
|
+
<span class="cline-any cline-neutral"> </span>
|
|
329
|
+
<span class="cline-any cline-no"> </span>
|
|
330
|
+
<span class="cline-any cline-neutral"> </span>
|
|
331
|
+
<span class="cline-any cline-neutral"> </span>
|
|
332
|
+
<span class="cline-any cline-neutral"> </span>
|
|
333
|
+
<span class="cline-any cline-neutral"> </span>
|
|
334
|
+
<span class="cline-any cline-neutral"> </span>
|
|
335
|
+
<span class="cline-any cline-no"> </span>
|
|
336
|
+
<span class="cline-any cline-neutral"> </span>
|
|
337
|
+
<span class="cline-any cline-neutral"> </span>
|
|
338
|
+
<span class="cline-any cline-neutral"> </span>
|
|
339
|
+
<span class="cline-any cline-neutral"> </span>
|
|
340
|
+
<span class="cline-any cline-neutral"> </span>
|
|
341
|
+
<span class="cline-any cline-yes">435×</span>
|
|
342
|
+
<span class="cline-any cline-neutral"> </span>
|
|
343
|
+
<span class="cline-any cline-yes">435×</span>
|
|
344
|
+
<span class="cline-any cline-yes">120×</span>
|
|
345
|
+
<span class="cline-any cline-yes">315×</span>
|
|
346
|
+
<span class="cline-any cline-yes">205×</span>
|
|
347
|
+
<span class="cline-any cline-neutral"> </span>
|
|
348
|
+
<span class="cline-any cline-yes">110×</span>
|
|
349
|
+
<span class="cline-any cline-neutral"> </span>
|
|
350
|
+
<span class="cline-any cline-neutral"> </span>
|
|
351
|
+
<span class="cline-any cline-neutral"> </span>
|
|
352
|
+
<span class="cline-any cline-neutral"> </span>
|
|
353
|
+
<span class="cline-any cline-neutral"> </span>
|
|
354
|
+
<span class="cline-any cline-neutral"> </span>
|
|
355
|
+
<span class="cline-any cline-neutral"> </span>
|
|
356
|
+
<span class="cline-any cline-neutral"> </span>
|
|
357
|
+
<span class="cline-any cline-neutral"> </span>
|
|
358
|
+
<span class="cline-any cline-neutral"> </span>
|
|
359
|
+
<span class="cline-any cline-yes">1×</span>
|
|
360
|
+
<span class="cline-any cline-yes">323×</span>
|
|
361
|
+
<span class="cline-any cline-neutral"> </span>
|
|
362
|
+
<span class="cline-any cline-no"> </span>
|
|
363
|
+
<span class="cline-any cline-neutral"> </span>
|
|
364
|
+
<span class="cline-any cline-no"> </span>
|
|
365
|
+
<span class="cline-any cline-neutral"> </span>
|
|
366
|
+
<span class="cline-any cline-yes">323×</span>
|
|
367
|
+
<span class="cline-any cline-yes">162×</span>
|
|
368
|
+
<span class="cline-any cline-yes">127×</span>
|
|
369
|
+
<span class="cline-any cline-neutral"> </span>
|
|
370
|
+
<span class="cline-any cline-neutral"> </span>
|
|
371
|
+
<span class="cline-any cline-yes">196×</span>
|
|
372
|
+
<span class="cline-any cline-yes">189×</span>
|
|
373
|
+
<span class="cline-any cline-neutral"> </span>
|
|
374
|
+
<span class="cline-any cline-yes">7×</span>
|
|
375
|
+
<span class="cline-any cline-neutral"> </span>
|
|
376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
378
|
+
<span class="cline-any cline-neutral"> </span>
|
|
379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
380
|
+
<span class="cline-any cline-neutral"> </span>
|
|
381
|
+
<span class="cline-any cline-neutral"> </span>
|
|
382
|
+
<span class="cline-any cline-neutral"> </span>
|
|
383
|
+
<span class="cline-any cline-neutral"> </span>
|
|
384
|
+
<span class="cline-any cline-neutral"> </span>
|
|
385
|
+
<span class="cline-any cline-neutral"> </span>
|
|
386
|
+
<span class="cline-any cline-neutral"> </span>
|
|
387
|
+
<span class="cline-any cline-yes">1×</span>
|
|
388
|
+
<span class="cline-any cline-yes">88×</span>
|
|
389
|
+
<span class="cline-any cline-yes">45×</span>
|
|
390
|
+
<span class="cline-any cline-neutral"> </span>
|
|
391
|
+
<span class="cline-any cline-yes">43×</span>
|
|
392
|
+
<span class="cline-any cline-yes">43×</span>
|
|
393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
395
|
+
<span class="cline-any cline-neutral"> </span>
|
|
396
|
+
<span class="cline-any cline-neutral"> </span>
|
|
397
|
+
<span class="cline-any cline-yes">43×</span>
|
|
398
|
+
<span class="cline-any cline-neutral"> </span>
|
|
399
|
+
<span class="cline-any cline-no"> </span>
|
|
400
|
+
<span class="cline-any cline-neutral"> </span>
|
|
401
|
+
<span class="cline-any cline-neutral"> </span>
|
|
402
|
+
<span class="cline-any cline-neutral"> </span>
|
|
403
|
+
<span class="cline-any cline-neutral"> </span>
|
|
404
|
+
<span class="cline-any cline-neutral"> </span>
|
|
405
|
+
<span class="cline-any cline-neutral"> </span>
|
|
406
|
+
<span class="cline-any cline-yes">1×</span>
|
|
407
|
+
<span class="cline-any cline-yes">486×</span>
|
|
408
|
+
<span class="cline-any cline-yes">486×</span>
|
|
409
|
+
<span class="cline-any cline-yes">486×</span>
|
|
410
|
+
<span class="cline-any cline-yes">486×</span>
|
|
411
|
+
<span class="cline-any cline-neutral"> </span>
|
|
412
|
+
<span class="cline-any cline-neutral"> </span>
|
|
413
|
+
<span class="cline-any cline-neutral"> </span>
|
|
414
|
+
<span class="cline-any cline-neutral"> </span>
|
|
415
|
+
<span class="cline-any cline-neutral"> </span>
|
|
416
|
+
<span class="cline-any cline-neutral"> </span>
|
|
417
|
+
<span class="cline-any cline-yes">1×</span>
|
|
418
|
+
<span class="cline-any cline-yes">478×</span>
|
|
419
|
+
<span class="cline-any cline-yes">478×</span>
|
|
420
|
+
<span class="cline-any cline-yes">478×</span>
|
|
421
|
+
<span class="cline-any cline-neutral"> </span>
|
|
422
|
+
<span class="cline-any cline-no"> </span>
|
|
423
|
+
<span class="cline-any cline-neutral"> </span>
|
|
424
|
+
<span class="cline-any cline-yes">478×</span>
|
|
425
|
+
<span class="cline-any cline-neutral"> </span>
|
|
426
|
+
<span class="cline-any cline-neutral"> </span>
|
|
427
|
+
<span class="cline-any cline-neutral"> </span>
|
|
428
|
+
<span class="cline-any cline-neutral"> </span>
|
|
429
|
+
<span class="cline-any cline-neutral"> </span>
|
|
430
|
+
<span class="cline-any cline-neutral"> </span>
|
|
431
|
+
<span class="cline-any cline-neutral"> </span>
|
|
432
|
+
<span class="cline-any cline-neutral"> </span>
|
|
433
|
+
<span class="cline-any cline-yes">1×</span>
|
|
434
|
+
<span class="cline-any cline-yes">95×</span>
|
|
435
|
+
<span class="cline-any cline-neutral"> </span>
|
|
436
|
+
<span class="cline-any cline-neutral"> </span>
|
|
437
|
+
<span class="cline-any cline-neutral"> </span>
|
|
438
|
+
<span class="cline-any cline-neutral"> </span>
|
|
439
|
+
<span class="cline-any cline-neutral"> </span>
|
|
440
|
+
<span class="cline-any cline-neutral"> </span>
|
|
441
|
+
<span class="cline-any cline-neutral"> </span>
|
|
442
|
+
<span class="cline-any cline-neutral"> </span>
|
|
443
|
+
<span class="cline-any cline-yes">1×</span>
|
|
444
|
+
<span class="cline-any cline-yes">134×</span>
|
|
445
|
+
<span class="cline-any cline-neutral"> </span>
|
|
446
|
+
<span class="cline-any cline-neutral"> </span>
|
|
447
|
+
<span class="cline-any cline-neutral"> </span>
|
|
448
|
+
<span class="cline-any cline-neutral"> </span>
|
|
449
|
+
<span class="cline-any cline-neutral"> </span>
|
|
450
|
+
<span class="cline-any cline-neutral"> </span>
|
|
451
|
+
<span class="cline-any cline-neutral"> </span>
|
|
452
|
+
<span class="cline-any cline-yes">1×</span>
|
|
453
|
+
<span class="cline-any cline-yes">134×</span>
|
|
454
|
+
<span class="cline-any cline-yes">134×</span>
|
|
455
|
+
<span class="cline-any cline-neutral"> </span>
|
|
456
|
+
<span class="cline-any cline-yes">127×</span>
|
|
457
|
+
<span class="cline-any cline-neutral"> </span>
|
|
458
|
+
<span class="cline-any cline-neutral"> </span>
|
|
459
|
+
<span class="cline-any cline-yes">7×</span>
|
|
460
|
+
<span class="cline-any cline-yes">7×</span>
|
|
461
|
+
<span class="cline-any cline-yes">7×</span>
|
|
462
|
+
<span class="cline-any cline-neutral"> </span>
|
|
463
|
+
<span class="cline-any cline-yes">7×</span>
|
|
464
|
+
<span class="cline-any cline-neutral"> </span>
|
|
465
|
+
<span class="cline-any cline-neutral"> </span>
|
|
466
|
+
<span class="cline-any cline-neutral"> </span>
|
|
467
|
+
<span class="cline-any cline-yes">7×</span>
|
|
468
|
+
<span class="cline-any cline-yes">7×</span>
|
|
469
|
+
<span class="cline-any cline-neutral"> </span>
|
|
470
|
+
<span class="cline-any cline-neutral"> </span>
|
|
471
|
+
<span class="cline-any cline-neutral"> </span>
|
|
472
|
+
<span class="cline-any cline-neutral"> </span>
|
|
473
|
+
<span class="cline-any cline-neutral"> </span>
|
|
474
|
+
<span class="cline-any cline-neutral"> </span>
|
|
475
|
+
<span class="cline-any cline-neutral"> </span>
|
|
476
|
+
<span class="cline-any cline-neutral"> </span>
|
|
477
|
+
<span class="cline-any cline-yes">1×</span>
|
|
478
|
+
<span class="cline-any cline-yes">230×</span>
|
|
479
|
+
<span class="cline-any cline-yes">230×</span>
|
|
480
|
+
<span class="cline-any cline-yes">230×</span>
|
|
481
|
+
<span class="cline-any cline-yes">98×</span>
|
|
482
|
+
<span class="cline-any cline-neutral"> </span>
|
|
483
|
+
<span class="cline-any cline-yes">132×</span>
|
|
484
|
+
<span class="cline-any cline-neutral"> </span>
|
|
485
|
+
<span class="cline-any cline-neutral"> </span>
|
|
486
|
+
<span class="cline-any cline-neutral"> </span>
|
|
487
|
+
<span class="cline-any cline-neutral"> </span>
|
|
488
|
+
<span class="cline-any cline-yes">132×</span>
|
|
489
|
+
<span class="cline-any cline-neutral"> </span>
|
|
490
|
+
<span class="cline-any cline-no"> </span>
|
|
491
|
+
<span class="cline-any cline-neutral"> </span>
|
|
492
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
|
|
493
|
+
|
|
494
|
+
module.exports = NamespaceContext;
|
|
495
|
+
|
|
496
|
+
/**
|
|
497
|
+
* Scope for XML namespaces
|
|
498
|
+
* @param {NamespaceScope} [parent] Parent scope
|
|
499
|
+
* @returns {NamespaceScope}
|
|
500
|
+
* @constructor
|
|
501
|
+
*/
|
|
502
|
+
function NamespaceScope(parent) {
|
|
503
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!(this instanceof NamespaceScope)) {
|
|
504
|
+
<span class="cstat-no" title="statement not covered" > return new NamespaceScope(parent);</span>
|
|
505
|
+
}
|
|
506
|
+
this.parent = parent;
|
|
507
|
+
this.namespaces = {};
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* Namespace context that manages hierarchical scopes
|
|
512
|
+
* @returns {NamespaceContext}
|
|
513
|
+
* @constructor
|
|
514
|
+
*/
|
|
515
|
+
function NamespaceContext() {
|
|
516
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!(this instanceof NamespaceContext)) {
|
|
517
|
+
<span class="cstat-no" title="statement not covered" > return new NamespaceContext();</span>
|
|
518
|
+
}
|
|
519
|
+
this.scopes = [];
|
|
520
|
+
this.pushContext();
|
|
521
|
+
this.prefixCount = 0;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
/**
|
|
525
|
+
* Look up the namespace URI by prefix
|
|
526
|
+
* @param {String} prefix Namespace prefix
|
|
527
|
+
* @param {Boolean} [localOnly] Search current scope only
|
|
528
|
+
* @returns {String} Namespace URI
|
|
529
|
+
*/
|
|
530
|
+
NamespaceScope.prototype.getNamespaceURI = function(prefix, localOnly) {
|
|
531
|
+
switch (prefix) {
|
|
532
|
+
<span class="branch-0 cbranch-no" title="branch not covered" > case 'xml':</span>
|
|
533
|
+
<span class="cstat-no" title="statement not covered" > return 'http://www.w3.org/XML/1998/namespace';</span>
|
|
534
|
+
<span class="branch-1 cbranch-no" title="branch not covered" > case 'xmlns':</span>
|
|
535
|
+
<span class="cstat-no" title="statement not covered" > return 'http://www.w3.org/2000/xmlns/';</span>
|
|
536
|
+
default:
|
|
537
|
+
var nsUri = this.namespaces[prefix];
|
|
538
|
+
/*jshint -W116 */
|
|
539
|
+
if (nsUri != null) {
|
|
540
|
+
return nsUri.uri;
|
|
541
|
+
} else if (!localOnly && this.parent) {
|
|
542
|
+
return this.parent.getNamespaceURI(prefix);
|
|
543
|
+
} else {
|
|
544
|
+
return null;
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
};
|
|
548
|
+
|
|
549
|
+
NamespaceScope.prototype.getNamespaceMapping = function(prefix) {
|
|
550
|
+
switch (prefix) {
|
|
551
|
+
<span class="branch-0 cbranch-no" title="branch not covered" > case 'xml':</span>
|
|
552
|
+
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
553
|
+
uri: 'http://www.w3.org/XML/1998/namespace',
|
|
554
|
+
prefix: 'xml',
|
|
555
|
+
declared: true
|
|
556
|
+
};
|
|
557
|
+
<span class="branch-1 cbranch-no" title="branch not covered" > case 'xmlns':</span>
|
|
558
|
+
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
559
|
+
uri: 'http://www.w3.org/2000/xmlns/',
|
|
560
|
+
prefix: 'xmlns',
|
|
561
|
+
declared: true
|
|
562
|
+
};
|
|
563
|
+
default:
|
|
564
|
+
var mapping = this.namespaces[prefix];
|
|
565
|
+
/*jshint -W116 */
|
|
566
|
+
if (mapping != null) {
|
|
567
|
+
return mapping;
|
|
568
|
+
} else if (this.parent) {
|
|
569
|
+
return this.parent.getNamespaceMapping(prefix);
|
|
570
|
+
} else {
|
|
571
|
+
return null;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
};
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* Look up the namespace prefix by URI
|
|
578
|
+
* @param {String} nsUri Namespace URI
|
|
579
|
+
* @param {Boolean} [localOnly] Search current scope only
|
|
580
|
+
* @returns {String} Namespace prefix
|
|
581
|
+
*/
|
|
582
|
+
NamespaceScope.prototype.getPrefix = function(nsUri, localOnly) {
|
|
583
|
+
switch (nsUri) {
|
|
584
|
+
<span class="branch-0 cbranch-no" title="branch not covered" > case 'http://www.w3.org/XML/1998/namespace':</span>
|
|
585
|
+
<span class="cstat-no" title="statement not covered" > return 'xml';</span>
|
|
586
|
+
<span class="branch-1 cbranch-no" title="branch not covered" > case 'http://www.w3.org/2000/xmlns/':</span>
|
|
587
|
+
<span class="cstat-no" title="statement not covered" > return 'xmlns';</span>
|
|
588
|
+
default:
|
|
589
|
+
for (var p in this.namespaces) {
|
|
590
|
+
if (this.namespaces[p].uri === nsUri) {
|
|
591
|
+
return p;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
if (!localOnly && this.parent) {
|
|
595
|
+
return this.parent.getPrefix(nsUri);
|
|
596
|
+
} else {
|
|
597
|
+
return null;
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
};
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* Add a prefix/URI namespace mapping
|
|
604
|
+
* @param {String} prefix Namespace prefix
|
|
605
|
+
* @param {String} nsUri Namespace URI
|
|
606
|
+
* @param {Boolean} [localOnly] Search current scope only
|
|
607
|
+
* @returns {boolean} true if the mapping is added or false if the mapping
|
|
608
|
+
* already exists
|
|
609
|
+
*/
|
|
610
|
+
NamespaceContext.prototype.addNamespace = function(prefix, nsUri, localOnly) {
|
|
611
|
+
if (this.getNamespaceURI(prefix, localOnly) === nsUri) {
|
|
612
|
+
return false;
|
|
613
|
+
}
|
|
614
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.currentScope) {
|
|
615
|
+
this.currentScope.namespaces[prefix] = {
|
|
616
|
+
uri: nsUri,
|
|
617
|
+
prefix: prefix,
|
|
618
|
+
declared: false
|
|
619
|
+
};
|
|
620
|
+
return true;
|
|
621
|
+
}
|
|
622
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
623
|
+
};
|
|
624
|
+
|
|
625
|
+
/**
|
|
626
|
+
* Push a scope into the context
|
|
627
|
+
* @returns {NamespaceScope} The current scope
|
|
628
|
+
*/
|
|
629
|
+
NamespaceContext.prototype.pushContext = function() {
|
|
630
|
+
var scope = new NamespaceScope(this.currentScope);
|
|
631
|
+
this.scopes.push(scope);
|
|
632
|
+
this.currentScope = scope;
|
|
633
|
+
return scope;
|
|
634
|
+
};
|
|
635
|
+
|
|
636
|
+
/**
|
|
637
|
+
* Pop a scope out of the context
|
|
638
|
+
* @returns {NamespaceScope} The removed scope
|
|
639
|
+
*/
|
|
640
|
+
NamespaceContext.prototype.popContext = function() {
|
|
641
|
+
var scope = this.scopes.pop();
|
|
642
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (scope) {
|
|
643
|
+
this.currentScope = scope.parent;
|
|
644
|
+
} else {
|
|
645
|
+
<span class="cstat-no" title="statement not covered" > this.currentScope = null;</span>
|
|
646
|
+
}
|
|
647
|
+
return scope;
|
|
648
|
+
};
|
|
649
|
+
|
|
650
|
+
/**
|
|
651
|
+
* Look up the namespace URI by prefix
|
|
652
|
+
* @param {String} prefix Namespace prefix
|
|
653
|
+
* @param {Boolean} [localOnly] Search current scope only
|
|
654
|
+
* @returns {String} Namespace URI
|
|
655
|
+
*/
|
|
656
|
+
NamespaceContext.prototype.getNamespaceURI = function(prefix, localOnly) {
|
|
657
|
+
return this.currentScope && this.currentScope.getNamespaceURI(prefix, localOnly);
|
|
658
|
+
};
|
|
659
|
+
|
|
660
|
+
/**
|
|
661
|
+
* Look up the namespace prefix by URI
|
|
662
|
+
* @param {String} nsURI Namespace URI
|
|
663
|
+
* @param {Boolean} [localOnly] Search current scope only
|
|
664
|
+
* @returns {String} Namespace prefix
|
|
665
|
+
*/
|
|
666
|
+
NamespaceContext.prototype.getPrefix = function(nsUri, localOnly) {
|
|
667
|
+
return this.currentScope && this.currentScope.getPrefix(nsUri, localOnly);
|
|
668
|
+
};
|
|
669
|
+
|
|
670
|
+
/**
|
|
671
|
+
* Register a namespace
|
|
672
|
+
* @param {String} nsUri Namespace URI
|
|
673
|
+
* @returns {String} The matching or generated namespace prefix
|
|
674
|
+
*/
|
|
675
|
+
NamespaceContext.prototype.registerNamespace = function(nsUri) {
|
|
676
|
+
var prefix = this.getPrefix(nsUri);
|
|
677
|
+
if (prefix) {
|
|
678
|
+
// If the namespace has already mapped to a prefix
|
|
679
|
+
return prefix;
|
|
680
|
+
} else {
|
|
681
|
+
// Try to generate a unique namespace
|
|
682
|
+
while (true) {
|
|
683
|
+
prefix = 'ns' + (++this.prefixCount);
|
|
684
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!this.getNamespaceURI(prefix)) {
|
|
685
|
+
// The prefix is not used
|
|
686
|
+
break;
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
this.addNamespace(prefix, nsUri, true);
|
|
691
|
+
return prefix;
|
|
692
|
+
};
|
|
693
|
+
|
|
694
|
+
/**
|
|
695
|
+
* Declare a namespace prefix/uri mapping
|
|
696
|
+
* @param {String} prefix Namespace prefix
|
|
697
|
+
* @param {String} nsUri Namespace URI
|
|
698
|
+
* @returns {Boolean} true if the declaration is created
|
|
699
|
+
*/
|
|
700
|
+
NamespaceContext.prototype.declareNamespace = function(prefix, nsUri) {
|
|
701
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.currentScope) {
|
|
702
|
+
var mapping = this.currentScope.getNamespaceMapping(prefix);
|
|
703
|
+
if (mapping && mapping.uri === nsUri && mapping.declared) {
|
|
704
|
+
return false;
|
|
705
|
+
}
|
|
706
|
+
this.currentScope.namespaces[prefix] = {
|
|
707
|
+
uri: nsUri,
|
|
708
|
+
prefix: prefix,
|
|
709
|
+
declared: true
|
|
710
|
+
};
|
|
711
|
+
return true;
|
|
712
|
+
}
|
|
713
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
714
|
+
};
|
|
715
|
+
</pre></td></tr>
|
|
716
|
+
</table></pre>
|
|
717
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
718
|
+
</div><!-- /wrapper -->
|
|
719
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
720
|
+
Code coverage
|
|
721
|
+
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sat Jan 09 2016 00:43:36 GMT-0700 (MST)
|
|
722
|
+
</div>
|
|
723
|
+
</div>
|
|
724
|
+
<script src="../../prettify.js"></script>
|
|
725
|
+
<script>
|
|
726
|
+
window.onload = function () {
|
|
727
|
+
if (typeof prettyPrint === 'function') {
|
|
728
|
+
prettyPrint();
|
|
729
|
+
}
|
|
730
|
+
};
|
|
731
|
+
</script>
|
|
732
|
+
<script src="../../sorter.js"></script>
|
|
733
|
+
</body>
|
|
734
|
+
</html>
|