@saasquatch/program-boilerplate 3.6.0-1 → 3.6.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.
@@ -47,8 +47,8 @@ function meetEdgeTriggerConditions(fields, activeTrigger) {
47
47
  // not take more than a few milliseconds. if it takes longer than 500ms
48
48
  // something is definitely wrong with the query
49
49
  const jsonataTimeoutMs = 500;
50
- const { success: prevSuccess, result: previousValue } = jsonata_1.safeJsonata2(field.replace("user.", "previous."), activeTrigger, jsonataTimeoutMs);
51
- const { success: currentSuccess, result: currentValue } = jsonata_1.safeJsonata2(field, activeTrigger, jsonataTimeoutMs);
50
+ const { success: prevSuccess, result: previousValue } = jsonata_1.timeboxedJsonata(field.replace("user.", "previous."), activeTrigger, jsonataTimeoutMs);
51
+ const { success: currentSuccess, result: currentValue } = jsonata_1.timeboxedJsonata(field, activeTrigger, jsonataTimeoutMs);
52
52
  // one of the JSONata expressions failed to evaluate -- edge field is considered
53
53
  // "not passing"
54
54
  if (!prevSuccess || !currentSuccess) {
package/dist/index.d.ts CHANGED
@@ -6,11 +6,11 @@ import { triggerProgram } from "./trigger";
6
6
  import { getLogger, setLogLevel } from "./logger";
7
7
  import * as types from "./types";
8
8
  import { Program, ProgramRequirement, RequirementValidationResult, ValidationProgramField, ProgramTriggerBody } from "./types/rpc";
9
- import { timeboxExpression, safeJsonata } from "./jsonata";
9
+ import { timeboxExpression, timeboxedJsonata, safeJsonata } from "./jsonata";
10
10
  import { ProgramType } from "./types/saasquatch";
11
11
  import { inferType, getGoalAnalyticTimestamp, setRewardSchedule, numToEquality, getTriggerSchema, getUserCustomFieldsFromJsonata } from "./utils";
12
12
  export { types };
13
- export { Transaction, ProgramTriggerBody, Program, ProgramType, RequirementValidationResult, ProgramRequirement, ValidationProgramField, meetEventTriggerRules, meetCustomFieldRules, meetEdgeTriggerConditions, rewardEmailQuery, setRewardSchedule, getGoalAnalyticTimestamp, triggerProgram, inferType, numToEquality, getTriggerSchema, getUserCustomFieldsFromJsonata, timeboxExpression, safeJsonata, getLogger, setLogLevel, };
13
+ export { Transaction, ProgramTriggerBody, Program, ProgramType, RequirementValidationResult, ProgramRequirement, ValidationProgramField, meetEventTriggerRules, meetCustomFieldRules, meetEdgeTriggerConditions, rewardEmailQuery, setRewardSchedule, getGoalAnalyticTimestamp, triggerProgram, inferType, numToEquality, getTriggerSchema, getUserCustomFieldsFromJsonata, timeboxExpression, timeboxedJsonata, safeJsonata, getLogger, setLogLevel, };
14
14
  /**
15
15
  * Returns an express server that serves the provided handlers
16
16
  * as a program
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.webtask = exports.setLogLevel = exports.getLogger = exports.safeJsonata = exports.timeboxExpression = exports.getUserCustomFieldsFromJsonata = exports.getTriggerSchema = exports.numToEquality = exports.inferType = exports.triggerProgram = exports.getGoalAnalyticTimestamp = exports.setRewardSchedule = exports.rewardEmailQuery = exports.meetEdgeTriggerConditions = exports.meetCustomFieldRules = exports.meetEventTriggerRules = exports.Transaction = exports.types = void 0;
3
+ exports.webtask = exports.setLogLevel = exports.getLogger = exports.safeJsonata = exports.timeboxedJsonata = exports.timeboxExpression = exports.getUserCustomFieldsFromJsonata = exports.getTriggerSchema = exports.numToEquality = exports.inferType = exports.triggerProgram = exports.getGoalAnalyticTimestamp = exports.setRewardSchedule = exports.rewardEmailQuery = exports.meetEdgeTriggerConditions = exports.meetCustomFieldRules = exports.meetEventTriggerRules = exports.Transaction = exports.types = void 0;
4
4
  const express = require("express");
5
5
  const conversion_1 = require("./conversion");
6
6
  Object.defineProperty(exports, "meetCustomFieldRules", { enumerable: true, get: function () { return conversion_1.meetCustomFieldRules; } });
@@ -19,6 +19,7 @@ const types = require("./types");
19
19
  exports.types = types;
20
20
  const jsonata_1 = require("./jsonata");
21
21
  Object.defineProperty(exports, "timeboxExpression", { enumerable: true, get: function () { return jsonata_1.timeboxExpression; } });
22
+ Object.defineProperty(exports, "timeboxedJsonata", { enumerable: true, get: function () { return jsonata_1.timeboxedJsonata; } });
22
23
  Object.defineProperty(exports, "safeJsonata", { enumerable: true, get: function () { return jsonata_1.safeJsonata; } });
23
24
  const utils_1 = require("./utils");
24
25
  Object.defineProperty(exports, "inferType", { enumerable: true, get: function () { return utils_1.inferType; } });
package/dist/jsonata.d.ts CHANGED
@@ -8,8 +8,11 @@ import * as jsonata from "jsonata";
8
8
  * @param {Number} maxDepth - max stack depth
9
9
  */
10
10
  export declare function timeboxExpression(expr: jsonata.Expression, timeout?: number, maxDepth?: number): void;
11
+ /**
12
+ * @deprecated Use timeboxedJsonata instead
13
+ */
11
14
  export declare function safeJsonata(expression: string, inputData: any): any;
12
- export declare function safeJsonata2(expression: string, inputData: any, timeout?: number, maxDepth?: number): {
15
+ export declare function timeboxedJsonata(expression: string, inputData: any, timeout?: number, maxDepth?: number): {
13
16
  success: boolean;
14
17
  result: any;
15
18
  };
package/dist/jsonata.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.safeJsonata2 = exports.safeJsonata = exports.timeboxExpression = void 0;
3
+ exports.timeboxedJsonata = exports.safeJsonata = exports.timeboxExpression = void 0;
4
4
  const jsonata = require("jsonata");
5
5
  const logger_1 = require("./logger");
6
6
  const TIMEOUT = 5000;
@@ -48,6 +48,9 @@ function timeboxExpression(expr, timeout, maxDepth) {
48
48
  });
49
49
  }
50
50
  exports.timeboxExpression = timeboxExpression;
51
+ /**
52
+ * @deprecated Use timeboxedJsonata instead
53
+ */
51
54
  function safeJsonata(expression, inputData) {
52
55
  try {
53
56
  const jsonataQuery = jsonata(expression);
@@ -59,7 +62,7 @@ function safeJsonata(expression, inputData) {
59
62
  }
60
63
  }
61
64
  exports.safeJsonata = safeJsonata;
62
- function safeJsonata2(expression, inputData, timeout, maxDepth) {
65
+ function timeboxedJsonata(expression, inputData, timeout, maxDepth) {
63
66
  try {
64
67
  const jsonataQuery = jsonata(expression);
65
68
  timeboxExpression(jsonataQuery, timeout, maxDepth);
@@ -73,4 +76,4 @@ function safeJsonata2(expression, inputData, timeout, maxDepth) {
73
76
  return { success: false, result: undefined };
74
77
  }
75
78
  }
76
- exports.safeJsonata2 = safeJsonata2;
79
+ exports.timeboxedJsonata = timeboxedJsonata;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saasquatch/program-boilerplate",
3
- "version": "3.6.0-1",
3
+ "version": "3.6.0",
4
4
  "description": "Boilerplate for writing programs",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -32,7 +32,7 @@
32
32
  "typescript": "^3.9.9"
33
33
  },
34
34
  "dependencies": {
35
- "@saasquatch/jsonata-paths-extractor": "^1.0.0-0",
35
+ "@saasquatch/jsonata-paths-extractor": "^1.0.1",
36
36
  "bson-objectid": "^1.3.1",
37
37
  "compression": "^1.7.4",
38
38
  "express": "^4.17.1",