open-index/open-npm huggingface dataset:
npm package: @superbia/client
Description: Connect to a Superbia server.
Latest version: 2.4.0

# [@superbia/client](https://superbia.dev/client)

Connect to a Superbia server.

## Installation

```
npm i @superbia/client
```

Available on browser and Node.

## Get started

#### Browser

```js
import { Client } from "@superbia/client";

const client = new Client({
  url: "http://localhost:8080", // server url
  wsUrl: "ws://localhost:8080", // websocket url
  fetch, // window.fetch
  WebSocket, // window.WebSocket
  FormData, // window.FormData
});
```

#### Node

```
npm i node-fetch ws form-data
```

```js
const { Client } = require("@superbia/client");

const fetch = require("node-fetch");
const WebSocket = require("ws");
const FormData = require("form-data");

const client = new Client({
  url: "http://localhost:8080", // server url
  wsUrl: "ws://localhost:8080", // websocket url
  fetch, // node-fetch package
  WebSocket, // ws package
  FormData, // form-data package
});
```

## Requests

You can access multiple endpoints in a single request.

```js
const response = await client.request({
  user: { userId: "1" },
  userPosts: { userId: "1", first: 20 },
});

const result = response.result(); // { user: {...}, userPosts: {...} }
```

## Uploads

#### Browser

```js
import { Upload } from "@superbia/client";

const input = document.getElementById("input");

const file = input.files[0];

const response = await client.request({
  uploadPhoto: { upload: new Upload(file) },
});

const result = response.result(); // { uploadPhoto: null }
```

#### Node

```js
const fs = require("fs");

const { Upload } = require("@superbia/client");

const stream = fs.createReadStream("./photo.jpg");

const response = await client.request({
  uploadPhoto: { upload: new Upload(stream) },
});

const result = response.result(); // { uploadPhoto: null }
```

## Subscriptions

Subscriptions use `WebSocket` under the hood.

```js
client.init(); // create WebSocket connection

const subscription = client.subscribe({ counter: null });

subscription.on("result", (result) => {
  // { counter: Int }
});
```

## Headers

Headers can be passed to the server for both requests and subscriptions.

```js
const headers = {
  Authorization: "Bearer _TOKEN_",
  "Accept-Language": "en",
};

client.update(headers);

// this request will pass the new headers

const response = await client.request({ userPosts: { userId: "1" } });

// create the WebSocket with the new headers

client.init();

const subscription = client.subscribe({ newPost: { userId: "1" } });
```
npm package: @superblocks-at/devtools
Description: Airtable block dev tools that include a global config editor and an api explorer
Author: superblocks-at
Latest version: 0.9.8

# @superblocks-at/devtools

Airtable blocks dev tools - an npm package that can be added to any block and includes the following tools:

1. A [GlobalConfig](https://airtable.com/developers/blocks/api/models/GlobalConfig) editor - so you can view AND edit global config in development mode AND in release mode.

2. A [blocks api](https://airtable.com/developers/blocks/api/models/Base) explorer - with support for viewing the property values of the following models, exactly as you get them from the api:

- Base
- Active table
- Active view
- Selected record
- Selected field
- Cursor
- Session
- Viewport

## Installation

In your custom block folder:

```bash
npm install @superblocks-at/devtools --save
```

## Usage

```jsx
import React from "react";
import { initializeBlock } from "@airtable/blocks/ui";

import { Devtools } from "@superblocks-at/devtools";

function BlockWithDevtools {
	// Wrap Devtools around your block code or put it wherever you want in your main component.
	// It will just work.
	return <Devtools>
		<MyBlock/>
	</Devtools>;

	// Another way of using Devtools
	// return <>
		// <Devtools/>
		// <MyBlock/>
	// </>;
}

initializeBlock(() => <BlockWithDevtools />);
```

To open and close devtools, press 'ddd' quick 3 times.

## Devtools options / props

```jsx
import { Devtools, Position} from "@superblocks-at/devtools";


<Devtools
  shortcutKey="d",
  timeout={500},
  position ={Position.bottom},
  overlap={100}
/>
```

| Prop name   | Description                                                                       | Default value   |
| ----------- | --------------------------------------------------------------------------------- | --------------- |
| shortcutKey | The key to press 3 times to open/close devtools                                   | "d"             |
| timeout     | The max period between keystrokes in milliseconds before keystroke count is reset | 500             |
| position    | Where to display devtools: bottom, left, top or right                             | Position.bottom |
| overlap     | How much of the block width or height the devtools ui overlaps                    | 100 (percent)   |

## LICENSE

MIT

## Contributions

Are more than welcome. The goal is to have the community expand the package with additional tools that can increase the productivity of Airtable custom blocks developers. Some ideas that come to mind:

- Add Links to the relevant blocks api documentation section wherever appropriate.
- Add the ability to execute api functions which also shows correct usage through pre-populated code snippets.

### Development environment setup instructions for contributors

See the [devtools-dev-env](https://github.com/superblocks-at/supertools) repo for instructions.
npm package: @superblocks-at/formula
Description: Formula compiler and function library
Author: FormBucket LLC
Latest version: 3.15.0

[![Circle CI](https://circleci.com/gh/formula/formula.svg?style=svg)](https://circleci.com/gh/FormBucket/formula)
[![npm version](https://badge.fury.io/js/formula.svg)](https://badge.fury.io/js/formula)

Formula expressions and functions for JavaScript.

## Install

```sh
npm install --save formula
```

## General Usage

```js
import { run } from "formula";
run("sum(a, b, c) = 1+2+3", { a: 1, b: 2, c: 3 });
```

## Browser ready

Add to the browser with:

```html
<script type="text/javascript" src="https://unpkg.com/formula@3.8.1/lib/formula.min.js"
```
npm package: @superblocks-at/formulajs-functions
Description: Add excel functions from @formulajs/formulajs to the Airtable formulas superblock
Author: Superblocks.at
Latest version: 0.9.5

# @superblocks-at/formulajs-functions

Adds excel functions from the [@formulajs/formulajs](https://www.npmjs.com/package/@formulajs/formulajs) npm package to the Formulas superblock. Currently adds only the RATE financial function, but this package can be easily extended to add all the functions from [@formulajs/formulajs](https://www.npmjs.com/package/@formulajs/formulajs) to the Formulas block. For a list of functions that can be added, visit the [@formulajs/formulajs documentation site](https://formulajs.info/functions/).

## Usage

1. If you haven't done so already, install the Formulas superblock by following the instructions [here](https://github.com/superblocks-at/formulas-block).

2. Click on _Add functions_ in the Formulas superblock and add the following script URL:

[https://unpkg.com/@superblocks-at/formulajs-functions@latest/umd/functions.js](https://unpkg.com/@superblocks-at/formulajs-functions@latest/umd/functions.js)

## Contributions

Are more than welcome. First thing on the table is to have this package add all the functions from the [@formulajs/formulajs](https://www.npmjs.com/package/@formulajs/formulajs) npm package to the Formulas superblock.

## LICENSE

[MIT](LICENSE.md)
npm package: @superblocks-at/supertools
Description: Airtable supertools
Author: superblocks-at
Latest version: 0.9.5

# supertools

> Airtable supertools

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

## Install

```bash
npm install --save @superblocks-at/supertools
```

## Usage

```tsx
import React from "react";
import { initializeBlock } from "@airtable/blocks/ui";

import Supertools from "@superblocks-at/supertools";

export default function BlockWithSupertools {
    // Wrap supertools around your block code or put it wherever you want. It will just work.
    return <Supertools>
      <MyBlock/>
    </Supertools>;
}

initializeBlock(() => <BlockWithSupertools />);
```

## License

MIT © [Superblocks.at](https://superblocks.at/)
npm package: @superbogy/zly
Description: yaml refer
Author: tommy
Latest version: 1.0.2

:dango: zly is a yaml assembly parser. You can split a large yaml file into small fragments.
It is very useful for writing a swagger API document. 
You can import yaml piece from relative path or absolute path.


### Install 

`npm i -g @superbogy/zly`

### Get-started



```
Usage: zly [options]

Options:
  -V, --version        output the version number
  -o, --output <path>  put the result to file
  -w, --workspace      yaml file root path
  -f, --format <type>  format output style, yaml or json (default: "yaml")
  -p, --pretty         pretty out put
  -s, --server         start a swagger ui
  -e, --extname <ext>  extend name, split with comma
  -h, --help           output usage information
 ```
 
 ### Get-started

- preview a swagger yaml file: `zly -s api-spec.yaml`

- import yaml file: `$ref: relative/path/some.yaml`

### Demo

clone this project and run `zly -s test/example/index.yaml`

![zly](https://user-images.githubusercontent.com/6630736/74917614-bca7c200-5402-11ea-8dd5-655e375da546.gif)

structure

```
├── definitions
│   ├── Error.yaml
│   ├── Pet.yaml
│   └── index.yaml
├── entry.yaml
└── routers
    ├── index.yaml
    └── pets
        ├── $id.yaml
        └── list.yaml
```
The entry file refer two file from `definitions/index.yaml` and `routers/index.yaml`

```
paths:
  $ref: routers/index.yaml
components:
  $ref: definitions/index.yaml
```
for routers/index.yaml:

```
/pets:
  $ref: pets/list.yaml
/pets/{petId}:
  $ref: pets/$id.yaml

```
npm package: @superboost/browserslist-config
Description: ## Installation
Author: xudongdev
Latest version: 1.0.0

# `@superboost/browserslist-config`

## Installation

```shell
$ yarn add -D @superboost/browserslist-config
```

## Usage

### package.json

```json
{
  "browserslist": ["extends @superboost/browserslist-config"]
}
```