# Builder

## ApplicationPrototype. Builder

#### new Builder()

Source:
  - dictionary.d.js, line 177

### Extends

- ApplicationPrototype.Instance

### Classes

Promise

### Methods

#### bind(event, callbackopt, listenersConfigopt) → {string}

Source:
  - dictionary.d.js, line 40
Inherited From:
  - ApplicationPrototype.Instance#bind

returns listener Id

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`event` | string | function |  | event name of function with name
`callback` | function | ApplicationPrototype.Instance.BindListenerConfig | <optional> | function that will listen data
`listenersConfig` | ApplicationPrototype.Instance.BindListenerConfig | string | <optional> | of lis event name of function with name

##### Returns:

Type
  string

#### consoleOptions(optionsopt) → {ApplicationPrototype.Builder.ConsoleOptions}

Source:
  - dictionary.d.js, line 254

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`options` | ApplicationPrototype.Builder.ConsoleOptions | <optional> |

##### Returns:

Type
  ApplicationPrototype.Builder.ConsoleOptions

#### crudEvents(context, publicMethods, privateMethods) → {ApplicationPrototype.Instance}

Source:
  - dictionary.d.js, line 69
Inherited From:
  - ApplicationPrototype.Instance#crudEvents

returns listener Id

##### Parameters:

Name | Type | Description
--- | --- | ---
`context` | Object.<string, any> | will be used as a base for ApplicationPrototype instance that will be returned
`publicMethods` | Object.<string, function()> | list of public methods available from returned instance
`privateMethods` | Object.<string, function()> | list of private methods available only for instance's methods

##### Returns:

Type
  ApplicationPrototype.Instance

#### debugEnabled(statusopt) → {boolean}

Source:
  - dictionary.d.js, line 240

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`status` | boolean | <optional> |

##### Returns:

Type
  boolean

#### emit(event, argsopt, trackopt, noSkipStopReturnopt)

Source:
  - dictionary.d.js, line 50
Inherited From:
  - ApplicationPrototype.Instance#emit

emits an application event

##### Parameters:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | string |  |  | event name
`args` | Array.<any> | <optional> |  | arguments passed with event
`track` | boolean | <optional> | `false` | indicate if to use tracked handler or internal
`noSkipStopReturn` | boolean | <optional> | `false` | indicate if event flow can be stopped by a `false` return

#### isBrowser() → {boolean}

Source:
  - dictionary.d.js, line 234

##### Returns:

Type
  boolean

#### isNode() → {boolean}

Source:
  - dictionary.d.js, line 228

##### Returns:

Type
  boolean

#### modulePath(pathopt) → {string}

Source:
  - dictionary.d.js, line 261

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`path` | string | <optional> |

##### Returns:

Type
  string

#### moduleRegister(path, modules) → {ApplicationPrototype.Builder.ModuleStore}

Source:
  - dictionary.d.js, line 284

##### Parameters:

Name | Type | Description
--- | --- | ---
`path` | string | path that will be used as `Application.modulePath()`
`modules` | Array.<string> | list of modules names that should be registered

##### Returns:

Type
  ApplicationPrototype.Builder.ModuleStore

#### off(event, specifiedEventIdopt) → {boolean}

Source:
  - dictionary.d.js, line 60
Inherited From:
  - ApplicationPrototype.Instance#off

remove all event listeners

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`event` | string |  | event or events names separated by comma
`specifiedEventId` | string | <optional> | event name of function with name

##### Returns:

Type
  boolean

#### on(event, callbackopt, specifiedEventIdopt) → {string}

Source:
  - dictionary.d.js, line 20
Inherited From:
  - ApplicationPrototype.Instance#on

returns listener Id

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`event` | string | function |  | event name of function with name
`callback` | function | <optional> | function that will listen data
`specifiedEventId` | string | <optional> | event name of function with name

##### Returns:

Type
  string

#### once(event, callbackopt, specifiedEventIdopt) → {string}

Source:
  - dictionary.d.js, line 30
Inherited From:
  - ApplicationPrototype.Instance#once

returns listener Id

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`event` | string | function |  | event name of function with name
`callback` | function | <optional> | function that will listen data
`specifiedEventId` | string | <optional> | event name of function with name

##### Returns:

Type
  string

#### property(propertyName, getter, setteropt, configopt)

Source:
  - dictionary.d.js, line 88
Overrides:
  - ApplicationPrototype.Instance#property

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`propertyName` | string |  |
`getter` | ApplicationPrototype.Instance.PropertyHandler |  |
`setter` | ApplicationPrototype.Instance.PropertyHandler | <optional> |

`config`

object

<optional>

###### Properties

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`configurable` | boolean | <optional> | `true` |
`enumerable` | boolean | <optional> | `true` |

##### Fires:

- ApplicationPrototype.Instance.event:__onSet
- ApplicationPrototype.Instance.event:__onGet
- ApplicationPrototype.Instance.event:__afterGet
- ApplicationPrototype.Instance.event:__afterGet
- ApplicationPrototype.Instance.event:__onSet::propName
- ApplicationPrototype.Instance.event:__onGet::propName
- ApplicationPrototype.Instance.event:__afterGet::propName
- ApplicationPrototype.Instance.event:__afterGet::propName

#### require(events, callbackopt) → {PromiseLike.<any>}

Source:
  - dictionary.d.js, line 184

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`events` | string | Array.<string> |  | List of Events Names or Array of Events Mapping like [ "uriLoad :: uri-load", "ePrototype :: ExtensionsPrototype" ]
`callback` | function | <optional> | Callback that will receive Module

##### Returns:

Type
  PromiseLike.<any>

#### runModulesInFiles(statusopt) → {boolean}

Source:
  - dictionary.d.js, line 247

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`status` | boolean | <optional> |

##### Returns:

Type
  boolean

### Type Definitions

#### ApplicationModule

Source:
  - dictionary.d.js, line 686

##### Properties:

Name | Type | Description
--- | --- | ---
`$request` | PromiseLike.<XMLHttpRequest> | resolves module exports
`exports` | function | module exports handler
`atime` | number | unix time in milliseconds
`Application` | function | returns current application
`cache` | function | returns module's reserved cache object
`require` | function | require modules from module's folder
`resourceUrl` | function | returns module's resource URL
`meta` | ApplicationPrototype.Builder.ModuleMeta | module's meta information

##### Type:

- Object

#### ConsoleOptions

Source:
  - dictionary.d.js, line 268

##### Properties:

Name | Type | Attributes | Description
--- | --- | --- | ---
`file` | boolean | <optional> | enable/disable showing filename in console log. default value is `true`
`contextName` | boolean | <optional> | enable/disable showing context Execution info in console log. default value is `true`
`timestamp` | boolean | <optional> | enable/disable showing current timestamp in console log. default value is `true`
`logType` | boolean | <optional> | enable/disable showing log type in console log. default value is `true

##### Type:

- object

#### ModuleMeta

Source:
  - dictionary.d.js, line 292

##### Properties:

Name | Type | Description
--- | --- | ---
`store` | ApplicationPrototype.Builder.ModuleStore | same as `module.cache()`
`$requestQuery` | PromiseLike.<string> | XMLHttpRequest used for obtaining Module's Content
`module_path` | string | module's path
`path` | string | module's internal path used as identifier of module
`name` | string | module's name
`__dirname` | string | module's dirname

##### Type:

- object

#### ModuleResourceUrl

Source:
  - dictionary.d.js, line 680

resources url is composed from `module's plath` + `resource path`

##### Type:

- string

#### ModuleStore

Source:
  - dictionary.d.js, line 278

modules store where are indexed modules

##### Type:

- object

#### moduleResolve(module, pathopt) → {ApplicationPrototype.Builder.ModuleMeta}

Source:
  - dictionary.d.js, line 303

##### Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`module` | string |  | module name
`path` | string | <optional> | module path

##### Returns:

Type
  ApplicationPrototype.Builder.ModuleMeta