All files / kernel-test/src/vats powers-vat.ts

0% Statements 0/2
0% Branches 0/2
0% Functions 0/2
0% Lines 0/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                                                 
import { makeDefaultExo } from '@metamask/kernel-utils/exo';
 
/**
 * Build function for running a test of the vatstore.
 *
 * @param vatPowers - Special powers granted to this vat.
 * @param vatPowers.foo - Optional function to call.
 * @param parameters - Initialization parameters from the vat's config object.
 * @param parameters.bar - Optional bar parameter.
 * @param _baggage - Root of vat's persistent state.
 * @returns The root object for the new vat.
 */
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
export function buildRootObject(
  vatPowers: { foo?: (bar: unknown) => Promise<unknown> },
  parameters: { bar?: unknown } = {},
  _baggage: unknown = null,
) {
  return makeDefaultExo('root', {
    async fizz() {
      return await vatPowers.foo?.(parameters.bar);
    },
  });
}