@keymanapp/kmc-ldml 18.0.41-alpha → 18.0.46-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.
Files changed (58) hide show
  1. package/build/src/compiler/compiler.d.ts +123 -123
  2. package/build/src/compiler/compiler.js +307 -310
  3. package/build/src/compiler/compiler.js.map +1 -1
  4. package/build/src/compiler/disp.d.ts +11 -11
  5. package/build/src/compiler/disp.js +82 -85
  6. package/build/src/compiler/disp.js.map +1 -1
  7. package/build/src/compiler/empty-compiler.d.ts +37 -37
  8. package/build/src/compiler/empty-compiler.js +114 -117
  9. package/build/src/compiler/empty-compiler.js.map +1 -1
  10. package/build/src/compiler/keymanweb-compiler.d.ts +13 -13
  11. package/build/src/compiler/keymanweb-compiler.js +95 -98
  12. package/build/src/compiler/keymanweb-compiler.js.map +1 -1
  13. package/build/src/compiler/keys.d.ts +53 -53
  14. package/build/src/compiler/keys.js +417 -420
  15. package/build/src/compiler/keys.js.map +1 -1
  16. package/build/src/compiler/layr.d.ts +9 -9
  17. package/build/src/compiler/layr.js +81 -84
  18. package/build/src/compiler/layr.js.map +1 -1
  19. package/build/src/compiler/ldml-compiler-options.d.ts +11 -11
  20. package/build/src/compiler/ldml-compiler-options.js +3 -6
  21. package/build/src/compiler/ldml-compiler-options.js.map +1 -1
  22. package/build/src/compiler/loca.d.ts +15 -15
  23. package/build/src/compiler/loca.js +59 -62
  24. package/build/src/compiler/loca.js.map +1 -1
  25. package/build/src/compiler/messages.d.ts +186 -186
  26. package/build/src/compiler/messages.js +122 -125
  27. package/build/src/compiler/messages.js.map +1 -1
  28. package/build/src/compiler/meta.d.ts +13 -13
  29. package/build/src/compiler/meta.js +55 -58
  30. package/build/src/compiler/meta.js.map +1 -1
  31. package/build/src/compiler/metadata-compiler.d.ts +12 -12
  32. package/build/src/compiler/metadata-compiler.js +47 -50
  33. package/build/src/compiler/metadata-compiler.js.map +1 -1
  34. package/build/src/compiler/section-compiler.d.ts +35 -35
  35. package/build/src/compiler/section-compiler.js +40 -43
  36. package/build/src/compiler/section-compiler.js.map +1 -1
  37. package/build/src/compiler/substitution-tracker.d.ts +47 -47
  38. package/build/src/compiler/substitution-tracker.js +103 -106
  39. package/build/src/compiler/substitution-tracker.js.map +1 -1
  40. package/build/src/compiler/touch-layout-compiler.d.ts +7 -7
  41. package/build/src/compiler/touch-layout-compiler.js +91 -94
  42. package/build/src/compiler/touch-layout-compiler.js.map +1 -1
  43. package/build/src/compiler/tran.d.ts +57 -57
  44. package/build/src/compiler/tran.js +388 -391
  45. package/build/src/compiler/tran.js.map +1 -1
  46. package/build/src/compiler/vars.d.ts +21 -21
  47. package/build/src/compiler/vars.js +234 -237
  48. package/build/src/compiler/vars.js.map +1 -1
  49. package/build/src/compiler/visual-keyboard-compiler.d.ts +8 -8
  50. package/build/src/compiler/visual-keyboard-compiler.js +68 -71
  51. package/build/src/compiler/visual-keyboard-compiler.js.map +1 -1
  52. package/build/src/main.d.ts +3 -3
  53. package/build/src/main.js +3 -6
  54. package/build/src/main.js.map +1 -1
  55. package/build/src/util/util.d.ts +49 -49
  56. package/build/src/util/util.js +183 -186
  57. package/build/src/util/util.js.map +1 -1
  58. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"tran.js","sources":["../../../src/compiler/tran.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"25bcdbe4-16f8-5d94-b6ef-d181bc95feed"}
1
+ {"version":3,"file":"tran.js","sourceRoot":"","sources":["../../../src/compiler/tran.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,22 @@
1
- import { SectionIdent } from "@keymanapp/ldml-keyboard-constants";
2
- import { KMXPlus, LDMLKeyboard, CompilerCallbacks } from '@keymanapp/common-types';
3
- import { SectionCompiler } from "./section-compiler.js";
4
- import Vars = KMXPlus.Vars;
5
- import DependencySections = KMXPlus.DependencySections;
6
- import LDMLKeyboardXMLSourceFile = LDMLKeyboard.LDMLKeyboardXMLSourceFile;
7
- import { Substitutions } from "./substitution-tracker.js";
8
- export declare class VarsCompiler extends SectionCompiler {
9
- get id(): SectionIdent;
10
- get dependencies(): Set<SectionIdent>;
11
- constructor(source: LDMLKeyboardXMLSourceFile, callbacks: CompilerCallbacks);
12
- validate(): boolean;
13
- private validateVars;
14
- private collectSubstitutions;
15
- private validateAllSubstitutions;
16
- validateSubstitutions(keyboard: LDMLKeyboard.LKKeyboard, st: Substitutions): boolean;
17
- compile(sections: DependencySections): Vars;
18
- addString(result: Vars, e: LDMLKeyboard.LKString, sections: DependencySections): void;
19
- addSet(result: Vars, e: LDMLKeyboard.LKSet, sections: DependencySections): void;
20
- addUnicodeSet(result: Vars, e: LDMLKeyboard.LKUSet, sections: DependencySections): void;
21
- }
1
+ import { SectionIdent } from "@keymanapp/ldml-keyboard-constants";
2
+ import { KMXPlus, LDMLKeyboard, CompilerCallbacks } from '@keymanapp/common-types';
3
+ import { SectionCompiler } from "./section-compiler.js";
4
+ import Vars = KMXPlus.Vars;
5
+ import DependencySections = KMXPlus.DependencySections;
6
+ import LDMLKeyboardXMLSourceFile = LDMLKeyboard.LDMLKeyboardXMLSourceFile;
7
+ import { Substitutions } from "./substitution-tracker.js";
8
+ export declare class VarsCompiler extends SectionCompiler {
9
+ get id(): SectionIdent;
10
+ get dependencies(): Set<SectionIdent>;
11
+ constructor(source: LDMLKeyboardXMLSourceFile, callbacks: CompilerCallbacks);
12
+ validate(): boolean;
13
+ private validateVars;
14
+ private collectSubstitutions;
15
+ private validateAllSubstitutions;
16
+ validateSubstitutions(keyboard: LDMLKeyboard.LKKeyboard, st: Substitutions): boolean;
17
+ compile(sections: DependencySections): Vars;
18
+ addString(result: Vars, e: LDMLKeyboard.LKString, sections: DependencySections): void;
19
+ addSet(result: Vars, e: LDMLKeyboard.LKSet, sections: DependencySections): void;
20
+ addUnicodeSet(result: Vars, e: LDMLKeyboard.LKUSet, sections: DependencySections): void;
21
+ }
22
22
  //# sourceMappingURL=vars.d.ts.map
@@ -1,237 +1,234 @@
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]="b7dae697-0fd5-508d-8599-799a5ae8e8fa")}catch(e){}}();
3
- import { constants } from "@keymanapp/ldml-keyboard-constants";
4
- import { KMXPlus, MarkerParser } from '@keymanapp/common-types';
5
- import { VariableParser } from '@keymanapp/common-types';
6
- import { SectionCompiler } from "./section-compiler.js";
7
- var Vars = KMXPlus.Vars;
8
- var StringVarItem = KMXPlus.StringVarItem;
9
- var SetVarItem = KMXPlus.SetVarItem;
10
- var UnicodeSetItem = KMXPlus.UnicodeSetItem;
11
- import { CompilerMessages } from "./messages.js";
12
- import { KeysCompiler } from "./keys.js";
13
- import { TransformCompiler } from "./tran.js";
14
- import { DispCompiler } from "./disp.js";
15
- import { SubstitutionUse, Substitutions } from "./substitution-tracker.js";
16
- export class VarsCompiler extends SectionCompiler {
17
- get id() {
18
- return constants.section.vars;
19
- }
20
- get dependencies() {
21
- const defaults = new Set([
22
- constants.section.strs,
23
- constants.section.elem,
24
- constants.section.list,
25
- ]);
26
- defaults.delete(this.id);
27
- return defaults;
28
- }
29
- constructor(source, callbacks) {
30
- super(source, callbacks);
31
- }
32
- validate() {
33
- let valid = true;
34
- valid = this.validateAllSubstitutions() && valid; // accumulate validity
35
- return valid;
36
- }
37
- validateVars(st) {
38
- let valid = true;
39
- const variables = this.keyboard3?.variables;
40
- // Check for duplicate ids
41
- const allIds = new Set();
42
- const dups = new Set();
43
- const allStrings = new Set();
44
- const allSets = new Set();
45
- const allUnicodeSets = new Set();
46
- /**
47
- * add an ID to check for duplicates
48
- * @param id id
49
- */
50
- function addId(id) {
51
- if (allIds.has(id)) {
52
- dups.add(id);
53
- }
54
- else {
55
- allIds.add(id);
56
- }
57
- }
58
- if (variables) {
59
- // Strings
60
- for (const { id, value } of variables.string) {
61
- addId(id);
62
- allStrings.add(id);
63
- const stringrefs = VariableParser.allStringReferences(value);
64
- st.string.add(SubstitutionUse.variable, stringrefs);
65
- }
66
- // Sets
67
- for (const { id, value } of variables.set) {
68
- addId(id);
69
- allSets.add(id);
70
- // check for illegal references, here.
71
- const stringrefs = VariableParser.allStringReferences(value);
72
- st.string.add(SubstitutionUse.variable, stringrefs);
73
- // Now split into spaces.
74
- const items = VariableParser.setSplitter(value);
75
- for (const item of items) {
76
- const setrefs = VariableParser.allSetReferences(item);
77
- if (setrefs.length > 1) {
78
- // this is the form $[seta]$[setb]
79
- valid = false;
80
- this.callbacks.reportMessage(CompilerMessages.Error_NeedSpacesBetweenSetVariables({ item }));
81
- }
82
- else {
83
- st.set.add(SubstitutionUse.variable, setrefs); // the reference to a 'map'
84
- }
85
- // TODO-LDML: Are there other illegal cases here? what about "x$[set]"?
86
- }
87
- }
88
- // UnicodeSets
89
- for (const { id, value } of variables.uset) {
90
- addId(id);
91
- allUnicodeSets.add(id);
92
- const stringrefs = VariableParser.allStringReferences(value);
93
- st.string.add(SubstitutionUse.variable, stringrefs);
94
- const setrefs = VariableParser.allSetReferences(value);
95
- for (const id2 of setrefs) {
96
- if (!allUnicodeSets.has(id2)) {
97
- valid = false;
98
- if (allSets.has(id2)) {
99
- // $[set] in a UnicodeSet must be another UnicodeSet.
100
- this.callbacks.reportMessage(CompilerMessages.Error_CantReferenceSetFromUnicodeSet({ id: id2 }));
101
- }
102
- else {
103
- st.uset.add(SubstitutionUse.variable, [id2]);
104
- }
105
- }
106
- }
107
- }
108
- }
109
- // one report if any dups
110
- if (dups.size > 0) {
111
- this.callbacks.reportMessage(CompilerMessages.Error_DuplicateVariable({
112
- ids: Array.from(dups.values()).sort().join(', ')
113
- }));
114
- valid = false;
115
- }
116
- // check for any missing vars
117
- for (const id of st.set.all) {
118
- // note: we check the uset list also. we don't know until later which was
119
- // intended. collisions are handled separately.
120
- if (!allSets.has(id) && !allUnicodeSets.has(id)) {
121
- valid = false;
122
- this.callbacks.reportMessage(CompilerMessages.Error_MissingSetVariable({ id }));
123
- }
124
- }
125
- for (const id of st.string.all) {
126
- if (!allStrings.has(id)) {
127
- valid = false;
128
- this.callbacks.reportMessage(CompilerMessages.Error_MissingStringVariable({ id }));
129
- }
130
- }
131
- for (const id of st.uset.all) {
132
- if (!allUnicodeSets.has(id)) {
133
- valid = false;
134
- this.callbacks.reportMessage(CompilerMessages.Error_MissingUnicodeSetVariable({ id }));
135
- }
136
- }
137
- return valid;
138
- }
139
- collectSubstitutions(st) {
140
- let valid = true;
141
- // call our friends to validate
142
- valid = this.validateSubstitutions(this.keyboard3, st) && valid; // accumulate validity
143
- valid = KeysCompiler.validateSubstitutions(this.keyboard3, st) && valid; // accumulate validity
144
- valid = TransformCompiler.validateSubstitutions(this.keyboard3, st) && valid; // accumulate validity
145
- valid = DispCompiler.validateSubstitutions(this.keyboard3, st) && valid; // accumulate validity
146
- return valid;
147
- }
148
- validateAllSubstitutions() {
149
- const st = new Substitutions();
150
- let valid = this.collectSubstitutions(st);
151
- // see if there are any matched-but-not-emitted markers
152
- const matchedNotEmitted = new Set();
153
- const mt = st.markers;
154
- for (const m of mt.matched.values()) {
155
- if (m === MarkerParser.ANY_MARKER_ID)
156
- continue; // match-all marker
157
- if (!mt.emitted.has(m)) {
158
- matchedNotEmitted.add(m);
159
- }
160
- }
161
- for (const m of mt.consumed.values()) {
162
- if (m === MarkerParser.ANY_MARKER_ID)
163
- continue; // match-all marker
164
- if (!mt.emitted.has(m)) {
165
- matchedNotEmitted.add(m);
166
- }
167
- }
168
- // report once
169
- if (matchedNotEmitted.size > 0) {
170
- this.callbacks.reportMessage(CompilerMessages.Error_MissingMarkers({ ids: Array.from(matchedNotEmitted.values()).sort() }));
171
- valid = false;
172
- }
173
- // now, validate the variables.
174
- valid = this.validateVars(st) && valid;
175
- return valid;
176
- }
177
- validateSubstitutions(keyboard, st) {
178
- keyboard?.variables?.string?.forEach(({ value }) => st.markers.add(SubstitutionUse.variable, MarkerParser.allReferences(value)));
179
- // get markers mentioned in a set
180
- keyboard?.variables?.set?.forEach(({ value }) => VariableParser.setSplitter(value).forEach(v => st.markers.add(SubstitutionUse.match, MarkerParser.allReferences(v))));
181
- return true;
182
- }
183
- compile(sections) {
184
- const result = new Vars();
185
- const variables = this.keyboard3?.variables;
186
- // we always have vars, it's depended on by other sections
187
- // we already know the variables do not conflict with each other
188
- // need to add these one by one, because they depend on each other.
189
- // we don't add these in completely 'natural' order because xml2js has already lost that.
190
- // instead we go: strings, sets, then unicodeSets.
191
- // first, strings.
192
- variables?.string?.forEach((e) => this.addString(result, e, sections));
193
- variables?.uset?.forEach((e) => this.addUnicodeSet(result, e, sections));
194
- // reload markers - TODO-LDML: double work!
195
- const st = new Substitutions();
196
- this.collectSubstitutions(st);
197
- const mt = st.markers;
198
- // collect all markers, excluding the match-all
199
- const allMarkers = Array.from(mt.all).filter(m => m !== MarkerParser.ANY_MARKER_ID).sort();
200
- result.markers = sections.list.allocList(allMarkers, {}, sections);
201
- // sets need to be added late, because they can refer to markers
202
- variables?.set?.forEach((e) => this.addSet(result, e, sections));
203
- return result.valid() ? result : null;
204
- }
205
- // routines for initializing Vars remain here, in the compiler.
206
- addString(result, e, sections) {
207
- const { id } = e;
208
- let { value } = e;
209
- // fix any variables
210
- value = result.substituteStrings(value, sections);
211
- result.strings.push(new StringVarItem(id, value, sections));
212
- }
213
- addSet(result, e, sections) {
214
- const { id } = e;
215
- let { value } = e;
216
- // first substitute strings
217
- value = result.substituteStrings(value, sections);
218
- // OK to do this as a substitute, because we've already validated the set above.
219
- value = result.substituteSets(value, sections);
220
- // raw items - without marker substitution
221
- const rawItems = VariableParser.setSplitter(value);
222
- // cooked items - has substutition of markers
223
- // this is not 'forMatch', all variables are to be assumed as string literals, not regex
224
- // content.
225
- const cookedItems = rawItems.map(v => result.substituteMarkerString(v, false));
226
- result.sets.push(new SetVarItem(id, cookedItems, sections, rawItems));
227
- }
228
- addUnicodeSet(result, e, sections) {
229
- const { id } = e;
230
- let { value } = e;
231
- value = result.substituteStrings(value, sections);
232
- value = result.substituteUnicodeSets(value, sections);
233
- result.usets.push(new UnicodeSetItem(id, value, sections, sections.usetparser));
234
- }
235
- }
236
- //# sourceMappingURL=vars.js.map
237
- //# debugId=b7dae697-0fd5-508d-8599-799a5ae8e8fa
1
+ import { constants } from "@keymanapp/ldml-keyboard-constants";
2
+ import { KMXPlus, MarkerParser } from '@keymanapp/common-types';
3
+ import { VariableParser } from '@keymanapp/common-types';
4
+ import { SectionCompiler } from "./section-compiler.js";
5
+ var Vars = KMXPlus.Vars;
6
+ var StringVarItem = KMXPlus.StringVarItem;
7
+ var SetVarItem = KMXPlus.SetVarItem;
8
+ var UnicodeSetItem = KMXPlus.UnicodeSetItem;
9
+ import { CompilerMessages } from "./messages.js";
10
+ import { KeysCompiler } from "./keys.js";
11
+ import { TransformCompiler } from "./tran.js";
12
+ import { DispCompiler } from "./disp.js";
13
+ import { SubstitutionUse, Substitutions } from "./substitution-tracker.js";
14
+ export class VarsCompiler extends SectionCompiler {
15
+ get id() {
16
+ return constants.section.vars;
17
+ }
18
+ get dependencies() {
19
+ const defaults = new Set([
20
+ constants.section.strs,
21
+ constants.section.elem,
22
+ constants.section.list,
23
+ ]);
24
+ defaults.delete(this.id);
25
+ return defaults;
26
+ }
27
+ constructor(source, callbacks) {
28
+ super(source, callbacks);
29
+ }
30
+ validate() {
31
+ let valid = true;
32
+ valid = this.validateAllSubstitutions() && valid; // accumulate validity
33
+ return valid;
34
+ }
35
+ validateVars(st) {
36
+ let valid = true;
37
+ const variables = this.keyboard3?.variables;
38
+ // Check for duplicate ids
39
+ const allIds = new Set();
40
+ const dups = new Set();
41
+ const allStrings = new Set();
42
+ const allSets = new Set();
43
+ const allUnicodeSets = new Set();
44
+ /**
45
+ * add an ID to check for duplicates
46
+ * @param id id
47
+ */
48
+ function addId(id) {
49
+ if (allIds.has(id)) {
50
+ dups.add(id);
51
+ }
52
+ else {
53
+ allIds.add(id);
54
+ }
55
+ }
56
+ if (variables) {
57
+ // Strings
58
+ for (const { id, value } of variables.string) {
59
+ addId(id);
60
+ allStrings.add(id);
61
+ const stringrefs = VariableParser.allStringReferences(value);
62
+ st.string.add(SubstitutionUse.variable, stringrefs);
63
+ }
64
+ // Sets
65
+ for (const { id, value } of variables.set) {
66
+ addId(id);
67
+ allSets.add(id);
68
+ // check for illegal references, here.
69
+ const stringrefs = VariableParser.allStringReferences(value);
70
+ st.string.add(SubstitutionUse.variable, stringrefs);
71
+ // Now split into spaces.
72
+ const items = VariableParser.setSplitter(value);
73
+ for (const item of items) {
74
+ const setrefs = VariableParser.allSetReferences(item);
75
+ if (setrefs.length > 1) {
76
+ // this is the form $[seta]$[setb]
77
+ valid = false;
78
+ this.callbacks.reportMessage(CompilerMessages.Error_NeedSpacesBetweenSetVariables({ item }));
79
+ }
80
+ else {
81
+ st.set.add(SubstitutionUse.variable, setrefs); // the reference to a 'map'
82
+ }
83
+ // TODO-LDML: Are there other illegal cases here? what about "x$[set]"?
84
+ }
85
+ }
86
+ // UnicodeSets
87
+ for (const { id, value } of variables.uset) {
88
+ addId(id);
89
+ allUnicodeSets.add(id);
90
+ const stringrefs = VariableParser.allStringReferences(value);
91
+ st.string.add(SubstitutionUse.variable, stringrefs);
92
+ const setrefs = VariableParser.allSetReferences(value);
93
+ for (const id2 of setrefs) {
94
+ if (!allUnicodeSets.has(id2)) {
95
+ valid = false;
96
+ if (allSets.has(id2)) {
97
+ // $[set] in a UnicodeSet must be another UnicodeSet.
98
+ this.callbacks.reportMessage(CompilerMessages.Error_CantReferenceSetFromUnicodeSet({ id: id2 }));
99
+ }
100
+ else {
101
+ st.uset.add(SubstitutionUse.variable, [id2]);
102
+ }
103
+ }
104
+ }
105
+ }
106
+ }
107
+ // one report if any dups
108
+ if (dups.size > 0) {
109
+ this.callbacks.reportMessage(CompilerMessages.Error_DuplicateVariable({
110
+ ids: Array.from(dups.values()).sort().join(', ')
111
+ }));
112
+ valid = false;
113
+ }
114
+ // check for any missing vars
115
+ for (const id of st.set.all) {
116
+ // note: we check the uset list also. we don't know until later which was
117
+ // intended. collisions are handled separately.
118
+ if (!allSets.has(id) && !allUnicodeSets.has(id)) {
119
+ valid = false;
120
+ this.callbacks.reportMessage(CompilerMessages.Error_MissingSetVariable({ id }));
121
+ }
122
+ }
123
+ for (const id of st.string.all) {
124
+ if (!allStrings.has(id)) {
125
+ valid = false;
126
+ this.callbacks.reportMessage(CompilerMessages.Error_MissingStringVariable({ id }));
127
+ }
128
+ }
129
+ for (const id of st.uset.all) {
130
+ if (!allUnicodeSets.has(id)) {
131
+ valid = false;
132
+ this.callbacks.reportMessage(CompilerMessages.Error_MissingUnicodeSetVariable({ id }));
133
+ }
134
+ }
135
+ return valid;
136
+ }
137
+ collectSubstitutions(st) {
138
+ let valid = true;
139
+ // call our friends to validate
140
+ valid = this.validateSubstitutions(this.keyboard3, st) && valid; // accumulate validity
141
+ valid = KeysCompiler.validateSubstitutions(this.keyboard3, st) && valid; // accumulate validity
142
+ valid = TransformCompiler.validateSubstitutions(this.keyboard3, st) && valid; // accumulate validity
143
+ valid = DispCompiler.validateSubstitutions(this.keyboard3, st) && valid; // accumulate validity
144
+ return valid;
145
+ }
146
+ validateAllSubstitutions() {
147
+ const st = new Substitutions();
148
+ let valid = this.collectSubstitutions(st);
149
+ // see if there are any matched-but-not-emitted markers
150
+ const matchedNotEmitted = new Set();
151
+ const mt = st.markers;
152
+ for (const m of mt.matched.values()) {
153
+ if (m === MarkerParser.ANY_MARKER_ID)
154
+ continue; // match-all marker
155
+ if (!mt.emitted.has(m)) {
156
+ matchedNotEmitted.add(m);
157
+ }
158
+ }
159
+ for (const m of mt.consumed.values()) {
160
+ if (m === MarkerParser.ANY_MARKER_ID)
161
+ continue; // match-all marker
162
+ if (!mt.emitted.has(m)) {
163
+ matchedNotEmitted.add(m);
164
+ }
165
+ }
166
+ // report once
167
+ if (matchedNotEmitted.size > 0) {
168
+ this.callbacks.reportMessage(CompilerMessages.Error_MissingMarkers({ ids: Array.from(matchedNotEmitted.values()).sort() }));
169
+ valid = false;
170
+ }
171
+ // now, validate the variables.
172
+ valid = this.validateVars(st) && valid;
173
+ return valid;
174
+ }
175
+ validateSubstitutions(keyboard, st) {
176
+ keyboard?.variables?.string?.forEach(({ value }) => st.markers.add(SubstitutionUse.variable, MarkerParser.allReferences(value)));
177
+ // get markers mentioned in a set
178
+ keyboard?.variables?.set?.forEach(({ value }) => VariableParser.setSplitter(value).forEach(v => st.markers.add(SubstitutionUse.match, MarkerParser.allReferences(v))));
179
+ return true;
180
+ }
181
+ compile(sections) {
182
+ const result = new Vars();
183
+ const variables = this.keyboard3?.variables;
184
+ // we always have vars, it's depended on by other sections
185
+ // we already know the variables do not conflict with each other
186
+ // need to add these one by one, because they depend on each other.
187
+ // we don't add these in completely 'natural' order because xml2js has already lost that.
188
+ // instead we go: strings, sets, then unicodeSets.
189
+ // first, strings.
190
+ variables?.string?.forEach((e) => this.addString(result, e, sections));
191
+ variables?.uset?.forEach((e) => this.addUnicodeSet(result, e, sections));
192
+ // reload markers - TODO-LDML: double work!
193
+ const st = new Substitutions();
194
+ this.collectSubstitutions(st);
195
+ const mt = st.markers;
196
+ // collect all markers, excluding the match-all
197
+ const allMarkers = Array.from(mt.all).filter(m => m !== MarkerParser.ANY_MARKER_ID).sort();
198
+ result.markers = sections.list.allocList(allMarkers, {}, sections);
199
+ // sets need to be added late, because they can refer to markers
200
+ variables?.set?.forEach((e) => this.addSet(result, e, sections));
201
+ return result.valid() ? result : null;
202
+ }
203
+ // routines for initializing Vars remain here, in the compiler.
204
+ addString(result, e, sections) {
205
+ const { id } = e;
206
+ let { value } = e;
207
+ // fix any variables
208
+ value = result.substituteStrings(value, sections);
209
+ result.strings.push(new StringVarItem(id, value, sections));
210
+ }
211
+ addSet(result, e, sections) {
212
+ const { id } = e;
213
+ let { value } = e;
214
+ // first substitute strings
215
+ value = result.substituteStrings(value, sections);
216
+ // OK to do this as a substitute, because we've already validated the set above.
217
+ value = result.substituteSets(value, sections);
218
+ // raw items - without marker substitution
219
+ const rawItems = VariableParser.setSplitter(value);
220
+ // cooked items - has substutition of markers
221
+ // this is not 'forMatch', all variables are to be assumed as string literals, not regex
222
+ // content.
223
+ const cookedItems = rawItems.map(v => result.substituteMarkerString(v, false));
224
+ result.sets.push(new SetVarItem(id, cookedItems, sections, rawItems));
225
+ }
226
+ addUnicodeSet(result, e, sections) {
227
+ const { id } = e;
228
+ let { value } = e;
229
+ value = result.substituteStrings(value, sections);
230
+ value = result.substituteUnicodeSets(value, sections);
231
+ result.usets.push(new UnicodeSetItem(id, value, sections, sections.usetparser));
232
+ }
233
+ }
234
+ //# sourceMappingURL=vars.js.map