@gorules/zen-engine 0.15.1 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.d.ts +37 -2
  2. package/index.js +6 -1
  3. package/package.json +7 -7
package/index.d.ts CHANGED
@@ -9,17 +9,52 @@ export interface ZenEvaluateOptions {
9
9
  }
10
10
  export interface ZenEngineOptions {
11
11
  loader?: (key: string) => Promise<Buffer>
12
+ customHandler?: (request: ZenEngineHandlerRequest) => Promise<ZenEngineHandlerResponse>
12
13
  }
14
+ export function evaluateExpressionSync(expression: string, context?: any | undefined | null): any
15
+ export function evaluateUnaryExpressionSync(expression: string, context: any): boolean
16
+ export function renderTemplateSync(template: string, context: any): any
13
17
  export function evaluateExpression(expression: string, context?: any | undefined | null): Promise<any>
14
18
  export function evaluateUnaryExpression(expression: string, context: any): Promise<boolean>
19
+ export function renderTemplate(template: string, context: any): Promise<any>
20
+ export interface ZenEngineTrace {
21
+ id: string
22
+ name: string
23
+ input: any
24
+ output: any
25
+ performance?: string
26
+ traceData?: any
27
+ }
28
+ export interface ZenEngineResponse {
29
+ performance: string
30
+ result: any
31
+ trace?: Record<string, ZenEngineTrace>
32
+ }
33
+ export interface ZenEngineHandlerResponse {
34
+ output: any
35
+ traceData?: any
36
+ }
37
+ export interface DecisionNode {
38
+ id: string
39
+ name: string
40
+ kind: string
41
+ config: any
42
+ }
15
43
  export class ZenDecision {
16
44
  constructor()
17
- evaluate(context: any, opts?: ZenEvaluateOptions | undefined | null): Promise<any>
45
+ evaluate(context: any, opts?: ZenEvaluateOptions | undefined | null): Promise<ZenEngineResponse>
18
46
  validate(): void
19
47
  }
20
48
  export class ZenEngine {
21
49
  constructor(options?: ZenEngineOptions | undefined | null)
22
- evaluate(key: string, context: any, opts?: ZenEvaluateOptions | undefined | null): Promise<any>
50
+ evaluate(key: string, context: any, opts?: ZenEvaluateOptions | undefined | null): Promise<ZenEngineResponse>
23
51
  createDecision(content: Buffer): ZenDecision
24
52
  getDecision(key: string): Promise<ZenDecision>
25
53
  }
54
+ export class ZenEngineHandlerRequest {
55
+ input: any
56
+ node: DecisionNode
57
+ constructor()
58
+ getField(path: string): unknown
59
+ getFieldRaw(path: string): unknown
60
+ }
package/index.js CHANGED
@@ -281,9 +281,14 @@ if (!nativeBinding) {
281
281
  throw new Error(`Failed to load native binding`)
282
282
  }
283
283
 
284
- const { ZenDecision, ZenEngine, evaluateExpression, evaluateUnaryExpression } = nativeBinding
284
+ const { ZenDecision, ZenEngine, evaluateExpressionSync, evaluateUnaryExpressionSync, renderTemplateSync, evaluateExpression, evaluateUnaryExpression, renderTemplate, ZenEngineHandlerRequest } = nativeBinding
285
285
 
286
286
  module.exports.ZenDecision = ZenDecision
287
287
  module.exports.ZenEngine = ZenEngine
288
+ module.exports.evaluateExpressionSync = evaluateExpressionSync
289
+ module.exports.evaluateUnaryExpressionSync = evaluateUnaryExpressionSync
290
+ module.exports.renderTemplateSync = renderTemplateSync
288
291
  module.exports.evaluateExpression = evaluateExpression
289
292
  module.exports.evaluateUnaryExpression = evaluateUnaryExpression
293
+ module.exports.renderTemplate = renderTemplate
294
+ module.exports.ZenEngineHandlerRequest = ZenEngineHandlerRequest
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gorules/zen-engine",
3
- "version": "0.15.1",
3
+ "version": "0.17.0",
4
4
  "main": "index.js",
5
5
  "types": "./index.d.ts",
6
6
  "license": "MIT",
@@ -79,12 +79,12 @@
79
79
  "prepublishOnly": "napi prepublish",
80
80
  "version": "napi version"
81
81
  },
82
- "gitHead": "d45335674b79647776bac6d7cbc34f7042b2697d",
82
+ "gitHead": "ea554c34913a13c0e277cb7ef1331ca5a8c1d060",
83
83
  "optionalDependencies": {
84
- "@gorules/zen-engine-darwin-x64": "0.15.1",
85
- "@gorules/zen-engine-linux-x64-gnu": "0.15.1",
86
- "@gorules/zen-engine-win32-x64-msvc": "0.15.1",
87
- "@gorules/zen-engine-linux-arm64-gnu": "0.15.1",
88
- "@gorules/zen-engine-darwin-arm64": "0.15.1"
84
+ "@gorules/zen-engine-darwin-x64": "0.17.0",
85
+ "@gorules/zen-engine-linux-x64-gnu": "0.17.0",
86
+ "@gorules/zen-engine-win32-x64-msvc": "0.17.0",
87
+ "@gorules/zen-engine-linux-arm64-gnu": "0.17.0",
88
+ "@gorules/zen-engine-darwin-arm64": "0.17.0"
89
89
  }
90
90
  }