@dallaylaen/ski-interpreter 2.6.2 → 2.7.0
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/CHANGELOG.md +31 -0
- package/README.md +2 -0
- package/bin/ski.js +5 -1
- package/lib/ski-interpreter.cjs.js +181 -13906
- package/lib/ski-interpreter.cjs.js.map +4 -4
- package/lib/ski-interpreter.min.js +6 -45
- package/lib/ski-interpreter.min.js.map +4 -4
- package/lib/ski-interpreter.mjs +181 -13912
- package/lib/ski-interpreter.mjs.map +4 -4
- package/lib/ski-quest.min.js +6 -45
- package/lib/ski-quest.min.js.map +4 -4
- package/lib/types/expr.d.ts +187 -164
- package/lib/types/extras.d.ts +17 -7
- package/lib/types/index.d.ts +7 -36
- package/lib/types/internal.d.ts +5 -5
- package/lib/types/parser.d.ts +6 -6
- package/lib/types/quest.d.ts +77 -44
- package/lib/types/toposort.d.ts +2 -3
- package/package.json +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,37 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.7.0] - 2026-04-03
|
|
9
|
+
|
|
10
|
+
### BREAKING CHANGES
|
|
11
|
+
|
|
12
|
+
- Remove `SKI.schemas`.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- `SKI.extras.checkFormatOptions` that returns { value: FormatOptions }
|
|
17
|
+
or { error: object } for validating format options.
|
|
18
|
+
- Rendered documentation at https://dallaylaen.github.io/ski-interpreter/man
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
- Way better core documentation
|
|
22
|
+
- Removed [zod](https://www.npmjs.com/package/zod) dependency
|
|
23
|
+
for good, seems like overkill here.
|
|
24
|
+
|
|
25
|
+
## [2.6.3] - 2026-03-30
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- Quest cases now support `{ canonize: { max: number } }` option
|
|
30
|
+
to canonize terms before comparing.
|
|
31
|
+
This was added to cut off excessive `I(I(I(...)))`
|
|
32
|
+
in non-normalizable solutions.
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
|
|
36
|
+
- Quests: Turing bird (wrong def) and Y combinator (was not accepting some valid solutions) fixed.
|
|
37
|
+
- Exposed more types supposed to be exposed all along.
|
|
38
|
+
|
|
8
39
|
## [2.6.2] - 2026-03-29
|
|
9
40
|
|
|
10
41
|
### Added
|
package/README.md
CHANGED
|
@@ -124,6 +124,8 @@ will start a node shell with the `SKI` class available as a global variable.
|
|
|
124
124
|
|
|
125
125
|
# Usage
|
|
126
126
|
|
|
127
|
+
See the [complete API reference](https://dallaylaen.github.io/ski-interpreter/man/) for gory details.
|
|
128
|
+
|
|
127
129
|
## A minimal example
|
|
128
130
|
|
|
129
131
|
```javascript
|
package/bin/ski.js
CHANGED
|
@@ -8,6 +8,7 @@ const { Quest } = SKI;
|
|
|
8
8
|
const { version } = require('../package.json');
|
|
9
9
|
|
|
10
10
|
const runOptions = {};
|
|
11
|
+
/** @type FormatOptions */
|
|
11
12
|
let format = {};
|
|
12
13
|
let verbose = false;
|
|
13
14
|
|
|
@@ -389,7 +390,10 @@ function handleCommand (input, ski) {
|
|
|
389
390
|
}
|
|
390
391
|
|
|
391
392
|
function setFormat (options) {
|
|
392
|
-
|
|
393
|
+
const maybe = SKI.extras.checkFormatOptions(JSON.parse(options));
|
|
394
|
+
if (!maybe.value)
|
|
395
|
+
throw new Error('Invalid format options: ' + JSON.stringify(maybe.error));
|
|
396
|
+
format = maybe.value;
|
|
393
397
|
}
|
|
394
398
|
|
|
395
399
|
function toInt (comment) {
|