mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
# add dist
This commit is contained in:
79
ng2-components/ng2-alfresco-documentslist/dist/node_modules/es6-template-strings/compile.js
generated
vendored
Normal file
79
ng2-components/ng2-alfresco-documentslist/dist/node_modules/es6-template-strings/compile.js
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
'use strict';
|
||||
|
||||
var esniff = require('esniff')
|
||||
|
||||
, i, current, literals, substitutions, sOut, sEscape, sAhead, sIn, sInEscape, template;
|
||||
|
||||
sOut = function (char) {
|
||||
if (char === '\\') return sEscape;
|
||||
if (char === '$') return sAhead;
|
||||
current += char;
|
||||
return sOut;
|
||||
};
|
||||
sEscape = function (char) {
|
||||
if ((char !== '\\') && (char !== '$')) current += '\\';
|
||||
current += char;
|
||||
return sOut;
|
||||
};
|
||||
sAhead = function (char) {
|
||||
if (char === '{') {
|
||||
literals.push(current);
|
||||
current = '';
|
||||
return sIn;
|
||||
}
|
||||
if (char === '$') {
|
||||
current += '$';
|
||||
return sAhead;
|
||||
}
|
||||
current += '$' + char;
|
||||
return sOut;
|
||||
};
|
||||
sIn = function (char) {
|
||||
var code = template.slice(i), end;
|
||||
esniff(code, '}', function (j) {
|
||||
if (esniff.nest >= 0) return esniff.next();
|
||||
end = j;
|
||||
});
|
||||
if (end != null) {
|
||||
substitutions.push(template.slice(i, i + end));
|
||||
i += end;
|
||||
current = '';
|
||||
return sOut;
|
||||
}
|
||||
end = code.length;
|
||||
i += end;
|
||||
current += code;
|
||||
return sIn;
|
||||
};
|
||||
sInEscape = function (char) {
|
||||
if ((char !== '\\') && (char !== '}')) current += '\\';
|
||||
current += char;
|
||||
return sIn;
|
||||
};
|
||||
|
||||
module.exports = function (str) {
|
||||
var length, state, result;
|
||||
current = '';
|
||||
literals = [];
|
||||
substitutions = [];
|
||||
|
||||
template = String(str);
|
||||
length = template.length;
|
||||
|
||||
state = sOut;
|
||||
for (i = 0; i < length; ++i) state = state(template[i]);
|
||||
if (state === sOut) {
|
||||
literals.push(current);
|
||||
} else if (state === sEscape) {
|
||||
literals.push(current + '\\');
|
||||
} else if (state === sAhead) {
|
||||
literals.push(current + '$');
|
||||
} else if (state === sIn) {
|
||||
literals[literals.length - 1] += '${' + current;
|
||||
} else if (state === sInEscape) {
|
||||
literals[literals.length - 1] += '${' + current + '\\';
|
||||
}
|
||||
result = { literals: literals, substitutions: substitutions };
|
||||
literals = substitutions = null;
|
||||
return result;
|
||||
};
|
Reference in New Issue
Block a user