@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.
@@ -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
+ }