@saasquatch/program-boilerplate 3.6.1 → 3.6.2-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.
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -1
- package/dist/utils.d.ts +2 -0
- package/dist/utils.js +19 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -8,9 +8,9 @@ import * as types from "./types";
|
|
|
8
8
|
import { Program, ProgramRequirement, RequirementValidationResult, ValidationProgramField, ProgramTriggerBody } from "./types/rpc";
|
|
9
9
|
import { timeboxExpression, timeboxedJsonata, safeJsonata } from "./jsonata";
|
|
10
10
|
import { ProgramType } from "./types/saasquatch";
|
|
11
|
-
import { inferType, getGoalAnalyticTimestamp, setRewardSchedule, numToEquality, getTriggerSchema, getUserCustomFieldsFromJsonata } from "./utils";
|
|
11
|
+
import { inferType, getGoalAnalyticTimestamp, setRewardSchedule, numToEquality, getTriggerSchema, getUserCustomFieldsFromJsonata, getRewardUnitsFromJsonata } 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, timeboxedJsonata, safeJsonata, getLogger, setLogLevel, };
|
|
13
|
+
export { Transaction, ProgramTriggerBody, Program, ProgramType, RequirementValidationResult, ProgramRequirement, ValidationProgramField, meetEventTriggerRules, meetCustomFieldRules, meetEdgeTriggerConditions, rewardEmailQuery, setRewardSchedule, getGoalAnalyticTimestamp, triggerProgram, inferType, numToEquality, getTriggerSchema, getUserCustomFieldsFromJsonata, getRewardUnitsFromJsonata, 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
|
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
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;
|
|
25
|
+
exports.webtask = exports.setLogLevel = exports.getLogger = exports.safeJsonata = exports.timeboxedJsonata = exports.timeboxExpression = exports.getRewardUnitsFromJsonata = 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;
|
|
26
26
|
const express_1 = __importDefault(require("express"));
|
|
27
27
|
const conversion_1 = require("./conversion");
|
|
28
28
|
Object.defineProperty(exports, "meetCustomFieldRules", { enumerable: true, get: function () { return conversion_1.meetCustomFieldRules; } });
|
|
@@ -51,6 +51,7 @@ Object.defineProperty(exports, "setRewardSchedule", { enumerable: true, get: fun
|
|
|
51
51
|
Object.defineProperty(exports, "numToEquality", { enumerable: true, get: function () { return utils_1.numToEquality; } });
|
|
52
52
|
Object.defineProperty(exports, "getTriggerSchema", { enumerable: true, get: function () { return utils_1.getTriggerSchema; } });
|
|
53
53
|
Object.defineProperty(exports, "getUserCustomFieldsFromJsonata", { enumerable: true, get: function () { return utils_1.getUserCustomFieldsFromJsonata; } });
|
|
54
|
+
Object.defineProperty(exports, "getRewardUnitsFromJsonata", { enumerable: true, get: function () { return utils_1.getRewardUnitsFromJsonata; } });
|
|
54
55
|
const logger_3 = require("@saasquatch/logger");
|
|
55
56
|
/**
|
|
56
57
|
* Returns an express server that serves the provided handlers
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ProgramTriggerBody } from "./types/rpc";
|
|
2
|
+
import jsonata from "jsonata";
|
|
2
3
|
/**
|
|
3
4
|
* Append a reward schedule to the template and return the new template
|
|
4
5
|
*
|
|
@@ -74,3 +75,4 @@ export declare function getTriggerSchema(body: ProgramTriggerBody): object[];
|
|
|
74
75
|
* @returns string[] a deduplicated list of user custom fields found in the input expression(s)
|
|
75
76
|
*/
|
|
76
77
|
export declare function getUserCustomFieldsFromJsonata(jsonataExpressions: string | string[]): string[];
|
|
78
|
+
export declare function getRewardUnitsFromJsonata(expr: jsonata.ExprNode | undefined): string[] | undefined;
|
package/dist/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getUserCustomFieldsFromJsonata = exports.getTriggerSchema = exports.numToEquality = exports.inferType = exports.getGoalAnalyticTimestamp = exports.setRewardSchedule = void 0;
|
|
6
|
+
exports.getRewardUnitsFromJsonata = exports.getUserCustomFieldsFromJsonata = exports.getTriggerSchema = exports.numToEquality = exports.inferType = exports.getGoalAnalyticTimestamp = exports.setRewardSchedule = void 0;
|
|
7
7
|
const queries_1 = require("./queries");
|
|
8
8
|
const jsonata_paths_extractor_1 = __importDefault(require("@saasquatch/jsonata-paths-extractor"));
|
|
9
9
|
/**
|
|
@@ -226,3 +226,21 @@ function getUserCustomFieldsFromJsonata(jsonataExpressions) {
|
|
|
226
226
|
return Array.from(new Set(userCustomFields));
|
|
227
227
|
}
|
|
228
228
|
exports.getUserCustomFieldsFromJsonata = getUserCustomFieldsFromJsonata;
|
|
229
|
+
function getRewardUnitsFromJsonata(expr) {
|
|
230
|
+
if (expr === undefined) {
|
|
231
|
+
return undefined;
|
|
232
|
+
}
|
|
233
|
+
if (expr.type === "string" && typeof expr.value === "string") {
|
|
234
|
+
return [expr.value];
|
|
235
|
+
}
|
|
236
|
+
if (expr.type === "condition") {
|
|
237
|
+
// @ts-ignore: expr.then isn't present in the AST typedef for some reason
|
|
238
|
+
const lhs = extractJsonataRewardUnits(expr.then);
|
|
239
|
+
// @ts-ignore: expr.else isn't present in the AST typedef for some reason
|
|
240
|
+
const rhs = extractJsonataRewardUnits(expr.else);
|
|
241
|
+
if (lhs !== undefined || rhs !== undefined) {
|
|
242
|
+
return [...(lhs !== null && lhs !== void 0 ? lhs : []), ...(rhs !== null && rhs !== void 0 ? rhs : [])];
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
exports.getRewardUnitsFromJsonata = getRewardUnitsFromJsonata;
|