open-index/open-npm huggingface dataset:
npm package: @srcful/warden-land-image-urls
Description: This package provides deterministic URL selection based on a provided ID, utilizing cryptographic hash functions to ensure consistent outcomes. This package is useful for applications requiring consistent URL redirection or resource selection based on uni
Latest version: 1.2.1

# Warden Land Image URLs

This package provides deterministic URL selection based on a provided ID, utilizing cryptographic hash functions to ensure consistent outcomes. This package is useful for applications requiring consistent URL redirection or resource selection based on unique identifiers.

## Features

- **Deterministic URL Retrieval**: Ensures that the same ID always results in the same URL from a predefined set.
- **Dual URL Sets**: Supports two distinct sets of URLs for 'enriched' and 'primal' contexts.

## Installation

Install the package using npm:

`npm install @srcful/warden-land-image-urls`

## Usage

The package provides two main functions:

- `getEnrichedLandURL(h3index)`: Returns a URL from the enriched set based on the provided H3-index ID.
- `getPrimalLandURL(h3index)`: Returns a URL from the plaid set based on the provided H3-index ID.

### Example

Here's how you can use the functions in a Node.js script:

```javascript
import { getEnrichedLandURL, getPrimalLandURL } from '@srcful/warden-land-image-urls';

const id = '871f2d6b1ffffff';

console.log('Primal URL full: ' + getPrimalLandURL(id).imageUrlFullSize);
console.log('Enriched URL small: ' + getEnrichedLandURL(id)imageUrlSmallSize);
```

This script will output a URL from each set corresponding to the provided ID.
npm package: @srchetwynd/eventbus
Description: A javascript event bus
Author: S Chetwynd
Latest version: 1.0.0

# eventBus
![](https://gitlab.com/srchetwynd/eventbus/badges/master/coverage.svg) ![](https://gitlab.com/srchetwynd/eventbus/badges/master/pipeline.svg) ![](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)

A simple event bus, register event listeners and emit events on the bus.

## Installation

To install use:

```
npm install @srchetwynd/eventbus
```

## Testing

To run unit tests use:

```
npm run test
```

## Usage

### Importing

The event bus is a singleton, so it can be imported into multiple files and use
each file will use the same instance;


```
const eventBus = require('@srchetwynd/eventbus');
```

### Listening

To add a listener to the bus simple call the addListener function. The function
takes two parameters, the name of the event to listen to, and the callback to be
ran when an event is emitted.

```
eventBus.addListener('someEvent', (val, event) => {
    console.log('This was emited:', val);
});
```

The callback is called with the value which was emitted, and the event object.

Sub events can be emitted to, this is useful if multiple event have the same
name but its required to keep track of where it was emitted from. To listen to a
subevent enter the path to the event special by ':'s.

```
eventBus.addListener('student:login', () => []);
eventBus.addListener('staff:login', () => []);
```

Sub events can be arbitarily deep this is still valid:

```
eventBus.addListener('I:am:a:very:deeply:nested:sub:event', () => []);
```

By using '**' it is possible to call all subevents at a path.

```
eventBus.addListener('student:**', () => []);
eventBus.emit('student'); // not called
eventBus.emit('student:login'); // called
eventBus.emit('student:logout'); // called
eventBus.emit('student:history:fail') // not called, does not call subevents

eventBus.addListener('student:**:fail')
eventBus.emit('student:login') // not called
eventBus.emit('student:history:fail') // called
```

Using '***' will call all events on that path including subevent.

```
eventBus.addListener('student:***');
eventBus.emit('student:login'); // called
eventBus.emit('student:history'); // called
eventBus.emit('student:history:fail'); // called
```

Adding an event listener returns a new Event object. This object contains the
events path, callback, and id. To remove an event listener call remove on the
event object.

```
const event = eventBus.addListener('staff:login', () => []);
...
event.remove();
```

To emit an event call emit on the event bus, the function takes 2 parameters,
the name of the event, and the values to pass to the callback.

```
eventBus.emit('student:login', { name: 'Jimmy' });
```
npm package: @srchetwynd/sherlock
Description: Time Tracking Application
Author: SRChetwynd
Latest version: 4.0.3

# Sherlock
> A time tracking CLI app track time spent on projects and tags.

[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
[![Pipeline Status](https://gitlab.com/srchetwynd/sherlock/badges/master/pipeline.svg)](https://gitlab.com/srchetwynd/sherlock)
[![Code Coverage](https://gitlab.com/srchetwynd/sherlock/badges/master/coverage.svg)](https://gitlab.com/srchetwynd/sherlock)
[![License](https://img.shields.io/badge/license-MIT-green)](https://mit-license.org/)
[![Code Style](https://img.shields.io/badge/Code_Style-Prettier-ff69b4.svg)](https://prettier.io/)

Sherlock is a simple CLI program for tracking time, its inspired by [Watson](https://tailordev.github.io/Watson/). Its
possible to track time against project, and tags, and view your times grouped by project and day, in daily, weekly, and
monthly periods.

## Installation
To install sherlock you will need node.js and npm.


```sh
npm install -g @srchetwynd/sherlock
```

## Usage

Once installed the sherlock can be access using `sherlock` from the command line.

To show a list of all commands run:

```sh
sherlock --help
```

To list avaliable projects run:

```sh
sherlock projects
```

To add a new project run:

```sh
sherlock new-project
```

When starting to record a project it will stop any currently recording. To start recording time run:

```sh
sherlock start {project} [...tags]
````

To stop recording run:

```sh
sherlock stop
```

## Testing
Tests are stored in the `test` directory, the file structure mirrors the project structure.

## Versioning
This project follows the [SemVer](http://semver.org/)

## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

## Donate
If you like this project and want to donate please click below:
[![Crypto donation button by NOWPayments](https://nowpayments.io/images/embeds/donation-button-black.svg)](https://nowpayments.io/donation?api_key=XSAXPKZ-ZH0MDR9-MT2WG9X-DXYYKRC)
npm package: @srcinnovations/eslint-config
Description: A reasonable set of javascript rules (ESLint 9+, Node 20+)
Author: src innovations
Latest version: 2.3.0

# src-eslint-config

Shared ESLint config for SRC Innovations JavaScript projects.

**v2.x** requires **Node 20+** and **ESLint 9+**. For Node 16/18 and ESLint 7/8, use **v1.x**.

### Install (v2)

One install brings in ESLint 9 and the stylistic plugin:

```bash
npm install -D @srcinnovations/eslint-config
```

Or install ESLint yourself and use the config only:

```bash
npm install -D eslint @srcinnovations/eslint-config
```

### Install (v1 — Node 16/18, ESLint 7/8)

```bash
npm install -D @srcinnovations/eslint-config@1
```

### Config

* **ECMAScript 2024** (optional chaining, nullish coalescing, etc.)
* **Rules:** base, es6, style, stylistic (via [@stylistic/eslint-plugin](https://eslint.style/packages/default))

Future rules may cover: node, errors, imports, strict, variables, React, React a11y, React hooks.

**The initial rules were heavily borrowed from the Airbnb JavaScript styleguide.**

### Flat config (recommended for ESLint 9)

Create `eslint.config.js` in your project root:

```js
const { FlatCompat } = require('@eslint/eslintrc');
const js = require('@eslint/js');
const compat = new FlatCompat({
  baseDirectory: __dirname,
  recommendedConfig: js.configs.recommended,
});
module.exports = compat.extends('@srcinnovations/eslint-config');
```

Use `__dirname` for CommonJS. For ESM (`"type": "module"`), use `import.meta.dirname` (Node 20+) or `path.dirname(fileURLToPath(import.meta.url))`. Install `@eslint/eslintrc` and `@eslint/js` as dev dependencies if needed.

### Using with `.eslintrc` (legacy)

ESLint 9 defaults to flat config. If you keep using `.eslintrc` / `.eslintrc.json`, run ESLint with legacy config enabled, e.g. in your lint script:

```json
"scripts": {
  "lint": "ESLINT_USE_FLAT_CONFIG=false eslint ."
}
```