@grafana/plugin-ui 0.13.0 → 0.14.0-dev.1
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/dist/cjs/index.cjs +214 -224
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +2 -9
- package/dist/cjs/test-utils.cjs +2 -2
- package/dist/cjs/test-utils.cjs.map +1 -1
- package/dist/cjs/test-utils.d.cts +1 -1
- package/dist/esm/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/Auth.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js +4 -4
- package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/auth-method/BasicAuth.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeader.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js +1 -1
- package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/styles.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/SkipTLSVerification.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js +3 -3
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettings.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettingsSection.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/types.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/utils.js +3 -3
- package/dist/esm/components/ConfigEditor/Auth/utils.js.map +1 -1
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +2 -2
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js.map +1 -1
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSection.js.map +1 -1
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSubSection.js.map +1 -1
- package/dist/esm/components/ConfigEditor/ConfigSection/GenericConfigSection.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js +1 -1
- package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DataSourceDescription.js.map +1 -1
- package/dist/esm/components/ConfigEditor/SecureSocksProxyToggle.js.map +1 -1
- package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js +11 -11
- package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js.map +1 -1
- package/dist/esm/components/DataLinks/DataLink.js +4 -4
- package/dist/esm/components/DataLinks/DataLink.js.map +1 -1
- package/dist/esm/components/DataLinks/DataLinks.js +3 -3
- package/dist/esm/components/DataLinks/DataLinks.js.map +1 -1
- package/dist/esm/components/DataSourcePicker/DataSourcePicker.js +8 -8
- package/dist/esm/components/DataSourcePicker/DataSourcePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/styles.js +2 -2
- package/dist/esm/components/DatePicker/styles.js.map +1 -1
- package/dist/esm/components/DatePickerWithInput/DatePickerWithInput.js.map +1 -1
- package/dist/esm/components/DatePickerWithInput/styles.js +2 -2
- package/dist/esm/components/DatePickerWithInput/styles.js.map +1 -1
- package/dist/esm/components/DebounceInput/DebounceInput.js.map +1 -1
- package/dist/esm/components/Plugins/PluginSignatureBadge.js.map +1 -1
- package/dist/esm/components/QueryEditor/AccessoryButton.js.map +1 -1
- package/dist/esm/components/QueryEditor/CatalogSelector.js +1 -1
- package/dist/esm/components/QueryEditor/CatalogSelector.js.map +1 -1
- package/dist/esm/components/QueryEditor/ConfirmModal.js +1 -1
- package/dist/esm/components/QueryEditor/ConfirmModal.js.map +1 -1
- package/dist/esm/components/QueryEditor/DatasetSelector.js +1 -1
- package/dist/esm/components/QueryEditor/DatasetSelector.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorField.js +5 -5
- package/dist/esm/components/QueryEditor/EditorField.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorFieldGroup.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorHeader.js +2 -2
- package/dist/esm/components/QueryEditor/EditorHeader.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorList.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorRow.js +4 -4
- package/dist/esm/components/QueryEditor/EditorRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorRows.js +2 -2
- package/dist/esm/components/QueryEditor/EditorRows.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorStack.js +1 -1
- package/dist/esm/components/QueryEditor/EditorStack.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorSwitch.js +2 -2
- package/dist/esm/components/QueryEditor/EditorSwitch.js.map +1 -1
- package/dist/esm/components/QueryEditor/FlexItem.js.map +1 -1
- package/dist/esm/components/QueryEditor/InlineSelect.js.map +1 -1
- package/dist/esm/components/QueryEditor/InputGroup.js +2 -2
- package/dist/esm/components/QueryEditor/InputGroup.js.map +1 -1
- package/dist/esm/components/QueryEditor/QueryEditor.js +7 -7
- package/dist/esm/components/QueryEditor/QueryEditor.js.map +1 -1
- package/dist/esm/components/QueryEditor/QueryHeader.js +18 -18
- package/dist/esm/components/QueryEditor/QueryHeader.js.map +1 -1
- package/dist/esm/components/QueryEditor/RunQueryButton.js +1 -1
- package/dist/esm/components/QueryEditor/RunQueryButton.js.map +1 -1
- package/dist/esm/components/QueryEditor/Space.js +17 -26
- package/dist/esm/components/QueryEditor/Space.js.map +1 -1
- package/dist/esm/components/QueryEditor/TableSelector.js.map +1 -1
- package/dist/esm/components/QueryEditor/defaults.js +7 -7
- package/dist/esm/components/QueryEditor/defaults.js.map +1 -1
- package/dist/esm/components/QueryEditor/expressions.js.map +1 -1
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js.map +1 -1
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js +1 -1
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js.map +1 -1
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js +4 -4
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js.map +1 -1
- package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js +3 -3
- package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js.map +1 -1
- package/dist/esm/components/QueryEditor/types.js.map +1 -1
- package/dist/esm/components/QueryEditor/utils/formatSQL.js.map +1 -1
- package/dist/esm/components/QueryEditor/utils/sql.utils.js +8 -8
- package/dist/esm/components/QueryEditor/utils/sql.utils.js.map +1 -1
- package/dist/esm/components/QueryEditor/utils/useSqlChange.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js +26 -27
- package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js +3 -3
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRows.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js +4 -4
- package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js +9 -9
- package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/WhereRow.js.map +1 -1
- package/dist/esm/components/QueryEditorRow/QueryEditorRow.js.map +1 -1
- package/dist/esm/components/SQLEditor/components/SQLEditor.js +13 -13
- package/dist/esm/components/SQLEditor/components/SQLEditor.js.map +1 -1
- package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js +1 -1
- package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/Monaco.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/TextModel.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQuery.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQuery.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueries.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/definition.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js +2 -2
- package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js +3 -3
- package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/language.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/macros.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js +2 -2
- package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js +1 -1
- package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js +25 -25
- package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js +1 -1
- package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js.map +1 -1
- package/dist/esm/components/SQLEditor/test-utils/index.js.map +1 -1
- package/dist/esm/components/SQLEditor/test-utils/statementPosition.js.map +1 -1
- package/dist/esm/components/SQLEditor/types.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/LinkedToken.js +7 -7
- package/dist/esm/components/SQLEditor/utils/LinkedToken.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/commands.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/debugger.js +1 -1
- package/dist/esm/components/SQLEditor/utils/debugger.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/getSuggestionKind.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js +1 -1
- package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/toCompletionItem.js +1 -1
- package/dist/esm/components/SQLEditor/utils/toCompletionItem.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/tokenUtils.js +9 -9
- package/dist/esm/components/SQLEditor/utils/tokenUtils.js.map +1 -1
- package/dist/esm/components/Segment/Segment.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js +2 -2
- package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js +11 -11
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js +4 -4
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js +2 -3
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js +3 -3
- package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js +2 -2
- package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js +2 -2
- package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationList.js +3 -4
- package/dist/esm/components/VisualQueryBuilder/components/OperationList.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js +2 -2
- package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js +5 -6
- package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js +2 -3
- package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js +8 -8
- package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/QueryEditorModeToggle.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js +2 -3
- package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js +0 -1
- package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js +2 -2
- package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/types.js.map +1 -1
- package/dist/esm/datasource/SqlDatasource.js +14 -14
- package/dist/esm/datasource/SqlDatasource.js.map +1 -1
- package/dist/esm/datasource/constants.js.map +1 -1
- package/dist/esm/hooks/useDebounce.js.map +1 -1
- package/dist/esm/index.d.ts +2 -9
- package/dist/esm/test/mocks/DataQuery.js.map +1 -1
- package/dist/esm/test/mocks/Datasource.js +1 -1
- package/dist/esm/test/mocks/Datasource.js.map +1 -1
- package/dist/esm/test/mocks/Plugin.js +1 -1
- package/dist/esm/test/mocks/Plugin.js.map +1 -1
- package/dist/esm/test/mocks/QueryEditorProps.js.map +1 -1
- package/dist/esm/test/mocks/utils.js +2 -2
- package/dist/esm/test/mocks/utils.js.map +1 -1
- package/dist/esm/test-utils.d.ts +1 -1
- package/package.json +13 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standardSuggestionsRegistry.js","sources":["../../../../../src/components/SQLEditor/standardSql/standardSuggestionsRegistry.ts"],"sourcesContent":["import { type Registry } from '@grafana/data';\nimport { getTemplateSrv } from '@grafana/runtime';\nimport { TRIGGER_SUGGEST } from '../utils/commands';\nimport {\n CompletionItemInsertTextRule,\n CompletionItemKind,\n CompletionItemPriority,\n MacroType,\n OperatorType,\n SuggestionKind,\n} from '../types';\nimport { ASC, DESC } from './language';\nimport {\n type FunctionsRegistryItem,\n type MacrosRegistryItem,\n type OperatorsRegistryItem,\n type SuggestionsRegistryItem,\n} from './types';\n\n/**\n * This registry glues particular SuggestionKind with an async function that provides completion items for it.\n * To add a new suggestion kind, SQLEditor should be configured with a provider that implements customSuggestionKinds.\n */\n\nexport const initStandardSuggestions =\n (\n functions: Registry<FunctionsRegistryItem>,\n operators: Registry<OperatorsRegistryItem>,\n macros: Registry<MacrosRegistryItem>\n ) =>\n (): SuggestionsRegistryItem[] => [\n {\n id: SuggestionKind.SelectKeyword,\n name: SuggestionKind.SelectKeyword,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: `SELECT <column>`,\n insertText: `SELECT $0`,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Snippet,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n },\n {\n label: `SELECT <column> FROM <table>`,\n insertText: `SELECT $2 FROM $1`,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Snippet,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n },\n ]),\n },\n {\n id: SuggestionKind.TemplateVariables,\n name: SuggestionKind.TemplateVariables,\n suggestions: (_, m) => {\n const templateSrv = getTemplateSrv();\n if (!templateSrv) {\n return Promise.resolve([]);\n }\n\n return Promise.resolve(\n templateSrv.getVariables().map((variable) => {\n const label = `\\$${variable.name}`;\n const val = templateSrv.replace(label);\n return {\n label,\n detail: `(Template Variable) ${val}`,\n kind: CompletionItemKind.Snippet,\n documentation: `(Template Variable) ${val}`,\n insertText: `\\\\$${variable.name} `,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Low,\n };\n })\n );\n },\n },\n {\n id: SuggestionKind.SelectMacro,\n name: SuggestionKind.SelectMacro,\n suggestions: (_, m) =>\n Promise.resolve([\n ...macros\n .list()\n .filter((m) => m.type === MacroType.Value || m.type === MacroType.Column)\n .map(createMacroSuggestionItem),\n ]),\n },\n {\n id: SuggestionKind.TableMacro,\n name: SuggestionKind.TableMacro,\n suggestions: (_, m) =>\n Promise.resolve([\n ...macros\n .list()\n .filter((m) => m.type === MacroType.Table)\n .map(createMacroSuggestionItem),\n ]),\n },\n {\n id: SuggestionKind.GroupMacro,\n name: SuggestionKind.GroupMacro,\n suggestions: (_, m) =>\n Promise.resolve([\n ...macros\n .list()\n .filter((m) => m.type === MacroType.Group)\n .map(createMacroSuggestionItem),\n ]),\n },\n {\n id: SuggestionKind.FilterMacro,\n name: SuggestionKind.FilterMacro,\n suggestions: (_, m) =>\n Promise.resolve([\n ...macros\n .list()\n .filter((m) => m.type === MacroType.Filter)\n .map(createMacroSuggestionItem),\n ]),\n },\n {\n id: SuggestionKind.WithKeyword,\n name: SuggestionKind.WithKeyword,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: `WITH <alias> AS ( ... )`,\n insertText: `WITH $1 AS ( $2 )`,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Snippet,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n },\n ]),\n },\n {\n id: SuggestionKind.StarWildCard,\n name: SuggestionKind.StarWildCard,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: '*',\n insertText: `* $0`,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Field,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.High,\n },\n ]),\n },\n {\n id: SuggestionKind.FunctionsWithArguments,\n name: SuggestionKind.FunctionsWithArguments,\n suggestions: (_, m) =>\n Promise.resolve([\n ...functions.list().map((f) => ({\n label: f.name,\n insertText: `${f.name}($0)`,\n documentation: f.description,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Function,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumLow,\n })),\n ]),\n },\n {\n id: SuggestionKind.FunctionsWithoutArguments,\n name: SuggestionKind.FunctionsWithoutArguments,\n suggestions: (_, m) =>\n Promise.resolve([\n ...functions.list().map((f) => ({\n label: f.name,\n insertText: `${f.name}()`,\n documentation: f.description,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Function,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumHigh,\n })),\n ]),\n },\n {\n id: SuggestionKind.FromKeyword,\n name: SuggestionKind.FromKeyword,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: 'FROM',\n insertText: `FROM $0`,\n command: TRIGGER_SUGGEST,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Keyword,\n },\n ]),\n },\n {\n id: SuggestionKind.Schemas,\n name: SuggestionKind.Schemas,\n suggestions: (_, m) => Promise.resolve([]),\n },\n {\n id: SuggestionKind.Tables,\n name: SuggestionKind.Tables,\n suggestions: (_, m) => Promise.resolve([]),\n },\n {\n id: SuggestionKind.Columns,\n name: SuggestionKind.Columns,\n suggestions: (_, m) => Promise.resolve([]),\n },\n {\n id: SuggestionKind.LogicalOperators,\n name: SuggestionKind.LogicalOperators,\n suggestions: (_, m) =>\n Promise.resolve(\n operators\n .list()\n .filter((o) => o.type === OperatorType.Logical)\n .map((o) => ({\n label: o.operator,\n insertText: `${o.operator} `,\n documentation: o.description,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumHigh,\n kind: CompletionItemKind.Operator,\n }))\n ),\n },\n {\n id: SuggestionKind.WhereKeyword,\n name: SuggestionKind.WhereKeyword,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: 'WHERE',\n insertText: `WHERE `,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumHigh,\n kind: CompletionItemKind.Keyword,\n },\n ]),\n },\n {\n id: SuggestionKind.ComparisonOperators,\n name: SuggestionKind.ComparisonOperators,\n suggestions: (_, m) =>\n Promise.resolve([\n ...operators\n .list()\n .filter((o) => o.type === OperatorType.Comparison)\n .map((o) => ({\n label: o.operator,\n insertText: `${o.operator} `,\n documentation: o.description,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumHigh,\n kind: CompletionItemKind.Operator,\n })),\n {\n label: 'IN (...)',\n insertText: `IN ( $0 )`,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n kind: CompletionItemKind.Operator,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: 'NOT IN (...)',\n insertText: `NOT IN ( $0 )`,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n kind: CompletionItemKind.Operator,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: 'IS',\n insertText: `IS`,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n kind: CompletionItemKind.Operator,\n },\n {\n label: 'IS NOT',\n insertText: `IS NOT`,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n kind: CompletionItemKind.Operator,\n },\n ]),\n },\n {\n id: SuggestionKind.GroupByKeywords,\n name: SuggestionKind.GroupByKeywords,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: 'GROUP BY',\n insertText: `GROUP BY `,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumHigh,\n kind: CompletionItemKind.Keyword,\n },\n ]),\n },\n {\n id: SuggestionKind.OrderByKeywords,\n name: SuggestionKind.OrderByKeywords,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: 'ORDER BY',\n insertText: `ORDER BY `,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n kind: CompletionItemKind.Keyword,\n },\n {\n label: 'ORDER BY(ascending)',\n insertText: `ORDER BY $1 ASC `,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumLow,\n kind: CompletionItemKind.Snippet,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: 'ORDER BY(descending)',\n insertText: `ORDER BY $1 DESC`,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumLow,\n kind: CompletionItemKind.Snippet,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n },\n ]),\n },\n {\n id: SuggestionKind.LimitKeyword,\n name: SuggestionKind.LimitKeyword,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: 'LIMIT',\n insertText: `LIMIT `,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumLow,\n kind: CompletionItemKind.Keyword,\n },\n ]),\n },\n {\n id: SuggestionKind.SortOrderDirectionKeyword,\n name: SuggestionKind.SortOrderDirectionKeyword,\n suggestions: (_, m) =>\n Promise.resolve(\n [ASC, DESC].map((o) => ({\n label: o,\n insertText: `${o} `,\n command: TRIGGER_SUGGEST,\n kind: CompletionItemKind.Keyword,\n }))\n ),\n },\n {\n id: SuggestionKind.NotKeyword,\n name: SuggestionKind.NotKeyword,\n suggestions: () =>\n Promise.resolve([\n {\n label: 'NOT',\n insertText: 'NOT',\n command: TRIGGER_SUGGEST,\n kind: CompletionItemKind.Keyword,\n sortText: CompletionItemPriority.High,\n },\n ]),\n },\n {\n id: SuggestionKind.BoolValues,\n name: SuggestionKind.BoolValues,\n suggestions: () =>\n Promise.resolve(\n ['TRUE', 'FALSE'].map((o) => ({\n label: o,\n insertText: `${o}`,\n command: TRIGGER_SUGGEST,\n kind: CompletionItemKind.Keyword,\n sortText: CompletionItemPriority.Medium,\n }))\n ),\n },\n {\n id: SuggestionKind.NullValue,\n name: SuggestionKind.NullValue,\n suggestions: () =>\n Promise.resolve(\n ['NULL'].map((o) => ({\n label: o,\n insertText: `${o}`,\n command: TRIGGER_SUGGEST,\n kind: CompletionItemKind.Keyword,\n sortText: CompletionItemPriority.Low,\n }))\n ),\n },\n ];\n\nfunction createMacroSuggestionItem(m: MacrosRegistryItem) {\n return {\n label: m.name,\n insertText: `${'\\\\' + m.text}${argsString(m.args)} `,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Snippet,\n documentation: m.description,\n command: TRIGGER_SUGGEST,\n };\n}\n\nfunction argsString(args?: string[]): string {\n if (!args) {\n return '()';\n }\n return '('.concat(args.map((t, i) => `\\${${i}:${t}}`).join(', ')).concat(')');\n}\n"],"names":["m"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standardSuggestionsRegistry.js","sources":["../../../../../src/components/SQLEditor/standardSql/standardSuggestionsRegistry.ts"],"sourcesContent":["import { type Registry } from '@grafana/data';\nimport { getTemplateSrv } from '@grafana/runtime';\nimport { TRIGGER_SUGGEST } from '../utils/commands';\nimport {\n CompletionItemInsertTextRule,\n CompletionItemKind,\n CompletionItemPriority,\n MacroType,\n OperatorType,\n SuggestionKind,\n} from '../types';\nimport { ASC, DESC } from './language';\nimport {\n type FunctionsRegistryItem,\n type MacrosRegistryItem,\n type OperatorsRegistryItem,\n type SuggestionsRegistryItem,\n} from './types';\n\n/**\n * This registry glues particular SuggestionKind with an async function that provides completion items for it.\n * To add a new suggestion kind, SQLEditor should be configured with a provider that implements customSuggestionKinds.\n */\n\nexport const initStandardSuggestions =\n (\n functions: Registry<FunctionsRegistryItem>,\n operators: Registry<OperatorsRegistryItem>,\n macros: Registry<MacrosRegistryItem>\n ) =>\n (): SuggestionsRegistryItem[] => [\n {\n id: SuggestionKind.SelectKeyword,\n name: SuggestionKind.SelectKeyword,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: `SELECT <column>`,\n insertText: `SELECT $0`,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Snippet,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n },\n {\n label: `SELECT <column> FROM <table>`,\n insertText: `SELECT $2 FROM $1`,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Snippet,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n },\n ]),\n },\n {\n id: SuggestionKind.TemplateVariables,\n name: SuggestionKind.TemplateVariables,\n suggestions: (_, m) => {\n const templateSrv = getTemplateSrv();\n if (!templateSrv) {\n return Promise.resolve([]);\n }\n\n return Promise.resolve(\n templateSrv.getVariables().map((variable) => {\n const label = `\\$${variable.name}`;\n const val = templateSrv.replace(label);\n return {\n label,\n detail: `(Template Variable) ${val}`,\n kind: CompletionItemKind.Snippet,\n documentation: `(Template Variable) ${val}`,\n insertText: `\\\\$${variable.name} `,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Low,\n };\n })\n );\n },\n },\n {\n id: SuggestionKind.SelectMacro,\n name: SuggestionKind.SelectMacro,\n suggestions: (_, m) =>\n Promise.resolve([\n ...macros\n .list()\n .filter((m) => m.type === MacroType.Value || m.type === MacroType.Column)\n .map(createMacroSuggestionItem),\n ]),\n },\n {\n id: SuggestionKind.TableMacro,\n name: SuggestionKind.TableMacro,\n suggestions: (_, m) =>\n Promise.resolve([\n ...macros\n .list()\n .filter((m) => m.type === MacroType.Table)\n .map(createMacroSuggestionItem),\n ]),\n },\n {\n id: SuggestionKind.GroupMacro,\n name: SuggestionKind.GroupMacro,\n suggestions: (_, m) =>\n Promise.resolve([\n ...macros\n .list()\n .filter((m) => m.type === MacroType.Group)\n .map(createMacroSuggestionItem),\n ]),\n },\n {\n id: SuggestionKind.FilterMacro,\n name: SuggestionKind.FilterMacro,\n suggestions: (_, m) =>\n Promise.resolve([\n ...macros\n .list()\n .filter((m) => m.type === MacroType.Filter)\n .map(createMacroSuggestionItem),\n ]),\n },\n {\n id: SuggestionKind.WithKeyword,\n name: SuggestionKind.WithKeyword,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: `WITH <alias> AS ( ... )`,\n insertText: `WITH $1 AS ( $2 )`,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Snippet,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n },\n ]),\n },\n {\n id: SuggestionKind.StarWildCard,\n name: SuggestionKind.StarWildCard,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: '*',\n insertText: `* $0`,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Field,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.High,\n },\n ]),\n },\n {\n id: SuggestionKind.FunctionsWithArguments,\n name: SuggestionKind.FunctionsWithArguments,\n suggestions: (_, m) =>\n Promise.resolve([\n ...functions.list().map((f) => ({\n label: f.name,\n insertText: `${f.name}($0)`,\n documentation: f.description,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Function,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumLow,\n })),\n ]),\n },\n {\n id: SuggestionKind.FunctionsWithoutArguments,\n name: SuggestionKind.FunctionsWithoutArguments,\n suggestions: (_, m) =>\n Promise.resolve([\n ...functions.list().map((f) => ({\n label: f.name,\n insertText: `${f.name}()`,\n documentation: f.description,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Function,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumHigh,\n })),\n ]),\n },\n {\n id: SuggestionKind.FromKeyword,\n name: SuggestionKind.FromKeyword,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: 'FROM',\n insertText: `FROM $0`,\n command: TRIGGER_SUGGEST,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Keyword,\n },\n ]),\n },\n {\n id: SuggestionKind.Schemas,\n name: SuggestionKind.Schemas,\n suggestions: (_, m) => Promise.resolve([]),\n },\n {\n id: SuggestionKind.Tables,\n name: SuggestionKind.Tables,\n suggestions: (_, m) => Promise.resolve([]),\n },\n {\n id: SuggestionKind.Columns,\n name: SuggestionKind.Columns,\n suggestions: (_, m) => Promise.resolve([]),\n },\n {\n id: SuggestionKind.LogicalOperators,\n name: SuggestionKind.LogicalOperators,\n suggestions: (_, m) =>\n Promise.resolve(\n operators\n .list()\n .filter((o) => o.type === OperatorType.Logical)\n .map((o) => ({\n label: o.operator,\n insertText: `${o.operator} `,\n documentation: o.description,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumHigh,\n kind: CompletionItemKind.Operator,\n }))\n ),\n },\n {\n id: SuggestionKind.WhereKeyword,\n name: SuggestionKind.WhereKeyword,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: 'WHERE',\n insertText: `WHERE `,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumHigh,\n kind: CompletionItemKind.Keyword,\n },\n ]),\n },\n {\n id: SuggestionKind.ComparisonOperators,\n name: SuggestionKind.ComparisonOperators,\n suggestions: (_, m) =>\n Promise.resolve([\n ...operators\n .list()\n .filter((o) => o.type === OperatorType.Comparison)\n .map((o) => ({\n label: o.operator,\n insertText: `${o.operator} `,\n documentation: o.description,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumHigh,\n kind: CompletionItemKind.Operator,\n })),\n {\n label: 'IN (...)',\n insertText: `IN ( $0 )`,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n kind: CompletionItemKind.Operator,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: 'NOT IN (...)',\n insertText: `NOT IN ( $0 )`,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n kind: CompletionItemKind.Operator,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: 'IS',\n insertText: `IS`,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n kind: CompletionItemKind.Operator,\n },\n {\n label: 'IS NOT',\n insertText: `IS NOT`,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n kind: CompletionItemKind.Operator,\n },\n ]),\n },\n {\n id: SuggestionKind.GroupByKeywords,\n name: SuggestionKind.GroupByKeywords,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: 'GROUP BY',\n insertText: `GROUP BY `,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumHigh,\n kind: CompletionItemKind.Keyword,\n },\n ]),\n },\n {\n id: SuggestionKind.OrderByKeywords,\n name: SuggestionKind.OrderByKeywords,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: 'ORDER BY',\n insertText: `ORDER BY `,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.Medium,\n kind: CompletionItemKind.Keyword,\n },\n {\n label: 'ORDER BY(ascending)',\n insertText: `ORDER BY $1 ASC `,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumLow,\n kind: CompletionItemKind.Snippet,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: 'ORDER BY(descending)',\n insertText: `ORDER BY $1 DESC`,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumLow,\n kind: CompletionItemKind.Snippet,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n },\n ]),\n },\n {\n id: SuggestionKind.LimitKeyword,\n name: SuggestionKind.LimitKeyword,\n suggestions: (_, m) =>\n Promise.resolve([\n {\n label: 'LIMIT',\n insertText: `LIMIT `,\n command: TRIGGER_SUGGEST,\n sortText: CompletionItemPriority.MediumLow,\n kind: CompletionItemKind.Keyword,\n },\n ]),\n },\n {\n id: SuggestionKind.SortOrderDirectionKeyword,\n name: SuggestionKind.SortOrderDirectionKeyword,\n suggestions: (_, m) =>\n Promise.resolve(\n [ASC, DESC].map((o) => ({\n label: o,\n insertText: `${o} `,\n command: TRIGGER_SUGGEST,\n kind: CompletionItemKind.Keyword,\n }))\n ),\n },\n {\n id: SuggestionKind.NotKeyword,\n name: SuggestionKind.NotKeyword,\n suggestions: () =>\n Promise.resolve([\n {\n label: 'NOT',\n insertText: 'NOT',\n command: TRIGGER_SUGGEST,\n kind: CompletionItemKind.Keyword,\n sortText: CompletionItemPriority.High,\n },\n ]),\n },\n {\n id: SuggestionKind.BoolValues,\n name: SuggestionKind.BoolValues,\n suggestions: () =>\n Promise.resolve(\n ['TRUE', 'FALSE'].map((o) => ({\n label: o,\n insertText: `${o}`,\n command: TRIGGER_SUGGEST,\n kind: CompletionItemKind.Keyword,\n sortText: CompletionItemPriority.Medium,\n }))\n ),\n },\n {\n id: SuggestionKind.NullValue,\n name: SuggestionKind.NullValue,\n suggestions: () =>\n Promise.resolve(\n ['NULL'].map((o) => ({\n label: o,\n insertText: `${o}`,\n command: TRIGGER_SUGGEST,\n kind: CompletionItemKind.Keyword,\n sortText: CompletionItemPriority.Low,\n }))\n ),\n },\n ];\n\nfunction createMacroSuggestionItem(m: MacrosRegistryItem) {\n return {\n label: m.name,\n insertText: `${'\\\\' + m.text}${argsString(m.args)} `,\n insertTextRules: CompletionItemInsertTextRule.InsertAsSnippet,\n kind: CompletionItemKind.Snippet,\n documentation: m.description,\n command: TRIGGER_SUGGEST,\n };\n}\n\nfunction argsString(args?: string[]): string {\n if (!args) {\n return '()';\n }\n return '('.concat(args.map((t, i) => `\\${${i}:${t}}`).join(', ')).concat(')');\n}\n"],"names":["m"],"mappings":";;;;;;;AAwBO,MAAM,uBAAA,GACX,CACE,SAAA,EACA,SAAA,EACA,WAEF,MAAiC;AAAA,EAC/B;AAAA,IACE,IAAI,cAAA,CAAe,aAAA;AAAA,IACnB,MAAM,cAAA,CAAe,aAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd;AAAA,QACE,KAAA,EAAO,CAAA,eAAA,CAAA;AAAA,QACP,UAAA,EAAY,CAAA,SAAA,CAAA;AAAA,QACZ,iBAAiB,4BAAA,CAA6B,eAAA;AAAA,QAC9C,MAAM,kBAAA,CAAmB,OAAA;AAAA,QACzB,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB;AAAA,OACnC;AAAA,MACA;AAAA,QACE,KAAA,EAAO,CAAA,4BAAA,CAAA;AAAA,QACP,UAAA,EAAY,CAAA,iBAAA,CAAA;AAAA,QACZ,iBAAiB,4BAAA,CAA6B,eAAA;AAAA,QAC9C,MAAM,kBAAA,CAAmB,OAAA;AAAA,QACzB,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB;AAAA;AACnC,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,iBAAA;AAAA,IACnB,MAAM,cAAA,CAAe,iBAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KAAM;AACrB,MAAA,MAAM,cAAc,cAAA,EAAe;AACnC,MAAA,IAAI,CAAC,WAAA,EAAa;AAChB,QAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,EAAE,CAAA;AAAA,MAC3B;AAEA,MAAA,OAAO,OAAA,CAAQ,OAAA;AAAA,QACb,WAAA,CAAY,YAAA,EAAa,CAAE,GAAA,CAAI,CAAC,QAAA,KAAa;AAC3C,UAAA,MAAM,KAAA,GAAQ,CAAA,CAAA,EAAK,QAAA,CAAS,IAAI,CAAA,CAAA;AAChC,UAAA,MAAM,GAAA,GAAM,WAAA,CAAY,OAAA,CAAQ,KAAK,CAAA;AACrC,UAAA,OAAO;AAAA,YACL,KAAA;AAAA,YACA,MAAA,EAAQ,uBAAuB,GAAG,CAAA,CAAA;AAAA,YAClC,MAAM,kBAAA,CAAmB,OAAA;AAAA,YACzB,aAAA,EAAe,uBAAuB,GAAG,CAAA,CAAA;AAAA,YACzC,UAAA,EAAY,CAAA,GAAA,EAAM,QAAA,CAAS,IAAI,CAAA,CAAA,CAAA;AAAA,YAC/B,iBAAiB,4BAAA,CAA6B,eAAA;AAAA,YAC9C,OAAA,EAAS,eAAA;AAAA,YACT,UAAU,sBAAA,CAAuB;AAAA,WACnC;AAAA,QACF,CAAC;AAAA,OACH;AAAA,IACF;AAAA,GACF;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,WAAA;AAAA,IACnB,MAAM,cAAA,CAAe,WAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd,GAAG,MAAA,CACA,IAAA,EAAK,CACL,MAAA,CAAO,CAACA,EAAAA,KAAMA,EAAAA,CAAE,IAAA,KAAS,SAAA,CAAU,SAASA,EAAAA,CAAE,IAAA,KAAS,UAAU,MAAM,CAAA,CACvE,IAAI,yBAAyB;AAAA,KACjC;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,UAAA;AAAA,IACnB,MAAM,cAAA,CAAe,UAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd,GAAG,MAAA,CACA,IAAA,EAAK,CACL,MAAA,CAAO,CAACA,EAAAA,KAAMA,EAAAA,CAAE,IAAA,KAAS,SAAA,CAAU,KAAK,CAAA,CACxC,IAAI,yBAAyB;AAAA,KACjC;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,UAAA;AAAA,IACnB,MAAM,cAAA,CAAe,UAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd,GAAG,MAAA,CACA,IAAA,EAAK,CACL,MAAA,CAAO,CAACA,EAAAA,KAAMA,EAAAA,CAAE,IAAA,KAAS,SAAA,CAAU,KAAK,CAAA,CACxC,IAAI,yBAAyB;AAAA,KACjC;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,WAAA;AAAA,IACnB,MAAM,cAAA,CAAe,WAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd,GAAG,MAAA,CACA,IAAA,EAAK,CACL,MAAA,CAAO,CAACA,EAAAA,KAAMA,EAAAA,CAAE,IAAA,KAAS,SAAA,CAAU,MAAM,CAAA,CACzC,IAAI,yBAAyB;AAAA,KACjC;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,WAAA;AAAA,IACnB,MAAM,cAAA,CAAe,WAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd;AAAA,QACE,KAAA,EAAO,CAAA,uBAAA,CAAA;AAAA,QACP,UAAA,EAAY,CAAA,kBAAA,CAAA;AAAA,QACZ,iBAAiB,4BAAA,CAA6B,eAAA;AAAA,QAC9C,MAAM,kBAAA,CAAmB,OAAA;AAAA,QACzB,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB;AAAA;AACnC,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,YAAA;AAAA,IACnB,MAAM,cAAA,CAAe,YAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd;AAAA,QACE,KAAA,EAAO,GAAA;AAAA,QACP,UAAA,EAAY,CAAA,IAAA,CAAA;AAAA,QACZ,iBAAiB,4BAAA,CAA6B,eAAA;AAAA,QAC9C,MAAM,kBAAA,CAAmB,KAAA;AAAA,QACzB,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB;AAAA;AACnC,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,sBAAA;AAAA,IACnB,MAAM,cAAA,CAAe,sBAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd,GAAG,SAAA,CAAU,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,MAAO;AAAA,QAC9B,OAAO,CAAA,CAAE,IAAA;AAAA,QACT,UAAA,EAAY,CAAA,EAAG,CAAA,CAAE,IAAI,CAAA,IAAA,CAAA;AAAA,QACrB,eAAe,CAAA,CAAE,WAAA;AAAA,QACjB,iBAAiB,4BAAA,CAA6B,eAAA;AAAA,QAC9C,MAAM,kBAAA,CAAmB,QAAA;AAAA,QACzB,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB;AAAA,OACnC,CAAE;AAAA,KACH;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,yBAAA;AAAA,IACnB,MAAM,cAAA,CAAe,yBAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd,GAAG,SAAA,CAAU,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,MAAO;AAAA,QAC9B,OAAO,CAAA,CAAE,IAAA;AAAA,QACT,UAAA,EAAY,CAAA,EAAG,CAAA,CAAE,IAAI,CAAA,EAAA,CAAA;AAAA,QACrB,eAAe,CAAA,CAAE,WAAA;AAAA,QACjB,iBAAiB,4BAAA,CAA6B,eAAA;AAAA,QAC9C,MAAM,kBAAA,CAAmB,QAAA;AAAA,QACzB,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB;AAAA,OACnC,CAAE;AAAA,KACH;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,WAAA;AAAA,IACnB,MAAM,cAAA,CAAe,WAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd;AAAA,QACE,KAAA,EAAO,MAAA;AAAA,QACP,UAAA,EAAY,CAAA,OAAA,CAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,iBAAiB,4BAAA,CAA6B,eAAA;AAAA,QAC9C,MAAM,kBAAA,CAAmB;AAAA;AAC3B,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,OAAA;AAAA,IACnB,MAAM,cAAA,CAAe,OAAA;AAAA,IACrB,aAAa,CAAC,CAAA,EAAG,MAAM,OAAA,CAAQ,OAAA,CAAQ,EAAE;AAAA,GAC3C;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,MAAA;AAAA,IACnB,MAAM,cAAA,CAAe,MAAA;AAAA,IACrB,aAAa,CAAC,CAAA,EAAG,MAAM,OAAA,CAAQ,OAAA,CAAQ,EAAE;AAAA,GAC3C;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,OAAA;AAAA,IACnB,MAAM,cAAA,CAAe,OAAA;AAAA,IACrB,aAAa,CAAC,CAAA,EAAG,MAAM,OAAA,CAAQ,OAAA,CAAQ,EAAE;AAAA,GAC3C;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,gBAAA;AAAA,IACnB,MAAM,cAAA,CAAe,gBAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,OAAA,CAAQ,OAAA;AAAA,MACN,SAAA,CACG,IAAA,EAAK,CACL,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,IAAA,KAAS,YAAA,CAAa,OAAO,CAAA,CAC7C,GAAA,CAAI,CAAC,CAAA,MAAO;AAAA,QACX,OAAO,CAAA,CAAE,QAAA;AAAA,QACT,UAAA,EAAY,CAAA,EAAG,CAAA,CAAE,QAAQ,CAAA,CAAA,CAAA;AAAA,QACzB,eAAe,CAAA,CAAE,WAAA;AAAA,QACjB,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,UAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB;AAAA,OAC3B,CAAE;AAAA;AACN,GACJ;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,YAAA;AAAA,IACnB,MAAM,cAAA,CAAe,YAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd;AAAA,QACE,KAAA,EAAO,OAAA;AAAA,QACP,UAAA,EAAY,CAAA,MAAA,CAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,UAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB;AAAA;AAC3B,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,mBAAA;AAAA,IACnB,MAAM,cAAA,CAAe,mBAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd,GAAG,SAAA,CACA,IAAA,EAAK,CACL,OAAO,CAAC,CAAA,KAAM,CAAA,CAAE,IAAA,KAAS,YAAA,CAAa,UAAU,CAAA,CAChD,GAAA,CAAI,CAAC,CAAA,MAAO;AAAA,QACX,OAAO,CAAA,CAAE,QAAA;AAAA,QACT,UAAA,EAAY,CAAA,EAAG,CAAA,CAAE,QAAQ,CAAA,CAAA,CAAA;AAAA,QACzB,eAAe,CAAA,CAAE,WAAA;AAAA,QACjB,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,UAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB;AAAA,OAC3B,CAAE,CAAA;AAAA,MACJ;AAAA,QACE,KAAA,EAAO,UAAA;AAAA,QACP,UAAA,EAAY,CAAA,SAAA,CAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,MAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB,QAAA;AAAA,QACzB,iBAAiB,4BAAA,CAA6B;AAAA,OAChD;AAAA,MACA;AAAA,QACE,KAAA,EAAO,cAAA;AAAA,QACP,UAAA,EAAY,CAAA,aAAA,CAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,MAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB,QAAA;AAAA,QACzB,iBAAiB,4BAAA,CAA6B;AAAA,OAChD;AAAA,MACA;AAAA,QACE,KAAA,EAAO,IAAA;AAAA,QACP,UAAA,EAAY,CAAA,EAAA,CAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,MAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB;AAAA,OAC3B;AAAA,MACA;AAAA,QACE,KAAA,EAAO,QAAA;AAAA,QACP,UAAA,EAAY,CAAA,MAAA,CAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,MAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB;AAAA;AAC3B,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,eAAA;AAAA,IACnB,MAAM,cAAA,CAAe,eAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd;AAAA,QACE,KAAA,EAAO,UAAA;AAAA,QACP,UAAA,EAAY,CAAA,SAAA,CAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,UAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB;AAAA;AAC3B,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,eAAA;AAAA,IACnB,MAAM,cAAA,CAAe,eAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd;AAAA,QACE,KAAA,EAAO,UAAA;AAAA,QACP,UAAA,EAAY,CAAA,SAAA,CAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,MAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB;AAAA,OAC3B;AAAA,MACA;AAAA,QACE,KAAA,EAAO,qBAAA;AAAA,QACP,UAAA,EAAY,CAAA,gBAAA,CAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,SAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB,OAAA;AAAA,QACzB,iBAAiB,4BAAA,CAA6B;AAAA,OAChD;AAAA,MACA;AAAA,QACE,KAAA,EAAO,sBAAA;AAAA,QACP,UAAA,EAAY,CAAA,gBAAA,CAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,SAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB,OAAA;AAAA,QACzB,iBAAiB,4BAAA,CAA6B;AAAA;AAChD,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,YAAA;AAAA,IACnB,MAAM,cAAA,CAAe,YAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,QAAQ,OAAA,CAAQ;AAAA,MACd;AAAA,QACE,KAAA,EAAO,OAAA;AAAA,QACP,UAAA,EAAY,CAAA,MAAA,CAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,UAAU,sBAAA,CAAuB,SAAA;AAAA,QACjC,MAAM,kBAAA,CAAmB;AAAA;AAC3B,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,yBAAA;AAAA,IACnB,MAAM,cAAA,CAAe,yBAAA;AAAA,IACrB,WAAA,EAAa,CAAC,CAAA,EAAG,CAAA,KACf,OAAA,CAAQ,OAAA;AAAA,MACN,CAAC,GAAA,EAAK,IAAI,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,MAAO;AAAA,QACtB,KAAA,EAAO,CAAA;AAAA,QACP,UAAA,EAAY,GAAG,CAAC,CAAA,CAAA,CAAA;AAAA,QAChB,OAAA,EAAS,eAAA;AAAA,QACT,MAAM,kBAAA,CAAmB;AAAA,OAC3B,CAAE;AAAA;AACJ,GACJ;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,UAAA;AAAA,IACnB,MAAM,cAAA,CAAe,UAAA;AAAA,IACrB,WAAA,EAAa,MACX,OAAA,CAAQ,OAAA,CAAQ;AAAA,MACd;AAAA,QACE,KAAA,EAAO,KAAA;AAAA,QACP,UAAA,EAAY,KAAA;AAAA,QACZ,OAAA,EAAS,eAAA;AAAA,QACT,MAAM,kBAAA,CAAmB,OAAA;AAAA,QACzB,UAAU,sBAAA,CAAuB;AAAA;AACnC,KACD;AAAA,GACL;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,UAAA;AAAA,IACnB,MAAM,cAAA,CAAe,UAAA;AAAA,IACrB,WAAA,EAAa,MACX,OAAA,CAAQ,OAAA;AAAA,MACN,CAAC,MAAA,EAAQ,OAAO,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,MAAO;AAAA,QAC5B,KAAA,EAAO,CAAA;AAAA,QACP,UAAA,EAAY,GAAG,CAAC,CAAA,CAAA;AAAA,QAChB,OAAA,EAAS,eAAA;AAAA,QACT,MAAM,kBAAA,CAAmB,OAAA;AAAA,QACzB,UAAU,sBAAA,CAAuB;AAAA,OACnC,CAAE;AAAA;AACJ,GACJ;AAAA,EACA;AAAA,IACE,IAAI,cAAA,CAAe,SAAA;AAAA,IACnB,MAAM,cAAA,CAAe,SAAA;AAAA,IACrB,WAAA,EAAa,MACX,OAAA,CAAQ,OAAA;AAAA,MACN,CAAC,MAAM,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,MAAO;AAAA,QACnB,KAAA,EAAO,CAAA;AAAA,QACP,UAAA,EAAY,GAAG,CAAC,CAAA,CAAA;AAAA,QAChB,OAAA,EAAS,eAAA;AAAA,QACT,MAAM,kBAAA,CAAmB,OAAA;AAAA,QACzB,UAAU,sBAAA,CAAuB;AAAA,OACnC,CAAE;AAAA;AACJ;AAEN;AAEF,SAAS,0BAA0B,CAAA,EAAuB;AACxD,EAAA,OAAO;AAAA,IACL,OAAO,CAAA,CAAE,IAAA;AAAA,IACT,UAAA,EAAY,GAAG,IAAA,GAAO,CAAA,CAAE,IAAI,CAAA,EAAG,UAAA,CAAW,CAAA,CAAE,IAAI,CAAC,CAAA,CAAA,CAAA;AAAA,IACjD,iBAAiB,4BAAA,CAA6B,eAAA;AAAA,IAC9C,MAAM,kBAAA,CAAmB,OAAA;AAAA,IACzB,eAAe,CAAA,CAAE,WAAA;AAAA,IACjB,OAAA,EAAS;AAAA,GACX;AACF;AAEA,SAAS,WAAW,IAAA,EAAyB;AAC3C,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,OAAO,IAAI,MAAA,CAAO,IAAA,CAAK,IAAI,CAAC,CAAA,EAAG,MAAM,CAAA,GAAA,EAAM,CAAC,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,IAAA,CAAK,IAAI,CAAC,CAAA,CAAE,OAAO,GAAG,CAAA;AAC9E;;;;"}
|
|
@@ -9,7 +9,7 @@ function initStatementPositionResolvers() {
|
|
|
9
9
|
id: StatementPosition.SelectKeyword,
|
|
10
10
|
name: StatementPosition.SelectKeyword,
|
|
11
11
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => Boolean(
|
|
12
|
-
currentToken === null || currentToken.isWhiteSpace() && currentToken.previous === null || currentToken.is(TokenType.Keyword, SELECT) || currentToken.is(TokenType.Keyword, SELECT) && currentToken.previous === null || previousIsSlash || currentToken.isIdentifier() && (previousIsSlash || (currentToken == null ?
|
|
12
|
+
currentToken === null || currentToken.isWhiteSpace() && currentToken.previous === null || currentToken.is(TokenType.Keyword, SELECT) || currentToken.is(TokenType.Keyword, SELECT) && currentToken.previous === null || previousIsSlash || currentToken.isIdentifier() && (previousIsSlash || (currentToken == null ? void 0 : currentToken.previous) === null) || currentToken.isIdentifier() && SELECT.startsWith(currentToken.value.toLowerCase())
|
|
13
13
|
)
|
|
14
14
|
},
|
|
15
15
|
{
|
|
@@ -22,13 +22,13 @@ function initStatementPositionResolvers() {
|
|
|
22
22
|
{
|
|
23
23
|
id: StatementPosition.AfterSelectKeyword,
|
|
24
24
|
name: StatementPosition.AfterSelectKeyword,
|
|
25
|
-
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => Boolean((previousNonWhiteSpace == null ?
|
|
25
|
+
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => Boolean((previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.value.toLowerCase()) === SELECT)
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
id: StatementPosition.AfterSelectArguments,
|
|
29
29
|
name: StatementPosition.AfterSelectArguments,
|
|
30
30
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
31
|
-
return Boolean((previousKeyword == null ?
|
|
31
|
+
return Boolean((previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === SELECT && (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.value) === ",");
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
{
|
|
@@ -36,7 +36,7 @@ function initStatementPositionResolvers() {
|
|
|
36
36
|
name: StatementPosition.AfterSelectFuncFirstArgument,
|
|
37
37
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
38
38
|
return Boolean(
|
|
39
|
-
((previousKeyword == null ?
|
|
39
|
+
((previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === SELECT || (previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === AS) && ((previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Parenthesis, "(")) || (currentToken == null ? void 0 : currentToken.is(TokenType.Parenthesis, "()")))
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
42
|
},
|
|
@@ -45,7 +45,7 @@ function initStatementPositionResolvers() {
|
|
|
45
45
|
name: StatementPosition.AfterWhereFunctionArgument,
|
|
46
46
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
47
47
|
return Boolean(
|
|
48
|
-
(previousKeyword == null ?
|
|
48
|
+
(previousKeyword == null ? void 0 : previousKeyword.is(TokenType.Keyword, WHERE)) && ((previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Parenthesis, "(")) || (currentToken == null ? void 0 : currentToken.is(TokenType.Parenthesis, "()")))
|
|
49
49
|
);
|
|
50
50
|
}
|
|
51
51
|
},
|
|
@@ -55,7 +55,7 @@ function initStatementPositionResolvers() {
|
|
|
55
55
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
56
56
|
var _a;
|
|
57
57
|
return Boolean(
|
|
58
|
-
(previousKeyword == null ?
|
|
58
|
+
(previousKeyword == null ? void 0 : previousKeyword.is(TokenType.Keyword, BY)) && ((_a = previousKeyword == null ? void 0 : previousKeyword.getPreviousKeyword()) == null ? void 0 : _a.is(TokenType.Keyword, GROUP)) && ((previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isIdentifier()) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isDoubleQuotedString()) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Parenthesis, ")")) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Parenthesis, "()")))
|
|
59
59
|
);
|
|
60
60
|
}
|
|
61
61
|
},
|
|
@@ -63,7 +63,7 @@ function initStatementPositionResolvers() {
|
|
|
63
63
|
id: StatementPosition.SelectAlias,
|
|
64
64
|
name: StatementPosition.SelectAlias,
|
|
65
65
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
66
|
-
if ((previousNonWhiteSpace == null ?
|
|
66
|
+
if ((previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.value) === "," && (previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === AS) {
|
|
67
67
|
return true;
|
|
68
68
|
}
|
|
69
69
|
return false;
|
|
@@ -74,25 +74,25 @@ function initStatementPositionResolvers() {
|
|
|
74
74
|
name: StatementPosition.FromKeyword,
|
|
75
75
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
76
76
|
return Boolean(
|
|
77
|
-
(previousKeyword == null ?
|
|
77
|
+
(previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === SELECT && (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.value) !== "," || ((currentToken == null ? void 0 : currentToken.isKeyword()) || (currentToken == null ? void 0 : currentToken.isIdentifier())) && FROM.toLowerCase().startsWith(currentToken.value.toLowerCase())
|
|
78
78
|
);
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
id: StatementPosition.AfterFromKeyword,
|
|
83
83
|
name: StatementPosition.AfterFromKeyword,
|
|
84
|
-
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => Boolean(!(currentToken == null ?
|
|
84
|
+
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => Boolean(!(currentToken == null ? void 0 : currentToken.value.includes(".")) && (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.value.toLowerCase()) === FROM)
|
|
85
85
|
},
|
|
86
86
|
{
|
|
87
87
|
id: StatementPosition.AfterSchema,
|
|
88
88
|
name: StatementPosition.AfterSchema,
|
|
89
89
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
90
|
-
if ((currentToken == null ?
|
|
91
|
-
currentToken = currentToken == null ?
|
|
90
|
+
if ((currentToken == null ? void 0 : currentToken.isWhiteSpace()) && (currentToken == null ? void 0 : currentToken.next)) {
|
|
91
|
+
currentToken = currentToken == null ? void 0 : currentToken.previous;
|
|
92
92
|
previousNonWhiteSpace = currentToken.getPreviousNonWhiteSpaceToken();
|
|
93
93
|
}
|
|
94
94
|
return Boolean(
|
|
95
|
-
(currentToken == null ?
|
|
95
|
+
(currentToken == null ? void 0 : currentToken.isIdentifier()) && (currentToken == null ? void 0 : currentToken.value.endsWith(".")) && (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.value.toLowerCase()) === FROM
|
|
96
96
|
);
|
|
97
97
|
}
|
|
98
98
|
},
|
|
@@ -100,7 +100,7 @@ function initStatementPositionResolvers() {
|
|
|
100
100
|
id: StatementPosition.AfterFrom,
|
|
101
101
|
name: StatementPosition.AfterFrom,
|
|
102
102
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => Boolean(
|
|
103
|
-
(previousKeyword == null ?
|
|
103
|
+
(previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === FROM && (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isDoubleQuotedString()) || (previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === FROM && (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isIdentifier()) || (previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === FROM && (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isVariable())
|
|
104
104
|
// cloudwatch specific
|
|
105
105
|
// (previousKeyword?.value === SCHEMA && previousNonWhiteSpace?.is(TokenType.Parenthesis, ')'))
|
|
106
106
|
)
|
|
@@ -110,7 +110,7 @@ function initStatementPositionResolvers() {
|
|
|
110
110
|
name: StatementPosition.AfterTable,
|
|
111
111
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
112
112
|
return Boolean(
|
|
113
|
-
(previousKeyword == null ?
|
|
113
|
+
(previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === FROM && ((previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isVariable()) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.value) !== "" && (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.value.toLowerCase()) !== FROM)
|
|
114
114
|
);
|
|
115
115
|
}
|
|
116
116
|
},
|
|
@@ -118,7 +118,7 @@ function initStatementPositionResolvers() {
|
|
|
118
118
|
id: StatementPosition.WhereKeyword,
|
|
119
119
|
name: StatementPosition.WhereKeyword,
|
|
120
120
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => Boolean(
|
|
121
|
-
(previousKeyword == null ?
|
|
121
|
+
(previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === WHERE && ((previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isKeyword()) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Parenthesis, "(")) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Operator, AND)))
|
|
122
122
|
)
|
|
123
123
|
},
|
|
124
124
|
{
|
|
@@ -127,14 +127,14 @@ function initStatementPositionResolvers() {
|
|
|
127
127
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
128
128
|
var _a;
|
|
129
129
|
return Boolean(
|
|
130
|
-
(previousKeyword == null ?
|
|
130
|
+
(previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === WHERE && !((_a = previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.getPreviousNonWhiteSpaceToken()) == null ? void 0 : _a.isOperator()) && !(currentToken == null ? void 0 : currentToken.is(TokenType.Delimiter, ".")) && !(currentToken == null ? void 0 : currentToken.isParenthesis()) && ((previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isIdentifier()) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isDoubleQuotedString()))
|
|
131
131
|
);
|
|
132
132
|
}
|
|
133
133
|
},
|
|
134
134
|
{
|
|
135
135
|
id: StatementPosition.WhereValue,
|
|
136
136
|
name: StatementPosition.WhereValue,
|
|
137
|
-
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => Boolean((previousKeyword == null ?
|
|
137
|
+
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => Boolean((previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === WHERE && (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isOperator()))
|
|
138
138
|
},
|
|
139
139
|
{
|
|
140
140
|
id: StatementPosition.AfterWhereValue,
|
|
@@ -142,7 +142,7 @@ function initStatementPositionResolvers() {
|
|
|
142
142
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
143
143
|
var _a, _b, _c;
|
|
144
144
|
return Boolean(
|
|
145
|
-
(previousKeyword == null ?
|
|
145
|
+
(previousKeyword == null ? void 0 : previousKeyword.value.toLowerCase()) === WHERE && ((previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Operator, "and")) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Operator, "or")) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isString()) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isNumber()) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Parenthesis, ")")) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Parenthesis, "()")) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.isTemplateVariable()) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.IdentifierQuote)) && ((_a = previousNonWhiteSpace.getPreviousNonWhiteSpaceToken()) == null ? void 0 : _a.is(TokenType.Identifier)) && ((_c = (_b = previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.getPreviousNonWhiteSpaceToken()) == null ? void 0 : _b.getPreviousNonWhiteSpaceToken()) == null ? void 0 : _c.is(TokenType.IdentifierQuote)))
|
|
146
146
|
);
|
|
147
147
|
}
|
|
148
148
|
},
|
|
@@ -152,7 +152,7 @@ function initStatementPositionResolvers() {
|
|
|
152
152
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
153
153
|
var _a;
|
|
154
154
|
return Boolean(
|
|
155
|
-
(previousKeyword == null ?
|
|
155
|
+
(previousKeyword == null ? void 0 : previousKeyword.is(TokenType.Keyword, BY)) && ((_a = previousKeyword == null ? void 0 : previousKeyword.getPreviousKeyword()) == null ? void 0 : _a.is(TokenType.Keyword, GROUP)) && ((previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Keyword, BY)) || (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Delimiter, ",")))
|
|
156
156
|
);
|
|
157
157
|
}
|
|
158
158
|
},
|
|
@@ -162,7 +162,7 @@ function initStatementPositionResolvers() {
|
|
|
162
162
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
163
163
|
var _a;
|
|
164
164
|
return Boolean(
|
|
165
|
-
(previousKeyword == null ?
|
|
165
|
+
(previousKeyword == null ? void 0 : previousKeyword.is(TokenType.Keyword, BY)) && ((_a = previousKeyword == null ? void 0 : previousKeyword.getPreviousKeyword()) == null ? void 0 : _a.is(TokenType.Keyword, GROUP)) && ((previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Parenthesis, "(")) || (currentToken == null ? void 0 : currentToken.is(TokenType.Parenthesis, "()")))
|
|
166
166
|
);
|
|
167
167
|
}
|
|
168
168
|
},
|
|
@@ -172,7 +172,7 @@ function initStatementPositionResolvers() {
|
|
|
172
172
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
173
173
|
var _a;
|
|
174
174
|
return Boolean(
|
|
175
|
-
(previousNonWhiteSpace == null ?
|
|
175
|
+
(previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Keyword, BY)) && ((_a = previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.getPreviousKeyword()) == null ? void 0 : _a.is(TokenType.Keyword, ORDER))
|
|
176
176
|
);
|
|
177
177
|
}
|
|
178
178
|
},
|
|
@@ -182,20 +182,20 @@ function initStatementPositionResolvers() {
|
|
|
182
182
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
183
183
|
var _a, _b;
|
|
184
184
|
return Boolean(
|
|
185
|
-
(previousKeyword == null ?
|
|
185
|
+
(previousKeyword == null ? void 0 : previousKeyword.is(TokenType.Keyword, BY)) && ((_a = previousKeyword == null ? void 0 : previousKeyword.getPreviousKeyword()) == null ? void 0 : _a.is(TokenType.Keyword, ORDER)) && (previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Parenthesis)) && ((_b = previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.getPreviousNonWhiteSpaceToken()) == null ? void 0 : _b.is(TokenType.Function))
|
|
186
186
|
);
|
|
187
187
|
}
|
|
188
188
|
},
|
|
189
189
|
{
|
|
190
190
|
id: StatementPosition.AfterOrderByDirection,
|
|
191
191
|
name: StatementPosition.AfterOrderByDirection,
|
|
192
|
-
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => Boolean((previousKeyword == null ?
|
|
192
|
+
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => Boolean((previousKeyword == null ? void 0 : previousKeyword.is(TokenType.Keyword, DESC)) || (previousKeyword == null ? void 0 : previousKeyword.is(TokenType.Keyword, ASC)))
|
|
193
193
|
},
|
|
194
194
|
{
|
|
195
195
|
id: StatementPosition.AfterIsOperator,
|
|
196
196
|
name: StatementPosition.AfterIsOperator,
|
|
197
197
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
198
|
-
return Boolean(previousNonWhiteSpace == null ?
|
|
198
|
+
return Boolean(previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Operator, "IS"));
|
|
199
199
|
}
|
|
200
200
|
},
|
|
201
201
|
{
|
|
@@ -204,7 +204,7 @@ function initStatementPositionResolvers() {
|
|
|
204
204
|
resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {
|
|
205
205
|
var _a;
|
|
206
206
|
return Boolean(
|
|
207
|
-
(previousNonWhiteSpace == null ?
|
|
207
|
+
(previousNonWhiteSpace == null ? void 0 : previousNonWhiteSpace.is(TokenType.Operator, "NOT")) && ((_a = previousNonWhiteSpace.getPreviousNonWhiteSpaceToken()) == null ? void 0 : _a.is(TokenType.Operator, "IS"))
|
|
208
208
|
);
|
|
209
209
|
}
|
|
210
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statementPositionResolversRegistry.js","sources":["../../../../../src/components/SQLEditor/standardSql/statementPositionResolversRegistry.ts"],"sourcesContent":["import { StatementPosition, TokenType } from '../types';\nimport { AND, AS, ASC, BY, DESC, FROM, GROUP, ORDER, SELECT, WHERE, WITH } from './language';\nimport { type StatementPositionResolversRegistryItem } from './types';\n\nexport function initStatementPositionResolvers(): StatementPositionResolversRegistryItem[] {\n return [\n {\n id: StatementPosition.SelectKeyword,\n name: StatementPosition.SelectKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n currentToken === null ||\n (currentToken.isWhiteSpace() && currentToken.previous === null) ||\n currentToken.is(TokenType.Keyword, SELECT) ||\n (currentToken.is(TokenType.Keyword, SELECT) && currentToken.previous === null) ||\n previousIsSlash ||\n (currentToken.isIdentifier() && (previousIsSlash || currentToken?.previous === null)) ||\n (currentToken.isIdentifier() && SELECT.startsWith(currentToken.value.toLowerCase()))\n ),\n },\n {\n id: StatementPosition.WithKeyword,\n name: StatementPosition.WithKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n currentToken === null ||\n (currentToken.isWhiteSpace() && currentToken.previous === null) ||\n (currentToken.is(TokenType.Keyword, WITH) && currentToken.previous === null) ||\n (currentToken.isIdentifier() && WITH.toLowerCase().startsWith(currentToken.value.toLowerCase()))\n ),\n },\n {\n id: StatementPosition.AfterSelectKeyword,\n name: StatementPosition.AfterSelectKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(previousNonWhiteSpace?.value.toLowerCase() === SELECT),\n },\n {\n id: StatementPosition.AfterSelectArguments,\n name: StatementPosition.AfterSelectArguments,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(previousKeyword?.value.toLowerCase() === SELECT && previousNonWhiteSpace?.value === ',');\n },\n },\n {\n id: StatementPosition.AfterSelectFuncFirstArgument,\n name: StatementPosition.AfterSelectFuncFirstArgument,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n (previousKeyword?.value.toLowerCase() === SELECT || previousKeyword?.value.toLowerCase() === AS) &&\n (previousNonWhiteSpace?.is(TokenType.Parenthesis, '(') || currentToken?.is(TokenType.Parenthesis, '()'))\n );\n },\n },\n {\n id: StatementPosition.AfterWhereFunctionArgument,\n name: StatementPosition.AfterWhereFunctionArgument,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n previousKeyword?.is(TokenType.Keyword, WHERE) &&\n (previousNonWhiteSpace?.is(TokenType.Parenthesis, '(') || currentToken?.is(TokenType.Parenthesis, '()'))\n );\n },\n },\n {\n id: StatementPosition.AfterGroupBy,\n name: StatementPosition.AfterGroupBy,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousKeyword?.is(TokenType.Keyword, BY) &&\n previousKeyword?.getPreviousKeyword()?.is(TokenType.Keyword, GROUP) &&\n (previousNonWhiteSpace?.isIdentifier() ||\n previousNonWhiteSpace?.isDoubleQuotedString() ||\n previousNonWhiteSpace?.is(TokenType.Parenthesis, ')') ||\n previousNonWhiteSpace?.is(TokenType.Parenthesis, '()'))\n ),\n },\n {\n id: StatementPosition.SelectAlias,\n name: StatementPosition.SelectAlias,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n if (previousNonWhiteSpace?.value === ',' && previousKeyword?.value.toLowerCase() === AS) {\n return true;\n }\n\n return false;\n },\n },\n\n {\n id: StatementPosition.FromKeyword,\n name: StatementPosition.FromKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n // cloudwatch specific commented out\n // Boolean(previousKeyword?.value === SELECT && previousNonWhiteSpace?.isParenthesis()),\n return Boolean(\n (previousKeyword?.value.toLowerCase() === SELECT && previousNonWhiteSpace?.value !== ',') ||\n ((currentToken?.isKeyword() || currentToken?.isIdentifier()) &&\n FROM.toLowerCase().startsWith(currentToken.value.toLowerCase()))\n );\n },\n },\n {\n id: StatementPosition.AfterFromKeyword,\n name: StatementPosition.AfterFromKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(!currentToken?.value.includes('.') && previousNonWhiteSpace?.value.toLowerCase() === FROM),\n },\n {\n id: StatementPosition.AfterSchema,\n name: StatementPosition.AfterSchema,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n // depending on whether the schema was the last token in the query or not, current token might be whitespace or dot. if whitespace, just use the previous token\n if (currentToken?.isWhiteSpace() && currentToken?.next) {\n currentToken = currentToken?.previous;\n previousNonWhiteSpace = currentToken!.getPreviousNonWhiteSpaceToken();\n }\n return Boolean(\n currentToken?.isIdentifier() &&\n currentToken?.value.endsWith('.') &&\n previousNonWhiteSpace?.value.toLowerCase() === FROM\n );\n },\n },\n {\n id: StatementPosition.AfterFrom,\n name: StatementPosition.AfterFrom,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n (previousKeyword?.value.toLowerCase() === FROM && previousNonWhiteSpace?.isDoubleQuotedString()) ||\n (previousKeyword?.value.toLowerCase() === FROM && previousNonWhiteSpace?.isIdentifier()) ||\n (previousKeyword?.value.toLowerCase() === FROM && previousNonWhiteSpace?.isVariable())\n // cloudwatch specific\n // (previousKeyword?.value === SCHEMA && previousNonWhiteSpace?.is(TokenType.Parenthesis, ')'))\n ),\n },\n {\n id: StatementPosition.AfterTable,\n name: StatementPosition.AfterTable,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n previousKeyword?.value.toLowerCase() === FROM &&\n (previousNonWhiteSpace?.isVariable() ||\n (previousNonWhiteSpace?.value !== '' && previousNonWhiteSpace?.value.toLowerCase() !== FROM))\n );\n },\n },\n {\n id: StatementPosition.WhereKeyword,\n name: StatementPosition.WhereKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousKeyword?.value.toLowerCase() === WHERE &&\n (previousNonWhiteSpace?.isKeyword() ||\n previousNonWhiteSpace?.is(TokenType.Parenthesis, '(') ||\n previousNonWhiteSpace?.is(TokenType.Operator, AND))\n ),\n },\n {\n id: StatementPosition.WhereComparisonOperator,\n name: StatementPosition.WhereComparisonOperator,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousKeyword?.value.toLowerCase() === WHERE &&\n !previousNonWhiteSpace?.getPreviousNonWhiteSpaceToken()?.isOperator() &&\n !currentToken?.is(TokenType.Delimiter, '.') &&\n !currentToken?.isParenthesis() &&\n (previousNonWhiteSpace?.isIdentifier() || previousNonWhiteSpace?.isDoubleQuotedString())\n ),\n },\n {\n id: StatementPosition.WhereValue,\n name: StatementPosition.WhereValue,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(previousKeyword?.value.toLowerCase() === WHERE && previousNonWhiteSpace?.isOperator()),\n },\n {\n id: StatementPosition.AfterWhereValue,\n name: StatementPosition.AfterWhereValue,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n previousKeyword?.value.toLowerCase() === WHERE &&\n (previousNonWhiteSpace?.is(TokenType.Operator, 'and') ||\n previousNonWhiteSpace?.is(TokenType.Operator, 'or') ||\n previousNonWhiteSpace?.isString() ||\n previousNonWhiteSpace?.isNumber() ||\n previousNonWhiteSpace?.is(TokenType.Parenthesis, ')') ||\n previousNonWhiteSpace?.is(TokenType.Parenthesis, '()') ||\n previousNonWhiteSpace?.isTemplateVariable() ||\n (previousNonWhiteSpace?.is(TokenType.IdentifierQuote) &&\n previousNonWhiteSpace.getPreviousNonWhiteSpaceToken()?.is(TokenType.Identifier) &&\n previousNonWhiteSpace\n ?.getPreviousNonWhiteSpaceToken()\n ?.getPreviousNonWhiteSpaceToken()\n ?.is(TokenType.IdentifierQuote)))\n );\n },\n },\n {\n id: StatementPosition.AfterGroupByKeywords,\n name: StatementPosition.AfterGroupByKeywords,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousKeyword?.is(TokenType.Keyword, BY) &&\n previousKeyword?.getPreviousKeyword()?.is(TokenType.Keyword, GROUP) &&\n (previousNonWhiteSpace?.is(TokenType.Keyword, BY) || previousNonWhiteSpace?.is(TokenType.Delimiter, ','))\n ),\n },\n {\n id: StatementPosition.AfterGroupByFunctionArgument,\n name: StatementPosition.AfterGroupByFunctionArgument,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n previousKeyword?.is(TokenType.Keyword, BY) &&\n previousKeyword?.getPreviousKeyword()?.is(TokenType.Keyword, GROUP) &&\n (previousNonWhiteSpace?.is(TokenType.Parenthesis, '(') || currentToken?.is(TokenType.Parenthesis, '()'))\n );\n },\n },\n {\n id: StatementPosition.AfterOrderByKeywords,\n name: StatementPosition.AfterOrderByKeywords,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousNonWhiteSpace?.is(TokenType.Keyword, BY) &&\n previousNonWhiteSpace?.getPreviousKeyword()?.is(TokenType.Keyword, ORDER)\n ),\n },\n {\n id: StatementPosition.AfterOrderByFunction,\n name: StatementPosition.AfterOrderByFunction,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousKeyword?.is(TokenType.Keyword, BY) &&\n previousKeyword?.getPreviousKeyword()?.is(TokenType.Keyword, ORDER) &&\n previousNonWhiteSpace?.is(TokenType.Parenthesis) &&\n previousNonWhiteSpace?.getPreviousNonWhiteSpaceToken()?.is(TokenType.Function)\n ),\n },\n {\n id: StatementPosition.AfterOrderByDirection,\n name: StatementPosition.AfterOrderByDirection,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(previousKeyword?.is(TokenType.Keyword, DESC) || previousKeyword?.is(TokenType.Keyword, ASC)),\n },\n {\n id: StatementPosition.AfterIsOperator,\n name: StatementPosition.AfterIsOperator,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(previousNonWhiteSpace?.is(TokenType.Operator, 'IS'));\n },\n },\n {\n id: StatementPosition.AfterIsNotOperator,\n name: StatementPosition.AfterIsNotOperator,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n previousNonWhiteSpace?.is(TokenType.Operator, 'NOT') &&\n previousNonWhiteSpace.getPreviousNonWhiteSpaceToken()?.is(TokenType.Operator, 'IS')\n );\n },\n },\n ];\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"statementPositionResolversRegistry.js","sources":["../../../../../src/components/SQLEditor/standardSql/statementPositionResolversRegistry.ts"],"sourcesContent":["import { StatementPosition, TokenType } from '../types';\nimport { AND, AS, ASC, BY, DESC, FROM, GROUP, ORDER, SELECT, WHERE, WITH } from './language';\nimport { type StatementPositionResolversRegistryItem } from './types';\n\nexport function initStatementPositionResolvers(): StatementPositionResolversRegistryItem[] {\n return [\n {\n id: StatementPosition.SelectKeyword,\n name: StatementPosition.SelectKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n currentToken === null ||\n (currentToken.isWhiteSpace() && currentToken.previous === null) ||\n currentToken.is(TokenType.Keyword, SELECT) ||\n (currentToken.is(TokenType.Keyword, SELECT) && currentToken.previous === null) ||\n previousIsSlash ||\n (currentToken.isIdentifier() && (previousIsSlash || currentToken?.previous === null)) ||\n (currentToken.isIdentifier() && SELECT.startsWith(currentToken.value.toLowerCase()))\n ),\n },\n {\n id: StatementPosition.WithKeyword,\n name: StatementPosition.WithKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n currentToken === null ||\n (currentToken.isWhiteSpace() && currentToken.previous === null) ||\n (currentToken.is(TokenType.Keyword, WITH) && currentToken.previous === null) ||\n (currentToken.isIdentifier() && WITH.toLowerCase().startsWith(currentToken.value.toLowerCase()))\n ),\n },\n {\n id: StatementPosition.AfterSelectKeyword,\n name: StatementPosition.AfterSelectKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(previousNonWhiteSpace?.value.toLowerCase() === SELECT),\n },\n {\n id: StatementPosition.AfterSelectArguments,\n name: StatementPosition.AfterSelectArguments,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(previousKeyword?.value.toLowerCase() === SELECT && previousNonWhiteSpace?.value === ',');\n },\n },\n {\n id: StatementPosition.AfterSelectFuncFirstArgument,\n name: StatementPosition.AfterSelectFuncFirstArgument,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n (previousKeyword?.value.toLowerCase() === SELECT || previousKeyword?.value.toLowerCase() === AS) &&\n (previousNonWhiteSpace?.is(TokenType.Parenthesis, '(') || currentToken?.is(TokenType.Parenthesis, '()'))\n );\n },\n },\n {\n id: StatementPosition.AfterWhereFunctionArgument,\n name: StatementPosition.AfterWhereFunctionArgument,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n previousKeyword?.is(TokenType.Keyword, WHERE) &&\n (previousNonWhiteSpace?.is(TokenType.Parenthesis, '(') || currentToken?.is(TokenType.Parenthesis, '()'))\n );\n },\n },\n {\n id: StatementPosition.AfterGroupBy,\n name: StatementPosition.AfterGroupBy,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousKeyword?.is(TokenType.Keyword, BY) &&\n previousKeyword?.getPreviousKeyword()?.is(TokenType.Keyword, GROUP) &&\n (previousNonWhiteSpace?.isIdentifier() ||\n previousNonWhiteSpace?.isDoubleQuotedString() ||\n previousNonWhiteSpace?.is(TokenType.Parenthesis, ')') ||\n previousNonWhiteSpace?.is(TokenType.Parenthesis, '()'))\n ),\n },\n {\n id: StatementPosition.SelectAlias,\n name: StatementPosition.SelectAlias,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n if (previousNonWhiteSpace?.value === ',' && previousKeyword?.value.toLowerCase() === AS) {\n return true;\n }\n\n return false;\n },\n },\n\n {\n id: StatementPosition.FromKeyword,\n name: StatementPosition.FromKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n // cloudwatch specific commented out\n // Boolean(previousKeyword?.value === SELECT && previousNonWhiteSpace?.isParenthesis()),\n return Boolean(\n (previousKeyword?.value.toLowerCase() === SELECT && previousNonWhiteSpace?.value !== ',') ||\n ((currentToken?.isKeyword() || currentToken?.isIdentifier()) &&\n FROM.toLowerCase().startsWith(currentToken.value.toLowerCase()))\n );\n },\n },\n {\n id: StatementPosition.AfterFromKeyword,\n name: StatementPosition.AfterFromKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(!currentToken?.value.includes('.') && previousNonWhiteSpace?.value.toLowerCase() === FROM),\n },\n {\n id: StatementPosition.AfterSchema,\n name: StatementPosition.AfterSchema,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n // depending on whether the schema was the last token in the query or not, current token might be whitespace or dot. if whitespace, just use the previous token\n if (currentToken?.isWhiteSpace() && currentToken?.next) {\n currentToken = currentToken?.previous;\n previousNonWhiteSpace = currentToken!.getPreviousNonWhiteSpaceToken();\n }\n return Boolean(\n currentToken?.isIdentifier() &&\n currentToken?.value.endsWith('.') &&\n previousNonWhiteSpace?.value.toLowerCase() === FROM\n );\n },\n },\n {\n id: StatementPosition.AfterFrom,\n name: StatementPosition.AfterFrom,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n (previousKeyword?.value.toLowerCase() === FROM && previousNonWhiteSpace?.isDoubleQuotedString()) ||\n (previousKeyword?.value.toLowerCase() === FROM && previousNonWhiteSpace?.isIdentifier()) ||\n (previousKeyword?.value.toLowerCase() === FROM && previousNonWhiteSpace?.isVariable())\n // cloudwatch specific\n // (previousKeyword?.value === SCHEMA && previousNonWhiteSpace?.is(TokenType.Parenthesis, ')'))\n ),\n },\n {\n id: StatementPosition.AfterTable,\n name: StatementPosition.AfterTable,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n previousKeyword?.value.toLowerCase() === FROM &&\n (previousNonWhiteSpace?.isVariable() ||\n (previousNonWhiteSpace?.value !== '' && previousNonWhiteSpace?.value.toLowerCase() !== FROM))\n );\n },\n },\n {\n id: StatementPosition.WhereKeyword,\n name: StatementPosition.WhereKeyword,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousKeyword?.value.toLowerCase() === WHERE &&\n (previousNonWhiteSpace?.isKeyword() ||\n previousNonWhiteSpace?.is(TokenType.Parenthesis, '(') ||\n previousNonWhiteSpace?.is(TokenType.Operator, AND))\n ),\n },\n {\n id: StatementPosition.WhereComparisonOperator,\n name: StatementPosition.WhereComparisonOperator,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousKeyword?.value.toLowerCase() === WHERE &&\n !previousNonWhiteSpace?.getPreviousNonWhiteSpaceToken()?.isOperator() &&\n !currentToken?.is(TokenType.Delimiter, '.') &&\n !currentToken?.isParenthesis() &&\n (previousNonWhiteSpace?.isIdentifier() || previousNonWhiteSpace?.isDoubleQuotedString())\n ),\n },\n {\n id: StatementPosition.WhereValue,\n name: StatementPosition.WhereValue,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(previousKeyword?.value.toLowerCase() === WHERE && previousNonWhiteSpace?.isOperator()),\n },\n {\n id: StatementPosition.AfterWhereValue,\n name: StatementPosition.AfterWhereValue,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n previousKeyword?.value.toLowerCase() === WHERE &&\n (previousNonWhiteSpace?.is(TokenType.Operator, 'and') ||\n previousNonWhiteSpace?.is(TokenType.Operator, 'or') ||\n previousNonWhiteSpace?.isString() ||\n previousNonWhiteSpace?.isNumber() ||\n previousNonWhiteSpace?.is(TokenType.Parenthesis, ')') ||\n previousNonWhiteSpace?.is(TokenType.Parenthesis, '()') ||\n previousNonWhiteSpace?.isTemplateVariable() ||\n (previousNonWhiteSpace?.is(TokenType.IdentifierQuote) &&\n previousNonWhiteSpace.getPreviousNonWhiteSpaceToken()?.is(TokenType.Identifier) &&\n previousNonWhiteSpace\n ?.getPreviousNonWhiteSpaceToken()\n ?.getPreviousNonWhiteSpaceToken()\n ?.is(TokenType.IdentifierQuote)))\n );\n },\n },\n {\n id: StatementPosition.AfterGroupByKeywords,\n name: StatementPosition.AfterGroupByKeywords,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousKeyword?.is(TokenType.Keyword, BY) &&\n previousKeyword?.getPreviousKeyword()?.is(TokenType.Keyword, GROUP) &&\n (previousNonWhiteSpace?.is(TokenType.Keyword, BY) || previousNonWhiteSpace?.is(TokenType.Delimiter, ','))\n ),\n },\n {\n id: StatementPosition.AfterGroupByFunctionArgument,\n name: StatementPosition.AfterGroupByFunctionArgument,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n previousKeyword?.is(TokenType.Keyword, BY) &&\n previousKeyword?.getPreviousKeyword()?.is(TokenType.Keyword, GROUP) &&\n (previousNonWhiteSpace?.is(TokenType.Parenthesis, '(') || currentToken?.is(TokenType.Parenthesis, '()'))\n );\n },\n },\n {\n id: StatementPosition.AfterOrderByKeywords,\n name: StatementPosition.AfterOrderByKeywords,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousNonWhiteSpace?.is(TokenType.Keyword, BY) &&\n previousNonWhiteSpace?.getPreviousKeyword()?.is(TokenType.Keyword, ORDER)\n ),\n },\n {\n id: StatementPosition.AfterOrderByFunction,\n name: StatementPosition.AfterOrderByFunction,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(\n previousKeyword?.is(TokenType.Keyword, BY) &&\n previousKeyword?.getPreviousKeyword()?.is(TokenType.Keyword, ORDER) &&\n previousNonWhiteSpace?.is(TokenType.Parenthesis) &&\n previousNonWhiteSpace?.getPreviousNonWhiteSpaceToken()?.is(TokenType.Function)\n ),\n },\n {\n id: StatementPosition.AfterOrderByDirection,\n name: StatementPosition.AfterOrderByDirection,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) =>\n Boolean(previousKeyword?.is(TokenType.Keyword, DESC) || previousKeyword?.is(TokenType.Keyword, ASC)),\n },\n {\n id: StatementPosition.AfterIsOperator,\n name: StatementPosition.AfterIsOperator,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(previousNonWhiteSpace?.is(TokenType.Operator, 'IS'));\n },\n },\n {\n id: StatementPosition.AfterIsNotOperator,\n name: StatementPosition.AfterIsNotOperator,\n resolve: (currentToken, previousKeyword, previousNonWhiteSpace, previousIsSlash) => {\n return Boolean(\n previousNonWhiteSpace?.is(TokenType.Operator, 'NOT') &&\n previousNonWhiteSpace.getPreviousNonWhiteSpaceToken()?.is(TokenType.Operator, 'IS')\n );\n },\n },\n ];\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggestionsKindRegistry.js","sources":["../../../../../src/components/SQLEditor/standardSql/suggestionsKindRegistry.ts"],"sourcesContent":["import { type RegistryItem } from '@grafana/data';\nimport { StatementPosition, SuggestionKind } from '../types';\n\nexport interface SuggestionKindRegistryItem extends RegistryItem {\n id: StatementPosition;\n kind: SuggestionKind[];\n}\n\n// Registry of possible suggestions for the given statement position\nexport const initSuggestionsKindRegistry = (): SuggestionKindRegistryItem[] => {\n return [\n {\n id: StatementPosition.SelectKeyword,\n name: StatementPosition.SelectKeyword,\n kind: [SuggestionKind.SelectKeyword],\n },\n {\n id: StatementPosition.WithKeyword,\n name: StatementPosition.WithKeyword,\n kind: [SuggestionKind.WithKeyword],\n },\n {\n id: StatementPosition.AfterSelectKeyword,\n name: StatementPosition.AfterSelectKeyword,\n kind: [\n SuggestionKind.StarWildCard,\n SuggestionKind.FunctionsWithArguments,\n SuggestionKind.Columns,\n SuggestionKind.SelectMacro,\n ],\n },\n {\n id: StatementPosition.AfterSelectFuncFirstArgument,\n name: StatementPosition.AfterSelectFuncFirstArgument,\n kind: [SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterGroupByFunctionArgument,\n name: StatementPosition.AfterGroupByFunctionArgument,\n kind: [SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterWhereFunctionArgument,\n name: StatementPosition.AfterWhereFunctionArgument,\n kind: [SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterSelectArguments,\n name: StatementPosition.AfterSelectArguments,\n kind: [SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterFromKeyword,\n name: StatementPosition.AfterFromKeyword,\n kind: [SuggestionKind.Schemas, SuggestionKind.Tables, SuggestionKind.TableMacro],\n },\n {\n id: StatementPosition.AfterSchema,\n name: StatementPosition.AfterSchema,\n kind: [SuggestionKind.Tables, SuggestionKind.TableMacro],\n },\n {\n id: StatementPosition.SelectAlias,\n name: StatementPosition.SelectAlias,\n kind: [SuggestionKind.Columns, SuggestionKind.FunctionsWithArguments],\n },\n {\n id: StatementPosition.FromKeyword,\n name: StatementPosition.FromKeyword,\n kind: [SuggestionKind.FromKeyword],\n },\n {\n id: StatementPosition.AfterFrom,\n name: StatementPosition.AfterFrom,\n kind: [\n SuggestionKind.WhereKeyword,\n SuggestionKind.GroupByKeywords,\n SuggestionKind.OrderByKeywords,\n SuggestionKind.LimitKeyword,\n ],\n },\n {\n id: StatementPosition.AfterTable,\n name: StatementPosition.AfterTable,\n kind: [\n SuggestionKind.WhereKeyword,\n SuggestionKind.GroupByKeywords,\n SuggestionKind.OrderByKeywords,\n SuggestionKind.LimitKeyword,\n ],\n },\n {\n id: StatementPosition.WhereKeyword,\n name: StatementPosition.WhereKeyword,\n kind: [SuggestionKind.Columns, SuggestionKind.FilterMacro, SuggestionKind.TemplateVariables],\n },\n {\n id: StatementPosition.WhereComparisonOperator,\n name: StatementPosition.WhereComparisonOperator,\n kind: [SuggestionKind.ComparisonOperators],\n },\n {\n id: StatementPosition.WhereValue,\n name: StatementPosition.WhereValue,\n kind: [SuggestionKind.FilterMacro, SuggestionKind.TemplateVariables],\n },\n {\n id: StatementPosition.AfterWhereValue,\n name: StatementPosition.AfterWhereValue,\n kind: [\n SuggestionKind.LogicalOperators,\n SuggestionKind.GroupByKeywords,\n SuggestionKind.OrderByKeywords,\n SuggestionKind.LimitKeyword,\n SuggestionKind.Columns,\n SuggestionKind.TemplateVariables,\n ],\n },\n {\n id: StatementPosition.AfterGroupByKeywords,\n name: StatementPosition.AfterGroupByKeywords,\n kind: [SuggestionKind.GroupMacro, SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterGroupBy,\n name: StatementPosition.AfterGroupBy,\n kind: [SuggestionKind.OrderByKeywords, SuggestionKind.LimitKeyword],\n },\n {\n id: StatementPosition.AfterOrderByKeywords,\n name: StatementPosition.AfterOrderByKeywords,\n kind: [SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterOrderByFunction,\n name: StatementPosition.AfterOrderByFunction,\n kind: [SuggestionKind.SortOrderDirectionKeyword, SuggestionKind.LimitKeyword],\n },\n {\n id: StatementPosition.AfterOrderByDirection,\n name: StatementPosition.AfterOrderByDirection,\n kind: [SuggestionKind.LimitKeyword],\n },\n {\n id: StatementPosition.AfterIsOperator,\n name: StatementPosition.AfterOrderByDirection,\n kind: [SuggestionKind.NotKeyword, SuggestionKind.NullValue, SuggestionKind.BoolValues],\n },\n {\n id: StatementPosition.AfterIsNotOperator,\n name: StatementPosition.AfterOrderByDirection,\n kind: [SuggestionKind.NullValue, SuggestionKind.BoolValues],\n },\n ];\n};\n"],"names":[],"mappings":";;;AASO,MAAM,8BAA8B,MAAoC;AAC7E,
|
|
1
|
+
{"version":3,"file":"suggestionsKindRegistry.js","sources":["../../../../../src/components/SQLEditor/standardSql/suggestionsKindRegistry.ts"],"sourcesContent":["import { type RegistryItem } from '@grafana/data';\nimport { StatementPosition, SuggestionKind } from '../types';\n\nexport interface SuggestionKindRegistryItem extends RegistryItem {\n id: StatementPosition;\n kind: SuggestionKind[];\n}\n\n// Registry of possible suggestions for the given statement position\nexport const initSuggestionsKindRegistry = (): SuggestionKindRegistryItem[] => {\n return [\n {\n id: StatementPosition.SelectKeyword,\n name: StatementPosition.SelectKeyword,\n kind: [SuggestionKind.SelectKeyword],\n },\n {\n id: StatementPosition.WithKeyword,\n name: StatementPosition.WithKeyword,\n kind: [SuggestionKind.WithKeyword],\n },\n {\n id: StatementPosition.AfterSelectKeyword,\n name: StatementPosition.AfterSelectKeyword,\n kind: [\n SuggestionKind.StarWildCard,\n SuggestionKind.FunctionsWithArguments,\n SuggestionKind.Columns,\n SuggestionKind.SelectMacro,\n ],\n },\n {\n id: StatementPosition.AfterSelectFuncFirstArgument,\n name: StatementPosition.AfterSelectFuncFirstArgument,\n kind: [SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterGroupByFunctionArgument,\n name: StatementPosition.AfterGroupByFunctionArgument,\n kind: [SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterWhereFunctionArgument,\n name: StatementPosition.AfterWhereFunctionArgument,\n kind: [SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterSelectArguments,\n name: StatementPosition.AfterSelectArguments,\n kind: [SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterFromKeyword,\n name: StatementPosition.AfterFromKeyword,\n kind: [SuggestionKind.Schemas, SuggestionKind.Tables, SuggestionKind.TableMacro],\n },\n {\n id: StatementPosition.AfterSchema,\n name: StatementPosition.AfterSchema,\n kind: [SuggestionKind.Tables, SuggestionKind.TableMacro],\n },\n {\n id: StatementPosition.SelectAlias,\n name: StatementPosition.SelectAlias,\n kind: [SuggestionKind.Columns, SuggestionKind.FunctionsWithArguments],\n },\n {\n id: StatementPosition.FromKeyword,\n name: StatementPosition.FromKeyword,\n kind: [SuggestionKind.FromKeyword],\n },\n {\n id: StatementPosition.AfterFrom,\n name: StatementPosition.AfterFrom,\n kind: [\n SuggestionKind.WhereKeyword,\n SuggestionKind.GroupByKeywords,\n SuggestionKind.OrderByKeywords,\n SuggestionKind.LimitKeyword,\n ],\n },\n {\n id: StatementPosition.AfterTable,\n name: StatementPosition.AfterTable,\n kind: [\n SuggestionKind.WhereKeyword,\n SuggestionKind.GroupByKeywords,\n SuggestionKind.OrderByKeywords,\n SuggestionKind.LimitKeyword,\n ],\n },\n {\n id: StatementPosition.WhereKeyword,\n name: StatementPosition.WhereKeyword,\n kind: [SuggestionKind.Columns, SuggestionKind.FilterMacro, SuggestionKind.TemplateVariables],\n },\n {\n id: StatementPosition.WhereComparisonOperator,\n name: StatementPosition.WhereComparisonOperator,\n kind: [SuggestionKind.ComparisonOperators],\n },\n {\n id: StatementPosition.WhereValue,\n name: StatementPosition.WhereValue,\n kind: [SuggestionKind.FilterMacro, SuggestionKind.TemplateVariables],\n },\n {\n id: StatementPosition.AfterWhereValue,\n name: StatementPosition.AfterWhereValue,\n kind: [\n SuggestionKind.LogicalOperators,\n SuggestionKind.GroupByKeywords,\n SuggestionKind.OrderByKeywords,\n SuggestionKind.LimitKeyword,\n SuggestionKind.Columns,\n SuggestionKind.TemplateVariables,\n ],\n },\n {\n id: StatementPosition.AfterGroupByKeywords,\n name: StatementPosition.AfterGroupByKeywords,\n kind: [SuggestionKind.GroupMacro, SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterGroupBy,\n name: StatementPosition.AfterGroupBy,\n kind: [SuggestionKind.OrderByKeywords, SuggestionKind.LimitKeyword],\n },\n {\n id: StatementPosition.AfterOrderByKeywords,\n name: StatementPosition.AfterOrderByKeywords,\n kind: [SuggestionKind.Columns],\n },\n {\n id: StatementPosition.AfterOrderByFunction,\n name: StatementPosition.AfterOrderByFunction,\n kind: [SuggestionKind.SortOrderDirectionKeyword, SuggestionKind.LimitKeyword],\n },\n {\n id: StatementPosition.AfterOrderByDirection,\n name: StatementPosition.AfterOrderByDirection,\n kind: [SuggestionKind.LimitKeyword],\n },\n {\n id: StatementPosition.AfterIsOperator,\n name: StatementPosition.AfterOrderByDirection,\n kind: [SuggestionKind.NotKeyword, SuggestionKind.NullValue, SuggestionKind.BoolValues],\n },\n {\n id: StatementPosition.AfterIsNotOperator,\n name: StatementPosition.AfterOrderByDirection,\n kind: [SuggestionKind.NullValue, SuggestionKind.BoolValues],\n },\n ];\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/SQLEditor/test-utils/index.ts"],"sourcesContent":["import * as testData from '../mocks/testData';\nimport { testStatementPosition } from './statementPosition';\nimport { type TestQueryModel } from './types';\n\nexport const SQLEditorTestUtils = {\n testData,\n testStatementPosition,\n};\n\nexport type { TestQueryModel };\n"],"names":[],"mappings":";;;;AAIO,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/SQLEditor/test-utils/index.ts"],"sourcesContent":["import * as testData from '../mocks/testData';\nimport { testStatementPosition } from './statementPosition';\nimport { type TestQueryModel } from './types';\n\nexport const SQLEditorTestUtils = {\n testData,\n testStatementPosition,\n};\n\nexport type { TestQueryModel };\n"],"names":[],"mappings":";;;;AAIO,MAAM,kBAAA,GAAqB;AAAA,EAChC,QAAA;AAAA,EACA;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statementPosition.js","sources":["../../../../../src/components/SQLEditor/test-utils/statementPosition.ts"],"sourcesContent":["import { Registry } from '@grafana/data';\nimport { type monacoTypes } from '@grafana/ui';\nimport { getMonacoMock } from '../mocks/Monaco';\nimport { TextModel } from '../mocks/TextModel';\nimport { getStatementPosition } from '../standardSql/getStatementPosition';\nimport { type StatementPositionResolversRegistryItem } from '../standardSql/types';\nimport { type CustomStatementPlacement, type StatementPosition } from '../types';\nimport { linkedTokenBuilder } from '../utils/linkedTokenBuilder';\nimport { type StatementPositionResolverTestCase } from './types';\n\nfunction assertPosition(\n query: string,\n position: monacoTypes.IPosition,\n expected: StatementPosition | string,\n monacoMock: any,\n resolversRegistry: Registry<StatementPositionResolversRegistryItem>\n) {\n const testModel = TextModel(query);\n const current = linkedTokenBuilder(monacoMock, testModel as monacoTypes.editor.ITextModel, position);\n const statementPosition = getStatementPosition(current, resolversRegistry);\n\n expect(statementPosition).toContain(expected);\n}\n\nexport const testStatementPosition = (\n expected: StatementPosition | string,\n cases: StatementPositionResolverTestCase[],\n resolvers: () => CustomStatementPlacement[]\n) => {\n describe(`${expected}`, () => {\n let MonacoMock: any;\n let statementPositionResolversRegistry: Registry<StatementPositionResolversRegistryItem>;\n\n beforeEach(() => {\n const mockQueries = new Map<string, Array<Array<Pick<monacoTypes.Token, 'language' | 'offset' | 'type'>>>>();\n cases.forEach((c) => mockQueries.set(c.query.query, c.query.tokens));\n\n MonacoMock = getMonacoMock(mockQueries);\n statementPositionResolversRegistry = new Registry(() => {\n return resolvers().map((r) => ({\n id: r.id as StatementPosition,\n name: r.name || r.id,\n resolve: r.resolve,\n }));\n });\n });\n\n // using forEach here rather than test.each as been struggling to get the arguments interpolated in test name string\n cases.forEach((c) => {\n test(`${c.query.query}`, () => {\n assertPosition(\n c.query.query,\n { lineNumber: c.position.line, column: c.position.column },\n expected,\n MonacoMock,\n statementPositionResolversRegistry\n );\n });\n });\n });\n};\n"],"names":[],"mappings":";;;;;;;AAUA,SAAS,
|
|
1
|
+
{"version":3,"file":"statementPosition.js","sources":["../../../../../src/components/SQLEditor/test-utils/statementPosition.ts"],"sourcesContent":["import { Registry } from '@grafana/data';\nimport { type monacoTypes } from '@grafana/ui';\nimport { getMonacoMock } from '../mocks/Monaco';\nimport { TextModel } from '../mocks/TextModel';\nimport { getStatementPosition } from '../standardSql/getStatementPosition';\nimport { type StatementPositionResolversRegistryItem } from '../standardSql/types';\nimport { type CustomStatementPlacement, type StatementPosition } from '../types';\nimport { linkedTokenBuilder } from '../utils/linkedTokenBuilder';\nimport { type StatementPositionResolverTestCase } from './types';\n\nfunction assertPosition(\n query: string,\n position: monacoTypes.IPosition,\n expected: StatementPosition | string,\n monacoMock: any,\n resolversRegistry: Registry<StatementPositionResolversRegistryItem>\n) {\n const testModel = TextModel(query);\n const current = linkedTokenBuilder(monacoMock, testModel as monacoTypes.editor.ITextModel, position);\n const statementPosition = getStatementPosition(current, resolversRegistry);\n\n expect(statementPosition).toContain(expected);\n}\n\nexport const testStatementPosition = (\n expected: StatementPosition | string,\n cases: StatementPositionResolverTestCase[],\n resolvers: () => CustomStatementPlacement[]\n) => {\n describe(`${expected}`, () => {\n let MonacoMock: any;\n let statementPositionResolversRegistry: Registry<StatementPositionResolversRegistryItem>;\n\n beforeEach(() => {\n const mockQueries = new Map<string, Array<Array<Pick<monacoTypes.Token, 'language' | 'offset' | 'type'>>>>();\n cases.forEach((c) => mockQueries.set(c.query.query, c.query.tokens));\n\n MonacoMock = getMonacoMock(mockQueries);\n statementPositionResolversRegistry = new Registry(() => {\n return resolvers().map((r) => ({\n id: r.id as StatementPosition,\n name: r.name || r.id,\n resolve: r.resolve,\n }));\n });\n });\n\n // using forEach here rather than test.each as been struggling to get the arguments interpolated in test name string\n cases.forEach((c) => {\n test(`${c.query.query}`, () => {\n assertPosition(\n c.query.query,\n { lineNumber: c.position.line, column: c.position.column },\n expected,\n MonacoMock,\n statementPositionResolversRegistry\n );\n });\n });\n });\n};\n"],"names":[],"mappings":";;;;;;;AAUA,SAAS,cAAA,CACP,KAAA,EACA,QAAA,EACA,QAAA,EACA,YACA,iBAAA,EACA;AACA,EAAA,MAAM,SAAA,GAAY,UAAU,KAAK,CAAA;AACjC,EAAA,MAAM,OAAA,GAAU,kBAAA,CAAmB,UAAA,EAAY,SAAA,EAA4C,QAAQ,CAAA;AACnG,EAAA,MAAM,iBAAA,GAAoB,oBAAA,CAAqB,OAAA,EAAS,iBAAiB,CAAA;AAEzE,EAAA,MAAA,CAAO,iBAAiB,CAAA,CAAE,SAAA,CAAU,QAAQ,CAAA;AAC9C;AAEO,MAAM,qBAAA,GAAwB,CACnC,QAAA,EACA,KAAA,EACA,SAAA,KACG;AACH,EAAA,QAAA,CAAS,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,MAAM;AAC5B,IAAA,IAAI,UAAA;AACJ,IAAA,IAAI,kCAAA;AAEJ,IAAA,UAAA,CAAW,MAAM;AACf,MAAA,MAAM,WAAA,uBAAkB,GAAA,EAAmF;AAC3G,MAAA,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA,KAAM,WAAA,CAAY,GAAA,CAAI,CAAA,CAAE,KAAA,CAAM,KAAA,EAAO,CAAA,CAAE,KAAA,CAAM,MAAM,CAAC,CAAA;AAEnE,MAAA,UAAA,GAAa,cAAc,WAAW,CAAA;AACtC,MAAA,kCAAA,GAAqC,IAAI,SAAS,MAAM;AACtD,QAAA,OAAO,SAAA,EAAU,CAAE,GAAA,CAAI,CAAC,CAAA,MAAO;AAAA,UAC7B,IAAI,CAAA,CAAE,EAAA;AAAA,UACN,IAAA,EAAM,CAAA,CAAE,IAAA,IAAQ,CAAA,CAAE,EAAA;AAAA,UAClB,SAAS,CAAA,CAAE;AAAA,SACb,CAAE,CAAA;AAAA,MACJ,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AAGD,IAAA,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA,KAAM;AACnB,MAAA,IAAA,CAAK,CAAA,EAAG,CAAA,CAAE,KAAA,CAAM,KAAK,IAAI,MAAM;AAC7B,QAAA,cAAA;AAAA,UACE,EAAE,KAAA,CAAM,KAAA;AAAA,UACR,EAAE,YAAY,CAAA,CAAE,QAAA,CAAS,MAAM,MAAA,EAAQ,CAAA,CAAE,SAAS,MAAA,EAAO;AAAA,UACzD,QAAA;AAAA,UACA,UAAA;AAAA,UACA;AAAA,SACF;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AAAA,EACH,CAAC,CAAA;AACH;;;;"}
|