31 lines
1020 B
JavaScript
31 lines
1020 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.setupUninit = setupUninit;
|
|
exports.setupOnUninit = setupOnUninit;
|
|
/**
|
|
* Composes multiple uninit handlers into a single `ExpectedExports.uninit`-compatible function.
|
|
* Handlers are executed sequentially in the order provided.
|
|
*
|
|
* @param uninits - One or more uninit handlers to compose
|
|
*/
|
|
function setupUninit(...uninits) {
|
|
return async (opts) => {
|
|
for (const uninit of uninits) {
|
|
if ('uninit' in uninit)
|
|
await uninit.uninit(opts.effects, opts.target);
|
|
else
|
|
await uninit(opts.effects, opts.target);
|
|
}
|
|
};
|
|
}
|
|
/** Normalizes a {@link UninitScriptOrFn} into a {@link UninitScript} object. */
|
|
function setupOnUninit(onUninit) {
|
|
return 'uninit' in onUninit
|
|
? onUninit
|
|
: {
|
|
uninit: async (effects, target) => {
|
|
await onUninit(effects, target);
|
|
},
|
|
};
|
|
}
|
|
//# sourceMappingURL=setupUninit.js.map
|