https://github.com/tabone/azgaar-fmg-parser
https://github.com/tabone/azgaar-fmg-parser
Last synced: 7 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/tabone/azgaar-fmg-parser
- Owner: tabone
- Created: 2024-07-07T08:50:33.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-10T16:20:38.000Z (almost 2 years ago)
- Last Synced: 2025-10-02T03:54:56.745Z (9 months ago)
- Language: TypeScript
- Size: 20.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# azgaar-fmg-parser
An unofficial utility for parsing Cultures, Provinces, States, Religions, and Burgs from .map files generated by [Azgaar's Fantasy Map Generator](https://azgaar.github.io/Fantasy-Map-Generator/). Ideal for developers working on fantasy world-building tools and games.
## Installation
To install `azgaar-fmg-parser`, use `yarn`:
```bash
yarn add azgaar-fmg-parser
```
Or, if you prefer `npm`:
```bash
npm install azgaar-fmg-parser
```
## Usage
Here's a simple example demonstrating how to use `azgaar-fmg-parser`:
```javascript
const fs = require("fs");
const { FMG } = require("azgaar-fmg-parser");
// Load a .map file
const mapFileContent = fs.readFileSync("path/to/your/map/file.map", "utf-8");
// Parse the .map file content
const { fmg, info } = FMG.parse({ data: mapFileContent });
// Access parsed data
console.log("Burgs:", fmg.burgs);
console.log("States:", fmg.states);
console.log("Cultures:", fmg.cultures);
console.log("Religions:", fmg.religions);
console.log("Provinces:", fmg.provinces);
// Access parsing information
console.log("Parsing Info:", info);
```
## TypeScript Usage
You can use the provided [type predicates](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates) to check the types of states, cultures, and religions in a TypeScript project:
```javascript
import {
isDefaultState,
isDefaultCulture,
isDefaultReligion,
FMG,
} from "azgaar-fmg-parser";
// Assuming `state`, `culture`, and `religion` are variables from your parsed data
if (isDefaultState(state)) {
console.log("This is a default state.");
}
if (isDefaultCulture(culture)) {
console.log("This is a default culture.");
}
if (isDefaultReligion(religion)) {
console.log("This is a default religion.");
}
```
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request or open an Issue.
## License
This project is licensed under the MIT License.