8.1.0 • Published 2 months ago

@maniascript/api v8.1.0

Weekly downloads
79
License
LGPL-3.0-or-later
Repository
gitlab
Last release
2 months ago

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 the classes object.
  • namespaceNames contains the name of all namespaces listed in the namespaces 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'
8.1.0

2 months ago

8.0.0

3 months ago

7.0.0

6 months ago

6.0.0

7 months ago

5.0.1

1 year ago

5.0.0

1 year ago

4.0.0

2 years ago

3.1.0

3 years ago

3.0.0

4 years ago

2.3.0

4 years ago

2.2.0

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.4.0-debug

4 years ago

0.2.0-debug

4 years ago

0.1.0

4 years ago