A Skitscript document interpreter targeting NodeJS.
This is a NPM package. It targets NodeJS 16.11.1 or newer on the following operating systems:
- Ubuntu 22.04
- Ubuntu 20.04
- macOS 13 (Ventura)
- macOS 12 (Monterey)
- macOS 11 (Big Sur)
- Windows Server 2022
- Windows Server 2019
It is likely also possible to use this package as part of a web browser application through tools such as webpack. This has not been tested, however.
If your application uses this as a runtime dependency, install it like any other NPM package:
npm install --save @skitscript/interpreter-nodejs
Additionally install the types package:
npm install --save-dev @skitscript/types-nodejs
If you are developing a package which includes types from
@skitscript/types-nodejs
in its public API, additionally install it as a peer
dependency so that consumers of your package know to include it as well:
npm install --save-peer @skitscript/types-nodejs
If this is used when building your application and not at runtime, install it as a development dependency:
npm install --save-dev @skitscript/interpreter-nodejs @skitscript/types-nodejs
Import the start
function, and provide it with a parsed document to receive
the information to present to the user:
import { start } from "@skitscript/interpreter-nodejs";
const state = start(parsedDocument);
console.log(state);
{
"type": "valid",
"flagsSet": [...],
"characters": [...],
"speakers": [...],
"background": null,
"line": null,
"interaction": {...}
}
When they determine how to proceed, import the resume
function and provide
details regarding what was selected to receive a next piece of information to
present to the user:
import { resume } from "@skitscript/interpreter-nodejs";
const nextState = resume(
parsedDocument,
previousState,
previousState.interaction.instructionIndex
);
console.log(nextState);
{
"type": "valid",
"flagsSet": [...],
"characters": [...],
"speakers": [...],
"background": null,
"line": null,
"interaction": {...}
}