@maniascript/api
v8.1.0
Published
Maniascript API generator
Downloads
158
Maintainers
Readme
Maniascript API
Parse the maniascript documentation file generated by the game executable (game.exe /generatescriptdoc=doc.h
) and generate an object describing the maniascript API.
Installation
Install with npm: npm install @maniascript/api
.
Binary
The package exposes a generate-api
command. It takes one argument, the path to the documentation file to parse. It will create an api.json
file containing the api in json format described by the documentation file.
generate-api ./path/to/doc.h
will create the ./path/to/api.json
file.
Import
api
import { api } from '@maniascript/api'
or const { api } = require('@maniascript/api')
api
is an object describing the whole maniascript api.
{
classNames: [
"CMlScript",
"CManiaApp",
"CEditorMainPlugin",
"CServerPlugin",
"CSmMode",
"CSmAction",
"CSmMapType",
"CNod",
...
],
namespaceNames: [
"TextLib",
"MathLib",
...
],
classes: {
CMlScript: {
enums: {
LinkType: [
"ExternalBrowser",
...
]
},
variables: {
Page: {
isConst: true,
type: {
category: "class",
name: "CMlPage"
}
},
...
},
functions: {
IsKeyPressed: [
{
type: {
category: "literal",
name: "Boolean"
},
parameters: [
{
type: {
category: "literal",
name: "Integer"
},
name: "KeyCode"
}
]
}
],
...
}
},
...
},
namespaces: {
MathLib: {
enums: { ... },
variables: { ... },
functions: { ... }
},
...
}
}
classNames
contains the name of all classes listed in theclasses
object.namespaceNames
contains the name of all namespaces listed in thenamespaces
object.classes
contains the description of each of this classes.namespaces
contains the description of all the default maniascript libraries. eg:MathLib
,TextLib
, ...
generate
import { generate } from '@maniascript/api'
or const { generate } = require('@maniascript/api')
generate
is a function that takes the documentation text to parse as input and returns an object describing the api
defined in the documentation.
const api = generate('SomeDocumentationText')
execute
import { execute } from '@maniascript/api'
or const { execute } = require('@maniascript/api')
execute
is a function that takes the path to the documentation file to parse and create a file containing the description of the api defined in the documentation in json format.
execute('path/to/doc.h')
// generate a file: 'path/to/api.json'