@scloud/lambda-api 1.1.8 → 1.2.2
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/README.md +1 -0
- package/dist/handler.js +1 -1
- package/dist/helpers.js +1 -1
- package/dist/index.js +1 -1
- package/dist/types.js +1 -1
- package/package.json +17 -4
package/README.md
CHANGED
|
@@ -6,6 +6,7 @@ This is a piece of useful boilerplate to handle the mechanics of routing, header
|
|
|
6
6
|
|
|
7
7
|
## Releae notes
|
|
8
8
|
|
|
9
|
+
* '1.2.0': Restructure so we consumers don't need to include '/dist' in the import path
|
|
9
10
|
* `1.1.8`: Trusted publishing enabled
|
|
10
11
|
* `1.1.7`: Enable sending headers in ApiError
|
|
11
12
|
* `1.1.4`: Simplify error console logging
|
package/dist/handler.js
CHANGED
|
@@ -109,4 +109,4 @@ async function apiHandler(event, context, routes, errorHandler = undefined, catc
|
|
|
109
109
|
}
|
|
110
110
|
return result;
|
|
111
111
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBaUNBLGdDQXlGQztBQXJIRCxtQ0FHaUI7QUFDakIsdUNBQXdGO0FBQ3hGLGdEQUF1QjtBQUV2QixTQUFTLGdCQUFnQixDQUFDLENBQVc7SUFDbkMsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQyxZQUFZLGdCQUFRLEVBQUUsQ0FBQztRQUMxQixPQUFPO1lBQ0wsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO1lBQ2xCLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtZQUN4QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFJLENBQUM7UUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLE9BQU87UUFDTCxVQUFVLEVBQUUsR0FBRztRQUNmLElBQUksRUFBRSx1QkFBdUI7S0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNJLEtBQUssVUFBVSxVQUFVLENBQzlCLEtBQTJCLEVBQzNCLE9BQWdCLEVBQ2hCLE1BQWMsRUFDZCxlQUE0RixTQUFTLEVBQ3JHLFdBQWdDLFNBQVM7SUFFekMsTUFBTSxPQUFPLEdBQUcsSUFBQSxzQkFBWSxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXBDLElBQUksUUFBOEIsQ0FBQztJQUNuQyxJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFVLEVBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLEtBQUssQ0FBQyxNQUFNO1lBQUUsT0FBTyxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBRXhELElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FB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RSxPQUFPLENBQUMsQ0FBQztRQUMxRixJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztJQUN2QixDQUFDO1NBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsZ0NBQWdDO1FBQ2hDLGtEQUFrRDtRQUNsRCxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixNQUFNLE1BQU0sR0FBMEI7UUFDcEMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVLElBQUksR0FBRztRQUN0QyxPQUFPO1FBQ1AsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO0tBQ2pCLENBQUM7SUFFRixxQkFBcUI7SUFDckIsTUFBTSxhQUFhLEdBQUcsSUFBQSxxQkFBVyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsTUFBTSxDQUFDLGlCQUFpQixHQUFHO1lBQ3pCLFlBQVksRUFBRSxhQUFhO1NBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFQSUdhdGV3YXlQcm94eUV2ZW50LFxuICBBUElHYXRld2F5UHJveHlSZXN1bHQsXG4gIENvbnRleHQsXG59IGZyb20gJ2F3cy1sYW1iZGEnO1xuaW1wb3J0IHtcbiAgUmVxdWVzdCwgUmVzcG9uc2UsIEhhbmRsZXIsIFJvdXRlLCBSb3V0ZXMsXG4gIEFwaUVycm9yLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGJ1aWxkQ29va2llLCBnZXRIZWFkZXIsIG1hdGNoUm91dGUsIHBhcnNlUmVxdWVzdCwgc2V0SGVhZGVyIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB6IGZyb20gJ3pvZC92NCc7XG5cbmZ1bmN0aW9uIGFwaUVycm9yUmVzcG9uc2UoZT86IHVua25vd24pOiBSZXNwb25zZSB7XG4gIC8vIEludGVudGlvbmFsIEFQSSBlcnJvciByZXNwb25zZVxuICBpZiAoZSBpbnN0YW5jZW9mIEFwaUVycm9yKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlYWRlcnM6IGUuaGVhZGVycyxcbiAgICAgIHN0YXR1c0NvZGU6IGUuc3RhdHVzQ29kZSxcbiAgICAgIGJvZHk6IGUuYm9keSxcbiAgICB9O1xuICB9XG5cbiAgLy8gVW5oYW5kbGVkIGVycm9yXG4gIGlmIChlKSBjb25zb2xlLmVycm9yKGUpO1xuICByZXR1cm4ge1xuICAgIHN0YXR1c0NvZGU6IDUwMCxcbiAgICBib2R5OiAnSW50ZXJuYWwgc2VydmVyIGVycm9yJyxcbiAgfTtcbn1cblxuLyoqXG4gKiBBUEkgcm91dGUgaGFuZGxlclxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBpSGFuZGxlcihcbiAgZXZlbnQ6IEFQSUdhdGV3YXlQcm94eUV2ZW50LFxuICBjb250ZXh0OiBDb250ZXh0LFxuICByb3V0ZXM6IFJvdXRlcyxcbiAgZXJyb3JIYW5kbGVyOiAoKHJlcXVlc3Q6IFJlcXVlc3QsIGU6IEVycm9yKSA9PiBQcm9taXNlPFJlc3BvbnNlIHwgdW5kZWZpbmVkPikgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gIGNhdGNoQWxsOiBIYW5kbGVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuKTogUHJvbWlzZTxBUElHYXRld2F5UHJveHlSZXN1bHQ+IHtcbiAgY29uc3QgcmVxdWVzdCA9IHBhcnNlUmVxdWVzdChldmVudCk7XG5cbiAgbGV0IHJlc3BvbnNlOiBSZXNwb25zZSB8IHVuZGVmaW5lZDtcbiAgdHJ5IHtcbiAgICBjb25zdCBtYXRjaCA9IG1hdGNoUm91dGUocm91dGVzLCByZXF1ZXN0LnBhdGgpO1xuICAgIGlmIChtYXRjaC5wYXJhbXMpIHJlcXVlc3QucGF0aFBhcmFtZXRlcnMgPSBtYXRjaC5wYXJhbXM7XG5cbiAgICBpZiAobWF0Y2gubWV0aG9kcykge1xuICAgICAgY29uc3Qgcm91dGUgPSBtYXRjaC5tZXRob2RzW3JlcXVlc3QubWV0aG9kIGFzIGtleW9mIFJvdXRlXTtcbiAgICAgIGlmICghcm91dGUpIHRocm93IG5ldyBBcGlFcnJvcig0MDUsICdNZXRob2Qgbm90IGFsbG93ZWQnKTtcblxuICAgICAgLy8gVmVyaWZ5IHJlcXVlc3QgYm9keVxuICAgICAgaWYgKHJvdXRlLnJlcXVlc3Q/LmJvZHkpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gcm91dGUucmVxdWVzdC5ib2R5LnNhZmVQYXJzZShyZXF1ZXN0LmJvZHkpO1xuICAgICAgICBpZiAoIXBhcnNlZC5zdWNjZXNzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEFwaUVycm9yKDQwMCwgei50cmVlaWZ5RXJyb3IocGFyc2VkLmVycm9yKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmVxdWVzdC5ib2R5ID0gcGFyc2VkLmRhdGE7XG4gICAgICB9XG5cbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgcm91dGUuaGFuZGxlcihyZXF1ZXN0KTtcblxuICAgICAgLy8gVmVyaWZ5IHJlc3BvbnNlIGJvZHlcbiAgICAgIGlmIChyb3V0ZS5yZXNwb25zZT8uYm9keSkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSByb3V0ZS5yZXNwb25zZS5ib2R5LnNhZmVQYXJzZShyZXNwb25zZS5ib2R5KTtcbiAgICAgICAgaWYgKCFwYXJzZWQuc3VjY2Vzcykge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgcmVzcG9uc2UgYm9keTonLCByZXF1ZXN0Lm1ldGhvZCwgcmVxdWVzdC5wYXRoLCBKU09OLnN0cmluZ2lmeSh6LnRyZWVpZnlFcnJvcihwYXJzZWQuZXJyb3IpLCBudWxsLCAyKSk7XG4gICAgICAgICAgcmVzcG9uc2UgPSB1bmRlZmluZWQ7IC8vIFJlbW92ZSB0aGUgcmVzcG9uc2Ugc28gaXQgY2FuIGJlIHJlcGxhY2VkIGJ5IHRoZSBlcnJvciBoYW5kbGVyXG4gICAgICAgICAgdGhyb3cgbmV3IEFwaUVycm9yKDUwMCwgJ0ludGVybmFsIHNlcnZlciBlcnJvcicpO1xuICAgICAgICB9XG4gICAgICAgIHJlc3BvbnNlLmJvZHkgPSBwYXJzZWQuZGF0YTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGNhdGNoQWxsKSB7XG4gICAgICAvLyBDYXRjaC1hbGwgLyA0MDRcbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgY2F0Y2hBbGwuaGFuZGxlcihyZXF1ZXN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEFwaUVycm9yKDQwNCwgJ05vdCBmb3VuZCcpO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChlcnJvckhhbmRsZXIpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIGVycm9ySGFuZGxlciBjYW4gb3B0aW9uYWxseSByZXR1cm4gdW5kZWZpbmVkIHRvIHJlcXVlc3Qgc3RhbmRhcmQgZXJyb3IgaGFuZGxpbmc6XG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgZXJyb3JIYW5kbGVyKHJlcXVlc3QsIGUgYXMgRXJyb3IpO1xuICAgICAgfSBjYXRjaCAoZWUpIHtcbiAgICAgICAgcmVzcG9uc2UgPSBhcGlFcnJvclJlc3BvbnNlKGVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdGFuZGFyZCBlcnJvciBoYW5kbGluZ1xuICAgIHJlc3BvbnNlID0gcmVzcG9uc2UgPz8gYXBpRXJyb3JSZXNwb25zZShlKTtcbiAgfVxuXG4gIC8vIFRyYW5zbGF0ZSB0aGUgcmVzcG9uc2UgdG8gYW4gQVBJIEdhdGV3YXkgUHJveHkgcmVzdWx0XG4gIGxldCBib2R5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGhlYWRlcnMgPSByZXNwb25zZS5oZWFkZXJzIHx8IHt9O1xuICBpZiAodHlwZW9mIHJlc3BvbnNlLmJvZHkgPT09ICdzdHJpbmcnKSB7XG4gICAgLy8gVXNlIHRoZSBib2R5IGFzLWlzXG4gICAgLy8gQWRkIHRleHQvcGxhaW4gaWYgbm8gQ29udGVudC1UeXBlIGhlYWRlciBpcyBzZXQ6XG4gICAgaWYgKCFnZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScsIGhlYWRlcnMpKSBzZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICd0ZXh0L3BsYWluJywgaGVhZGVycyk7XG4gICAgYm9keSA9IHJlc3BvbnNlLmJvZHk7XG4gIH0gZWxzZSBpZiAocmVzcG9uc2UuYm9keSkge1xuICAgIC8vIFN0cmluZ2lmeSB0aGUgcmVzcG9uc2Ugb2JqZWN0XG4gICAgLy8gQVBJIEdhdGV3YXkgcmV0dXJucyBhcHBsaWNhdGlvbi9qc29uIGJ5IGRlZmF1bHRcbiAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UuYm9keSk7XG4gIH1cblxuICAvLyBQcmVwYXJlIHJlc3BvbnNlXG4gIGNvbnN0IHJlc3VsdDogQVBJR2F0ZXdheVByb3h5UmVzdWx0ID0ge1xuICAgIHN0YXR1c0NvZGU6IHJlc3BvbnNlLnN0YXR1c0NvZGUgPz8gMjAwLFxuICAgIGhlYWRlcnMsXG4gICAgYm9keTogYm9keSB8fCAnJyxcbiAgfTtcblxuICAvLyBBZGQgY29va2llIGhlYWRlcnNcbiAgY29uc3QgY29va2llSGVhZGVycyA9IGJ1aWxkQ29va2llKHJlc3BvbnNlKTtcbiAgaWYgKGNvb2tpZUhlYWRlcnMpIHtcbiAgICByZXN1bHQubXVsdGlWYWx1ZUhlYWRlcnMgPSB7XG4gICAgICAnU2V0LUNvb2tpZSc6IGNvb2tpZUhlYWRlcnMsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
|
package/dist/helpers.js
CHANGED
|
@@ -226,4 +226,4 @@ function matchRoute(routes, path) {
|
|
|
226
226
|
}
|
|
227
227
|
return { methods: undefined };
|
|
228
228
|
}
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsb0NBS0M7QUFNRCwwREFRQztBQU1ELDBDQU1DO0FBT0QsOEJBa0JDO0FBTUQsa0NBVUM7QUFFRCxrQ0FpQ0M7QUFLRCw4QkFZQztBQUtELDhCQVVDO0FBRUQsb0NBV0M7QUFFRCxnQ0F5Q0M7QUExTUQsK0NBQWlDO0FBR2pDOzs7R0FHRztBQUNILFNBQWdCLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLDhDQUE4QztJQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsY0FBYztJQUNkLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLHVCQUF1QixDQUFDLEtBQXFEO0lBQzNGLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDdEIsTUFBTSxNQUFNLEdBQWdDLEVBQUUsQ0FBQztJQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixJQUFJLEtBQUs7WUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxPQUFnRDtJQUM5RSxNQUFNLE1BQU0sR0FB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QUFJLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDO1lBQzdCLENBQUM7aUJBQU0sSUFBSSxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssZ0JBQWdCLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztnQkFDeEUsTUFBTTtZQUNSLENBQUM7WUFFRCxJQUFJLENBQUMsS0FBSyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNsQyx1QkFBdUI7Z0JBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2hELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQSUdhdGV3YXlQcm94eUV2ZW50IH0gZnJvbSAnYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBjb29raWUgZnJvbSAnY29va2llJztcbmltcG9ydCB7IFJlcXVlc3QsIFJlc3BvbnNlLCBSb3V0ZSwgUm91dGVzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogRW5zdXJlcyB0aGUgcGF0aCBhbHdheXMgaGFzIGEgbGVhZGluZyBzbGFzaCBhbmQgbmV2ZXIgYSB0cmFpbGluZyBzbGFzaFxuICogQHBhcmFtIHBhdGggQVBJR2F0ZXdheVByb3h5RXZlbnQucGF0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RhbmRhcmRQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIEdldCBwYXRoIHNlZ21lbnRzLCBmaWx0ZXJpbmcgb3V0IGFueSBibGFua3NcbiAgY29uc3Qgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJykuZmlsdGVyKChzZWdtZW50KSA9PiBzZWdtZW50KTtcbiAgLy8gUmV0dXJuIHBhdGhcbiAgcmV0dXJuIGAvJHtzZWdtZW50cy5qb2luKCcvJyl9YDtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIGEgbm9uLW51bGwgb2JqZWN0IGNvbnRhaW5pbmcgb25seSBxdWVyeS1zdHJpbmcgcGFyYW1ldGVycyB0aGF0IGhhdmUgYSB2YWx1ZS5cbiAqIEBwYXJhbSBxdWVyeSBBUElHYXRld2F5UHJveHlFdmVudC5xdWVyeVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RhbmRhcmRRdWVyeVBhcmFtZXRlcnMocXVlcnk6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDsgfSB8IG51bGwpOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH0ge1xuICBpZiAoIXF1ZXJ5KSByZXR1cm4ge307XG4gIGNvbnN0IHJlc3VsdDogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nOyB9ID0ge307XG4gIE9iamVjdC5rZXlzKHF1ZXJ5KS5mb3JFYWNoKChwYXJhbWV0ZXIpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHF1ZXJ5W3BhcmFtZXRlcl07XG4gICAgaWYgKHZhbHVlKSByZXN1bHRbcGFyYW1ldGVyXSA9IHZhbHVlO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIGFsbCBoZWFkZXJzIGhhdmUgYSB2YWx1ZS5cbiAqIEBwYXJhbSBoZWFkZXJzIEFQSUdhdGV3YXlQcm94eUV2ZW50LmhlYWRlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0YW5kYXJkSGVhZGVycyhoZWFkZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQ7IH0pOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH0ge1xuICBjb25zdCByZXN1bHQ6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZzsgfSA9IHt9O1xuICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoaGVhZGVycyB8fCB7fSkpIHtcbiAgICByZXN1bHRbbmFtZV0gPSB2YWx1ZSA/PyAnJztcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIFBhcnNlcyB0aGUgYm9keSAoaWYgcHJlc2VudCkgZnJvbSBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQgb3IgSlNPTiBzdHJpbmcuXG4gKiBJZiB0aGUgYm9keSBmYWlscyB0byBwYXJzZSBhcyBKU09uLCB0aGUgcmF3IGJvZHkgaXMgcmV0dXJuZWQuXG4gKiBAcGFyYW0gYm9keSBBUElHYXRld2F5UHJveHlFdmVudC5ib2R5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJvZHkoYm9keTogc3RyaW5nIHwgbnVsbCwgaXNCYXNlNjRFbmNvZGVkOiBib29sZWFuLCBjb250ZW50VHlwZTogc3RyaW5nID0gJ2FwcGxpY2F0aW9uL2pzb24nKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBzdHJpbmcge1xuICBpZiAoIWJvZHkpIHJldHVybiB7fTtcblxuICBjb25zdCBjb250ZW50ID0gaXNCYXNlNjRFbmNvZGVkID8gQnVmZmVyLmZyb20oYm9keSwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGY4JykgOiBib2R5O1xuXG4gIHRyeSB7XG4gICAgaWYgKChjb250ZW50VHlwZSB8fCAnJykudG9Mb3dlckNhc2UoKSA9PT0gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpIHtcbiAgICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMobmV3IFVSTFNlYXJjaFBhcmFtcyhjb250ZW50KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIERlZmF1bHQgdG8gcGFyc2luZyBhcyBKU09OOlxuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoY29udGVudCk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5lcnJvcihgRXJyb3IgcGFyc2luZyByZXF1ZXN0IGJvZHk6ICR7ZX1gKTtcbiAgfVxuXG4gIC8vIEZhbGxiYWNrIHRvIHJldHVybmluZyB0aGUgcmF3IGJvZHlcbiAgcmV0dXJuIGNvbnRlbnQ7XG59XG5cbi8qKlxuICogUGFyc2VzIHRoZSBjb29raWUsIGlmIGFueSwgcmV0dXJuaW5nIGF0IG1pbmltdW0gYW4gZW1wdHkgb2JqZWN0LlxuICogQHBhcmFtIGhlYWRlcnMgQVBJR2F0ZXdheVByb3h5RXZlbnQuaGVhZGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb29raWUoaGVhZGVyczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkOyB9KTogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nOyB9IHtcbiAgY29uc3QgaGVhZGVyID0gZ2V0SGVhZGVyKCdDb29raWUnLCBoZWFkZXJzKTtcbiAgY29uc3QgdmFsdWVzID0gaGVhZGVyID8gY29va2llLnBhcnNlKGhlYWRlcikgOiB7fTtcblxuICAvLyBFbnN1cmUgd2UgZG9uJ3QgcmV0dXJuIGFueSB1bmRlZmluZWQgdmFsdWVzXG4gIGNvbnN0IHJlc3VsdDogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nOyB9ID0ge307XG4gIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZXMpKSB7XG4gICAgaWYgKHZhbHVlKSByZXN1bHRbbmFtZV0gPSB2YWx1ZTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDb29raWUoXG4gIHJlc3BvbnNlOiBSZXNwb25zZSxcbiAgbWF4QWdlOiBudW1iZXIgfCB1bmRlZmluZWQgPSA2MCAqIDYwICogMjQgKiAzNjUsXG4gIGV4cGlyZXM6IERhdGUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gIHNlY3VyZTogYm9vbGVhbiA9IHRydWUsXG4gIGh0dHBPbmx5OiBib29sZWFuID0gdHJ1ZSxcbiAgc2FtZVNpdGU6ICdzdHJpY3QnIHwgJ2xheCcgfCAnbm9uZScgPSAnbGF4Jyxcbik6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFyZXNwb25zZS5jb29raWVzKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGNvb2tpZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nOyB9ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlc3BvbnNlLmNvb2tpZXMpKSB7XG4gICAgY29va2llc1trZXldID0gdmFsdWU7XG4gIH1cblxuICBjb25zdCBoZWFkZXI6IHN0cmluZ1tdID0gW107XG5cbiAgT2JqZWN0LmtleXMoY29va2llcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBjb29raWVzW2tleV07XG4gICAgaWYgKHZhbHVlID09PSAnJykge1xuICAgICAgLy8gSWYgZXhwbGljaXRseSB1bnNldCwgZXhwaXJlIHRoZSBjb29raWUgdmFsdWVcbiAgICAgIGhlYWRlci5wdXNoKGNvb2tpZS5zZXJpYWxpemUoa2V5LCAnJywge1xuICAgICAgICBleHBpcmVzOiBuZXcgRGF0ZSgpLCBzZWN1cmUsIGh0dHBPbmx5LCBzYW1lU2l0ZSxcbiAgICAgIH0pKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlKSB7XG4gICAgICAvLyBPdGhlcndpc2UsIHNldCBpdCBvbmx5IGlmIGEgdmFsdWUgd2FzIGdpdmVuXG4gICAgICBoZWFkZXIucHVzaChjb29raWUuc2VyaWFsaXplKGtleSwgdmFsdWUsIHtcbiAgICAgICAgbWF4QWdlLCBleHBpcmVzLCBzZWN1cmUsIGh0dHBPbmx5LCBzYW1lU2l0ZSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBoZWFkZXI7XG59XG5cbi8qKlxuICogQ2FzZS1pbnNlbnNpdGl2ZSBoZWFkZXIgbG9va3VwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWFkZXIobmFtZTogc3RyaW5nLCBoZWFkZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDsgfSB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghaGVhZGVycykgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAvLyBFeGFjdCBtYXRjaFxuICBpZiAoaGVhZGVyc1tuYW1lXSkgcmV0dXJuIGhlYWRlcnNbbmFtZV07XG5cbiAgLy8gQ2FzZS1pbnNlbnNpdGl2ZSBtYXRjaFxuICBjb25zdCBsb3dlcmNhc2VkOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDsgfSA9IHt9O1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhoZWFkZXJzKSkge1xuICAgIGxvd2VyY2FzZWRba2V5LnRvTG93ZXJDYXNlKCldID0gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGxvd2VyY2FzZWRbbmFtZS50b0xvd2VyQ2FzZSgpXTtcbn1cblxuLyoqXG4gKiBDYXNlLWluc2Vuc2l0aXZlIGhlYWRlciBzZXR0aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRIZWFkZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBoZWFkZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDsgfSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICBpZiAoIWhlYWRlcnMpIHJldHVybjtcbiAgbGV0IHNldCA9IGZhbHNlO1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhoZWFkZXJzKSkge1xuICAgIGlmIChuYW1lLnRvTG93ZXJDYXNlKCkgPT09IGtleS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBoZWFkZXJzW2tleV0gPSB2YWx1ZTtcbiAgICAgIHNldCA9IHRydWU7XG4gICAgfVxuICB9XG4gIGlmICghc2V0KSBoZWFkZXJzW25hbWVdID0gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJlcXVlc3QoZXZlbnQ6IEFQSUdhdGV3YXlQcm94eUV2ZW50KTogUmVxdWVzdCB7XG4gIHJldHVybiB7XG4gICAgbWV0aG9kOiBldmVudC5odHRwTWV0aG9kLFxuICAgIHBhdGg6IHN0YW5kYXJkUGF0aChldmVudC5wYXRoKSxcbiAgICBxdWVyeTogc3RhbmRhcmRRdWVyeVBhcmFtZXRlcnMoZXZlbnQucXVlcnlTdHJpbmdQYXJhbWV0ZXJzKSxcbiAgICBoZWFkZXJzOiBzdGFuZGFyZEhlYWRlcnMoZXZlbnQuaGVhZGVycyksXG4gICAgYm9keTogcGFyc2VCb2R5KGV2ZW50LmJvZHksIGV2ZW50LmlzQmFzZTY0RW5jb2RlZCwgZ2V0SGVhZGVyKCdDb250ZW50LVR5cGUnLCBldmVudC5oZWFkZXJzKSksXG4gICAgY29va2llczogcGFyc2VDb29raWUoZXZlbnQuaGVhZGVycyksXG4gICAgcGF0aFBhcmFtZXRlcnM6IHt9LCAvLyBUaGVzZSBuZWVkIHRvIGJlIHBhcnNlZCBhcyBwYXJ0IG9mIHJvdXRlIG1hdGNoaW5nXG4gICAgY29udGV4dDogeyBldmVudCB9LCAvLyBZb3UgY2FuIGFkZCBhbnkgY3VzdG9tIHZhbHVlcyB5b3UgbmVlZCB0byB0aGUgcmVxdWVzdCB2aWEgdGhpcyBjb250ZXh0XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFJvdXRlKHJvdXRlczogUm91dGVzLCBwYXRoOiBzdHJpbmcpOiB7IG1ldGhvZHM6IFJvdXRlIHwgdW5kZWZpbmVkLCBwYXJhbXM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH07IH0ge1xuICAvLyBEaXJlY3QgbWF0Y2hcbiAgaWYgKHJvdXRlc1twYXRoXSkgcmV0dXJuIHsgbWV0aG9kczogcm91dGVzW3BhdGhdLCBwYXJhbXM6IHt9IH07XG5cbiAgLy8gTGlzdCBwYXRocyB0byBjaGVja1xuICBjb25zdCBwYXRocyA9IE9iamVjdC5rZXlzKHJvdXRlcyk7XG5cbiAgLy8gQ2FzZS1pbnNlbnNpdGl2ZSBtYXRjaFxuICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBwYXRocykge1xuICAgIGlmIChjYW5kaWRhdGUudG9Mb3dlckNhc2UoKSA9PT0gcGF0aC50b0xvd2VyQ2FzZSgpKSByZXR1cm4geyBtZXRob2RzOiByb3V0ZXNbY2FuZGlkYXRlXSwgcGFyYW1zOiB7fSB9O1xuICB9XG5cbiAgLy8gUGF0aC1wYXJhbWV0ZXIgbWF0Y2hpbmdcbiAgY29uc3QgcGF0aFNlZ21lbnRzID0gcGF0aC5zcGxpdCgnLycpO1xuXG4gIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIHBhdGhzKSB7XG4gICAgY29uc3QgY2FuZGlkYXRlU2VnbWVudHMgPSBjYW5kaWRhdGUuc3BsaXQoJy8nKTtcblxuICAgIC8vIEZpcnN0IGNoZWNrOiBsZW5ndGggbWF0Y2hcbiAgICBpZiAocGF0aFNlZ21lbnRzLmxlbmd0aCAhPT0gY2FuZGlkYXRlU2VnbWVudHMubGVuZ3RoKSBjb250aW51ZTtcblxuICAgIGNvbnN0IHBhcmFtczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nOyB9ID0ge307XG4gICAgZm9yIChsZXQgcyA9IDA7IHMgPCBwYXRoU2VnbWVudHMubGVuZ3RoOyBzKyspIHtcbiAgICAgIGNvbnN0IHBhdGhTZWdtZW50ID0gcGF0aFNlZ21lbnRzW3NdO1xuICAgICAgY29uc3QgY2FuZGlkYXRlU2VnbWVudCA9IGNhbmRpZGF0ZVNlZ21lbnRzW3NdO1xuICAgICAgaWYgKGNhbmRpZGF0ZVNlZ21lbnQuc3RhcnRzV2l0aCgneycpICYmIGNhbmRpZGF0ZVNlZ21lbnQuZW5kc1dpdGgoJ30nKSkge1xuICAgICAgICAvLyBQYXRoIHBhcmFtZXRlclxuICAgICAgICBjb25zdCBuYW1lID0gY2FuZGlkYXRlU2VnbWVudC5zbGljZSgxLCAtMSk7XG4gICAgICAgIHBhcmFtc1tuYW1lXSA9IHBhdGhTZWdtZW50O1xuICAgICAgfSBlbHNlIGlmIChwYXRoU2VnbWVudC50b0xvd2VyQ2FzZSgpICE9PSBjYW5kaWRhdGVTZWdtZW50LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChzID09PSBwYXRoU2VnbWVudHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAvLyBNYXRjaGVkIGFsbCBzZWdtZW50c1xuICAgICAgICByZXR1cm4geyBtZXRob2RzOiByb3V0ZXNbY2FuZGlkYXRlXSwgcGFyYW1zIH07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHsgbWV0aG9kczogdW5kZWZpbmVkIH07XG59XG4iXX0=
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsb0NBS0M7QUFNRCwwREFRQztBQU1ELDBDQU1DO0FBT0QsOEJBa0JDO0FBTUQsa0NBVUM7QUFFRCxrQ0FpQ0M7QUFLRCw4QkFZQztBQUtELDhCQVVDO0FBRUQsb0NBV0M7QUFFRCxnQ0F5Q0M7QUExTUQsK0NBQWlDO0FBR2pDOzs7R0FHRztBQUNILFNBQWdCLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLDhDQUE4QztJQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsY0FBYztJQUNkLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLHVCQUF1QixDQUFDLEtBQXFEO0lBQzNGLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDdEIsTUFBTSxNQUFNLEdBQWdDLEVBQUUsQ0FBQztJQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixJQUFJLEtBQUs7WUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxPQUFnRDtJQUM5RSxNQUFNLE1BQU0sR0FBZ0Ms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LEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDO1lBQzdCLENBQUM7aUJBQU0sSUFBSSxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssZ0JBQWdCLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztnQkFDeEUsTUFBTTtZQUNSLENBQUM7WUFFRCxJQUFJLENBQUMsS0FBSyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNsQyx1QkFBdUI7Z0JBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2hELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQSUdhdGV3YXlQcm94eUV2ZW50IH0gZnJvbSAnYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBjb29raWUgZnJvbSAnY29va2llJztcbmltcG9ydCB7IFJlcXVlc3QsIFJlc3BvbnNlLCBSb3V0ZSwgUm91dGVzIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogRW5zdXJlcyB0aGUgcGF0aCBhbHdheXMgaGFzIGEgbGVhZGluZyBzbGFzaCBhbmQgbmV2ZXIgYSB0cmFpbGluZyBzbGFzaFxuICogQHBhcmFtIHBhdGggQVBJR2F0ZXdheVByb3h5RXZlbnQucGF0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RhbmRhcmRQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIEdldCBwYXRoIHNlZ21lbnRzLCBmaWx0ZXJpbmcgb3V0IGFueSBibGFua3NcbiAgY29uc3Qgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJykuZmlsdGVyKChzZWdtZW50KSA9PiBzZWdtZW50KTtcbiAgLy8gUmV0dXJuIHBhdGhcbiAgcmV0dXJuIGAvJHtzZWdtZW50cy5qb2luKCcvJyl9YDtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIGEgbm9uLW51bGwgb2JqZWN0IGNvbnRhaW5pbmcgb25seSBxdWVyeS1zdHJpbmcgcGFyYW1ldGVycyB0aGF0IGhhdmUgYSB2YWx1ZS5cbiAqIEBwYXJhbSBxdWVyeSBBUElHYXRld2F5UHJveHlFdmVudC5xdWVyeVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RhbmRhcmRRdWVyeVBhcmFtZXRlcnMocXVlcnk6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDsgfSB8IG51bGwpOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH0ge1xuICBpZiAoIXF1ZXJ5KSByZXR1cm4ge307XG4gIGNvbnN0IHJlc3VsdDogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nOyB9ID0ge307XG4gIE9iamVjdC5rZXlzKHF1ZXJ5KS5mb3JFYWNoKChwYXJhbWV0ZXIpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHF1ZXJ5W3BhcmFtZXRlcl07XG4gICAgaWYgKHZhbHVlKSByZXN1bHRbcGFyYW1ldGVyXSA9IHZhbHVlO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIGFsbCBoZWFkZXJzIGhhdmUgYSB2YWx1ZS5cbiAqIEBwYXJhbSBoZWFkZXJzIEFQSUdhdGV3YXlQcm94eUV2ZW50LmhlYWRlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0YW5kYXJkSGVhZGVycyhoZWFkZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQ7IH0pOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH0ge1xuICBjb25zdCByZXN1bHQ6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZzsgfSA9IHt9O1xuICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoaGVhZGVycyB8fCB7fSkpIHtcbiAgICByZXN1bHRbbmFtZV0gPSB2YWx1ZSA/PyAnJztcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIFBhcnNlcyB0aGUgYm9keSAoaWYgcHJlc2VudCkgZnJvbSBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQgb3IgSlNPTiBzdHJpbmcuXG4gKiBJZiB0aGUgYm9keSBmYWlscyB0byBwYXJzZSBhcyBKU09uLCB0aGUgcmF3IGJvZHkgaXMgcmV0dXJuZWQuXG4gKiBAcGFyYW0gYm9keSBBUElHYXRld2F5UHJveHlFdmVudC5ib2R5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJvZHkoYm9keTogc3RyaW5nIHwgbnVsbCwgaXNCYXNlNjRFbmNvZGVkOiBib29sZWFuLCBjb250ZW50VHlwZTogc3RyaW5nID0gJ2FwcGxpY2F0aW9uL2pzb24nKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBzdHJpbmcge1xuICBpZiAoIWJvZHkpIHJldHVybiB7fTtcblxuICBjb25zdCBjb250ZW50ID0gaXNCYXNlNjRFbmNvZGVkID8gQnVmZmVyLmZyb20oYm9keSwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGY4JykgOiBib2R5O1xuXG4gIHRyeSB7XG4gICAgaWYgKChjb250ZW50VHlwZSB8fCAnJykudG9Mb3dlckNhc2UoKSA9PT0gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpIHtcbiAgICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMobmV3IFVSTFNlYXJjaFBhcmFtcyhjb250ZW50KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIERlZmF1bHQgdG8gcGFyc2luZyBhcyBKU09OOlxuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoY29udGVudCk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5lcnJvcihgRXJyb3IgcGFyc2luZyByZXF1ZXN0IGJvZHk6ICR7ZX1gKTtcbiAgfVxuXG4gIC8vIEZhbGxiYWNrIHRvIHJldHVybmluZyB0aGUgcmF3IGJvZHlcbiAgcmV0dXJuIGNvbnRlbnQ7XG59XG5cbi8qKlxuICogUGFyc2VzIHRoZSBjb29raWUsIGlmIGFueSwgcmV0dXJuaW5nIGF0IG1pbmltdW0gYW4gZW1wdHkgb2JqZWN0LlxuICogQHBhcmFtIGhlYWRlcnMgQVBJR2F0ZXdheVByb3h5RXZlbnQuaGVhZGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb29raWUoaGVhZGVyczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkOyB9KTogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nOyB9IHtcbiAgY29uc3QgaGVhZGVyID0gZ2V0SGVhZGVyKCdDb29raWUnLCBoZWFkZXJzKTtcbiAgY29uc3QgdmFsdWVzID0gaGVhZGVyID8gY29va2llLnBhcnNlKGhlYWRlcikgOiB7fTtcblxuICAvLyBFbnN1cmUgd2UgZG9uJ3QgcmV0dXJuIGFueSB1bmRlZmluZWQgdmFsdWVzXG4gIGNvbnN0IHJlc3VsdDogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nOyB9ID0ge307XG4gIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZXMpKSB7XG4gICAgaWYgKHZhbHVlKSByZXN1bHRbbmFtZV0gPSB2YWx1ZTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDb29raWUoXG4gIHJlc3BvbnNlOiBSZXNwb25zZSxcbiAgbWF4QWdlOiBudW1iZXIgfCB1bmRlZmluZWQgPSA2MCAqIDYwICogMjQgKiAzNjUsXG4gIGV4cGlyZXM6IERhdGUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gIHNlY3VyZTogYm9vbGVhbiA9IHRydWUsXG4gIGh0dHBPbmx5OiBib29sZWFuID0gdHJ1ZSxcbiAgc2FtZVNpdGU6ICdzdHJpY3QnIHwgJ2xheCcgfCAnbm9uZScgPSAnbGF4Jyxcbik6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFyZXNwb25zZS5jb29raWVzKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGNvb2tpZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nOyB9ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlc3BvbnNlLmNvb2tpZXMpKSB7XG4gICAgY29va2llc1trZXldID0gdmFsdWU7XG4gIH1cblxuICBjb25zdCBoZWFkZXI6IHN0cmluZ1tdID0gW107XG5cbiAgT2JqZWN0LmtleXMoY29va2llcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBjb29raWVzW2tleV07XG4gICAgaWYgKHZhbHVlID09PSAnJykge1xuICAgICAgLy8gSWYgZXhwbGljaXRseSB1bnNldCwgZXhwaXJlIHRoZSBjb29raWUgdmFsdWVcbiAgICAgIGhlYWRlci5wdXNoKGNvb2tpZS5zZXJpYWxpemUoa2V5LCAnJywge1xuICAgICAgICBleHBpcmVzOiBuZXcgRGF0ZSgpLCBzZWN1cmUsIGh0dHBPbmx5LCBzYW1lU2l0ZSxcbiAgICAgIH0pKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlKSB7XG4gICAgICAvLyBPdGhlcndpc2UsIHNldCBpdCBvbmx5IGlmIGEgdmFsdWUgd2FzIGdpdmVuXG4gICAgICBoZWFkZXIucHVzaChjb29raWUuc2VyaWFsaXplKGtleSwgdmFsdWUsIHtcbiAgICAgICAgbWF4QWdlLCBleHBpcmVzLCBzZWN1cmUsIGh0dHBPbmx5LCBzYW1lU2l0ZSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBoZWFkZXI7XG59XG5cbi8qKlxuICogQ2FzZS1pbnNlbnNpdGl2ZSBoZWFkZXIgbG9va3VwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWFkZXIobmFtZTogc3RyaW5nLCBoZWFkZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDsgfSB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghaGVhZGVycykgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAvLyBFeGFjdCBtYXRjaFxuICBpZiAoaGVhZGVyc1tuYW1lXSkgcmV0dXJuIGhlYWRlcnNbbmFtZV07XG5cbiAgLy8gQ2FzZS1pbnNlbnNpdGl2ZSBtYXRjaFxuICBjb25zdCBsb3dlcmNhc2VkOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDsgfSA9IHt9O1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhoZWFkZXJzKSkge1xuICAgIGxvd2VyY2FzZWRba2V5LnRvTG93ZXJDYXNlKCldID0gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGxvd2VyY2FzZWRbbmFtZS50b0xvd2VyQ2FzZSgpXTtcbn1cblxuLyoqXG4gKiBDYXNlLWluc2Vuc2l0aXZlIGhlYWRlciBzZXR0aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRIZWFkZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBoZWFkZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZDsgfSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICBpZiAoIWhlYWRlcnMpIHJldHVybjtcbiAgbGV0IHNldCA9IGZhbHNlO1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhoZWFkZXJzKSkge1xuICAgIGlmIChuYW1lLnRvTG93ZXJDYXNlKCkgPT09IGtleS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBoZWFkZXJzW2tleV0gPSB2YWx1ZTtcbiAgICAgIHNldCA9IHRydWU7XG4gICAgfVxuICB9XG4gIGlmICghc2V0KSBoZWFkZXJzW25hbWVdID0gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJlcXVlc3QoZXZlbnQ6IEFQSUdhdGV3YXlQcm94eUV2ZW50KTogUmVxdWVzdCB7XG4gIHJldHVybiB7XG4gICAgbWV0aG9kOiBldmVudC5odHRwTWV0aG9kLFxuICAgIHBhdGg6IHN0YW5kYXJkUGF0aChldmVudC5wYXRoKSxcbiAgICBxdWVyeTogc3RhbmRhcmRRdWVyeVBhcmFtZXRlcnMoZXZlbnQucXVlcnlTdHJpbmdQYXJhbWV0ZXJzKSxcbiAgICBoZWFkZXJzOiBzdGFuZGFyZEhlYWRlcnMoZXZlbnQuaGVhZGVycyksXG4gICAgYm9keTogcGFyc2VCb2R5KGV2ZW50LmJvZHksIGV2ZW50LmlzQmFzZTY0RW5jb2RlZCwgZ2V0SGVhZGVyKCdDb250ZW50LVR5cGUnLCBldmVudC5oZWFkZXJzKSksXG4gICAgY29va2llczogcGFyc2VDb29raWUoZXZlbnQuaGVhZGVycyksXG4gICAgcGF0aFBhcmFtZXRlcnM6IHt9LCAvLyBUaGVzZSBuZWVkIHRvIGJlIHBhcnNlZCBhcyBwYXJ0IG9mIHJvdXRlIG1hdGNoaW5nXG4gICAgY29udGV4dDogeyBldmVudCB9LCAvLyBZb3UgY2FuIGFkZCBhbnkgY3VzdG9tIHZhbHVlcyB5b3UgbmVlZCB0byB0aGUgcmVxdWVzdCB2aWEgdGhpcyBjb250ZXh0XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFJvdXRlKHJvdXRlczogUm91dGVzLCBwYXRoOiBzdHJpbmcpOiB7IG1ldGhvZHM6IFJvdXRlIHwgdW5kZWZpbmVkLCBwYXJhbXM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH07IH0ge1xuICAvLyBEaXJlY3QgbWF0Y2hcbiAgaWYgKHJvdXRlc1twYXRoXSkgcmV0dXJuIHsgbWV0aG9kczogcm91dGVzW3BhdGhdLCBwYXJhbXM6IHt9IH07XG5cbiAgLy8gTGlzdCBwYXRocyB0byBjaGVja1xuICBjb25zdCBwYXRocyA9IE9iamVjdC5rZXlzKHJvdXRlcyk7XG5cbiAgLy8gQ2FzZS1pbnNlbnNpdGl2ZSBtYXRjaFxuICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBwYXRocykge1xuICAgIGlmIChjYW5kaWRhdGUudG9Mb3dlckNhc2UoKSA9PT0gcGF0aC50b0xvd2VyQ2FzZSgpKSByZXR1cm4geyBtZXRob2RzOiByb3V0ZXNbY2FuZGlkYXRlXSwgcGFyYW1zOiB7fSB9O1xuICB9XG5cbiAgLy8gUGF0aC1wYXJhbWV0ZXIgbWF0Y2hpbmdcbiAgY29uc3QgcGF0aFNlZ21lbnRzID0gcGF0aC5zcGxpdCgnLycpO1xuXG4gIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIHBhdGhzKSB7XG4gICAgY29uc3QgY2FuZGlkYXRlU2VnbWVudHMgPSBjYW5kaWRhdGUuc3BsaXQoJy8nKTtcblxuICAgIC8vIEZpcnN0IGNoZWNrOiBsZW5ndGggbWF0Y2hcbiAgICBpZiAocGF0aFNlZ21lbnRzLmxlbmd0aCAhPT0gY2FuZGlkYXRlU2VnbWVudHMubGVuZ3RoKSBjb250aW51ZTtcblxuICAgIGNvbnN0IHBhcmFtczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nOyB9ID0ge307XG4gICAgZm9yIChsZXQgcyA9IDA7IHMgPCBwYXRoU2VnbWVudHMubGVuZ3RoOyBzKyspIHtcbiAgICAgIGNvbnN0IHBhdGhTZWdtZW50ID0gcGF0aFNlZ21lbnRzW3NdO1xuICAgICAgY29uc3QgY2FuZGlkYXRlU2VnbWVudCA9IGNhbmRpZGF0ZVNlZ21lbnRzW3NdO1xuICAgICAgaWYgKGNhbmRpZGF0ZVNlZ21lbnQuc3RhcnRzV2l0aCgneycpICYmIGNhbmRpZGF0ZVNlZ21lbnQuZW5kc1dpdGgoJ30nKSkge1xuICAgICAgICAvLyBQYXRoIHBhcmFtZXRlclxuICAgICAgICBjb25zdCBuYW1lID0gY2FuZGlkYXRlU2VnbWVudC5zbGljZSgxLCAtMSk7XG4gICAgICAgIHBhcmFtc1tuYW1lXSA9IHBhdGhTZWdtZW50O1xuICAgICAgfSBlbHNlIGlmIChwYXRoU2VnbWVudC50b0xvd2VyQ2FzZSgpICE9PSBjYW5kaWRhdGVTZWdtZW50LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChzID09PSBwYXRoU2VnbWVudHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAvLyBNYXRjaGVkIGFsbCBzZWdtZW50c1xuICAgICAgICByZXR1cm4geyBtZXRob2RzOiByb3V0ZXNbY2FuZGlkYXRlXSwgcGFyYW1zIH07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHsgbWV0aG9kczogdW5kZWZpbmVkIH07XG59XG4iXX0=
|
package/dist/index.js
CHANGED
|
@@ -40,4 +40,4 @@ exports.types = exports.helpers = void 0;
|
|
|
40
40
|
__exportStar(require("./handler"), exports);
|
|
41
41
|
exports.helpers = __importStar(require("./helpers"));
|
|
42
42
|
exports.types = __importStar(require("./types"));
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNENBQTBCO0FBQzFCLHFEQUFxQztBQUNyQyxpREFBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hhbmRsZXInO1xuZXhwb3J0ICogYXMgaGVscGVycyBmcm9tICcuL2hlbHBlcnMnO1xuZXhwb3J0ICogYXMgdHlwZXMgZnJvbSAnLi90eXBlcyc7XG4iXX0=
|
package/dist/types.js
CHANGED
|
@@ -15,4 +15,4 @@ class ApiError extends Error {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.ApiError = ApiError;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd0RBLE1BQWEsUUFBUyxTQUFRLEtBQUs7SUFDakMsVUFBVSxDQUFTO0lBQ25CLElBQUksQ0FBVTtJQUNkLE9BQU8sQ0FBMEI7SUFFakMsWUFBWSxVQUFrQixFQUFFLElBQWEsRUFBRSxPQUFnQztRQUM3RSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBRXZCLDJDQUEyQztRQUMzQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBZEQsNEJBY0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBBUElHYXRld2F5UHJveHlFdmVudCB9IGZyb20gXCJhd3MtbGFtYmRhXCI7XG5pbXBvcnQgeiBmcm9tIFwiem9kL3Y0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdDxCID0gYW55PiB7XG4gIG1ldGhvZDogc3RyaW5nLFxuICBwYXRoOiBzdHJpbmcsXG4gIHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBjb29raWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBwYXRoUGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgYm9keTogQjtcbiAgY29udGV4dDoge1xuICAgIGV2ZW50OiBBUElHYXRld2F5UHJveHlFdmVudDtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIH0sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2U8QiA9IGFueT4ge1xuICBzdGF0dXNDb2RlPzogbnVtYmVyO1xuICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgY29va2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGJvZHk/OiBCO1xufVxuXG50eXBlIEFueVNjaGVtYSA9IHouWm9kVHlwZTxhbnksIGFueSwgYW55PjtcbmV4cG9ydCBpbnRlcmZhY2UgSGFuZGxlcjxTUmVxIGV4dGVuZHMgQW55U2NoZW1hIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLCBTUmVzIGV4dGVuZHMgQW55U2NoZW1hIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkPiB7XG4gIHJlcXVlc3Q/OiB7XG4gICAgYm9keT86IFNSZXE7XG4gICAgaGVhZGVycz86IHouWm9kT2JqZWN0PGFueT47XG4gICAgY29va2llcz86IHouWm9kT2JqZWN0PGFueT47XG4gICAgcGF0aFBhcmFtZXRlcnM/OiB6LlpvZE9iamVjdDxhbnk+O1xuICAgIHF1ZXJ5Pzogei5ab2RPYmplY3Q8YW55PjtcbiAgfTtcbiAgcmVzcG9uc2U/OiB7XG4gICAgYm9keT86IFNSZXM7XG4gICAgaGVhZGVycz86IHouWm9kT2JqZWN0PGFueT47XG4gICAgY29va2llcz86IHouWm9kT2JqZWN0PGFueT47XG4gIH07XG4gIGhhbmRsZXI6IChyZXF1ZXN0OiBSZXF1ZXN0PHouaW5mZXI8U1JlcT4+KSA9PiBQcm9taXNlPFJlc3BvbnNlPHouaW5mZXI8U1Jlcz4+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZSB7XG4gIEdFVD86IEhhbmRsZXI8dW5kZWZpbmVkLCBBbnlTY2hlbWE+O1xuICBQT1NUPzogSGFuZGxlcjxBbnlTY2hlbWEsIEFueVNjaGVtYT47XG4gIFBVVD86IEhhbmRsZXI8QW55U2NoZW1hLCBBbnlTY2hlbWE+O1xuICBERUxFVEU/OiBIYW5kbGVyPHVuZGVmaW5lZCwgQW55U2NoZW1hPjtcbiAgUEFUQ0g/OiBIYW5kbGVyPHVuZGVmaW5lZCwgQW55U2NoZW1hPjtcbiAgT1BUSU9OUz86IEhhbmRsZXI8dW5kZWZpbmVkLCBBbnlTY2hlbWE+O1xuICBIRUFEPzogSGFuZGxlcjx1bmRlZmluZWQsIEFueVNjaGVtYT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVzIHtcbiAgW3BhdGg6IHN0cmluZ106IFJvdXRlO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHN0YXR1c0NvZGU6IG51bWJlcjtcbiAgYm9keTogdW5rbm93bjtcbiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgY29uc3RydWN0b3Ioc3RhdHVzQ29kZTogbnVtYmVyLCBib2R5OiB1bmtub3duLCBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPikge1xuICAgIHN1cGVyKHR5cGVvZiBib2R5ID09PSAnc3RyaW5nJyA/IGJvZHkgOiBKU09OLnN0cmluZ2lmeShib2R5LCBudWxsLCAyKSk7XG4gICAgdGhpcy5zdGF0dXNDb2RlID0gc3RhdHVzQ29kZTtcbiAgICB0aGlzLmJvZHkgPSBib2R5O1xuICAgIHRoaXMuaGVhZGVycyA9IGhlYWRlcnM7XG5cbiAgICAvLyBSZXF1aXJlZCBmb3IgaW5zdGFuY2VvZiB0byB3b3JrIHByb3Blcmx5XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEFwaUVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,16 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scloud/lambda-api",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Lambda handler for API Gateway proxy requests",
|
|
5
|
-
"main": "dist/index.js",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"require": "./dist/index.js",
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./*": {
|
|
14
|
+
"require": "./dist/*.js",
|
|
15
|
+
"import": "./dist/*.js",
|
|
16
|
+
"types": "./dist/*.d.ts"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
6
19
|
"files": [
|
|
7
|
-
"dist
|
|
20
|
+
"dist"
|
|
8
21
|
],
|
|
9
22
|
"scripts": {
|
|
10
23
|
"lint": "eslint --fix src/**/*",
|
|
11
24
|
"test": "mocha --import=tsx -r tsconfig-paths/register 'test/**/*.spec.ts' # tsconfig-paths/register helps resolve imports in tests",
|
|
12
25
|
"compile": "tsc",
|
|
13
|
-
"package": "
|
|
26
|
+
"package": "yarn compile"
|
|
14
27
|
},
|
|
15
28
|
"repository": {
|
|
16
29
|
"type": "git",
|