This repository contains all definitions for Code0. These definitions will be used to create a Flow. It also contains a CLI tool for managing definitions and a reader for reading all definitions.
First download cargo to use the cli. Install Cargo
Then run:
cargo install code0-cli
After the cli compiled succesfully you can use it via:
code0-cli
(Stay inside the root directory when running the command)
Will download the latest Definitions from the Code0 Definition Repository.
If no feature is specified, all features will be downloaded. If a feature is specified, only that feature will be kept & can be loaded by one of the following languages: TypeScript, Rust.
-f (--features) is a list of features that will be downloaded. -t (--tag) is the version tag of the release you want to select.
code0-cli download
code0-cli download -t def-0.0.8
code0-cli download -f feature_1 feature_2 feature_3
code0-cli download -t def-0.0.8 -f feature_1 feature_2 feature_3
Will create a report of all errors in the definitions.
code0-cli report
code0-cli report -p /path/to/definitions
Will create a report of all errors in the definitions for a specific feature. Will also report on all specified functions, data types, and flow types.
code0-cli feature
code0-cli feature -p /path/to/definitions
code0-cli feature -f feature_name
code0-cli feature -f feature_name -p /path/to/definitions
Will run the report each time a definition file changes.
code0-cli watch
code0-cli watch -p /path/to/definitions
Will search for a specific definition.
code0-cli definition -n definition_name
code0-cli definition -n definition_name -p /path/to/definitions
npm i @code0-tech/code0-definition-reader --save-dev
const features = Definition("./path/to/definitions")
for (const feature in features) {
const name = feature.name; //name of the feature (e.g. rest)
const dataTypes = fearture.dataTypes; //dataTypes of this feature
const flowTypes = fearture.flowTypes; //flowTypes of this feature
const functions = fearture.runtimeFunctions; //runtimeFunctions of this feature
}
cargo add code0-definition-reader
use code0_definition_reader::Definition;
let features = Definition::new("./path/to/definitions");
for feature in features {
let name = feature.name(); //name of the feature (e.g. rest)
let data_types = feature.data_types(); //dataTypes of this feature
let flow_types = feature.flow_types(); //flowTypes of this feature
let functions = feature.runtime_functions(); //runtimeFunctions of this feature
}