@agoric/base-zone
Advanced tools
Comparing version
{ | ||
"name": "@agoric/base-zone", | ||
"version": "0.1.1-dev-740eacc.0+740eacc", | ||
"version": "0.1.1-dev-750f249.0+750f249", | ||
"description": "Allocation zone abstraction library and heap implementation", | ||
@@ -22,2 +22,3 @@ "type": "module", | ||
".": "./src/index.js", | ||
"./zone-helpers.js": "./zone-helpers.js", | ||
"./heap.js": "./heap.js", | ||
@@ -30,10 +31,12 @@ "./tools/*": "./tools/*" | ||
"dependencies": { | ||
"@agoric/store": "0.9.3-dev-740eacc.0+740eacc", | ||
"@endo/exo": "^0.2.5", | ||
"@endo/far": "^0.2.21", | ||
"@endo/pass-style": "^0.1.6", | ||
"@endo/patterns": "^0.2.5" | ||
"@agoric/store": "0.9.3-dev-750f249.0+750f249", | ||
"@endo/common": "^1.2.1", | ||
"@endo/exo": "^1.4.0", | ||
"@endo/far": "^1.1.1", | ||
"@endo/pass-style": "^1.3.1", | ||
"@endo/patterns": "^1.3.1" | ||
}, | ||
"devDependencies": { | ||
"@endo/init": "^0.5.59", | ||
"@endo/init": "^1.1.1", | ||
"@endo/ses-ava": "^1.2.1", | ||
"ava": "^5.3.0" | ||
@@ -45,3 +48,3 @@ }, | ||
"engines": { | ||
"node": ">=14.15.0" | ||
"node": "^18.12 || ^20.9" | ||
}, | ||
@@ -59,5 +62,5 @@ "ava": { | ||
"typeCoverage": { | ||
"atLeast": 86.48 | ||
"atLeast": 88.55 | ||
}, | ||
"gitHead": "740eacc5af7e2fe153e2deb98a6b967c9ef9e576" | ||
"gitHead": "750f249c0db7e08eadf71ead166e1b20fb3daf81" | ||
} |
@@ -9,2 +9,6 @@ # Base Zone Library | ||
This library is used internally by [`@agoric/zone`](../zone/README.md); refer to it for more details. Unless you are an author of a new Zone backing store type, or want to use `makeHeapZone` without introducing build dependencies on `@agoric/vat-data`, you should instead use `@agoric/zone`. | ||
This library is used internally by [@agoric/zone](../zone/README.md); refer to it for more details. Unless you are an author of a new Zone backing store type, or want to use `makeHeapZone` without introducing build dependencies on [@agoric/vat-data](../vat-data/README.md), you should instead use [@agoric/zone](../zone/README.md). | ||
--- | ||
Be aware that both this package `@agoric/base-zone` and `@agoric/store` will move from the agoric-sdk repository to the endo repository and likely renamed `@endo/zone` and `@endo/store`. At that time, we will first deprecate the versions here, then replace them with deprecated stubs that reexport from their new home. We hope to eventually remove even these stubs, depending on the compat cost at that time. |
@@ -8,3 +8,2 @@ /* eslint-disable import/export */ | ||
// @ts-expect-error TS1383: Only named exports may use 'export type'. | ||
export type * from './types.js'; |
@@ -1,2 +0,2 @@ | ||
export function makeHeapZone(baseLabel?: string | undefined): import('./types.js').Zone; | ||
export function makeHeapZone(baseLabel?: string | undefined): import("./types.js").Zone; | ||
//# sourceMappingURL=heap.d.ts.map |
// @ts-check | ||
// @jessie-check | ||
/// <reference path="./store-types.d.ts" /> | ||
import { Far } from '@endo/far'; | ||
import { Far, isPassable } from '@endo/pass-style'; | ||
import { makeExo, defineExoClass, defineExoClassKit } from '@endo/exo'; | ||
@@ -16,3 +15,2 @@ import { | ||
import { agoricVatDataKeys as keys } from './keys.js'; | ||
import { isPassable } from './is-passable.js'; | ||
@@ -19,0 +17,0 @@ /** |
// @jessie-check | ||
// XXX ambient types runtime imports until https://github.com/Agoric/agoric-sdk/issues/6512 | ||
import '@agoric/store/exported.js'; | ||
// eslint-disable-next-line import/export | ||
@@ -4,0 +7,0 @@ export * from './exports.js'; |
@@ -1,2 +0,2 @@ | ||
export function isPassable(specimen: any): specimen is any; | ||
export function isPassable(specimen: any): specimen is Passable; | ||
//# sourceMappingURL=is-passable.d.ts.map |
@@ -1,23 +0,8 @@ | ||
import { passStyleOf } from '@endo/pass-style'; | ||
import { isPassable as realIsPassable } from '@endo/pass-style'; | ||
/** | ||
* Is `specimen` Passable? This returns true iff `passStyleOf(specimen)` | ||
* returns a string. This returns `false` iff `passStyleOf(specimen)` throws. | ||
* Under no normal circumstance should `isPassable(specimen)` throw. | ||
* | ||
* TODO implement an isPassable that does not rely on try/catch, and | ||
* move it to @endo/pass-style. | ||
* This implementation is just a standin until then | ||
* | ||
* @deprecated Import `isPassable` directly from `@endo/pass-style` | ||
* @param {any} specimen | ||
* @returns {specimen is Passable} | ||
*/ | ||
export const isPassable = specimen => { | ||
try { | ||
// In fact, it never returns undefined. It either returns a | ||
// string or throws. | ||
return passStyleOf(specimen) !== undefined; | ||
} catch (_) { | ||
return false; | ||
} | ||
}; | ||
export const isPassable = specimen => realIsPassable(specimen); |
@@ -6,3 +6,3 @@ /** | ||
*/ | ||
export const agoricVatDataKeys: import('./types.js').KeyMakers; | ||
export const agoricVatDataKeys: import("./types.js").KeyMakers; | ||
//# sourceMappingURL=keys.d.ts.map |
@@ -1,2 +0,2 @@ | ||
export function makeOnceKit(debugName: string, stores: import('./types.js').Stores, backingStore?: any): { | ||
export function makeOnceKit(debugName: string, stores: import("./types.js").Stores, backingStore?: globalThis.MapStore<string, any> | undefined): { | ||
makeOnce: <V>(key: string, maker: (key: string) => V) => V; | ||
@@ -3,0 +3,0 @@ wrapProvider: <T extends (key: string, ...rest: unknown[]) => any>(provider: T, labelToKeys?: ((label: string) => string[]) | undefined) => T; |
@@ -1,9 +0,3 @@ | ||
export type KeyCategories = 'exoClass' | 'exoClassKit' | 'exo' | 'store' | 'zone'; | ||
export type KeyMakers = { | ||
exoClass: (label: string) => string[]; | ||
exoClassKit: (label: string) => string[]; | ||
exo: (label: string) => string[]; | ||
store: (label: string) => string[]; | ||
zone: (label: string) => string[]; | ||
}; | ||
export type KeyCategories = "exoClass" | "exoClassKit" | "exo" | "store" | "zone"; | ||
export type KeyMakers = Record<KeyCategories, (label: string) => string[]>; | ||
/** | ||
@@ -52,11 +46,11 @@ * A bag of methods for creating defensible objects and | ||
*/ | ||
setStore: <K_1>(label: string, options?: StoreOptions) => SetStore<K_1>; | ||
setStore: <K>(label: string, options?: StoreOptions) => SetStore<K>; | ||
/** | ||
* provide a WeakMap-like store named `label` in the zone | ||
*/ | ||
weakMapStore: <K_2, V_1>(label: string, options?: StoreOptions) => WeakMapStore<K_2, V_1>; | ||
weakMapStore: <K, V>(label: string, options?: StoreOptions) => WeakMapStore<K, V>; | ||
/** | ||
* provide a WeakSet-like store named `label` in the zone | ||
*/ | ||
weakSetStore: <K_3>(label: string, options?: StoreOptions) => WeakSetStore<K_3>; | ||
weakSetStore: <K>(label: string, options?: StoreOptions) => WeakSetStore<K>; | ||
}; | ||
@@ -63,0 +57,0 @@ import { makeExo } from '@endo/exo'; |
// eslint-disable-next-line no-unused-vars | ||
import { makeExo, defineExoClass, defineExoClassKit } from '@endo/exo'; | ||
// Ensure this is a module. | ||
export {}; | ||
/** @typedef {'exoClass' | 'exoClassKit' | 'exo' | 'store' | 'zone'} KeyCategories */ | ||
@@ -5,0 +8,0 @@ /** @typedef {Record<KeyCategories, (label: string) => string[]>} KeyMakers */ |
@@ -1,5 +0,4 @@ | ||
// eslint-disable-next-line import/no-extraneous-dependencies | ||
import { wrapTest } from '@endo/ses-ava'; | ||
import rawTest from 'ava'; | ||
import test from 'ava'; | ||
export { test }; | ||
export const test = wrapTest(rawTest); |
@@ -1,2 +0,1 @@ | ||
// eslint-disable-next-line import/order | ||
import { test } from './prepare-test-env-ava.js'; | ||
@@ -3,0 +2,0 @@ |
@@ -47,3 +47,2 @@ import { M, getInterfaceGuardPayload } from '@endo/patterns'; | ||
const myThis = Object.freeze({ state: { nick } }); | ||
// @ts-expect-error Until https://github.com/endojs/endo/pull/1771 | ||
return zone.exo(label, GreeterWithAdminI, { | ||
@@ -59,3 +58,2 @@ ...bindAllMethodsTo(greetFacet, myThis), | ||
export const prepareGreeter = zone => | ||
// @ts-expect-error Until https://github.com/endojs/endo/pull/1771 | ||
zone.exoClass('Greeter', GreeterWithAdminI, nick => ({ nick }), { | ||
@@ -62,0 +60,0 @@ ...greetFacet, |
@@ -68,3 +68,3 @@ import * as g from './greeter.js'; | ||
* @param {import('ava').Assertions} t | ||
* @param {import('../src/index').Zone} rootZone | ||
* @param {import('../src/index.js').Zone} rootZone | ||
*/ | ||
@@ -98,3 +98,3 @@ export const testFirstZoneIncarnation = (t, rootZone) => { | ||
* @param {import('ava').Assertions} t | ||
* @param {import('../src/index').Zone} rootZone | ||
* @param {import('../src/index.js').Zone} rootZone | ||
*/ | ||
@@ -101,0 +101,0 @@ export const testSecondZoneIncarnation = (t, rootZone) => { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
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
44649
29.5%41
17.14%802
54.83%14
40%6
20%3
50%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated
Updated