@gorules/zen-engine
Version:
[](https://opensource.org/licenses/MIT)
79 lines (76 loc) • 2.8 kB
TypeScript
/* 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
}