postscribe 2.0.4 → 2.0.8
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/.npmignore +1 -0
- package/LICENSE +2 -1
- package/README.md +17 -4
- package/dist/postscribe.js +493 -470
- package/dist/postscribe.js.map +1 -0
- package/dist/postscribe.max.js +493 -470
- package/dist/postscribe.min.js +2 -2
- package/package.json +37 -40
- package/bower.json +0 -20
- package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov-report/base.css +0 -212
- package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov-report/index.html +0 -97
- package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov-report/prettify.css +0 -1
- package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov-report/prettify.js +0 -1
- package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov-report/sort-arrow-sprite.png +0 -0
- package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov-report/sorter.js +0 -158
- package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov-report/src/index.html +0 -123
- package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov-report/src/postscribe.js.html +0 -666
- package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov-report/src/utils.js.html +0 -453
- package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov-report/src/write-stream.js.html +0 -1896
- package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov.info +0 -649
package/dist/test-reports/coverage/PhantomJS 2.1.1 (Linux 0.0.0)/lcov-report/src/postscribe.js.html
DELETED
@@ -1,666 +0,0 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<title>Code coverage report for src/postscribe.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">src/</a> postscribe.js
|
20
|
-
</h1>
|
21
|
-
<div class='clearfix'>
|
22
|
-
<div class='fl pad1y space-right2'>
|
23
|
-
<span class="strong">85.87% </span>
|
24
|
-
<span class="quiet">Statements</span>
|
25
|
-
<span class='fraction'>79/92</span>
|
26
|
-
</div>
|
27
|
-
<div class='fl pad1y space-right2'>
|
28
|
-
<span class="strong">82.35% </span>
|
29
|
-
<span class="quiet">Branches</span>
|
30
|
-
<span class='fraction'>28/34</span>
|
31
|
-
</div>
|
32
|
-
<div class='fl pad1y space-right2'>
|
33
|
-
<span class="strong">81.25% </span>
|
34
|
-
<span class="quiet">Functions</span>
|
35
|
-
<span class='fraction'>13/16</span>
|
36
|
-
</div>
|
37
|
-
<div class='fl pad1y space-right2'>
|
38
|
-
<span class="strong">83.33% </span>
|
39
|
-
<span class="quiet">Lines</span>
|
40
|
-
<span class='fraction'>55/66</span>
|
41
|
-
</div>
|
42
|
-
<div class='fl pad1y'>
|
43
|
-
<span class="strong">7 statements, 7 branches</span>
|
44
|
-
<span class="quiet">Ignored</span>
|
45
|
-
</div>
|
46
|
-
</div>
|
47
|
-
</div>
|
48
|
-
<div class='status-line high'></div>
|
49
|
-
<pre><table class="coverage">
|
50
|
-
<tr><td class="line-count quiet">1
|
51
|
-
2
|
52
|
-
3
|
53
|
-
4
|
54
|
-
5
|
55
|
-
6
|
56
|
-
7
|
57
|
-
8
|
58
|
-
9
|
59
|
-
10
|
60
|
-
11
|
61
|
-
12
|
62
|
-
13
|
63
|
-
14
|
64
|
-
15
|
65
|
-
16
|
66
|
-
17
|
67
|
-
18
|
68
|
-
19
|
69
|
-
20
|
70
|
-
21
|
71
|
-
22
|
72
|
-
23
|
73
|
-
24
|
74
|
-
25
|
75
|
-
26
|
76
|
-
27
|
77
|
-
28
|
78
|
-
29
|
79
|
-
30
|
80
|
-
31
|
81
|
-
32
|
82
|
-
33
|
83
|
-
34
|
84
|
-
35
|
85
|
-
36
|
86
|
-
37
|
87
|
-
38
|
88
|
-
39
|
89
|
-
40
|
90
|
-
41
|
91
|
-
42
|
92
|
-
43
|
93
|
-
44
|
94
|
-
45
|
95
|
-
46
|
96
|
-
47
|
97
|
-
48
|
98
|
-
49
|
99
|
-
50
|
100
|
-
51
|
101
|
-
52
|
102
|
-
53
|
103
|
-
54
|
104
|
-
55
|
105
|
-
56
|
106
|
-
57
|
107
|
-
58
|
108
|
-
59
|
109
|
-
60
|
110
|
-
61
|
111
|
-
62
|
112
|
-
63
|
113
|
-
64
|
114
|
-
65
|
115
|
-
66
|
116
|
-
67
|
117
|
-
68
|
118
|
-
69
|
119
|
-
70
|
120
|
-
71
|
121
|
-
72
|
122
|
-
73
|
123
|
-
74
|
124
|
-
75
|
125
|
-
76
|
126
|
-
77
|
127
|
-
78
|
128
|
-
79
|
129
|
-
80
|
130
|
-
81
|
131
|
-
82
|
132
|
-
83
|
133
|
-
84
|
134
|
-
85
|
135
|
-
86
|
136
|
-
87
|
137
|
-
88
|
138
|
-
89
|
139
|
-
90
|
140
|
-
91
|
141
|
-
92
|
142
|
-
93
|
143
|
-
94
|
144
|
-
95
|
145
|
-
96
|
146
|
-
97
|
147
|
-
98
|
148
|
-
99
|
149
|
-
100
|
150
|
-
101
|
151
|
-
102
|
152
|
-
103
|
153
|
-
104
|
154
|
-
105
|
155
|
-
106
|
156
|
-
107
|
157
|
-
108
|
158
|
-
109
|
159
|
-
110
|
160
|
-
111
|
161
|
-
112
|
162
|
-
113
|
163
|
-
114
|
164
|
-
115
|
165
|
-
116
|
166
|
-
117
|
167
|
-
118
|
168
|
-
119
|
169
|
-
120
|
170
|
-
121
|
171
|
-
122
|
172
|
-
123
|
173
|
-
124
|
174
|
-
125
|
175
|
-
126
|
176
|
-
127
|
177
|
-
128
|
178
|
-
129
|
179
|
-
130
|
180
|
-
131
|
181
|
-
132
|
182
|
-
133
|
183
|
-
134
|
184
|
-
135
|
185
|
-
136
|
186
|
-
137
|
187
|
-
138
|
188
|
-
139
|
189
|
-
140
|
190
|
-
141
|
191
|
-
142
|
192
|
-
143
|
193
|
-
144
|
194
|
-
145
|
195
|
-
146
|
196
|
-
147
|
197
|
-
148
|
198
|
-
149
|
199
|
-
150
|
200
|
-
151
|
201
|
-
152
|
202
|
-
153
|
203
|
-
154
|
204
|
-
155
|
205
|
-
156
|
206
|
-
157
|
207
|
-
158
|
208
|
-
159
|
209
|
-
160
|
210
|
-
161
|
211
|
-
162
|
212
|
-
163
|
213
|
-
164
|
214
|
-
165
|
215
|
-
166
|
216
|
-
167
|
217
|
-
168
|
218
|
-
169
|
219
|
-
170
|
220
|
-
171
|
221
|
-
172
|
222
|
-
173
|
223
|
-
174
|
224
|
-
175
|
225
|
-
176
|
226
|
-
177
|
227
|
-
178
|
228
|
-
179
|
229
|
-
180
|
230
|
-
181
|
231
|
-
182
|
232
|
-
183
|
233
|
-
184
|
234
|
-
185
|
235
|
-
186
|
236
|
-
187
|
237
|
-
188
|
238
|
-
189
|
239
|
-
190
|
240
|
-
191
|
241
|
-
192
|
242
|
-
193
|
243
|
-
194
|
244
|
-
195
|
245
|
-
196
|
246
|
-
197
|
247
|
-
198
|
248
|
-
199
|
249
|
-
200</td><td class="line-coverage quiet"><span class="cline-any cline-yes">8×</span>
|
250
|
-
<span class="cline-any cline-yes">8×</span>
|
251
|
-
<span class="cline-any cline-neutral"> </span>
|
252
|
-
<span class="cline-any cline-neutral"> </span>
|
253
|
-
<span class="cline-any cline-neutral"> </span>
|
254
|
-
<span class="cline-any cline-neutral"> </span>
|
255
|
-
<span class="cline-any cline-yes">1×</span>
|
256
|
-
<span class="cline-any cline-neutral"> </span>
|
257
|
-
<span class="cline-any cline-neutral"> </span>
|
258
|
-
<span class="cline-any cline-neutral"> </span>
|
259
|
-
<span class="cline-any cline-neutral"> </span>
|
260
|
-
<span class="cline-any cline-neutral"> </span>
|
261
|
-
<span class="cline-any cline-neutral"> </span>
|
262
|
-
<span class="cline-any cline-neutral"> </span>
|
263
|
-
<span class="cline-any cline-yes">8×</span>
|
264
|
-
<span class="cline-any cline-neutral"> </span>
|
265
|
-
<span class="cline-any cline-neutral"> </span>
|
266
|
-
<span class="cline-any cline-neutral"> </span>
|
267
|
-
<span class="cline-any cline-neutral"> </span>
|
268
|
-
<span class="cline-any cline-neutral"> </span>
|
269
|
-
<span class="cline-any cline-neutral"> </span>
|
270
|
-
<span class="cline-any cline-neutral"> </span>
|
271
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </span>
|
280
|
-
<span class="cline-any cline-neutral"> </span>
|
281
|
-
<span class="cline-any cline-neutral"> </span>
|
282
|
-
<span class="cline-any cline-neutral"> </span>
|
283
|
-
<span class="cline-any cline-neutral"> </span>
|
284
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </span>
|
293
|
-
<span class="cline-any cline-neutral"> </span>
|
294
|
-
<span class="cline-any cline-neutral"> </span>
|
295
|
-
<span class="cline-any cline-neutral"> </span>
|
296
|
-
<span class="cline-any cline-neutral"> </span>
|
297
|
-
<span class="cline-any cline-neutral"> </span>
|
298
|
-
<span class="cline-any cline-neutral"> </span>
|
299
|
-
<span class="cline-any cline-yes">600×</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-yes">177×</span>
|
307
|
-
<span class="cline-any cline-neutral"> </span>
|
308
|
-
<span class="cline-any cline-neutral"> </span>
|
309
|
-
<span class="cline-any cline-neutral"> </span>
|
310
|
-
<span class="cline-any cline-neutral"> </span>
|
311
|
-
<span class="cline-any cline-neutral"> </span>
|
312
|
-
<span class="cline-any cline-neutral"> </span>
|
313
|
-
<span class="cline-any cline-neutral"> </span>
|
314
|
-
<span class="cline-any cline-neutral"> </span>
|
315
|
-
<span class="cline-any cline-neutral"> </span>
|
316
|
-
<span class="cline-any cline-neutral"> </span>
|
317
|
-
<span class="cline-any cline-neutral"> </span>
|
318
|
-
<span class="cline-any cline-no"> </span>
|
319
|
-
<span class="cline-any cline-neutral"> </span>
|
320
|
-
<span class="cline-any cline-neutral"> </span>
|
321
|
-
<span class="cline-any cline-neutral"> </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">8×</span>
|
327
|
-
<span class="cline-any cline-yes">8×</span>
|
328
|
-
<span class="cline-any cline-yes">8×</span>
|
329
|
-
<span class="cline-any cline-neutral"> </span>
|
330
|
-
<span class="cline-any cline-yes">1×</span>
|
331
|
-
<span class="cline-any cline-yes">153×</span>
|
332
|
-
<span class="cline-any cline-yes">153×</span>
|
333
|
-
<span class="cline-any cline-yes">84×</span>
|
334
|
-
<span class="cline-any cline-neutral"> </span>
|
335
|
-
<span class="cline-any cline-yes">84×</span>
|
336
|
-
<span class="cline-any cline-yes">84×</span>
|
337
|
-
<span class="cline-any cline-yes">84×</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">1×</span>
|
342
|
-
<span class="cline-any cline-yes">84×</span>
|
343
|
-
<span class="cline-any cline-neutral"> </span>
|
344
|
-
<span class="cline-any cline-neutral"> </span>
|
345
|
-
<span class="cline-any cline-yes">84×</span>
|
346
|
-
<span class="cline-any cline-yes">84×</span>
|
347
|
-
<span class="cline-any cline-yes">84×</span>
|
348
|
-
<span class="cline-any cline-neutral"> </span>
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
350
|
-
<span class="cline-any cline-yes">84×</span>
|
351
|
-
<span class="cline-any cline-neutral"> </span>
|
352
|
-
<span class="cline-any cline-yes">84×</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">177×</span>
|
361
|
-
<span class="cline-any cline-yes">177×</span>
|
362
|
-
<span class="cline-any cline-yes">177×</span>
|
363
|
-
<span class="cline-any cline-neutral"> </span>
|
364
|
-
<span class="cline-any cline-neutral"> </span>
|
365
|
-
<span class="cline-any cline-yes">84×</span>
|
366
|
-
<span class="cline-any cline-neutral"> </span>
|
367
|
-
<span class="cline-any cline-neutral"> </span>
|
368
|
-
<span class="cline-any cline-yes">219×</span>
|
369
|
-
<span class="cline-any cline-no"> </span>
|
370
|
-
<span class="cline-any cline-neutral"> </span>
|
371
|
-
<span class="cline-any cline-neutral"> </span>
|
372
|
-
<span class="cline-any cline-neutral"> </span>
|
373
|
-
<span class="cline-any cline-yes">84×</span>
|
374
|
-
<span class="cline-any cline-neutral"> </span>
|
375
|
-
<span class="cline-any cline-neutral"> </span>
|
376
|
-
<span class="cline-any cline-neutral"> </span>
|
377
|
-
<span class="cline-any cline-yes">84×</span>
|
378
|
-
<span class="cline-any cline-yes">3×</span>
|
379
|
-
<span class="cline-any cline-yes">3×</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-yes">84×</span>
|
384
|
-
<span class="cline-any cline-neutral"> </span>
|
385
|
-
<span class="cline-any cline-yes">84×</span>
|
386
|
-
<span class="cline-any cline-neutral"> </span>
|
387
|
-
<span class="cline-any cline-neutral"> </span>
|
388
|
-
<span class="cline-any cline-yes">84×</span>
|
389
|
-
<span class="cline-any cline-neutral"> </span>
|
390
|
-
<span class="cline-any cline-yes">84×</span>
|
391
|
-
<span class="cline-any cline-yes">84×</span>
|
392
|
-
<span class="cline-any cline-yes">84×</span>
|
393
|
-
<span class="cline-any cline-neutral"> </span>
|
394
|
-
<span class="cline-any cline-neutral"> </span>
|
395
|
-
<span class="cline-any cline-yes">84×</span>
|
396
|
-
<span class="cline-any cline-neutral"> </span>
|
397
|
-
<span class="cline-any cline-neutral"> </span>
|
398
|
-
<span class="cline-any cline-yes">1×</span>
|
399
|
-
<span class="cline-any cline-yes">84×</span>
|
400
|
-
<span class="cline-any cline-no"> </span>
|
401
|
-
<span class="cline-any cline-yes">84×</span>
|
402
|
-
<span class="cline-any cline-no"> </span>
|
403
|
-
<span class="cline-any cline-no"> </span>
|
404
|
-
<span class="cline-any cline-no"> </span>
|
405
|
-
<span class="cline-any cline-no"> </span>
|
406
|
-
<span class="cline-any cline-neutral"> </span>
|
407
|
-
<span class="cline-any cline-neutral"> </span>
|
408
|
-
<span class="cline-any cline-yes">84×</span>
|
409
|
-
<span class="cline-any cline-neutral"> </span>
|
410
|
-
<span class="cline-any cline-neutral"> </span>
|
411
|
-
<span class="cline-any cline-yes">84×</span>
|
412
|
-
<span class="cline-any cline-no"> </span>
|
413
|
-
<span class="cline-any cline-neutral"> </span>
|
414
|
-
<span class="cline-any cline-yes">84×</span>
|
415
|
-
<span class="cline-any cline-neutral"> </span>
|
416
|
-
<span class="cline-any cline-neutral"> </span>
|
417
|
-
<span class="cline-any cline-yes">84×</span>
|
418
|
-
<span class="cline-any cline-neutral"> </span>
|
419
|
-
<span class="cline-any cline-yes">84×</span>
|
420
|
-
<span class="cline-any cline-neutral"> </span>
|
421
|
-
<span class="cline-any cline-no"> </span>
|
422
|
-
<span class="cline-any cline-no"> </span>
|
423
|
-
<span class="cline-any cline-neutral"> </span>
|
424
|
-
<span class="cline-any cline-no"> </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-yes">84×</span>
|
430
|
-
<span class="cline-any cline-yes">84×</span>
|
431
|
-
<span class="cline-any cline-neutral"> </span>
|
432
|
-
<span class="cline-any cline-yes">84×</span>
|
433
|
-
<span class="cline-any cline-yes">69×</span>
|
434
|
-
<span class="cline-any cline-neutral"> </span>
|
435
|
-
<span class="cline-any cline-neutral"> </span>
|
436
|
-
<span class="cline-any cline-yes">84×</span>
|
437
|
-
<span class="cline-any cline-neutral"> </span>
|
438
|
-
<span class="cline-any cline-neutral"> </span>
|
439
|
-
<span class="cline-any cline-yes">8×</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-neutral"> </span>
|
444
|
-
<span class="cline-any cline-neutral"> </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></td><td class="text"><pre class="prettyprint lang-js">import WriteStream from './write-stream';
|
449
|
-
import * as utils from './utils';
|
450
|
-
|
451
|
-
/**
|
452
|
-
* A function that intentionally does nothing.
|
453
|
-
*/
|
454
|
-
function doNothing() {
|
455
|
-
}
|
456
|
-
|
457
|
-
/**
|
458
|
-
* Available options and defaults.
|
459
|
-
*
|
460
|
-
* @type {Object}
|
461
|
-
*/
|
462
|
-
const OPTIONS = <span class="fstat-no" title="function not covered" >{</span>
|
463
|
-
/**
|
464
|
-
* Called when an async script has loaded.
|
465
|
-
*/
|
466
|
-
afterAsync: doNothing,
|
467
|
-
|
468
|
-
/**
|
469
|
-
* Called immediately before removing from the write queue.
|
470
|
-
*/
|
471
|
-
afterDequeue: doNothing,
|
472
|
-
|
473
|
-
/**
|
474
|
-
* Called sync after a stream's first thread release.
|
475
|
-
*/
|
476
|
-
afterStreamStart: doNothing,
|
477
|
-
|
478
|
-
/**
|
479
|
-
* Called after writing buffered document.write calls.
|
480
|
-
*/
|
481
|
-
afterWrite: doNothing,
|
482
|
-
|
483
|
-
/**
|
484
|
-
* Allows disabling the autoFix feature of prescribe
|
485
|
-
*/
|
486
|
-
autoFix: true,
|
487
|
-
|
488
|
-
/**
|
489
|
-
* Called immediately before adding to the write queue.
|
490
|
-
*/
|
491
|
-
beforeEnqueue: doNothing,
|
492
|
-
|
493
|
-
/**
|
494
|
-
* Called before writing a token.
|
495
|
-
*
|
496
|
-
* @param {Object} tok The token
|
497
|
-
*/
|
498
|
-
beforeWriteToken: tok => tok,
|
499
|
-
|
500
|
-
/**
|
501
|
-
* Called before writing buffered document.write calls.
|
502
|
-
*
|
503
|
-
* @param {String} str The string
|
504
|
-
*/
|
505
|
-
beforeWrite: str => str,
|
506
|
-
|
507
|
-
/**
|
508
|
-
* Called when evaluation is finished.
|
509
|
-
*/
|
510
|
-
done: doNothing,
|
511
|
-
|
512
|
-
/**
|
513
|
-
* Called when a write results in an error.
|
514
|
-
*
|
515
|
-
* @param {Error} e The error
|
516
|
-
*/
|
517
|
-
error(e) { <span class="cstat-no" title="statement not covered" >t</span>hrow e; },
|
518
|
-
|
519
|
-
/**
|
520
|
-
* Whether to let scripts w/ async attribute set fall out of the queue.
|
521
|
-
*/
|
522
|
-
releaseAsync: false
|
523
|
-
};
|
524
|
-
|
525
|
-
let nextId = 0;
|
526
|
-
let queue = [];
|
527
|
-
let active = null;
|
528
|
-
|
529
|
-
function nextStream() {
|
530
|
-
const args = queue.shift();
|
531
|
-
if (args) {
|
532
|
-
const options = utils.last(args);
|
533
|
-
|
534
|
-
options.afterDequeue();
|
535
|
-
args.stream = runStream(...args);
|
536
|
-
options.afterStreamStart();
|
537
|
-
}
|
538
|
-
}
|
539
|
-
|
540
|
-
function runStream(el, html, options) {
|
541
|
-
active = new WriteStream(el, options);
|
542
|
-
|
543
|
-
// Identify this stream.
|
544
|
-
active.id = nextId++;
|
545
|
-
active.name = options.name || active.id;
|
546
|
-
postscribe.streams[active.name] = active;
|
547
|
-
|
548
|
-
// Override document.write.
|
549
|
-
const doc = el.ownerDocument;
|
550
|
-
|
551
|
-
const stash = {
|
552
|
-
close: doc.close,
|
553
|
-
open: doc.open,
|
554
|
-
write: doc.write,
|
555
|
-
writeln: doc.writeln
|
556
|
-
};
|
557
|
-
|
558
|
-
function write(str) {
|
559
|
-
str = options.beforeWrite(str);
|
560
|
-
active.write(str);
|
561
|
-
options.afterWrite(str);
|
562
|
-
}
|
563
|
-
|
564
|
-
Object.assign(doc, {
|
565
|
-
close: doNothing,
|
566
|
-
open: doNothing,
|
567
|
-
write: (...str) => write(str.join('')),
|
568
|
-
writeln: <span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(</span></span></span></span>...<span class="cstat-no" title="statement not covered" >str) => write(str.join('') + '\n')
|
569
|
-
});
|
570
|
-
|
571
|
-
// Override window.onerror
|
572
|
-
const oldOnError = active.win.onerror || doNothing;
|
573
|
-
|
574
|
-
// This works together with the try/catch around WriteStream::insertScript
|
575
|
-
// In modern browsers, exceptions in tag scripts go directly to top level
|
576
|
-
active.win.onerror = (msg, url, line) => {
|
577
|
-
options.error({msg: `${msg} - ${url}: ${line}`});
|
578
|
-
oldOnError.apply(active.win, [msg, url, line]);
|
579
|
-
};
|
580
|
-
|
581
|
-
// Write to the stream
|
582
|
-
active.write(html, () => {
|
583
|
-
// restore document.write
|
584
|
-
Object.assign(doc, stash);
|
585
|
-
|
586
|
-
// restore window.onerror
|
587
|
-
active.win.onerror = oldOnError;
|
588
|
-
|
589
|
-
options.done();
|
590
|
-
active = null;
|
591
|
-
nextStream();
|
592
|
-
});
|
593
|
-
|
594
|
-
return active;
|
595
|
-
}
|
596
|
-
|
597
|
-
export default function postscribe(el, html, options) {
|
598
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (utils.isFunction(options)) {
|
599
|
-
<span class="cstat-no" title="statement not covered" > o</span>ptions = {done: options};
|
600
|
-
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (options === 'clear') {
|
601
|
-
<span class="cstat-no" title="statement not covered" > q</span>ueue = [];
|
602
|
-
<span class="cstat-no" title="statement not covered" > a</span>ctive = null;
|
603
|
-
<span class="cstat-no" title="statement not covered" > n</span>extId = 0;
|
604
|
-
<span class="cstat-no" title="statement not covered" > r</span>eturn;
|
605
|
-
}
|
606
|
-
|
607
|
-
options = utils.defaults(options, OPTIONS);
|
608
|
-
|
609
|
-
// id selector
|
610
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if ((/^#/).test(el)) {
|
611
|
-
<span class="cstat-no" title="statement not covered" > e</span>l = window.document.getElementById(el.substr(1));
|
612
|
-
} else {
|
613
|
-
el = e</span>l.jquery ? <span class="branch-0 cbranch-no" title="branch not covered" >el[0] : el;
|
614
|
-
}
|
615
|
-
|
616
|
-
const args = [el, html, options];
|
617
|
-
|
618
|
-
el.postscribe = {
|
619
|
-
cancel: <span class="fstat-no" title="function not covered" >() => {</span>
|
620
|
-
<span class="cstat-no" title="statement not covered" > if (args.stream) {</span>
|
621
|
-
<span class="cstat-no" title="statement not covered" > a</span>rgs.stream.abort();
|
622
|
-
} else {
|
623
|
-
<span class="cstat-no" title="statement not covered" > a</span>rgs[1] = doNothing;
|
624
|
-
}
|
625
|
-
}
|
626
|
-
};
|
627
|
-
|
628
|
-
options.beforeEnqueue(args);
|
629
|
-
queue.push(args);
|
630
|
-
|
631
|
-
if (!active) {
|
632
|
-
nextStream();
|
633
|
-
}
|
634
|
-
|
635
|
-
return el.postscribe;
|
636
|
-
}
|
637
|
-
|
638
|
-
Object.assign(postscribe, {
|
639
|
-
// Streams by name.
|
640
|
-
streams: {},
|
641
|
-
// Queue of streams.
|
642
|
-
queue,
|
643
|
-
// Expose internal classes.
|
644
|
-
WriteStream
|
645
|
-
});
|
646
|
-
|
647
|
-
</pre></td></tr>
|
648
|
-
</table></pre>
|
649
|
-
<div class='push'></div><!-- for sticky footer -->
|
650
|
-
</div><!-- /wrapper -->
|
651
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
652
|
-
Code coverage
|
653
|
-
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Apr 27 2016 01:39:53 GMT+0000 (UTC)
|
654
|
-
</div>
|
655
|
-
</div>
|
656
|
-
<script src="../prettify.js"></script>
|
657
|
-
<script>
|
658
|
-
window.onload = function () {
|
659
|
-
if (typeof prettyPrint === 'function') {
|
660
|
-
prettyPrint();
|
661
|
-
}
|
662
|
-
};
|
663
|
-
</script>
|
664
|
-
<script src="../sorter.js"></script>
|
665
|
-
</body>
|
666
|
-
</html>
|