## FireOnce
FireOnce
Run specified functions only once within a specified period
for performance reasons
Example:
If the fire function was called 5 times within one second (period: 1000),
it will actually called only two times: It will be immediately be called at the first call and then once again after 1000ms
* [FireOnce](#FireOnce)
* [.fire(identifier, func, options)](#FireOnce.fire) → boolean
* [.FireFunction](#FireOnce.FireFunction) : Object
### FireOnce.fire(identifier, func, options) → boolean
**Kind**: static method of [FireOnce](#FireOnce)
**Returns**: boolean - true if directly fired, false if stacked
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| identifier | string | | for the function |
| func | function | | function to run |
| options | Object | | |
| options.period | Number | | period in ms where function is maximal called once |
| options.type | 'both' \| 'start' \| 'end' | 'both' | call pattern |
### FireOnce.FireFunction : Object
Type definition of a fire function object
**Properties**
| Name | Type |
| --- | --- |
| func | function |
| stack_count | Number |
| last_call | Date |
| options | Object |
| options.period | Number |