Skip to content

Polarts/bini-lib

Repository files navigation

Bini Lib

A library for dealing with the Freelancer (2003 game) Bini data files in the JS/TS ecosystem.

Based on Librelancer.Ini

Examples

Reading an ini file from BINI

const fileBytes = fs.readFileSync(FILE_PATH);
const iniFile = IniFile.fromBinary(FILE_PATH, fileBytes);

Reading an ini file from string

const fileText = fs.readFileSync(FILE_PATH, "utf-8");
const iniFile = IniFile.fromString(FILE_PATH, fileText);

Iterating through the data

The data is stored in a nested structure, consisting of sections -> entries -> values.

The IniFile class stores an array of Section, each of which has an array of Entry, each of which has an array of IniValue (defined as boolean | number | string).

Here is a simple loop that iterates through all three levels:

for (const section of iniFile.sections) {
    console.log(section.name);
    for (const entry of section.entries) {
        console.log(entry.name);
        for (const value of entry.values) {
            console.log(value);
        }
    }
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published