mirror of
https://github.com/flynx/object-run.js.git
synced 2025-10-26 01:20:07 +00:00
object-run.js
object-run.js implements the tools needed to use the Concatinative Programming Style on native JavaScript structures/objects.
This module defines a singe method .run(..) on Object.prototype making
it visible from all JavaScript objects inheriting from Object.
The .run(..) method simply executes a function in the context of the
object from which .run(..) was called. The return value of .run(..)
is the non-undefined return value of the passed function or the context
object otherwise.
Installation
$ npm install --save object-run
Basic usage
require('object-run')
var o = {}
.run(function(){
this.x = 123
this.y = 321
})
Conditionaly run a function...
var o = {}
.run(o.x % 2 == 0,
function(){
this.x_is_odd = true
})
Examples
var l = [1, 2, 3, 4, 5]
// keep only even elements...
.filter(function(e){
return e % 2 == 0 })
.sort()
// if length is not even add an extra even number at the end...
.run(function(){
this.length % 2 != 0
&& this.push(this[this.length-1] + 2) })
Components
Object.prototype.run(..)
<obj>.run(<func>)
-> <obj>
-> <return-value>
<obj>.run(<cond>, <func>)
-> <obj>
-> <return-value>
<func>()
-> undefined
-> <return-value>
If <func>() returns undefined then .run(..) will return <obj>.
License
Copyright (c) 2016-2023, Alex A. Naanou,
All rights reserved.
Description
Languages
JavaScript
100%