open-index/open-npm huggingface dataset:
npm package: @link-loom/react-sdk
Description: UI SDK components for Link Loom
Author: Camilo Alexander Rodriguez Cuaran
Latest version: 1.1.71

# @link-loom/react-sdk

## Description

The @link-loom/react-sdk is a collection of React-based UI components designed to aid in the development of web applications. This library includes a variety of user interface elements ranging from simple alerts and spinners to more complex components like document viewers and data grids, providing developers with essential tools to create intuitive and engaging user interfaces.

## Installation

Install the library in your project with the following command:

> npm install @link-loom/react-sdk

## Components

- **Alert**: Displays a brief, important message to the user in various styles to signify success, warning, error, or information.
- **DataGrid**: A versatile grid component capable of displaying large sets of data, supporting sorting, filtering, and pagination.
- **DocumentViewer**: Renders documents directly within your application, supporting formats like PDF, Word, and more.
- **OffCanvas**: Provides a hidden side panel that slides in and out from the edge of the viewport, useful for menus, filters, or additional information.
- **PageLoaded**: A utility component that tracks the loading state of a page or section, providing visual feedback to the user.
- **Placeholder**: Generates placeholder elements to use during content loading, enhancing the user experience by indicating where content will appear.
- **PopUp**: Displays modal dialogs or pop-up windows, suitable for alerts, prompts, and custom dialogs.
- **SearchableSelect**: A select dropdown component with integrated search functionality, allowing users to filter options as they type.
- **Spinner**: Offers visual cues for loading states, with customizable animations and styles.
- **TagInputField**: Combines tag display and selection, allowing users to create and select tags within an input field.
- **TextEditor**: A rich text editor component that provides a wide range of formatting options for text content.
- **Uploader**: Facilitates file uploads, showing progress, and providing feedback to the user.

For more details on each component, including usage and configuration options, please refer to the full documentation.

## Development

> npm run build;npm version patch;npm publish

## Documentation

For detailed information on each component, including the props they accept and the events they emit, refer to the comprehensive documentation provided with the library.

## Contributions

Contributions to the library are welcome. If you wish to contribute, please review the contribution guidelines provided in the repository.

## License

This project is licensed under the Apache License. For more details, see the LICENSE file in the repository.
npm package: @link-loom/ui-sdk
Description: UI SDK components for Link Loom
Author: Camilo Alexander Rodriguez Cuaran
Latest version: 1.0.99
Deprecated: This package has been renamed to @link-loom/react-sdk.

# @link-loom/ui-sdk

## Description

The @link-loom/ui-sdk is a collection of React-based UI components designed to aid in the development of web applications. This library includes a variety of user interface elements ranging from simple alerts and spinners to more complex components like document viewers and data grids, providing developers with essential tools to create intuitive and engaging user interfaces.

## Installation

Install the library in your project with the following command:

> npm install @link-loom/ui-sdk

## Components

- **Alert**: Displays a brief, important message to the user in various styles to signify success, warning, error, or information.
- **DataGrid**: A versatile grid component capable of displaying large sets of data, supporting sorting, filtering, and pagination.
- **DocumentViewer**: Renders documents directly within your application, supporting formats like PDF, Word, and more.
- **OffCanvas**: Provides a hidden side panel that slides in and out from the edge of the viewport, useful for menus, filters, or additional information.
- **PageLoaded**: A utility component that tracks the loading state of a page or section, providing visual feedback to the user.
- **Placeholder**: Generates placeholder elements to use during content loading, enhancing the user experience by indicating where content will appear.
- **PopUp**: Displays modal dialogs or pop-up windows, suitable for alerts, prompts, and custom dialogs.
- **SearchableSelect**: A select dropdown component with integrated search functionality, allowing users to filter options as they type.
- **Spinner**: Offers visual cues for loading states, with customizable animations and styles.
- **LabelTags**: Displays tags or labels, useful for categorization, highlighting key information, or filtering content.
- **SelectizeTags**: Combines tag display and selection, allowing users to create and select tags within an input field.
- **SelectorTag**: Provides a tag-based selection interface, enabling users to choose from a predefined set of tags.
- **TextEditor**: A rich text editor component that provides a wide range of formatting options for text content.
- **Uploader**: Facilitates file uploads, showing progress, and providing feedback to the user.

For more details on each component, including usage and configuration options, please refer to the full documentation.

## Development

npm run build;npm version patch;npm publish

## Documentation

For detailed information on each component, including the props they accept and the events they emit, refer to the comprehensive documentation provided with the library.

## Contributions

Contributions to the library are welcome. If you wish to contribute, please review the contribution guidelines provided in the repository.

## License

This project is licensed under the Apache License. For more details, see the LICENSE file in the repository.
npm package: @link-society/easylog
Description: Simple logging library
Author: Link Society
Latest version: 1.0.1

# easylog

EasyLog is a very simple and minimalist logging library. It exists because this
code was copied/pasted in almost every project we maintain.

## Installation

```
$ yarn add @link-society/easylog
```

## Usage

**In TypeScript:**

```typescript
import logging, { LogLevel } from '@link-society/easylog'

logging.configure({
  level: LogLevel.Info
})

logging.debug({ foo: 'bar' }) // will not be printed
logging.info({ foo: 'bar' })  // will be printed
```

**In NodeJS:**

```javascript
const { default: logging, LogLevel } = require('@link-society/easylog')

logging.configure({
  level: LogLevel.Info
})

logging.debug({ foo: 'bar' }) // will not be printed
logging.info({ foo: 'bar' })  // will be printed
```

## API

The methods `debug`, `info` and `warn` accepts a `LogRecord` object, it is an
object whose properties are either a `string`, a `number` or a `boolean`.

The method `error` accepts an `Error` object and and will generate the
`LogRecord` object.

The method `configure` accepts an object with the following properties:

| Name | Type | Description |
|---|---|---|
| `level` | `Optional<LogLevel>` | Minimum logging level required to be written to the output |
| `writer` | `Optional<LogWriter>` | Object used to write the output (example: `console`) |
| `processor` | `Optional<LogProcessor>` | Function used to transform the log record before writing it |
| `errorProcessor` | `Optional<ErrorProcessor>` | Function used to generate the log record from an error |

## License

This library is released under the terms of the [MIT License](./LICENSE.txt).
npm package: @link-society/human-rrule
Description: Parse Human Readable RRule
Author: Link Society
Latest version: 1.1.2

# human-rrule
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Flink-society%2Fhuman-rrule.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Flink-society%2Fhuman-rrule?ref=badge_shield)


This library is based on the [rrule](https://www.npmjs.com/package/rrule)
library. It provides a single function to parse a human readable RRule.

## Installation

```
$ yarn add @link-society/human-rrule
```

## Usage

```javascript
const { parseHumanRRule } = require('@link-society/human-rrule')

const rrule = parseHumanRRule('every 5 minutes')
```

## License

This library is released under the terms of the **MIT License**.


[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Flink-society%2Fhuman-rrule.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Flink-society%2Fhuman-rrule?ref=badge_large)
npm package: @link.money/link-sdk
Description: Link Financial JavaScript SDK
Latest version: 0.0.7

# Link Financial JavaScript SDK

## Installation

### npm

```bash
npm install @link.money/link-sdk
```

or

```bash
yarn add @link.money/link-sdk
```

## Use

### HTML and Vanilla JS

```html
<html>
  <body>
    <button id="link-btn">Pay using LinkPay</button>
    <script type="module">
      import Link from 'https://static.link.money/link-js-sdk/latest/link-js-sdk.min.js';

      document.addEventListener(
        'DOMContentLoaded',
        () => {
          document
            .getElementById('link-btn')
            .addEventListener('click', async function () {
              const config = {
                sessionKey: '{SESSION_KEY}',
                redirect: '{REDIRECT_URL}',
                environment: 'production' | 'sandbox',
              };

              const link = Link.LinkInstance(config);
              link.action();
            });
        },
        false
      );
    </script>
  </body>
</html>
```

### React

```javascript
import Link from '@link.money/link-sdk';

export const LinkPayButton = () => {
  const handleClick = () => {
    const linkConfig = {
      sessionKey: '{SESSION_KEY}',
      redirect: '{REDIRECT_URL}',
      environment: 'production' | 'sandbox',
    };
    const link = Link.LinkInstance(linkConfig);
    link.action();
  };

  return <button onClick={handleClick}>Pay by Bank</button>;
};
```

## Further Reading

- [Documentation](https://developer.link.money/)
- [Link Financial Website](https://link.money)
npm package: @link.money/linkmoney-web
Description: LinkMoney Web SDK
Latest version: 1.1.1

# LinkMoney Web SDK

## Installation

### npm

```bash
npm install @link.money/linkmoney-web
```

or

```bash
yarn add @link.money/linkmoney-web
```

## Use

### HTML and Vanilla JS

```html
<html>
  <body>
    <button id="link-btn">Pay using LinkPay</button>
    <script type="module">
      import Link from 'https://static.link.money/linkmoney-web/v1/latest/linkmoney-web.min.js';

      document.addEventListener(
        'DOMContentLoaded',
        () => {
          document
            .getElementById('link-btn')
            .addEventListener('click', async function () {
              const config = {
                sessionKey: '{SESSION_KEY}',
                redirect: '{REDIRECT_URL}',
                environment: 'production' | 'sandbox',
              };

              const link = Link.LinkInstance(config);
              link.action();
            });
        },
        false
      );
    </script>
  </body>
</html>
```

### React

```javascript
import Link from '@link.money/linkmoney-web';

export const LinkPayButton = () => {
  const handleClick = () => {
    const linkConfig = {
      sessionKey: '{SESSION_KEY}',
      redirect: '{REDIRECT_URL}',
      environment: 'production' | 'sandbox',
    };
    const link = Link.LinkInstance(linkConfig);
    link.action();
  };

  return <button onClick={handleClick}>Pay by Bank</button>;
};
```

## Further Reading

- [Documentation](https://developer.link.money/)
- [Link Financial Website](https://link.money)
npm package: @link1900/node-async-storage
Description: Node async storage
Author: Scott Brown
Latest version: 0.2.0

# `@link1900/node-async-storage`

> Node async storage

## Install

Using npm:

```sh
npm install @link1900/node-async-storage
```

or using yarn:

```sh
yarn add @link1900/node-async-storage
```

## Usage

This a smaller wrapper around the nodejs [AsyncLocalStorage](https://nodejs.org/docs/latest-v16.x/api/async_context.html#class-asynclocalstorage) class.
It will create one main storage global that will contain a Map<string, any>. Items can be added to the map can be retrieved later in the call chain without having to pass a parameter reference.

To store a value you need to set them with a key:

```typescript
setLocalItem("requestId", 1);
```

Keys must be a string but value can be any javascript value.

Finally, to retrieve the stored value:

```typescript
getLocalItem("requestId");
// 1
```

⚠️ Warning - setLocalItem() when called from a synchronous function (any non-async function) will have global state.
The best way to think about setLocalItem when called from a normal function is that you are setting a global var i.e `var key = value`.
This can lead to share memory bugs if you are not careful is how it is accessed and used.
This problem does not apply when calling from an async function.

## Examples

### Basic

```typescript
import { getLocalItem, setLocalItem } from "@link1900/node-async-storage";

function run() {
  setLocalItem("someKey", { requestId: 1, context: "other" });
  exampleServiceCall();
}

function exampleServiceCall() {
  console.log(getLocalItem("someKey"));
  // logs { requestId: 1, context: "other" }
}
```

### Multiple values

```typescript
import { getLocalItem, setLocalItem } from "@link1900/node-async-storage";

async function run() {
  setLocalItem("trace", { requestId: 1 });
  setLocalItem("context", "step 1");
  await exampleServiceCall();
}

async function exampleServiceCall() {
  setLocalItem("context", "step 2");
  await exampleRepositoryCall();
}

async function exampleRepositoryCall() {
  console.log(getLocalItem("trace"));
  // { requestId: 1 }
  console.log(getLocalItem("context"));
  // "step 2"
}
```

### Trace logging in express example

Note: this example uses a middleware helper from node-express package.
For a guide on using the trace middleware helper please see [node express readme](../node-express/README.MD)

```typescript
import express from "express";
import { logger } from "@link1900/node-logger-api";
import { applyTraceMiddleware } from "@link1900/node-express";

const app = express();
app.use(applyTraceMiddleware());

// call with a header x-od-trace-id
app.get("/example", (req, res) => {
  logger.info("log should have trace ids");
  res.json({ success: true });
});

app.listen({ port: 3000 }, () => {
  console.info(`🚀 Server ready`);
});
```
npm package: @link1900/node-http-client
Description: Node http client
Author: Scott Brown
Latest version: 0.2.1

# `@link1900/node-http-client`

> Node http client

## Install

Using npm:

```sh
npm install @link1900/node-http-client
```

or using yarn:

```sh
yarn add @link1900/node-http-client
```
npm package: @link1900/node-logger-api
Description: Node logger api
Author: Scott Brown
Latest version: 0.2.0

# `@link1900/node-logger-api`

> Node logger api

## Install

Using npm:

```sh
npm install @link1900/node-logger-api
```

or using yarn:

```sh
yarn add @link1900/node-logger-api
```
npm package: @link1900/node-logger-interface
Description: Node logger interface
Author: Scott Brown
Latest version: 0.1.0

# `@link1900/node-logger-interface`

> Node logger interface

## Install

Using npm:

```sh
npm install @link1900/node-logger-interface
```

or using yarn:

```sh
yarn add @link1900/node-logger-interface
```
npm package: @link1900/node-oauth
Description: Node oauth
Author: Scott Brown
Latest version: 0.1.6

# `@link1900/node-oauth`

> Node oauth

## Install

Using npm:

```sh
npm install @link1900/node-oauth
```

or using yarn:

```sh
yarn add @link1900/node-oauth
```

## Usage

Example for getting a Machine to Machine oauth token from Origin auth0 service.

```typescript
  const oAuthRequest: OAuthRequest = {
    client_id: "AUTH0_CLIENT_ID",
    client_secret: "AUTH0_CLIENT_SECRET",
    audience: "https://read-user-api",
    grant_type: "client_credentials",
  };
  const auth0Endpoint = "AUTH0_OAUTH_ENDPOINT";
  return findOrLoadOAuthToken("token_type", auth0Endpoint, oAuthRequest);
```
npm package: @link1900/node-test-util
Description: Node test util
Author: Scott Brown
Latest version: 0.4.0

# `@link1900/node-test-util`

> Node test util

## Install

Using npm:

```sh
npm install @link1900/node-test-util
```

or using yarn:

```sh
yarn add @link1900/node-test-util
```
npm package: @link1900/node-unit-converter
Description: Node unit converter
Author: Scott Brown
Latest version: 0.1.0

# `@link1900/node-unit-converter`

> Node unit converter

## Install

Using npm:

```sh
npm install @link1900/node-unit-converter
```

or using yarn:

```sh
yarn add @link1900/node-unit-converter
```
npm package: @linka-cloud/cra-template
Description: A progressive web app template for Create React App and TypeScript, using Workbox with mui, react-router-dom, grpc...
Latest version: 0.0.3

# cra-template

An progressive web app template for [Create React App](https://github.com/facebook/create-react-app),
using TypeScript, Workbox, mui, react-router-dom, grpc...

To use this template add `--template @linka-cloud/cra-template` when creating a new app:

```sh
npx create-react-app my-app --template @linka-cloud/cra-template
```

## Learn more

The [Create React App documentation](https://cra.link/PWA) has more details on using this template
to create your PWA.
npm package: @linka-cloud/theme
Description: >
Latest version: 0.0.2

# @linka-cloud/theme

> 

[![NPM](https://img.shields.io/npm/v/@linka-cloud/theme.svg)](https://www.npmjs.com/package/@linka-cloud/theme) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
yarn add @linka-cloud/theme
```

## Usage

```tsx
import { ColorModeThemeProvider, UiMode } from '@linka-cloud/theme'
import { Box, Paper } from '@mui/material'
import React, { useState } from 'react'

import "@linka-cloud/theme/dist/index.css"

const Home = () => (
  <Box sx={{ width: '100%', height: '100%', display: 'flex' }}>
    <Paper sx={{padding: 10}}>Home</Paper>
  </Box>
)

const App = () => {
  const [mode, setMode] = useState<UiMode>('light')
  return (
    <ColorModeThemeProvider mode={mode} setMode={setMode}>
      <Home />
    </ColorModeThemeProvider>
  )
}

export default App
```

## License

MIT © [](https://github.com/)
npm package: @linkage-open/cli
Description: Command-line interface for interacting with Linkage.
Latest version: 0.1.2

# Linkage CLI

Command-line interface for interacting with Linkage.

## Installation

```bash
bun install -g @linkage-open/cli
```

Or use it directly in your project:

```bash
bun add -D @linkage-open/cli
```

## Commands

### `linkage init [dir]`

Initialize a new Linkage project from the template.

**Options:**
- `-n, --name <name>` - Repository name
- `-m, --package-manager <packageManager>` - Package manager to use (bun or npm)

**Example:**
```bash
linkage init my-project --name my-app --package-manager bun
```

### `linkage config set-api-key [key]`

Store your Linkage API key in the config file (~/.linkage/config.json).

If the key is not provided as an argument, you will be prompted to enter it interactively.

**Example:**
```bash
# Interactive prompt
linkage config set-api-key

# Or provide the key directly
linkage config set-api-key your-api-key-here
```

### `linkage config remove-api-key`

Remove the stored API key from the config file.

**Example:**
```bash
linkage config remove-api-key
```

### `linkage upload`

Upload your Linkage project to the platform.

**Options:**
- `-k, --api-key <apiKey>` - API key for authentication
- `-p, --project-id <projectId>` - Project ID to upload to

**Example:**
```bash
linkage upload --project-id your-project-id
```

## API Key Configuration

The CLI supports multiple ways to provide your API key, in order of priority:

1. **Command-line argument**: `--api-key <key>`
2. **Environment variable**: `LINKAGE_API_KEY`
3. **Config file**: `~/.linkage/config.json` (use `linkage config set-api-key`)

This allows you to:
- Store your API key permanently with `linkage config set-api-key`
- Override it temporarily with an environment variable or CLI argument
- Keep different keys for different environments

### Security Note

The config file is stored in your home directory (`~/.linkage/config.json`). Make sure to keep this file secure and never commit it to version control.

## Development

Build the CLI:
```bash
bun run build
```

Link locally for development:
```bash
bun run dev
```