npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@joshdcuneo/bible

v0.1.1

Published

[Full Documentation](https://joshdcuneo.github.io/bible)

Downloads

5

Readme

Bible

Full Documentation

This packages contains Passage and Reference types which can be used to work with references to passages of the Bible.

Installation

npm install @joshdcuneo/bible

Reference

A reference refers to a book, a chapter in a book or a verse in a chapter in a book.

Construct a reference

If you have trusted inputs which you know to be valid you can construct a reference directly:

new Reference('John', 3, 16)

Parse a reference

Alternatively if you have untrusted input you can parse a string, this will throw if the reference is invalid:

// parses valid references
assert(Reference.parse('John 3:16') instanceof Reference)

//throws on invalid references
try {
  Reference.parse('Not a reference')
} catch (error) {
  assert(error instanceof Error)
}

Passage

A passage spans from and to a reference. These references may be the same if a passage is only one verse.

Construct a passage

If you have trusted inputs which you know to be valid you can construct a passage directly:

new Passage(
  new Reference('Matthew', 5, 1),
  new Reference('Matthew', 5, 12)
)

Parse a passage

Alternatively if you have untrusted input you can parse a string, this will throw if the reference is invalid:

// parses valid passages
assert(Passage.parse('Matthew 5:1-12') instanceof Reference)

//throws on invalid passages
try {
  Passage.parse('Not a passage')
} catch (error) {
  assert(error instanceof Error)
}

Extract a passage

You can also extract a passage from a string containing other text, this will return null if no passages are found.

assert(Passage.extract('The reading is Matthew 5:1-12') instanceof Passage)
assert(Passage.extract('No passages to be found here') === null)

Extract multiple passages

You can also extract multiple passages from a string.

const textWithTwoPassages = 'The readings today are Matthew 5:1-12 and John 3:16'
assert(Passage.extractAll(textWithTwoPassages).length === 2)
assert(Passage.extractAll('No passages to be found here').length === 0)