open-index/open-npm huggingface dataset:
npm package: @marcosantonocito/middy-cognito-permission
Description: Authorization and roles permission management for the Middy framework that works with Amazon Cognito.
Author: Marco Santonocito
Latest version: 1.0.1

# Serverless Cognito Permission Middleware

[![GitHub version](https://badge.fury.io/gh/santonocito%2Fmiddy-cognito-groups-authorizer.svg)](https://badge.fury.io/gh/santonocito%2Fmiddy-cognito-groups-authorizer)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fsantonocito%2Fmiddy-cognito-permission.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fsantonocito%2Fmiddy-cognito-permission?ref=badge_shield)

Amazon Cognito user pools enables you to create and manage groups, 
add users to groups, and remove users from groups. 
You can use these groups to create collections of users and manage their permissions. 
This middleware checks for the user’s groups permission and authorizes user requests.

This middleware can be used in combination with
[`httpErrorHandler`](#httperrorhandler) to automatically return the right
response to the user.

## Install

To install this middleware you can use NPM:

```bash
npm install --save @marcosantonocito/middy-cognito-permission
```

## Options

 - `allowedRoles` (array) (optional): Array of strings defining containing the 
 roles authorized to accomplish the request


## Examples

Request authorized:

```javascript
const middy = require('@middy/core')
const cognitoPermission = require('@marcosantonocito/middy-cognito-permission')

const handler = middy((event, context, cb) => {
  cb(null, {})
})

handler.use(cognitoPermission({
  allowedRoles: ['Admin']
}))

// invokes the handler, note that property foo is missing
const event = {
  body: JSON.stringify({something: 'somethingelse'}),
  requestContext: {
    authorizer: {
      claims: {
        'cognito:groups': ['Admin']
      }
    }
  }
}
handler(event, {}, (err, res) => {
  expect(res).toEqual({})
})
```

Request not authorized:

```javascript
const middy = require('@middy/core')
const cognitoPermission = require('@marcosantonocito/middy-cognito-permission')

const handler = middy((event, context, cb) => {
  cb(null, {})
})

handler.use(cognitoPermission({
  allowedRoles: ['Admin']
}))

// invokes the handler, note that property foo is missing
const event = {
  body: JSON.stringify({something: 'somethingelse'}),
  requestContext: {
    authorizer: {
      claims: {
        'cognito:groups': ['User']
      }
    }
  }
}
handler(event, {}, (err, res) => {
  expect(err.message).toEqual('You don\'t have the permission to access this resource')
})
```

## Contributing

Everyone is very welcome to contribute to this repository. Feel free to [raise issues](https://github.com/santonocito/middy-cognito-permission/issues) or to [submit Pull Requests](https://github.com/santonocito/middy-cognito-permission/pulls).


## License

Licensed under [MIT License](LICENSE). Copyright (c) 2020 Marco Santonocito.
npm package: @marcoscamposyesh/n8n-nodes-glpi-v2-glpi11
Description: GLPI Rest API Node compatible with GLPI API V2.
Author: YeshShareDEV
Latest version: 2.0.4

# n8n-nodes-glpi-v2-glpi11

![n8n](https://img.shields.io/badge/n8n-community-orange) ![GLPI](https://img.shields.io/badge/GLPI-REST%20API-blue)

Node para integração do [GLPI](https://glpi-project.org/) com o [n8n](https://n8n.io/), compatível com a API REST V2 do GLPI.

## ✨ Funcionalidades
- Autenticação automática via initSession (sem precisar criar node HTTP manual)
- Suporte a operações de CRUD para Tickets, Changes, Problems, Computers, Softwares e comentários
- Gerenciamento automático do Session-Token
- Compatível com n8n Cloud e Self-hosted
- Credenciais seguras (GLPI URL, App Token, Username, Password)

## 🚀 Instalação

1. Clone ou baixe este repositório
2. Execute `npm install` para instalar as dependências
3. Use os scripts disponíveis para build/dev:
   - `npm run build` — build de produção
   - `npm run dev` — modo desenvolvimento

## 🔧 Configuração no n8n

1. Importe o node customizado no painel do n8n
2. Crie uma credencial do tipo **GLPI API** informando:
   - GLPI URL (ex: https://glpi.seudominio.com/apirest.php)
   - App Token
   - Username
   - Password
3. Use o node "GLPI API" nos seus fluxos, escolhendo a operação desejada (Get, Add, Update, Comment)

## 🧩 Exemplo de Uso

- Buscar um ticket:
  - Operation: Get
  - Item Type: Ticket
  - Item ID: 123
- Criar um novo computador:
  - Operation: Add
  - Item Type: Computer
  - Payload: `{ "name": "PC-01", "serial": "123456" }`

## 📁 Estrutura do Projeto

- `credentials/GlpiV2Api.credentials.ts` — definição das credenciais
- `nodes/GlpiV2/GlpiV2.node.ts` — implementação principal do node
- `nodes/GlpiV2/resources/` — módulos separados por área do GLPI
- `n8n-nodes-glpi-instructions.md` — instruções detalhadas e exemplos

## 📜 Licença

MIT — veja o arquivo [LICENSE.md](LICENSE.md)
npm package: @marcosdev.me/uselocalstorage
Description: A simple and effective React Hook to manage the localStorage
Author: Marcos Mendes
Latest version: 1.0.3

# useLocalStorage

A simple and effective React Hook to manage the localStorage

<img
  height="100%"
  width="460"
  alt="hook preview"
  src="https://raw.githubusercontent.com/iamdevmarcos/useLocalStorage/main/assets/preview.gif"
/>

## Links

- [Github](https://github.com/iamdevmarcos/useLocalStorage)
- [NPM](https://www.npmjs.com/package/@marcosdev.me/uselocalstorage)

## Installation

This module is distributed via [npm](https://www.npmjs.com/package/@marcosdev.me/uselocalstorage) which is bundled with node and
should be installed as one of your project's `dependencies`.

## Important

The hook provides some functions to better and improve your developer experience:

- `getStorageItem`: get an item from LocalStorage
- `setStorageItem`: register an item on the LocalStorage
- `removeStorageItem`: remove an item from the LocalStorage
- `clearStorage`: clear all values in the LocalStorage

## Example

```jsx
import React from 'react'
import { useLocalStorage } from 'useLocalStorage'

const App = () => {
  const {
    getStorageItem,
    setStorageItem,
    removeStorageItem,
    clearStorage
  } = useLocalStorage()

  return (
    <div>
      <h1>Example:</h1>

      <button onClick={() => setStorageItem('username', 'Marcos Mendes')}>
        Register username
      </button>
      <br />
      <br />

      <button onClick={() => removeStorageItem('username')}>
        Remove username
      </button>
      <hr />

      <button onClick={() => clearStorage()}>
        Delete all items in localStorage
      </button>
    </div>
  )
}

export default App
```
## Issues

Looking to contribute? Look for the [Good First Issue](https://github.com/iamdevmarcos/useLocalStorage/issues) label.

### 🐛 Bugs

Please file an issue for bugs, missing documentation, or unexpected behavior.

### 💡 Feature Requests

Please file an issue to suggest new features. Vote on feature requests by adding
a 👍. This helps maintainers prioritize what to work on.

## LICENSE

[MIT](LICENSE)
npm package: @marcoslobo/neon-js
Description: Poma-JS SDK for interacting with POMA blockchain
Author: Marcos Lobo
Latest version: 1.0.0

# Poma-js

Constructed package using:

- `poma-core`
- `Poma-api`
- `Poma-nep5`

In addition, this package exposes a high level semantic API binding for beginner usage. The semantic API can be found in the default export of the package.

```js
const Poma = require("marcoslobo/Poma-js");

console.log(Poma); // {wallet, tx, api, nep5, etc...}

const PomaJs = Poma.default;

console.log(PomaJs); // {create, get, sign, verify,...}
```

The semantic API follows a convention of Verb-Noun. Any extra words beyond the first 2 is collapsed into the Noun and camelcased.

```js
PomaJs.create.stringStream("1234");
PomaJs.encrypt.privateKey("key");
```

The exceptions to this rule are the managed methods provided by `api`:

```js
PomaJs.sendAsset
PomaJs.claimGas
PomaJs.doInvoke
PomaJs.setupVote
```
npm package: @marcoslobo/poma-api
Description: Poma-API module: High level API for poma-js
Author: Marcos Lobo
Latest version: 1.0.0

# poma-api

## Overview

Poma-API plugin. Provides the package `api` within `poma-js`.

- Provides high level functionality for crafting transactions.
- Provides API for accessing external data providers (pomascan).

## Installation

```sh
yarn i @cityofzion/poma-api
```

```js
const pomaCore = require("@marcoslobo/poma-core");
const apiPlugin = require("@marcoslobo/poma-api");

const pomaJs = apiPlugin(pomaCore);

module.exports = pomaJs;
```
npm package: @marcoslobo/poma-core
Description: Poma-JS Core functionality
Author: Marcos Lobo
Latest version: 1.0.1

# neon-core

Core package for `poma-js`. Forms the foundation of all poma-js distributions.

Available packages:

- `wallet`
- `tx`
- `sc`
- `rpc`
- `u`
- `logging`
- `CONST`
- `settings`
npm package: @marcoslobo/poma-domain
Description: Poma-Domain Module
Author: Marcos Lobo
Latest version: 1.0.0

# neon-domain

## Overview

Poma-Domain plugin. Provides the package `domain` within `poma-js`.

- Provides functionality to resolve domain names to addresses.

## Installation

```sh
yarn i @marcoslobo/neon-domain
```

```js
const pomaCore = require("@marcoslobo/poma-core");
const domainPlugin = require("@marcoslobo/poma-domain");

const pomaJs = domainPlugin(pomaCore);

module.exports = pomaJs;
```

## API

In order to use the resolver, you must first create an instance of it using the scripthash:

```js
const provider = pomaJs.domain.nns.instance(contractScriptHash);
```

The resolver interface is defined in `provider/common.ts`.

You can resolve a domain by providing a rpc node url and the domain:

```js
const blockchainAddress = provider.resolveDomain(rpcUrl, "myaddress.poma");
```
npm package: @marcoslobo/poma-js
Description: Poma-JS SDK for interacting with POMA blockchain
Author: Marcos Lobo
Latest version: 1.0.2

# Poma-js

Constructed package using:

- `poma-core`
- `Poma-api`
- `Poma-nep5`

In addition, this package exposes a high level semantic API binding for beginner usage. The semantic API can be found in the default export of the package.

```js
const Poma = require("marcoslobo/Poma-js");

console.log(Poma); // {wallet, tx, api, nep5, etc...}

const PomaJs = Poma.default;

console.log(PomaJs); // {create, get, sign, verify,...}
```

The semantic API follows a convention of Verb-Noun. Any extra words beyond the first 2 is collapsed into the Noun and camelcased.

```js
PomaJs.create.stringStream("1234");
PomaJs.encrypt.privateKey("key");
```

The exceptions to this rule are the managed methods provided by `api`:

```js
PomaJs.sendAsset
PomaJs.claimGas
PomaJs.doInvoke
PomaJs.setupVote
```
npm package: @marcoslobo/poma-nep5
Description: Poma-NEP5 Module
Author: Marcos Lobo
Latest version: 1.0.1

# poma-nep5

## Overview

Poma-NEP5 plugin. Provides the package `nep5` within `poma-js`.

- ABI functions to quickly craft function calls.
- High level functions to get NEP5 token information.

## Installation

```sh
yarn i @marcoslobo/neon-nep5 @marcoslobo/poma-core
```

```js
const neonCore = require("@marcoslobo/poma-core");
const nep5Plugin = require("@marcoslobo/neon-nep5");

const neonJs = nep5Plugin(neonCore);

module.exports = neonJs;
```
npm package: @marcoslobo/poma-nep9
Description: Poma-NEP9 Module
Author: Marcos Lobo
Latest version: 1.0.0

# neon-nep9

## Overview

Poma-NEP9 plugin. Adds the package `nep9` into `poma-core`.

- Ability to parse an NEP9 compliant string into an easily consumable intent object

## Installation

```sh
yarn i @marcoslobo/poma-nep9 @marcoslobo/poma-core
```

```js
const neonCore = require("@marcoslobo/poma-core");
const nep9Plugin = require("@marcoslobo/poma-nep9");

const neonJs = nep9Plugin(neonCore);

module.exports = neonJs;
```

## API

`parse` takes in a complete NEP9 URI string and returns an intent object:

```js
import { nep9 } from "pomaJs";
const intent = parse(
  "poma:AeNkbJdiMx49kBStQdDih7BzfDwyTNVRfb?asset=gas&amount=123.456"
);
```

The intent will look like:

```js
{
  address: "AeNkbJdiMx49kBStQdDih7BzfDwyTNVRfb",
  attributes:[], // defaults to empty array
  asset: "602c79718b16e442de58778e148d0b1084e3b2dffd5de6b7b16cee7969282de7", // May be undefined
  amount: 123.456 // May be undefined
}
```

- Known ASCII attributes (remarks and descriptions) are URI-decoded and transformed into hexstrings automatically.
- Assets `poma` and `gas` are automatically transformed into their respective assetIds.
- Runtime validation such as address and contract verifications are not performed during parsing.
npm package: @marcoslobo/vibookfinance-uikit
Description: Set of UI components for vibook finance projects
Latest version: 0.0.1

# ApeSwap UIkit


ApeSwap UIkit is a set of React components and hooks used to build pages on ApeSwap's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @apeswapfinance/uikit`

## Setup

### Theme

Before using ApeSwap UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@apeswapfinance/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@apeswapfinance/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.
npm package: @marcoslobo/wolff-uikit
Description: Set of UI components for wolff projects
Latest version: 1.0.3

# 🥞 Pancake UIkit

[![Version](https://img.shields.io/npm/v/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit) [![Size](https://img.shields.io/bundlephobia/min/@pancakeswap-libs/uikit)](https://www.npmjs.com/package/@pancakeswap-libs/uikit)

Pancake UIkit is a set of React components and hooks used to build pages on Pancake's apps. It also contains a theme file for dark and light mode.

## Install

`yarn add @pancakeswap-libs/uikit`

## Setup

### Theme

Before using Pancake UIkit, you need to provide the theme file to styled-component.

```
import { ThemeProvider } from 'styled-components'
import { light, dark } from '@pancakeswap-libs/uikit'
...
<ThemeProvider theme={isDark}>...</ThemeProvider>
```

### Reset

A reset CSS is available as a global styled component.

```
import { ResetCSS } from '@pancakeswap-libs/uikit'
...
<ResetCSS />
```

### Types

This project is built with Typescript and export all the relevant types.

## How to use the UIkit

If you want to use components from the UIkit, check the [Storybook documentation](https://pancakeswap.github.io/pancake-uikit/)