open-index/open-npm huggingface dataset:
npm package: @orangecatai/adgen-canvas
Description: OrangeCat's canvas component (adgen-canvas), forked from Excalidraw
Latest version: 0.0.10

# adgen-canvas

**adgen-canvas** is [OrangeCat](https://orangecat.ai)'s canvas component, forked from [Excalidraw](https://excalidraw.com). It is exported as a React component to be directly embedded in your project.

## Installation

Use `npm` or `yarn` to install the package.

```bash
npm install react react-dom @orangecatai/adgen-canvas
# or
yarn add react react-dom @orangecatai/adgen-canvas
```

> **Note**: If you don't want to wait for the next stable release and try out the unreleased changes, use `@orangecatai/adgen-canvas@next`.

#### Self-hosting fonts

By default, adgen-canvas will try to download all the used fonts from the [CDN](https://esm.run/@orangecatai/adgen-canvas/dist/prod).

For self-hosting purposes, you'll have to copy the content of the folder `node_modules/@orangecatai/adgen-canvas/dist/prod/fonts` to the path where your assets should be served from (i.e. `public/` directory in your project). In that case, you should also set `window.EXCALIDRAW_ASSET_PATH` to the very same path, i.e. `/` in case it's in the root:

```js
<script>window.EXCALIDRAW_ASSET_PATH = "/";</script>
```

### Dimensions of adgen-canvas

adgen-canvas takes _100%_ of `width` and `height` of the containing block so make sure the container in which you render adgen-canvas has non zero dimensions.

## Integration

Head over to the [docs](https://orangecat.ai).

## API

Head over to the [docs](https://orangecat.ai).

## Contributing

Head over to the [docs](https://orangecat.ai).
npm package: @orangecatai/common
Description: OrangeCat adgen-canvas common functions, constants, etc.
Latest version: 0.0.2

# @orangecatai/common

## Install

```bash
npm install @orangecatai/common
```

If you prefer Yarn over npm, use this command to install the OrangeCat common package:

```bash
yarn add @orangecatai/common
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @orangecatai/common
```
npm package: @orangecatai/element
Description: OrangeCat adgen-canvas elements-related logic
Latest version: 0.0.2

# @orangecatai/element

## Install

```bash
npm install @orangecatai/element
```

If you prefer Yarn over npm, use this command to install the OrangeCat element package:

```bash
yarn add @orangecatai/element
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @orangecatai/element
```
npm package: @orangecatai/math
Description: OrangeCat adgen-canvas math functions
Latest version: 0.0.2

# @orangecatai/math

## Install

```bash
npm install @orangecatai/math
```

If you prefer Yarn over npm, use this command to install the OrangeCat math package:

```bash
yarn add @orangecatai/math
```

With PNPM, similarly install the package with this command:

```bash
pnpm add @orangecatai/math
```
npm package: @orangejellyfish/redux-persist-seamless-immutable
Description: Use seamless-immutable with redux-persist v5
Author: Hilke Heremans
Latest version: 1.0.1

# redux-persist-seamless-immutable

This package lets you use `seamless-immutable` on a per-reducer basis along with `redux-persist v5`.

Lots of people seem to have trouble with this, so I decided to cobble together a quick fix.

## Why

> Why is this package for me?

You love using `seamless-immutable` with `redux` and `redux-persist` and found yourself enthusiastically upgrading to `redux-persist v5`.

Having read the `redux-persist` docs for v5 you already know that it no longer supports top-level immutable state. But you don't use immutable at that level -- you use it on a per-reducer basis, with top-level state still being a POJO.

You trod on. But, even after using a custom transformer, you then find v5 is consistently throwing you `state.merge is not a function` as soon as any immutable reducer changes state.

## Usage

`npm i redux-persist-seamless-immutable` or `yarn add redux-persist-seamless-immutable`.

### v5

```
import { seamlessImmutableReconciler, seamlessImmutableTransformer } from 'redux-persist-seamless-immutable'

const fooConfig = {
  key: 'foo',
  storage: LocalStorage,
  stateReconciler: seamlessImmutableReconciler,
  transforms: [seamlessImmutableTransformer]
}
```

## Credits

The transformation is based on comments over at `https://github.com/rt2zz/redux-persist/issues/133`. Thanks to @josev55 and @robclouth.
npm package: @orangejellyfish/serverless-handlers
Description: A set of [Serverless Framework][sls] handler function factories covering a range of common ways in which AWS Lambda functions can be invoked.
Latest version: 0.6.2

# serverless-handlers

A set of [Serverless Framework][sls] handler function factories covering a range
of common ways in which AWS Lambda functions can be invoked.

## Usage

Install the package from npm with `npm i @orangejellyfish/serverless-handlers`.
All of the handler factories are exported as named exports and expect a handler
function:

```js
import { handleJSON } from '@orangejellyfish/serverless-handlers';

export default handleJSON(async (body) => {
  return {
    statusCode: 200,
  };
});
```

## Available handler factories

We expect the number of available factories to increase over time as we come
across more use cases.

### `handleJSON`

Creates a Lambda function handler that is expected to be invoked in response to
an HTTP request via the AWS API Gateway with a `Content-Type` header with value
`application/json`.

The handler will be invoked with the parsed JSON body of the request and the
raw API Gateway event object which is useful if you need to access other parts
of the request in your handler.

### `handleURLEncoding`

Creates a Lambda function handler that is expected to be invoked in response to
an HTTP request via the AWS API Gateway with a `Content-Type` header with value
`application/x-www-form-urlencoded`.

The handler will be invoked with the parsed JSON body of the request and the
raw API Gateway event object which is useful if you need to access other parts
of the request in your handler.

### `handleSNS`

Creates a Lambda function handler that is expected to be invoked in response to
a message being published to an AWS SNS topic.

The handler will be invoked with the parsed JSON body of the message.

### `handleSNSFIFO`

Creates a Lambda function handler that is expected to be invoked in response to
a message being published to an AWS SNS FIFO topic. Since the only valid
destination for messages on FIFO topics is an SQS FIFO queue this utility is
expected to be used in conjunction with `handleSQSPartialBatchFailure`.

The handler will be invoked with the parsed JSON body of the message and the
original events from SNS and SQS. The return value of the handler is ignored and
the original SQS event object is passed back to the SQS partial batch failure
handler.

### `handleSQSPartialBatchFailure`

Creates a Lambda function handler that is expected to be invoked in response to
a batch of messages on an SQS queue. Automatically removes successfully handled
messages from the queue and throws any failures to ensure those messages are
returned to the queue for later processing.

## Additional utilities

### `responseJSON`

Produce an object of the format expected by a Lambda function that has been
invoked in response to an HTTP request via API Gateway. Intended to work hand
in hand with the `handleJSON` handler factory.

[sls]: https://serverless.com/framework/