open-index/open-npm huggingface dataset:
npm package: @n-octo-n/n8n-nodes-curl
Description: Make HTTP requests by calling cURL, instead of the Node.js HTTP stack.
Author: Octt
Latest version: 0.0.3

# n8n-nodes-curl

This n8n node lets you call out to the cURL binary to do any kind of supported HTTP operation, via the standard `curl` command-line syntax.

[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

The statically-compiled cURL binaries used by this node are provided by [stunnel/static-curl](https://github.com/stunnel/static-curl). Refer to that repository for a list of the features provided by the binaries.

[Installation](#installation)  
[Compatibility](#compatibility)  
[Usage](#usage)  
[Quirks](#quirks)  
[Resources](#resources)  

## Installation

Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation. The npm name for this package is `@n-octo-n/n8n-nodes-curl`.

## Compatibility

Tested on n8n `1.4.0` as of 2023/08/29.

## Usage

This node simply provides an input field to pass shell command-line arguments to cURL, and outputs the following object in case of success:
```
{ key           | example
----------------|----------------------------------------------------
  data          | <p>This is not the string you were expecting.</p>
  statusCode    | 200
  statusMessage | OK
  headers       | { "content-type": "text/html; charset=utf-8" }
}
```

In case the response includes a `set-cookie` header, the node's output will also include a `setCookie` key with the following content, that allows for easy retrieval of all cookies sent by the server within your workflow:
```
{ key    | example
---------|----------------------------------------------------
  array  | [ "Yummy=1", "SessionId=cafebabe" ]
  string | "Yummy=1; SessionId=cafebabe"
  object | { "Yummy": { "value": "1" }, "SessionId": { "value": "cafebabe", "domain": "example.com" } }
}
```

Be careful of what data you pass to the input field of this node, as everything is simply handed to the system shell to be passed to cURL. Be especially mindful of using shell quotes and escapes when needed; use JavaScript functions if you need to filter data.

On first use, the node automatically downloads the correct cURL binary for your system architecture (~3 MB, but varies), then stores it for future use. Just wait if it seems like the node takes a while to elaborate.

## Quirks

* Currently, this node only supports dealing with text data. If any HTTP endpoint you call with this node returns binary data, there's no guarantee that the result will be fine.
* Currently, only Linux hosts are supported. All kinds of containers work fine, but Windows and macOS don't work yet.

## Resources

* [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
* [cURL documentation](https://curl.se/docs/)
	* [curl | tldr pages](https://tldr.inbrowser.app/pages/common/curl)
npm package: @n-octo-n/n8n-nodes-json-database
Description: Use a JSON file as a persistent, hierarchical key-value database.
Author: Octt
Latest version: 0.0.2

# n8n-nodes-json-database

This is an n8n node lets you easily and efficiently use JSON files as persistent, hierarchical key-value databases/stores.

[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

[Installation](#installation)  
[Compatibility](#compatibility)  
[Usage](#usage)  
<!--[Quirks](#quirks)  -->
[Resources](#resources)  

## Installation

Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation. The npm name for this package is `@n-octo-n/n8n-nodes-json-database`.

## Compatibility

Tested on n8n `1.4.0` as of 2023/08/31.

## Usage

Operations:

* Read From Database
* Write To Database

Common Parameters:

* **Query Path** (optional): The path on which to act on in the JSON tree. Supports the standard JavaScript dot-and-bracket property access notation. Leaving the field empty will make the node act on the root of the JSON tree.
* **File Path** (optional): The system path to the JSON file in which to read/write the data. Leaving the field empty, if everything goes well, will make the node use the default global database (which should be located in `~/.n8n/JsonDatabase.Global.json`).

Write-specific parameters:

* **Data Source** (required): only one of the following options: 
	* **Source Object Key** (required): An object key from the current input context (as set by immediately preceding nodes) to read data from. For example, the name of a property specified via a Set node, placed immediately before the JSON Database node.
	* **Source JSON String** (optional): Any JSON string that can be parsed and evaluated as an object in JavaScript. Leaving the field empty will interally force the value to be considered `undefined`, and will thus simply delete the destination branch in the JSON tree.

## Resources

* [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
* [JSON Documentation](https://www.json.org/)
* [JSON in JavaScript | MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON)
* [Accessing properties of Objects in JavaScript | MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#accessing_properties)
npm package: @n-oouchi/ts-snowflake
Description: 64bit unique id generator
Author: Naoki Oouchi
Latest version: 1.0.0

# ts-snowflake

ts-snowflake is generate time based 64bit unique id.

Implementation of Snowflake concept.

# Installation

```shell
npm i @n-oouchi/ts-snowflake
```

# Usage

```typescript
import IdConfig from "@n-oouchi/ts-snowflake/dist/Domain/IdConfig/IdConfig";
import {TsSnowFlake} from "@n-oouchi/ts-snowflake";

const idConfig = new IdConfig(1, 0) //workerId,timeOffset
const snowFlake = new TsSnowFlake(idConfig)
const id = snowFlake.generate()
```

## IdConfig

### workerId

To any number :ex. machine id, process id, region id...

Unique to the different workerId.

### offset

Time offset to be subtracted from the current time.

Set the unix timestamp.

## TsSnowFlake

### generate

Generate id from Snowflake instance.
npm package: @n-rowe/pash
Description: A fast, minimal json patch generation library based off ohash's implementation
Author: Nathan Rowe
Latest version: 0.4.0

# Pash
<p>
<img src="https://img.shields.io/github/actions/workflow/status/n-rowe/pash/ci.yaml">
<a href="https://codecov.io/gh/n-rowe/pash"><img src="https://codecov.io/gh/n-rowe/pash/graph/badge.svg?token=CLCNGCWGYF"/></a>
<a href="./LICENSE"><img src="https://img.shields.io/github/license/n-rowe/pash?cacheSeconds=60480"></a>
</p>

A fast, minimal json patch generation library based off [ohash](https://github.com/unjs/ohash)'s implementation.

## Motivations
The current implementation of libraries such as `fast-json-patch` or `ohash` will create additional diff entries for array elements. Which can, in some cases, defeat the simplicity of JSON Patch.
To resolve this a number of changes were made on top of ohash's diff implementation:
1. It stores the type of hashed objects.
2. If an object is an array, it stores hashes of its direct children.
3. If an object is an array element, do not diff properties.
    1. An array element only diffs its own hash.
    2. This means if it is an object, it will not replace individual properties.
4. The patches generated have additional non-standard 'value' and 'from' properties for auditing.
5. Adds support for the `excludeKeys` hashing option.

## Usage

### 1. Basic usage
Below is the basic usage of pash.
```js
import { diff } from '@n-rowe/pash'

const source = { name: 'Graham', roles: ['Admin', 'User', 'Owner'] }
const changed = { name: 'Graham', roles: ['Admin', 'Owner'] }

const patches = diff(source, changed).asPatches()
console.log(patches)
// [ { op: 'remove', path: '/roles/1', value: 'User' } ]
```
Compared to `fast-json-patch`:
```js
import { compare } from 'fast-json-patch'

const source = { name: 'Graham', roles: ['Admin', 'User', 'Owner'] }
const changed = { name: 'Graham', roles: ['Admin', 'Owner'] }

const patches = compare(source, changed)
console.log(patches)
// [ { op: 'remove', path: '/roles/2' }, { op: 'replace', path: '/roles/1', value: 'Owner' } ]
```

### 2. Remove 1 element from large array
```js
import { diff } from '@n-rowe/pash'
import data from './large_diff.json'

const patches = diff(data.original, data.new).asPatches()
console.log(patches)
// [ { op: 'remove', path: '/1984', value: { id: '79db2453-96c3-4bd3-8a23-1a22f77754b6', name: 'Gertrude' } } ]
```
Compared to `fast-json-patch`:
```js
import { compare } from 'fast-json-patch'
import data from './large_diff.json'

const patches = compare(data.original, data.new)
console.log(patches)
// [ { op: 'remove', path: '/4999' }, { op: 'replace', path: '/4998/name', value: 'Kyler' } ...6029 more items ],
```
npm package: @n-teddy/md-pdf
Description: Print-ready Markdown to PDF converter (CLI + API)
Latest version: 0.2.0

# md-pdf

Print-ready Markdown → PDF converter for Node.js with both CLI (`md2pdf`) and programmatic API. Supports themes, plugins (Mermaid, math, TOC, footnotes, frontmatter), Watch mode, multi-file/book builds, and Chromium or lite rendering.

## Install

```bash
pnpm add -D @n-teddy/md-pdf
# or
npm install --save-dev @n-teddy/md-pdf
```

## CLI

```bash
md2pdf input.md -o output.pdf
```

Key flags (see docs/v2 and docs/v3 for advanced usage):
- `--theme <name|path>`
- `--renderer chromium|lite`
- `--toc`, `--footnotes`, `--mermaid`, `--math`
- `--watch` for live rebuilds
- `book build` / `book preview` for V3 book-mode projects

## API

```ts
import { convertMarkdownToPdf } from "@n-teddy/md-pdf";

await convertMarkdownToPdf("# Hello", {
  output: "hello.pdf",
  renderer: "chromium",
  toc: true,
});
```

See `docs/` for architecture, plugins, themes, and book publishing guidance.

## Releasing

CI auto-runs on `main`; Changesets manages versions and publishes to npm when release PRs are merged.