nucleation 0.10.22 → 0.10.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/Schematic.d.mts +23 -0
- package/Schematic.d.ts +23 -0
- package/Schematic.mjs +70 -0
- package/nucleation.wasm +0 -0
- package/package.json +7 -2
- package/renderer/AnimationEffect.d.mts +44 -0
- package/renderer/AnimationEffect.d.ts +44 -0
- package/renderer/AnimationEffect.mjs +204 -0
- package/renderer/Autostack.d.mts +43 -0
- package/renderer/Autostack.d.ts +43 -0
- package/renderer/Autostack.mjs +134 -0
- package/renderer/BlockPos.d.mts +28 -0
- package/renderer/BlockPos.d.ts +28 -0
- package/renderer/BlockPos.mjs +130 -0
- package/renderer/BlockState.d.mts +39 -0
- package/renderer/BlockState.d.ts +39 -0
- package/renderer/BlockState.mjs +134 -0
- package/renderer/Blocks.d.mts +91 -0
- package/renderer/Blocks.d.ts +91 -0
- package/renderer/Blocks.mjs +308 -0
- package/renderer/Brush.d.mts +99 -0
- package/renderer/Brush.d.ts +99 -0
- package/renderer/Brush.mjs +335 -0
- package/renderer/BuildAnimation.d.mts +179 -0
- package/renderer/BuildAnimation.d.ts +179 -0
- package/renderer/BuildAnimation.mjs +1148 -0
- package/renderer/BuildingTool.d.mts +46 -0
- package/renderer/BuildingTool.d.ts +46 -0
- package/renderer/BuildingTool.mjs +121 -0
- package/renderer/CellExecutor.d.mts +51 -0
- package/renderer/CellExecutor.d.ts +51 -0
- package/renderer/CellExecutor.mjs +171 -0
- package/renderer/CellularSdfConfig.d.mts +22 -0
- package/renderer/CellularSdfConfig.d.ts +22 -0
- package/renderer/CellularSdfConfig.mjs +69 -0
- package/renderer/ChunkMeshResult.d.mts +75 -0
- package/renderer/ChunkMeshResult.d.ts +75 -0
- package/renderer/ChunkMeshResult.mjs +253 -0
- package/renderer/CircuitBuilder.d.mts +118 -0
- package/renderer/CircuitBuilder.d.ts +118 -0
- package/renderer/CircuitBuilder.mjs +516 -0
- package/renderer/Curve3D.d.mts +27 -0
- package/renderer/Curve3D.d.ts +27 -0
- package/renderer/Curve3D.mjs +101 -0
- package/renderer/DefinitionRegion.d.mts +274 -0
- package/renderer/DefinitionRegion.d.ts +274 -0
- package/renderer/DefinitionRegion.mjs +973 -0
- package/renderer/Design.d.mts +348 -0
- package/renderer/Design.d.ts +348 -0
- package/renderer/Design.mjs +1334 -0
- package/renderer/Diff.d.mts +88 -0
- package/renderer/Diff.d.ts +88 -0
- package/renderer/Diff.mjs +316 -0
- package/renderer/Dimensions.d.mts +28 -0
- package/renderer/Dimensions.d.ts +28 -0
- package/renderer/Dimensions.mjs +130 -0
- package/renderer/DistanceField.d.mts +39 -0
- package/renderer/DistanceField.d.ts +39 -0
- package/renderer/DistanceField.mjs +114 -0
- package/renderer/ExecutionMode.d.mts +42 -0
- package/renderer/ExecutionMode.d.ts +42 -0
- package/renderer/ExecutionMode.mjs +127 -0
- package/renderer/Field3.d.mts +40 -0
- package/renderer/Field3.d.ts +40 -0
- package/renderer/Field3.mjs +160 -0
- package/renderer/FieldProgram.d.mts +40 -0
- package/renderer/FieldProgram.d.ts +40 -0
- package/renderer/FieldProgram.mjs +167 -0
- package/renderer/FieldProgramBinaryOp.d.mts +42 -0
- package/renderer/FieldProgramBinaryOp.d.ts +42 -0
- package/renderer/FieldProgramBinaryOp.mjs +118 -0
- package/renderer/FieldProgramBuilder.d.mts +104 -0
- package/renderer/FieldProgramBuilder.d.ts +104 -0
- package/renderer/FieldProgramBuilder.mjs +486 -0
- package/renderer/FieldProgramDistanceKind.d.mts +26 -0
- package/renderer/FieldProgramDistanceKind.d.ts +26 -0
- package/renderer/FieldProgramDistanceKind.mjs +78 -0
- package/renderer/FieldProgramUnaryOp.d.mts +34 -0
- package/renderer/FieldProgramUnaryOp.d.ts +34 -0
- package/renderer/FieldProgramUnaryOp.mjs +102 -0
- package/renderer/FieldProgramValueType.d.mts +25 -0
- package/renderer/FieldProgramValueType.d.ts +25 -0
- package/renderer/FieldProgramValueType.mjs +75 -0
- package/renderer/FieldRange.d.mts +15 -0
- package/renderer/FieldRange.d.ts +15 -0
- package/renderer/FieldRange.mjs +109 -0
- package/renderer/Fingerprint.d.mts +44 -0
- package/renderer/Fingerprint.d.ts +44 -0
- package/renderer/Fingerprint.mjs +197 -0
- package/renderer/GeneratedChunk.d.mts +35 -0
- package/renderer/GeneratedChunk.d.ts +35 -0
- package/renderer/GeneratedChunk.mjs +178 -0
- package/renderer/GeneratedChunkCoverage.d.mts +25 -0
- package/renderer/GeneratedChunkCoverage.d.ts +25 -0
- package/renderer/GeneratedChunkCoverage.mjs +75 -0
- package/renderer/GeneratedChunkOverlayMode.d.mts +24 -0
- package/renderer/GeneratedChunkOverlayMode.d.ts +24 -0
- package/renderer/GeneratedChunkOverlayMode.mjs +72 -0
- package/renderer/GeneratedWorldStream.d.mts +28 -0
- package/renderer/GeneratedWorldStream.d.ts +28 -0
- package/renderer/GeneratedWorldStream.mjs +86 -0
- package/renderer/Geo.d.mts +41 -0
- package/renderer/Geo.d.ts +41 -0
- package/renderer/Geo.mjs +121 -0
- package/renderer/Hdl.d.mts +56 -0
- package/renderer/Hdl.d.ts +56 -0
- package/renderer/Hdl.mjs +163 -0
- package/renderer/InterpolationSpace.d.mts +25 -0
- package/renderer/InterpolationSpace.d.ts +25 -0
- package/renderer/InterpolationSpace.mjs +73 -0
- package/renderer/IoLayout.d.mts +26 -0
- package/renderer/IoLayout.d.ts +26 -0
- package/renderer/IoLayout.mjs +81 -0
- package/renderer/IoLayoutBuilder.d.mts +73 -0
- package/renderer/IoLayoutBuilder.d.ts +73 -0
- package/renderer/IoLayoutBuilder.mjs +315 -0
- package/renderer/IoType.d.mts +41 -0
- package/renderer/IoType.d.ts +41 -0
- package/renderer/IoType.mjs +125 -0
- package/renderer/ItemModelConfig.d.mts +65 -0
- package/renderer/ItemModelConfig.d.ts +65 -0
- package/renderer/ItemModelConfig.mjs +223 -0
- package/renderer/ItemModelPackBuilder.d.mts +32 -0
- package/renderer/ItemModelPackBuilder.d.ts +32 -0
- package/renderer/ItemModelPackBuilder.mjs +104 -0
- package/renderer/ItemModelResult.d.mts +72 -0
- package/renderer/ItemModelResult.d.ts +72 -0
- package/renderer/ItemModelResult.mjs +268 -0
- package/renderer/ItemScale.d.mts +31 -0
- package/renderer/ItemScale.d.ts +31 -0
- package/renderer/ItemScale.mjs +133 -0
- package/renderer/LayoutFunction.d.mts +52 -0
- package/renderer/LayoutFunction.d.ts +52 -0
- package/renderer/LayoutFunction.mjs +159 -0
- package/renderer/MchprsWorld.d.mts +131 -0
- package/renderer/MchprsWorld.d.ts +131 -0
- package/renderer/MchprsWorld.mjs +423 -0
- package/renderer/MeshBounds.d.mts +40 -0
- package/renderer/MeshBounds.d.ts +40 -0
- package/renderer/MeshBounds.mjs +181 -0
- package/renderer/MeshConfig.d.mts +101 -0
- package/renderer/MeshConfig.d.ts +101 -0
- package/renderer/MeshConfig.mjs +306 -0
- package/renderer/MeshJob.d.mts +44 -0
- package/renderer/MeshJob.d.ts +44 -0
- package/renderer/MeshJob.mjs +116 -0
- package/renderer/MeshPhase.d.mts +38 -0
- package/renderer/MeshPhase.d.ts +38 -0
- package/renderer/MeshPhase.mjs +90 -0
- package/renderer/MeshProgress.d.mts +32 -0
- package/renderer/MeshProgress.d.ts +32 -0
- package/renderer/MeshProgress.mjs +134 -0
- package/renderer/MeshResult.d.mts +76 -0
- package/renderer/MeshResult.d.ts +76 -0
- package/renderer/MeshResult.mjs +269 -0
- package/renderer/MultiMeshResult.d.mts +50 -0
- package/renderer/MultiMeshResult.d.ts +50 -0
- package/renderer/MultiMeshResult.mjs +166 -0
- package/renderer/Nbt.d.mts +50 -0
- package/renderer/Nbt.d.ts +50 -0
- package/renderer/Nbt.mjs +161 -0
- package/renderer/NucleationError.d.mts +53 -0
- package/renderer/NucleationError.d.ts +53 -0
- package/renderer/NucleationError.mjs +136 -0
- package/renderer/OutputCondition.d.mts +45 -0
- package/renderer/OutputCondition.d.ts +45 -0
- package/renderer/OutputCondition.mjs +129 -0
- package/renderer/Palette.d.mts +157 -0
- package/renderer/Palette.d.ts +157 -0
- package/renderer/Palette.mjs +487 -0
- package/renderer/PaletteBuilder.d.mts +119 -0
- package/renderer/PaletteBuilder.d.ts +119 -0
- package/renderer/PaletteBuilder.mjs +457 -0
- package/renderer/README.md +67 -0
- package/renderer/RawMeshExport.d.mts +74 -0
- package/renderer/RawMeshExport.d.ts +74 -0
- package/renderer/RawMeshExport.mjs +243 -0
- package/renderer/RedstoneGraph.d.mts +58 -0
- package/renderer/RedstoneGraph.d.ts +58 -0
- package/renderer/RedstoneGraph.mjs +242 -0
- package/renderer/RegionBounds.d.mts +41 -0
- package/renderer/RegionBounds.d.ts +41 -0
- package/renderer/RegionBounds.mjs +182 -0
- package/renderer/RenderConfig.d.mts +101 -0
- package/renderer/RenderConfig.d.ts +101 -0
- package/renderer/RenderConfig.mjs +271 -0
- package/renderer/Renderer.d.mts +51 -0
- package/renderer/Renderer.d.ts +51 -0
- package/renderer/Renderer.mjs +219 -0
- package/renderer/ResourcePack.d.mts +105 -0
- package/renderer/ResourcePack.d.ts +105 -0
- package/renderer/ResourcePack.mjs +447 -0
- package/renderer/ResourcePackList.d.mts +32 -0
- package/renderer/ResourcePackList.d.ts +32 -0
- package/renderer/ResourcePackList.mjs +96 -0
- package/renderer/Routing.d.mts +66 -0
- package/renderer/Routing.d.ts +66 -0
- package/renderer/Routing.mjs +220 -0
- package/renderer/Schematic.d.mts +977 -0
- package/renderer/Schematic.d.ts +977 -0
- package/renderer/Schematic.mjs +3820 -0
- package/renderer/SchematicBuilder.d.mts +103 -0
- package/renderer/SchematicBuilder.d.ts +103 -0
- package/renderer/SchematicBuilder.mjs +401 -0
- package/renderer/SchematicRegions.d.mts +93 -0
- package/renderer/SchematicRegions.d.ts +93 -0
- package/renderer/SchematicRegions.mjs +411 -0
- package/renderer/SchematicSplitResult.d.mts +26 -0
- package/renderer/SchematicSplitResult.d.ts +26 -0
- package/renderer/SchematicSplitResult.mjs +84 -0
- package/renderer/Scripting.d.mts +40 -0
- package/renderer/Scripting.d.ts +40 -0
- package/renderer/Scripting.mjs +138 -0
- package/renderer/Sdf.d.mts +234 -0
- package/renderer/Sdf.d.ts +234 -0
- package/renderer/Sdf.mjs +1234 -0
- package/renderer/SdfAxis.d.mts +25 -0
- package/renderer/SdfAxis.d.ts +25 -0
- package/renderer/SdfAxis.mjs +75 -0
- package/renderer/SdfBounds.d.mts +19 -0
- package/renderer/SdfBounds.d.ts +19 -0
- package/renderer/SdfBounds.mjs +161 -0
- package/renderer/SdfCellMode.d.mts +26 -0
- package/renderer/SdfCellMode.d.ts +26 -0
- package/renderer/SdfCellMode.mjs +78 -0
- package/renderer/SdfNormal.d.mts +16 -0
- package/renderer/SdfNormal.d.ts +16 -0
- package/renderer/SdfNormal.mjs +122 -0
- package/renderer/Shape.d.mts +143 -0
- package/renderer/Shape.d.ts +143 -0
- package/renderer/Shape.mjs +458 -0
- package/renderer/SortStrategy.d.mts +86 -0
- package/renderer/SortStrategy.d.ts +86 -0
- package/renderer/SortStrategy.mjs +272 -0
- package/renderer/Store.d.mts +83 -0
- package/renderer/Store.d.ts +83 -0
- package/renderer/Store.mjs +369 -0
- package/renderer/StoreIo.d.mts +71 -0
- package/renderer/StoreIo.d.ts +71 -0
- package/renderer/StoreIo.mjs +292 -0
- package/renderer/TextureAtlas.d.mts +40 -0
- package/renderer/TextureAtlas.d.ts +40 -0
- package/renderer/TextureAtlas.mjs +122 -0
- package/renderer/TextureInfo.d.mts +34 -0
- package/renderer/TextureInfo.d.ts +34 -0
- package/renderer/TextureInfo.mjs +149 -0
- package/renderer/TickSettleMode.d.mts +34 -0
- package/renderer/TickSettleMode.d.ts +34 -0
- package/renderer/TickSettleMode.mjs +84 -0
- package/renderer/TickSimulation.d.mts +572 -0
- package/renderer/TickSimulation.d.ts +572 -0
- package/renderer/TickSimulation.mjs +1299 -0
- package/renderer/TypedCircuitExecutor.d.mts +101 -0
- package/renderer/TypedCircuitExecutor.d.ts +101 -0
- package/renderer/TypedCircuitExecutor.mjs +378 -0
- package/renderer/Value.d.mts +73 -0
- package/renderer/Value.d.ts +73 -0
- package/renderer/Value.mjs +275 -0
- package/renderer/VideoConfig.d.mts +15 -0
- package/renderer/VideoConfig.d.ts +15 -0
- package/renderer/VideoConfig.mjs +44 -0
- package/renderer/VoxelModel.d.mts +34 -0
- package/renderer/VoxelModel.d.ts +34 -0
- package/renderer/VoxelModel.mjs +113 -0
- package/renderer/Voxelizer.d.mts +80 -0
- package/renderer/Voxelizer.d.ts +80 -0
- package/renderer/Voxelizer.mjs +261 -0
- package/renderer/WorldChunkView.d.mts +75 -0
- package/renderer/WorldChunkView.d.ts +75 -0
- package/renderer/WorldChunkView.mjs +224 -0
- package/renderer/WorldGenerator.d.mts +75 -0
- package/renderer/WorldGenerator.d.ts +75 -0
- package/renderer/WorldGenerator.mjs +255 -0
- package/renderer/WorldSink.d.mts +50 -0
- package/renderer/WorldSink.d.ts +50 -0
- package/renderer/WorldSink.mjs +177 -0
- package/renderer/WorldStream.d.mts +45 -0
- package/renderer/WorldStream.d.ts +45 -0
- package/renderer/WorldStream.mjs +184 -0
- package/renderer/WsPartitionHints.d.mts +29 -0
- package/renderer/WsPartitionHints.d.ts +29 -0
- package/renderer/WsPartitionHints.mjs +102 -0
- package/renderer/WsProfile.d.mts +46 -0
- package/renderer/WsProfile.d.ts +46 -0
- package/renderer/WsProfile.mjs +152 -0
- package/renderer/WsRunResult.d.mts +83 -0
- package/renderer/WsRunResult.d.ts +83 -0
- package/renderer/WsRunResult.mjs +326 -0
- package/renderer/WsSegmentJob.d.mts +28 -0
- package/renderer/WsSegmentJob.d.ts +28 -0
- package/renderer/WsSegmentJob.mjs +81 -0
- package/renderer/diplomat-runtime.d.mts +15 -0
- package/renderer/diplomat-runtime.d.ts +15 -0
- package/renderer/diplomat-runtime.mjs +779 -0
- package/renderer/diplomat-wasm.mjs +52 -0
- package/renderer/diplomat.config.mjs +5 -0
- package/renderer/index.d.mts +193 -0
- package/renderer/index.d.ts +193 -0
- package/renderer/index.mjs +196 -0
- package/renderer/nucleation.wasm +0 -0
- package/renderer/veneer/design.d.ts +167 -0
- package/renderer/veneer/design.mjs +480 -0
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import { Schematic } from "./Schematic.mjs"
|
|
4
|
+
import wasm from "./diplomat-wasm.mjs";
|
|
5
|
+
import * as diplomatRuntime from "./diplomat-runtime.mjs";
|
|
6
|
+
|
|
7
|
+
const Store_box_destroy_registry = new FinalizationRegistry((ptr) => {
|
|
8
|
+
wasm.Store_destroy(ptr);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A key/value store opened from a URL (e.g. `mem://`, `file:///path`,
|
|
13
|
+
* `ssh://user@host/path`, `s3://bucket/prefix`, `redis://…`, `postgres://…`).
|
|
14
|
+
*/
|
|
15
|
+
export class Store {
|
|
16
|
+
// Internal ptr reference:
|
|
17
|
+
#ptr = null;
|
|
18
|
+
|
|
19
|
+
// Lifetimes are only to keep dependencies alive.
|
|
20
|
+
// Since JS won't garbage collect until there are no incoming edges.
|
|
21
|
+
#selfEdge = [];
|
|
22
|
+
|
|
23
|
+
#internalConstructor(symbol, ptr, selfEdge) {
|
|
24
|
+
if (symbol !== diplomatRuntime.internalConstructor) {
|
|
25
|
+
console.error("Store is an Opaque type. You cannot call its constructor.");
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this.#ptr = ptr;
|
|
29
|
+
this.#selfEdge = selfEdge;
|
|
30
|
+
|
|
31
|
+
// Are we being borrowed? If not, we can register.
|
|
32
|
+
if (this.#selfEdge.length === 0) {
|
|
33
|
+
Store_box_destroy_registry.register(this, this.#ptr);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
/** @internal */
|
|
39
|
+
get ffiValue() {
|
|
40
|
+
return this.#ptr;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Open a store from a URL. Errors with `Store` on an unknown scheme or
|
|
46
|
+
* connection failure.
|
|
47
|
+
*/
|
|
48
|
+
static open(url) {
|
|
49
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
50
|
+
|
|
51
|
+
const urlSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, url)));
|
|
52
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
const result = wasm.Store_open(diplomatReceive.buffer, urlSlice.ptr);
|
|
56
|
+
|
|
57
|
+
try {
|
|
58
|
+
if (!diplomatReceive.resultFlag) {
|
|
59
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
60
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
61
|
+
}
|
|
62
|
+
return new Store(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
finally {
|
|
66
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
67
|
+
functionCleanupArena.free();
|
|
68
|
+
|
|
69
|
+
diplomatReceive.free();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Fetch `key`, writing the value as base64 (PORTING rule 6). Errors with
|
|
75
|
+
* `NotFound` when the key is absent.
|
|
76
|
+
*/
|
|
77
|
+
getB64(key) {
|
|
78
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
79
|
+
|
|
80
|
+
const keySlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, key)));
|
|
81
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
82
|
+
|
|
83
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
const result = wasm.Store_get_b64(diplomatReceive.buffer, this.ffiValue, keySlice.ptr, write.buffer);
|
|
87
|
+
|
|
88
|
+
try {
|
|
89
|
+
if (!diplomatReceive.resultFlag) {
|
|
90
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
91
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
92
|
+
}
|
|
93
|
+
return write.readString8();
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
finally {
|
|
97
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
98
|
+
functionCleanupArena.free();
|
|
99
|
+
|
|
100
|
+
diplomatReceive.free();
|
|
101
|
+
write.free();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Store `data` at `key`.
|
|
107
|
+
*/
|
|
108
|
+
put(key, data) {
|
|
109
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
110
|
+
|
|
111
|
+
const keySlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, key)));
|
|
112
|
+
const dataSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.slice(wasm, data, "u8")));
|
|
113
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
const result = wasm.Store_put(diplomatReceive.buffer, this.ffiValue, keySlice.ptr, dataSlice.ptr);
|
|
117
|
+
|
|
118
|
+
try {
|
|
119
|
+
if (!diplomatReceive.resultFlag) {
|
|
120
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
121
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
finally {
|
|
126
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
127
|
+
functionCleanupArena.free();
|
|
128
|
+
|
|
129
|
+
diplomatReceive.free();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Whether `key` exists.
|
|
135
|
+
*/
|
|
136
|
+
exists(key) {
|
|
137
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
138
|
+
|
|
139
|
+
const keySlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, key)));
|
|
140
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 1, true);
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
const result = wasm.Store_exists(diplomatReceive.buffer, this.ffiValue, keySlice.ptr);
|
|
144
|
+
|
|
145
|
+
try {
|
|
146
|
+
if (!diplomatReceive.resultFlag) {
|
|
147
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
148
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
149
|
+
}
|
|
150
|
+
return (new Uint8Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0] === 1;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
finally {
|
|
154
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
155
|
+
functionCleanupArena.free();
|
|
156
|
+
|
|
157
|
+
diplomatReceive.free();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Delete `key` (idempotent).
|
|
163
|
+
*/
|
|
164
|
+
delete_(key) {
|
|
165
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
166
|
+
|
|
167
|
+
const keySlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, key)));
|
|
168
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
const result = wasm.Store_delete(diplomatReceive.buffer, this.ffiValue, keySlice.ptr);
|
|
172
|
+
|
|
173
|
+
try {
|
|
174
|
+
if (!diplomatReceive.resultFlag) {
|
|
175
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
176
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
finally {
|
|
181
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
182
|
+
functionCleanupArena.free();
|
|
183
|
+
|
|
184
|
+
diplomatReceive.free();
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* List keys under `prefix`, written as a JSON array string.
|
|
190
|
+
*/
|
|
191
|
+
list(prefix) {
|
|
192
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
193
|
+
|
|
194
|
+
const prefixSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, prefix)));
|
|
195
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
196
|
+
|
|
197
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
const result = wasm.Store_list(diplomatReceive.buffer, this.ffiValue, prefixSlice.ptr, write.buffer);
|
|
201
|
+
|
|
202
|
+
try {
|
|
203
|
+
if (!diplomatReceive.resultFlag) {
|
|
204
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
205
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
206
|
+
}
|
|
207
|
+
return write.readString8();
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
finally {
|
|
211
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
212
|
+
functionCleanupArena.free();
|
|
213
|
+
|
|
214
|
+
diplomatReceive.free();
|
|
215
|
+
write.free();
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Atomically write `data` at `key` only if it does not already exist.
|
|
221
|
+
* Returns `true` if written, `false` if the key existed.
|
|
222
|
+
*/
|
|
223
|
+
putIfAbsent(key, data) {
|
|
224
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
225
|
+
|
|
226
|
+
const keySlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, key)));
|
|
227
|
+
const dataSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.slice(wasm, data, "u8")));
|
|
228
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 1, true);
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
const result = wasm.Store_put_if_absent(diplomatReceive.buffer, this.ffiValue, keySlice.ptr, dataSlice.ptr);
|
|
232
|
+
|
|
233
|
+
try {
|
|
234
|
+
if (!diplomatReceive.resultFlag) {
|
|
235
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
236
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
237
|
+
}
|
|
238
|
+
return (new Uint8Array(wasm.memory.buffer, diplomatReceive.buffer, 1))[0] === 1;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
finally {
|
|
242
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
243
|
+
functionCleanupArena.free();
|
|
244
|
+
|
|
245
|
+
diplomatReceive.free();
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* A keyset page of keys under `prefix`. `after` is the exclusive cursor
|
|
251
|
+
* (empty string for the first page); at most `limit` keys are returned.
|
|
252
|
+
* Writes a JSON object string `{"keys":[...],"next":"…"|null}`.
|
|
253
|
+
*/
|
|
254
|
+
listPaginated(prefix, after, limit) {
|
|
255
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
256
|
+
|
|
257
|
+
const prefixSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, prefix)));
|
|
258
|
+
const afterSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, after)));
|
|
259
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
260
|
+
|
|
261
|
+
const write = new diplomatRuntime.DiplomatWriteBuf(wasm);
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
const result = wasm.Store_list_paginated(diplomatReceive.buffer, this.ffiValue, prefixSlice.ptr, afterSlice.ptr, limit, write.buffer);
|
|
265
|
+
|
|
266
|
+
try {
|
|
267
|
+
if (!diplomatReceive.resultFlag) {
|
|
268
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
269
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
270
|
+
}
|
|
271
|
+
return write.readString8();
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
finally {
|
|
275
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
276
|
+
functionCleanupArena.free();
|
|
277
|
+
|
|
278
|
+
diplomatReceive.free();
|
|
279
|
+
write.free();
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Health check: `Ok` when the store is usable.
|
|
285
|
+
*/
|
|
286
|
+
health() {
|
|
287
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
const result = wasm.Store_health(diplomatReceive.buffer, this.ffiValue);
|
|
291
|
+
|
|
292
|
+
try {
|
|
293
|
+
if (!diplomatReceive.resultFlag) {
|
|
294
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
295
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
finally {
|
|
300
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
301
|
+
diplomatReceive.free();
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Open a schematic stored at `key` in this store. Works for every
|
|
307
|
+
* backend, including `redis://`/`postgres://`/`mem://` that the
|
|
308
|
+
* single-string URI form (`StoreIo::open`) rejects.
|
|
309
|
+
*/
|
|
310
|
+
openSchematic(key) {
|
|
311
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
312
|
+
|
|
313
|
+
const keySlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, key)));
|
|
314
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
const result = wasm.Store_open_schematic(diplomatReceive.buffer, this.ffiValue, keySlice.ptr);
|
|
318
|
+
|
|
319
|
+
try {
|
|
320
|
+
if (!diplomatReceive.resultFlag) {
|
|
321
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
322
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
323
|
+
}
|
|
324
|
+
return new Schematic(diplomatRuntime.internalConstructor, diplomatRuntime.ptrRead(wasm, diplomatReceive.buffer), []);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
finally {
|
|
328
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
329
|
+
functionCleanupArena.free();
|
|
330
|
+
|
|
331
|
+
diplomatReceive.free();
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Save a schematic at `key` in this store. `version` selects the format
|
|
337
|
+
* version (empty string = format default). Works for every backend,
|
|
338
|
+
* including `redis://`/`postgres://`/`mem://` that the single-string URI
|
|
339
|
+
* form (`StoreIo::save`) rejects.
|
|
340
|
+
*/
|
|
341
|
+
saveSchematic(schematic, key, version) {
|
|
342
|
+
let functionCleanupArena = new diplomatRuntime.CleanupArena();
|
|
343
|
+
|
|
344
|
+
const keySlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, key)));
|
|
345
|
+
const versionSlice = functionCleanupArena.alloc(diplomatRuntime.DiplomatBuf.sliceWrapper(wasm, diplomatRuntime.DiplomatBuf.str8(wasm, version)));
|
|
346
|
+
const diplomatReceive = new diplomatRuntime.DiplomatReceiveBuf(wasm, 5, 4, true);
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
const result = wasm.Store_save_schematic(diplomatReceive.buffer, this.ffiValue, schematic.ffiValue, keySlice.ptr, versionSlice.ptr);
|
|
350
|
+
|
|
351
|
+
try {
|
|
352
|
+
if (!diplomatReceive.resultFlag) {
|
|
353
|
+
const cause = new NucleationError(diplomatRuntime.internalConstructor, diplomatRuntime.enumDiscriminant(wasm, diplomatReceive.buffer));
|
|
354
|
+
throw new globalThis.Error('NucleationError.' + cause.value, { cause });
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
finally {
|
|
359
|
+
diplomatRuntime.FUNCTION_PARAM_ALLOC.clean();
|
|
360
|
+
functionCleanupArena.free();
|
|
361
|
+
|
|
362
|
+
diplomatReceive.free();
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
constructor(symbol, ptr, selfEdge) {
|
|
367
|
+
return this.#internalConstructor(...arguments)
|
|
368
|
+
}
|
|
369
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import type { Schematic } from "./Schematic.mjs"
|
|
4
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Namespace type for the URI-based transparent I/O and format-manager
|
|
10
|
+
* queries (PORTING rule 12).
|
|
11
|
+
*/
|
|
12
|
+
export class StoreIo {
|
|
13
|
+
/** @internal */
|
|
14
|
+
get ffiValue(): pointer;
|
|
15
|
+
/** @internal */
|
|
16
|
+
constructor();
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Open a schematic from a URI: a local path, `file://...`, or
|
|
21
|
+
* `s3://bucket/key.schem`. The format is auto-detected from the URI's
|
|
22
|
+
* extension. Single-string URIs for `redis://`, `postgres://`, and
|
|
23
|
+
* `mem://` are rejected by the core resolver; use `Store::open_schematic`
|
|
24
|
+
* with an explicit store for those backends.
|
|
25
|
+
*/
|
|
26
|
+
static open(uri: string): Schematic;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Save a schematic to a URI: a local path, `file://...`, or
|
|
30
|
+
* `s3://bucket/key.schem`. The format is auto-detected from the URI's
|
|
31
|
+
* extension; `version` selects the format version (empty string =
|
|
32
|
+
* format default). Single-string URIs for `redis://`, `postgres://`, and
|
|
33
|
+
* `mem://` are rejected by the core resolver; use `Store::save_schematic`
|
|
34
|
+
* with an explicit store for those backends.
|
|
35
|
+
*/
|
|
36
|
+
static save(schematic: Schematic, uri: string, version: string): void;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The JSON schema describing the export settings of `format`. Errors
|
|
40
|
+
* with `NotFound` for an unknown format.
|
|
41
|
+
*/
|
|
42
|
+
static exportSettingsSchema(format: string): string;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* The JSON schema describing the import settings of `format`. Errors
|
|
46
|
+
* with `NotFound` for an unknown format.
|
|
47
|
+
*/
|
|
48
|
+
static importSettingsSchema(format: string): string;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The supported import formats, written as a JSON array string.
|
|
52
|
+
*/
|
|
53
|
+
static supportedImportFormats(): string;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* The supported export formats, written as a JSON array string.
|
|
57
|
+
*/
|
|
58
|
+
static supportedExportFormats(): string;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The known versions of an export format, written as a JSON array string
|
|
62
|
+
* (empty array for an unknown format, matching the old ABI).
|
|
63
|
+
*/
|
|
64
|
+
static formatVersions(format: string): string;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* The default version of an export format. Errors with `NotFound` for an
|
|
68
|
+
* unknown format.
|
|
69
|
+
*/
|
|
70
|
+
static defaultFormatVersion(format: string): string;
|
|
71
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// generated by diplomat-tool
|
|
2
|
+
import type { NucleationError } from "./NucleationError.mjs"
|
|
3
|
+
import type { Schematic } from "./Schematic.mjs"
|
|
4
|
+
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Namespace type for the URI-based transparent I/O and format-manager
|
|
10
|
+
* queries (PORTING rule 12).
|
|
11
|
+
*/
|
|
12
|
+
export class StoreIo {
|
|
13
|
+
/** @internal */
|
|
14
|
+
get ffiValue(): pointer;
|
|
15
|
+
/** @internal */
|
|
16
|
+
constructor();
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Open a schematic from a URI: a local path, `file://...`, or
|
|
21
|
+
* `s3://bucket/key.schem`. The format is auto-detected from the URI's
|
|
22
|
+
* extension. Single-string URIs for `redis://`, `postgres://`, and
|
|
23
|
+
* `mem://` are rejected by the core resolver; use `Store::open_schematic`
|
|
24
|
+
* with an explicit store for those backends.
|
|
25
|
+
*/
|
|
26
|
+
static open(uri: string): Schematic;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Save a schematic to a URI: a local path, `file://...`, or
|
|
30
|
+
* `s3://bucket/key.schem`. The format is auto-detected from the URI's
|
|
31
|
+
* extension; `version` selects the format version (empty string =
|
|
32
|
+
* format default). Single-string URIs for `redis://`, `postgres://`, and
|
|
33
|
+
* `mem://` are rejected by the core resolver; use `Store::save_schematic`
|
|
34
|
+
* with an explicit store for those backends.
|
|
35
|
+
*/
|
|
36
|
+
static save(schematic: Schematic, uri: string, version: string): void;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The JSON schema describing the export settings of `format`. Errors
|
|
40
|
+
* with `NotFound` for an unknown format.
|
|
41
|
+
*/
|
|
42
|
+
static exportSettingsSchema(format: string): string;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* The JSON schema describing the import settings of `format`. Errors
|
|
46
|
+
* with `NotFound` for an unknown format.
|
|
47
|
+
*/
|
|
48
|
+
static importSettingsSchema(format: string): string;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The supported import formats, written as a JSON array string.
|
|
52
|
+
*/
|
|
53
|
+
static supportedImportFormats(): string;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* The supported export formats, written as a JSON array string.
|
|
57
|
+
*/
|
|
58
|
+
static supportedExportFormats(): string;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The known versions of an export format, written as a JSON array string
|
|
62
|
+
* (empty array for an unknown format, matching the old ABI).
|
|
63
|
+
*/
|
|
64
|
+
static formatVersions(format: string): string;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* The default version of an export format. Errors with `NotFound` for an
|
|
68
|
+
* unknown format.
|
|
69
|
+
*/
|
|
70
|
+
static defaultFormatVersion(format: string): string;
|
|
71
|
+
}
|