npm package diff
Package: @forge/resolver
Versions: 1.6.17-next.0 - 1.7.0-next.1
File: package/out/index.js
Index: package/out/index.js
===================================================================
--- package/out/index.js
+++ package/out/index.js
@@ -1,35 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-const api_1 = require("@forge/api");
-const isRequestPayload = (request) => {
- return typeof request.payload === 'object' && request.payload.product && request.payload.fetchUrl;
-};
-const defaultFunctions = {
- __request: async (request) => {
- if (!isRequestPayload(request)) {
- throw new Error('Invalid payload specified for request');
- }
- const { payload } = request;
- const productApis = {
- jira: (0, api_1.asUser)().requestJira,
- confluence: (0, api_1.asUser)().requestConfluence
- };
- const response = await productApis[payload.product]((0, api_1.assumeTrustedRoute)(payload.fetchUrl), payload.fetchOptions);
- let body = await response.text();
- try {
- body = JSON.parse(body);
- }
- catch (e) { }
- return { ...response, body };
- }
-};
+exports.makeResolver = void 0;
class Resolver {
functions;
constructor() {
- this.functions = {
- ...defaultFunctions
- };
+ this.functions = {};
}
define(functionKey, cb) {
if (!cb || typeof cb !== 'function') {
throw new Error(`Resolver definition '${functionKey}' callback must be a 'function'. Received '${typeof cb}'.`);
@@ -49,12 +25,12 @@
sanitizeObject(object) {
return JSON.parse(JSON.stringify(object));
}
getDefinitions() {
- const resolve = async ({ call: { functionKey, payload: callPayload, jobId }, context }, backendRuntimePayload) => {
+ return async ({ call: { functionKey, payload, jobId }, context }, backendRuntimePayload) => {
const cb = this.getFunction(functionKey);
const result = await cb({
- payload: callPayload || {},
+ payload: payload || {},
context: {
...context,
installContext: backendRuntimePayload?.installContext,
accountId: backendRuntimePayload?.principal?.accountId,
@@ -67,8 +43,15 @@
return this.sanitizeObject(result);
}
return result;
};
- return resolve;
}
}
exports.default = Resolver;
+function makeResolver(handlers) {
+ const resolver = new Resolver();
+ for (const key of Object.keys(handlers)) {
+ resolver.define(key, handlers[key]);
+ }
+ return resolver.getDefinitions();
+}
+exports.makeResolver = makeResolver;