70 lines
2.2 KiB
JavaScript
70 lines
2.2 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.createTask = exports.runAction = void 0;
|
|
const runAction = async (options) => {
|
|
if (options.input) {
|
|
if (options.input instanceof Function) {
|
|
const prev = await options.effects.action.getInput({
|
|
// packageId: options.packageId,
|
|
actionId: options.actionId,
|
|
});
|
|
const input = options.input(prev
|
|
? { spec: prev.spec, value: prev.value }
|
|
: undefined);
|
|
return options.effects.action.run({
|
|
// packageId: options.packageId,
|
|
actionId: options.actionId,
|
|
input,
|
|
});
|
|
}
|
|
else {
|
|
return options.effects.action.run({
|
|
// packageId: options.packageId,
|
|
actionId: options.actionId,
|
|
input: options.input,
|
|
});
|
|
}
|
|
}
|
|
else {
|
|
return options.effects.action.run({
|
|
// packageId: options.packageId,
|
|
actionId: options.actionId,
|
|
});
|
|
}
|
|
};
|
|
exports.runAction = runAction;
|
|
const _validate = {};
|
|
/** Recursively converts undefined values to null so they survive JSON serialization */
|
|
function undefinedToNull(obj) {
|
|
if (obj === undefined)
|
|
return null;
|
|
if (obj === null || typeof obj !== 'object')
|
|
return obj;
|
|
if (Array.isArray(obj))
|
|
return obj.map(undefinedToNull);
|
|
const result = {};
|
|
for (const [k, v] of Object.entries(obj)) {
|
|
result[k] = undefinedToNull(v);
|
|
}
|
|
return result;
|
|
}
|
|
const createTask = (options) => {
|
|
const request = options.options || {};
|
|
const actionId = options.action.id;
|
|
const input = 'input' in request && request.input
|
|
? { ...request.input, value: undefinedToNull(request.input.value) }
|
|
: request.input;
|
|
const req = {
|
|
...request,
|
|
input,
|
|
actionId,
|
|
packageId: options.packageId,
|
|
action: undefined,
|
|
severity: options.severity,
|
|
replayId: request.replayId || `${options.packageId}:${actionId}`,
|
|
};
|
|
delete req.action;
|
|
return options.effects.action.createTask(req);
|
|
};
|
|
exports.createTask = createTask;
|
|
//# sourceMappingURL=index.js.map
|