• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

leizongmin / js-css-filter / #674

28 Aug 2025 10:18PM UTC coverage: 96.344% (-0.008%) from 96.352%
#674

push

55 of 72 branches covered (76.39%)

448 of 465 relevant lines covered (96.34%)

9.54 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

99.71
/lib/default.js
1
/**
2
 * cssfilter
3
 *
4
 * @author 老雷<leizongmin@gmail.com>
5
 */
6

7
function getDefaultWhiteList () {
1✔
8
  // 白名单值说明:
9
  // true: 允许该属性
10
  // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许
11
  // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许
12
  // 除上面列出的值外均表示不允许
13
  var whiteList = {};
1✔
14

15
  whiteList['align-content'] = false; // default: auto
1✔
16
  whiteList['align-items'] = false; // default: auto
1✔
17
  whiteList['align-self'] = false; // default: auto
1✔
18
  whiteList['alignment-adjust'] = false; // default: auto
1✔
19
  whiteList['alignment-baseline'] = false; // default: baseline
1✔
20
  whiteList['all'] = false; // default: depending on individual properties
1✔
21
  whiteList['anchor-point'] = false; // default: none
1✔
22
  whiteList['animation'] = false; // default: depending on individual properties
1✔
23
  whiteList['animation-delay'] = false; // default: 0
1✔
24
  whiteList['animation-direction'] = false; // default: normal
1✔
25
  whiteList['animation-duration'] = false; // default: 0
1✔
26
  whiteList['animation-fill-mode'] = false; // default: none
1✔
27
  whiteList['animation-iteration-count'] = false; // default: 1
1✔
28
  whiteList['animation-name'] = false; // default: none
1✔
29
  whiteList['animation-play-state'] = false; // default: running
1✔
30
  whiteList['animation-timing-function'] = false; // default: ease
1✔
31
  whiteList['azimuth'] = false; // default: center
1✔
32
  whiteList['backface-visibility'] = false; // default: visible
1✔
33
  whiteList['background'] = true; // default: depending on individual properties
1✔
34
  whiteList['background-attachment'] = true; // default: scroll
1✔
35
  whiteList['background-clip'] = true; // default: border-box
1✔
36
  whiteList['background-color'] = true; // default: transparent
1✔
37
  whiteList['background-image'] = true; // default: none
1✔
38
  whiteList['background-origin'] = true; // default: padding-box
1✔
39
  whiteList['background-position'] = true; // default: 0% 0%
1✔
40
  whiteList['background-repeat'] = true; // default: repeat
1✔
41
  whiteList['background-size'] = true; // default: auto
1✔
42
  whiteList['baseline-shift'] = false; // default: baseline
1✔
43
  whiteList['binding'] = false; // default: none
1✔
44
  whiteList['bleed'] = false; // default: 6pt
1✔
45
  whiteList['bookmark-label'] = false; // default: content()
1✔
46
  whiteList['bookmark-level'] = false; // default: none
1✔
47
  whiteList['bookmark-state'] = false; // default: open
1✔
48
  whiteList['border'] = true; // default: depending on individual properties
1✔
49
  whiteList['border-bottom'] = true; // default: depending on individual properties
1✔
50
  whiteList['border-bottom-color'] = true; // default: current color
1✔
51
  whiteList['border-bottom-left-radius'] = true; // default: 0
1✔
52
  whiteList['border-bottom-right-radius'] = true; // default: 0
1✔
53
  whiteList['border-bottom-style'] = true; // default: none
1✔
54
  whiteList['border-bottom-width'] = true; // default: medium
1✔
55
  whiteList['border-collapse'] = true; // default: separate
1✔
56
  whiteList['border-color'] = true; // default: depending on individual properties
1✔
57
  whiteList['border-image'] = true; // default: none
1✔
58
  whiteList['border-image-outset'] = true; // default: 0
1✔
59
  whiteList['border-image-repeat'] = true; // default: stretch
1✔
60
  whiteList['border-image-slice'] = true; // default: 100%
1✔
61
  whiteList['border-image-source'] = true; // default: none
1✔
62
  whiteList['border-image-width'] = true; // default: 1
1✔
63
  whiteList['border-left'] = true; // default: depending on individual properties
1✔
64
  whiteList['border-left-color'] = true; // default: current color
1✔
65
  whiteList['border-left-style'] = true; // default: none
1✔
66
  whiteList['border-left-width'] = true; // default: medium
1✔
67
  whiteList['border-radius'] = true; // default: 0
1✔
68
  whiteList['border-right'] = true; // default: depending on individual properties
1✔
69
  whiteList['border-right-color'] = true; // default: current color
1✔
70
  whiteList['border-right-style'] = true; // default: none
1✔
71
  whiteList['border-right-width'] = true; // default: medium
1✔
72
  whiteList['border-spacing'] = true; // default: 0
1✔
73
  whiteList['border-style'] = true; // default: depending on individual properties
1✔
74
  whiteList['border-top'] = true; // default: depending on individual properties
1✔
75
  whiteList['border-top-color'] = true; // default: current color
1✔
76
  whiteList['border-top-left-radius'] = true; // default: 0
1✔
77
  whiteList['border-top-right-radius'] = true; // default: 0
1✔
78
  whiteList['border-top-style'] = true; // default: none
1✔
79
  whiteList['border-top-width'] = true; // default: medium
1✔
80
  whiteList['border-width'] = true; // default: depending on individual properties
1✔
81
  whiteList['bottom'] = false; // default: auto
1✔
82
  whiteList['box-decoration-break'] = true; // default: slice
1✔
83
  whiteList['box-shadow'] = true; // default: none
1✔
84
  whiteList['box-sizing'] = true; // default: content-box
1✔
85
  whiteList['box-snap'] = true; // default: none
1✔
86
  whiteList['box-suppress'] = true; // default: show
1✔
87
  whiteList['break-after'] = true; // default: auto
1✔
88
  whiteList['break-before'] = true; // default: auto
1✔
89
  whiteList['break-inside'] = true; // default: auto
1✔
90
  whiteList['caption-side'] = false; // default: top
1✔
91
  whiteList['chains'] = false; // default: none
1✔
92
  whiteList['clear'] = true; // default: none
1✔
93
  whiteList['clip'] = false; // default: auto
1✔
94
  whiteList['clip-path'] = false; // default: none
1✔
95
  whiteList['clip-rule'] = false; // default: nonzero
1✔
96
  whiteList['color'] = true; // default: implementation dependent
1✔
97
  whiteList['color-interpolation-filters'] = true; // default: auto
1✔
98
  whiteList['column-count'] = false; // default: auto
1✔
99
  whiteList['column-fill'] = false; // default: balance
1✔
100
  whiteList['column-gap'] = false; // default: normal
1✔
101
  whiteList['column-rule'] = false; // default: depending on individual properties
1✔
102
  whiteList['column-rule-color'] = false; // default: current color
1✔
103
  whiteList['column-rule-style'] = false; // default: medium
1✔
104
  whiteList['column-rule-width'] = false; // default: medium
1✔
105
  whiteList['column-span'] = false; // default: none
1✔
106
  whiteList['column-width'] = false; // default: auto
1✔
107
  whiteList['columns'] = false; // default: depending on individual properties
1✔
108
  whiteList['contain'] = false; // default: none
1✔
109
  whiteList['content'] = false; // default: normal
1✔
110
  whiteList['counter-increment'] = false; // default: none
1✔
111
  whiteList['counter-reset'] = false; // default: none
1✔
112
  whiteList['counter-set'] = false; // default: none
1✔
113
  whiteList['crop'] = false; // default: auto
1✔
114
  whiteList['cue'] = false; // default: depending on individual properties
1✔
115
  whiteList['cue-after'] = false; // default: none
1✔
116
  whiteList['cue-before'] = false; // default: none
1✔
117
  whiteList['cursor'] = false; // default: auto
1✔
118
  whiteList['direction'] = false; // default: ltr
1✔
119
  whiteList['display'] = true; // default: depending on individual properties
1✔
120
  whiteList['display-inside'] = true; // default: auto
1✔
121
  whiteList['display-list'] = true; // default: none
1✔
122
  whiteList['display-outside'] = true; // default: inline-level
1✔
123
  whiteList['dominant-baseline'] = false; // default: auto
1✔
124
  whiteList['elevation'] = false; // default: level
1✔
125
  whiteList['empty-cells'] = false; // default: show
1✔
126
  whiteList['filter'] = false; // default: none
1✔
127
  whiteList['flex'] = false; // default: depending on individual properties
1✔
128
  whiteList['flex-basis'] = false; // default: auto
1✔
129
  whiteList['flex-direction'] = false; // default: row
1✔
130
  whiteList['flex-flow'] = false; // default: depending on individual properties
1✔
131
  whiteList['flex-grow'] = false; // default: 0
1✔
132
  whiteList['flex-shrink'] = false; // default: 1
1✔
133
  whiteList['flex-wrap'] = false; // default: nowrap
1✔
134
  whiteList['float'] = false; // default: none
1✔
135
  whiteList['float-offset'] = false; // default: 0 0
1✔
136
  whiteList['flood-color'] = false; // default: black
1✔
137
  whiteList['flood-opacity'] = false; // default: 1
1✔
138
  whiteList['flow-from'] = false; // default: none
1✔
139
  whiteList['flow-into'] = false; // default: none
1✔
140
  whiteList['font'] = true; // default: depending on individual properties
1✔
141
  whiteList['font-family'] = true; // default: implementation dependent
1✔
142
  whiteList['font-feature-settings'] = true; // default: normal
1✔
143
  whiteList['font-kerning'] = true; // default: auto
1✔
144
  whiteList['font-language-override'] = true; // default: normal
1✔
145
  whiteList['font-size'] = true; // default: medium
1✔
146
  whiteList['font-size-adjust'] = true; // default: none
1✔
147
  whiteList['font-stretch'] = true; // default: normal
1✔
148
  whiteList['font-style'] = true; // default: normal
1✔
149
  whiteList['font-synthesis'] = true; // default: weight style
1✔
150
  whiteList['font-variant'] = true; // default: normal
1✔
151
  whiteList['font-variant-alternates'] = true; // default: normal
1✔
152
  whiteList['font-variant-caps'] = true; // default: normal
1✔
153
  whiteList['font-variant-east-asian'] = true; // default: normal
1✔
154
  whiteList['font-variant-ligatures'] = true; // default: normal
1✔
155
  whiteList['font-variant-numeric'] = true; // default: normal
1✔
156
  whiteList['font-variant-position'] = true; // default: normal
1✔
157
  whiteList['font-weight'] = true; // default: normal
1✔
158
  whiteList['gap'] = false; // default: normal normal
1✔
159
  whiteList['grid'] = false; // default: depending on individual properties
1✔
160
  whiteList['grid-area'] = false; // default: depending on individual properties
1✔
161
  whiteList['grid-auto-columns'] = false; // default: auto
1✔
162
  whiteList['grid-auto-flow'] = false; // default: none
1✔
163
  whiteList['grid-auto-rows'] = false; // default: auto
1✔
164
  whiteList['grid-column'] = false; // default: depending on individual properties
1✔
165
  whiteList['grid-column-end'] = false; // default: auto
1✔
166
  whiteList['grid-column-start'] = false; // default: auto
1✔
167
  whiteList['grid-row'] = false; // default: depending on individual properties
1✔
168
  whiteList['grid-row-end'] = false; // default: auto
1✔
169
  whiteList['grid-row-start'] = false; // default: auto
1✔
170
  whiteList['grid-template'] = false; // default: depending on individual properties
1✔
171
  whiteList['grid-template-areas'] = false; // default: none
1✔
172
  whiteList['grid-template-columns'] = false; // default: none
1✔
173
  whiteList['grid-template-rows'] = false; // default: none
1✔
174
  whiteList['hanging-punctuation'] = false; // default: none
1✔
175
  whiteList['height'] = true; // default: auto
1✔
176
  whiteList['hyphens'] = false; // default: manual
1✔
177
  whiteList['icon'] = false; // default: auto
1✔
178
  whiteList['image-orientation'] = false; // default: auto
1✔
179
  whiteList['image-resolution'] = false; // default: normal
1✔
180
  whiteList['ime-mode'] = false; // default: auto
1✔
181
  whiteList['initial-letters'] = false; // default: normal
1✔
182
  whiteList['inline-box-align'] = false; // default: last
1✔
183
  whiteList['justify-content'] = false; // default: auto
1✔
184
  whiteList['justify-items'] = false; // default: auto
1✔
185
  whiteList['justify-self'] = false; // default: auto
1✔
186
  whiteList['left'] = false; // default: auto
1✔
187
  whiteList['letter-spacing'] = true; // default: normal
1✔
188
  whiteList['lighting-color'] = true; // default: white
1✔
189
  whiteList['line-box-contain'] = false; // default: block inline replaced
1✔
190
  whiteList['line-break'] = false; // default: auto
1✔
191
  whiteList['line-grid'] = false; // default: match-parent
1✔
192
  whiteList['line-height'] = false; // default: normal
1✔
193
  whiteList['line-snap'] = false; // default: none
1✔
194
  whiteList['line-stacking'] = false; // default: depending on individual properties
1✔
195
  whiteList['line-stacking-ruby'] = false; // default: exclude-ruby
1✔
196
  whiteList['line-stacking-shift'] = false; // default: consider-shifts
1✔
197
  whiteList['line-stacking-strategy'] = false; // default: inline-line-height
1✔
198
  whiteList['list-style'] = true; // default: depending on individual properties
1✔
199
  whiteList['list-style-image'] = true; // default: none
1✔
200
  whiteList['list-style-position'] = true; // default: outside
1✔
201
  whiteList['list-style-type'] = true; // default: disc
1✔
202
  whiteList['margin'] = true; // default: depending on individual properties
1✔
203
  whiteList['margin-bottom'] = true; // default: 0
1✔
204
  whiteList['margin-left'] = true; // default: 0
1✔
205
  whiteList['margin-right'] = true; // default: 0
1✔
206
  whiteList['margin-top'] = true; // default: 0
1✔
207
  whiteList['marker-offset'] = false; // default: auto
1✔
208
  whiteList['marker-side'] = false; // default: list-item
1✔
209
  whiteList['marks'] = false; // default: none
1✔
210
  whiteList['mask'] = false; // default: border-box
1✔
211
  whiteList['mask-box'] = false; // default: see individual properties
1✔
212
  whiteList['mask-box-outset'] = false; // default: 0
1✔
213
  whiteList['mask-box-repeat'] = false; // default: stretch
1✔
214
  whiteList['mask-box-slice'] = false; // default: 0 fill
1✔
215
  whiteList['mask-box-source'] = false; // default: none
1✔
216
  whiteList['mask-box-width'] = false; // default: auto
1✔
217
  whiteList['mask-clip'] = false; // default: border-box
1✔
218
  whiteList['mask-image'] = false; // default: none
1✔
219
  whiteList['mask-origin'] = false; // default: border-box
1✔
220
  whiteList['mask-position'] = false; // default: center
1✔
221
  whiteList['mask-repeat'] = false; // default: no-repeat
1✔
222
  whiteList['mask-size'] = false; // default: border-box
1✔
223
  whiteList['mask-source-type'] = false; // default: auto
1✔
224
  whiteList['mask-type'] = false; // default: luminance
1✔
225
  whiteList['max-height'] = true; // default: none
1✔
226
  whiteList['max-lines'] = false; // default: none
1✔
227
  whiteList['max-width'] = true; // default: none
1✔
228
  whiteList['min-height'] = true; // default: 0
1✔
229
  whiteList['min-width'] = true; // default: 0
1✔
230
  whiteList['move-to'] = false; // default: normal
1✔
231
  whiteList['nav-down'] = false; // default: auto
1✔
232
  whiteList['nav-index'] = false; // default: auto
1✔
233
  whiteList['nav-left'] = false; // default: auto
1✔
234
  whiteList['nav-right'] = false; // default: auto
1✔
235
  whiteList['nav-up'] = false; // default: auto
1✔
236
  whiteList['object-fit'] = false; // default: fill
1✔
237
  whiteList['object-position'] = false; // default: 50% 50%
1✔
238
  whiteList['opacity'] = false; // default: 1
1✔
239
  whiteList['order'] = false; // default: 0
1✔
240
  whiteList['orphans'] = false; // default: 2
1✔
241
  whiteList['outline'] = false; // default: depending on individual properties
1✔
242
  whiteList['outline-color'] = false; // default: invert
1✔
243
  whiteList['outline-offset'] = false; // default: 0
1✔
244
  whiteList['outline-style'] = false; // default: none
1✔
245
  whiteList['outline-width'] = false; // default: medium
1✔
246
  whiteList['overflow'] = false; // default: depending on individual properties
1✔
247
  whiteList['overflow-wrap'] = false; // default: normal
1✔
248
  whiteList['overflow-x'] = false; // default: visible
1✔
249
  whiteList['overflow-y'] = false; // default: visible
1✔
250
  whiteList['padding'] = true; // default: depending on individual properties
1✔
251
  whiteList['padding-bottom'] = true; // default: 0
1✔
252
  whiteList['padding-left'] = true; // default: 0
1✔
253
  whiteList['padding-right'] = true; // default: 0
1✔
254
  whiteList['padding-top'] = true; // default: 0
1✔
255
  whiteList['page'] = false; // default: auto
1✔
256
  whiteList['page-break-after'] = false; // default: auto
1✔
257
  whiteList['page-break-before'] = false; // default: auto
1✔
258
  whiteList['page-break-inside'] = false; // default: auto
1✔
259
  whiteList['page-policy'] = false; // default: start
1✔
260
  whiteList['pause'] = false; // default: implementation dependent
1✔
261
  whiteList['pause-after'] = false; // default: implementation dependent
1✔
262
  whiteList['pause-before'] = false; // default: implementation dependent
1✔
263
  whiteList['perspective'] = false; // default: none
1✔
264
  whiteList['perspective-origin'] = false; // default: 50% 50%
1✔
265
  whiteList['pitch'] = false; // default: medium
1✔
266
  whiteList['pitch-range'] = false; // default: 50
1✔
267
  whiteList['play-during'] = false; // default: auto
1✔
268
  whiteList['position'] = false; // default: static
1✔
269
  whiteList['presentation-level'] = false; // default: 0
1✔
270
  whiteList['quotes'] = false; // default: text
1✔
271
  whiteList['region-fragment'] = false; // default: auto
1✔
272
  whiteList['resize'] = false; // default: none
1✔
273
  whiteList['rest'] = false; // default: depending on individual properties
1✔
274
  whiteList['rest-after'] = false; // default: none
1✔
275
  whiteList['rest-before'] = false; // default: none
1✔
276
  whiteList['richness'] = false; // default: 50
1✔
277
  whiteList['right'] = false; // default: auto
1✔
278
  whiteList['rotation'] = false; // default: 0
1✔
279
  whiteList['rotation-point'] = false; // default: 50% 50%
1✔
280
  whiteList['row-gap'] = false; // default: normal
1✔
281
  whiteList['ruby-align'] = false; // default: auto
1✔
282
  whiteList['ruby-merge'] = false; // default: separate
1✔
283
  whiteList['ruby-position'] = false; // default: before
1✔
284
  whiteList['shape-image-threshold'] = false; // default: 0.0
1✔
285
  whiteList['shape-outside'] = false; // default: none
1✔
286
  whiteList['shape-margin'] = false; // default: 0
1✔
287
  whiteList['size'] = false; // default: auto
1✔
288
  whiteList['speak'] = false; // default: auto
1✔
289
  whiteList['speak-as'] = false; // default: normal
1✔
290
  whiteList['speak-header'] = false; // default: once
1✔
291
  whiteList['speak-numeral'] = false; // default: continuous
1✔
292
  whiteList['speak-punctuation'] = false; // default: none
1✔
293
  whiteList['speech-rate'] = false; // default: medium
1✔
294
  whiteList['stress'] = false; // default: 50
1✔
295
  whiteList['string-set'] = false; // default: none
1✔
296
  whiteList['tab-size'] = false; // default: 8
1✔
297
  whiteList['table-layout'] = false; // default: auto
1✔
298
  whiteList['text-align'] = true; // default: start
1✔
299
  whiteList['text-align-last'] = true; // default: auto
1✔
300
  whiteList['text-combine-upright'] = true; // default: none
1✔
301
  whiteList['text-decoration'] = true; // default: none
1✔
302
  whiteList['text-decoration-color'] = true; // default: currentColor
1✔
303
  whiteList['text-decoration-line'] = true; // default: none
1✔
304
  whiteList['text-decoration-skip'] = true; // default: objects
1✔
305
  whiteList['text-decoration-style'] = true; // default: solid
1✔
306
  whiteList['text-emphasis'] = true; // default: depending on individual properties
1✔
307
  whiteList['text-emphasis-color'] = true; // default: currentColor
1✔
308
  whiteList['text-emphasis-position'] = true; // default: over right
1✔
309
  whiteList['text-emphasis-style'] = true; // default: none
1✔
310
  whiteList['text-height'] = true; // default: auto
1✔
311
  whiteList['text-indent'] = true; // default: 0
1✔
312
  whiteList['text-justify'] = true; // default: auto
1✔
313
  whiteList['text-orientation'] = true; // default: mixed
1✔
314
  whiteList['text-overflow'] = true; // default: clip
1✔
315
  whiteList['text-shadow'] = true; // default: none
1✔
316
  whiteList['text-space-collapse'] = true; // default: collapse
1✔
317
  whiteList['text-transform'] = true; // default: none
1✔
318
  whiteList['text-underline-position'] = true; // default: auto
1✔
319
  whiteList['text-wrap'] = true; // default: normal
1✔
320
  whiteList['top'] = false; // default: auto
1✔
321
  whiteList['transform'] = false; // default: none
1✔
322
  whiteList['transform-origin'] = false; // default: 50% 50% 0
1✔
323
  whiteList['transform-style'] = false; // default: flat
1✔
324
  whiteList['transition'] = false; // default: depending on individual properties
1✔
325
  whiteList['transition-delay'] = false; // default: 0s
1✔
326
  whiteList['transition-duration'] = false; // default: 0s
1✔
327
  whiteList['transition-property'] = false; // default: all
1✔
328
  whiteList['transition-timing-function'] = false; // default: ease
1✔
329
  whiteList['unicode-bidi'] = false; // default: normal
1✔
330
  whiteList['vertical-align'] = false; // default: baseline
1✔
331
  whiteList['visibility'] = false; // default: visible
1✔
332
  whiteList['voice-balance'] = false; // default: center
1✔
333
  whiteList['voice-duration'] = false; // default: auto
1✔
334
  whiteList['voice-family'] = false; // default: implementation dependent
1✔
335
  whiteList['voice-pitch'] = false; // default: medium
1✔
336
  whiteList['voice-range'] = false; // default: medium
1✔
337
  whiteList['voice-rate'] = false; // default: normal
1✔
338
  whiteList['voice-stress'] = false; // default: normal
1✔
339
  whiteList['voice-volume'] = false; // default: medium
1✔
340
  whiteList['volume'] = false; // default: medium
1✔
341
  whiteList['white-space'] = false; // default: normal
1✔
342
  whiteList['widows'] = false; // default: 2
1✔
343
  whiteList['width'] = true; // default: auto
1✔
344
  whiteList['will-change'] = false; // default: auto
1✔
345
  whiteList['word-break'] = true; // default: normal
1✔
346
  whiteList['word-spacing'] = true; // default: normal
1✔
347
  whiteList['word-wrap'] = true; // default: normal
1✔
348
  whiteList['wrap-flow'] = false; // default: auto
1✔
349
  whiteList['wrap-through'] = false; // default: wrap
1✔
350
  whiteList['writing-mode'] = false; // default: horizontal-tb
351
  whiteList['z-index'] = false; // default: auto
1✔
352

353
  return whiteList;
354
}
355

356

357
/**
358
 * 匹配到白名单上的一个属性时
359
 *
360
 * @param {String} name
361
 * @param {String} value
362
 * @param {Object} options
363
 * @return {String}
1✔
364
 */
365
function onAttr (name, value, options) {
366
  // do nothing
367
}
368

369
/**
370
 * 匹配到不在白名单上的一个属性时
371
 *
372
 * @param {String} name
373
 * @param {String} value
374
 * @param {Object} options
375
 * @return {String}
1✔
376
 */
377
function onIgnoreAttr (name, value, options) {
378
  // do nothing
379
}
380

381
var REGEXP_URL_JAVASCRIPT = /javascript\s*\:/img;
382

383
/**
384
 * 过滤属性值
385
 *
386
 * @param {String} name
387
 * @param {String} value
1✔
388
 * @return {String}
389
 */
12!
390
function safeAttrValue(name, value) {
×
391
  if (REGEXP_URL_JAVASCRIPT.test(value)) return '';
392
  return value;
393
}
12✔
394

395

396
exports.whiteList = getDefaultWhiteList();
397
exports.getDefaultWhiteList = getDefaultWhiteList;
1✔
398
exports.onAttr = onAttr;
1✔
399
exports.onIgnoreAttr = onIgnoreAttr;
1✔
400
exports.safeAttrValue = safeAttrValue;
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc