@scenery/cavalry-types
v0.5.0
Published
Typescript definitions for Cavalry
Downloads
2
Readme
cavalry-types
Typescript definitions for Cavalry
Note
Current supported API version is Cavalry 1.5.6
These definitions describe the whole Cavalry scripting API. Essentially it gives you all the documentation inside your editor. After installation and following the usage guidelines you can simply start writing your script and get suggestions about available methods and parameters.
If you're not sure how to start, follow the usage guidelines and press ctrl-space
, then type cav
and you'll see the cavalry
namespace suggested along with its description. Press enter
and type .
to see a list of all the available methods.
A few pointers:
- Hovering over a namespace, method or parameter will show its documentation along with examples (in most cases).
- Red squiggly lines will appear when methods or parameters don't exist or when they're of the wrong type. Hover over them to find out about the problem.
- Even though there might be errors and warnings in the code, it will still run (with or without errors). This is because the error checking happens only in your editor.
- If you're writing in Typescript, the code will not run in Cavalry. You will have to compile the code first.
Note
This project is still in progress. There are some descriptions and Typescript features missing, but the API is mostly documented. The definition files were written by hand, so there might be some mistakes. Please report any issues you find.
Stallion
It's recommended that you use the Stallion VSCode extension if you're new to the Node ecosystem. It can insert the Typescript definitions without the need to install them.
Installation
Make sure you first initialise a new npm project. In your terminal run:
npm init --yes
then install the Typescript definitions:
npm install @scenery/cavalry-types --save-dev
Usage
You can either use Triple-Slash Directives for one-off scripts. Or for more involved projects, you can use a Typescript Config.
Triple-Slash Directives
Add the following triple-slash directive at the top of your script file.
/// <reference types="@scenery/cavalry-types"/>
Optionally include a @ts-check
comment to enable type checking.
/// <reference types="@scenery/cavalry-types"/>
// @ts-check
Typescript Config
Create a tsconfig.json
in your project folder and add @scenery/cavalry-types
.
{
"compilerOptions": {
"types": ["@scenery/cavalry-types"]
}
}
Versioning
The types will always point to the latest API version. Add a version number to the path to target a specific version.
Javascript
/// <reference types="@scenery/cavalry-types/versions/1.5.1" />
Typescript
{
"compilerOptions": {
"types": ["@scenery/cavalry-types/versions/1.5.1"]
}
}
Specific Namespaces
Cavalry has namespaces for specific parts of the app, such as render
for render scripts and ctx
in the Javascript Utility. Add an additional Triple-Slash Directive to expose the types for it.
/// <reference types="@scenery/cavalry-types"/>
/// <reference types="@scenery/cavalry-types/render"/>
For a specific version
/// <reference types="@scenery/cavalry-types/versions/1.5.1"/>
/// <reference types="@scenery/cavalry-types/versions/1.5.1/render"/>
In a Typescript config
{
"compilerOptions": {
"types": ["@scenery/cavalry-types", "@scenery/cavalry-types/render"]
}
}