@keymanapp/kmc-ldml 17.0.300-beta → 17.0.302-beta

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.
Files changed (39) hide show
  1. package/build/src/compiler/compiler.js +309 -308
  2. package/build/src/compiler/compiler.js.map +1 -1
  3. package/build/src/compiler/disp.js +84 -83
  4. package/build/src/compiler/disp.js.map +1 -1
  5. package/build/src/compiler/empty-compiler.js +116 -115
  6. package/build/src/compiler/empty-compiler.js.map +1 -1
  7. package/build/src/compiler/keymanweb-compiler.js +97 -96
  8. package/build/src/compiler/keymanweb-compiler.js.map +1 -1
  9. package/build/src/compiler/keys.js +419 -418
  10. package/build/src/compiler/keys.js.map +1 -1
  11. package/build/src/compiler/layr.js +83 -82
  12. package/build/src/compiler/layr.js.map +1 -1
  13. package/build/src/compiler/ldml-compiler-options.js +5 -4
  14. package/build/src/compiler/ldml-compiler-options.js.map +1 -1
  15. package/build/src/compiler/loca.js +61 -60
  16. package/build/src/compiler/loca.js.map +1 -1
  17. package/build/src/compiler/messages.js +120 -119
  18. package/build/src/compiler/messages.js.map +1 -1
  19. package/build/src/compiler/meta.js +57 -56
  20. package/build/src/compiler/meta.js.map +1 -1
  21. package/build/src/compiler/metadata-compiler.js +49 -48
  22. package/build/src/compiler/metadata-compiler.js.map +1 -1
  23. package/build/src/compiler/section-compiler.js +42 -41
  24. package/build/src/compiler/section-compiler.js.map +1 -1
  25. package/build/src/compiler/substitution-tracker.js +105 -104
  26. package/build/src/compiler/substitution-tracker.js.map +1 -1
  27. package/build/src/compiler/touch-layout-compiler.js +93 -92
  28. package/build/src/compiler/touch-layout-compiler.js.map +1 -1
  29. package/build/src/compiler/tran.js +382 -381
  30. package/build/src/compiler/tran.js.map +1 -1
  31. package/build/src/compiler/vars.js +236 -235
  32. package/build/src/compiler/vars.js.map +1 -1
  33. package/build/src/compiler/visual-keyboard-compiler.js +70 -69
  34. package/build/src/compiler/visual-keyboard-compiler.js.map +1 -1
  35. package/build/src/main.js +5 -4
  36. package/build/src/main.js.map +1 -1
  37. package/build/src/util/util.js +185 -184
  38. package/build/src/util/util.js.map +1 -1
  39. package/package.json +6 -6
@@ -1,70 +1,71 @@
1
- !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]="84fc4934-7f9b-58c7-b32f-536bf1d3bdc8")}catch(e){}}();
2
- import { VisualKeyboard } from "@keymanapp/common-types";
3
- import { KeysCompiler } from "./keys.js";
4
- import { CompilerMessages } from "./messages.js";
5
- export class LdmlKeyboardVisualKeyboardCompiler {
6
- callbacks;
7
- constructor(callbacks) {
8
- this.callbacks = callbacks;
9
- }
10
- compile(source) {
11
- let result = new VisualKeyboard.VisualKeyboard();
12
- /* TODO-LDML: consider VisualKeyboardHeaderFlags.kvkhUseUnderlying kvkhDisplayUnderlying kvkhAltGr kvkh102 */
13
- result.header.flags = 0;
14
- result.header.version = 0x0600;
15
- /* TODO-LDML: consider associatedKeyboard: this _must_ be set to id (aka basename sans ext) of keyboard .kmx file */
16
- result.header.associatedKeyboard = '';
17
- result.header.ansiFont = { ...VisualKeyboard.DEFAULT_KVK_FONT };
18
- result.header.unicodeFont = { ...VisualKeyboard.DEFAULT_KVK_FONT };
19
- for (let layers of source.keyboard3.layers) {
20
- const { formId } = layers;
21
- for (let layer of layers.layer) {
22
- this.compileHardwareLayer(source, result, layer, formId);
23
- }
24
- }
25
- return result;
26
- }
27
- compileHardwareLayer(source, vk, layer, hardware) {
28
- const layerId = layer.id;
29
- if (hardware === 'touch') {
30
- hardware = 'us'; // TODO-LDML: US Only. Do something different here?
31
- }
32
- const keymap = KeysCompiler.getKeymapFromForms(source.keyboard3?.forms?.form, hardware);
33
- if (!keymap) {
34
- this.callbacks.reportMessage(CompilerMessages.Error_InvalidHardware({ formId: hardware }));
35
- return;
36
- }
37
- const shift = this.translateLayerIdToVisualKeyboardShift(layer.id);
38
- let y = -1;
39
- for (let row of layer.row) {
40
- y++;
41
- const keys = row.keys.split(' ');
42
- let x = -1;
43
- for (let key of keys) {
44
- const keyId = key;
45
- x++;
46
- let keydef = source.keyboard3.keys?.key?.find(x => x.id == key);
47
- if (!keydef) {
48
- this.callbacks.reportMessage(CompilerMessages.Error_KeyNotFoundInKeyBag({ keyId, layer: layerId, row: y, col: x, form: hardware }));
49
- }
50
- else {
51
- vk.keys.push({
52
- flags: 2 /* VisualKeyboard.VisualKeyboardKeyFlags.kvkkUnicode */,
53
- shift: shift,
54
- text: keydef.output,
55
- vkey: keymap[y][x],
56
- });
57
- }
58
- }
59
- }
60
- }
61
- translateLayerIdToVisualKeyboardShift(id) {
62
- if (id == 'base') {
63
- return 0;
64
- }
65
- // TODO-LDML: other modifiers
66
- return 0;
67
- }
68
- }
69
- //# debugId=84fc4934-7f9b-58c7-b32f-536bf1d3bdc8
1
+
2
+ !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]="20fe0858-b127-57f9-8acf-05baa436395b")}catch(e){}}();
3
+ import { VisualKeyboard } from "@keymanapp/common-types";
4
+ import { KeysCompiler } from "./keys.js";
5
+ import { CompilerMessages } from "./messages.js";
6
+ export class LdmlKeyboardVisualKeyboardCompiler {
7
+ callbacks;
8
+ constructor(callbacks) {
9
+ this.callbacks = callbacks;
10
+ }
11
+ compile(source) {
12
+ let result = new VisualKeyboard.VisualKeyboard();
13
+ /* TODO-LDML: consider VisualKeyboardHeaderFlags.kvkhUseUnderlying kvkhDisplayUnderlying kvkhAltGr kvkh102 */
14
+ result.header.flags = 0;
15
+ result.header.version = 0x0600;
16
+ /* TODO-LDML: consider associatedKeyboard: this _must_ be set to id (aka basename sans ext) of keyboard .kmx file */
17
+ result.header.associatedKeyboard = '';
18
+ result.header.ansiFont = { ...VisualKeyboard.DEFAULT_KVK_FONT };
19
+ result.header.unicodeFont = { ...VisualKeyboard.DEFAULT_KVK_FONT };
20
+ for (let layers of source.keyboard3.layers) {
21
+ const { formId } = layers;
22
+ for (let layer of layers.layer) {
23
+ this.compileHardwareLayer(source, result, layer, formId);
24
+ }
25
+ }
26
+ return result;
27
+ }
28
+ compileHardwareLayer(source, vk, layer, hardware) {
29
+ const layerId = layer.id;
30
+ if (hardware === 'touch') {
31
+ hardware = 'us'; // TODO-LDML: US Only. Do something different here?
32
+ }
33
+ const keymap = KeysCompiler.getKeymapFromForms(source.keyboard3?.forms?.form, hardware);
34
+ if (!keymap) {
35
+ this.callbacks.reportMessage(CompilerMessages.Error_InvalidHardware({ formId: hardware }));
36
+ return;
37
+ }
38
+ const shift = this.translateLayerIdToVisualKeyboardShift(layer.id);
39
+ let y = -1;
40
+ for (let row of layer.row) {
41
+ y++;
42
+ const keys = row.keys.split(' ');
43
+ let x = -1;
44
+ for (let key of keys) {
45
+ const keyId = key;
46
+ x++;
47
+ let keydef = source.keyboard3.keys?.key?.find(x => x.id == key);
48
+ if (!keydef) {
49
+ this.callbacks.reportMessage(CompilerMessages.Error_KeyNotFoundInKeyBag({ keyId, layer: layerId, row: y, col: x, form: hardware }));
50
+ }
51
+ else {
52
+ vk.keys.push({
53
+ flags: 2 /* VisualKeyboard.VisualKeyboardKeyFlags.kvkkUnicode */,
54
+ shift: shift,
55
+ text: keydef.output,
56
+ vkey: keymap[y][x],
57
+ });
58
+ }
59
+ }
60
+ }
61
+ }
62
+ translateLayerIdToVisualKeyboardShift(id) {
63
+ if (id == 'base') {
64
+ return 0;
65
+ }
66
+ // TODO-LDML: other modifiers
67
+ return 0;
68
+ }
69
+ }
70
70
  //# sourceMappingURL=visual-keyboard-compiler.js.map
71
+ //# debugId=20fe0858-b127-57f9-8acf-05baa436395b
@@ -1 +1 @@
1
- {"debug_id":"84fc4934-7f9b-58c7-b32f-536bf1d3bdc8","file":"visual-keyboard-compiler.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/compiler/visual-keyboard-compiler.ts"],"version":3}
1
+ {"version":3,"file":"visual-keyboard-compiler.js","sources":["../../../src/compiler/visual-keyboard-compiler.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"20fe0858-b127-57f9-8acf-05baa436395b"}
package/build/src/main.js CHANGED
@@ -1,5 +1,6 @@
1
- !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]="19304dd8-b397-5c91-a393-c86c3c398b6c")}catch(e){}}();
2
- export { LdmlKeyboardCompiler } from './compiler/compiler.js';
3
- export { CompilerMessages as LdmlKeyboardCompilerMessages } from './compiler/messages.js'; // TODO: rename messages.js and CompilerMessages
4
- //# debugId=19304dd8-b397-5c91-a393-c86c3c398b6c
1
+
2
+ !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]="473a60eb-f332-5e3d-bf08-69b6693d2f74")}catch(e){}}();
3
+ export { LdmlKeyboardCompiler } from './compiler/compiler.js';
4
+ export { CompilerMessages as LdmlKeyboardCompilerMessages } from './compiler/messages.js'; // TODO: rename messages.js and CompilerMessages
5
5
  //# sourceMappingURL=main.js.map
6
+ //# debugId=473a60eb-f332-5e3d-bf08-69b6693d2f74
@@ -1 +1 @@
1
- {"debug_id":"19304dd8-b397-5c91-a393-c86c3c398b6c","file":"main.js","mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,gBAAgB,IAAI,4BAA4B,EAAE,MAAM,wBAAwB,CAAC,CAAC,gDAAgD","names":[],"sourceRoot":"","sources":["../../src/main.ts"],"version":3}
1
+ {"version":3,"file":"main.js","sources":["../../src/main.ts"],"sourceRoot":"","names":[],"mappings":";;AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,gBAAgB,IAAI,4BAA4B,EAAE,MAAM,wBAAwB,CAAC,CAAC,gDAAgD","debug_id":"473a60eb-f332-5e3d-bf08-69b6693d2f74"}
@@ -1,185 +1,186 @@
1
- !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]="7d7cc53f-898c-5e04-831b-4f72c82dcfd6")}catch(e){}}();
2
- import { constants } from "@keymanapp/ldml-keyboard-constants";
3
- /**
4
- * Verifies that value is an item in the enumeration.
5
- */
6
- export function isValidEnumValue(enu, value) {
7
- return Object.values(enu).includes(value);
8
- }
9
- /**
10
- * Returns unique LKKeys only, preserving later ones
11
- * in case of conflict. (i.e. later overrides)
12
- * @param keys list of keys to consider. (mutated)
13
- * @returns Array of unique keys. Order is not specified.
14
- */
15
- export function calculateUniqueKeys(keys) {
16
- if (!keys) {
17
- return [];
18
- }
19
- // Need 'newer' (later) keys to override older ones.
20
- const reverseKeys = keys.reverse(); // newest to oldest
21
- const alreadySeen = new Set();
22
- // filter out only the keys that haven't already been seen
23
- const uniqueKeys = reverseKeys.filter(({ id }) => {
24
- if (!alreadySeen.has(id)) {
25
- alreadySeen.add(id);
26
- return true;
27
- }
28
- return false;
29
- });
30
- return uniqueKeys;
31
- }
32
- /** Convert an array of keys to a hash */
33
- export function hashKeys(keys) {
34
- const m = new Map();
35
- for (const k of keys ?? []) {
36
- m.set(k.id, k);
37
- }
38
- return m;
39
- }
40
- export function hashFlicks(flicks) {
41
- const m = new Map();
42
- for (const k of flicks ?? []) {
43
- m.set(k.id, k);
44
- }
45
- return m;
46
- }
47
- /**
48
- * @param layersList list of layers elements, from `keyboard?.layers`
49
- * @returns set of key IDs
50
- */
51
- export function allUsedKeyIdsInLayers(layersList) {
52
- const s = new Set();
53
- if (layersList) {
54
- for (const layers of layersList || []) {
55
- for (const layer of layers.layer || []) {
56
- for (const row of layer.row || []) {
57
- if (row.keys) {
58
- for (const k of row.keys.split(" ")) {
59
- s.add(k);
60
- }
61
- }
62
- }
63
- }
64
- }
65
- }
66
- return s;
67
- }
68
- /**
69
- * Extract all of the key ids that this key refers to, not counting flicks
70
- * @returns map from the key id to a set of attribute names (such as `multiTapDefaultKeyId` etc.) used by that key.
71
- */
72
- export function allUsedKeyIdsInKey(key) {
73
- const m = new Map();
74
- /** add one key */
75
- function addKey(keyId, attr) {
76
- if (!keyId)
77
- return;
78
- if (!m.has(keyId))
79
- m.set(keyId, []);
80
- m.get(keyId).push(attr);
81
- }
82
- /** add a set of keys */
83
- function addKeys(keyIds, attr) {
84
- if (!keyIds)
85
- return;
86
- for (const keyId of keyIds?.split(' ')) {
87
- addKey(keyId, attr);
88
- }
89
- }
90
- const { longPressKeyIds, longPressDefaultKeyId, multiTapKeyIds } = key;
91
- addKey(longPressDefaultKeyId, 'longPressDefaultKeyId');
92
- addKeys(longPressKeyIds, 'longPressKeyIds');
93
- addKeys(multiTapKeyIds, 'multiTapKeyIds');
94
- return m;
95
- }
96
- export function allUsedKeyIdsInFlick(flick) {
97
- const s = new Set();
98
- if (flick) {
99
- for (const { keyId } of flick.flickSegment) {
100
- s.add(keyId);
101
- }
102
- }
103
- return s;
104
- }
105
- /**
106
- * Helper function for validating child elements. Written for the convenience of message passing functions.
107
- *
108
- * @param values array of values to check
109
- * @param onDuplicate callback with array of duplicate values, deduped
110
- * @param allowed optional set of valid values
111
- * @param onInvalid callback with array of invalid values, deduped
112
- * @returns true if all OK
113
- */
114
- export function verifyValidAndUnique(values, onDuplicate, allowed, onInvalid) {
115
- const dups = [];
116
- const invalids = [];
117
- const seen = new Set();
118
- for (const value of values) {
119
- if (allowed && !allowed.has(value)) {
120
- invalids.push(value);
121
- }
122
- if (seen.has(value)) {
123
- dups.push(value);
124
- }
125
- else {
126
- seen.add(value);
127
- }
128
- }
129
- function dedupedSortedArray(values) {
130
- return Array.from(new Set(values)).sort();
131
- }
132
- if (dups.length > 0 && onDuplicate) {
133
- onDuplicate(dedupedSortedArray(dups));
134
- }
135
- if (invalids.length > 0 && onInvalid) {
136
- onInvalid(dedupedSortedArray(invalids));
137
- }
138
- return (!dups.length && !invalids.length);
139
- }
140
- /**
141
- * Determine modifier from layer info
142
- * @param layer layer obj
143
- * @returns modifier array
144
- */
145
- export function translateLayerAttrToModifier(layer) {
146
- const { modifiers } = layer;
147
- if (!modifiers)
148
- return [constants.keys_mod_none];
149
- return modifiers.split(',').map(m => translateModifierSubsetToLayer(m)).sort();
150
- }
151
- function translateModifierSubsetToLayer(modifiers) {
152
- // TODO-LDML: Default #11072
153
- if (modifiers) {
154
- if (modifiers.indexOf(',') !== -1) {
155
- throw Error(`translateModifierSubsetToLayer only takes a single subset of the modifiers`);
156
- }
157
- let mod = constants.keys_mod_none;
158
- for (let str of modifiers.split(' ')) {
159
- const submod = constants.keys_mod_map.get(str);
160
- mod |= submod;
161
- }
162
- return mod;
163
- }
164
- // TODO-LDML: other modifiers, other ids?
165
- return constants.keys_mod_none;
166
- }
167
- /**
168
- * @param modifier modifier sequence such as undefined, "none", "shift altR" etc
169
- * @returns true if valid
170
- */
171
- export function validModifier(modifier) {
172
- if (!modifier)
173
- return true; // valid to have no modifier, == none
174
- // TODO-LDML: enforce illegal combinations per spec.
175
- for (let sub of modifier.trim().split(',')) {
176
- for (let str of sub.trim().split(' ')) {
177
- if (!constants.keys_mod_map.has(str)) {
178
- return false;
179
- }
180
- }
181
- }
182
- return true;
183
- }
184
- //# debugId=7d7cc53f-898c-5e04-831b-4f72c82dcfd6
1
+
2
+ !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]="92c01187-7818-5f35-9ffc-8e06975000b5")}catch(e){}}();
3
+ import { constants } from "@keymanapp/ldml-keyboard-constants";
4
+ /**
5
+ * Verifies that value is an item in the enumeration.
6
+ */
7
+ export function isValidEnumValue(enu, value) {
8
+ return Object.values(enu).includes(value);
9
+ }
10
+ /**
11
+ * Returns unique LKKeys only, preserving later ones
12
+ * in case of conflict. (i.e. later overrides)
13
+ * @param keys list of keys to consider. (mutated)
14
+ * @returns Array of unique keys. Order is not specified.
15
+ */
16
+ export function calculateUniqueKeys(keys) {
17
+ if (!keys) {
18
+ return [];
19
+ }
20
+ // Need 'newer' (later) keys to override older ones.
21
+ const reverseKeys = keys.reverse(); // newest to oldest
22
+ const alreadySeen = new Set();
23
+ // filter out only the keys that haven't already been seen
24
+ const uniqueKeys = reverseKeys.filter(({ id }) => {
25
+ if (!alreadySeen.has(id)) {
26
+ alreadySeen.add(id);
27
+ return true;
28
+ }
29
+ return false;
30
+ });
31
+ return uniqueKeys;
32
+ }
33
+ /** Convert an array of keys to a hash */
34
+ export function hashKeys(keys) {
35
+ const m = new Map();
36
+ for (const k of keys ?? []) {
37
+ m.set(k.id, k);
38
+ }
39
+ return m;
40
+ }
41
+ export function hashFlicks(flicks) {
42
+ const m = new Map();
43
+ for (const k of flicks ?? []) {
44
+ m.set(k.id, k);
45
+ }
46
+ return m;
47
+ }
48
+ /**
49
+ * @param layersList list of layers elements, from `keyboard?.layers`
50
+ * @returns set of key IDs
51
+ */
52
+ export function allUsedKeyIdsInLayers(layersList) {
53
+ const s = new Set();
54
+ if (layersList) {
55
+ for (const layers of layersList || []) {
56
+ for (const layer of layers.layer || []) {
57
+ for (const row of layer.row || []) {
58
+ if (row.keys) {
59
+ for (const k of row.keys.split(" ")) {
60
+ s.add(k);
61
+ }
62
+ }
63
+ }
64
+ }
65
+ }
66
+ }
67
+ return s;
68
+ }
69
+ /**
70
+ * Extract all of the key ids that this key refers to, not counting flicks
71
+ * @returns map from the key id to a set of attribute names (such as `multiTapDefaultKeyId` etc.) used by that key.
72
+ */
73
+ export function allUsedKeyIdsInKey(key) {
74
+ const m = new Map();
75
+ /** add one key */
76
+ function addKey(keyId, attr) {
77
+ if (!keyId)
78
+ return;
79
+ if (!m.has(keyId))
80
+ m.set(keyId, []);
81
+ m.get(keyId).push(attr);
82
+ }
83
+ /** add a set of keys */
84
+ function addKeys(keyIds, attr) {
85
+ if (!keyIds)
86
+ return;
87
+ for (const keyId of keyIds?.split(' ')) {
88
+ addKey(keyId, attr);
89
+ }
90
+ }
91
+ const { longPressKeyIds, longPressDefaultKeyId, multiTapKeyIds } = key;
92
+ addKey(longPressDefaultKeyId, 'longPressDefaultKeyId');
93
+ addKeys(longPressKeyIds, 'longPressKeyIds');
94
+ addKeys(multiTapKeyIds, 'multiTapKeyIds');
95
+ return m;
96
+ }
97
+ export function allUsedKeyIdsInFlick(flick) {
98
+ const s = new Set();
99
+ if (flick) {
100
+ for (const { keyId } of flick.flickSegment) {
101
+ s.add(keyId);
102
+ }
103
+ }
104
+ return s;
105
+ }
106
+ /**
107
+ * Helper function for validating child elements. Written for the convenience of message passing functions.
108
+ *
109
+ * @param values array of values to check
110
+ * @param onDuplicate callback with array of duplicate values, deduped
111
+ * @param allowed optional set of valid values
112
+ * @param onInvalid callback with array of invalid values, deduped
113
+ * @returns true if all OK
114
+ */
115
+ export function verifyValidAndUnique(values, onDuplicate, allowed, onInvalid) {
116
+ const dups = [];
117
+ const invalids = [];
118
+ const seen = new Set();
119
+ for (const value of values) {
120
+ if (allowed && !allowed.has(value)) {
121
+ invalids.push(value);
122
+ }
123
+ if (seen.has(value)) {
124
+ dups.push(value);
125
+ }
126
+ else {
127
+ seen.add(value);
128
+ }
129
+ }
130
+ function dedupedSortedArray(values) {
131
+ return Array.from(new Set(values)).sort();
132
+ }
133
+ if (dups.length > 0 && onDuplicate) {
134
+ onDuplicate(dedupedSortedArray(dups));
135
+ }
136
+ if (invalids.length > 0 && onInvalid) {
137
+ onInvalid(dedupedSortedArray(invalids));
138
+ }
139
+ return (!dups.length && !invalids.length);
140
+ }
141
+ /**
142
+ * Determine modifier from layer info
143
+ * @param layer layer obj
144
+ * @returns modifier array
145
+ */
146
+ export function translateLayerAttrToModifier(layer) {
147
+ const { modifiers } = layer;
148
+ if (!modifiers)
149
+ return [constants.keys_mod_none];
150
+ return modifiers.split(',').map(m => translateModifierSubsetToLayer(m)).sort();
151
+ }
152
+ function translateModifierSubsetToLayer(modifiers) {
153
+ // TODO-LDML: Default #11072
154
+ if (modifiers) {
155
+ if (modifiers.indexOf(',') !== -1) {
156
+ throw Error(`translateModifierSubsetToLayer only takes a single subset of the modifiers`);
157
+ }
158
+ let mod = constants.keys_mod_none;
159
+ for (let str of modifiers.split(' ')) {
160
+ const submod = constants.keys_mod_map.get(str);
161
+ mod |= submod;
162
+ }
163
+ return mod;
164
+ }
165
+ // TODO-LDML: other modifiers, other ids?
166
+ return constants.keys_mod_none;
167
+ }
168
+ /**
169
+ * @param modifier modifier sequence such as undefined, "none", "shift altR" etc
170
+ * @returns true if valid
171
+ */
172
+ export function validModifier(modifier) {
173
+ if (!modifier)
174
+ return true; // valid to have no modifier, == none
175
+ // TODO-LDML: enforce illegal combinations per spec.
176
+ for (let sub of modifier.trim().split(',')) {
177
+ for (let str of sub.trim().split(' ')) {
178
+ if (!constants.keys_mod_map.has(str)) {
179
+ return false;
180
+ }
181
+ }
182
+ }
183
+ return true;
184
+ }
185
185
  //# sourceMappingURL=util.js.map
186
+ //# debugId=92c01187-7818-5f35-9ffc-8e06975000b5
@@ -1 +1 @@
1
- {"debug_id":"7d7cc53f-898c-5e04-831b-4f72c82dcfd6","file":"util.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/util/util.ts"],"version":3}
1
+ {"version":3,"file":"util.js","sources":["../../../src/util/util.ts"],"sourceRoot":"","names":[],"mappings":";;AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAA6C,GAAM,EAAE,KAAa;IAChG,OAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA2B;IAC7D,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IACD,oDAAoD;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,mBAAmB;IACvD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,0DAA0D;IAC1D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACxB,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,QAAQ,CAAC,IAA2B;IAClD,MAAM,CAAC,GAAG,IAAI,GAAG,EAA8B,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,EAAE;QAC1B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;KAChB;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAA+B;IACxD,MAAM,CAAC,GAAG,IAAI,GAAG,EAAgC,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,EAAE;QAC5B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;KAChB;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAGD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAoC;IACxE,MAAM,CAAC,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,IAAI,UAAU,EAAE;QACd,KAAK,MAAM,MAAM,IAAI,UAAU,IAAI,EAAE,EAAE;YACrC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;gBACtC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE;oBACjC,IAAI,GAAG,CAAC,IAAI,EAAE;wBACZ,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;4BACnC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;yBACV;qBACF;iBACF;aACF;SACF;KACF;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAwB;IACzD,MAAM,CAAC,GAAG,IAAI,GAAG,EAAoB,CAAC;IACtC,kBAAkB;IAClB,SAAS,MAAM,CAAC,KAA0B,EAAE,IAAY;QACtD,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,wBAAwB;IACxB,SAAS,OAAO,CAAC,MAA2B,EAAE,IAAY;QACxD,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;YACtC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SACrB;IACH,CAAC;IAED,MAAM,EAAC,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAC,GAAG,GAAG,CAAC;IAErE,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;IACvD,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAC5C,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAE1C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAA6B;IAChE,MAAM,CAAC,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,IAAG,KAAK,EAAE;QACR,KAAK,MAAM,EAAC,KAAK,EAAC,IAAI,KAAK,CAAC,YAAY,EAAE;YACxC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACd;KACF;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAgB,EAChB,WAA2C,EAC3C,OAAqB,EACrB,SAAwC;IAExC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtB;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClB;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACjB;KACF;IAED,SAAS,kBAAkB,CAAC,MAAgB;QAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,EAAE;QAClC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;KACvC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,EAAE;QACpC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;KACzC;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAA2B;IACtE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,8BAA8B,CAAC,SAAiB;IACvD,4BAA4B;IAC5B,IAAI,SAAS,EAAE;QACb,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YACjC,MAAM,KAAK,CAAC,4EAA4E,CAAC,CAAC;SAC3F;QACD,IAAI,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC;QAClC,KAAK,IAAI,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACpC,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/C,GAAG,IAAI,MAAM,CAAC;SACf;QACD,OAAO,GAAG,CAAC;KACZ;IACD,yCAAyC;IACzC,OAAO,SAAS,CAAC,aAAa,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAiB;IAC7C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,CAAE,qCAAqC;IAClE,oDAAoD;IACpD,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QAC1C,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACpC,OAAO,KAAK,CAAC;aACd;SACF;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC","debug_id":"92c01187-7818-5f35-9ffc-8e06975000b5"}
package/package.json CHANGED
@@ -25,15 +25,15 @@
25
25
  "url": "https://github.com/keymanapp/keyman/issues"
26
26
  },
27
27
  "dependencies": {
28
- "@keymanapp/keyman-version": "17.0.300-beta",
29
- "@keymanapp/kmc-kmn": "17.0.300-beta",
30
- "@keymanapp/ldml-keyboard-constants": "17.0.300-beta",
28
+ "@keymanapp/keyman-version": "17.0.302-beta",
29
+ "@keymanapp/kmc-kmn": "17.0.302-beta",
30
+ "@keymanapp/ldml-keyboard-constants": "17.0.302-beta",
31
31
  "restructure": "git+https://github.com/keymanapp/dependency-restructure.git#7a188a1e26f8f36a175d95b67ffece8702363dfc",
32
32
  "semver": "^7.5.2"
33
33
  },
34
34
  "devDependencies": {
35
- "@keymanapp/developer-test-helpers": "17.0.300-beta",
36
- "@keymanapp/resources-gosh": "17.0.300-beta",
35
+ "@keymanapp/developer-test-helpers": "17.0.302-beta",
36
+ "@keymanapp/resources-gosh": "17.0.302-beta",
37
37
  "@types/chai": "^4.1.7",
38
38
  "@types/mocha": "^5.2.7",
39
39
  "@types/node": "^20.4.1",
@@ -65,5 +65,5 @@
65
65
  "type": "git",
66
66
  "url": "git+https://github.com/keymanapp/keyman.git"
67
67
  },
68
- "version": "17.0.300-beta"
68
+ "version": "17.0.302-beta"
69
69
  }