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

### Table of Contents

-   [Injector](#injector)
    -   [INJECT_BEFORE](#inject_before)
    -   [INJECT_AFTER](#inject_after)
    -   [injectBefore](#injectbefore)
    -   [injectAfter](#injectafter)
    -   [inject](#inject)
    -   [remove](#remove)
    -   [reset](#reset)
    -   [\_toLauncher](#_tolauncher)
    -   [\_locate](#_locate)
-   [Launcher](#launcher)
    -   [constructor](#constructor)
    -   [launch](#launch)

## Injector

Injector

Contains inject and cleanup methods

### INJECT_BEFORE

Predefined inject before

**Parameters**

-   `INJECT_BEFORE` **int** predefined value

### INJECT_AFTER

Predefined inject after

**Parameters**

-   `INJECT_AFTER` **int** predefined value

### injectBefore

Inject before

**Parameters**

-   `method` **[Function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** original method or launch method
-   `inject` **[Function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** inject method

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

### injectAfter

Inject after

**Parameters**

-   `method` **[Function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** original method or launch method
-   `inject` **[Function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** inject method

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

### inject

Inject before or after

**Parameters**

-   `method` **[Function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** original method or launch method
-   `inject` **[Function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** inject method
-   `beforeOrAfter` **int** 0 - before, 1 - is after (optional, default `0`)

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

### remove

Remove injection

**Parameters**

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

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

### reset

Resets launch and all injections

**Parameters**

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

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

### \_toLauncher

Converts original to launch

**Parameters**

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

Returns **[Launcher](#launcher)** launcher launcher

### \_locate

Locates launcher by launch method

**Parameters**

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

Returns **[Launcher](#launcher)** launcher launcher

## Launcher

Launcher

Launcher class. Keeps original method and injections.

**Parameters**

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

### constructor

Task constructor

**Parameters**

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

### launch

Launches

Runs the original function and all the injections.
Tries to combine arguments and keeps the changes

**Parameters**

-   `args` **...any** 
-   `any` **any** any arguments

Returns **any** any any result from original function
