UNPKG

@glimmer/compiler

Version:
45 lines 4.8 kB
export function processOpcodes(compiler, opcodes) { for (var i = 0, l = opcodes.length; i < l; i++) { var method = opcodes[i][0]; var params = opcodes[i][1]; if (params) { compiler[method].apply(compiler, params); } else { compiler[method].call(compiler); } } } // There is a small whitelist of namespaced attributes specially // enumerated in // https://www.w3.org/TR/html/syntax.html#attributes-0 // // > When a foreign element has one of the namespaced attributes given by // > the local name and namespace of the first and second cells of a row // > from the following table, it must be written using the name given by // > the third cell from the same row. // // In all other cases, colons are interpreted as a regular character // with no special meaning: // // > No other namespaced attribute can be expressed in the HTML syntax. var XLINK = 'http://www.w3.org/1999/xlink'; var XML = 'http://www.w3.org/XML/1998/namespace'; var XMLNS = 'http://www.w3.org/2000/xmlns/'; var WHITELIST = { 'xlink:actuate': XLINK, 'xlink:arcrole': XLINK, 'xlink:href': XLINK, 'xlink:role': XLINK, 'xlink:show': XLINK, 'xlink:title': XLINK, 'xlink:type': XLINK, 'xml:base': XML, 'xml:lang': XML, 'xml:space': XML, xmlns: XMLNS, 'xmlns:xlink': XMLNS }; export function getAttrNamespace(attrName) { return WHITELIST[attrName] || null; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL2NvbXBpbGVyL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiT0FFTSxTQUFBLGNBQUEsQ0FBQSxRQUFBLEVBQUEsT0FBQSxFQUFvRDtBQUN4RCxTQUFLLElBQUksSUFBSixDQUFBLEVBQVcsSUFBSSxRQUFwQixNQUFBLEVBQW9DLElBQXBDLENBQUEsRUFBQSxHQUFBLEVBQWdEO0FBQzlDLFlBQUksU0FBUyxRQUFBLENBQUEsRUFBYixDQUFhLENBQWI7QUFDQSxZQUFJLFNBQVMsUUFBQSxDQUFBLEVBQWIsQ0FBYSxDQUFiO0FBQ0EsWUFBQSxNQUFBLEVBQVk7QUFDVixxQkFBQSxNQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsRUFBQSxNQUFBO0FBREYsU0FBQSxNQUVPO0FBQ0wscUJBQUEsTUFBQSxFQUFBLElBQUEsQ0FBQSxRQUFBO0FBQ0Q7QUFDRjtBQUNGO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFNLFFBQU4sOEJBQUE7QUFDQSxJQUFNLE1BQU4sc0NBQUE7QUFDQSxJQUFNLFFBQU4sK0JBQUE7QUFFQSxJQUFNLFlBQXNDO0FBQzFDLHFCQUQwQyxLQUFBO0FBRTFDLHFCQUYwQyxLQUFBO0FBRzFDLGtCQUgwQyxLQUFBO0FBSTFDLGtCQUowQyxLQUFBO0FBSzFDLGtCQUwwQyxLQUFBO0FBTTFDLG1CQU4wQyxLQUFBO0FBTzFDLGtCQVAwQyxLQUFBO0FBUTFDLGdCQVIwQyxHQUFBO0FBUzFDLGdCQVQwQyxHQUFBO0FBVTFDLGlCQVYwQyxHQUFBO0FBVzFDLFdBWDBDLEtBQUE7QUFZMUMsbUJBQWU7QUFaMkIsQ0FBNUM7QUFlQSxPQUFNLFNBQUEsZ0JBQUEsQ0FBQSxRQUFBLEVBQTJDO0FBQy9DLFdBQU8sVUFBQSxRQUFBLEtBQVAsSUFBQTtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdCwgT3B0aW9uIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzT3Bjb2Rlcyhjb21waWxlcjogYW55LCBvcGNvZGVzOiBhbnkpIHtcbiAgZm9yIChsZXQgaSA9IDAsIGwgPSBvcGNvZGVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGxldCBtZXRob2QgPSBvcGNvZGVzW2ldWzBdO1xuICAgIGxldCBwYXJhbXMgPSBvcGNvZGVzW2ldWzFdO1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGNvbXBpbGVyW21ldGhvZF0uYXBwbHkoY29tcGlsZXIsIHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbXBpbGVyW21ldGhvZF0uY2FsbChjb21waWxlcik7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZXJlIGlzIGEgc21hbGwgd2hpdGVsaXN0IG9mIG5hbWVzcGFjZWQgYXR0cmlidXRlcyBzcGVjaWFsbHlcbi8vIGVudW1lcmF0ZWQgaW5cbi8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sL3N5bnRheC5odG1sI2F0dHJpYnV0ZXMtMFxuLy9cbi8vID4gV2hlbiBhIGZvcmVpZ24gZWxlbWVudCBoYXMgb25lIG9mIHRoZSBuYW1lc3BhY2VkIGF0dHJpYnV0ZXMgZ2l2ZW4gYnlcbi8vID4gdGhlIGxvY2FsIG5hbWUgYW5kIG5hbWVzcGFjZSBvZiB0aGUgZmlyc3QgYW5kIHNlY29uZCBjZWxscyBvZiBhIHJvd1xuLy8gPiBmcm9tIHRoZSBmb2xsb3dpbmcgdGFibGUsIGl0IG11c3QgYmUgd3JpdHRlbiB1c2luZyB0aGUgbmFtZSBnaXZlbiBieVxuLy8gPiB0aGUgdGhpcmQgY2VsbCBmcm9tIHRoZSBzYW1lIHJvdy5cbi8vXG4vLyBJbiBhbGwgb3RoZXIgY2FzZXMsIGNvbG9ucyBhcmUgaW50ZXJwcmV0ZWQgYXMgYSByZWd1bGFyIGNoYXJhY3RlclxuLy8gd2l0aCBubyBzcGVjaWFsIG1lYW5pbmc6XG4vL1xuLy8gPiBObyBvdGhlciBuYW1lc3BhY2VkIGF0dHJpYnV0ZSBjYW4gYmUgZXhwcmVzc2VkIGluIHRoZSBIVE1MIHN5bnRheC5cblxuY29uc3QgWExJTksgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayc7XG5jb25zdCBYTUwgPSAnaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlJztcbmNvbnN0IFhNTE5TID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvJztcblxuY29uc3QgV0hJVEVMSVNUOiBEaWN0PHN0cmluZyB8IHVuZGVmaW5lZD4gPSB7XG4gICd4bGluazphY3R1YXRlJzogWExJTkssXG4gICd4bGluazphcmNyb2xlJzogWExJTkssXG4gICd4bGluazpocmVmJzogWExJTkssXG4gICd4bGluazpyb2xlJzogWExJTkssXG4gICd4bGluazpzaG93JzogWExJTkssXG4gICd4bGluazp0aXRsZSc6IFhMSU5LLFxuICAneGxpbms6dHlwZSc6IFhMSU5LLFxuICAneG1sOmJhc2UnOiBYTUwsXG4gICd4bWw6bGFuZyc6IFhNTCxcbiAgJ3htbDpzcGFjZSc6IFhNTCxcbiAgeG1sbnM6IFhNTE5TLFxuICAneG1sbnM6eGxpbmsnOiBYTUxOUyxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdHRyTmFtZXNwYWNlKGF0dHJOYW1lOiBzdHJpbmcpOiBPcHRpb248c3RyaW5nPiB7XG4gIHJldHVybiBXSElURUxJU1RbYXR0ck5hbWVdIHx8IG51bGw7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9