UNPKG

679 BJavaScriptView Raw
1var $ = require('../internals/export');
2var toIndexedObject = require('../internals/to-indexed-object');
3var toLength = require('../internals/to-length');
4
5// `String.raw` method
6// https://tc39.github.io/ecma262/#sec-string.raw
7$({ target: 'String', stat: true }, {
8 raw: function raw(template) {
9 var rawTemplate = toIndexedObject(template.raw);
10 var literalSegments = toLength(rawTemplate.length);
11 var argumentsLength = arguments.length;
12 var elements = [];
13 var i = 0;
14 while (literalSegments > i) {
15 elements.push(String(rawTemplate[i++]));
16 if (i < argumentsLength) elements.push(String(arguments[i]));
17 } return elements.join('');
18 }
19});