Skip to content

birjj/vmf-transpiler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VMF Transpiler

VMF is the format used by the Hammer editor to store maps before their compilation. Since VMF has a syntax similar to JSON, this library provides tools to transpile back and forth between the two.

Based on leops/vmfparser.

Usage

The module exports an object with two methods:

parse(input, [options])
Parses a VMF source into JSON. input is a VMF source string, and options is an optional object with the following options:
{
    "ast": false, // if true, return the Abstract Syntax Tree instead of the JSON representation
}
compile(input)
Compiles a JSON source into VMF. input is a JSON object as returned by parse.

Multiple values per-key

This is a unique functionnality of VMF, non-existent in JSON: the ability to have multiple key with the same name but different values. Here's an example:

{
    "someKey": 42,
    "someKey": "someValue"
}

If you try to parse this, you'll obtain this JS object:

{
    someKey: "someValue"
}

But with VMF, you can do this:

"someKey" "42"
"someKey" "someValue"

And you'll get this object instead :

{
    someKey: ["42", "someValue"]
}

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%