open-index/open-npm huggingface dataset:
npm package: @nodeutil/publicip
Description: A utility to get public ip address of current network
Author: dubey_aditya
Latest version: 1.0.3

# Utility to get Public IP

## Installation 

+ `npm i -g zx`
+ `npm i -g publicIp`

## Supported Versions
+ Node v14.x

## Supported Platform
+ Tested and build on Ubuntu 21.04
+ Should work on all deb Linux based systems having nodejs v14+

## How to use 
- Install both the modules zx & publicIp 
- type  `which publicIp` on terminal, it returns the installation path
- type `publicIp` returns your public ip.
- Alternatively type `./getIp.js` on terminal to get your public ip, if not installed globally with flag -g.

## Troubleshooting 
- If it throws some error and error code. Try again in a moment.
npm package: @nodeview/build-tools
Description: A wrapper toolkit for working with Nodeview.js source code
Author: zifengshang
Latest version: 1.0.7

# Nodeview Build Tools Installer

This is the installer for Nodeview's `build-tools` scripts for maintaining and working with the source code.

For more information and further instructions, see the primary `build-tools` [repository](https://git.code.tencent.com/nodeview/build-tools).
npm package: @nodevu/aliases
Description: available aliases for sets of Node.js versions
Author: Tierney Cyren
Latest version: 0.0.2

# @nodevu/aliases

This is a module that provides an array of aliases for ranges of Node.js release lines.

## Usage

```js
const aliases = require('@nodevu/aliases')

for (const alias of aliases) {
  console.log(alias)
}
```

## API

This module returns an `Array` of aliases:

- 'current' - This represents the current Node.js release line.
- 'lts/latest' - This represents the latest LTS release line.
- 'lts/active' - This represents the active LTS release lines.
- 'lts/maintenance' - This represents the maintenance LTS release line, if any.
- 'eol' - This represents the End of Life release lines.
- 'all' - This represents all release lines.
npm package: @nodevu/earliest
Description: a module that returns the earliest lts or security release of the release line passed.
Author: Tierney Cyren
Latest version: 0.1.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# earliest

A module that returns earliest LTS or Security release of a given Node.js release line.

## Usage

```js
const { earliest } = require('@nodevu/earliest')

const earliestLts = earliest('v16', 'lts')
const earliestSecurity = earliest('v16', 'security')
```

```js
const { lts, security } = require('@nodevu/earliest')

const earliestLts = earliest('v16', 'lts')
const earliestSecurity = earliest('v16', 'security')
```

## API

This module exports three functions:

- `earliest(name, type)`
  - `name` (string): Node.js release line name. Examples: `v16`, `v11`, `v8`, `v0.10`.
  - `type` (string): `lts` or `security`.
- `lts(name)`
  - `name` (string): Node.js release line name. Examples: `v16`, `v11`, `v8`, `v0.10`.
- `security(name)`
  - `name` (string): Node.js release line name. Examples: `v16`, `v11`, `v8`, `v0.10`.
npm package: @nodevu/fetchindex
Description: A tool that fetches the /dist/index.json file from the Node.js website.
Author: Tierney Cyren
Latest version: 0.1.0

# @nodevu/fetchindex

A tool that fetches the /dist/index.json file from the Node.js website.

## Usage

```js
const fetchindex = require('@nodevu/fetchindex')

const options = {
	fetch: globalThis.fetch, // use your own fetch if you want!
	urls: {
		index: 'https://nodejs.org/dist/index.json',
	},
};

const index = await fetchindex(options); // returns a huge JSON object
```

## API
- `fetchindex(options)`
  - `options` (object): Options object.
		- `fetch` (function): Fetch function. Default: `globalThis.fetch`.
		- `urls` (object): URLs object.
			- `index` (string): URL to fetch the index.json file from. Default: `'https://nodejs.org/dist/index.json'`.
	- Returns: Promise that resolves with the fetched `index.json` object.
npm package: @nodevu/newest
Description: a module that returns the newest lts or security release of the release line passed.
Author: Tierney Cyren
Latest version: 0.1.0

# @nodevu/newest

A module that returns newest LTS or Security release of a given Node.js release line.

## Usage

```js
const { newest } = require('@nodevu/newest')

const newestLts = newest('v16', 'lts')
const newestSecurity = newest('v16', 'security')
```

```js
const { lts, security } = require('@nodevu/newest')

const newestLts = lts('v16')
const newestSecurity = security('v16')
```

## API

This module exports three functions:

- `newest(name, type)`
  - `name` (string): Node.js release line name. Examples: `v16`, `v11`, `v8`, `v0.10`.
  - `type` (string): `lts` or `security`.
- `lts(name)`
  - `name` (string): Node.js release line name. Examples: `v16`, `v11`, `v8`, `v0.10`.
- `security(name)`
  - `name` (string): Node.js release line name. Examples: `v16`, `v11`, `v8`, `v0.10`.
npm package: @nodevu/oldest
Description: a module that returns the oldest lts or security release of the release line passed.
Author: Tierney Cyren
Latest version: 0.1.0

# @nodevu/oldest

A module that returns oldest LTS or Security release of a given Node.js release line.

## Usage

```js
const { oldest } = require('@nodevu/oldest')

const oldestLts = oldest('v16', 'lts')
const oldestSecurity = oldest('v16', 'security')
```

```js
const { lts, security } = require('@nodevu/oldest')

const oldestLts = oldest('v16', 'lts')
const oldestSecurity = oldest('v16', 'security')
```

## API

This module exports three functions:

- `oldest(name, type)`
  - `name` (string): Node.js release line name. Examples: `v16`, `v11`, `v8`, `v0.10`.
  - `type` (string): `lts` or `security`.
- `lts(name)`
  - `name` (string): Node.js release line name. Examples: `v16`, `v11`, `v8`, `v0.10`.
- `security(name)`
  - `name` (string): Node.js release line name. Examples: `v16`, `v11`, `v8`, `v0.10`.
npm package: @nodevu/parsefiles
Description: parse the files identifiers from Node.js
Author: Tierney Cyren
Latest version: 0.0.3

# @nodevu/parsefiles

a utility to parse Node.js's files information from distribution metadata into something more useful.

## Usage

```js
const parsefiles = require('@nodevu/parsefiles')

const version = '17.6.0'
const files = ["aix-ppc64","headers","linux-arm64","linux-armv7l","linux-ppc64le","linux-s390x","linux-x64","osx-arm64-tar","osx-x64-pkg","osx-x64-tar","src","win-x64-7z","win-x64-exe","win-x64-msi","win-x64-zip","win-x86-7z","win-x86-exe","win-x86-msi","win-x86-zip"]

files.forEach(file => {
  const data = parsefiles(file, version)
  console.log(data)
})
```

## The Data

When run, `@nodevu/parsefiles` will return an object with the following properties:

- `id` (String) - the identifier (file) that was passed in. Examples: `aix-ppc64`, `linux-x64`, `osx-x64-pkg`, `osx-arm64-tar`, `win-x64-zip`, `src`, `headers`.
- `files` (Array) - an array of filenames that _should_ exist for the release. There are often more than one.
- `type` (String) - indicates either the operating system, or that the files are source/headers, parsed out of the `id`. Examples: `linux`, `macos`, `windows`, `aix`, `sunos`, `source`, `headers`.
- `architecture` (String) - a string that represents the architecture of the files. Examples: `x86`, `x64`, `arm64`, `armv7l`, `armv6l`, `power`, `z`
npm package: @nodevu/ranges
Description: support node's unofficial alias namespace
Author: Tierney Cyren
Latest version: 0.2.0

# @nodevu/ranges

a module that provides information about ranges of Node.js versions.

## Usage

```js
const ranges = require('@nodevu/ranges')

async function generateData () {
  const data = await ranges()

  console.log(data) // will be a chunky object!
}
```

## Structure

This module will return a medium-sized object with the following structure, with each property being in the context of the range it's under:

- all:
  - versions (Array): An array of versions.
  - newestLts (String): The newest LTS version.
  - newestSecurity (String): The newest possible security release.
  - newest (String): The newest version.
  - oldest (String): The oldest version.
- current:
  - versions (Array): An array of versions.
  - oldestSecurity (String): The oldest security release.
  - newestSecurity (String): The newest possible security release.
  - newest (String): The newest version.
  - oldest (String): The oldest version.
- lts/latest:
  - versions (Array): An array of versions.
  - oldestLts (String): The oldest LTS release.
  - oldestSecurity (String): The oldest security release.
  - newestLts (String): The newest LTS version.
  - newestSecurity (String): The newest possible security release.
  - newest (String): The newest version.
  - oldest (String): The oldest version.
- lts/active:
  - versions (Array): An array of versions.
  - oldestLts (String): The oldest LTS release.
  - oldestSecurity (String): The oldest security release.
  - newestLts (String): The newest LTS version.
  - newestSecurity (String): The newest possible security release.
  - newest (String): The newest version.
  - oldest (String): The oldest version.
- lts/maintenance:
  - versions (Array): An array of versions.
  - oldestLts (String): The oldest LTS release.
  - oldestSecurity (String): The oldest security release.
  - newestLts (String): The newest LTS version.
  - newestSecurity (String): The newest possible security release.
  - newest (String): The newest version.
  - oldest (String): The oldest version.
- eol:
  - versions (Array): An array of versions.
  - newest (String): The newest version.
  - oldest (String): The oldest version.
npm package: @nodevu/static
Description: static outputs from @nodevu/core
Author: Tierney Cyren
Latest version: 0.1.0

# @nodevu/static

Static nodevu data. Automatically updated on some kind of schedule.


## Usage

```js
const { default, releases, security, support } = require('@nodevu/static')

// each of these is a giant JSON blob. default is most giant, followed by releases. Security and support are relatively small.
console.log(default)
console.log(releases)
console.log(security)
console.log(support)
```

## API

This module has four exports:

- `default` (Object) - the default, full set of data returned by [`@nodevu/core`](https://github.com/nodevu/core)). 
- `releases` (Object) - only the `releases` properties from the default set of data returned by [`@nodevu/core`](https://github.com/nodevu/core)), following the same heirarchy.
- `security` - only the `security` properties from the default set of data returned by [`@nodevu/core`](https://github.com/nodevu/core)), following the same heirarchy.
- `support` - only the `support` properties from the default set of data returned by [`@nodevu/core`](https://github.com/nodevu/core)), following the same heirarchy.
npm package: @nodew/lazylist
Description: A lazy list implementation with generator and iterator
Latest version: 0.1.0

# lazyList

A lazy list implementation with generator and iterator

## install
```bash
npm i @nodew/lazylist
```

## source code intro
```bash
tree src ->

src
├── index.ts
├── generators.ts
├── operators.ts
├── wrap.ts
├── reusable.ts
├── utils.ts
└── classic.ts
```

### generators.ts
some basic generators such as repeat、cycle、range and so on.

### operators.ts
operators on series, map/filter/take/drop/zip...

### wrap.ts
helper function for cache evaluated values, while native iterator only do `next` by `next` until done is true, you can't re-call it from begin at next time.

### reusable.ts
wrap operators and generators up, the return value is reusable.

### classic.ts
classic infinite list implementations, such as fibonacci and primes.