@grootstebozewolf/dutch-number-parser
v1.0.4
Published
A TypeScript package to parse and convert Dutch counting numbers into numeric equivalents, supporting numbers up to one million.
Downloads
4
Maintainers
Readme
Dutch Number Parser
Dutch Number Parser is a TypeScript library designed to parse and convert Dutch counting numbers into their numeric equivalents. This package is ideal for applications that need to interpret Dutch-written numbers in a numerical format, supporting numbers up to one million.
Features
- Comprehensive Parsing: Handles Dutch numbers up to one million, including complex forms like "twee honderd drie en veertig duizend vijf honderd zes en zeventig".
- Integration with ANTLR: Uses ANTLR (ANother Tool for Language Recognition) for robust parsing of Dutch number phrases.
- TypeScript Support: Fully written in TypeScript, providing type safety and autocompletion in TypeScript projects.
- Logging Support: Includes an ILogger interface for flexible logging integration.
Installation
You can install the package via npm:
npm install @grootstebozewolf/dutch-number-parser
Usage
Basic Usage
Import the Tel class from the package:
import { Tel } from '@grootstebozewolf/dutch-number-parser';
const dutchNumberString = "vier honderd zes en twintig";
const numericValue = Tel.parse(dutchNumberString);
console.log(numericValue); // Outputs: 426
Using with Logger
You can set a custom logger that implements the ILogger interface:
import { Tel, ILogger } from '@grootstebozewolf/dutch-number-parser';
class CustomLogger implements ILogger {
logError(message: string): void {
console.error(`Custom Error: ${message}`);
}
logInfo(message: string): void {
console.log(`Custom Info: ${message}`);
}
logWarning(message: string): void {
console.warn(`Custom Warning: ${message}`);
}
}
Tel.setLogger(new CustomLogger());
const result = Tel.parse("drie honderd");
// This will use your custom logger for any logs
Supported Dutch Numbers
The Dutch Number Parser can handle a wide range of Dutch number phrases, including but not limited to:
- Simple numbers: "een", "twee", "drie"
- Tens: "twintig", "dertig", "veertig"
- Hundreds: "honderd", "twee honderd"
- Thousands: "duizend", "vier duizend drie honderd"
- Complex forms: "twee honderd drie en veertig duizend vijf honderd zes en zeventig"
Development and Contribution
Contributions are welcome! If you find a bug or have a feature request, please open an issue on the GitHub repository.
To develop locally:
- Clone the repository.
- Install dependencies using
npm install
. - Build the project with
npm run build
. - Run tests with
npm test
.