24 lines
564 B
JavaScript
24 lines
564 B
JavaScript
'use strict'
|
||
|
||
var decode = require('parse-entities')
|
||
|
||
module.exports = length
|
||
|
||
var ampersand = '&'
|
||
|
||
// Returns the length of HTML entity that is a prefix of the given string
|
||
// (excluding the ampersand), 0 if it does not start with an entity.
|
||
function length(value) {
|
||
var prefix
|
||
|
||
/* istanbul ignore if - Currently also tested for at implemention, but we
|
||
* keep it here because that’s proper. */
|
||
if (value.charAt(0) !== ampersand) {
|
||
return 0
|
||
}
|
||
|
||
prefix = value.split(ampersand, 2).join(ampersand)
|
||
|
||
return prefix.length - decode(prefix).length
|
||
}
|