ember-legacy-class-transform
Version:
The default blueprint for ember-cli addons.
34 lines • 3.54 kB
JavaScript
// 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9uYW1lc3BhY2VzLmpzIl0sIm5hbWVzIjpbIlhMSU5LIiwiWE1MIiwiWE1MTlMiLCJXSElURUxJU1QiLCJnZXRBdHRyTmFtZXNwYWNlIiwiYXR0ck5hbWUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUEsUUFBUSw4QkFBZDtBQUNBLElBQU1DLE1BQU0sc0NBQVo7QUFDQSxJQUFNQyxRQUFRLCtCQUFkO0FBQ0EsSUFBTUMsWUFBWTtBQUNkLHFCQUFpQkgsS0FESDtBQUVkLHFCQUFpQkEsS0FGSDtBQUdkLGtCQUFjQSxLQUhBO0FBSWQsa0JBQWNBLEtBSkE7QUFLZCxrQkFBY0EsS0FMQTtBQU1kLG1CQUFlQSxLQU5EO0FBT2Qsa0JBQWNBLEtBUEE7QUFRZCxnQkFBWUMsR0FSRTtBQVNkLGdCQUFZQSxHQVRFO0FBVWQsaUJBQWFBLEdBVkM7QUFXZCxhQUFTQyxLQVhLO0FBWWQsbUJBQWVBO0FBWkQsQ0FBbEI7QUFjQSxPQUFPLFNBQVNFLGdCQUFULENBQTBCQyxRQUExQixFQUFvQztBQUN2QyxXQUFPRixVQUFVRSxRQUFWLEtBQXVCLElBQTlCO0FBQ0giLCJmaWxlIjoibGliL25hbWVzcGFjZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGVyZSBpcyBhIHNtYWxsIHdoaXRlbGlzdCBvZiBuYW1lc3BhY2VkIGF0dHJpYnV0ZXMgc3BlY2lhbGx5XG4vLyBlbnVtZXJhdGVkIGluXG4vLyBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbC9zeW50YXguaHRtbCNhdHRyaWJ1dGVzLTBcbi8vXG4vLyA+IFdoZW4gYSBmb3JlaWduIGVsZW1lbnQgaGFzIG9uZSBvZiB0aGUgbmFtZXNwYWNlZCBhdHRyaWJ1dGVzIGdpdmVuIGJ5XG4vLyA+IHRoZSBsb2NhbCBuYW1lIGFuZCBuYW1lc3BhY2Ugb2YgdGhlIGZpcnN0IGFuZCBzZWNvbmQgY2VsbHMgb2YgYSByb3dcbi8vID4gZnJvbSB0aGUgZm9sbG93aW5nIHRhYmxlLCBpdCBtdXN0IGJlIHdyaXR0ZW4gdXNpbmcgdGhlIG5hbWUgZ2l2ZW4gYnlcbi8vID4gdGhlIHRoaXJkIGNlbGwgZnJvbSB0aGUgc2FtZSByb3cuXG4vL1xuLy8gSW4gYWxsIG90aGVyIGNhc2VzLCBjb2xvbnMgYXJlIGludGVycHJldGVkIGFzIGEgcmVndWxhciBjaGFyYWN0ZXJcbi8vIHdpdGggbm8gc3BlY2lhbCBtZWFuaW5nOlxuLy9cbi8vID4gTm8gb3RoZXIgbmFtZXNwYWNlZCBhdHRyaWJ1dGUgY2FuIGJlIGV4cHJlc3NlZCBpbiB0aGUgSFRNTCBzeW50YXguXG5jb25zdCBYTElOSyA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJztcbmNvbnN0IFhNTCA9ICdodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UnO1xuY29uc3QgWE1MTlMgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8nO1xuY29uc3QgV0hJVEVMSVNUID0ge1xuICAgICd4bGluazphY3R1YXRlJzogWExJTkssXG4gICAgJ3hsaW5rOmFyY3JvbGUnOiBYTElOSyxcbiAgICAneGxpbms6aHJlZic6IFhMSU5LLFxuICAgICd4bGluazpyb2xlJzogWExJTkssXG4gICAgJ3hsaW5rOnNob3cnOiBYTElOSyxcbiAgICAneGxpbms6dGl0bGUnOiBYTElOSyxcbiAgICAneGxpbms6dHlwZSc6IFhMSU5LLFxuICAgICd4bWw6YmFzZSc6IFhNTCxcbiAgICAneG1sOmxhbmcnOiBYTUwsXG4gICAgJ3htbDpzcGFjZSc6IFhNTCxcbiAgICAneG1sbnMnOiBYTUxOUyxcbiAgICAneG1sbnM6eGxpbmsnOiBYTUxOU1xufTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRBdHRyTmFtZXNwYWNlKGF0dHJOYW1lKSB7XG4gICAgcmV0dXJuIFdISVRFTElTVFthdHRyTmFtZV0gfHwgbnVsbDtcbn0iXX0=