ride.wrap() Function
Calls the wrapper
function instead of the original function. The wrapper function is passed a function that can invoke the original function with the original arguments.
Signature
function wrap<T, A extends any[], R>(wrapper: (this: T, wrapped: () => R, ...args: A) => R): Decorator<T, (this: T, ...args: A) => R>;
Example
ride(test, 'deletePost', ride.wrap(function(wrapped, postId) {
if (this.user.owns(postId)) {
return wrapped()
} else {
throw new Error('No, you can\'t do that!')
}
})
Parameters
Parameter | Type | Description |
---|---|---|
wrapper | (this: T, wrapped: () => R, ...args: A) => R | The function that will be called instead of the original function. The first parameter passed to the wrapper function is a function that will call the original function with the original arguments and return its result. |
(Returns) | Decorator<T, (this: T, ...args: A) => R> |