#

API Docs for: 3.10.3
Show: Inherited Protected Private Deprecated

# Do Class

Defined in: `event-custom/js/event-do.js:9`
Module: event-custom-base
Parent Module: event-custom

Allows for the insertion of methods that are executed before or after a specified method

- Index
- Methods
- Properties

## Item Index

### Methods

- _inject static
- after static
- before static
- detach static

### Properties

- currentRetVal static
- objs static deprecated
- originalRetVal static

## Methods

### `_inject`

(

- `when`
- `fn`
- `obj`
- `sFn`
- `c`

)
String private static

Defined in `event-custom/js/event-do.js:110`

Execute the supplied method before or after the specified function. Used by `before` and `after`.

#### Parameters:

- `when` String

  before or after

- `fn` Function

  the function to execute

- `obj` Object

  the object hosting the method to displace

- `sFn` String

  the name of the method to displace

- `c` Object

  The execution context for fn

#### Returns:

String: handle for the subscription

### `after`

(

- `fn`
- `obj`
- `sFn`
- `c`
- `arg`

)
String static

Defined in `event-custom/js/event-do.js:73`

Execute the supplied method after the specified function. Wrapping function may optionally return an instance of the following classes to further alter runtime behavior:

Y.Do.Halt(message, returnValue)
  Immediatly stop execution and return `returnValue`. No other wrapping functions will be executed.
Y.Do.AlterReturn(message, returnValue)
  Return `returnValue` instead of the wrapped method's original return value. This can be further altered by other after phase wrappers.

The static properties `Y.Do.originalRetVal` and `Y.Do.currentRetVal` will be populated for reference.

#### Parameters:

- `fn` Function

  the function to execute

- `obj` Object

  the object hosting the method to displace

- `sFn` String

  the name of the method to displace

- `c` Object

  The execution context for fn

- `arg` Mixed multiple

  0..n additional arguments to supply to the subscriber

#### Returns:

String: handle for the subscription

### `before`

(

- `fn`
- `obj`
- `sFn`
- `c`
- `arg`

)
String static

Defined in `event-custom/js/event-do.js:35`

Execute the supplied method before the specified function. Wrapping function may optionally return an instance of the following classes to further alter runtime behavior:

Y.Do.Halt(message, returnValue)
  Immediatly stop execution and return `returnValue`. No other wrapping functions will be executed.
Y.Do.AlterArgs(message, newArgArray)
  Replace the arguments that the original function will be called with.
Y.Do.Prevent(message)
  Don't execute the wrapped function. Other before phase wrappers will be executed.

#### Parameters:

- `fn` Function

  the function to execute

- `obj` Object

  the object hosting the method to displace

- `sFn` String

  the name of the method to displace

- `c` Object

  The execution context for fn

- `arg` Mixed multiple

  0..n additional arguments to supply to the subscriber when the event fires.

#### Returns:

String: handle for the subscription

### `detach`

(

- `handle`

)
static

Defined in `event-custom/js/event-do.js:154`

Detach a before or after subscription.

#### Parameters:

- `handle` String

  the subscription handle

## Properties

### `currentRetVal`

Unknown static

Defined in `event-custom/js/event-do.js:181`

Available since 3.2.0

Contains the current state of the return value, consumable by 'after' event listeners, and updated if an after subscriber changes the return value generated by the wrapped function.

### `objs`

Unknown deprecated static

Defined in `event-custom/js/event-do.js:21`

Deprecated: Since 3.6.0. The `_yuiaop` property on the AOP'd object replaces the role of this property, but is considered to be private, and is only mentioned to provide a migration path. If you have a use case which warrants migration to the _yuiaop property, please file a ticket to let us know what it's used for and we can see if we need to expose hooks for that functionality more formally.

Cache of objects touched by the utility

### `originalRetVal`

Unknown static

Defined in `event-custom/js/event-do.js:172`

Available since 3.2.0

Contains the return value from the wrapped method, accessible by 'after' event listeners.