Sha256: 72fedcd1c89599e1c0ea153e40059e1c90fc52ec006a7163253e71377d34b32f

Contents?: true

Size: 1018 Bytes

Versions: 1

Compression:

Stored size: 1018 Bytes

Contents

if (window.MooTools) {
  Array.implement({
    getFirst: function(n){
      return (n || n === 0) ? this.slice(0, n) : this[0]
    },

    getLast: function(n){
      if (n >= this.length) return this
      return (n || n === 0) ? this.slice(this.length - n, this.length) : this[this.length - 1]
    },

    deleteIf: function(fn){
      for (var i = 0, length = this.length; i < length; i++) {
        var el = this.shift()
        if (fn.call(el)) this.push(el)
      }
      return this
    },

    filterOne: function(fn, bind){
      return this.filter(fn, bind).getFirst()
    },

    isBlank: function(){
      return this.length == 0
    },

    hasAny: function(){
      return !this.isBlank()
    }
  })

  Array.alias('first', 'getFirst')
  Array.alias('last', 'getLast')
  Array.alias('select', 'filter')
  Array.alias('selectOne', 'filterOne')
  Array.alias('compact', 'clean')
  Array.alias('isEmpty', 'isBlank')
}
else {
  if (console && console.error) console.error('Mootools is not yet installed.')
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mootools-plus-0.1.5 vendor/assets/javascripts/mootools-plus/array.js