+var uncurryThis = require('../internals/function-uncurry-this');
var requireObjectCoercible = require('../internals/require-object-coercible');
+var toString = require('../internals/to-string');
var quot = /"/g;
+var replace = uncurryThis(''.replace);
-// B.2.3.2.1 CreateHTML(string, tag, attribute, value)
+// `CreateHTML` abstract operation
// https://tc39.es/ecma262/#sec-createhtml
module.exports = function (string, tag, attribute, value) {
- var S = String(requireObjectCoercible(string));
+ var S = toString(requireObjectCoercible(string));
var p1 = '<' + tag;
- if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"';
+ if (attribute !== '') p1 += ' ' + attribute + '="' + replace(toString(value), quot, '"') + '"';
return p1 + '>' + S + '</' + tag + '>';
};