@agoric/internal
Advanced tools
Comparing version 0.3.3-dev-8a52ddd.0 to 0.3.3-dev-8a7c1b2.0
{ | ||
"name": "@agoric/internal", | ||
"version": "0.3.3-dev-8a52ddd.0+8a52ddd", | ||
"version": "0.3.3-dev-8a7c1b2.0+8a7c1b2", | ||
"description": "Externally unsupported utilities internal to agoric-sdk", | ||
@@ -23,3 +23,3 @@ "type": "module", | ||
"dependencies": { | ||
"@agoric/base-zone": "0.1.1-dev-8a52ddd.0+8a52ddd", | ||
"@agoric/base-zone": "0.1.1-dev-8a7c1b2.0+8a7c1b2", | ||
"@endo/common": "^1.2.8", | ||
@@ -38,3 +38,3 @@ "@endo/errors": "^1.2.8", | ||
"devDependencies": { | ||
"@agoric/cosmic-proto": "0.4.1-dev-8a52ddd.0+8a52ddd", | ||
"@agoric/cosmic-proto": "0.4.1-dev-8a7c1b2.0+8a7c1b2", | ||
"@endo/exo": "^1.5.7", | ||
@@ -63,5 +63,5 @@ "@endo/init": "^1.1.7", | ||
"typeCoverage": { | ||
"atLeast": 93.14 | ||
"atLeast": 93.06 | ||
}, | ||
"gitHead": "8a52dddcda0af5eaedeca94bebcffd88bb8eebae" | ||
"gitHead": "8a7c1b2d30cea44dae1a5706fdef530b2f6dc28a" | ||
} |
@@ -10,2 +10,3 @@ export * from "./config.js"; | ||
export * from "./types-index.js"; | ||
export { pureDataMarshaller } from "./marshal.js"; | ||
export { objectMap } from "@endo/common/object-map.js"; | ||
@@ -12,0 +13,0 @@ export { objectMetaMap } from "@endo/common/object-meta-map.js"; |
@@ -9,2 +9,3 @@ // @jessie-check | ||
export * from './js-utils.js'; | ||
export { pureDataMarshaller } from './marshal.js'; | ||
export * from './method-tools.js'; | ||
@@ -11,0 +12,0 @@ export * from './ses-utils.js'; |
@@ -13,2 +13,8 @@ export function makeBoardRemote({ boardId, iface }: { | ||
}; | ||
export const pureDataMarshaller: { | ||
toCapData: import("@endo/marshal").ToCapData<import("@endo/marshal").CapData<unknown>>; | ||
fromCapData: import("@endo/marshal").FromCapData<import("@endo/marshal").CapData<unknown>>; | ||
serialize: import("@endo/marshal").ToCapData<import("@endo/marshal").CapData<unknown>>; | ||
unserialize: import("@endo/marshal").FromCapData<import("@endo/marshal").CapData<unknown>>; | ||
}; | ||
/** | ||
@@ -15,0 +21,0 @@ * Should be a union with Remotable, but that's `any`, making this type |
@@ -138,1 +138,8 @@ // @ts-check | ||
}; | ||
/** @param {import('@endo/marshal').CapData<unknown>} cap */ | ||
const rejectOCap = cap => Fail`${cap} is not pure data`; | ||
export const pureDataMarshaller = makeMarshal(rejectOCap, rejectOCap, { | ||
serializeBodyFormat: 'smallcaps', | ||
}); | ||
harden(pureDataMarshaller); |
@@ -12,2 +12,6 @@ export function slotToRemotable(_slotId: string, iface?: string): import("@endo/pass-style").RemotableObject<string> & import("@endo/eventual-send").RemotableBrand<{}, {}>; | ||
}; | ||
export namespace defaultSerializer { | ||
let parse: (text: string) => unknown; | ||
let stringify: (obj: any) => string; | ||
} | ||
export const slotStringUnserialize: (capData: any) => any; | ||
@@ -24,2 +28,3 @@ export function makeFakeStorageKit(rootPath: string, rootOptions?: Parameters<typeof makeChainStorageRoot>[2]): { | ||
data: Map<string, string>; | ||
getValues: (path: string) => string[]; | ||
messages: StorageMessage[]; | ||
@@ -26,0 +31,0 @@ toStorage: ((message: StorageMessage) => string | number | any[] | { |
@@ -5,8 +5,8 @@ // @ts-check | ||
import { makeMarshal, Remotable } from '@endo/marshal'; | ||
import { unmarshalFromVstorage } from './marshal.js'; | ||
import { makeTracer } from './debug.js'; | ||
import { NonNullish } from './errors.js'; | ||
import { isStreamCell, makeChainStorageRoot } from './lib-chainStorage.js'; | ||
import { unmarshalFromVstorage } from './marshal.js'; | ||
import { bindAllMethods } from './method-tools.js'; | ||
import { eventLoopIteration } from './testing-utils.js'; | ||
import { NonNullish } from './errors.js'; | ||
@@ -39,2 +39,12 @@ /** | ||
/** | ||
* Serialize/deserialize functions using {@link defaultMarshaller} | ||
*/ | ||
export const defaultSerializer = { | ||
/** @type {(text: string) => unknown} */ | ||
parse: txt => defaultMarshaller.fromCapData(JSON.parse(txt)), | ||
/** @type {(obj: any) => string} */ | ||
stringify: obj => JSON.stringify(defaultMarshaller.toCapData(obj)), | ||
}; | ||
/** | ||
* A deserializer which produces slot strings instead of Remotables, so if `a = | ||
@@ -195,2 +205,17 @@ * Far('iface')`, and serializing `{ a }` into `capData` assigned it slot | ||
const rootNode = makeChainStorageRoot(toStorage, rootPath, resolvedOptions); | ||
/** | ||
* Get the values at a sequence node | ||
* | ||
* @param {string} path | ||
* @returns {string[]} | ||
*/ | ||
const getValues = path => { | ||
assert(resolvedOptions.sequence); | ||
const nodeData = data.get(path); | ||
assert(nodeData, `no data at path ${path}`); | ||
const wrapper = JSON.parse(nodeData); | ||
return wrapper.values; | ||
}; | ||
return { | ||
@@ -200,2 +225,3 @@ rootNode, | ||
data: /** @type {Map<string, string>} */ (data), | ||
getValues, | ||
messages, | ||
@@ -202,0 +228,0 @@ toStorage, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
173558
3966