| | |
| | | }) |
| | | } |
| | | |
| | | function expandPrefixedAliases(items) { |
| | | const expanded = [] |
| | | const seen = {} |
| | | items.forEach(function (item) { |
| | | const names = [item.codename] |
| | | if (item.codename.indexOf('rk_') === 0 && item.codename.length > 3) { |
| | | names.push(item.codename.substring(3)) |
| | | } |
| | | names.forEach(function (codename) { |
| | | if (!codename || seen[codename]) { |
| | | return |
| | | } |
| | | seen[codename] = true |
| | | expanded.push({ codename: codename, real_name: item.real_name }) |
| | | }) |
| | | }) |
| | | return expanded |
| | | } |
| | | export async function installSensitiveWords() { |
| | | try { |
| | | const baseUrl = process.env.BASE_URL || '/' |
| | |
| | | .filter(function (item) { |
| | | return item && item.codename && isConfigured(item.real_name, item.codename) |
| | | }) |
| | | .sort(function (left, right) { |
| | | return right.codename.length - left.codename.length |
| | | }) |
| | | |
| | | replacements = expandPrefixedAliases(replacements).sort(function (left, right) { |
| | | return right.codename.length - left.codename.length |
| | | }) |
| | | |
| | | replaceDom(document.body) |
| | | document.title = replaceSensitiveText(document.title) |
| | | watchDom() |
| | | } catch (error) { |
| | | // The application still works with development codenames if the dictionary is unavailable. |