UNPKG

@arcgis/coding-components

Version:

Contains components for editing code in different languages. The currently supported languages are html, css, json, TypeScript, JavaScript, and Arcade.

42 lines (41 loc) 1.38 kB
/// <reference types="@arcgis/core/interfaces.d.ts" /> import { editor } from 'monaco-editor'; import { ApiCategory, ApiContext } from '@arcgis/languages-api-utils'; export declare class SQLExpressionValidation { private callStack; private _sdkFunctions; private _fields; markers: editor.IMarkerData[]; constructor(sdkLibrary: ApiCategory[], _apiContext: ApiContext); /** * validates the SQL Expression by generating an AST and traversing it * @param modelContent The SQL Expression to validate */ validateModel(modelContent: string): Promise<void>; /** * a DFS traversal of the SQL Expression AST * @param node The node to traverse, start with the root node */ traverse(node: __esri.SQLNode): void; /** * Validates a nodes syntax and types * @param node The node to validate */ private _validateNode; private _handleParserFailure; /** * Formats a node's range into a Monaco IRange object. * @param node */ private _getRange; /** * finds the function in the SDK library. * @param name name of the function */ private _getFunction; /** * looks at the node and finds any children attached to it. If there are children, it will traverse them. * @param node The current node to traverse */ private _traverseChildren; }