TypeOnly aims to be the pure typing part of TypeScript. This package provides an API to validate JSON and JavaScript objects with TypeScript definitions, using the TypeOnly parser.
At first, it is necessary to follow the tutorial of TypeOnly in order to generate a .to.json
file based on your TypeScript definitions. After this step, you have the following file: dist/types.to.json
.
Now, add @typeonly/validator
to the project:
npm install @typeonly/validator
Create a file src/validate-main.js
with the following content:
// src/validate-main.js
const { createValidator } = require("@typeonly/validator");
const data = {
color: "green",
shape: {
kind: "circle",
x: 100,
y: 100,
radius: 50
}
};
const validator = createValidator({
bundle: require("./types.to.json")
});
const result = validator.validate("./drawing", "Drawing", data);
console.log(result);
This code validates the data
object using RTO files generated by the TypeOnly parser.
Execute it:
$ node src/validate-main.js
{ valid: true }
With VS Code, our recommanded plugin is:
-
TSLint from Microsoft (
ms-vscode.vscode-typescript-tslint-plugin
)