@pawel-up/jexl
Version:
Javascript Expression Language: Powerful context-based expression parser and evaluator
61 lines • 2.38 kB
TypeScript
import type { FunctionFunction } from '../../grammar.js';
import type { Jexl } from '../../Jexl.js';
import type { FunctionSchema, LibrarySchema } from './types.js';
export interface VSCodeCompletionItem {
label: string;
kind: number;
detail: string;
documentation: {
kind: string;
value: string;
};
insertText: string;
}
export declare function createVSCodeCompletionItems(library: LibrarySchema): VSCodeCompletionItem[];
export interface MonacoCompletionItem {
label: string;
kind: number;
detail: string;
documentation: {
value: string;
};
insertText: string;
}
export declare function createMonacoCompletionItems(library: LibrarySchema): MonacoCompletionItem[];
export interface CodeMirrorCompletionOption {
label: string;
type: string;
info: string;
detail: string;
apply: string;
}
export declare function createCodeMirrorCompletionOptions(library: LibrarySchema): CodeMirrorCompletionOption[];
export interface LSPCompletionItem {
label: string;
kind: number;
detail: string;
documentation: {
kind: string;
value: string;
};
}
export declare function createLSPCompletionItems(library: LibrarySchema): LSPCompletionItem[];
export declare function createFunctionCallSchema(func: FunctionSchema): Record<string, unknown>;
export declare function createLibraryValidationSchemas(library: LibrarySchema): Record<string, Record<string, unknown>>;
export declare function generateFunctionTable(library: LibrarySchema): string;
export declare function generateFunctionCards(library: LibrarySchema): string;
export interface JexlInstance {
addFunction: (name: string, func: (...args: unknown[]) => unknown) => void;
_functions?: Record<string, unknown>;
}
export interface FunctionWithMetadata {
(...args: unknown[]): unknown;
_schema?: FunctionSchema;
_category?: string;
_parameters?: FunctionSchema['parameters'];
_returns?: FunctionSchema['returns'];
}
export declare function registerFunctions(jexl: Jexl, library: LibrarySchema, functionModule: Record<string, FunctionFunction>): void;
export declare function getFunctionMetadata(func: FunctionWithMetadata): FunctionSchema | undefined;
export declare function listFunctionsByCategory(jexl: JexlInstance): Record<string, string[]>;
//# sourceMappingURL=integrations.d.ts.map