@metamask/ocap-kernel
Version:
OCap kernel core components
1 lines • 1.99 kB
Source Map (JSON)
{"version":3,"file":"initVat.cjs","sourceRoot":"","sources":["../../../src/rpc/vat/initVat.ts"],"names":[],"mappings":";;;AACA,uDAAqE;AAGrE,4CAAsD;AACtD,8CAAiD;AAGjD,MAAM,YAAY,GAAG,IAAA,oBAAM,EAAC;IAC1B,SAAS,EAAE,0BAAe;IAC1B,KAAK,EAAE,IAAA,mBAAK,EAAC,IAAA,mBAAK,EAAC,CAAC,IAAA,oBAAM,GAAE,EAAE,IAAA,oBAAM,GAAE,CAAC,CAAC,CAAC;CAC1C,CAAC,CAAC;AAUU,QAAA,WAAW,GAAgB;IACtC,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,mCAAuB;CAChC,CAAC;AAkBW,QAAA,cAAc,GAAmB;IAC5C,GAAG,mBAAW;IACd,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;IACxB,cAAc,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE;QAC5C,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;CACF,CAAC","sourcesContent":["import type { MethodSpec, Handler } from '@metamask/kernel-rpc-methods';\nimport { array, object, string, tuple } from '@metamask/superstruct';\nimport type { Infer } from '@metamask/superstruct';\n\nimport { VatDeliveryResultStruct } from './shared.ts';\nimport { VatConfigStruct } from '../../types.ts';\nimport type { VatConfig, VatDeliveryResult } from '../../types.ts';\n\nconst paramsStruct = object({\n vatConfig: VatConfigStruct,\n state: array(tuple([string(), string()])),\n});\n\ntype Params = Infer<typeof paramsStruct>;\n\nexport type InitVatSpec = MethodSpec<\n 'initVat',\n Params,\n Promise<VatDeliveryResult>\n>;\n\nexport const initVatSpec: InitVatSpec = {\n method: 'initVat',\n params: paramsStruct,\n result: VatDeliveryResultStruct,\n};\n\nexport type InitVat = (\n vatConfig: VatConfig,\n state: Map<string, string>,\n) => Promise<VatDeliveryResult>;\n\ntype InitVatHooks = {\n initVat: InitVat;\n};\n\nexport type InitVatHandler = Handler<\n 'initVat',\n Params,\n Promise<VatDeliveryResult>,\n InitVatHooks\n>;\n\nexport const initVatHandler: InitVatHandler = {\n ...initVatSpec,\n hooks: { initVat: true },\n implementation: async ({ initVat }, params) => {\n return await initVat(params.vatConfig, new Map(params.state));\n },\n};\n"]}