nva-language 1.0.18 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -132,7 +132,7 @@ Using a term associated with "Norwegian" will return "Bokmål". No offense is in
132
132
 
133
133
  ### Sami
134
134
 
135
- Since the primary source for the data for this module has been NSD DBH's publication channel data, a choice was made to map all "Samisk" to Northern Sami. This is unfortunate, but it solves the issue in view of a lack of Sami language skills. Sorry about that.
135
+ See [NVA's technical notes regarding languages]('https://github.com/BIBSYSDEV/nva-language?tab=readme-ov-file#representing-sami-languages')
136
136
 
137
137
  ### More than one language
138
138
 
package/dist/Language.js CHANGED
@@ -10,6 +10,7 @@ var _default = exports["default"] = function _default(iso6391Code, iso6392Code,
10
10
  iso6391Code: iso6391Code,
11
11
  iso6392Codes: iso6392Code,
12
12
  iso6393Code: iso6393Code,
13
+ iso6395Code: null,
13
14
  eng: eng,
14
15
  nob: nob,
15
16
  nno: nno,
@@ -3,9 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UNDEFINED_LANGUAGE = exports.SWEDISH = exports.SPANISH = exports.SOUTHERN_SAMI = exports.SKOLT_SAMI = exports.RUSSIAN = exports.PORTUGUESE = exports.POLISH = exports.PITE_SAMI = exports.NYNORSK = exports.NORWEGIAN = exports.NORTHERN_SAMI = exports.MULTIPLE = exports.MISCELLANEOUS = exports.LULE_SAMI = exports.KILDIN_SAMI = exports.ITALIAN = exports.ICELANDIC = exports.HUNGARIAN = exports.GREEK = exports.GERMAN = exports.FRENCH = exports.FINNISH = exports.ENGLISH = exports.ENARE_SAMI = exports.DUTCH = exports.DANISH = exports.CZECH = exports.CHINESE = exports.CATALAN = exports.BULGARIAN = exports.BOKMAAL = exports.ALL_LANGUAGES = exports.AFRIKAANS = void 0;
6
+ exports.UNDEFINED_LANGUAGE = exports.SWEDISH = exports.SPANISH = exports.SOUTHERN_SAMI = exports.SKOLT_SAMI = exports.SAMI_LANGUAGES = exports.RUSSIAN = exports.PORTUGUESE = exports.POLISH = exports.PITE_SAMI = exports.NYNORSK = exports.NORWEGIAN = exports.NORTHERN_SAMI = exports.MULTIPLE = exports.MISCELLANEOUS = exports.LULE_SAMI = exports.KILDIN_SAMI = exports.ITALIAN = exports.ICELANDIC = exports.HUNGARIAN = exports.GREEK = exports.GERMAN = exports.FRENCH = exports.FINNISH = exports.ENGLISH = exports.ENARE_SAMI = exports.DUTCH = exports.DANISH = exports.CZECH = exports.CHINESE = exports.CATALAN = exports.BULGARIAN = exports.BOKMAAL = exports.ALL_LANGUAGES = exports.AFRIKAANS = void 0;
7
7
  var _Language = _interopRequireDefault(require("./Language.js"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
+ var _LanguageGroup = _interopRequireDefault(require("./LanguageGroup.js"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
10
  var AFRIKAANS = exports.AFRIKAANS = (0, _Language["default"])('af', ['afr'], 'afr', 'Afrikaans', 'Afrikaans', 'Afrikaans', 'Afrikánsagiella');
10
11
  var BOKMAAL = exports.BOKMAAL = (0, _Language["default"])('nb', ['nob'], 'nob', 'Norwegian, bokmål', 'Norsk, bokmål', 'Norsk, bokmål', 'Dárogiella, girjedárogiella');
11
12
  var BULGARIAN = exports.BULGARIAN = (0, _Language["default"])('bg', ['bul'], 'bul', 'Bulgarian', 'Bulgarsk', 'Bulgarsk', 'Bulgáriagiella');
@@ -39,4 +40,5 @@ var ENARE_SAMI = exports.ENARE_SAMI = (0, _Language["default"])(null, [], 'snn',
39
40
  var KILDIN_SAMI = exports.KILDIN_SAMI = (0, _Language["default"])(null, [], 'sjd', 'Kildin sami', 'Kildinsamisk', 'Kildinsamisk', 'Gielddasámegiella');
40
41
  var SWEDISH = exports.SWEDISH = (0, _Language["default"])('sv', ['swe'], 'swe', 'Swedish', 'Svensk', 'Svensk', 'Ruoŧagiella');
41
42
  var UNDEFINED_LANGUAGE = exports.UNDEFINED_LANGUAGE = (0, _Language["default"])(null, ['und'], 'und', 'Unknown language', 'Ukjent språk', 'Ukjent språk', 'Dovdameahttun giella');
42
- var ALL_LANGUAGES = exports.ALL_LANGUAGES = Object.freeze([UNDEFINED_LANGUAGE, ENGLISH, BOKMAAL, NYNORSK, NORWEGIAN, MISCELLANEOUS, DANISH, SWEDISH, SPANISH, GERMAN, NORTHERN_SAMI, SOUTHERN_SAMI, LULE_SAMI, PITE_SAMI, SKOLT_SAMI, ENARE_SAMI, KILDIN_SAMI, FRENCH, MULTIPLE, DUTCH, FINNISH, ICELANDIC, ITALIAN, PORTUGUESE, RUSSIAN, AFRIKAANS, BULGARIAN, GREEK, CATALAN, CHINESE, POLISH, CZECH, HUNGARIAN]);
43
+ var SAMI_LANGUAGES = exports.SAMI_LANGUAGES = (0, _LanguageGroup["default"])('smi', 'Sami languages', 'Samisk språk', 'Samisk språk', 'Sámegielat');
44
+ var ALL_LANGUAGES = exports.ALL_LANGUAGES = Object.freeze([UNDEFINED_LANGUAGE, ENGLISH, BOKMAAL, NYNORSK, NORWEGIAN, MISCELLANEOUS, DANISH, SWEDISH, SPANISH, GERMAN, NORTHERN_SAMI, SOUTHERN_SAMI, LULE_SAMI, PITE_SAMI, SKOLT_SAMI, ENARE_SAMI, KILDIN_SAMI, FRENCH, MULTIPLE, DUTCH, FINNISH, ICELANDIC, ITALIAN, PORTUGUESE, RUSSIAN, AFRIKAANS, BULGARIAN, GREEK, CATALAN, CHINESE, POLISH, CZECH, HUNGARIAN, SAMI_LANGUAGES]);
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _default = exports["default"] = function _default(iso6395Code, eng, nob, nno, sme) {
8
+ return {
9
+ uri: "http://lexvo.org/id/iso639-5/".concat(iso6395Code),
10
+ iso6391Code: null,
11
+ iso6392Codes: [],
12
+ iso6393Code: null,
13
+ iso6395Code: iso6395Code,
14
+ eng: eng,
15
+ nob: nob,
16
+ nno: nno,
17
+ sme: sme
18
+ };
19
+ };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getLanguageByUri = exports.getLanguageBySamiName = exports.getLanguageByNynorskName = exports.getLanguageByIso6393Code = exports.getLanguageByIso6392Code = exports.getLanguageByIso6391Code = exports.getLanguageByEnglishName = exports.getLanguageByBokmaalName = void 0;
6
+ exports.getLanguageByUri = exports.getLanguageBySamiName = exports.getLanguageByNynorskName = exports.getLanguageByIso6395Code = exports.getLanguageByIso6393Code = exports.getLanguageByIso6392Code = exports.getLanguageByIso6391Code = exports.getLanguageByEnglishName = exports.getLanguageByBokmaalName = void 0;
7
7
  var _LanguageConstants = require("./LanguageConstants.js");
8
8
  var convertString = function convertString(string) {
9
9
  return string !== null ? string.trim().toLowerCase() : '';
@@ -57,7 +57,12 @@ var getLanguageByNynorskName = exports.getLanguageByNynorskName = function getLa
57
57
  };
58
58
  var getLanguageBySamiName = exports.getLanguageBySamiName = function getLanguageBySamiName(name) {
59
59
  return mappedValue(_LanguageConstants.ALL_LANGUAGES.find(function (language) {
60
- return isSameNaturalLanguageString(language.sme.toLowerCase(), convertString(name));
60
+ return isSameNaturalLanguageString(language.sme ? language.sme.toLowerCase() : '', convertString(name));
61
+ }));
62
+ };
63
+ var getLanguageByIso6395Code = exports.getLanguageByIso6395Code = function getLanguageByIso6395Code(code) {
64
+ return mappedValue(_LanguageConstants.ALL_LANGUAGES.find(function (language) {
65
+ return convertString(code) === language.iso6395Code;
61
66
  }));
62
67
  };
63
68
  var getLanguageByUri = exports.getLanguageByUri = function getLanguageByUri(uri) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nva-language",
3
- "version": "1.0.18",
3
+ "version": "1.0.21",
4
4
  "description": "",
5
5
  "main": "./dist/LanguageMapper.js",
6
6
  "module": "./src/LanguageMapper.mjs",
@@ -22,19 +22,23 @@
22
22
  "author": "Rurik Thomas Greenall",
23
23
  "license": "MIT",
24
24
  "volta": {
25
- "node": "20.11.0",
26
- "npm": "10.4.0"
25
+ "node": "24.14.1",
26
+ "npm": "11.12.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@babel/cli": "^7.23.9",
30
- "@babel/core": "^7.23.9",
31
- "@babel/preset-env": "^7.23.9",
32
- "babel-plugin-replace-import-extension": "^1.1.1",
33
- "c8": "^7.9.0",
34
- "chai": "^4.3.4",
35
- "eslint-config-standard": "^16.0.3",
36
- "eslint-plugin-import": "^2.24.2",
29
+ "@babel/cli": "^7.28.6",
30
+ "@babel/core": "^7.29.0",
31
+ "@babel/preset-env": "^7.29.2",
32
+ "babel-plugin-replace-import-extension": "^1.1.5",
33
+ "c8": "^11.0.0",
34
+ "chai": "^6.2.2",
35
+ "eslint-config-standard": "^17.1.0",
36
+ "eslint-plugin-import": "^2.32.0",
37
37
  "eslint-plugin-node": "^11.1.0",
38
- "mocha": "10.3.0"
38
+ "mocha": "^11.7.5"
39
+ },
40
+ "overrides": {
41
+ "diff": "^8.0.3",
42
+ "serialize-javascript": "^7.0.3"
39
43
  }
40
44
  }
package/src/Language.mjs CHANGED
@@ -1,12 +1,13 @@
1
1
  export default (iso6391Code, iso6392Code, iso6393Code, eng, nob, nno, sme) => {
2
2
  return {
3
3
  uri: `http://lexvo.org/id/iso639-3/${iso6393Code}`,
4
- iso6391Code: iso6391Code,
4
+ iso6391Code,
5
5
  iso6392Codes: iso6392Code,
6
- iso6393Code: iso6393Code,
7
- eng: eng,
8
- nob: nob,
9
- nno: nno,
10
- sme: sme
6
+ iso6393Code,
7
+ iso6395Code: null,
8
+ eng,
9
+ nob,
10
+ nno,
11
+ sme
11
12
  }
12
13
  }
@@ -1,4 +1,5 @@
1
1
  import Language from './Language.mjs'
2
+ import LanguageGroup from './LanguageGroup.mjs'
2
3
 
3
4
  export const AFRIKAANS = Language('af', ['afr'], 'afr', 'Afrikaans', 'Afrikaans', 'Afrikaans', 'Afrikánsagiella')
4
5
  export const BOKMAAL = Language('nb', ['nob'], 'nob', 'Norwegian, bokmål', 'Norsk, bokmål', 'Norsk, bokmål', 'Dárogiella, girjedárogiella')
@@ -33,6 +34,7 @@ export const ENARE_SAMI = Language(null, [], 'snn', 'Enare sami', 'Enaresamisk',
33
34
  export const KILDIN_SAMI = Language(null, [], 'sjd', 'Kildin sami', 'Kildinsamisk', 'Kildinsamisk', 'Gielddasámegiella')
34
35
  export const SWEDISH = Language('sv', ['swe'], 'swe', 'Swedish', 'Svensk', 'Svensk', 'Ruoŧagiella')
35
36
  export const UNDEFINED_LANGUAGE = Language(null, ['und'], 'und', 'Unknown language', 'Ukjent språk', 'Ukjent språk', 'Dovdameahttun giella')
37
+ export const SAMI_LANGUAGES = LanguageGroup('smi', 'Sami languages', 'Samisk språk', 'Samisk språk', 'Sámegielat')
36
38
  export const ALL_LANGUAGES = Object.freeze([
37
39
  UNDEFINED_LANGUAGE,
38
40
  ENGLISH,
@@ -66,5 +68,6 @@ export const ALL_LANGUAGES = Object.freeze([
66
68
  CHINESE,
67
69
  POLISH,
68
70
  CZECH,
69
- HUNGARIAN
71
+ HUNGARIAN,
72
+ SAMI_LANGUAGES
70
73
  ])
@@ -0,0 +1,13 @@
1
+ export default (iso6395Code, eng, nob, nno, sme) => {
2
+ return {
3
+ uri: `http://lexvo.org/id/iso639-5/${iso6395Code}`,
4
+ iso6391Code: null,
5
+ iso6392Codes: [],
6
+ iso6393Code: null,
7
+ iso6395Code,
8
+ eng,
9
+ nob,
10
+ nno,
11
+ sme
12
+ }
13
+ }
@@ -39,7 +39,11 @@ export const getLanguageByNynorskName = name => mappedValue(
39
39
  )
40
40
 
41
41
  export const getLanguageBySamiName = name => mappedValue(
42
- ALL_LANGUAGES.find(language => isSameNaturalLanguageString(language.sme.toLowerCase(), convertString(name)))
42
+ ALL_LANGUAGES.find(language => isSameNaturalLanguageString(language.sme ? language.sme.toLowerCase() : '', convertString(name)))
43
+ )
44
+
45
+ export const getLanguageByIso6395Code = code => mappedValue(
46
+ ALL_LANGUAGES.find(language => convertString(code) === language.iso6395Code)
43
47
  )
44
48
 
45
49
  export const getLanguageByUri = (uri) => mappedValue(