From 5753e80ef91051d20a7d693368849fe5234e5be0 Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Thu, 4 Jan 2024 14:26:38 -0500 Subject: [PATCH] chore(deploy-script-support): Improve JSDoc annotation --- .../src/coreProposalBehavior.js | 39 ++++++++++++++----- .../src/writeCoreProposal.js | 2 +- 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/packages/deploy-script-support/src/coreProposalBehavior.js b/packages/deploy-script-support/src/coreProposalBehavior.js index c38a5e8f3c6..9d98c60d537 100644 --- a/packages/deploy-script-support/src/coreProposalBehavior.js +++ b/packages/deploy-script-support/src/coreProposalBehavior.js @@ -8,6 +8,12 @@ const t = 'makeCoreProposalBehavior'; * @typedef {*} BootstrapPowers */ +/** + * @typedef {import('./externalTypes.js').ManifestBundleRef} ManifestBundleRef + * @typedef {[methodName: string, ...args: unknown[]]} FlatMethargs + * @typedef {Record>} Manifest + */ + /** * These permits are expected to be the minimum powers required by the * `coreProposalBehavior` function returned from `makeCoreProposalBehavior`. @@ -30,13 +36,13 @@ export const permits = { * for catching bugs. Thus, this maker must not reference any other modules or * definitions. * - * @param {object} opts - * @param {import('./externalTypes.js').ManifestBundleRef} opts.manifestBundleRef - * @param {[methodName: string, ...args: unknown[]]} opts.getManifestCall - * @param {Record>} [opts.overrideManifest] - * @param {typeof import('@endo/far').E} opts.E - * @param {(...args: unknown[]) => void} [opts.log] - * @param {(ref: import('./externalTypes.js').ManifestBundleRef) => Promise>} [opts.restoreRef] + * @param {object} inputs + * @param {ManifestBundleRef} inputs.manifestBundleRef + * @param {FlatMethargs} inputs.getManifestCall + * @param {Manifest} [inputs.overrideManifest] + * @param {typeof import('@endo/far').E} inputs.E + * @param {(...args: unknown[]) => void} [inputs.log] + * @param {(ref: import('./externalTypes.js').ManifestBundleRef) => Promise>} [inputs.restoreRef] * @returns {(vatPowers: unknown) => Promise} */ export const makeCoreProposalBehavior = ({ @@ -176,9 +182,20 @@ export const makeCoreProposalBehavior = ({ return coreProposalBehavior; }; -export const makeEnactCoreProposalsFromBundleRef = - ({ makeCoreProposalArgs, E }) => - async powers => { +/** + * @param {object} inputs + * @param {Array<{ ref: ManifestBundleRef, call: FlatMethargs, overrideManifest?: Manifest }>} inputs.makeCoreProposalArgs + * @param {typeof import('@endo/far').E} inputs.E + */ +export const makeEnactCoreProposalsFromBundleRef = ({ + makeCoreProposalArgs, + E, +}) => { + /** + * @param {ChainBootstrapSpace & BootstrapPowers & { evaluateBundleCap: any }} powers + * @returns {Promise} + */ + const enactCoreProposals = async powers => { await Promise.all( makeCoreProposalArgs.map(async ({ ref, call, overrideManifest }) => { const coreProposalBehavior = makeCoreProposalBehavior({ @@ -191,3 +208,5 @@ export const makeEnactCoreProposalsFromBundleRef = }), ); }; + return enactCoreProposals; +}; diff --git a/packages/deploy-script-support/src/writeCoreProposal.js b/packages/deploy-script-support/src/writeCoreProposal.js index 8a489f47384..99c4ac51007 100644 --- a/packages/deploy-script-support/src/writeCoreProposal.js +++ b/packages/deploy-script-support/src/writeCoreProposal.js @@ -98,7 +98,7 @@ export const makeWriteCoreProposal = ( * * @param {string} entrypoint * @param {string} [bundlePath] - * @param [opts] + * @param {unknown} [opts] * @returns {Promise} */ const install = async (entrypoint, bundlePath, opts) => {