UNPKG

@metamask/ocap-kernel

Version:
59 lines 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deliverHandler = exports.deliverSpec = void 0; const superstruct_1 = require("@metamask/superstruct"); const utils_1 = require("@metamask/utils"); const shared_ts_1 = require("./shared.cjs"); const types_ts_1 = require("../../types.cjs"); const MessageDeliveryStruct = (0, superstruct_1.tuple)([ (0, superstruct_1.literal)('message'), (0, superstruct_1.string)(), types_ts_1.MessageStruct, ]); const NotifyDeliveryStruct = (0, superstruct_1.tuple)([ (0, superstruct_1.literal)('notify'), (0, superstruct_1.array)(types_ts_1.VatOneResolutionStruct), ]); const DropExportsDeliveryStruct = (0, superstruct_1.tuple)([ (0, superstruct_1.literal)('dropExports'), (0, superstruct_1.array)((0, superstruct_1.string)()), ]); const RetireExportsDeliveryStruct = (0, superstruct_1.tuple)([ (0, superstruct_1.literal)('retireExports'), (0, superstruct_1.array)((0, superstruct_1.string)()), ]); const RetireImportsDeliveryStruct = (0, superstruct_1.tuple)([ (0, superstruct_1.literal)('retireImports'), (0, superstruct_1.array)((0, superstruct_1.string)()), ]); const ChangeVatOptionsDeliveryStruct = (0, superstruct_1.tuple)([ (0, superstruct_1.literal)('changeVatOptions'), (0, superstruct_1.record)((0, superstruct_1.string)(), utils_1.UnsafeJsonStruct), ]); const StartVatDeliveryStruct = (0, superstruct_1.tuple)([(0, superstruct_1.literal)('startVat'), types_ts_1.CapDataStruct]); const StopVatDeliveryStruct = (0, superstruct_1.tuple)([(0, superstruct_1.literal)('stopVat'), types_ts_1.CapDataStruct]); const BringOutYourDeadDeliveryStruct = (0, superstruct_1.tuple)([(0, superstruct_1.literal)('bringOutYourDead')]); const VatDeliveryParamsStruct = (0, superstruct_1.union)([ MessageDeliveryStruct, NotifyDeliveryStruct, DropExportsDeliveryStruct, RetireExportsDeliveryStruct, RetireImportsDeliveryStruct, ChangeVatOptionsDeliveryStruct, StartVatDeliveryStruct, StopVatDeliveryStruct, BringOutYourDeadDeliveryStruct, ]); exports.deliverSpec = { method: 'deliver', params: VatDeliveryParamsStruct, result: shared_ts_1.VatDeliveryResultStruct, }; exports.deliverHandler = { ...exports.deliverSpec, hooks: { handleDelivery: true }, implementation: async ({ handleDelivery }, params) => { return await handleDelivery(params); }, }; //# sourceMappingURL=deliver.cjs.map