toolcraft 0.0.223 → 0.0.225
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 +20 -3
- package/composition.json +4 -4
- package/dist/composition.json +4 -4
- package/node_modules/@poe-code/config-mutations/README.md +7 -0
- package/node_modules/@poe-code/frontmatter/README.md +2 -0
- package/node_modules/@poe-code/process-runner/README.md +2 -0
- package/node_modules/@poe-code/task-list/README.md +11 -0
- package/node_modules/smol-toml/README.md +249 -84
- package/node_modules/smol-toml/dist/date.d.ts +1 -0
- package/node_modules/smol-toml/dist/date.d.ts.map +1 -0
- package/node_modules/smol-toml/dist/date.js +1 -0
- package/node_modules/smol-toml/dist/date.js.map +1 -0
- package/node_modules/smol-toml/dist/error.d.ts +1 -0
- package/node_modules/smol-toml/dist/error.d.ts.map +1 -0
- package/node_modules/smol-toml/dist/error.js +1 -0
- package/node_modules/smol-toml/dist/error.js.map +1 -0
- package/node_modules/smol-toml/dist/extract.d.ts +1 -0
- package/node_modules/smol-toml/dist/extract.d.ts.map +1 -0
- package/node_modules/smol-toml/dist/extract.js +11 -10
- package/node_modules/smol-toml/dist/extract.js.map +1 -0
- package/node_modules/smol-toml/dist/index.cjs +658 -847
- package/node_modules/smol-toml/dist/index.cjs.map +1 -0
- package/node_modules/smol-toml/dist/index.d.ts +2 -1
- package/node_modules/smol-toml/dist/index.d.ts.map +1 -0
- package/node_modules/smol-toml/dist/index.js +1 -0
- package/node_modules/smol-toml/dist/index.js.map +1 -0
- package/node_modules/smol-toml/dist/parse.d.ts +1 -0
- package/node_modules/smol-toml/dist/parse.d.ts.map +1 -0
- package/node_modules/smol-toml/dist/parse.js +4 -4
- package/node_modules/smol-toml/dist/parse.js.map +1 -0
- package/node_modules/smol-toml/dist/primitive.d.ts +2 -1
- package/node_modules/smol-toml/dist/primitive.d.ts.map +1 -0
- package/node_modules/smol-toml/dist/primitive.js +130 -72
- package/node_modules/smol-toml/dist/primitive.js.map +1 -0
- package/node_modules/smol-toml/dist/stringify.d.ts +1 -0
- package/node_modules/smol-toml/dist/stringify.d.ts.map +1 -0
- package/node_modules/smol-toml/dist/stringify.js +2 -1
- package/node_modules/smol-toml/dist/stringify.js.map +1 -0
- package/node_modules/smol-toml/dist/struct.d.ts +1 -0
- package/node_modules/smol-toml/dist/struct.d.ts.map +1 -0
- package/node_modules/smol-toml/dist/struct.js +6 -11
- package/node_modules/smol-toml/dist/struct.js.map +1 -0
- package/node_modules/smol-toml/dist/util.d.ts +1 -1
- package/node_modules/smol-toml/dist/util.d.ts.map +1 -0
- package/node_modules/smol-toml/dist/util.js +3 -28
- package/node_modules/smol-toml/dist/util.js.map +1 -0
- package/node_modules/smol-toml/package.json +44 -34
- package/node_modules/smol-toml/src/date.ts +152 -0
- package/node_modules/smol-toml/src/error.ts +77 -0
- package/node_modules/smol-toml/src/extract.ts +112 -0
- package/node_modules/smol-toml/src/index.ts +42 -0
- package/node_modules/smol-toml/src/parse.ts +184 -0
- package/node_modules/smol-toml/src/primitive.ts +247 -0
- package/node_modules/smol-toml/src/stringify.ts +191 -0
- package/node_modules/smol-toml/src/struct.ts +199 -0
- package/node_modules/smol-toml/src/util.ts +101 -0
- package/node_modules/tiny-http-mcp-server/dist/composition.json +1 -1
- package/node_modules/tiny-http-mcp-server/package.json +1 -1
- package/node_modules/tiny-stdio-mcp-server/README.md +19 -3
- package/node_modules/tiny-stdio-mcp-server/dist/composition.json +1 -1
- package/node_modules/toolcraft-design/README.md +3 -3
- package/node_modules/toolcraft-schema/README.md +8 -5
- package/node_modules/toolcraft-schema/package.json +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -46,7 +46,7 @@ After the tool map exists, add commands to `root`, expose the same tree through
|
|
|
46
46
|
npm install toolcraft
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
`toolcraft-schema` is a dependency and its `S` builders are re-exported from `toolcraft`. Requires Node
|
|
49
|
+
`toolcraft-schema` is a dependency and its `S` builders are re-exported from `toolcraft`. Requires Node.js >= 18.18.
|
|
50
50
|
|
|
51
51
|
## Hello world
|
|
52
52
|
|
|
@@ -181,7 +181,9 @@ The same `root` flows into all three. No duplication.
|
|
|
181
181
|
|
|
182
182
|
**Tree**: the `root` group is a `defineGroup` whose children are commands and sub-groups. Any depth. CLI flags, MCP tool names, and SDK methods are derived from the path.
|
|
183
183
|
|
|
184
|
-
**
|
|
184
|
+
**Validation**: CLI, MCP, SDK, and preset-file inputs all enforce the same `toolcraft-schema` constraints, including string lengths and patterns, numeric ranges and integer schemas, and array `minItems`/`maxItems`. CLI array options also accept negative numeric array values when the item schema allows them instead of treating those values as new flags.
|
|
185
|
+
|
|
186
|
+
**CLI help**: group help lists visible child commands with their parameter tokens inline. Required options appear as `--name <type>`, optional options and defaults appear in brackets like `[--limit <number>]`, and positional parameters render as positional tokens like `<name>` or `[name]` depending on whether they are required. Command-specific `--help` still shows the detailed parameter table. When `controls.output` is enabled, `--help --output json` returns a stable JSON help document for groups and commands, including usage, visible commands, options, positional markers, secrets, and examples. Unknown help targets fail with suggestions and a pointer to the nearest valid help command.
|
|
185
187
|
|
|
186
188
|
**Examples**: commands may declare `examples: Array<{ title, params }>` alongside their params.
|
|
187
189
|
CLI help renders an `Examples` section for the command, and MCP tool descriptions include the
|
|
@@ -518,10 +520,16 @@ export function slackApprovalProvider(opts: {
|
|
|
518
520
|
|
|
519
521
|
Throw `UserError` for expected, user-facing failures. The CLI prints the message without a stack trace and sets exit code 1; MCP and SDK surface the message as the error body. Usage mistakes include a pointer to the relevant command help. Any other thrown error is treated as unexpected and shows a trimmed stack with `--debug`; use `--debug=raw` to include framework and runtime frames.
|
|
520
522
|
|
|
521
|
-
HTTP-style errors with request/response context print the request, status, and a
|
|
523
|
+
HTTP-style errors with request/response context print the request, status, and a concise summary by default. The summary extracts common fields such as error code, message, request id, retry-after, hints, and field errors when they are present, then falls back to a response-body snippet. `--verbose` or `--debug` prints headers and the full request/response bodies, with authorization headers redacted.
|
|
522
524
|
|
|
523
525
|
Enable structured error reports with `errorReports: true`, `errorReports: { dir }`, or `TOOLCRAFT_ERROR_REPORTS=1`. Reports are written under `.toolcraft/errors` by default, include argv, parsed params, resolved secret presence, structured error fields, stack/cause chains, and HTTP transcripts, and redact declared secrets plus parameter names that look sensitive.
|
|
524
526
|
|
|
527
|
+
## Runtime diagnostics
|
|
528
|
+
|
|
529
|
+
Handlers receive `diagnostics` and `progress` in the shared runtime context. `progress(message)` emits an info-level progress diagnostic. `diagnostics.emit({ level, message, category, data })` supports `error`, `warn`, `info`, `debug`, and `trace` events for categories such as `runtime`, `http`, `auth`, `retry`, and `progress`.
|
|
530
|
+
|
|
531
|
+
CLI, SDK, and MCP runtimes share the same logger and log-level gates. The default diagnostic level is `warn`; `silent` suppresses diagnostic events. CLI apps can enable `controls.logLevel` to expose `--log-level <silent|error|warn|info|debug|trace>`, and `controls.verbose` maps `--verbose` to trace-level diagnostics when no explicit log level is passed.
|
|
532
|
+
|
|
525
533
|
## Migrating from a folder of scripts
|
|
526
534
|
|
|
527
535
|
Pattern for adopting toolcraft incrementally:
|
|
@@ -611,6 +619,10 @@ additional long CLI flags. For example, `rawResponse` normally maps to `--raw-re
|
|
|
611
619
|
### `runCLI(root, options)`
|
|
612
620
|
|
|
613
621
|
- `casing?: "kebab" | "snake"` — generated CLI flag style.
|
|
622
|
+
- `argv?: readonly string[]` — explicit argv vector for embedded runners and tests. Defaults to `process.argv` and is used for routing, help rendering, version lookup, error reports, and output-mode detection.
|
|
623
|
+
- `controls?: { debug?: boolean; logLevel?: boolean; output?: boolean; verbose?: boolean; yes?: boolean }` — opts into global CLI controls such as `--debug`, `--log-level`, `--output`, `--verbose`, and `--yes`.
|
|
624
|
+
- `logLevel?: "silent" | "error" | "warn" | "info" | "debug" | "trace"` — default runtime diagnostic level.
|
|
625
|
+
- `logger?: RuntimeLogger | ((event) => void)` — receives diagnostic events that pass the configured log level.
|
|
614
626
|
- `services?: TServices` — merged into every handler context.
|
|
615
627
|
- `version?: string` — surfaced via `--version`.
|
|
616
628
|
- `presets?: boolean` — enables `--preset <path>` for loading parameter defaults from JSON files.
|
|
@@ -626,6 +638,8 @@ additional long CLI flags. For example, `rawResponse` normally maps to `--raw-re
|
|
|
626
638
|
- `casing?: "camel"` — generated SDK member style.
|
|
627
639
|
- `services?` / `humanInLoop?` / `apiVersion?` / `errorReports?`
|
|
628
640
|
- `projectRoot?: string` — root used for MCP proxy cache files (`.toolcraft/mcp/*.json`).
|
|
641
|
+
- `logLevel?: "silent" | "error" | "warn" | "info" | "debug" | "trace"` — default runtime diagnostic level.
|
|
642
|
+
- `logger?: RuntimeLogger | ((event) => void)` — receives diagnostic events that pass the configured log level.
|
|
629
643
|
|
|
630
644
|
### `createMCPServer(root, options)` / `runMCP(root, options)`
|
|
631
645
|
|
|
@@ -633,6 +647,8 @@ additional long CLI flags. For example, `rawResponse` normally maps to `--raw-re
|
|
|
633
647
|
- `version: string`
|
|
634
648
|
- `services?` / `humanInLoop?` / `apiVersion?` / `errorReports?`
|
|
635
649
|
- `projectRoot?: string` — root used for MCP proxy cache files (`.toolcraft/mcp/*.json`).
|
|
650
|
+
- `logLevel?: "silent" | "error" | "warn" | "info" | "debug" | "trace"` — default runtime diagnostic level.
|
|
651
|
+
- `logger?: RuntimeLogger | ((event) => void)` — receives diagnostic events that pass the configured log level.
|
|
636
652
|
- `tools?: string[]` — allowlist of MCP tool names or group prefixes. Tool names are `__`-joined snake_case path segments (`root__bot__create`); a prefix like `root__bot` includes every descendant tool.
|
|
637
653
|
- `omitRootToolNamePrefix?: boolean` — defaults to `false`. Set to `true` to omit the root group name from single-root MCP tool names (`bot__create`).
|
|
638
654
|
- `casing?: "snake" | "camel"` — affects MCP input-schema property names, output-schema property names, and structured result keys. Tool names always stay `__`-joined snake_case.
|
|
@@ -659,6 +675,7 @@ Returns the `HumanInLoopRuntime` accepted by `runCLI` / `createMCPServer` / `cre
|
|
|
659
675
|
- `fetch: typeof globalThis.fetch`
|
|
660
676
|
- `fs: { readFile, writeFile, exists }`
|
|
661
677
|
- `env: { get(key: string): string | undefined }`
|
|
678
|
+
- `diagnostics: RuntimeLogger`
|
|
662
679
|
- `progress(message: string): void`
|
|
663
680
|
- All `services` keys merged in.
|
|
664
681
|
|
package/composition.json
CHANGED
|
@@ -93,12 +93,12 @@
|
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"name": "smol-toml",
|
|
96
|
-
"version": "1.
|
|
96
|
+
"version": "1.7.0",
|
|
97
97
|
"license": "BSD-3-Clause"
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
"name": "tiny-http-mcp-server",
|
|
101
|
-
"version": "0.1.
|
|
101
|
+
"version": "0.1.16",
|
|
102
102
|
"license": "MIT"
|
|
103
103
|
},
|
|
104
104
|
{
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
"name": "toolcraft",
|
|
116
|
-
"version": "0.0.
|
|
116
|
+
"version": "0.0.225",
|
|
117
117
|
"license": "MIT"
|
|
118
118
|
},
|
|
119
119
|
{
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
125
|
"name": "toolcraft-schema",
|
|
126
|
-
"version": "0.0.
|
|
126
|
+
"version": "0.0.225",
|
|
127
127
|
"license": "MIT"
|
|
128
128
|
},
|
|
129
129
|
{
|
package/dist/composition.json
CHANGED
|
@@ -93,12 +93,12 @@
|
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"name": "smol-toml",
|
|
96
|
-
"version": "1.
|
|
96
|
+
"version": "1.7.0",
|
|
97
97
|
"license": "BSD-3-Clause"
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
"name": "tiny-http-mcp-server",
|
|
101
|
-
"version": "0.1.
|
|
101
|
+
"version": "0.1.16",
|
|
102
102
|
"license": "MIT"
|
|
103
103
|
},
|
|
104
104
|
{
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
"name": "toolcraft",
|
|
116
|
-
"version": "0.0.
|
|
116
|
+
"version": "0.0.225",
|
|
117
117
|
"license": "MIT"
|
|
118
118
|
},
|
|
119
119
|
{
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
125
|
"name": "toolcraft-schema",
|
|
126
|
-
"version": "0.0.
|
|
126
|
+
"version": "0.0.225",
|
|
127
127
|
"license": "MIT"
|
|
128
128
|
},
|
|
129
129
|
{
|
|
@@ -50,6 +50,13 @@ await runMutations(
|
|
|
50
50
|
Mutation builders also expose per-mutation options such as target path, format,
|
|
51
51
|
label, force removal, backup behavior, template id, and transform callbacks.
|
|
52
52
|
|
|
53
|
+
## Validation and safety
|
|
54
|
+
|
|
55
|
+
- Config merge mutations require object values; primitive merge payloads are rejected.
|
|
56
|
+
- Transform mutations do not rewrite a file when serialized output is unchanged.
|
|
57
|
+
- Directory creation, backup, and chmod mutations refuse targets that resolve through symlinked parents or symlinked files.
|
|
58
|
+
- Observer start events include the resolved target details that will be used by the mutation.
|
|
59
|
+
|
|
53
60
|
## Environment Variables
|
|
54
61
|
|
|
55
62
|
This package does not read or expose environment variables.
|
|
@@ -36,3 +36,5 @@ This package reads no environment variables.
|
|
|
36
36
|
## Configuration Options
|
|
37
37
|
|
|
38
38
|
This package has no configuration options.
|
|
39
|
+
|
|
40
|
+
Diagnostics retain source offsets, including CRLF input. Opening fences may have trailing spaces or tabs; a missing closing fence is reported as a diagnostic. Writing frontmatter requires an object root.
|
|
@@ -39,3 +39,5 @@ This package exposes no environment variables.
|
|
|
39
39
|
## Configuration
|
|
40
40
|
|
|
41
41
|
This package currently exposes no package-level configuration options.
|
|
42
|
+
|
|
43
|
+
Workspace transfer validates a positive finite upload limit and applies gitignore traversal rules: an ignored parent must be unignored before its children can be included. Docker template hashing honors `.dockerignore`. Docker port mappings, wait output, and detached completion markers are validated before use.
|
|
@@ -103,6 +103,11 @@ await plans.list("plans").reorder(["api-shape-providers", "memory"]);
|
|
|
103
103
|
|
|
104
104
|
`frontmatterMode: "strict"` expects full task frontmatter (`kind`, `version`, `name`, `state`, and related task fields). `frontmatterMode: "passthrough"` keeps unrelated frontmatter keys as task metadata and writes back only the task-owned fields (`name`, `description`, `state`), so existing plan metadata is preserved.
|
|
105
105
|
|
|
106
|
+
List names, task ids, and task names are validated before writes. The
|
|
107
|
+
`markdown-dir` backend accepts the normal macOS `/tmp` system alias, preserves
|
|
108
|
+
numeric filename prefixes for passthrough documents, and removes invalid stale
|
|
109
|
+
lock files before acquiring a new lock.
|
|
110
|
+
|
|
106
111
|
### `yaml-file`
|
|
107
112
|
|
|
108
113
|
```ts
|
|
@@ -125,6 +130,9 @@ await planning.fire("review-release", "plan");
|
|
|
125
130
|
await planning.fire("review-release", "start");
|
|
126
131
|
```
|
|
127
132
|
|
|
133
|
+
Archived tasks cannot be used as move anchors. Alphabetical listing with
|
|
134
|
+
`includeArchived` sorts active and archived tasks together.
|
|
135
|
+
|
|
128
136
|
### `gh-issues`
|
|
129
137
|
|
|
130
138
|
```ts
|
|
@@ -155,6 +163,9 @@ await project.move(created.id, { after: "42" });
|
|
|
155
163
|
|
|
156
164
|
`gh-issues` exposes one list named `${project.owner}/${project.number}`. `create()` ignores `TaskCreate.id` because GitHub assigns issue numbers. `fire(state)` writes the Project v2 `Status` field to the matching single-select option. `move()` reorders project items.
|
|
157
165
|
|
|
166
|
+
Issue ids must be canonical decimal issue numbers. Required state names are
|
|
167
|
+
checked for blank entries before project lookup or mutation.
|
|
168
|
+
|
|
158
169
|
If the GitHub Project v2 board has not been set up manually, run `poe-code tasks sync <list>` before opening the backend. `openTaskList({ type: "gh-issues" })` no longer requires manual board setup when the board was provisioned with `tasks sync` first.
|
|
159
170
|
|
|
160
171
|
## Verifying and provisioning the GitHub Project v2 board
|
|
@@ -22,8 +22,7 @@ has been battle-tested and is actively used in production systems.
|
|
|
22
22
|
smol-toml passes most of the tests from the [`toml-test` suite](https://github.com/toml-lang/toml-test); use the
|
|
23
23
|
`run-toml-test.bash` script to run the tests. Due to the nature of JavaScript and the limits of the language,
|
|
24
24
|
it doesn't pass certain tests, namely:
|
|
25
|
-
- Invalid UTF-8 strings are not rejected
|
|
26
|
-
- Certain invalid UTF-8 codepoints are not rejected
|
|
25
|
+
- Invalid UTF-8 strings (and comments) are not rejected
|
|
27
26
|
- Certain invalid dates are not rejected
|
|
28
27
|
- For instance, `2023-02-30` would be accepted and parsed as `2023-03-02`. While additional checks could be performed
|
|
29
28
|
to reject these, they've not been added for performance reasons.
|
|
@@ -73,7 +72,8 @@ A few notes on the `stringify` function:
|
|
|
73
72
|
When parsing, both integers and floats are read as plain JavaScript numbers, which essentially are floats. This means
|
|
74
73
|
loss of type information, and makes it impossible to safely represent integers beyond 53 bits.
|
|
75
74
|
|
|
76
|
-
When serializing, numbers without a decimal part are serialized as integers
|
|
75
|
+
When serializing, numbers without a decimal part are serialized as integers (except if they're outside of the safe
|
|
76
|
+
range; i.e. they cannot be represented as a signed 53-bit integer). This allows in most cases to preserve
|
|
77
77
|
whether a number is an integer or not, but fails to preserve type information for numbers like `1.0`.
|
|
78
78
|
|
|
79
79
|
#### Enabling BigInt support and type preservation
|
|
@@ -143,97 +143,262 @@ const localTime = TomlDate.wrapAsLocalTime(jsDate)
|
|
|
143
143
|
```
|
|
144
144
|
|
|
145
145
|
## Performance
|
|
146
|
-
|
|
147
|
-
> These benchmarks are starting to get quite old and were ran prior to the release of TOML 1.1.0 which changed subtle
|
|
148
|
-
> implementation details.
|
|
149
|
-
>
|
|
150
|
-
> They will be updated in the (hopefully near) future to better reflect numbers of the latest version of smol-toml
|
|
151
|
-
> on the latest version of Node.js.
|
|
146
|
+
The benchmark is ran using [mitata](https://github.com/evanwashere/mitata).
|
|
152
147
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
`fast-toml` skips the entire string while `smol-toml` does validate the string, costing a fair share of performance.
|
|
148
|
+
Parsers and serializers are tested in 2 scenarios: using the example from TOML's homepage and specification, and
|
|
149
|
+
using a ~5MB randomly generated[^generator] file.
|
|
156
150
|
|
|
157
|
-
The
|
|
158
|
-
terms of structure. The idea is to have a file relatively close to a real-world application, with moderately sized
|
|
159
|
-
strings etc.
|
|
151
|
+
[^generator]: The TOML generator used can be found [here](https://gist.github.com/cyyynthia/e77c744cb6494dabe37d0182506526b9)
|
|
160
152
|
|
|
161
|
-
|
|
153
|
+
While `fast-toml` is included as it's a challenging candidate, it takes a lot of shortcuts that makes it very fast,
|
|
154
|
+
but at the expense of correctness (it has significant defects and does not pass the TOML test suite). `smol-toml` is
|
|
155
|
+
almost as fast, without sacrificing correctness. 😎
|
|
162
156
|
|
|
163
|
-
| **Parse** | smol-toml
|
|
164
|
-
|
|
165
|
-
| Spec example | **
|
|
166
|
-
| ~5MB test file | **
|
|
157
|
+
| **Parse** | smol-toml@1.7.0 | @iarna/toml@3.0.0 | @ltd/j-toml@1.38.0 | fast-toml@0.5.4 | @std/toml@1.0.11 | toml@4.1.1 | js-toml@1.1.2 | @decimalturn/toml-patch@2.0.0 |
|
|
158
|
+
|----------------|--------------------|-------------------|--------------------|-----------------|------------------|----------------|----------------|-------------------------------|
|
|
159
|
+
| Spec example | **4.90 µs/iter** | 12.36 µs/iter | 33.17 µs/iter | *4.80 µs/iter* | 22.94 µs/iter | 29.86 µs/iter | 23.67 µs/iter | 17.81 µs/iter |
|
|
160
|
+
| ~5MB test file | **116.74 ms/iter** | *DNF* | 198.57 ms/iter | *93.51 ms/iter* | 429.91 ms/iter | 415.92 ms/iter | 361.89 ms/iter | 176.94 ms/iter |
|
|
167
161
|
|
|
168
|
-
| **Stringify** | smol-toml
|
|
169
|
-
|
|
170
|
-
| Spec example | **
|
|
171
|
-
| ~5MB test file | **
|
|
162
|
+
| **Stringify** | smol-toml@1.7.0 | @iarna/toml@3.0.0 | @ltd/j-toml@1.38.0 | fast-toml@0.5.4 | @std/toml@1.0.11 | toml@4.1.1 | js-toml@1.1.2 | @decimalturn/toml-patch@2.0.0 |
|
|
163
|
+
|----------------|--------------------|-------------------|--------------------|-----------------|------------------|----------------|----------------|-------------------------------|
|
|
164
|
+
| Spec example | **2.24 µs/iter** | 8.68 µs/iter | 89.89 µs/iter | N/A | 3.86 µs/iter | N/A | 3.53 µs/iter | N/A[^toml-patch-note] |
|
|
165
|
+
| ~5MB test file | **42.34 ms/iter** | 132.74 ms/iter | 921.98 ms/iter | N/A | 68.37 ms/iter | N/A | 106.14 ms/iter | N/A[^toml-patch-note] |
|
|
166
|
+
|
|
167
|
+
[^toml-patch-note]: Stringify performance is not included here, as the library is not meant to be fast, but rather
|
|
168
|
+
capable of doing precise non-destructive edits that preserve the entire document's shape and format. Putting it here
|
|
169
|
+
wouldn't be fair.
|
|
172
170
|
|
|
173
171
|
<details>
|
|
174
172
|
<summary>Detailed benchmark data</summary>
|
|
175
173
|
|
|
176
|
-
Tests ran using Vitest v0.31.0 on commit f58cb6152e667e9cea09f31c93d90652e3b82bf5
|
|
177
|
-
|
|
178
|
-
CPU: Intel Core i7 7700K (4.2GHz)
|
|
179
|
-
|
|
180
174
|
```
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
175
|
+
node --expose-gc bench/parse.bench.ts
|
|
176
|
+
clk: ~5.47 GHz
|
|
177
|
+
cpu: AMD Ryzen 9 9950X3D 16-Core Processor
|
|
178
|
+
runtime: node 26.3.1 (x64-linux)
|
|
179
|
+
|
|
180
|
+
benchmark avg (min … max) p75 / p99 (min … top 1%)
|
|
181
|
+
------------------------------------------- -------------------------------
|
|
182
|
+
• spec document
|
|
183
|
+
------------------------------------------- -------------------------------
|
|
184
|
+
smol-toml 4.90 µs/iter 4.85 µs █
|
|
185
|
+
(4.72 µs … 96.03 µs) 6.13 µs █▅
|
|
186
|
+
( 2.09 kb … 325.14 kb) 12.96 kb ▁██▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
|
|
187
|
+
4.01 ipc ( 99.63% cache) 21.59 branch misses
|
|
188
|
+
27.50k cycles 110.19k instructions 4.09k c-refs 15.27 c-misses
|
|
189
|
+
|
|
190
|
+
@iarna/toml 12.36 µs/iter 12.19 µs █
|
|
191
|
+
(11.86 µs … 131.24 µs) 16.53 µs █
|
|
192
|
+
(176.00 b … 360.27 kb) 24.00 kb ▅█▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
|
|
193
|
+
3.97 ipc ( 99.71% cache) 60.52 branch misses
|
|
194
|
+
68.38k cycles 271.17k instructions 12.01k c-refs 35.06 c-misses
|
|
195
|
+
|
|
196
|
+
@ltd/j-toml 33.17 µs/iter 32.50 µs ▇█
|
|
197
|
+
(31.03 µs … 1.10 ms) 36.36 µs ███▆
|
|
198
|
+
( 40.00 b … 537.94 kb) 27.61 kb ▁▃▇████▆▂▁▁▂▂▁▁▁▁▁▁▁▁
|
|
199
|
+
3.15 ipc ( 99.50% cache) 305.47 branch misses
|
|
200
|
+
183.96k cycles 579.46k instructions 32.33k c-refs 160.93 c-misses
|
|
201
|
+
|
|
202
|
+
fast-toml 4.80 µs/iter 4.77 µs █
|
|
203
|
+
(4.61 µs … 96.44 µs) 5.58 µs █▃
|
|
204
|
+
(256.00 b … 329.85 kb) 12.55 kb ▁▆██▅▄▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁
|
|
205
|
+
4.61 ipc ( 99.61% cache) 18.02 branch misses
|
|
206
|
+
26.90k cycles 123.90k instructions 3.73k c-refs 14.45 c-misses
|
|
207
|
+
|
|
208
|
+
deno's @std/toml 22.94 µs/iter 22.84 µs █
|
|
209
|
+
(21.43 µs … 183.90 µs) 27.22 µs ██
|
|
210
|
+
(800.00 b … 619.62 kb) 64.88 kb ▁▄▄▆██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁
|
|
211
|
+
3.73 ipc ( 99.67% cache) 106.77 branch misses
|
|
212
|
+
126.43k cycles 472.03k instructions 23.79k c-refs 79.52 c-misses
|
|
213
|
+
|
|
214
|
+
node-toml 29.86 µs/iter 29.51 µs █
|
|
215
|
+
(28.17 µs … 200.95 µs) 42.50 µs █▇
|
|
216
|
+
(976.00 b … 785.96 kb) 104.23 kb ▄██▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
|
|
217
|
+
4.01 ipc ( 99.36% cache) 146.79 branch misses
|
|
218
|
+
163.80k cycles 657.50k instructions 27.26k c-refs 174.37 c-misses
|
|
219
|
+
|
|
220
|
+
js-toml 23.67 µs/iter 23.31 µs █▃
|
|
221
|
+
(22.10 µs … 196.26 µs) 34.04 µs ██
|
|
222
|
+
( 2.55 kb … 678.23 kb) 96.06 kb ▃██▄▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
|
|
223
|
+
4.14 ipc ( 98.56% cache) 141.38 branch misses
|
|
224
|
+
129.53k cycles 536.67k instructions 18.52k c-refs 266.18 c-misses
|
|
225
|
+
|
|
226
|
+
@decimalturn/toml-patch 17.81 µs/iter 17.68 µs █▇
|
|
227
|
+
(16.82 µs … 159.63 µs) 23.01 µs ██▅
|
|
228
|
+
(264.00 b … 651.59 kb) 56.03 kb ▃███▄▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁
|
|
229
|
+
3.60 ipc ( 99.55% cache) 73.51 branch misses
|
|
230
|
+
98.49k cycles 354.88k instructions 20.21k c-refs 90.93 c-misses
|
|
231
|
+
|
|
232
|
+
summary
|
|
233
|
+
fast-toml
|
|
234
|
+
1.02x faster than smol-toml
|
|
235
|
+
2.57x faster than @iarna/toml
|
|
236
|
+
3.71x faster than @decimalturn/toml-patch
|
|
237
|
+
4.77x faster than deno's @std/toml
|
|
238
|
+
4.93x faster than js-toml
|
|
239
|
+
6.22x faster than node-toml
|
|
240
|
+
6.9x faster than @ltd/j-toml (nice)
|
|
241
|
+
|
|
242
|
+
• 5MB document
|
|
243
|
+
------------------------------------------- -------------------------------
|
|
244
|
+
smol-toml 116.74 ms/iter 118.39 ms █ █
|
|
245
|
+
(110.52 ms … 127.54 ms) 123.91 ms █ ▅ ▅ █ ▅ ▅▅ ▅ ▅
|
|
246
|
+
( 32.98 mb … 49.20 mb) 42.93 mb █▁█▁█▁▁█▁█▁██▁▁█▁▁▁▁█
|
|
247
|
+
2.48 ipc ( 98.45% cache) 3.17M branch misses
|
|
248
|
+
629.10M cycles 1.56G instructions 101.49M c-refs 1.58M c-misses
|
|
249
|
+
|
|
250
|
+
@iarna/toml error: Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z at row 5, col 45, pos 569:
|
|
251
|
+
4: NfF6LuAerfn5mDPI7Cp 2qsrB4vGmJTyb5jNubOIBYYWrWlAsrw PX93S57gjb5GEhR8qOU5blDQmwfVJTA YvmJ9cE3cUZU NAJQgAbIdpZLhc4lOs4ZhMEWehhZqXCsVD1YP1vN2GEoM2WX''', 1986-05-27T18:36:13Z, -5460, "2ZAV3fYlb23hf7r7QoftVlicWE2iuwp", 4790.2253 ]
|
|
252
|
+
5> SzeC4Me8T = [ 5928.9340, 1991-04-28 19:24:24, 7807, -782.4516, 0b1000011111, "YvXRZKBGle9d51sqE90t8hP" ]
|
|
253
|
+
^
|
|
254
|
+
6: SLMvBirT.pmpX1D.9PivpfFBo = 2010-09-29
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
@ltd/j-toml 198.57 ms/iter 196.77 ms █
|
|
259
|
+
(181.11 ms … 291.66 ms) 209.47 ms ██
|
|
260
|
+
( 8.55 mb … 55.95 mb) 35.95 mb ████▁▁▁▁▁█▁█▁▁▁█▁▁▁▁█
|
|
261
|
+
2.32 ipc ( 97.82% cache) 3.98M branch misses
|
|
262
|
+
1.08G cycles 2.50G instructions 166.94M c-refs 3.63M c-misses
|
|
263
|
+
|
|
264
|
+
fast-toml 93.51 ms/iter 95.06 ms █
|
|
265
|
+
(89.98 ms … 96.83 ms) 95.74 ms ▅ ▅ ▅ █▅ ▅▅ ▅▅▅
|
|
266
|
+
( 13.30 mb … 34.88 mb) 24.04 mb █▁▁▁█▁█▁██▁▁▁▁▁██▁███
|
|
267
|
+
2.83 ipc ( 98.14% cache) 2.36M branch misses
|
|
268
|
+
507.32M cycles 1.44G instructions 66.44M c-refs 1.23M c-misses
|
|
269
|
+
|
|
270
|
+
deno's @std/toml 429.91 ms/iter 436.58 ms █
|
|
271
|
+
(419.32 ms … 441.05 ms) 437.63 ms ▅ ▅▅▅ ▅ ▅ ▅ ▅ ▅█
|
|
272
|
+
(180.32 mb … 204.05 mb) 191.51 mb █▁███▁▁█▁█▁▁▁▁▁█▁█▁██
|
|
273
|
+
3.15 ipc ( 97.05% cache) 6.63M branch misses
|
|
274
|
+
2.36G cycles 7.45G instructions 255.14M c-refs 7.54M c-misses
|
|
275
|
+
|
|
276
|
+
node-toml 415.92 ms/iter 413.57 ms ██
|
|
277
|
+
(404.84 ms … 448.96 ms) 438.33 ms ██ █
|
|
278
|
+
( 45.80 mb … 78.18 mb) 50.13 mb ████▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁█
|
|
279
|
+
4.26 ipc ( 97.29% cache) 6.53M branch misses
|
|
280
|
+
2.25G cycles 9.59G instructions 194.56M c-refs 5.27M c-misses
|
|
281
|
+
|
|
282
|
+
js-toml 361.89 ms/iter 369.39 ms █
|
|
283
|
+
(346.05 ms … 406.77 ms) 394.74 ms ▅█ ▅
|
|
284
|
+
(249.62 mb … 282.33 mb) 265.65 mb ██▁█▁▁▁▁▁▁▇▁▁▁▇▁▁▁▁▁▇
|
|
285
|
+
2.55 ipc ( 94.91% cache) 5.64M branch misses
|
|
286
|
+
1.73G cycles 4.43G instructions 112.66M c-refs 5.74M c-misses
|
|
287
|
+
|
|
288
|
+
@decimalturn/toml-patch 176.94 ms/iter 174.86 ms █
|
|
289
|
+
(172.74 ms … 197.94 ms) 182.08 ms █ ██
|
|
290
|
+
( 27.14 mb … 38.55 mb) 28.81 mb █▁████▁▁▁▁▁█▁▁▁▁▁▁▁▁█
|
|
291
|
+
3.18 ipc ( 97.69% cache) 3.58M branch misses
|
|
292
|
+
947.48M cycles 3.02G instructions 130.37M c-refs 3.01M c-misses
|
|
293
|
+
|
|
294
|
+
summary
|
|
295
|
+
fast-toml
|
|
296
|
+
1.25x faster than smol-toml
|
|
297
|
+
1.89x faster than @decimalturn/toml-patch
|
|
298
|
+
2.12x faster than @ltd/j-toml
|
|
299
|
+
3.87x faster than js-toml
|
|
300
|
+
4.45x faster than node-toml
|
|
301
|
+
4.6x faster than deno's @std/toml
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
node --expose-gc bench/stringify.bench.ts
|
|
305
|
+
clk: ~5.48 GHz
|
|
306
|
+
cpu: AMD Ryzen 9 9950X3D 16-Core Processor
|
|
307
|
+
runtime: node 26.3.1 (x64-linux)
|
|
308
|
+
|
|
309
|
+
benchmark avg (min … max) p75 / p99 (min … top 1%)
|
|
310
|
+
------------------------------------------- -------------------------------
|
|
311
|
+
• spec document
|
|
312
|
+
------------------------------------------- -------------------------------
|
|
313
|
+
smol-toml 2.24 µs/iter 2.24 µs ▄ █
|
|
314
|
+
(2.22 µs … 2.27 µs) 2.27 µs █▃ ▅▆ █▃
|
|
315
|
+
( 4.60 kb … 4.71 kb) 4.61 kb ▅███▃██████▃▇▃▃▅▃▁▁▃▅
|
|
316
|
+
4.62 ipc ( 99.64% cache) 5.08 branch misses
|
|
317
|
+
12.21k cycles 56.44k instructions 1.12k c-refs 4.08 c-misses
|
|
318
|
+
|
|
319
|
+
@iarna/toml 8.68 µs/iter 8.67 µs █
|
|
320
|
+
(8.65 µs … 8.89 µs) 8.73 µs ▅█▅ ▅
|
|
321
|
+
(654.88 b … 1.53 kb) 720.60 b ▇███▇▁█▁▁▁▁▁▇▇▁▁▁▁▁▁▇
|
|
322
|
+
4.00 ipc ( 99.49% cache) 23.53 branch misses
|
|
323
|
+
47.95k cycles 191.80k instructions 7.11k c-refs 36.09 c-misses
|
|
324
|
+
|
|
325
|
+
@ltd/j-toml 89.89 µs/iter 90.21 µs █
|
|
326
|
+
(69.82 µs … 209.14 µs) 95.93 µs █
|
|
327
|
+
( 4.04 kb … 389.75 kb) 37.49 kb ▁▁▁▁▁▁▁▂▁▁▁▁▁▁▁█▄▄▃▂▂
|
|
328
|
+
4.20 ipc ( 99.76% cache) 544.09 branch misses
|
|
329
|
+
490.58k cycles 2.06M instructions 35.22k c-refs 82.84 c-misses
|
|
330
|
+
|
|
331
|
+
deno's @std/toml 3.86 µs/iter 3.86 µs █
|
|
332
|
+
(3.83 µs … 4.24 µs) 3.88 µs ▅ ▅ █▅▅██▅
|
|
333
|
+
(836.05 b … 4.28 kb) 0.98 kb █▁██▅█▅████████▁▁▁▁▁▅
|
|
334
|
+
4.00 ipc ( 99.60% cache) 6.22 branch misses
|
|
335
|
+
21.36k cycles 85.36k instructions 3.32k c-refs 13.27 c-misses
|
|
336
|
+
|
|
337
|
+
js-toml 3.53 µs/iter 3.54 µs █▂▄
|
|
338
|
+
(3.52 µs … 3.58 µs) 3.58 µs ▆███
|
|
339
|
+
( 5.76 kb … 7.29 kb) 6.98 kb ▃▇████▃▅▁▃▁▃▁▁▁▁▁▁▁▁▃
|
|
340
|
+
4.37 ipc ( 99.11% cache) 10.24 branch misses
|
|
341
|
+
19.45k cycles 84.99k instructions 2.10k c-refs 18.67 c-misses
|
|
342
|
+
|
|
343
|
+
@decimalturn/toml-patch 81.54 µs/iter 81.22 µs █
|
|
344
|
+
(78.63 µs … 341.24 µs) 103.14 µs █▂
|
|
345
|
+
(872.00 b … 831.95 kb) 113.00 kb ▃██▅▃▂▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁
|
|
346
|
+
4.56 ipc ( 99.28% cache) 567.51 branch misses
|
|
347
|
+
443.97k cycles 2.02M instructions 52.63k c-refs 381.28 c-misses
|
|
348
|
+
|
|
349
|
+
summary
|
|
350
|
+
smol-toml
|
|
351
|
+
1.58x faster than js-toml
|
|
352
|
+
1.73x faster than deno's @std/toml
|
|
353
|
+
3.88x faster than @iarna/toml
|
|
354
|
+
36.44x faster than @decimalturn/toml-patch
|
|
355
|
+
40.18x faster than @ltd/j-toml
|
|
356
|
+
|
|
357
|
+
• 5MB document
|
|
358
|
+
------------------------------------------- -------------------------------
|
|
359
|
+
smol-toml 42.34 ms/iter 43.06 ms █ █
|
|
360
|
+
(40.50 ms … 45.33 ms) 43.51 ms █ ▅▅▅▅ ▅ ▅▅▅ █
|
|
361
|
+
( 9.46 mb … 35.74 mb) 12.91 mb █▁▁▁▁████▁▁▁█▁▁███▁▁█
|
|
362
|
+
2.12 ipc ( 95.19% cache) 1.59M branch misses
|
|
363
|
+
217.80M cycles 462.56M instructions 14.99M c-refs 720.67k c-misses
|
|
364
|
+
|
|
365
|
+
@iarna/toml 132.74 ms/iter 134.02 ms █
|
|
366
|
+
(125.91 ms … 138.18 ms) 137.02 ms █ █
|
|
367
|
+
( 27.35 mb … 54.08 mb) 41.53 mb █▁▁█▁▁▁▁█▁▁█▁███▁▁▁▁█
|
|
368
|
+
2.56 ipc ( 97.08% cache) 4.44M branch misses
|
|
369
|
+
704.85M cycles 1.80G instructions 85.83M c-refs 2.50M c-misses
|
|
370
|
+
|
|
371
|
+
@ltd/j-toml 921.98 ms/iter 927.58 ms █ ██ █
|
|
372
|
+
(889.05 ms … 937.02 ms) 929.09 ms ▅ █ ▅██▅█
|
|
373
|
+
( 4.20 mb … 33.46 mb) 18.59 mb █▁▁▁▁▁▁▁▁▁▁▁▁▁█▁█████
|
|
374
|
+
4.06 ipc ( 99.42% cache) 6.75M branch misses
|
|
375
|
+
5.04G cycles 20.45G instructions 243.67M c-refs 1.41M c-misses
|
|
376
|
+
|
|
377
|
+
deno's @std/toml 68.37 ms/iter 69.68 ms █ █
|
|
378
|
+
(61.79 ms … 78.19 ms) 77.23 ms ▅ ▅█▅ ▅ ▅█ ▅ ▅
|
|
379
|
+
( 29.04 mb … 62.29 mb) 33.86 mb █▁███▁▁█▁██▁█▁▁▁▁▁▁▁█
|
|
380
|
+
2.21 ipc ( 95.21% cache) 1.74M branch misses
|
|
381
|
+
332.33M cycles 732.79M instructions 30.06M c-refs 1.44M c-misses
|
|
382
|
+
|
|
383
|
+
js-toml 106.14 ms/iter 107.44 ms █
|
|
384
|
+
(102.35 ms … 117.91 ms) 108.69 ms ▅█ ▅▅ ▅ ▅▅ ▅ ▅▅
|
|
385
|
+
( 34.03 mb … 62.21 mb) 44.13 mb ██▁▁██▁▁█▁██▁▁▁▁█▁▁██
|
|
386
|
+
2.39 ipc ( 96.23% cache) 3.05M branch misses
|
|
387
|
+
570.22M cycles 1.36G instructions 50.24M c-refs 1.90M c-misses
|
|
388
|
+
|
|
389
|
+
@decimalturn/toml-patch 1.07 s/iter 1.08 s █ █ █
|
|
390
|
+
(1.05 s … 1.14 s) 1.09 s █▅ ▅▅ █ █ ▅ ▅
|
|
391
|
+
(116.61 mb … 147.62 mb) 121.20 mb ██▁██▁▁▁█▁▁▁▁▁█▁▁█▁▁█
|
|
392
|
+
3.67 ipc ( 93.69% cache) 12.18M branch misses
|
|
393
|
+
5.77G cycles 21.17G instructions 780.26M c-refs 49.26M c-misses
|
|
394
|
+
|
|
395
|
+
summary
|
|
396
|
+
smol-toml
|
|
397
|
+
1.61x faster than deno's @std/toml
|
|
398
|
+
2.51x faster than js-toml
|
|
399
|
+
3.13x faster than @iarna/toml
|
|
400
|
+
21.77x faster than @ltd/j-toml
|
|
401
|
+
25.29x faster than @decimalturn/toml-patch
|
|
224
402
|
```
|
|
225
403
|
|
|
226
|
-
---
|
|
227
|
-
Additional notes:
|
|
228
|
-
|
|
229
|
-
I initially tried to benchmark `toml-nodejs`, but the 0.3.0 package is broken.
|
|
230
|
-
I initially reported this to the library author, but the author decided to
|
|
231
|
-
- a) advise to use a custom loader (via *experimental* flag) to circumvent the invalid imports.
|
|
232
|
-
- Said flag, `--experimental-specifier-resolution`, has been removed in Node v20.
|
|
233
|
-
- b) [delete the issue](https://github.com/huan231/toml-nodejs/issues/12) when pointed out links to the Node.js
|
|
234
|
-
documentation about the flag removal and standard resolution algorithm.
|
|
235
|
-
|
|
236
|
-
For the reference anyway, `toml-nodejs` (with proper imports) is ~8x slower on both parse benchmark with:
|
|
237
|
-
- spec example: 7,543.47 op/s
|
|
238
|
-
- 5mb mixed: 0.7006 op/s
|
|
239
404
|
</details>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AASH,qBAAa,QAAS,SAAQ,IAAI;;IAKjC,YAAY,IAAI,EAAE,MAAM,GAAG,IAAI,EAmC9B;IAED,UAAU,YAET;IAED,OAAO,YAEN;IAED,MAAM,YAEL;IAED,MAAM,YAEL;IAED,OAAO,YAEN;IAEQ,WAAW,WA2BnB;IAED,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,SAAM,YAIrD;IAED,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,YAItC;IAED,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,YAKlC;IAED,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,YAKlC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,KAAK,gBAAgB,GAAG,YAAY,GAAG;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACX,CAAA;AA+BD,qBAAa,SAAU,SAAQ,KAAK;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IAEjB,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAQrD;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH,SAAS,iBAAiB,CAAC,MAAc,EAAE,GAAW;IACrD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IACrD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,MAAc,EAAE,IAAY,EAAE,MAAc;IAClE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IACvC,IAAI,SAAS,GAAG,EAAE,CAAA;IAElB,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IAE9C,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACpB,IAAI,CAAC,CAAC;YAAE,SAAQ;QAEhB,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAChD,SAAS,IAAI,KAAK,CAAA;QAClB,SAAS,IAAI,CAAC,CAAA;QACd,SAAS,IAAI,IAAI,CAAA;QAEjB,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAChB,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA;YAC/C,SAAS,IAAI,KAAK,CAAA;QACnB,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAA;AACjB,CAAC;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IACnC,IAAI,CAAQ;IACZ,MAAM,CAAQ;IACd,SAAS,CAAQ;IAEjB,YAAY,OAAe,EAAE,OAAyB;QACrD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QACnE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAE3D,KAAK,CAAC,0BAA0B,OAAO,OAAO,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;QACnE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC3B,CAAC;CACD"}
|