open-index/open-npm huggingface dataset:
npm package: @jonnytizz/hazcat
Description: Is there a cat in this image?!
Author: Jon Tizzard
Latest version: 0.1.2

# HazCat

[![NPM Downloads](https://img.shields.io/npm/dw/%40jonnytizz%2Fhazcat?logo=npm)](https://www.npmjs.com/package/@jonnytizz/hazcat) [![Static Badge](https://img.shields.io/badge/github-repo-blue?logo=github&link=https%3A%2F%2Fgithub.com%2FJonnyTizz%2FhazCat)](https://github.com/JonnyTizz/hazCat/tree/main/lib)

Because disappointment is expensive and sadness is measurable.

HazCat is the premium-grade, nonsense-powered module that keeps users safe from the crushing void of looking at a picture and realizing there is no cat in it. It’s a simple promise: if there’s a picture, you’ll **know** whether there’s a cat. HazCat doesn’t add cats; it adds clarity. Your users will never again experience the **soul-sinking moment of not finding a cat** without at least getting a polite, mildly sad report first.

## Features

- **Anti-Disappointment Detection™**: Detects the absence of cats and tells you gently.
- **Sadness Rate Limiting**: Caps sorrow at a legally acceptable level.
- **Feline Verification**: Confirms when cats are actually present.
- **Truth, Not Feline Fabrication**: Zero cat invention, all cat accountability.

## Install

```bash
npm install hazcat
```

## Usage

```ts
import { HazCat } from 'hazcat';

const hazcat = new HazCat({
  apiKey: process.env.OPENAI_API_KEY!,
  model: 'gpt-4.1-mini',
});

const result = await hazcat.hazCat({
  catImage: '<base64 image string>',
  imageType: 'image/jpeg',
});

// result => { hazCat: boolean, message: string }
```

### Example Result

```json
{ "hazCat": false, "message": "A skateboard in a park. Sadly, no cat." }
```

## Configuration

### `HazCatConfig`

| Option    | Type   | Default                  | Description                |
| --------- | ------ | ------------------------ | -------------------------- |
| `apiKey`  | string | required                 | OpenAI API key.            |
| `model`   | string | required                 | OpenAI model to use.       |
| `baseUrl` | string | `https://api.openai.com` | Override the API base URL. |

### `HazCatRequest`

| Option      | Type   | Description                                     |
| ----------- | ------ | ----------------------------------------------- |
| `catImage`  | string | Base64-encoded image data (no data URL prefix). |
| `imageType` | string | MIME type like `image/png` or `image/jpeg`.     |

## Why HazCat

Because no one should have to whisper “I thought there would be a cat.”

HazCat removes the emotional risk from images and replaces it with a warm, validating purr. It’s less a module and more a public service — with honesty.

## FAQ

**Q: What if there is already a cat in the picture?**

A: We confirm it. You’re welcome.

**Q: Does HazCat work on all images?**

A: Yes. Especially the ones that hurt.

**Q: Is this serious?**

A: It’s serious about cats.

## License

Meow.
npm package: @jonnytizz/simple-color-lib
Description: Simple, 0 dependency, color manipulation library, meant for learning and probably not production 😅
Author: Jon Tizzard
Latest version: 0.1.0

# Simple Color Lib 🎨

This is a real simple colour util package. It's an excuse to have a play with things that I would normally rely on a library for.

## So, why?

I first built this within another project, where I wanted easy colour shifting for highlights and shadows in my UI but was trying to avoid just `npm install`ing my way out of a problem. It turned out to be a pretty fun excursion down colour theory and maths even though I settled on a simple and lossy approach. When I came to another project and found myself wanting the same functionality, I decided to make this a little reusable library for myself.

If you're reading this looking for something to use in your project or app, I'd recommend a quick [search on NPM for something like `color`](https://www.npmjs.com/search?q=color).

## Usage

### Install

```bash
npm install @jonnytizz/simple-color-lib
```

### Import

```js
import { shiftHexColor } from '@jonnytizz/simple-color-lib';
```

Note: this package is ESM-only right now.

### Hex manipulation

Use `shiftHexColor(hexColor: string, shift: number): string` to lighten (positive `shift`) or darken (negative `shift`) a hex colour.

It splits `hexColor` into RGB channels and adjusts each by the provided `shift` value, before returning the adjusted hex string. It clamps the channels between `0` and `255`.

```js
shiftHexColor('#942ccc', -10); // '#8a22c2'

shiftHexColor('#abc', 10); // '#b4c5d6' - Short hex expanded to 6 char code

shiftHexColor('#942ccc34', 10); // '#9e36d634' - alpha value is unchanged

shiftHexColor('nope', 10); // 'nope' - invalid hex is returned unchanged
```

It's worth noting:

- 3 or 4 character hex strings will be expanded to their 6 or 8 version counterparts.
- Alpha channels are unshifted.
- Invalid hex input is returned unchanged.
- ⚠️ This is only good for simple shifts or where colour accuracy doesn't matter. Shifting all colour channels by the same amount doesn't match how humans perceive lightness and colour.

## Development

- Install dependencies:

```bash
npm install
```

- Run the unit tests:

```bash
npm run test
```

- Build the library:

```bash
npm run build
```

- Publish the library

```bash
npm publish --access public
```
npm package: @jonnytran/vue-pdf-viewer
Description: Vue viewer component built on top of pdfjs
Author: Jonny Tran
Latest version: 0.2.5
Deprecated: false

# @jonnytran/vue-pdf-viewer

Vue PDF viewer components implemented using PDFJS.

## Install

```bash
npm install --save @jonnytran/vue-pdf-viewer
```

## Demo

`TBD`

### Usage in vue

```js
<template>
  <div id="app" style="height:100vh;width:100vw; position:fixed;">
    <PDFView :src.sync="src" ref="pdfView" fileName="order" :scale.sync="scale">
      <template slot="right-toolbox"></template>
      <!-- Add more buttons/features on the right side of the toolbar -->
      <template slot="left-toolbox"></template>
      <!-- Add more buttons/features on the left side of the toolbar -->
      <template slot="error"></template>
      <!-- Change the error message design -->
      <template slot="loading"></template>
    </PDFView>
  </div>
</template>
<script>
import {PDFView} from '@jonnytran/vue-pdf-viewer';
export default {
  components:{
  // ...
    PDFView
  },
  data(){
    return {
      scale: "1.25"
    }
  }
}
</script>
```

## API

### Props

#### :src <sup>String / Object - default: null<sup>

`src` accepts the following values:

- URL - example: https://example.com/pdf-content.pdf

- PDF Uint8Array Buffer

- [PDFDataRangeTransport](https://mozilla.github.io/pdf.js/api/draft/PDFDataRangeTransport.html)

- [DocumentInitParameters](https://mozilla.github.io/pdf.js/api/draft/global.html#DocumentInitParameters)

- Base64 encoded PDF buffer

- Base64 string - data:application/pdf;base64, ....

- You can also drag/drop pdf files into the viewer utilizing my own [vue-dropzone](https://github.com/GabrielBuragev/vue-dropzone) directive!

for more details see [`PDFJS.getDocument()`](https://github.com/mozilla/pdf.js/blob/8ff1fbe7f819513e7d0023df961e3d223b35aefa/src/display/api.js#L117).

#### :toolbarVisible <sup>Boolean - default: true<sup>

Toggle toolbar visibility.

#### :downloadFeatureVisible <sup>Boolean - default: true<sup>

Toggle download button feature visibility.

#### :sidebarFeatureVisible <sup>Boolean - default: true<sup>

Toggle sidebar (page navigation bar) visibility.

#### :dropzoneFeatureVisible <sup>Boolean - default: true<sup>

Enable/disable the dropzone(drag-n-drop PDF files) feature.

#### :scale <sup>String - default: "1.25"<sup>

Set the initial scale of the viewer.
You can use it with `:scale.sync` for enabling two-way data binding.

#### :fileName <sup>String - default: "{Date.now()}.pdf"<sup>

Name of the file used when download function is triggered.
npm package: @jono-vu/css-slider
Latest version: 1.0.4

 ______  ______  ______       ______  __      __  _____   ______  ______    
/\  ___\/\  ___\/\  ___\     /\  ___\/\ \    /\ \/\  __-./\  ___\/\  == \   
\ \ \___\ \___  \ \___  \    \ \___  \ \ \___\ \ \ \ \/\ \ \  __\\ \  __<   
 \ \_____\/\_____\/\_____\    \/\_____\ \_____\ \_\ \____-\ \_____\ \_\ \_\ 
  \/_____/\/_____/\/_____/     \/_____/\/_____/\/_/\/____/ \/_____/\/_/ /_/ 
                                                                            
                                                                            
Utility for producing pure CSS sliders.
The slider will stretch to fit its parent container.

Modify `/input.ts`    to override default parameters.

Run `yarn`            to install dev dependencies + prettier.
Run `yarn start`      to compile to /output folder.

options {
  classPrefix         prefix every class name to uniq-ify them.
  CSSVariables
    color-primary     color of all UI elements.
    margin            space between arrow and thumb track elements.
    thumb-size        size of thumbs and gap between thumbs.
    fade-duration     length of slide transition in seconds.
  minify              whether or not to minify the css + html outputs. They will be prettified by default.
  infinite            whether or not the slides loop infinitely.
}
npm package: @jonoj/capacitor-fused-location
Description: Provides access to the fused location api by google play services
Author: Johannes Normann Jensen
Latest version: 1.2.1

# capacitor-fused-location

<p align="center">
    <a href="https://www.npmjs.com/package/@jonoj/capacitor-fused-location">
        <img src="https://badge.fury.io/js/%40jonoj%2Fcapacitor-fused-location.svg" alt="npm version" />
    </a>
        <a href="https://snyk.io/test/npm/%40jonoj%2Fcapacitor-fused-location">
            <img src="https://snyk.io/test/npm/%40jonoj%2Fcapacitor-fused-location/badge.svg" alt="Vulnerabilities" />
        </a>
    <a href="https://opensource.org/licenses/MIT">
        <img src="https://img.shields.io/badge/License-MIT-GREEN.svg" alt="License" />
    </a>
</p>

## Description

Geolocation plugin that uses the fused location service instead of the native API.

Getting a location under android is quite difficult. The standard API implemented now in capacitor returns the GPS provider which results in never getting a position indoors. This is not the case under iOS. A better way under Android is the [FusedLocationProvider](https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderClient) which already handles that.

This plugin currently depends on [RxLocation](https://github.com/patloew/RxLocation) and was initially inspired by [this issue/pull request](https://github.com/ionic-team/capacitor/issues/379)

 ## Supported platforms
 
 * Android
 
## Android setup

- `ionic start my-cap-app --capacitor`
- `cd my-cap-app`
- `npm install --save @jonoj/capacitor-fused-location`
- `mkdir www && touch www/index.html`
- `npx cap add android`
- `npx cap sync android`
- `npx cap open android`
- `[extra step]` in android case we need to tell Capacitor to initialise the plugin:

> on your `MainActivity.java` file add `import com.jonoj.plugin.FusedLocation;` and then inside the init callback `add(FusedLocation.class);`

Now you should be set to go. Try to run your client using `ionic cap run android --livereload`.

> Tip: every time you change a native code you may need to clean up the cache (Build > Clean Project | Build > Rebuild Project) and then run the app again.


## Example

```js
import {FusedLocationPlugin} from '@jonoj/capacitor-fused-location';

const fusedLocation = new FusedLocationPlugin();

class FusedFGeolocationExample {
  async getFusedLocation() {
        if (!(this.platform.is('hybrid') && !this.platform.is('android'))) {
            console.log('only android support!');
            return;
        }
    const coordinates = await fusedLocation.getCurrentPosition();
    console.log('Current', coordinates);
  }

  watchPosition() {
    if (!(this.platform.is('hybrid') && !this.platform.is('android'))) {
        console.log('only android support!');
        return;
    }
    const wait = fusedLocation.watchPosition({}, (position, err) => {
    })
  }
}
```


## Testing

Manually tested against the following platforms:

*  Android emulator 10.0 (API Level 28)
*  Android emulator 7.0 (API Level 24)
*  Android device 6.0 (API Level 23)
npm package: @jonpdunne/relay-kit
Description: SDK for Safe Smart Accounts with support for ERC-4337 and Relay
Author: Safe
Latest version: 4.1.2

# Relay Kit

[![npm Version](https://badge.fury.io/js/%40safe-global%2Frelay-kit.svg)](https://badge.fury.io/js/%40safe-global%2Frelay-kit)
[![GitHub Release](https://img.shields.io/github/release/safe-global/safe-core-sdk.svg?style=flat)](https://github.com/safe-global/safe-core-sdk/releases)
[![GitHub](https://img.shields.io/github/license/safe-global/safe-core-sdk)](https://github.com/safe-global/safe-core-sdk/blob/main/LICENSE.md)

The Relay Kit enables ERC-4337 with Safe and allows users to pay for the transaction fees from their Safe account balance using the blockchain native token or ERC-20 tokens, or to get their transactions sponsored.

## Table of contents

- [Documentation](#documentation)
- [Need Help or Have Questions?](#need-help-or-have-questions)
- [Contributing](#contributing)
- [License](#license)

## Documentation

Head to the [Relay Kit docs](https://docs.safe.global/sdk/relay-kit) to learn more about how to use this SDK.

## Need Help or Have Questions?

If you have any doubts, questions, or need assistance, feel free to reach out! [Here you will find how to get support.](https://github.com/safe-global/safe-core-sdk/tree/main/SUPPORT.md)

## Contributing

Please read our [contribution guidelines](https://github.com/safe-global/safe-core-sdk/tree/main/CONTRIBUTING.md) before submitting any changes. We appreciate your help! 🙌

## License

This library is [released under MIT](https://github.com/safe-global/safe-core-sdk/blob/main/LICENSE.md).