Skip to content
/ vdf Public

Module to convert Valve's KeyValue format to JSON and back

License

Notifications You must be signed in to change notification settings

node-steam/vdf

Repository files navigation

Chat Travis CI Dependencies Version Downloads License Runkit

npm statistics

VDF is a module to convert Valve's KeyValue format to JSON and back using Typescript.

Heavily inspired by simple-vdf

(< v2.0.0 can be used as a drop-in replacement)

Differences

Installation

You can install VDF through the command line by using the following command:

yarn add @node-steam/vdf

Usage:

import * as VDF from '@node-steam/vdf';

// or

import {
    parse,
    stringify,
} from '@node-steam/vdf';

Documentation:

Generated Documentation

VDF.parse(text: string)

Parse a VDF string into a JSON object

const string = `
"string"          "string"
"false"           "false"
"true"            "true"
"number"          "1234"
"float"           "12.34"
"null"            "null"
"undefined"       "undefined"
"nested"
{
    "string"      "string"
    "deep"
    {
        "string"  "string"
    }
}
`;

const object = VDF.parse(string);

// or

const object = parse(string);

> {
    string:     'string',
    false:      false,
    true:       true,
    number:     1234,
    float:      12.34,
    null:       null,
    undefined:  undefined,
    nested: {
        string: 'string',
        deep: {
            string: 'string',
        },
    },
};

VDF.stringify(object: object)

Parse a JSON object into a VDF string

const object = {
    string:     'string',
    false:      false,
    true:       true,
    number:     1234,
    float:      12.34,
    null:       null,
    undefined:  undefined,
    nested: {
        string: 'string',
        deep: {
            string: 'string',
        },
    },
};

const string = VDF.stringify(object);

// or

const string = stringify(object);

> `
"string"          "string"
"false"           "false"
"true"            "true"
"number"          "1234"
"float"           "12.34"
"null"            "null"
"undefined"       "undefined"
"nested"
{
    "string"      "string"
    "deep"
    {
        "string"  "string"
    }
}
`;

Differences from simple-vdf

Contributors

Contributing:

Interested in contributing to VDF? Contributions are welcome, and are accepted via pull requests. Please review these guidelines before submitting any pull requests.

Help:

Installing dependencies:

yarn

Compile:

yarn compile

Test:

yarn test

Generate Docs:

yarn docs

Tests:

This module is thoroughly tested with ava

License:

Code licensed under MIT, documentation under CC BY 3.0.