open-index/open-npm huggingface dataset:
npm package: @palmabit/react-cookie-law-static-loader
Description: Static loader for react cookie banner GDPR compliance
Author: Alessandro Sarzina
Latest version: 0.7.1

# React Cookie Law static loader

## Example

```html

<body>
  <div id="_rcl-banner"></div>

  <script crossorigin src="https://unpkg.com/@palmabit/react-cookie-law-static-loader@0.7.1/index.js"></script>

  <script>
    renderCookieBanner({
      elementId: '_rcl-banner', // default "_rcl-banner"
      props: {
        message: 'Lorem ipsum',
        // other @palmabit/react-cookie-law params
      }
    })
  </script>

  <script type="text/plain" class="_rcl">
      console.log('Custom script...');
  </script>

  <script type="text/plain" class="_rcl_preferences">
      console.log('Custom preferences script');
  </script>

  <script type="text/plain" class="_rcl_statistics">
      console.log('Custom statistics script');
  </script>

  <script type="text/plain" class="_rcl_marketing">
      console.log('Custom marketing script');
  </script>
</body>
```

# Author

[Palmabit](https://www.palmabit.com)

# Licence

[See the MIT License](http://opensource.org/licenses/MIT)
npm package: @palmabit/sacajawea
Description: Manage your multi-language routes with Next.js, easily
Author: neomusic
Latest version: 2.1.6

# Sacajawea 

[![Codacy Badge](https://api.codacy.com/project/badge/Grade/cee32e7b1efd4b479d2d3bc84cec3cef)](https://app.codacy.com/app/g.aremare/Sacajawea?utm_source=github.com&utm_medium=referral&utm_content=Palmabit-IT/Sacajawea&utm_campaign=Badge_Grade_Dashboard)
[![Build Status](https://travis-ci.org/Palmabit-IT/Sacajawea.svg?branch=master)](https://travis-ci.org/Palmabit-IT/Sacajawea)

[![npm version](https://badge.fury.io/js/%40palmabit%2Fsacajawea.svg)](https://badge.fury.io/js/%40palmabit%2Fsacajawea)

[![Coverage Status](https://coveralls.io/repos/github/Palmabit-IT/Sacajawea/badge.svg?branch=master)](https://coveralls.io/github/Palmabit-IT/Sacajawea?branch=master)


## Manage your multi-language routes with Next.js, easily

Based on [Next-Routes](https://github.com/fridays/next-routes) and [next-routes-with-locale](https://github.com/vonschau/next-routes-with-locale) the main changes are:
* Ability to add routes by forcing the presence of the initial language of the route
* Improved route management
* improved coverage and tests


In the future I will want to implement:
+ handle error with exact status code 
+ static SEO files (robots.txt, google verification file, etc)

### [See the documentation](https://github.com/Palmabit-IT/Sacajawea/wiki)
npm package: @palmabit/strapi-app-version
Description: Show the app version from package.json
Author: Palmabit
Latest version: 1.2.0

# Strapi app version plugin

Simple plugin for Strapi 4 to show the app version from package.json in the Settings page.

<img src="image.png" />

## Installation

```sh
npm install @palmabit/strapi-app-version
```

or

```sh
yarn add @palmabit/strapi-app-version
```

To apply the plugin to Strapi run re-build command

```sh
strapi build
```

## Author

[Palmabit.com](https://www.palmabit.com)
npm package: @palmares/events
Description: This is the events framework for palmares, it's responsible for handling everything that is Pub/Sub like websockets, pub/sub like redis, and other types of asynchronous background tasks
Author: Nicolas Leal
Latest version: 0.1.6

# @palmares/events


## TODOs:
 - [X] Add support for layers to communicate between multiple machines like it was the same.
 - [ ] Add support for multiple distinct layers.
 - [X] Add support for events server so we can have an application up and running  that will just listen for events and nothing else.
npm package: @palmares/serializers
Description: This package is responsible for validating incoming requests and format how the requests are sent to the user.
Author: Nicolas Leal
Latest version: 0.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @palmares/serializers
This is used for serializing and deserializing json data. Actually what this will do is mostly
validating the data, but it will also be used to do conversion of the data so we guarantee that the
data that is being sent and the data that is being received is known.

## Usage
```typescript
import {
  Serializer,
  OutSerializerType,
  StringField,
  ModelSerializer,
} from '@palmares/serializers';
import { Post, User } from './models';

export class UserSerializer extends ModelSerializer {
  fields = {
    userPosts: PostSerializer.new({
      isDynamicRepresentation: true,
      many: true,
    }),
  };

  options = {
    model: User,
    excludes: ['password'] as const,
  };

  async save() {
    const data = this.validatedData;
    const modelInstance = User.default.getInstance<SequelizeEngine<User>>();

    if (data) return modelInstance.create(data);
  }
}

export class PostSerializer extends ModelSerializer {
  options = {
    model: Post,
    excludes: ['id', 'userUuid'] as const,
  };
}
```

Some nice things that we offer is that we are able to create a schema directly from the models without needing to create anything new. We just pass
the models and the fields we want to exclude or include. With that we will automatically detect the types and everything else.

With this you are also able to define `isDynamicRepresentation` of data. The idea is that by defining isDynamicRepresentation we will be able to
just pass the instance and the framework takes care of retrieving the relation data. It will obviously be less efficient than if you didn't use
this. But it's handy for most use cases.

Also you don't need to create a `save` method, the framework can take care of this for you.

If you want you can convert this serializer data to your favorite schema library like `yup`, `joi` or `zod` so you can use it in other environments
like on the front-end, or just to gain some improvements in performance.

```typescript
const serializer = UserSerializer.new();
const schema = await serializer.schema()
```

### TODO
- [ ] Add support for multipletypes fields, (fields that can be either a string or a number)
- [ ] Translatable model fields on serializers (need to create a function in the ModelSerializer that will be called when we can't find a match for this particular field type)
- [ ] Array field type (not serializers with `many = true`)
- [ ] Add support for lazy relations, so one field that is related to itself.
- [ ] Schemas for ALL field types.
- [ ] 80% test coverage.
- [ ] Better typescript support for schemas (will need to do directly on schemas like)
```typescript
const zodSchema = new ZodSchema();

const schema = await zodSchema.getObject(serializer);
```
npm package: @palmares/server
Description: The server from palmares, this is what you will use generally to make HTTP requests
Author: Nicolas Melo
Latest version: 0.3.0

# @palmares/server

## TODOs:

- [x] Add support to translate middlewares to framework specific middlewares.
- [ ] Add class controllers
- [x] Add custom data to the request
- [x] Add Response class.
- [x] Add a ServerResponse class to translate the response in the framework of choice. (Need to work on a way to translate the response more automatically without needing to call methods directly)
- [x] Redirect constructor for response.
- [ ] Parse cookies from request.
- [x] Better typescript support for controller for dependency injection.
- [ ] Better document the HOLE server code.

- [ ] 80% test coverage.
- [ ] Better typescript support.
- [ ] Better translation of the request body.
npm package: @palmares/std
Description: The palmares standard library, this is used to interact with the environment we are working with, it can be a browser, node.js, bun, deno or whatever runtime. The standard library should include interfaces that we can extend in whatever environment we are
Author: Nicolas Leal
Latest version: 0.0.1

# @palmares/std

This is the palmares standard library, it offers many interfaces to interact with the environment. To make the framework more feature proof we do not want to be tied event to a specific runtime as it might change overtime (with stuff like Deno and Bun). So we want to abstract away the runtime and make it easy to change if needed.