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.

37 lines (36 loc) 2.07 kB
/// <reference types="@arcgis/core/interfaces.d.ts" /> import { ChildBearingProperties } from './sql-expr-constants'; export declare function isSqlSyntaxError(err: unknown): err is __esri.SQLSyntaxError; export declare function isUnexpectedTokenError(error: __esri.SQLSyntaxError): boolean; export declare function getExpectedTokens(error: __esri.SQLSyntaxError): string[] | undefined; export declare function formatSyntaxError(error: __esri.SQLSyntaxError): string; type ExpectedLiteral = { category: "functions" | "keywords" | "operators"; text: string; }; /** * parses the error from the parser and returns the expected literals, used to provide suggestions. * it will only return literals that do not contain special characters or numbers. */ export declare function getExpectedLiterals(error: __esri.SQLSyntaxError): ExpectedLiteral[]; export declare const callerIndexAt = -2; /** * returns the slot position of the node in the context root * @param node the node we want to find the slot position for * @param contextRoot the context root of the node, see {@link identifyContextRoot} */ export declare function getSlotPosition(node: __esri.SQLNode, contextRoot: __esri.SQLNode): ChildBearingProperties | number; /** * Identifies the context root of the searchNode in the searchTree. The context root is the first "non-terminal" node within the node's parent context (searchTree). * see {@link terminalTypes} for the list of terminal types. * @param searchNode the node we want to find the context root for * @param searchTree all the nodes contained in the searchNode's parent context * @returns The context root of the searchNode */ export declare function identifyContextRoot(searchNode: __esri.SQLNode, searchTree: __esri.SQLNode[]): __esri.SQLNode; /** * Appends the required number of closing parentheses to the model content. * This helps when the parsing fails. We try closing the unclosed parentheses, and resubmit the content for parsing. */ export declare function closeUnclosedDelimiters(modelContent: string): string; export {};