@keymanapp/langtags 18.0.182-alpha
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 +38 -0
- package/build/src/imports/langtags.d.ts +3 -0
- package/build/src/imports/langtags.d.ts.map +1 -0
- package/build/src/imports/langtags.js +142786 -0
- package/build/src/imports/langtags.js.map +1 -0
- package/build/src/main.d.ts +74 -0
- package/build/src/main.d.ts.map +1 -0
- package/build/src/main.js +70 -0
- package/build/src/main.js.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import langtags from './imports/langtags.js';
|
|
2
|
+
export type LangTagBcp47 = string;
|
|
3
|
+
export type LangTagBcp47Variant = string;
|
|
4
|
+
export type LangTagIso639_3 = string;
|
|
5
|
+
export type LangTagIso3166_1 = string;
|
|
6
|
+
export type LangTagIso15924 = string;
|
|
7
|
+
export interface LangTag {
|
|
8
|
+
full: string;
|
|
9
|
+
iana?: string[];
|
|
10
|
+
iso639_3?: LangTagIso639_3;
|
|
11
|
+
latnnames?: string[];
|
|
12
|
+
localname?: string;
|
|
13
|
+
localnames?: string;
|
|
14
|
+
macrolang?: LangTagBcp47;
|
|
15
|
+
name?: string;
|
|
16
|
+
names?: string[];
|
|
17
|
+
nophonvars?: boolean;
|
|
18
|
+
obsolete?: boolean;
|
|
19
|
+
region?: LangTagIso3166_1;
|
|
20
|
+
regionname?: string;
|
|
21
|
+
regions?: LangTagIso3166_1[];
|
|
22
|
+
rod?: string;
|
|
23
|
+
script?: LangTagIso15924;
|
|
24
|
+
sldr?: boolean;
|
|
25
|
+
suppress?: boolean;
|
|
26
|
+
tag?: LangTagBcp47;
|
|
27
|
+
tags?: LangTagBcp47[];
|
|
28
|
+
unwritten?: boolean;
|
|
29
|
+
variants?: LangTagBcp47Variant[];
|
|
30
|
+
windows?: LangTagBcp47;
|
|
31
|
+
}
|
|
32
|
+
export interface LangTagConformance {
|
|
33
|
+
regions: LangTagIso3166_1[];
|
|
34
|
+
scripts: LangTagIso15924[];
|
|
35
|
+
tag: '_conformance';
|
|
36
|
+
}
|
|
37
|
+
export interface LangTagGlobalVar {
|
|
38
|
+
variants: LangTagBcp47Variant[];
|
|
39
|
+
tag: '_globalvar';
|
|
40
|
+
}
|
|
41
|
+
export interface LangTagPhonVar {
|
|
42
|
+
variants: LangTagBcp47Variant[];
|
|
43
|
+
tag: '_phonvar';
|
|
44
|
+
}
|
|
45
|
+
export interface LangTagVersion {
|
|
46
|
+
api: string;
|
|
47
|
+
date: string;
|
|
48
|
+
tag: '_version';
|
|
49
|
+
}
|
|
50
|
+
declare const metadata: {
|
|
51
|
+
conformance: () => {
|
|
52
|
+
regions: string[];
|
|
53
|
+
scripts: string[];
|
|
54
|
+
};
|
|
55
|
+
globalvar: () => {
|
|
56
|
+
variants: string[];
|
|
57
|
+
};
|
|
58
|
+
phonvar: () => {
|
|
59
|
+
variants: string[];
|
|
60
|
+
};
|
|
61
|
+
version: () => {
|
|
62
|
+
api: string;
|
|
63
|
+
date: string;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Find a LangTag from a given tag; matches on tag, tags, full properties,
|
|
68
|
+
* with a case-insensitive search.
|
|
69
|
+
* @param tag
|
|
70
|
+
* @returns LangTag or undefined if not found
|
|
71
|
+
*/
|
|
72
|
+
declare function getLangtagByTag(tag: string): LangTag;
|
|
73
|
+
export { langtags, getLangtagByTag, metadata };
|
|
74
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAMA,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAI7C,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AACrC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACtC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAGrC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,GAAG,EAAE,cAAc,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,GAAG,EAAE,YAAY,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,GAAG,EAAE,UAAU,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;CACjB;AAaD,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;CAKb,CAAC;AA4BF;;;;;GAKG;AACH,iBAAS,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7C;AAID,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Keyman is copyright (C) SIL Global. MIT License.
|
|
3
|
+
*
|
|
4
|
+
* Wraps langtags.json as a Javascript object
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="30b9930f-8dff-5ac2-936a-6bebf8172e7c")}catch(e){}}();
|
|
8
|
+
import langtags from './imports/langtags.js';
|
|
9
|
+
;
|
|
10
|
+
;
|
|
11
|
+
;
|
|
12
|
+
;
|
|
13
|
+
;
|
|
14
|
+
/**
|
|
15
|
+
* A map of all language tags, lower cased
|
|
16
|
+
*/
|
|
17
|
+
const langtagsByTag = new Map();
|
|
18
|
+
/* metadata variables */
|
|
19
|
+
let conformance = undefined;
|
|
20
|
+
let globalvar = undefined;
|
|
21
|
+
let phonvar = undefined;
|
|
22
|
+
let version = undefined;
|
|
23
|
+
const metadata = {
|
|
24
|
+
conformance: () => ({ regions: [...conformance.regions], scripts: [...conformance.scripts] }),
|
|
25
|
+
globalvar: () => ({ variants: [...globalvar.variants] }),
|
|
26
|
+
phonvar: () => ({ variants: [...phonvar.variants] }),
|
|
27
|
+
version: () => ({ api: version.api, date: version.date })
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Build a dictionary of language tags from langtags.json. This takes under 10ms
|
|
31
|
+
* on a reasonable laptop.
|
|
32
|
+
*/
|
|
33
|
+
function preinit() {
|
|
34
|
+
for (const tag of langtags) {
|
|
35
|
+
if (tag.tag == '_conformance') {
|
|
36
|
+
conformance = tag;
|
|
37
|
+
}
|
|
38
|
+
else if (tag.tag == '_globalvar') {
|
|
39
|
+
globalvar = tag;
|
|
40
|
+
}
|
|
41
|
+
else if (tag.tag == '_phonvar') {
|
|
42
|
+
phonvar = tag;
|
|
43
|
+
}
|
|
44
|
+
else if (tag.tag == '_version') {
|
|
45
|
+
version = tag;
|
|
46
|
+
}
|
|
47
|
+
else if (tag.full && tag.tag) {
|
|
48
|
+
langtagsByTag.set(tag.tag.toLowerCase(), tag);
|
|
49
|
+
langtagsByTag.set(tag.full.toLowerCase(), tag);
|
|
50
|
+
if (tag.tags) {
|
|
51
|
+
for (const t of tag.tags) {
|
|
52
|
+
langtagsByTag.set(t.toLowerCase(), tag);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Find a LangTag from a given tag; matches on tag, tags, full properties,
|
|
60
|
+
* with a case-insensitive search.
|
|
61
|
+
* @param tag
|
|
62
|
+
* @returns LangTag or undefined if not found
|
|
63
|
+
*/
|
|
64
|
+
function getLangtagByTag(tag) {
|
|
65
|
+
return langtagsByTag.get(tag.toLowerCase());
|
|
66
|
+
}
|
|
67
|
+
preinit();
|
|
68
|
+
export { langtags, getLangtagByTag, metadata };
|
|
69
|
+
//# sourceMappingURL=main.js.map
|
|
70
|
+
//# debugId=30b9930f-8dff-5ac2-936a-6bebf8172e7c
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sources":["../../src/main.ts"],"sourceRoot":"","names":[],"mappings":"AAAA;;;;GAIG;;;AAEH,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAmC5C,CAAC;AAMD,CAAC;AAKD,CAAC;AAKD,CAAC;AAMD,CAAC;AAEF;;GAEG;AACH,MAAM,aAAa,GAAqB,IAAI,GAAG,EAAe,CAAC;AAE/D,wBAAwB;AACxB,IAAI,WAAW,GAAuB,SAAS,CAAC;AAChD,IAAI,SAAS,GAAqB,SAAS,CAAC;AAC5C,IAAI,OAAO,GAAmB,SAAS,CAAC;AACxC,IAAI,OAAO,GAAmB,SAAS,CAAC;AAExC,MAAM,QAAQ,GAAG;IACf,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7F,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;CAC1D,CAAC;AAEF;;;GAGG;AACH,SAAS,OAAO;IACd,KAAI,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAG,GAAG,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;YAC7B,WAAW,GAAG,GAAG,CAAC;QACpB,CAAC;aAAM,IAAG,GAAG,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;YAClC,SAAS,GAAG,GAAG,CAAC;QAClB,CAAC;aAAM,IAAG,GAAG,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC;aAAM,IAAG,GAAG,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC;aAAM,IAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YAC9B,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9C,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;YAC/C,IAAG,GAAG,CAAC,IAAI,EAAE,CAAC;gBACZ,KAAI,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;oBACxB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,OAAO,EAAE,CAAC;AAEV,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC","debug_id":"30b9930f-8dff-5ac2-936a-6bebf8172e7c"}
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@keymanapp/langtags",
|
|
3
|
+
"description": "Keyman bundling of language tags from langtags.json",
|
|
4
|
+
"keywords": [
|
|
5
|
+
"keyboard",
|
|
6
|
+
"keyman",
|
|
7
|
+
"ldml",
|
|
8
|
+
"unicode"
|
|
9
|
+
],
|
|
10
|
+
"type": "module",
|
|
11
|
+
"types": "./build/src/main.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"es6-bundling": "./src/main.ts",
|
|
15
|
+
"types": "./build/src/main.d.ts",
|
|
16
|
+
"default": "./build/src/main.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"/build/src/"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsc -b",
|
|
24
|
+
"test": "echo no tests for langtags"
|
|
25
|
+
},
|
|
26
|
+
"author": "Marc Durdin <marc@keyman.com> (https://github.com/mcdurdin)",
|
|
27
|
+
"license": "MIT",
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://github.com/keymanapp/keyman/issues"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"typescript": "^5.4.5"
|
|
33
|
+
},
|
|
34
|
+
"repository": {
|
|
35
|
+
"type": "git",
|
|
36
|
+
"url": "git+https://github.com/keymanapp/keyman.git"
|
|
37
|
+
},
|
|
38
|
+
"sideEffects": false,
|
|
39
|
+
"version": "18.0.182-alpha"
|
|
40
|
+
}
|