open-index/open-npm huggingface dataset:
npm package: @j316/bible-ref-parser
Description: **@j316/bible-ref-parser** is a TypeScript library for parsing Bible references into structured data. It supports both English and Spanish abbreviations, handling common book names and ranges. The library can also normalize strings to handle variations in
Author: @aygjiay
Latest version: 1.0.2

# @j316/bible-ref-parser

**@j316/bible-ref-parser** is a TypeScript library for parsing Bible references into structured data. It supports both English and Spanish abbreviations, handling common book names and ranges. The library can also normalize strings to handle variations in accented characters, allowing for flexible matching of references.

## Features

- Parse Bible references in English and Spanish.
- Match book names or abbreviations (supports normalization).
- Handle complex chapter and verse ranges.
- Set a default Bible version and validate book names.

## Installation

```bash
yarn add @j316/bible-ref-parser
```

## Usage

```typescript
import parseBibleReference from '@j316/bible-ref-parser';

const reference = 'John 3:16-17, 4:1-5';
const parsed = parseBibleReference('en', reference, 'KJV', true);

console.log(parsed);

```

## API

`parseBibleReference(language: 'sp' | 'en', bibleReferenceString: string, defaultVersion: string, validateBookName: boolean = true): ParsedBibleReference`

- **language**: `'sp' | 'en'` - Language of the Bible reference.
- **bibleReferenceString**: `string` - The Bible reference to parse.
- **defaultVersion**: `string` - Default Bible version.
- **validateBookName**: `boolean` - Whether to validate the book name. Defaults to `true`.

Returns a `ParsedBibleReference` object containing:

- **book**: `string` - Original book reference.
- **bookName**: `string` - Standard book name.
- **ranges**: `BibleRange[]` - Chapter and verse ranges.
- **version**: `string` - Bible version.

### Example Output

```json
{
  "book": "John",
  "bookName": "John",
  "ranges": [
    { "chapter": 3, "fromVerse": 16, "toVerse": 17 },
    { "chapter": 4, "fromVerse": 1, "toVerse": 5 }
  ],
  "version": "KJV"
}
```

## License

This project is licensed under the Apache-2.0 License - see the [LICENSE](LICENSE) file for details.