mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
75 lines
2.1 KiB
JavaScript
75 lines
2.1 KiB
JavaScript
/**
|
|
* Copyright 2014 Facebook, Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
var KEYWORDS = [
|
|
'break', 'do', 'in', 'typeof', 'case', 'else', 'instanceof', 'var', 'catch',
|
|
'export', 'new', 'void', 'class', 'extends', 'return', 'while', 'const',
|
|
'finally', 'super', 'with', 'continue', 'for', 'switch', 'yield', 'debugger',
|
|
'function', 'this', 'default', 'if', 'throw', 'delete', 'import', 'try'
|
|
];
|
|
|
|
var FUTURE_RESERVED_WORDS = [
|
|
'enum', 'await', 'implements', 'package', 'protected', 'static', 'interface',
|
|
'private', 'public'
|
|
];
|
|
|
|
var LITERALS = [
|
|
'null',
|
|
'true',
|
|
'false'
|
|
];
|
|
|
|
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-reserved-words
|
|
var RESERVED_WORDS = [].concat(
|
|
KEYWORDS,
|
|
FUTURE_RESERVED_WORDS,
|
|
LITERALS
|
|
);
|
|
|
|
var reservedWordsMap = Object.create(null);
|
|
RESERVED_WORDS.forEach(function(k) {
|
|
reservedWordsMap[k] = true;
|
|
});
|
|
|
|
/**
|
|
* This list should not grow as new reserved words are introdued. This list is
|
|
* of words that need to be quoted because ES3-ish browsers do not allow their
|
|
* use as identifier names.
|
|
*/
|
|
var ES3_FUTURE_RESERVED_WORDS = [
|
|
'enum', 'implements', 'package', 'protected', 'static', 'interface',
|
|
'private', 'public'
|
|
];
|
|
|
|
var ES3_RESERVED_WORDS = [].concat(
|
|
KEYWORDS,
|
|
ES3_FUTURE_RESERVED_WORDS,
|
|
LITERALS
|
|
);
|
|
|
|
var es3ReservedWordsMap = Object.create(null);
|
|
ES3_RESERVED_WORDS.forEach(function(k) {
|
|
es3ReservedWordsMap[k] = true;
|
|
});
|
|
|
|
exports.isReservedWord = function(word) {
|
|
return !!reservedWordsMap[word];
|
|
};
|
|
|
|
exports.isES3ReservedWord = function(word) {
|
|
return !!es3ReservedWordsMap[word];
|
|
};
|