UNPKG

@specifai-net/appsync-template-tester

Version:

Unit test AppSync VTL resolvers, with popular frameworks such as Jest

56 lines 7.18 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.epochMilliSecondsToFormatted = exports.epochMilliSecondsToISO8601 = exports.epochMilliSecondsToSeconds = exports.parseISO8601ToEpochMilliSeconds = exports.parseFormattedToEpochMilliSecond = exports.nowFormatted = exports.nowEpochMilliSeconds = exports.nowEpochSeconds = exports.nowISO8601 = void 0; /* eslint-disable import/prefer-default-export */ const moment_timezone_1 = __importDefault(require("moment-timezone")); /** * Helper function to convert the format string from the vtl format to the moment format */ function vtlToMomentFormat(format) { return format === null || format === void 0 ? void 0 : format.replace("dd", "DD").replace("Z", "ZZ"); } function nowISO8601() { return moment_timezone_1.default.utc().toISOString(); } exports.nowISO8601 = nowISO8601; function nowEpochSeconds() { return (0, moment_timezone_1.default)().unix(); } exports.nowEpochSeconds = nowEpochSeconds; function nowEpochMilliSeconds() { return (0, moment_timezone_1.default)().valueOf(); } exports.nowEpochMilliSeconds = nowEpochMilliSeconds; function nowFormatted(format, timezone = "utc") { const vtlFormatConverted = vtlToMomentFormat(format); return (0, moment_timezone_1.default)().tz(timezone).format(vtlFormatConverted); } exports.nowFormatted = nowFormatted; function parseFormattedToEpochMilliSecond(time, formatFrom, timezone = "utc") { const reverseFormat = vtlToMomentFormat(formatFrom); // AppSync does not parse in strict mode return (0, moment_timezone_1.default)(time, reverseFormat).tz(timezone).valueOf(); } exports.parseFormattedToEpochMilliSecond = parseFormattedToEpochMilliSecond; function parseISO8601ToEpochMilliSeconds(time) { // AppSync does not parse in strict mode return (0, moment_timezone_1.default)(time, "YYYY-MM-DDTHH:mm:ssZ").valueOf(); } exports.parseISO8601ToEpochMilliSeconds = parseISO8601ToEpochMilliSeconds; function epochMilliSecondsToSeconds(time) { return (0, moment_timezone_1.default)(time).unix(); } exports.epochMilliSecondsToSeconds = epochMilliSecondsToSeconds; function epochMilliSecondsToISO8601(time) { return (0, moment_timezone_1.default)(time).utc().format("YYYY-MM-DDTHH:mm:ss.SSS[Z]"); } exports.epochMilliSecondsToISO8601 = epochMilliSecondsToISO8601; function epochMilliSecondsToFormatted(time, format, timezone = "utc") { const vtlFormatConverted = vtlToMomentFormat(format); return (0, moment_timezone_1.default)(time).tz(timezone).format(vtlFormatConverted); } exports.epochMilliSecondsToFormatted = epochMilliSecondsToFormatted; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC10aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3V0aWwtdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpREFBaUQ7QUFDakQsc0VBQXFDO0FBRXJDOztHQUVHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxNQUFlO0lBQ3hDLE9BQU8sTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVELFNBQWdCLFVBQVU7SUFDeEIsT0FBTyx5QkFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ3BDLENBQUM7QUFGRCxnQ0FFQztBQUVELFNBQWdCLGVBQWU7SUFDN0IsT0FBTyxJQUFBLHlCQUFNLEdBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN6QixDQUFDO0FBRkQsMENBRUM7QUFFRCxTQUFnQixvQkFBb0I7SUFDbEMsT0FBTyxJQUFBLHlCQUFNLEdBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRkQsb0RBRUM7QUFFRCxTQUFnQixZQUFZLENBQUMsTUFBYyxFQUFFLFdBQW1CLEtBQUs7SUFDbkUsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxPQUFPLElBQUEseUJBQU0sR0FBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBSEQsb0NBR0M7QUFFRCxTQUFnQixnQ0FBZ0MsQ0FDOUMsSUFBWSxFQUNaLFVBQWtCLEVBQ2xCLFdBQW1CLEtBQUs7SUFFeEIsTUFBTSxhQUFhLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEQsd0NBQXdDO0lBQ3hDLE9BQU8sSUFBQSx5QkFBTSxFQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDNUQsQ0FBQztBQVJELDRFQVFDO0FBRUQsU0FBZ0IsK0JBQStCLENBQUMsSUFBWTtJQUMxRCx3Q0FBd0M7SUFDeEMsT0FBTyxJQUFBLHlCQUFNLEVBQUMsSUFBSSxFQUFFLHNCQUFzQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDeEQsQ0FBQztBQUhELDBFQUdDO0FBRUQsU0FBZ0IsMEJBQTBCLENBQUMsSUFBWTtJQUNyRCxPQUFPLElBQUEseUJBQU0sRUFBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUM3QixDQUFDO0FBRkQsZ0VBRUM7QUFFRCxTQUFnQiwwQkFBMEIsQ0FBQyxJQUFZO0lBQ3JELE9BQU8sSUFBQSx5QkFBTSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFGRCxnRUFFQztBQUVELFNBQWdCLDRCQUE0QixDQUMxQyxJQUFZLEVBQ1osTUFBZSxFQUNmLFdBQW1CLEtBQUs7SUFFeEIsTUFBTSxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxPQUFPLElBQUEseUJBQU0sRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDOUQsQ0FBQztBQVBELG9FQU9DIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L3ByZWZlci1kZWZhdWx0LWV4cG9ydCAqL1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50LXRpbWV6b25lXCI7XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQgdGhlIGZvcm1hdCBzdHJpbmcgZnJvbSB0aGUgdnRsIGZvcm1hdCB0byB0aGUgbW9tZW50IGZvcm1hdFxuICovXG5mdW5jdGlvbiB2dGxUb01vbWVudEZvcm1hdChmb3JtYXQ/OiBzdHJpbmcpIHtcbiAgcmV0dXJuIGZvcm1hdD8ucmVwbGFjZShcImRkXCIsIFwiRERcIikucmVwbGFjZShcIlpcIiwgXCJaWlwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vd0lTTzg2MDEoKSB7XG4gIHJldHVybiBtb21lbnQudXRjKCkudG9JU09TdHJpbmcoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vd0Vwb2NoU2Vjb25kcygpIHtcbiAgcmV0dXJuIG1vbWVudCgpLnVuaXgoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vd0Vwb2NoTWlsbGlTZWNvbmRzKCkge1xuICByZXR1cm4gbW9tZW50KCkudmFsdWVPZigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm93Rm9ybWF0dGVkKGZvcm1hdDogc3RyaW5nLCB0aW1lem9uZTogc3RyaW5nID0gXCJ1dGNcIikge1xuICBjb25zdCB2dGxGb3JtYXRDb252ZXJ0ZWQgPSB2dGxUb01vbWVudEZvcm1hdChmb3JtYXQpO1xuICByZXR1cm4gbW9tZW50KCkudHoodGltZXpvbmUpLmZvcm1hdCh2dGxGb3JtYXRDb252ZXJ0ZWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VGb3JtYXR0ZWRUb0Vwb2NoTWlsbGlTZWNvbmQoXG4gIHRpbWU6IHN0cmluZyxcbiAgZm9ybWF0RnJvbTogc3RyaW5nLFxuICB0aW1lem9uZTogc3RyaW5nID0gXCJ1dGNcIlxuKSB7XG4gIGNvbnN0IHJldmVyc2VGb3JtYXQgPSB2dGxUb01vbWVudEZvcm1hdChmb3JtYXRGcm9tKTtcbiAgLy8gQXBwU3luYyBkb2VzIG5vdCBwYXJzZSBpbiBzdHJpY3QgbW9kZVxuICByZXR1cm4gbW9tZW50KHRpbWUsIHJldmVyc2VGb3JtYXQpLnR6KHRpbWV6b25lKS52YWx1ZU9mKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUlTTzg2MDFUb0Vwb2NoTWlsbGlTZWNvbmRzKHRpbWU6IHN0cmluZykge1xuICAvLyBBcHBTeW5jIGRvZXMgbm90IHBhcnNlIGluIHN0cmljdCBtb2RlXG4gIHJldHVybiBtb21lbnQodGltZSwgXCJZWVlZLU1NLUREVEhIOm1tOnNzWlwiKS52YWx1ZU9mKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlcG9jaE1pbGxpU2Vjb25kc1RvU2Vjb25kcyh0aW1lOiBudW1iZXIpIHtcbiAgcmV0dXJuIG1vbWVudCh0aW1lKS51bml4KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlcG9jaE1pbGxpU2Vjb25kc1RvSVNPODYwMSh0aW1lOiBudW1iZXIpIHtcbiAgcmV0dXJuIG1vbWVudCh0aW1lKS51dGMoKS5mb3JtYXQoXCJZWVlZLU1NLUREVEhIOm1tOnNzLlNTU1taXVwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVwb2NoTWlsbGlTZWNvbmRzVG9Gb3JtYXR0ZWQoXG4gIHRpbWU6IG51bWJlcixcbiAgZm9ybWF0Pzogc3RyaW5nLFxuICB0aW1lem9uZTogc3RyaW5nID0gXCJ1dGNcIlxuKSB7XG4gIGNvbnN0IHZ0bEZvcm1hdENvbnZlcnRlZCA9IHZ0bFRvTW9tZW50Rm9ybWF0KGZvcm1hdCk7XG4gIHJldHVybiBtb21lbnQodGltZSkudHoodGltZXpvbmUpLmZvcm1hdCh2dGxGb3JtYXRDb252ZXJ0ZWQpO1xufVxuIl19