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.
The module exports an object with two methods:
parse(input, [options])
-
Parses a VMF source into JSON.
input
is a VMF source string, andoptions
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 byparse
.
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"]
}