<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

### Table of Contents

-   [RedPanda](#redpanda)
    -   [get](#get)
    -   [set](#set)
    -   [flatten](#flatten)
    -   [send](#send)
    -   [sequence](#sequence)
-   [RedPanda.send](#redpandasend)
-   [RedPanda.sequence](#redpandasequence)
-   [PromiseCollection](#promisecollection)
    -   [get](#get-1)
    -   [count](#count)
    -   [first](#first)
    -   [last](#last)
    -   [all](#all)
    -   [then](#then)
    -   [catch](#catch)
-   [RequestSequence](#requestsequence)

## RedPanda

The RedPanda Api Center

**Examples**

```javascript
var net = new RedPanda()
```

### get

Get request options

**Parameters**

-   `key` **([string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) \| [array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object))** 

Returns **[array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)** 

### set

Name a request by options or an array of request options

**Parameters**

-   `key` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** option name
-   `value` **([string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) \| [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) \| [array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) \| [RequestSequence](#requestsequence))** option value, multi-dimensional array allowed

Returns **this** 

### flatten

Flatten multi-level request stacks passed in

**Parameters**

-   `options` **mixed** 

Returns **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)>** 

### send

Send a request with options defined by name, parallelly for sequentially (if item is a RequestSequence)

**Parameters**

-   `requestOptions` **([string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) \| [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) \| [array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array))** <p>If a string provided, it is name of request that defined.</p>
     <p>If an object provided, it is options of request, method is 'GET' by default.<</p>
     <p>If an array provided, it is an array of request options or request name.</p>

**Examples**

```javascript
net.send('requestName').then(...)
```

```javascript
net.send({url: 'http://example.com'}).then(...)
```

```javascript
net.send(['request1', 'request2', {url: 'http://example.com'}]).then(...)
```

```javascript
net.send(['request1', net.sequence(['request1', 'request2'])]).then(...)
```

Returns **[PromiseCollection](#promisecollection)** 

### sequence

Create a request sequence to be used for .send method

**Parameters**

-   `requestOptions` **([string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) \| [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) \| [array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array))** <p>If a string provided, it is name of request that defined.</p>
     <p>If an object provided, it is options of request, method is 'GET' by default.<</p>
     <p>If an array provided, it is an array of request options or request name.</p>

Returns **[RequestSequence](#requestsequence)** 

## RedPanda.send

Static alias for [#send](#send)

**Parameters**

-   `requestOptions`  

**Examples**

```javascript
RedPanda.send({url: 'http://example.com'}).then(...)
```

Returns **[PromiseCollection](#promisecollection)** 

## RedPanda.sequence

Static alias for [#sequence](#sequence)

**Parameters**

-   `requestOptions`  

Returns **[RequestSequence](#requestsequence)** 

## PromiseCollection

A collection of promises

Stack the same-level promises produced during RedPanda fetching processes
Have useful methods like `then`, `catch` to attached a callback to all
promises stacked inside

**Parameters**

-   `promises` **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)>** 

**Properties**

-   `items` **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)>** 

### get

Get a promise in this collection by index

**Parameters**

-   `index` **integer** 

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** 

### count

Get number of promises in this collection

Returns **integer** 

### first

Get first promise in this collection

Returns **([Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) \| [PromiseCollection](#promisecollection))** 

### last

Get last promise in this collection

Returns **([Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) \| [PromiseCollection](#promisecollection))** 

### all

-   **See: <https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise/all>**

Get a single Promise that resolves when all promises inside
this collection has resolved

Returns **[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)** 

### then

-   **See: <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then>**

Attach a success callback (onResolved) to all promises inside this collection

**Parameters**

-   `fn` **[Function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** 

Returns **this** 

### catch

-   **See: <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then>**

Attach a failure callback (onRejected) to all promises inside this collection

**Parameters**

-   `fn` **[Function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** 

Returns **this** 

## RequestSequence

A sequence that has many requests being sent sequentially.

Currently no public API provided.

**Parameters**

-   `flattenOptions`  
-   `net`  
