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.

95 lines (94 loc) 2.26 kB
/// <reference types="@arcgis/core/interfaces.d.ts" /> import { Thenable, Uri, languages, editor, IRange, Position as MonacoPosition, Position } from 'monaco-editor'; import { ApiCategory, ApiContext } from '@arcgis/languages-api-utils'; export interface ISqlExprWorker { doValidation: (modelId: string, context: ApiContext) => Thenable<editor.IMarkerData[]>; doComplete: (modelId: string, range: IRange, position: Position, context: ApiContext) => Thenable<languages.CompletionList>; getApiLibrary: (context: ApiContext) => Thenable<ApiCategory[]>; } export type ISqlExprWorkerAccessor = (...more: Uri[]) => Thenable<ISqlExprWorker>; export interface ApiContextType { description: string; parameters: { name: string; type: string[] | string; description: string; }[]; returnValue: string[] | string; examples: { code: string; description: string; }[]; snippet: string[] | string; name: string; bundle: string; } export interface ICompletionContext { range: IRange; modelContent: string; position: MonacoPosition; lowestNode: __esri.SQLNode | undefined; subTree: __esri.SQLNode[]; completionItems: languages.CompletionItem[]; } /** * SQL Expression Literal. These are the types that occur within nodes of the AST generated by the peggy parser. **/ export type SqlExpressionLiteral = /** * "date" * "float" * "integer" * "real" * "smallint" * "time" * "timestamp" * "varchar" */ __esri.DataTypeNode["value"]["type"] /** * "binary-expression" * "boolean" * "case-expression" * "column-reference" * "current-time" * "data-type" * "date" * "expression-list" * "function" * "interval" * "interval-period" * "interval-qualifier" * "null" * "number" * "parameter" * "string" * "time" * "timestamp" * "unary-expression" * "when-clause" */ | __esri.SQLNode["type"]; export type ArcGISFieldType = /** * "string" * "date" * "integer" * "small-integer" * "big-integer" * "single" * "double" * "long" * "date-only" * "time-only" * "timestamp-offset" * "oid" * "geometry" * "blob" * "raster" * "guid" * "global-id" * "xml" */ __esri.Field["type"]; export type SqlExpOperator = __esri.BinaryNode["operator"];