@codingame/monaco-vscode-api 2.0.0-rework-ci.1 → 2.0.0

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.
@@ -1,425 +0,0 @@
1
- import { Color } from '../../../base/common/color.js';
2
- import { Range } from '../../common/core/range.js';
3
- import { FoldingRangeKind, SelectedSuggestionInfo, TokenizationRegistry, LazyTokenizationSupport, EncodedTokenizationResult, TokenizationResult, Token } from '../../common/languages.js';
4
- import { ILanguageConfigurationService } from '../../common/languages/languageConfigurationRegistry.js';
5
- import { ModesRegistry } from '../../common/languages/modesRegistry.js';
6
- import { ILanguageService } from '../../common/languages/language.js';
7
- import { DocumentHighlightKind, CompletionItemKind, CompletionItemTag, CompletionItemInsertTextRule, SymbolKind, SymbolTag, IndentAction, CompletionTriggerKind, SignatureHelpTriggerKind, InlayHintKind, InlineCompletionTriggerKind, CodeActionTriggerType } from '../../common/standalone/standaloneEnums.js';
8
- import { StandaloneServices } from './standaloneServices.js';
9
- import { compile } from '../common/monarch/monarchCompile.js';
10
- import { MonarchTokenizer } from '../common/monarch/monarchLexer.js';
11
- import { IStandaloneThemeService } from '../common/standaloneTheme.js';
12
- import { IMarkerService } from '../../../platform/markers/common/markers.js';
13
- import { ILanguageFeaturesService } from '../../common/services/languageFeatures.js';
14
- import { IConfigurationService } from '../../../platform/configuration/common/configuration.js';
15
- function register(language) {
16
- ModesRegistry.registerLanguage(language);
17
- }
18
- function getLanguages() {
19
- let result = [];
20
- result = result.concat(ModesRegistry.getLanguages());
21
- return result;
22
- }
23
- function getEncodedLanguageId(languageId) {
24
- const languageService = StandaloneServices.get(ILanguageService);
25
- return languageService.languageIdCodec.encodeLanguageId(languageId);
26
- }
27
- function onLanguage(languageId, callback) {
28
- return StandaloneServices.withServices(() => {
29
- const languageService = StandaloneServices.get(ILanguageService);
30
- const disposable = languageService.onDidRequestRichLanguageFeatures((encounteredLanguageId) => {
31
- if (encounteredLanguageId === languageId) {
32
- disposable.dispose();
33
- callback();
34
- }
35
- });
36
- return disposable;
37
- });
38
- }
39
- function onLanguageEncountered(languageId, callback) {
40
- return StandaloneServices.withServices(() => {
41
- const languageService = StandaloneServices.get(ILanguageService);
42
- const disposable = languageService.onDidRequestBasicLanguageFeatures((encounteredLanguageId) => {
43
- if (encounteredLanguageId === languageId) {
44
- disposable.dispose();
45
- callback();
46
- }
47
- });
48
- return disposable;
49
- });
50
- }
51
- function setLanguageConfiguration(languageId, configuration) {
52
- const languageService = StandaloneServices.get(ILanguageService);
53
- if (!languageService.isRegisteredLanguageId(languageId)) {
54
- throw new Error(`Cannot set configuration for unknown language ${languageId}`);
55
- }
56
- const languageConfigurationService = StandaloneServices.get(ILanguageConfigurationService);
57
- return languageConfigurationService.register(languageId, configuration, 100);
58
- }
59
- class EncodedTokenizationSupportAdapter {
60
- constructor(languageId, actual) {
61
- this._languageId = languageId;
62
- this._actual = actual;
63
- }
64
- dispose() {
65
- }
66
- getInitialState() {
67
- return this._actual.getInitialState();
68
- }
69
- tokenize(line, hasEOL, state) {
70
- if (typeof this._actual.tokenize === 'function') {
71
- return TokenizationSupportAdapter.adaptTokenize(this._languageId, this._actual, line, state);
72
- }
73
- throw new Error('Not supported!');
74
- }
75
- tokenizeEncoded(line, hasEOL, state) {
76
- const result = this._actual.tokenizeEncoded(line, state);
77
- return new EncodedTokenizationResult(result.tokens, result.endState);
78
- }
79
- }
80
- class TokenizationSupportAdapter {
81
- constructor(_languageId, _actual, _languageService, _standaloneThemeService) {
82
- this._languageId = _languageId;
83
- this._actual = _actual;
84
- this._languageService = _languageService;
85
- this._standaloneThemeService = _standaloneThemeService;
86
- }
87
- dispose() {
88
- }
89
- getInitialState() {
90
- return this._actual.getInitialState();
91
- }
92
- static _toClassicTokens(tokens, language) {
93
- const result = [];
94
- let previousStartIndex = 0;
95
- for (let i = 0, len = tokens.length; i < len; i++) {
96
- const t = tokens[i];
97
- let startIndex = t.startIndex;
98
- if (i === 0) {
99
- startIndex = 0;
100
- }
101
- else if (startIndex < previousStartIndex) {
102
- startIndex = previousStartIndex;
103
- }
104
- result[i] = new Token(startIndex, t.scopes, language);
105
- previousStartIndex = startIndex;
106
- }
107
- return result;
108
- }
109
- static adaptTokenize(language, actual, line, state) {
110
- const actualResult = actual.tokenize(line, state);
111
- const tokens = TokenizationSupportAdapter._toClassicTokens(actualResult.tokens, language);
112
- let endState;
113
- if (actualResult.endState.equals(state)) {
114
- endState = state;
115
- }
116
- else {
117
- endState = actualResult.endState;
118
- }
119
- return new TokenizationResult(tokens, endState);
120
- }
121
- tokenize(line, hasEOL, state) {
122
- return TokenizationSupportAdapter.adaptTokenize(this._languageId, this._actual, line, state);
123
- }
124
- _toBinaryTokens(languageIdCodec, tokens) {
125
- const languageId = languageIdCodec.encodeLanguageId(this._languageId);
126
- const tokenTheme = this._standaloneThemeService.getColorTheme().tokenTheme;
127
- const result = [];
128
- let resultLen = 0;
129
- let previousStartIndex = 0;
130
- for (let i = 0, len = tokens.length; i < len; i++) {
131
- const t = tokens[i];
132
- const metadata = tokenTheme.match(languageId, t.scopes) | 1024 ;
133
- if (resultLen > 0 && result[resultLen - 1] === metadata) {
134
- continue;
135
- }
136
- let startIndex = t.startIndex;
137
- if (i === 0) {
138
- startIndex = 0;
139
- }
140
- else if (startIndex < previousStartIndex) {
141
- startIndex = previousStartIndex;
142
- }
143
- result[resultLen++] = startIndex;
144
- result[resultLen++] = metadata;
145
- previousStartIndex = startIndex;
146
- }
147
- const actualResult = ( new Uint32Array(resultLen));
148
- for (let i = 0; i < resultLen; i++) {
149
- actualResult[i] = result[i];
150
- }
151
- return actualResult;
152
- }
153
- tokenizeEncoded(line, hasEOL, state) {
154
- const actualResult = this._actual.tokenize(line, state);
155
- const tokens = this._toBinaryTokens(this._languageService.languageIdCodec, actualResult.tokens);
156
- let endState;
157
- if (actualResult.endState.equals(state)) {
158
- endState = state;
159
- }
160
- else {
161
- endState = actualResult.endState;
162
- }
163
- return new EncodedTokenizationResult(tokens, endState);
164
- }
165
- }
166
- function isATokensProvider(provider) {
167
- return (typeof provider.getInitialState === 'function');
168
- }
169
- function isEncodedTokensProvider(provider) {
170
- return 'tokenizeEncoded' in provider;
171
- }
172
- function isThenable(obj) {
173
- return obj && typeof obj.then === 'function';
174
- }
175
- function setColorMap(colorMap) {
176
- const standaloneThemeService = StandaloneServices.get(IStandaloneThemeService);
177
- if (colorMap) {
178
- const result = [null];
179
- for (let i = 1, len = colorMap.length; i < len; i++) {
180
- result[i] = ( Color.fromHex(colorMap[i]));
181
- }
182
- standaloneThemeService.setColorMapOverride(result);
183
- }
184
- else {
185
- standaloneThemeService.setColorMapOverride(null);
186
- }
187
- }
188
- function createTokenizationSupportAdapter(languageId, provider) {
189
- if (isEncodedTokensProvider(provider)) {
190
- return ( new EncodedTokenizationSupportAdapter(languageId, provider));
191
- }
192
- else {
193
- return ( new TokenizationSupportAdapter(
194
- languageId,
195
- provider,
196
- StandaloneServices.get(ILanguageService),
197
- StandaloneServices.get(IStandaloneThemeService)
198
- ));
199
- }
200
- }
201
- function registerTokensProviderFactory(languageId, factory) {
202
- const adaptedFactory = new LazyTokenizationSupport(async () => {
203
- const result = await Promise.resolve(factory.create());
204
- if (!result) {
205
- return null;
206
- }
207
- if (isATokensProvider(result)) {
208
- return createTokenizationSupportAdapter(languageId, result);
209
- }
210
- return ( new MonarchTokenizer(
211
- StandaloneServices.get(ILanguageService),
212
- StandaloneServices.get(IStandaloneThemeService),
213
- languageId,
214
- compile(languageId, result),
215
- StandaloneServices.get(IConfigurationService)
216
- ));
217
- });
218
- return TokenizationRegistry.registerFactory(languageId, adaptedFactory);
219
- }
220
- function setTokensProvider(languageId, provider) {
221
- const languageService = StandaloneServices.get(ILanguageService);
222
- if (!languageService.isRegisteredLanguageId(languageId)) {
223
- throw new Error(`Cannot set tokens provider for unknown language ${languageId}`);
224
- }
225
- if (isThenable(provider)) {
226
- return registerTokensProviderFactory(languageId, { create: () => provider });
227
- }
228
- return TokenizationRegistry.register(languageId, createTokenizationSupportAdapter(languageId, provider));
229
- }
230
- function setMonarchTokensProvider(languageId, languageDef) {
231
- const create = (languageDef) => {
232
- return ( new MonarchTokenizer(
233
- StandaloneServices.get(ILanguageService),
234
- StandaloneServices.get(IStandaloneThemeService),
235
- languageId,
236
- compile(languageId, languageDef),
237
- StandaloneServices.get(IConfigurationService)
238
- ));
239
- };
240
- if (isThenable(languageDef)) {
241
- return registerTokensProviderFactory(languageId, { create: () => languageDef });
242
- }
243
- return TokenizationRegistry.register(languageId, create(languageDef));
244
- }
245
- function registerReferenceProvider(languageSelector, provider) {
246
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
247
- return languageFeaturesService.referenceProvider.register(languageSelector, provider);
248
- }
249
- function registerRenameProvider(languageSelector, provider) {
250
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
251
- return languageFeaturesService.renameProvider.register(languageSelector, provider);
252
- }
253
- function registerSignatureHelpProvider(languageSelector, provider) {
254
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
255
- return languageFeaturesService.signatureHelpProvider.register(languageSelector, provider);
256
- }
257
- function registerHoverProvider(languageSelector, provider) {
258
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
259
- return languageFeaturesService.hoverProvider.register(languageSelector, {
260
- provideHover: (model, position, token) => {
261
- const word = model.getWordAtPosition(position);
262
- return Promise.resolve(provider.provideHover(model, position, token)).then((value) => {
263
- if (!value) {
264
- return undefined;
265
- }
266
- if (!value.range && word) {
267
- value.range = ( new Range(position.lineNumber, word.startColumn, position.lineNumber, word.endColumn));
268
- }
269
- if (!value.range) {
270
- value.range = ( new Range(position.lineNumber, position.column, position.lineNumber, position.column));
271
- }
272
- return value;
273
- });
274
- }
275
- });
276
- }
277
- function registerDocumentSymbolProvider(languageSelector, provider) {
278
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
279
- return languageFeaturesService.documentSymbolProvider.register(languageSelector, provider);
280
- }
281
- function registerDocumentHighlightProvider(languageSelector, provider) {
282
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
283
- return languageFeaturesService.documentHighlightProvider.register(languageSelector, provider);
284
- }
285
- function registerLinkedEditingRangeProvider(languageSelector, provider) {
286
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
287
- return languageFeaturesService.linkedEditingRangeProvider.register(languageSelector, provider);
288
- }
289
- function registerDefinitionProvider(languageSelector, provider) {
290
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
291
- return languageFeaturesService.definitionProvider.register(languageSelector, provider);
292
- }
293
- function registerImplementationProvider(languageSelector, provider) {
294
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
295
- return languageFeaturesService.implementationProvider.register(languageSelector, provider);
296
- }
297
- function registerTypeDefinitionProvider(languageSelector, provider) {
298
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
299
- return languageFeaturesService.typeDefinitionProvider.register(languageSelector, provider);
300
- }
301
- function registerCodeLensProvider(languageSelector, provider) {
302
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
303
- return languageFeaturesService.codeLensProvider.register(languageSelector, provider);
304
- }
305
- function registerCodeActionProvider(languageSelector, provider, metadata) {
306
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
307
- return languageFeaturesService.codeActionProvider.register(languageSelector, {
308
- providedCodeActionKinds: metadata?.providedCodeActionKinds,
309
- documentation: metadata?.documentation,
310
- provideCodeActions: (model, range, context, token) => {
311
- const markerService = StandaloneServices.get(IMarkerService);
312
- const markers = markerService.read({ resource: model.uri }).filter(m => {
313
- return Range.areIntersectingOrTouching(m, range);
314
- });
315
- return provider.provideCodeActions(model, range, { markers, only: context.only, trigger: context.trigger }, token);
316
- },
317
- resolveCodeAction: provider.resolveCodeAction
318
- });
319
- }
320
- function registerDocumentFormattingEditProvider(languageSelector, provider) {
321
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
322
- return languageFeaturesService.documentFormattingEditProvider.register(languageSelector, provider);
323
- }
324
- function registerDocumentRangeFormattingEditProvider(languageSelector, provider) {
325
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
326
- return languageFeaturesService.documentRangeFormattingEditProvider.register(languageSelector, provider);
327
- }
328
- function registerOnTypeFormattingEditProvider(languageSelector, provider) {
329
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
330
- return languageFeaturesService.onTypeFormattingEditProvider.register(languageSelector, provider);
331
- }
332
- function registerLinkProvider(languageSelector, provider) {
333
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
334
- return languageFeaturesService.linkProvider.register(languageSelector, provider);
335
- }
336
- function registerCompletionItemProvider(languageSelector, provider) {
337
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
338
- return languageFeaturesService.completionProvider.register(languageSelector, provider);
339
- }
340
- function registerColorProvider(languageSelector, provider) {
341
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
342
- return languageFeaturesService.colorProvider.register(languageSelector, provider);
343
- }
344
- function registerFoldingRangeProvider(languageSelector, provider) {
345
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
346
- return languageFeaturesService.foldingRangeProvider.register(languageSelector, provider);
347
- }
348
- function registerDeclarationProvider(languageSelector, provider) {
349
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
350
- return languageFeaturesService.declarationProvider.register(languageSelector, provider);
351
- }
352
- function registerSelectionRangeProvider(languageSelector, provider) {
353
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
354
- return languageFeaturesService.selectionRangeProvider.register(languageSelector, provider);
355
- }
356
- function registerDocumentSemanticTokensProvider(languageSelector, provider) {
357
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
358
- return languageFeaturesService.documentSemanticTokensProvider.register(languageSelector, provider);
359
- }
360
- function registerDocumentRangeSemanticTokensProvider(languageSelector, provider) {
361
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
362
- return languageFeaturesService.documentRangeSemanticTokensProvider.register(languageSelector, provider);
363
- }
364
- function registerInlineCompletionsProvider(languageSelector, provider) {
365
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
366
- return languageFeaturesService.inlineCompletionsProvider.register(languageSelector, provider);
367
- }
368
- function registerInlayHintsProvider(languageSelector, provider) {
369
- const languageFeaturesService = StandaloneServices.get(ILanguageFeaturesService);
370
- return languageFeaturesService.inlayHintsProvider.register(languageSelector, provider);
371
- }
372
- function createMonacoLanguagesAPI() {
373
- return {
374
- register: register,
375
- getLanguages: getLanguages,
376
- onLanguage: onLanguage,
377
- onLanguageEncountered: onLanguageEncountered,
378
- getEncodedLanguageId: getEncodedLanguageId,
379
- setLanguageConfiguration: setLanguageConfiguration,
380
- setColorMap: setColorMap,
381
- registerTokensProviderFactory: registerTokensProviderFactory,
382
- setTokensProvider: setTokensProvider,
383
- setMonarchTokensProvider: setMonarchTokensProvider,
384
- registerReferenceProvider: registerReferenceProvider,
385
- registerRenameProvider: registerRenameProvider,
386
- registerCompletionItemProvider: registerCompletionItemProvider,
387
- registerSignatureHelpProvider: registerSignatureHelpProvider,
388
- registerHoverProvider: registerHoverProvider,
389
- registerDocumentSymbolProvider: registerDocumentSymbolProvider,
390
- registerDocumentHighlightProvider: registerDocumentHighlightProvider,
391
- registerLinkedEditingRangeProvider: registerLinkedEditingRangeProvider,
392
- registerDefinitionProvider: registerDefinitionProvider,
393
- registerImplementationProvider: registerImplementationProvider,
394
- registerTypeDefinitionProvider: registerTypeDefinitionProvider,
395
- registerCodeLensProvider: registerCodeLensProvider,
396
- registerCodeActionProvider: registerCodeActionProvider,
397
- registerDocumentFormattingEditProvider: registerDocumentFormattingEditProvider,
398
- registerDocumentRangeFormattingEditProvider: registerDocumentRangeFormattingEditProvider,
399
- registerOnTypeFormattingEditProvider: registerOnTypeFormattingEditProvider,
400
- registerLinkProvider: registerLinkProvider,
401
- registerColorProvider: registerColorProvider,
402
- registerFoldingRangeProvider: registerFoldingRangeProvider,
403
- registerDeclarationProvider: registerDeclarationProvider,
404
- registerSelectionRangeProvider: registerSelectionRangeProvider,
405
- registerDocumentSemanticTokensProvider: registerDocumentSemanticTokensProvider,
406
- registerDocumentRangeSemanticTokensProvider: registerDocumentRangeSemanticTokensProvider,
407
- registerInlineCompletionsProvider: registerInlineCompletionsProvider,
408
- registerInlayHintsProvider: registerInlayHintsProvider,
409
- DocumentHighlightKind: DocumentHighlightKind,
410
- CompletionItemKind: CompletionItemKind,
411
- CompletionItemTag: CompletionItemTag,
412
- CompletionItemInsertTextRule: CompletionItemInsertTextRule,
413
- SymbolKind: SymbolKind,
414
- SymbolTag: SymbolTag,
415
- IndentAction: IndentAction,
416
- CompletionTriggerKind: CompletionTriggerKind,
417
- SignatureHelpTriggerKind: SignatureHelpTriggerKind,
418
- InlayHintKind: InlayHintKind,
419
- InlineCompletionTriggerKind: InlineCompletionTriggerKind,
420
- CodeActionTriggerType: CodeActionTriggerType,
421
- FoldingRangeKind: FoldingRangeKind,
422
- SelectedSuggestionInfo: SelectedSuggestionInfo,
423
- };
424
- }
425
- export { EncodedTokenizationSupportAdapter, TokenizationSupportAdapter, createMonacoLanguagesAPI, getEncodedLanguageId, getLanguages, onLanguage, onLanguageEncountered, register, registerCodeActionProvider, registerCodeLensProvider, registerColorProvider, registerCompletionItemProvider, registerDeclarationProvider, registerDefinitionProvider, registerDocumentFormattingEditProvider, registerDocumentHighlightProvider, registerDocumentRangeFormattingEditProvider, registerDocumentRangeSemanticTokensProvider, registerDocumentSemanticTokensProvider, registerDocumentSymbolProvider, registerFoldingRangeProvider, registerHoverProvider, registerImplementationProvider, registerInlayHintsProvider, registerInlineCompletionsProvider, registerLinkProvider, registerLinkedEditingRangeProvider, registerOnTypeFormattingEditProvider, registerReferenceProvider, registerRenameProvider, registerSelectionRangeProvider, registerSignatureHelpProvider, registerTokensProviderFactory, registerTypeDefinitionProvider, setColorMap, setLanguageConfiguration, setMonarchTokensProvider, setTokensProvider };
@@ -1,88 +0,0 @@
1
- function isFuzzyActionArr(what) {
2
- return (Array.isArray(what));
3
- }
4
- function isFuzzyAction(what) {
5
- return !isFuzzyActionArr(what);
6
- }
7
- function isString(what) {
8
- return (typeof what === 'string');
9
- }
10
- function isIAction(what) {
11
- return !isString(what);
12
- }
13
- function empty(s) {
14
- return (s ? false : true);
15
- }
16
- function fixCase(lexer, str) {
17
- return (lexer.ignoreCase && str ? str.toLowerCase() : str);
18
- }
19
- function sanitize(s) {
20
- return s.replace(/[&<>'"_]/g, '-');
21
- }
22
- function log(lexer, msg) {
23
- console.log(`${lexer.languageId}: ${msg}`);
24
- }
25
- function createError(lexer, msg) {
26
- return ( new Error(`${lexer.languageId}: ${msg}`));
27
- }
28
- function substituteMatches(lexer, str, id, matches, state) {
29
- const re = /\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;
30
- let stateMatches = null;
31
- return str.replace(re, function (full, sub, dollar, hash, n, s, attr, ofs, total) {
32
- if (!empty(dollar)) {
33
- return '$';
34
- }
35
- if (!empty(hash)) {
36
- return fixCase(lexer, id);
37
- }
38
- if (!empty(n) && n < matches.length) {
39
- return fixCase(lexer, matches[n]);
40
- }
41
- if (!empty(attr) && lexer && typeof (lexer[attr]) === 'string') {
42
- return lexer[attr];
43
- }
44
- if (stateMatches === null) {
45
- stateMatches = state.split('.');
46
- stateMatches.unshift(state);
47
- }
48
- if (!empty(s) && s < stateMatches.length) {
49
- return fixCase(lexer, stateMatches[s]);
50
- }
51
- return '';
52
- });
53
- }
54
- function findRules(lexer, inState) {
55
- let state = inState;
56
- while (state && state.length > 0) {
57
- const rules = lexer.tokenizer[state];
58
- if (rules) {
59
- return rules;
60
- }
61
- const idx = state.lastIndexOf('.');
62
- if (idx < 0) {
63
- state = null;
64
- }
65
- else {
66
- state = state.substr(0, idx);
67
- }
68
- }
69
- return null;
70
- }
71
- function stateExists(lexer, inState) {
72
- let state = inState;
73
- while (state && state.length > 0) {
74
- const exist = lexer.stateNames[state];
75
- if (exist) {
76
- return true;
77
- }
78
- const idx = state.lastIndexOf('.');
79
- if (idx < 0) {
80
- state = null;
81
- }
82
- else {
83
- state = state.substr(0, idx);
84
- }
85
- }
86
- return false;
87
- }
88
- export { createError, empty, findRules, fixCase, isFuzzyAction, isFuzzyActionArr, isIAction, isString, log, sanitize, stateExists, substituteMatches };