improve readibility of your code! 😄 for es6 and coffeescript this is metaprograming used execution context


Keywords
lodash, underscore.string, highland, fp, coffeescript, readable
License
MIT
Install
npm install at-lodash@4.0.0

Documentation

at-lodash

improve readibility of your code! 😄 for es6 and coffeescript this is metaprograming used execution context

Usage examples

✏️ es6 when at.config.js writen custom config code located in cwd, auto load that

  • at.config.js
const {fp} = this

module.exports = function(){
  //here execution context applied at-lodash's feature 
  //(ex : auto load node module, npm module, lodash module)
  this.double = fp.map(fp.multiply(2))
}
  • index.js
require('at-lodash').call(this)
const {fp} = this

//auto load lazily lodasy module!
this.sum2mul3 = n => this.flow(
  fp.add(2),
  fp.multiply(3)
)(n)
this.map([1,2,3], this.sum2mul3)
// [9,12,15]

//auto load lazily node module! (ex: http)
const server = this.http.createServer((req, res) => res.end())
server.listen(8000)

//if you installed 'moment' npm module, auto load that!
this.moment([2010, 6, 10])
// July 10th

//auto load at.config.js 
this.double([2,4,6])
// [4,8,12] 

//create special execution context included string.prototype extended by string module
this.string(() => {
  'good at-lodash'.humanize()
  // 'Good at lodash'
})

✏️ coffeescript

  • at.config.coffee
module.exports = => 
  #here execution context applied at-lodash's feature 
  #(ex : auto load node module, npm module, lodash module)
  @double = @fp.map fp.multiply(2))
  • index.coffee
require('at-lodash').call @
{fp} = @

# auto load lazily lodasy module!
@sum2mul3 = (n) => @flow(
  fp.add(2),
  fp.multiply(3)
) n
@map [1,2,3], @sum2mul3

# auto load lazily node module! (ex: http)
server = @http.createServer (req, res) => res.end()
server.listen 8000

# if you installed 'moment' npm module, auto load that!
@moment [2010, 6, 10]
# July 10th

# auto load at.config.js 
@double [2,4,6] 
  # [4,8,12] 

//create special execution context included string.prototype extended by string module
@string( => 
  'good at-lodash'.humanize()
  # 'Good at lodash'
)

installation

npm install at-lodash

Features

every module loaded lazily in execution context!

  • import lodash
  • import famouse module
    • underscroe.string
    • highland
    • string
  • create special execution context included string.prototype extended by string module
  • import module in execution context lazily
    • nodejs module
    • installed npm module in package.json
  • load individual setting in at.config.js