UNPKG

@gorules/zen-engine

Version:

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

79 lines (76 loc) 2.8 kB
/* tslint:disable */ /* eslint-disable */ /* auto-generated by NAPI-RS */ export interface ZenConfig { nodesInContext?: boolean functionTimeoutMillis?: number } export declare function overrideConfig(config: ZenConfig): void export interface ZenEvaluateOptions { maxDepth?: number trace?: boolean | 'string' | 'reference' | 'referenceString' } export interface ZenEngineOptions { loader?: (key: string) => Promise<Buffer | ZenDecisionContent> customHandler?: (request: ZenEngineHandlerRequest) => Promise<ZenEngineHandlerResponse> } export declare function evaluateExpressionSync(expression: string, context?: any | undefined | null): any export declare function evaluateUnaryExpressionSync(expression: string, context: any): boolean export declare function renderTemplateSync(template: string, context: any): any export declare function evaluateExpression(expression: string, context?: any | undefined | null): Promise<any> export declare function evaluateUnaryExpression(expression: string, context: any): Promise<boolean> export declare function renderTemplate(template: string, context: any): Promise<any> export interface ZenEngineTrace { id: string name: string input: any output: any performance?: string traceData?: any order: number } export interface ZenEngineResponse { performance: string result: any trace?: Record<string, ZenEngineTrace> } export interface ZenEngineHandlerResponse { output: any traceData?: any } export interface DecisionNode { id: string name: string kind: string config: any } export declare class ZenDecisionContent { constructor(content: Buffer | object) toBuffer(): Buffer } export declare class ZenDecision { constructor() evaluate(context: any, opts?: ZenEvaluateOptions | undefined | null): Promise<ZenEngineResponse> safeEvaluate(context: any, opts?: ZenEvaluateOptions | undefined | null): Promise<SafeResult<ZenEngineResponse>> validate(): void } export declare class ZenEngine { constructor(options?: ZenEngineOptions | undefined | null) evaluate(key: string, context: any, opts?: ZenEvaluateOptions | undefined | null): Promise<ZenEngineResponse> createDecision(content: ZenDecisionContent | Buffer | object): ZenDecision getDecision(key: string): Promise<ZenDecision> safeEvaluate(key: string, context: any, opts?: ZenEvaluateOptions | undefined | null): Promise<SafeResult<ZenEngineResponse>> safeGetDecision(key: string): Promise<SafeResult<ZenDecision>> /** * Function used to dispose memory allocated for loaders * In the future, it will likely be removed and made automatic */ dispose(): void } export declare class ZenEngineHandlerRequest { input: any node: DecisionNode constructor() getField(path: string): unknown getFieldRaw(path: string): unknown }