@formata/stof 0.9.14 → 0.9.16
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 +162 -98
- package/dist/doc.d.ts.map +1 -1
- package/dist/doc.js +2 -1
- package/dist/doc.js.map +1 -1
- package/dist/pkg/stof.d.ts +12 -2
- package/dist/pkg/stof.js +44 -9
- package/dist/pkg/stof_bg.wasm +0 -0
- package/dist/pkg/stof_bg.wasm.d.ts +3 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,104 +1,178 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Stof: Data + Logic, Anywhere
|
|
2
|
+
### Standard Transformation and Organization Format
|
|
2
3
|
|
|
3
|
-
<p align="
|
|
4
|
+
<p align="left">
|
|
4
5
|
<a href="https://docs.stof.dev" style="margin: 3px"><img src="https://img.shields.io/badge/docs-docs.stof.dev-purple?logo=gitbook&logoColor=white"></a>
|
|
5
6
|
<a href="https://github.com/dev-formata-io/stof" style="margin: 3px"><img src="https://img.shields.io/github/stars/dev-formata-io/stof"></a>
|
|
6
7
|
<a href="https://github.com/dev-formata-io/stof/actions" style="margin: 3px"><img src="https://img.shields.io/github/actions/workflow/status/dev-formata-io/stof/rust.yml"></a>
|
|
8
|
+
<a href="https://www.npmjs.com/package/@formata/stof"><img src="https://img.shields.io/npm/d18m/%40formata%2Fstof?label=npm%3A%40formata%2Fstof&color=orange"></a>
|
|
7
9
|
<a href="https://crates.io/crates/stof" style="margin: 3px"><img src="https://img.shields.io/crates/d/stof?label=crate%20downloads&color=aqua"></a>
|
|
8
10
|
<a href="https://crates.io/crates/stof" style="margin: 3px"><img src="https://img.shields.io/crates/l/stof?color=maroon"></a>
|
|
9
11
|
</p>
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
- [Site](https://stof.dev)
|
|
13
14
|
- [Docs](https://docs.stof.dev)
|
|
14
15
|
- [Playground](https://play.stof.dev)
|
|
15
16
|
- [GitHub](https://github.com/dev-formata-io/stof)
|
|
16
17
|
- [Discord](https://discord.gg/Up5kxdeXZt)
|
|
17
|
-
- [Install](https://docs.stof.dev/book/installation)
|
|
18
18
|
|
|
19
19
|
<br/>
|
|
20
20
|
|
|
21
|
-

|
|
22
|
-
|
|
23
21
|
## Overview
|
|
24
|
-
Send functions + data over APIs, write configs that validate themselves, build data pipelines where transformations travel with the data, store logic + data in a database, etc.
|
|
25
22
|
|
|
26
|
-
|
|
23
|
+
Data and logic have always been separate. That makes things hard. Stof puts them together.
|
|
27
24
|
|
|
28
|
-
|
|
25
|
+
A portable document format where validation, functions, and behavior live alongside the data they belong to — in one document, across any service, language, or runtime.
|
|
29
26
|
|
|
30
|
-
|
|
27
|
+
- **Superset of JSON** — valid JSON is always valid Stof. Works with YAML, TOML, and more out of the box.
|
|
28
|
+
- **Sandboxed execution** — logic runs in a secure, isolated runtime. Safe to execute untrusted code from external sources.
|
|
29
|
+
- **Built in Rust, runs everywhere** — native crate, WebAssembly for JS/TS (Node, Deno, Bun, browser), and Python bindings via PyPI.
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
- Write data + logic once, use it everywhere (JS, Rust, Python, anywhere your app lives)
|
|
34
|
-
- Format-agnostic I/O (works with JSON, YAML, TOML, PDF, binaries, etc.)
|
|
35
|
-
- Sandboxed logic + execution in your data (as data)
|
|
36
|
-
- Send functions over APIs
|
|
37
|
-
- Doesn't need a large ecosystem to work
|
|
31
|
+
> Used in production: [Limitr](https://limitr.dev)'s pricing policy engine — plans, credits, limits, validation logic — runs entirely on Stof.
|
|
38
32
|
|
|
39
|
-
### Example Use-Cases
|
|
40
|
-
- Smart configs with validation and logic
|
|
41
|
-
- Data interchange with sandboxed execution
|
|
42
|
-
- Prompts as human-readable & maintainable data + code
|
|
43
|
-
- AI/LLM workflows and model configs
|
|
44
|
-
- Data pipelines with built-in processing
|
|
45
|
-
- Integration glue between systems
|
|
46
|
-
- Self-describing datasets
|
|
47
|
-
- ... basically anywhere data meets logic
|
|
48
33
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
prompt context: prompt("trees of strings", tag="optional-xml-tag",
|
|
60
|
-
prompt("behaves like a tree for workflows & functions"),
|
|
61
|
-
prompt("just cast to/from str anywhere strings are needed")
|
|
62
|
-
// Std.prompt(..) can take N prompts as sub-prompts
|
|
63
|
-
);
|
|
34
|
+
## Data That Does Things
|
|
35
|
+
|
|
36
|
+
Stof starts where JSON ends. Add functions right next to the data they operate on.
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { stofAsync } from '@formata/stof';
|
|
40
|
+
|
|
41
|
+
const doc = await stofAsync`
|
|
42
|
+
name: "Alice"
|
|
43
|
+
age: 30
|
|
64
44
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
45
|
+
fn greet() -> str {
|
|
46
|
+
'Hello, ' + self.name + '!'
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
fn can_rent_car() -> bool {
|
|
50
|
+
self.age >= 25
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
70
53
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
54
|
+
console.log(await doc.call('greet')); // Hello, Alice!
|
|
55
|
+
console.log(await doc.call('can_rent_car')); // true
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
No separate schema file. No external validator. The data knows its own rules.
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
## Units & Types
|
|
62
|
+
|
|
63
|
+
Rich type system with automatic unit conversions — time, distance, memory, temperature, and more.
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
import { stofAsync } from '@formata/stof';
|
|
67
|
+
|
|
68
|
+
const doc = await stofAsync`
|
|
69
|
+
#[type]
|
|
70
|
+
Point: {
|
|
71
|
+
meters x: 0
|
|
72
|
+
meters y: 0
|
|
73
|
+
|
|
74
|
+
fn dist(other: Point) -> m {
|
|
75
|
+
Num.sqrt((other.x - self.x).pow(2) + (other.y - self.y).pow(2))
|
|
85
76
|
}
|
|
77
|
+
}
|
|
86
78
|
|
|
87
|
-
|
|
88
|
-
|
|
79
|
+
Point reference: {
|
|
80
|
+
x: 1ft
|
|
81
|
+
y: 2ft
|
|
89
82
|
}
|
|
90
83
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
pln(self.field); // Std.pln(..) print line function
|
|
96
|
-
drop(this); // "this" is always the last fn on the call stack
|
|
97
|
-
true // "return" keyword is optional (no ";")
|
|
84
|
+
fn distance(imported_json: str) -> inches {
|
|
85
|
+
const imported = new {};
|
|
86
|
+
parse(imported_json, imported, 'json');
|
|
87
|
+
(self.reference.dist(imported) as inches).round(2)
|
|
98
88
|
}
|
|
89
|
+
`;
|
|
90
|
+
|
|
91
|
+
const dist = await doc.call('distance', '{ "x": 3, "y": 4 }');
|
|
92
|
+
console.log(dist); // 170.52
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
## Format Interop
|
|
97
|
+
|
|
98
|
+
Combine JSON, YAML, TOML, and Stof in a single document. Parse one format, transform it, export as another.
|
|
99
|
+
|
|
100
|
+
```typescript
|
|
101
|
+
import { stofAsync } from '@formata/stof';
|
|
102
|
+
|
|
103
|
+
const doc = await stofAsync`{
|
|
104
|
+
json: '{"plans":{"pro":{"label":"Pro","price":{"amount":20},"entitlements":{"ai_chat":{"description":"AI Chat Feature","limit":{"credit":"chat-token","value":100000,"resets":true,"reset_inc":1.0}}}}}}'
|
|
105
|
+
yaml: ''
|
|
106
|
+
|
|
107
|
+
fn transform() {
|
|
108
|
+
const policy = new {};
|
|
109
|
+
parse(self.json, policy, 'json');
|
|
110
|
+
|
|
111
|
+
policy.plans.pro.price.amount = 50;
|
|
112
|
+
const entitlements = policy.plans.pro.entitlements;
|
|
113
|
+
entitlements.ai_chat.limit.value *= 2;
|
|
114
|
+
|
|
115
|
+
self.yaml = stringify('yaml', policy);
|
|
116
|
+
Std.pln(self.yaml);
|
|
117
|
+
}
|
|
118
|
+
}`;
|
|
119
|
+
doc.lib('Std', 'pln', (...args: unknown[])=>console.log(...args));
|
|
120
|
+
|
|
121
|
+
await doc.call('transform');
|
|
122
|
+
```
|
|
123
|
+
```
|
|
124
|
+
plans:
|
|
125
|
+
pro:
|
|
126
|
+
label: Pro
|
|
127
|
+
price:
|
|
128
|
+
amount: 50
|
|
129
|
+
entitlements:
|
|
130
|
+
ai_chat:
|
|
131
|
+
description: AI Chat Feature
|
|
132
|
+
limit:
|
|
133
|
+
credit: chat-token
|
|
134
|
+
value: 200000
|
|
135
|
+
resets: true
|
|
136
|
+
reset_inc: 1.0
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
## Self-Expanding Contexts
|
|
141
|
+
|
|
142
|
+
This is the capability that changes everything.
|
|
143
|
+
|
|
144
|
+
Stof documents can parse new Stof into themselves at runtime — receiving code over the network and immediately executing it. The program grows while it runs, always sandboxed.
|
|
145
|
+
|
|
146
|
+
```typescript
|
|
147
|
+
import { stofAsync } from '@formata/stof';
|
|
148
|
+
|
|
149
|
+
const doc = await stofAsync`
|
|
150
|
+
api: {}
|
|
151
|
+
|
|
152
|
+
fn load_api(stof: str) {
|
|
153
|
+
parse(stof, self.api);
|
|
154
|
+
}`;
|
|
155
|
+
|
|
156
|
+
// Imagine this arriving over HTTP, from another service, or from an agent
|
|
157
|
+
const api = `
|
|
158
|
+
name: 'Stof'
|
|
159
|
+
fn message() -> str { 'Hello, ' + self.name ?? 'World' + '!!' }
|
|
160
|
+
|
|
161
|
+
#[main]
|
|
162
|
+
fn main() {
|
|
163
|
+
pln(self.message());
|
|
164
|
+
}`;
|
|
165
|
+
|
|
166
|
+
doc.lib('Std', 'pln', (...args: unknown[])=>console.log(...args));
|
|
167
|
+
await doc.call('load_api', api);
|
|
168
|
+
await doc.run(); // calls #[main] funcs
|
|
169
|
+
|
|
170
|
+
// Hello, Stof
|
|
99
171
|
```
|
|
100
172
|
|
|
173
|
+
|
|
101
174
|
## CLI
|
|
175
|
+
|
|
102
176
|
See [installation docs](https://docs.stof.dev/book/installation) for CLI instructions and more information.
|
|
103
177
|
|
|
104
178
|
```rust
|
|
@@ -112,13 +186,16 @@ fn say_hi() {
|
|
|
112
186
|
Hello, world!
|
|
113
187
|
```
|
|
114
188
|
|
|
115
|
-
|
|
116
|
-
|
|
189
|
+
|
|
190
|
+
## Embedded
|
|
191
|
+
|
|
192
|
+
Stof is written in Rust, but use it where you work. Join the project [Discord](https://discord.gg/Up5kxdeXZt) to contribute.
|
|
117
193
|
|
|
118
194
|
### Rust
|
|
119
|
-
|
|
195
|
+
|
|
196
|
+
```toml
|
|
120
197
|
[dependencies]
|
|
121
|
-
stof = "0.
|
|
198
|
+
stof = "0.9.*"
|
|
122
199
|
```
|
|
123
200
|
```rust
|
|
124
201
|
use stof::model::Graph;
|
|
@@ -141,9 +218,8 @@ fn main() {
|
|
|
141
218
|
```
|
|
142
219
|
|
|
143
220
|
### Python
|
|
144
|
-
Stof is available on [PyPi](https://pypi.org/project/stof). Just `pip install stof` and import the `pystof` module to get started.
|
|
145
221
|
|
|
146
|
-
|
|
222
|
+
`pip install stof`
|
|
147
223
|
|
|
148
224
|
```python
|
|
149
225
|
from pystof import Doc
|
|
@@ -174,12 +250,10 @@ if __name__ == "__main__":
|
|
|
174
250
|
|
|
175
251
|
### JavaScript/TypeScript
|
|
176
252
|
|
|
177
|
-
|
|
178
|
-
```bash
|
|
179
|
-
npm install @formata/stof
|
|
180
|
-
```
|
|
253
|
+
`npm i @formata/stof`
|
|
181
254
|
|
|
182
255
|
#### Initialization
|
|
256
|
+
|
|
183
257
|
Stof uses WebAssembly, so make sure to initialize it once.
|
|
184
258
|
|
|
185
259
|
```typescript
|
|
@@ -198,24 +272,22 @@ import stofWasm from '@formata/stof/wasm';
|
|
|
198
272
|
await initStof(await stofWasm());
|
|
199
273
|
```
|
|
200
274
|
|
|
201
|
-
####
|
|
275
|
+
#### Usage
|
|
276
|
+
|
|
202
277
|
```typescript
|
|
203
278
|
import { initStof, StofDoc } from '@formata/stof';
|
|
204
279
|
|
|
205
|
-
// Initialize once at startup
|
|
206
280
|
await initStof();
|
|
207
281
|
|
|
208
|
-
// Create and parse documents
|
|
209
282
|
const doc = new StofDoc();
|
|
210
283
|
doc.parse(`
|
|
211
284
|
name: "Alice"
|
|
212
285
|
age: 30
|
|
213
|
-
fn greet() ->
|
|
214
|
-
|
|
286
|
+
fn greet() -> str {
|
|
287
|
+
'Hello, ' + self.name
|
|
215
288
|
}
|
|
216
289
|
`);
|
|
217
290
|
|
|
218
|
-
// Call functions and access values
|
|
219
291
|
const greeting = await doc.call('greet');
|
|
220
292
|
console.log(greeting); // "Hello, Alice"
|
|
221
293
|
console.log(doc.get('age')); // 30
|
|
@@ -223,12 +295,10 @@ console.log(doc.get('age')); // 30
|
|
|
223
295
|
|
|
224
296
|
#### JavaScript Interop
|
|
225
297
|
|
|
226
|
-
Call JavaScript functions from Stof:
|
|
227
298
|
```typescript
|
|
228
299
|
await initStof();
|
|
229
300
|
const doc = new StofDoc();
|
|
230
301
|
|
|
231
|
-
// Register JS functions
|
|
232
302
|
doc.lib('console', 'log', (...args: unknown[]) => console.log(...args));
|
|
233
303
|
doc.lib('fetch', 'get', async (url: string) => {
|
|
234
304
|
const res = await fetch(url);
|
|
@@ -246,30 +316,24 @@ await doc.call('main');
|
|
|
246
316
|
```
|
|
247
317
|
|
|
248
318
|
#### Parse & Export
|
|
319
|
+
|
|
249
320
|
```typescript
|
|
250
|
-
// Parse from JSON
|
|
251
321
|
doc.parse({ name: "Bob", age: 25 });
|
|
252
322
|
|
|
253
|
-
// Export to different formats
|
|
254
323
|
const json = doc.stringify('json');
|
|
255
|
-
const obj = doc.record();
|
|
324
|
+
const obj = doc.record();
|
|
256
325
|
```
|
|
257
326
|
|
|
258
327
|
**Supports**: Node.js, Browser, Deno, Bun, Edge runtimes
|
|
259
328
|
|
|
260
|
-
## Research & Exploration
|
|
261
|
-
Stof explores several research areas:
|
|
262
|
-
|
|
263
|
-
- Practical code mobility at scale with modern type systems
|
|
264
|
-
- Security models for distributed computation-as-data
|
|
265
|
-
- Performance characteristics of serializable computation vs traditional RPC
|
|
266
|
-
- Formal semantics for "code as data" in distributed systems
|
|
267
|
-
- Edge computing, data pipelines, and collaborative systems
|
|
268
329
|
|
|
269
330
|
## License
|
|
331
|
+
|
|
270
332
|
Apache 2.0. See LICENSE for details.
|
|
271
333
|
|
|
334
|
+
|
|
272
335
|
## Feedback & Community
|
|
336
|
+
|
|
273
337
|
- Open issues or discussions on [GitHub](https://github.com/dev-formata-io/stof)
|
|
274
338
|
- Chat with us on [Discord](https://discord.gg/Up5kxdeXZt)
|
|
275
339
|
- Star the project to support future development!
|
package/dist/doc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../doc.ts"],"names":[],"mappings":"AAiBA,OAAa,EAAE,IAAI,EAAY,MAAM,eAAe,CAAC;AAErD,cAAc,eAAe,CAAC;AAG9B;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CA4DnF;AAGD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAGD;;;GAGG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAYjF;AAGD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAUrG;AAkBD;;GAEG;AACH,qBAAa,OAAO;IAChB,MAAM,CAAC,QAAQ,CAAC,OAAO,YAAY;IACnC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAmB;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IACzC,IAAI,EAAE,IAAI,CAAC;IAGX;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAajE;;;OAGG;gBACS,IAAI,GAAE,IAAiB;IAKnC;;OAEG;WACU,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;IAMpC;;OAEG;WACU,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAOlE;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAOxD;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,EAAE,MAAM,GAAE,MAAe,EAAE,IAAI,GAAE,MAAM,GAAG,IAAW,EAAE,OAAO,GAAE,MAAM,GAAG,MAAe,GAAG,OAAO;IAU1J;;OAEG;IAEH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAE,OAAe;
|
|
1
|
+
{"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../doc.ts"],"names":[],"mappings":"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"}
|
package/dist/doc.js
CHANGED
|
@@ -200,7 +200,8 @@ export class StofDoc {
|
|
|
200
200
|
*/
|
|
201
201
|
// deno-lint-ignore ban-types
|
|
202
202
|
lib(library, name, func, is_async = false) {
|
|
203
|
-
this.stof.
|
|
203
|
+
const docid = this.stof.docid();
|
|
204
|
+
this.stof.js_library_function(new StofFunc(docid, library, name, func, is_async));
|
|
204
205
|
}
|
|
205
206
|
/**
|
|
206
207
|
* Run this document with a given set of Stof attributes.
|
package/dist/doc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc.js","sourceRoot":"","sources":["../doc.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"doc.js","sourceRoot":"","sources":["../doc.ts"],"names":[],"mappings":"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"}
|
package/dist/pkg/stof.d.ts
CHANGED
|
@@ -53,6 +53,10 @@ export class Stof {
|
|
|
53
53
|
* Otherwise, pass an array of arguments as args.
|
|
54
54
|
*/
|
|
55
55
|
call(path: string, args: any): Promise<any>;
|
|
56
|
+
/**
|
|
57
|
+
* Get the ID of this document as a string.
|
|
58
|
+
*/
|
|
59
|
+
docid(): string;
|
|
56
60
|
/**
|
|
57
61
|
* Parse Stof into this document, optionally within the specified node (pass null for root node).
|
|
58
62
|
*/
|
|
@@ -78,7 +82,11 @@ export class StofFunc {
|
|
|
78
82
|
/**
|
|
79
83
|
* Create a new Stof function from a JS function.
|
|
80
84
|
*/
|
|
81
|
-
constructor(library: string, name: string, js_function: any, is_async: boolean);
|
|
85
|
+
constructor(docid: string, library: string, name: string, js_function: any, is_async: boolean);
|
|
86
|
+
/**
|
|
87
|
+
* Doc id for this function.
|
|
88
|
+
*/
|
|
89
|
+
docid(): string;
|
|
82
90
|
}
|
|
83
91
|
|
|
84
92
|
export function start(): void;
|
|
@@ -93,6 +101,7 @@ export interface InitOutput {
|
|
|
93
101
|
readonly stof_binaryExport: (a: number, b: number, c: number, d: any) => [number, number, number];
|
|
94
102
|
readonly stof_binaryImport: (a: number, b: any, c: number, d: number, e: any, f: number, g: number) => [number, number, number];
|
|
95
103
|
readonly stof_call: (a: number, b: number, c: number, d: any) => any;
|
|
104
|
+
readonly stof_docid: (a: number) => [number, number];
|
|
96
105
|
readonly stof_get: (a: number, b: number, c: number, d: any) => any;
|
|
97
106
|
readonly stof_js_library_function: (a: number, b: number) => void;
|
|
98
107
|
readonly stof_new: () => number;
|
|
@@ -104,7 +113,8 @@ export interface InitOutput {
|
|
|
104
113
|
readonly stof_stringImport: (a: number, b: number, c: number, d: number, e: number, f: any, g: number, h: number) => [number, number, number];
|
|
105
114
|
readonly stof_sync_call: (a: number, b: number, c: number, d: any) => [number, number, number];
|
|
106
115
|
readonly stof_sync_run: (a: number, b: any) => [number, number, number, number];
|
|
107
|
-
readonly
|
|
116
|
+
readonly stoffunc_docid: (a: number) => [number, number];
|
|
117
|
+
readonly stoffunc_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: any, h: number) => number;
|
|
108
118
|
readonly wasm_bindgen__convert__closures_____invoke__h53d5cf04cab8438f: (a: number, b: number, c: any) => void;
|
|
109
119
|
readonly wasm_bindgen__closure__destroy__h72b14ab7db8750ca: (a: number, b: number) => void;
|
|
110
120
|
readonly wasm_bindgen__convert__closures_____invoke__ha84735728bfe97a9: (a: number, b: number, c: any, d: any) => void;
|
package/dist/pkg/stof.js
CHANGED
|
@@ -414,6 +414,22 @@ export class Stof {
|
|
|
414
414
|
const ret = wasm.stof_call(this.__wbg_ptr, ptr0, len0, args);
|
|
415
415
|
return ret;
|
|
416
416
|
}
|
|
417
|
+
/**
|
|
418
|
+
* Get the ID of this document as a string.
|
|
419
|
+
* @returns {string}
|
|
420
|
+
*/
|
|
421
|
+
docid() {
|
|
422
|
+
let deferred1_0;
|
|
423
|
+
let deferred1_1;
|
|
424
|
+
try {
|
|
425
|
+
const ret = wasm.stof_docid(this.__wbg_ptr);
|
|
426
|
+
deferred1_0 = ret[0];
|
|
427
|
+
deferred1_1 = ret[1];
|
|
428
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
429
|
+
} finally {
|
|
430
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
431
|
+
}
|
|
432
|
+
}
|
|
417
433
|
/**
|
|
418
434
|
* Parse Stof into this document, optionally within the specified node (pass null for root node).
|
|
419
435
|
* @param {string} stof
|
|
@@ -494,21 +510,40 @@ export class StofFunc {
|
|
|
494
510
|
}
|
|
495
511
|
/**
|
|
496
512
|
* Create a new Stof function from a JS function.
|
|
513
|
+
* @param {string} docid
|
|
497
514
|
* @param {string} library
|
|
498
515
|
* @param {string} name
|
|
499
516
|
* @param {any} js_function
|
|
500
517
|
* @param {boolean} is_async
|
|
501
518
|
*/
|
|
502
|
-
constructor(library, name, js_function, is_async) {
|
|
503
|
-
const ptr0 = passStringToWasm0(
|
|
519
|
+
constructor(docid, library, name, js_function, is_async) {
|
|
520
|
+
const ptr0 = passStringToWasm0(docid, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
504
521
|
const len0 = WASM_VECTOR_LEN;
|
|
505
|
-
const ptr1 = passStringToWasm0(
|
|
522
|
+
const ptr1 = passStringToWasm0(library, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
506
523
|
const len1 = WASM_VECTOR_LEN;
|
|
507
|
-
const
|
|
524
|
+
const ptr2 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
525
|
+
const len2 = WASM_VECTOR_LEN;
|
|
526
|
+
const ret = wasm.stoffunc_new(ptr0, len0, ptr1, len1, ptr2, len2, js_function, is_async);
|
|
508
527
|
this.__wbg_ptr = ret >>> 0;
|
|
509
528
|
StofFuncFinalization.register(this, this.__wbg_ptr, this);
|
|
510
529
|
return this;
|
|
511
530
|
}
|
|
531
|
+
/**
|
|
532
|
+
* Doc id for this function.
|
|
533
|
+
* @returns {string}
|
|
534
|
+
*/
|
|
535
|
+
docid() {
|
|
536
|
+
let deferred1_0;
|
|
537
|
+
let deferred1_1;
|
|
538
|
+
try {
|
|
539
|
+
const ret = wasm.stoffunc_docid(this.__wbg_ptr);
|
|
540
|
+
deferred1_0 = ret[0];
|
|
541
|
+
deferred1_1 = ret[1];
|
|
542
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
543
|
+
} finally {
|
|
544
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
545
|
+
}
|
|
546
|
+
}
|
|
512
547
|
}
|
|
513
548
|
if (Symbol.dispose) StofFunc.prototype[Symbol.dispose] = StofFunc.prototype.free;
|
|
514
549
|
|
|
@@ -970,6 +1005,11 @@ function __wbg_get_imports() {
|
|
|
970
1005
|
const ret = arg0.versions;
|
|
971
1006
|
return ret;
|
|
972
1007
|
};
|
|
1008
|
+
imports.wbg.__wbindgen_cast_19039c21a5ac44b6 = function(arg0, arg1) {
|
|
1009
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 7077, function: Function { arguments: [Externref], shim_idx: 7078, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
1010
|
+
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h72b14ab7db8750ca, wasm_bindgen__convert__closures_____invoke__h53d5cf04cab8438f);
|
|
1011
|
+
return ret;
|
|
1012
|
+
};
|
|
973
1013
|
imports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
|
|
974
1014
|
// Cast intrinsic for `Ref(String) -> Externref`.
|
|
975
1015
|
const ret = getStringFromWasm0(arg0, arg1);
|
|
@@ -980,11 +1020,6 @@ function __wbg_get_imports() {
|
|
|
980
1020
|
const ret = BigInt.asUintN(64, arg0);
|
|
981
1021
|
return ret;
|
|
982
1022
|
};
|
|
983
|
-
imports.wbg.__wbindgen_cast_93726e9b341af21e = function(arg0, arg1) {
|
|
984
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx: 7039, function: Function { arguments: [Externref], shim_idx: 7040, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
985
|
-
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h72b14ab7db8750ca, wasm_bindgen__convert__closures_____invoke__h53d5cf04cab8438f);
|
|
986
|
-
return ret;
|
|
987
|
-
};
|
|
988
1023
|
imports.wbg.__wbindgen_cast_9ae0607507abb057 = function(arg0) {
|
|
989
1024
|
// Cast intrinsic for `I64 -> Externref`.
|
|
990
1025
|
const ret = arg0;
|
package/dist/pkg/stof_bg.wasm
CHANGED
|
Binary file
|
|
@@ -7,6 +7,7 @@ export const start: () => void;
|
|
|
7
7
|
export const stof_binaryExport: (a: number, b: number, c: number, d: any) => [number, number, number];
|
|
8
8
|
export const stof_binaryImport: (a: number, b: any, c: number, d: number, e: any, f: number, g: number) => [number, number, number];
|
|
9
9
|
export const stof_call: (a: number, b: number, c: number, d: any) => any;
|
|
10
|
+
export const stof_docid: (a: number) => [number, number];
|
|
10
11
|
export const stof_get: (a: number, b: number, c: number, d: any) => any;
|
|
11
12
|
export const stof_js_library_function: (a: number, b: number) => void;
|
|
12
13
|
export const stof_new: () => number;
|
|
@@ -18,7 +19,8 @@ export const stof_stringExport: (a: number, b: number, c: number, d: any) => [nu
|
|
|
18
19
|
export const stof_stringImport: (a: number, b: number, c: number, d: number, e: number, f: any, g: number, h: number) => [number, number, number];
|
|
19
20
|
export const stof_sync_call: (a: number, b: number, c: number, d: any) => [number, number, number];
|
|
20
21
|
export const stof_sync_run: (a: number, b: any) => [number, number, number, number];
|
|
21
|
-
export const
|
|
22
|
+
export const stoffunc_docid: (a: number) => [number, number];
|
|
23
|
+
export const stoffunc_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: any, h: number) => number;
|
|
22
24
|
export const wasm_bindgen__convert__closures_____invoke__h53d5cf04cab8438f: (a: number, b: number, c: any) => void;
|
|
23
25
|
export const wasm_bindgen__closure__destroy__h72b14ab7db8750ca: (a: number, b: number) => void;
|
|
24
26
|
export const wasm_bindgen__convert__closures_____invoke__ha84735728bfe97a9: (a: number, b: number, c: any, d: any) => void;
|