UNPKG

@specifai-net/appsync-template-tester

Version:

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

43 lines 3.85 kB
"use strict"; /* eslint-disable import/prefer-default-export */ /** * Map helpers in $util.map * * $util.map contains methods to help with common * Map operations, such as removing or retaining * items from a Map for filtering use cases. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.copyAndRemoveAllKeys = exports.copyAndRetainAllKeys = void 0; /** * Makes a shallow copy of the first map, retaining only the * keys specified in the list, if they are present. All other * keys will be removed from the copy. * @param map * @param list */ function copyAndRetainAllKeys(map, list) { return Object.entries(map).reduce((result, [key, value]) => { if (list.indexOf(key) === -1) return result; return { ...result, [key]: value, }; }, {}); } exports.copyAndRetainAllKeys = copyAndRetainAllKeys; /** * Makes a shallow copy of the first map, removing any entries * where the key is specified in the list, if they are present. * All other keys will be retained in the copy. * @param map * @param list */ function copyAndRemoveAllKeys(map, list) { const result = { ...map }; list.forEach((key) => delete result[key]); return result; } exports.copyAndRemoveAllKeys = copyAndRemoveAllKeys; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbC1tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlEQUFpRDtBQUNqRDs7Ozs7O0dBTUc7OztBQUVIOzs7Ozs7R0FNRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLEdBQVcsRUFBRSxJQUFtQjtJQUNuRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDekQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQzVDLE9BQU87WUFDTCxHQUFHLE1BQU07WUFDVCxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7U0FDYixDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQVJELG9EQVFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsR0FBVyxFQUFFLElBQW1CO0lBQ25FLE1BQU0sTUFBTSxHQUFRLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFKRCxvREFJQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9wcmVmZXItZGVmYXVsdC1leHBvcnQgKi9cbi8qKlxuICogTWFwIGhlbHBlcnMgaW4gJHV0aWwubWFwXG4gKlxuICogJHV0aWwubWFwIGNvbnRhaW5zIG1ldGhvZHMgdG8gaGVscCB3aXRoIGNvbW1vblxuICogTWFwIG9wZXJhdGlvbnMsIHN1Y2ggYXMgcmVtb3Zpbmcgb3IgcmV0YWluaW5nXG4gKiBpdGVtcyBmcm9tIGEgTWFwIGZvciBmaWx0ZXJpbmcgdXNlIGNhc2VzLlxuICovXG5cbi8qKlxuICogTWFrZXMgYSBzaGFsbG93IGNvcHkgb2YgdGhlIGZpcnN0IG1hcCwgcmV0YWluaW5nIG9ubHkgdGhlXG4gKiBrZXlzIHNwZWNpZmllZCBpbiB0aGUgbGlzdCwgaWYgdGhleSBhcmUgcHJlc2VudC4gQWxsIG90aGVyXG4gKiBrZXlzIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBjb3B5LlxuICogQHBhcmFtIG1hcFxuICogQHBhcmFtIGxpc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvcHlBbmRSZXRhaW5BbGxLZXlzKG1hcDogb2JqZWN0LCBsaXN0OiBBcnJheTxzdHJpbmc+KTogb2JqZWN0IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG1hcCkucmVkdWNlKChyZXN1bHQsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmIChsaXN0LmluZGV4T2Yoa2V5KSA9PT0gLTEpIHJldHVybiByZXN1bHQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc3VsdCxcbiAgICAgIFtrZXldOiB2YWx1ZSxcbiAgICB9O1xuICB9LCB7fSk7XG59XG5cbi8qKlxuICogTWFrZXMgYSBzaGFsbG93IGNvcHkgb2YgdGhlIGZpcnN0IG1hcCwgcmVtb3ZpbmcgYW55IGVudHJpZXNcbiAqIHdoZXJlIHRoZSBrZXkgaXMgc3BlY2lmaWVkIGluIHRoZSBsaXN0LCBpZiB0aGV5IGFyZSBwcmVzZW50LlxuICogQWxsIG90aGVyIGtleXMgd2lsbCBiZSByZXRhaW5lZCBpbiB0aGUgY29weS5cbiAqIEBwYXJhbSBtYXBcbiAqIEBwYXJhbSBsaXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3B5QW5kUmVtb3ZlQWxsS2V5cyhtYXA6IG9iamVjdCwgbGlzdDogQXJyYXk8c3RyaW5nPik6IG9iamVjdCB7XG4gIGNvbnN0IHJlc3VsdDogYW55ID0geyAuLi5tYXAgfTtcbiAgbGlzdC5mb3JFYWNoKChrZXkpID0+IGRlbGV0ZSByZXN1bHRba2V5XSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=