open-index/open-npm huggingface dataset:
npm package: @musicq/just
Description: A CLI to generate templates of projects.
Author: musicq
Latest version: 1.1.2

# Just

A CLI to generate templates of projects.

## Installation

```shell
npm i -g @musicq/just
```

## Usage

```shell
> just # or j

  Usage: just <command> <options>

  generate      generate a template
  version       show just version
  help          print help messages
```

## Command

### Generate react library

```shell
just generate react:library
```

Or using a shortcut `g` for `generate`.

```shell
just g react:library
```
npm package: @musicq/net
Description: A HTTP client built on top of RxJS.
Author: musicq
Latest version: 1.0.0

# Net

Net is an HTTP client which is built on top of [`RxJS`](https://rxjs-dev.firebaseapp.com/guide/overview).

## Installation

Using `npm`

```shell
npm install @musicq/net
```

or using `yarn`

```shell
yarn add @musciq/net
```

## Usage

Here's a basic example to raise a HTTP request.

```typescript
import {http} from '@musicq/net'

const request = http.get('/api/todos').pipe(
  map(res => res.body)
)

request.subscribe(res => console.log(res))
```

`net` provides some utilities functions to let us handle error easily.

If you want to return a default value when your requests encounter an exception error. You can use `defaultValue` function.

It will return the default value you provide instead of return an error. This is useful when we need a fallback and don't want to tell if error occurs.

```typescript
import {catchError} from "rxjs/operators";
import {defaultValue} from '@musicq/net'

const request = http.get('/api/todos').pipe(
  map(res => res.body),
  // provide a default value to return it.
  catchError(defaultValue([]))
)
```

Sometimes you may need to show an error tip when there is an error.

You can do it using the native ability of RxJS.

```typescript
import {catchError} from "rxjs/operators";
import {errorWrapper, isError} from '@musicq/net'

const request = http.get('/api/todos').pipe(
  map(res => res.body)
)

request.subscribe(
  res => console.log(res),
  err => console.error(err)
)
```

Or You can use `errorWrapper` in cooperation with `isError` to handle errors.

```typescript
import {catchError} from "rxjs/operators";
import {errorWrapper, isError} from '@musicq/net'

const request = http.get('/api/todos').pipe(
  map(res => res.body),
  // catch the error and wrap it in a HttpErr instance, then return
  catchError(errorWrapper)
)

request.subscribe(res => {
  if (isError(res)) {
    console.log(res.e)
    return
  }

  console.log(res)
})
```

This is handy when you want to unify the process of handling both error and normal responses.

`net` has provided a simple version of `errorWrapper`, called `simpleErrorWrapper` to let you can use it in any other scenarios without Observable.

For example, if you want to handle a Promise error in the same way.

```typescript
import {simpleErrorWrapper, isError} from '@musicq/net';

const request = fetch('/api/todos')
    .then(res => res.json())
    .catch(simpleErrorWrapper)

(async () => {
  const res = await request
  
  if (isError(res)) {
    console.error(res.e)
    return
  }

  console.log(res)
})
```
npm package: @musicslayer/zip
Description: Quick and easy nodejs functions to work with zip files.
Author: musicslayer
Latest version: 1.0.2

# zip
Quick and easy nodejs functions to work with zip files.
 
This combines "node-compress-commons" and "buffer-crc32" to provide streamlined zip/unzip functionality that does not require any external modules.
 
https://github.com/archiverjs/node-compress-commons
 
https://github.com/brianloveswords/buffer-crc32

## Installation Instructions
Package available on [NPM](https://www.npmjs.com/package/@musicslayer/zip).

`> npm install @musicslayer/zip`

## Example Usage
Refer to example.js to see an example usage of each function in the API.

## API
> Zip.createZipFileFromFolder(zipFilePath, srcFolder, compressionLevel)

Creates a zip file containing a folder and all of its content. Compression level is an integer 0-9 refering to the zlib compression level:

0 = No compression<br/>
1 = Fastest Compression<br/>
...<br/>
9 = Maximum Compression

> Unzip.extractZipFileIntoFolder(zipFilePath, destFolder)

Extracts a zip file, writing all of its contents into a specified folder.

> Unzip.readZipFile(zipFilePath)

Reads data from a zip file, returning a Map of file names to each file's information and uncompressed contents. This will not extract any files.
npm package: @musicstory/react-bootstrap-table-next
Description: Next generation of react-bootstrap-table by musicstory
Author: AllenFang
Latest version: 1.0.5

# react-bootstrap-table-next
Next generation of [`react-bootstrap-table`](https://github.com/AllenFang/react-bootstrap-table)

## Usage

### Installation

```sh
npm install react-bootstrap-table-next --save
```

### Include CSS

> react-bootstrap-table2 need you to add bootstrap css in your application firstly. About bootstrap css, we only compatible with bootstrap 3 but will start to compatible for bootstrap 4 on v0.2.0

```js
// es5 
require('react-bootstrap-table-next/dist/react-bootstrap-table2.min.css');

// es6
import 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';
```

### Your First Table

```js
import BootstrapTable from 'react-bootstrap-table-next';

const products = [ ... ];
const columns = [{
  dataField: 'id',
  text: 'Product ID'
}, {
  dataField: 'name',
  text: 'Product Name'
}, {
  dataField: 'price',
  text: 'Product Price'
}];

export default () =>
  <BootstrapTable keyField='id' data={ products } columns={ columns } />
```
npm package: @musicstory/react-bootstrap-table2-overlay
Description: it's a loading overlay addons for react-bootstrap-table2 by musicstory
Author: AllenFang
Latest version: 1.0.1

# react-bootstrap-table2-overlay
In `react-bootstrap-table2`, you will be easier to custom the loading or lverlay on table no matter if remote enabled or not. In the following, we have two way to do it:

-----

## Empty Table
[**`noDataIndication`**](https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/table-props.html#nodataindication-function) is a simple case you can take it, if current data size is empty, `react-bootstrap-table2` will call the `noDataIndication` prop and get the result to display on the table.   

[**Here**](https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=EmptyTableOverlay) is a quick exmaple for `noDataIndication`.

## Loading Table
In the most of case for remote mode, you need the loading animation to tell the user the table is loading or doing some action in the background. Hence, you can lervarge [**`overlay`**](https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/table-props.html#overlay-function) prop.

[**Here**](https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=EmptyTableOverlay) is also a example for `overlay`
npm package: @musicube/api-client
Description: This package has been moved to [songtradr-api-client](https://www.npmjs.com/package/songtradr-api-client)
Author: Hannes Diercks
Latest version: 999.999.999

# @musicube/api-client

This package has been moved to [songtradr-api-client](https://www.npmjs.com/package/songtradr-api-client)
npm package: @musicube/audio-file-service
Description: client for converting, tagging and meta data retrieval of audio files
Author: Hannes Diercks
Latest version: 1.3.0

# @musicube/audio-file-service

JS/TS client for converting, tagging and meta data retrieval of audio files
with musicubes Audio File Service

automatically generated from [Audio File Service Docs](https://b5f54r4se5.execute-api.eu-central-1.amazonaws.com/swagger-ui) using [oazapfts](https://www.npmjs.com/package/oazapfts).

## Installation

```sh
npm install @musicube/audio-file-service
# or
# yarn add @musicube/audio-file-service
```

## Usage

```ts
import {
  defaults,
  getCover,
  // Introspect package for all the other methods
} from '@musicube/audio-file-service';
/* OR cjs/node
const { 
  defaults,
  getCover
} = require('@musicube/audio-file-service')
*/

// see https://www.npmjs.com/package/oazapfts#user-content-overriding-the-defaults
defaults.headers.authorization = `Bearer ${process.env.MUSICUBE_API_TOKEN}`;
const { image } = await getCover('https://example.org/my-audio-file.mp3');

console.log(image);
```

## License

The client code itself is generated by [oazapfts](https://www.npmjs.com/package/oazapfts)
(MIT License), bundled with [microbundle](https://www.npmjs.com/package/microbundle) (MIT License)
and also published under MIT License

> The MIT License
>
> Copyright (C) 2022 Musicube GmbH
>
> Permission is hereby granted, free of charge, to any person obtaining a copy of
> this software and associated documentation files (the "Software"), to deal in
> the Software without restriction, including without limitation the rights to
> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
> of the Software, and to permit persons to whom the Software is furnished to do
> so, subject to the following conditions:
>
> The above copyright notice and this permission notice shall be included in all
> copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Usage of the client (thereby usage of Audio File Service) and data retrieved
from the Service is only allowed according to the musicube terms of service.