From 7a52ddeba2a68388b544f529d2d92104420f77b0 Mon Sep 17 00:00:00 2001 From: Shipwreckt Date: Fri, 31 Oct 2025 20:02:14 +0000 Subject: Changed from static to 11ty! --- node_modules/iso-639-1/src/index.js | 59 +++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 node_modules/iso-639-1/src/index.js (limited to 'node_modules/iso-639-1/src/index.js') diff --git a/node_modules/iso-639-1/src/index.js b/node_modules/iso-639-1/src/index.js new file mode 100644 index 0000000..abfef8d --- /dev/null +++ b/node_modules/iso-639-1/src/index.js @@ -0,0 +1,59 @@ +const LANGUAGES_LIST = require('./data.js'); + +const LANGUAGES = {}; +const LANGUAGES_BY_NAME = {}; +const LANGUAGE_CODES = []; +const LANGUAGE_NAMES = []; +const LANGUAGE_NATIVE_NAMES = []; + +for (const code in LANGUAGES_LIST) { + const { name, nativeName } = LANGUAGES_LIST[code]; + LANGUAGES[code] = + LANGUAGES_BY_NAME[name.toLowerCase()] = + LANGUAGES_BY_NAME[nativeName.toLowerCase()] = + { code, name, nativeName }; + LANGUAGE_CODES.push(code); + LANGUAGE_NAMES.push(name); + LANGUAGE_NATIVE_NAMES.push(nativeName); +} + +module.exports = class ISO6391 { + static getLanguages(codes = []) { + return codes.map(code => + ISO6391.validate(code) + ? Object.assign({}, LANGUAGES[code]) + : { code, name: '', nativeName: '' } + ); + } + + static getName(code) { + return ISO6391.validate(code) ? LANGUAGES_LIST[code].name : ''; + } + + static getAllNames() { + return LANGUAGE_NAMES.slice(); + } + + static getNativeName(code) { + return ISO6391.validate(code) ? LANGUAGES_LIST[code].nativeName : ''; + } + + static getAllNativeNames() { + return LANGUAGE_NATIVE_NAMES.slice(); + } + + static getCode(name) { + name = name.toLowerCase(); + return LANGUAGES_BY_NAME.hasOwnProperty(name) + ? LANGUAGES_BY_NAME[name].code + : ''; + } + + static getAllCodes() { + return LANGUAGE_CODES.slice(); + } + + static validate(code) { + return LANGUAGES_LIST.hasOwnProperty(code); + } +} -- cgit v1.2.3