open-index/open-npm huggingface dataset:
npm package: @omundy/om-functions-js
Description: Helpers and such
Author: Owen Mundy | Sneakaway Studio
Latest version: 1.1.0

# om-functions-js





## Tests

```bash
# install globally
npm install jest --global
# run in directory
jest
```


## Tutorials

- NPM docs [creating](https://docs.npmjs.com/creating-node-js-modules) and [version](https://docs.npmjs.com/updating-your-published-package-version-number)
- [How to make a beautiful, tiny npm package and publish it](https://www.freecodecamp.org/news/how-to-make-a-beautiful-tiny-npm-package-and-publish-it-2881d4307f78/)
- [Best practices for creating a modern npm package](https://snyk.io/blog/best-practices-create-modern-npm-package/)
- [Automate npm publishing with GitHub Actions](https://superface.ai/blog/npm-publish-gh-actions-changelog)
npm package: @omurilo/fastify-mercurius-auto-graphql
Description: Fastify Mercurius Auto Generate Graphql Schema plugin from Swagger/OpenAPI specs
Author: hi@omurilo.dev
Latest version: 1.0.4

# fastify-mercurius-auto-graphql

![Statements](https://img.shields.io/badge/statements-82.65%25-yellow.svg?style=flat) ![Branches](https://img.shields.io/badge/branches-50%25-red.svg?style=flat) ![Functions](https://img.shields.io/badge/functions-50%25-red.svg?style=flat) ![Lines](https://img.shields.io/badge/lines-82.65%25-yellow.svg?style=flat)

A `Fastify` Mercurius auto `GraphQL` schema from Swagger/OpenAPI specs plugin integration.

## Getting started

```bash
yarn add @omurilo/fastify-mercurius-auto-graphql
```

Next, set up the plugin

- Swagger OpenAPI auto GraphQL schema:

```ts
import fp from 'fastify-plugin'
import type { FastifyMercuriusAutoGraphqlOptions } from '@omurilo/fastify-mercurius-auto-graphql'
import fastifyMercuriusAutoGraphqlPlugin from '@omurilo/fastify-mercurius-auto-graphql'

export default fp<FastifyMercuriusAutoGraphqlOptions>(
  async fastify => {
    await fastify.register(fastifyMercuriusAutoGraphqlPlugin, {
      graphql: {
        viewer: false,
      },
      customizeHttpRequest(opts, context) {
        opts.headers.authorization = context.reply.request.headers.authorization
        return opts
      },
    })
  },
  { name: 'mercurius-auto-graphql' },
)

```

* Specify `GraphQL` schema:

```ts
import fp from 'fastify-plugin'
import type { FastifyMercuriusAutoGraphqlOptions } from '@omurilo/fastify-mercurius-auto-graphql'
import fastifyMercuriusAutoGraphqlPlugin from '@omurilo/fastify-mercurius-auto-graphql'

export default fp<FastifyMercuriusAutoGraphqlOptions>(
  async (fastify) => {
    await fastify.register(fastifyMercuriusAutoGraphqlPlugin, {
  	graphql: {
	  viewer: false,
	},
	mercurius: {
	  schema: `
      	    type Query {
	      dummy: Int
      	    }
	  `
	},
	customizeHttpRequest(opts, context) {
      	  opts.headers.authorization = context.reply.request.headers.authorization
      	  return opts
    	}
    })
  },
  { name: 'mercurius-auto-graphql' },
)



```

Mercurius Documentation

Read the documentation at [Mercurius](https://mercurius.dev/#/)

## ESM Only

This package only supports being directly imported in the ESM context.

For information on how to use it in a CommonJS context, please check [this page](https://gist.github.com/ShogunPanda/fe98fd23d77cdfb918010dbc42f4504d).
npm package: @omysoul/bible-codec
Description: Slightly compress Bible JSON
Author: Phil Holden
Latest version: 1.0.15

# Bible Codec

This is the codec used to translate between JSON and txt bible formats. The JSON format is:

```javascript
type Verse = {n: number, txt: string}
type Chapter = Array<Verse>
type Book = Array<Chapter>
type Bible = Array<Book>

[
  [
    {"n": 1, "txt": },
    ...
  ],
  ...
]
```

The txt format has the following separators:

* book: `|||`
* chapter: `||`
* verse: `verse no|verse text`

```
1|In the beginning God created the heaven and the earth.2|And the earth was ...||1|Thus the heavens and the earth were finished, and all the host of them.2|And on the seventh day God ended ...26|So Joseph died, being an hundred and ten years old: and they embalmed him, and he was put in a coffin in Egypt.|||1|Now these are the names of the children of Israel, which came into Egypt;
```
npm package: @omysoul/bible-react
Description: Normalise bible references
Author: Phil Holden
Latest version: 0.0.2

# bible-react

[![travis build](https://img.shields.io/travis/philholden/bible-react.svg?style=flat-square)](https://travis-ci.org/philholden/bible-react)
[![codecov coverage](https://img.shields.io/codecov/c/github/philholden/bible-react.svg?style=flat-square)](https://codecov.io/github/philholden/bible-react)
[![version](https://img.shields.io/npm/v/@philholden/bible-react.svg?style=flat-square)](http://npm.im/@philholden/bible-react)
[![downloads](https://img.shields.io/npm/dm/@philholden/bible-react.svg?style=flat-square)](http://npm-stat.com/charts.html?package=@philholden/bible-react&from=2015-08-01)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)](https://github.com/semantic-release/semantic-release)

An in memory Bible with as you type search and a verse list.

Try it here:

https://philholden.github.io/react-bible/
npm package: @omysoul/bible-references
Description: Normalise bible references
Author: Phil Holden
Latest version: 0.0.33

# Bible References

[![https://api.travis-ci.org/philholden/bible-references.svg]](https://travis-ci.org/philholden/bible-references)

Parses Bible references in a forgiving way so as to enable as-you-type Bible searches. Enables lists of verses parsed:

* John 3:16
* Acts 2:42-47
* Rom 3:23,5:12-14,6:12,23, Gal 3:22
* Mrk, Rev, Rom - Eph
* Gn 1:1; Jn 1:1
* mark16:1,3
* Luke 3:10ff
* Luke 2:1\nDan 1

## Features

Tolerates whitespace:

```
John3:16-17
John  3: 16 - 17  
```
Book names are case insensitive

```
john 3:16
JOhN 3:16
```

Book name are recognised in many forms:

```
1 samuel, 1 sam, 1 sa, 1samuel, 1s, i sa, 1 sm, 1sa, i sam, 1sam, i samuel, 1st samuel, first samuel
```

Comma newline and semicolon [,\n;] can be used interchangeably as group separators

```
Job 1:8,9, Mark 5
```
```
Job 1:8,9; Mark 5
```
```
Job 1:8;9; Mark 5
```
```
Job 1:8,9
Mark 5
```
```
Job 1:8,9,
Mark 5
```
Open ranges can be expressed as follows:

```
// range ends at end of chapter
John 3:16ff

// range ends at end of book
John 3ff

// range ends at end of Bible
John 3:16 -
```

## Output

The output is expressed as an array of ranges:

```javascript
// john 1:8,10-15,11
[
  {
    start: { book: 'john', chapter: '1', verse: '8' },
    end: { book: 'john', chapter: '1', verse: '8' },
  },
  {
    start: { book: 'john', chapter: '1', verse: '10' },
    end: { book: 'john', chapter: '1', verse: '15' },
  },
  {
    start: { book: 'john', chapter: '1', verse: '11' },
    end: { book: 'john', chapter: '1', verse: '11' },
  },
]
```

An `end` property being `undefined` indicates the range continues to the end of smallest defined `end` property. i.e:

* `end.verse === undefined` range ends at end of `end.chapter`
* `end.chapter === undefined` range ends at end of `end.book`
* `end.book === undefined` range ends at end of Bible

## How it works

We first split the input into parts using the group separator `/[,;\n]+/`:

```
'john 1:8,10-15,11' -> ['john 1:8', '10-15', '11']
```

Each of these parts will be mapped to a range of Bible verses. In the case above `'john 1:8'` is a range that starts and ends on the same verse.

It also sets the context for the following ranges. Because `'john 1:8'` specifies a verse we know any groups following that do not specify a book or chapter will be verses in John 1. However if the next range does specify a book or chapter then the context for the following ranges will be set to that book and/or chapter. Note only start books and chapters (on the left of `'-'`) change the context for following verse.  


## Installation

```bash
npm install --save-dev bible-references
```

## When setting up a new repo

`semantic-release-cli setup`

## License

MITT
npm package: @omysoul/googlish
Description: Normalise bible references
Author: Phil Holden
Latest version: 0.0.3

# Googlish

Enter a Google search style query and it will return a test function that returns true when its input satisfies the query.

Works with double and single quoted inner strings:

```javascript
const test = googlish('over fox "lazy dog"')
test('the quick brown fox jumps over the lazy dog')
//true

const test = googlish('over fox "dog lazy"')
test('the quick brown fox jumps over the lazy dog')
//false
```

By default substrings count as matches and search is case insensitive. This can be changed:

```javascript
let wholeWords = true
let caseSensitive = true
googlish('over fox', wholeWords, caseSensitive)
```

Ideal for creating filter functions:

```javascript
const isLazyDog = googlish('"lazy dog"')
const dogs = ['happy dog', 'lazy dog']
const lazyDogs = dogs.filter(isLazyDog)
// ['lazy dog']
```
npm package: @omysoul/svelte-quote-fit
Description: ## install
Latest version: 0.2.8

# svelte-quote-fit

## install

```bash
npm install svelte-quote-fit
```

## use

Format text using a subset of HTML (p, br, i, b, nobr) you may also use \\n and \\\\n (same as br and p).

```html
<script>
  import QuoteFit from "svelte-quote-fit";
</script>

<QuoteFit
  style="width: 80%; height: 320px; background: black;"
  text="For God so loved the world that he gave his one and only Son so that whoever believes in him shall not perish but have eternal life. <nobr><b>John 3:16</b></nobr>"
/>
```

## Storybook

https://bafybeidkosyb4qaok4pjo4f4tkvf2ifxqrl7ps7yqpvwjzvs52h7apohma.ipfs.infura-ipfs.io/docs
npm package: @omysoul/svelte-song-display
Description: ```bash npm install @omysoul/svelte-song-display ```
Latest version: 0.4.7

# @omysoul/svelte-song-display

```bash
npm install @omysoul/svelte-song-display
```

This component attempts to render lyrics as large as possible one verse at a time.
However it keeps the size of text consistent from verse to verse. To do this it tries
many permutations of line breaks to find the one with the best coverage.

The component features a responsive canvas which will adjust its resolution when
it resizes. It also adapts to pixel density. You can pass in a `style` prop to make
the canvas resize by giving hight and width relative units (%, vh, vw, vmin) or using flex.

The SongDisplay component accepts songs in the following format:

```javascript
const song = `title: Amazing grace 
author: John newton

Amazing grace, How sweet the sound
That saved a wretch like me.
I once was lost, but now I am found,
Was blind, but now I see.

'Twas grace that taught my heart to fear,
And grace my fears relieved.
How precious did that grace appear
The hour I first believed.`;
```

The title and the author lines are can be omitted and are currently not rendered.

## Props

| Prop       |                                         |
| ---------- | --------------------------------------- |
| style      | normal HTML style attribute             |
| verseId    | which verse to show zero indexed number |
| blank      | show a blank screen boolean             |
| showSong   | show the whole song at once             |
| fillStyle  | color of text hex values only           |
| text       | text of song in above format            |
| fontWeight | string e.g. "italic bold" or "400"      |
| fontFamily | CSS fontFamily                          |
| lineHeight | default: 1.4                            |
| verseGap   | default: 0.75                           |

## [Storybook](https://bafybeigyevprbh4zbbwcbwtr2jxbzqbikilq4k4lftk4qsozxploutnex4.ipfs.infura-ipfs.io/)

## Example

```html
<script>
  import SongDisplay from "@omysoul/svelte-song-display";
</script>
<SongDisplay
  style="width: 60%; height: 360px;"
  verseId="{1}"
  blank="{false}"
  wholeSong="{false}"
  fillStyle="#3cf"
  text="{song}"
/>
```
npm package: @omznc/source
Description: To install dependencies:
Latest version: 0.0.3

# source

To install dependencies:

```bash
bun install
```

To run:

```bash
bun run index.ts
```

This project was created using `bun init` in bun v1.2.5. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
npm package: @on-running/eslint-config
Description: on-running eslint config
Author: Ekpang Michael
Latest version: 1.1.0

# ESLint Config
On running Eslint config for Javascript and Typescript applications

## How to use


### For JavaScript

Install the package as a dev dependency:

```sh
yarn add --dev @on-running/eslint-config
```

Create an ESLint config `.eslintrc.yml` file in the root of your project with the content below:

```sh
extends: "@on-running/eslint-config" 
```

> Ensure the package's required peer dependencies - `eslint >= 8.0.0`  are installed.

### For TypeScript

Install the package as a dev dependency:

```sh
yarn add --dev @on-running/eslint-config
```

Create an ESLint config `.eslintrc.yml` file in the root of your project with the content below:

```sh
extends: "@on-running/eslint-config/typescript"
```

Create a `tsconfig.eslint.json` file if you don't alreay have one with the following content:

```json
{
  "extends": "./tsconfig.json",
  "include": ["./*.ts", "src", "test", "tests"],
  "exclude": [""]
}
```

> Ensure the package's required peer dependencies - `eslint >= 8.0.0`, `typescript >= 4.0.0` are installed.

## Publish new release
To publish a new release of the package start your commit message with any of the following: 
 ```sh
 release('minor'): for minor release
 release('patch'): for patch release
 release('major'): for a major release
 
 ```
npm package: @on-the-ground/effect
Description: Effect system primitives for implementing structured, resumable, abortive, and fire-and-forget effects in JavaScript/TypeScript.
Latest version: 0.0.16

# @on-the-ground/effect

Effect system primitives for implementing structured, resumable, abortive, and fire-and-forget effects in JavaScript/TypeScript.

This package provides **core effect abstractions** such as:

- **ResumableEffect** – structured yield/resume pattern for cooperative effects
- **AbortiveEffect** – immediate failure propagation with `AbortSignal` support
- **FireAndForgetEffect** – untracked, non-blocking execution with context awareness

## 📁 Directory Structure

```
src/
├── index.ts                  # Entry point
├── resumable-effect.ts       # Handler for suspendable/resumable effects
├── abortive-effect.ts        # Handler for abort-aware, one-way effects
├── fire-and-forget-effect.ts # Handler for non-blocking "fire and forget" effects
```

## ✅ Features

- Modular and composable effect handlers
- Abort signal wiring via `AbortSignal`
- Type-safe cooperative effect management
- Fully ESM and CJS compatible (via Rollup)

## 🧪 Testing

Tests live under `/test` using `vitest`:

```
test/
├── abortive-effect.test.ts
├── fire-and-forget.test.ts
└── resumable-effect.test.ts
```

```bash
yarn test
```

## 🔧 Build

```bash
yarn build
```
npm package: @on-x/prettier
Description: Common Prettier configuration at onX
Author: onXMaps
Latest version: 1.0.0

# onXMaps Prettier Config

### Installation

  1. Add the package
   
     ```
     npm add @on-x/prettier
     ```
  2. Add it to the configuration in `package.json`

     ```
     "prettier": "@on-x/prettier"
     ```

  3. Make sure your [editor honors prettier configuration](https://prettier.io/docs/en/editors.html)
  4. ???
  5. Profit!
npm package: @on1labs/minimal-store
Description: A simple reactive store system based on Svelte's store
Author: ON1FORCE
Latest version: 1.1.1

# minimal-store

A simple reactive store system for managing state in TypeScript.

## Installation

Install the package using npm:

```sh
npm install @on1force/minimal-store
```

## Usage

### Creating a store

Create a store with an initial value:

```typescript
import { createStore } from '@on1force/minimal-store';

// Create a store with an initial value
const countStore = createStore(0);
```

### Subscribing to a store

Subscribe to changes in the store's value:

```typescript
const unsubscribe = countStore.subscribe(value => {
  console.log(`Count: ${value}`);
});
```

### Updating a store

Update the store's value using the set method:

```typescript
countStore.set(1);
```
Use the update method to modify the value based on the current value:

```typescript
countStore.update(value => value + 1);
```

### Getting the Current Value
Get the current value directly:

```typescript
const currentValue = countStore.get();
```

### Unsubscribing from a store

Unsubscribe from changes to the store's value:

```typescript
unsubscribe();
```

# API

### `createStore(initialValue: T): Store<T>`
Creates a new store with the specified initial value.

- `initialValue`: The initial value of the store.
Returns: A new store object.

### `subscribe(listener: (value: T) => void): () => void`
Subscribes to changes in the store's value.

- `subscriber` (Subscriber<T>): A function that receives the current value of the store.
Returns an Unsubscribe function to remove the subscriber.

### `set(value: T): void`
Sets the store's value and notifies all subscribers.

- `value` (T): The new value of the store.

### `update(updater: (value: T) => T): void`
Updates the store's value using an updater function and notifies all subscribers.

- `updater` (Updater<T>): A function that receives the current value of the store and returns the new value.

### `get(): T`
Gets the current value of the store.

Returns: The current value of the store.

# License

MIT

# Author
[@on1force](https://github.com/on1force)
npm package: @on_plc/timediff
Description: A TypeScript library for calculating the difference between two dates with localization support for multiple languages.
Author: Daniil Shamraev shamraev.2002@gmail.com
Latest version: 1.0.8

# TimeDiff

`TimeDiff` — это TypeScript-библиотека для расчета разницы между двумя датами с поддержкой локализации, правильного форматирования на нескольких языках (включая русскую и английскую локали) и поддержки ISO 8601.

## Установка

Установите пакет с помощью npm:

```bash
npm install @on_plc/timediff
```

## Использование

### Импортирование библиотеки

```typescript
import TimeDiff from '@on_plc/timediff';
```

### Примеры использования

#### Создание объекта TimeDiff

```typescript
const date1 = new Date(2023, 0, 1, 0, 0, 0); // 1 января 2023 года
const date2 = new Date(2023, 0, 2, 12, 30, 15); // 2 января 2023 года

const timeDiff = new TimeDiff(date1, date2);
```

#### Поддержка ISO 8601 и языковых настроек

Можно создать объект `TimeDiff` из строки ISO 8601 или указать локаль для автоматического выбора языка.

```typescript
const isoDiff = TimeDiff.fromISO("P1DT12H30M15S");
console.log(isoDiff.humanize('ru', 'long')); // Output: "1 день, 12 часов, 30 минут, 15 секунд"
```

#### Форматирование разницы в человекочитаемом формате

- **Полный формат (long)** — с учетом множественного числа.
- **Короткий формат (short)** — с сокращенными единицами времени.
- **ISO формат (iso)** — представление в ISO 8601.

```typescript
// Английский язык, полный формат
console.log(timeDiff.humanize('en', 'long')); 
// Output: "1 day, 12 hours, 30 minutes, 15 seconds"

// ISO формат
console.log(timeDiff.humanize('', 'iso'));
// Output: "P1DT12H30M15S"
```

#### Сложение и вычитание объектов TimeDiff

```typescript
const date3 = new Date(2023, 0, 3);
const diff1 = new TimeDiff(date1, date2);
const diff2 = new TimeDiff(date2, date3);

const sum = TimeDiff.add(diff1, diff2);
const difference = TimeDiff.subtract(diff1, diff2);

console.log(sum.humanize('en', 'long')); // Форматирование суммы
console.log(difference.humanize('ru', 'short')); // Форматирование разности
```

### API

### `new TimeDiff(date1: Date, date2: Date)`

Создает объект `TimeDiff`, рассчитывая разницу между двумя датами.

### `fromISO(isoString: string): TimeDiff`

Создает `TimeDiff` из строки ISO 8601.

### `humanize(locale?: string, format?: 'short' | 'long' | 'iso'): string`

Форматирует разницу во времени в человекочитаемый формат. Формат `'iso'` возвращает строку ISO 8601.

### `valueOf(): number`

Возвращает разницу во времени в миллисекундах.

### `TimeDiff.add(a: TimeDiff, b: TimeDiff): TimeDiff`

Складывает две разницы `TimeDiff` и возвращает новую разницу.

### `TimeDiff.subtract(a: TimeDiff, b: TimeDiff): TimeDiff`

Вычитает одну разницу `TimeDiff` из другой и возвращает результат.

## Участие в разработке

Будем рады вашим предложениям и отзывам! Пожалуйста, создавайте Issues и Pull Requests, чтобы помочь улучшить этот пакет.

## Лицензия
```
MIT License
```
npm package: @on_sheff/node-red-contrib-smart-add
Description: Easy add-ons for Node-red
Author: Anton Shefov
Latest version: 1.0.20

# node-red-contrib-smart-add

Easy add-ons for Node-red.

Package contains following nodes:

### Repeater
Sends the value by change or after a period of time.

### Connection status
Checks the connection with the host and sends the status.

### MB former
Generates a Modbus request.

### MB parser
Converts the response from Modbus to the required data format.

### MB queue
Creates a queue of Modbus requests.

### Repeater
Sends the value by change or after a period of time.

### OR
Logical OR

### Logic
Performs the selected logical operation.

### Math
Performs the selected mathematical operation.

### WB parser
Parser for Wirenboard nodes.

### Hysteresis
Deadband with reset after a specified period
npm package: @on_sheff/node-red-contrib-smartunity
Description: Node package for connecting to SmartUnity
Author: Anton Shefov
Latest version: 1.1.1

# node-red-contrib-smartunity

Package of nodes for connecting SmartUnity with Node-RED.

Package contains following nodes:

### PLC_connection
Establishes a connection with the SmartUnity PLC.

### To_SmartUnity
Converts packets from Node-Red to SmartUnity.

### From_SmartUnity
Converts packets from SmartUnity to Node-Red.

### Get_state
Requesting the current status of SmartUnity objects.

### PLC_status
Processes the reboot signal and the сonnection with the PLC.

### Workload
Measures the flow of messages.
npm package: @onachi/postman-to-markdown
Description: Generate documentation in markdown from postman documentation.
Author: Jose Luis Campos Bautista
Latest version: 1.0.7


![npm](https://img.shields.io/npm/v/postman-to-markdown?style=plastic)

# 📦  postman-to-markdown

This package generate markdown document from postman.

First export the collection from postman.

![Drag Racing](./resources/export_collection.png)

![Drag Racing](./resources/export.png)

Save the collection file.

## Install

```npm
npm install -g postman-to-markdown
```

# Usage

Execute postman-to-markdown specifying the collection file.

```bash
postman-to-markdown TwitterTracker.postman_collection.json 
```

```
Reading file TwitterTracker.postman_collection.json

Generating markdown file ...

Documentation was created correctly TwitterTracker.md
```
The package will create .md file.

Example of file generated [example.md](https://github.com/bautistaj/postman-to-markdown/blob/master/resources/example.md)

# Contributing
If someone wants to add or improve something, I invite you to collaborate directly in this repository: [postman-to-markdown](https://github.com/bautistaj/postman-to-markdown.git)

# License
postman-to-markdown is released under the [MIT License](https://opensource.org/licenses/MIT).