Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/modules / ___dist / chain-able / docs / CHANGELOG.md
Size: Mime:

🏷 v5.0.0-beta.9

  • add forProto & zipWith & concatMutate

🏷 v5.0.0-beta.5


@TODO

  • folder for equals and clone?
  • chin-able for minified chainable exports :3
  • add native-decorating-and-chain-mode
  • auto export not versions of every is isNot*
  • remapping require should always use a central one and the aliases only require that main one
  • ALLOW RENAMING THE FILE AND NOT OUTPUTTING WITH THE FILENAME AT ALL WITH @FILENAME
  • ADD MORE CASTING DOT-PROP PATHS IN UTILS
  • EXPORT ALL IZZES
  • !!! GENERATE OUT EXPORTS WITH ALIASESES
  • GENERATE OUT ES6 EXPORTS TOO
  • !!! AUTO-ADD @SEE USING @REQUIRE ... works, but not in a dist unless it uses comments!
  • add article to site
  • run examples as tests
  • publish flat exports
  • finish chainPlus with fp utils in chainable
  • !!! split out currying, add curring in a remapped place, because only being able to use curried internal functions is rough

FILES

/** @ignore 🚧 wip */

exporter

  • takes my full folder structure,
  • parses all of the docblocks for @alias for the files (for example, isNil is also named isNullOrUndefined, so you can use the api naming that's better suited, and it uses the same file internally so it's just for free, better api),
  • handles all conflicts in naming by preferred order, fuzzy search, etc
  • remaps all requires to use the exported files
  • remaps them all to an export directory (usable at root so like chain-able/isNil),
  • keeps a record that makes all the exported files so they can all be cleaned with 1 command
  • generates out es6 & es5 & member functions, and export files so you can use tree shaking, or use it like chain.isClass(class {}), or {isClass} or require ('chain-able/isClass)

beta-7.2

  • _

    • 🕴 export @member
    • throttle
    • debounce
    • delay
    • tests
  • 🔁 loop/ 🆙 map/* 🆕 reduce/*

    • 🆙 map/* improve
    • 🆕 reduce/* add
  • 🦄 ponyfils

    • env

❗📼 Shorthands & Chainable to es5 prototype > class

  • 🚚 move keywords to native from util
  • 🚚 move argumentor to cast

➗ math/

🖇 utils/

  • 🆕 indexOf

  • 🆕 seal

  • 🆕 sleepPromise

  • ⚡ typeguard in size

  • ℹ️ℹ️ℹ️ docs

  • 🆕 native/

    • 🆕 EMPTY_STRING
    • 🆕 native/props
    • 🆕 native/FALSY_LIST
    • 🆕 native/OBJECT_STRING_TAGS
    • 🆕 native/props
    • 🆕 native/arrayEntries
    • ℹ️ docblocks
  • ℹ️ℹ️ℹ️ docs

  • 🕑 cast/ 📒 rename 🆙 toDate

    • 📒 rename all cast files that cast to prefixed with toX
    • 🆙 toDate implemented
    • 🆙 setToPairs implement
    • 🆙 arrayToIterator
    • 🆙 cast exports
    • 🆙 setToArray <- use index again
    • 🆕📖 readme
    • ℹ️ docblocks
  • 📒 rename matcher/any-key-vals to matcher/testKeysVals

  • ⚒ fix export names in construct

  • ⚒ fix size in isEmpty

  • ⚒ fix arg order in nthArg

  • 🛡 safety in numberish

  • 🆙 change construct back to constructor

  • 🆙 improve tagEq

  • 🐏🆕 propSatisfies

  • 🐏🆕 repeat

  • ❔🆕 isValidPropertyKey

  • 🆕 Symbol toStringTag

  • ⚒ fix all tests

  • ⚒ fix isOfInstanceObj in compose

  • ⚒ fix keys casting in ChainedSet (was casting iterator needed to be arrfrom)

throttle debounce memoize https://github.com/jashkenas/underscore/blob/master/test/functions.js#L197

http://documentcloud.github.io/underscore-contrib/#snapshot http://documentcloud.github.io/underscore-contrib/#best


beta.7

  • 🔬 tests 🃏
    • 🆙 paths to argumentor etc
    • 🆙 traverse fn vs fn strings
    • 🆕 cast/toPairs
    • 🆕 fp/bind
    • 🆕 is/hasin
    • 🆕 size
    • 🆕 math/modulo
    • 🆕 util/keys
    • 🆕 util/values

  • ChainedSet as hybrid class
  • ChainedMap to hybrid class
  • Shorthands to hybrid class
  • Chainable keyValueToIterator
  • fp propSatisfies
  • use propSatisfies in Chainable

  • ℹ️ docs: more minor tweaks, links, alias, examples, clean

  • 🕴 really messy hack in more exporting https://github.com/ramda/ramda/blob/master/src/internal/_functionName.js

  • 🔁 loop/ 🙃 flipped 🌈 fantasy ☕ filter 🗺 map/ 🔁 each/ 🆕

    • 🔁 loop/ 🔁 each/
      • 🆕 forOwnUnguarded
      • 🆕 baseForOwn
      • 🆙 forOwn
      • 🆙ℹ️ baseEach
      • 🆙ℹ️ baseForOwn
    • 🔁 loop/ 🙃 flipped/ 🆕📖
      • 🆕📖 readme
      • 🆕 filterWhereFlipped
      • 🆕 forEachFlipped
      • 🆕 forOwnFlipped
      • 🆕 mapArrayFlipped
      • 🆕 mapObjFlipped
      • 🆕 mapObjOrArrayFlipped
      • 🆕 mapObjOrArrayKeysFlipped
    • 🔁 loop/ 🌈 fantasy/ 🆕
      • 🆕 _each
      • 🆕 _map
      • 🆕 _reduce
      • 🆕 _reduceBy
      • 🆕 converge
      • 🆕 pluck
    • 🔁 loop/ ☕ filter/ 🆙ℹ️ filterWhere
    • 🔁 loop/ 🗺 map/ 🆕📖📒
      • 🆕📖 readme
      • 📒 rename map -> mapArray & mapObj
      • 🆕 mapArrayKeys
      • 🆕 mapArrayVals
      • 🆕 mapObjKeys
      • 🆕 mapObjVals
      • 🆕 mapForInUnguarded
      • 🆕 mapObjOrArray
      • 🆙 mapAcum
    • 🔁 loop/ 🗺 reduce/ 🆕📖📒
    • 🔁 loop/ ⏬ reduce/ 🆕
      • 🆕 baseReduce
      • 🆕 reduceArray
    • 🔁 loop/ 🔢 sort/ ⚒⌨️
      • ⚒⌨️ fix comparator spelling
      • 🆙 big improvement on defaultComparator
    • 🔁 loop// 🕴📖
      • 📖 readme
      • 🕴 @member 🆙 @exports
      • 🆕 filterMap (filter, then map)
      • 🆕 flattenForIn (uses forInUnguarded to flatten prototype)

  • 🎼 compose 📇 rename meta keys

    • addComposer
    • simplifies & shrinks bundle size for .compose
    • 📒📇 rename meta constant keys
  • 🙃 flipped/ 🆕

    • 🆕 bindMethod
    • 🆕 defaultToNoop
    • 🆕 hasOwnPropertyFlipped
    • 🆕 invokeFlipped
    • 🆕 isOfInstance
    • 🆕 sliceFlipped
  • 🆕 ! conditional/negate

  • 🍴 fork bench-chain, 🏋️ simple benchmark

  • 🏗 build

    • more exporting with @alias
    • minor lint, minor playground, minor cli tweaks, isDir util, versions folder update ran, metadata, makefile add quick
  • 🔬 tests 🃏

    • stress test add emoji & evil array
    • tests for loop
    • tests for fp
    • test runner
    • ⚒ fix ℹ️ docblock 📘 @examples for running 🔬 as-a-test
    • 🃏 start test setup to uses isses in jest
    • 🌲⛓ astchain
  • string/ 🆕 charCode, match, quote, 🚚 char@0

    • 🚚 move charCodeAtZero
    • 🆕 charCode
    • 🆕 match
    • 🆕 start quote
    • ⚡🤸 frozen perf in split
  • 🖇 util/ 🆕 🕴 exports 🤸 split keyval ...

    • 🕴 @exports @member
    • 🌍 localGlobal as-a-fn
    • 🆙⚒ fix kindOf regexp
    • 🆙 preAllocate in keysObjOrArray
    • 🤸 split keys into keysIn
    • 🤸 split values into valuesIn
    • 🆕 numberFromZero
    • 🆕 size!!!
    • 🆕 concat
  • 📏 structured/


  • 🕑 cast/ 🆕 args,key,int,index,pairs,set,str

    • 🆕 toArgs/toArguments
    • 🆕 toKey/toProperty
    • 🆕 mapToArray
    • 🆕 toFunction
    • 🆕 toInt
    • 🆕 toInt32
    • 🆕 toInt31
    • 🆕 toIndex
    • 🤸 keyValueToIterator
    • ☮️ compat in toPairs, prefer Object.entries
    • 🆙 use preAllocate in setToArray
    • 🆙 uncomment & implement toString
    • 🆙 arrayToIterator use index > push
    • 🆙 objToMap as-one-line
  • ⛰ env/ ℹ️

    • 🆕 preferSize
    • 🆕 preferPerf
    • 🆕 strict
  • array/ 🆕ℹ️ ⚡ preAllocate

    • 🆕 arrayOfIndexes
    • 🆕 add array/flattenRecursive
    • 🆕 add array/indexOf
    • 🆕 add array/shuffle
    • 🆕 add array/spliceIn
    • 🆕 add array/spliceOut
    • ℹ️ docs for uniq
  • ⚡ perf

    • array/preAllocate > replace instances where arrays or objects get length from keys in different ways, in a polymorphic, but not megamorphic function to easily create a pre-allocated array
    • use in argumentor
  • ⚒ fix

    • fix isArrayLike, import hasOwnProperty
    • fix alias typo on isNil -> isNill
    • fix lastIndex
  • 🏎️ /native/ 🆕 added 📒 renamed 🕴 export @member

    • 🆕 MAX_ARRAY_LENGTH
    • 🆕 MAX_ARRAY_INDEX
    • 🆕 LARGE_ARRAY_SIZE
    • 🆕 MAX_32_BIT
    • 🆕 MAX_INTEGER
    • 🆕 MAX_SAFE_INTEGER
    • 🆕 MAX_SPLICE_SIZE
    • 🆕 INFINITY
    • 📒 objectHasOwnProperty <- moved from util, renamed from hasOwnProperty for build
    • 🕴 export @member
  • 🎯 match/ 🕴 @member 🆕

    • 🕴 @member
    • 🆕 matchHex
    • 🆕 matchUnicode
    • 🆕 matchInteger
    • 📒 rename url -> matchUrl
  • 👾 simplify dotPaths

  • ❔ is/ 📖 readme 🕴 export 🆕 new & 🆙 update

    • 📖 readme
    • 🕴 export all
    • 🆕❔ ownPropertyIs
    • 🆕❔ isNumberish
    • 🆕❔ isArrayBuffer
    • 🆕❔ isDataView
    • 🆕❔ isExtensible
    • 🆕❔ hasDecimal
    • 🆕❔ isIndexable
    • 🆕❔ isInfinity
    • 🆕❔ isMatchWith
    • 🆕❔ isType
    • 🆕❔ isTagEq
    • 🆕❔ isValidIndex
    • 🆕❔ isValidArrayIndex
    • 🆕❔ isIndex
    • 🆕❔ isWeakMapUsable
    • 🆕❔ isZerosih
    • 🆙 match/undefined in undefinedLike
    • 🆙 hasIn de-dupe
    • 🆙 use size in isEmpty
  • 🔣 symbols/ 🆕

    • 🆕 toString
    • 🆕 match
  • ➗ math/ 🆕⚒ℹ️

    • 🆕 modulo
    • 🆕 gte, lte
    • ⚒ fix lte
    • ℹ️ docblocks
    • ➗ math/ 📒 rename, 🆕 range, max, min, imul
    • 📒 rename conditional to math
    • 🆕 range
    • 🆕 max
    • 🆕 min
    • 🆕 multiplySigned/imul
  • 💸 cache/

    • 🕴 @exports @member
    • 🆕 weakCache
  • fp/ 🆕🦎 👾⚡🛡

    • 🆕 nthArg
    • 🆕 where
    • 🆕🦎 evolve/transform fn
    • 🆕 invoker
    • 🤸 split .when out of Chain class
    • 🤸 split out .return from Chain class, @alias as constant
    • 👾 | pipe | simplify reducing with pipe
    • ⚡ optimize prop
    • 📒 rename useMethodIfExists
    • 📒 rename mapWhere -> 🔁 loop filterWhereMap
    • 🛡 add safety & 🌲 condition branching to first
    • ☝ always
    • 🚚📝 move find todo here

5.0.0-beta.6

  • ⛓🚧 wip ChainPlus: fp + oop

  • 👣 traverse

    • ℹ️ docs
    • ❗ BREAKING remove .traversed
    • do not return void .remove in arrow fn
  • 🔁 loop/ 🆕

    • 🆕 arrayEach
    • 🆕 baseEach
    • 🆕 baseFor
    • 🆕 forEach
    • 🆕 forOwn
    • 🆕 filterWhere
    • 🆕 map
    • 🆕 mapAcum
    • 🆕 mapKey
    • 🆕 mapObj
    • 🆕 sort
    • 🆕 comperator
    • 🆕 sortBy
    • 🆕 sortByR
    • 🆕 sortWith
  • 📜📒 Makefile 📇 metadata 🔬 tests

  • 🎁🗝 add .keys method to Chainable

  • 🕑 use castIteratorToArray

  • _ 🆕 debounce 🆕 throttle 🆕 delay

  • ☮️ array future compat comments and functions

  • construct args, use utils, alias, 🎱 new & ℹ️ docs

    • change construct to 0 args
    • add construct 0 args accepting multiple args
    • use hasOwnPropertyFlipped in ChainedMapBase
    • alias encase with attempt
    • link in expressions
    • 🎱 pooler instantiate es6classes too
    • 🎱 pooler ℹ️ docs
    • localGlobal accept webWorker too
  • 🐏 fp/

    • ℹ️ docs 🆕 nth, bind, invert, slice, times
    • ℹ️ docs: arity, curry, construct, always, countBy, invoke, mapWhere,
    • 🆕 bind
    • 🆕 invertObjKeyVal
    • 🆕 nth
    • 🆕 replaceWith
    • 🆕 slice
    • 🆕 times
    • 🆕 useMethodIfExists
  • 👂⚡ Observe - return with 0 matches, faster perf

  • use 🙃 flipped & 🖇 utils in core classes

  • dot-prop ℹ️ docs & 📝 todos

  • 🆕 🙃 flipped/ for pre-flipped utils

    • ❔ hasOwnProperty
  • 🕑 cast/

    • rename to to cast
    • defaultTo
    • 🆕 asciiToArray,
    • 🆕 objToArray,
    • 🆕 iteratorToArray,
    • 🆕 arrayToObj,
    • 🆕 unicodeToArray,
    • 🆕 setToArray,
    • 🆕 stringToArray,
    • 🆕 objToMap,
    • 🆕 plainObj,
    • 🆕 defaultTo,
    • 🆕 arrayToSet,
  • ❔ is/

    • ❔ is/ ℹ️ + docs & links 🆕❔ isFlattenable&typed&unsigned&poly
    • ℹ️ + docs & links! array, arrayLike, async, asyncIsh, error, instanceOf, json, map, mapish, nan, obj, objPlain, objTag, primitive, string, webworker stringOrNumber,
    • 🆕❔ isFlattenable
    • 🆕❔ isTypedArray
    • 🆕❔ isUnsignedInteger
    • ☮️ future poly for isIn
  • 🎀 string/

    • ✂️ trim
    • hasUnicode
    • match
    • 🤸 split
  • 🎯 matcher/ 🆕 test()

  • 🏹 regexp/

    • 🆕 create
    • 🚚 matchNative
    • 🚚 url
    • 🆕 matchTypeTag
    • 🆕 matchUnsigned
  • 🖇 util/

    • 🖇 util/ 🆕🔚 defineFinal 🆕❄️ freeze 🆕 kindOf ℹ️ docs
    • ℹ️ docs: hasOwnProperty, from, keysObjOrArray, lengthMinusOne, localGlobal, props, simpleKindOf
    • 🚚 move define
    • 🆕🔚 defineFinal
    • 🆕❄️ freeze
    • 🆕 shortest kindOf
    • 🆕 values (with Object.values, polyfill values, and valuesIn)
  • ⛰ env

    • ℹ️ @member @private
    • 🆕☮️ compat, for future use with polyfils in build (may just use build replacing the requires though)

5.0.0-beta.5

  • 🔢 expressions/ ℹ️ docs 🎁 add, inc, dec, sub

    • ℹ️ docs: above, below, increment, odd, readme, between
    • 🎁 add:
      • add
      • decrement
      • subtract
      • sum
  • ❔ is/

    • ❔ is/ 🆙ℹ️ docs: arguments, array, boolean, empty, error, function, instanceOf, prototypeOf, json, map, obj, nill, objNotNull, objPure, objTypeof, regexp, string, stringPrimitive, real, iteratable
    • ❔ is/ 🆕 finite, int, nan, plain, ww, url, el, arrlike...
    • use isObjNotNull in objPure & MethodChain insteadof !isArray && isObj
    • objWithKeys to use isEmpty
    • check longer array length faster than new array for length in isEmpty
    • 🆕❔ isNotEhNumber and use in isReal
    • 🆕❔ isFinite
    • 🆕❔ isFalsy
    • 🆕❔ isInteger
    • 🆕❔ isArrayLike
    • 🆕❔ isElement
    • 🆕❔ isFalsy
    • 🆕❔ isNaN
    • 🆕❔ isObjPlain
    • 🆕❔ isObjTag
    • 🆕❔ isWebWorker
    • 🆕❔ isUrl
    • 🚚 move regex from isNative into regexp/
  • ⚡ perf

    • 🎱 swap out garbage collector for pooling on method chain!!!
    • pre-allocate empty objects for mergechain
    • dont return in traversechain a void .remove call
    • dont || the opts in dopemerge
    • use first > shift in dot-prop
  • docs

    • lots of underscorejs links
  • add curry to set

  • fix flattening

  • remove param default in transform -> traverse into isFalsy instead

  • adjust chainable root class shouldClear to check hasOwnProperty vs instance && instance.store

  • move setToArray to cast out of ChainedSet into fn

  • rename & adjust all includes with haystackNeedle & needleHaystack

🏷 v5.0.0-beta.1-5

5

  • ❗ BREAKING:

    • rename includes/includes.js into includes/haystackNeedle & includes/needleHaystack
    • more docs for includes
    • 🐏 replaceWith
  • 🔩 /native/ folder

    • 🕴 for exporting native/built-in prototype methods and such
  • 🆙 conditional/

    • ℹ️ more docs to all & and & not & some
    • 🐏 curry not
    • /includes
      • 🐏 curry
      • ❔ use isString > isArray as first check
  • 'string'/ & [array]/

    • [array]/
      • add @member
      • update memberOf in members
      • move flatten from util
    • 'string'/
      • 🕴 re-case class-names -> classNames
      • 🐫 camelCase
      • FirstToUpperCase
  • 🤸 split 🎱 pooler

  • ⚖️ eq 🛁 minor clean + ℹ️🔗 doclinks 👕 lint tweaks

  • 🆕 add expressions/

  • 🚚 move ignored to meta/

  • 🚚🔬 move dopemerge map & set example into skipped test

  • 🚚 move concat to /array

  • 🐏👷 use construct in traverse/copy & matcher & to-test

  • 🤖📖 docgen

    • 🔗⛓ use presets in LinkChain
    • 🍰 presets for adding icons to link labels and formatting, simple transformers wip
    • 📇📇 fix duplication in metadata
    • fix @see
    • simplify href/label thing for now
    • 🔎 search when cannot find locally
  • 📇 metadata 👣 Traverse ⚡ minor perf

  • 🏗 build/

    • 📅 mini plan + 🖇 node utils for scripts
    • 🚧📜 easy-npm-files build export script (🐴 messy)
    • 📜 easy-npm-files part 2, export to root
    • 🛁 easy-npm-files-clean, to remove once copied, phew
    • 🖥👕 cli lint ensure require statements of transformed flattened easy exports are 100% valid
    • 🖥🛁 move clean of easy-exports into cli
    • 📜📒 export scripts into makefile
    • 📝 needs part 3 & 4
      • part 3
        • will have tests for output,
        • some things are not remapped in requires perfectly, like ./number
        • should parse docblock to support @alias, only from 1st docblock, or some other rule to ensure 100% safety (only when the file has 1 docblock)
      • pt 4
        • will be cleaned up re-usable exporter,
        • without the __fixme util
  • 🐏 🎁 add fp/

    • 🐏 🎁 fp: ⬅️ reverse 👷 construct 📞 invoke ℹ️️ docs
    • ℹ️️ more docs to arity, always, curry, replace, prop
    • 🛅 shorten firstIndex, lastIndex
    • ⬅️🆕 reverse
    • 👷🆕 construct (used in index when exporting .build & .init/.chainable)
    • ❔🆕 includesCount (RESEARCH BETTER NAME) (occurs?)
    • ❔🆕 hasInMatching
    • 📞🆕 invoke
    • 🕴 export more in the index
    • 🤸| pipe split into pipeTwo + pipe (for dynamic length args & 2 args)
  • 🐏 🎁 fp/ ...again

    • ℹ️ more docs 👷 construct/ 🆕🙃 flip 🆕 invoker
    • ℹ️️ more docs to first, firstIndex, includesCount, last, lastIndex, reverse
    • 🔬 more adapted tests
    • 🆕 invoker
    • 🆕🙃 flip
      • 🙃🙃 flip2 (just first2 args)
  • 👷 construct/

    • map, set, regexp
  • ❔ is/

    • ❔ is/ ℹ️ℹ️ℹ️️ docs 🆕🆕🆕 🔬🔩
    • ℹ️️ docs: arguments, array, boolean, buffer, hasIn, objNotNull, prototypeOf, string, undefined, arrayOf, asyncish, async, dot, enumerable, function, generator, json, toS/getTag
    • ⚒ fix ℹ️ docs ⌨️ typo in primitive
    • 🔬 tests for 🆕
    • ❔🆕 isMatch
    • ❔🆕 isInstanceOf
    • ❔🆕 isUndefinedLike
    • ❔🆕 isWeakMap
    • ❔🆕 isWeakSet
    • ❔🆕 isIteratable (moved from traverse)
    • ❔🆕 isCircular
    • ❔🆕 isBooleanPrimitive (split from isBoolean)
    • ❔🆕 isMatch (not exported boolean version of matcher)
    • ❔🆕 isBrowser (using util/localGlobal & isUndefinedLike)
    • 🔩 use native/ in isNative
    • 🆙 use or in isAsyncish
  • 🆕 add expressions/

  • 🆕 add to/

    • array
    • string
    • boolean
    • number
    • object
    • integer
    • map
    • set
    • setToArray
    • coerce
  • 🖇 util/

    • 🆙 utils/ 🕴 exports
    • 🆕🌏 localGlobal (window || global)
    • 🔢 lengthFromZero
      • ℹ️️ docs
      • 😡 use lengthFromZero in argumentor
    • ⛑ hasOwnProperty add isNill safety
    • assign - added commented out polyfil when needed for future reference
  • build/

    • remap all to export
  • 🔎🌎 WEBSITE!

  • ❗ BREAKING:

    • rename is objLoose & objPure & objStrict -> into understandable names that convey what they do
  • 🤖📖 docgen

    • 🛅 built dev version for links from docgen site until upgraded
    • 📜📒 makefile scripts to make docgen & site
    • make website
    • docgen metadata for fuzzy search content
    • fix doc html links
    • ℹ️️ℹ️️ℹ️️ a ton of docblocks in src for outputting better docs
  • 📘⛓ examples:

    • 📘⛓ example: SwitchChain
    • 📘⛓ example: RegExp chain
    • 📘⛓ example: ObjectDefineChain
    • ⚪️ Frisbee 🆙 with updates
  • misc

    • ternary in transform.remap
    • 🌊〰️ update typings
  • 🖇 utils

    • ❔🆕 isEmpty
    • ❔🆕 isJSON
    • ❔🆕 isArguments
    • ❔🆕 isBuffer
    • ❔🆕 move reusable is functions from validator builder into files
    • ❔🆕 isNotNested
    • ❔🆕 isPrimitive
    • ❔🆕 isIn
    • ❔🆕 isArrayOf
    • ❔ isStringOrNumber 🆓 use conditional/or
    • 🤸 split isNumber
      • isNumberPrimitive
    • 🗝️ keys for objOrArray
    • 🆓 use some curry in izzez
    • 🆓 reduce: use 🆓 fp on 🛁 clean
    • 🆓 conditionals utils wrap with curry + ℹ️️
    • 🐫 add camelCase 🔬 tests + 🚚 move to string/ folder
  • 🆓🎁 FP

    • start them, update,️dℹ️️ docblock, 🔬 test, (ramda lodash thanks for some parts of some)
    • prop
    • pipe
    • path,
    • map,
    • curry
    • first
    • firstIndex
    • last
    • lastIndex
    • arity
    • replace
    • mapWhere
    • always
    • remove
    • arity
  • 👣 Traverse

    • ⛓ FIX TRAVERSE-CHAIN METHOD ARGS SINCE THEY HAVE BEEN UPDATED
    • 🏰 ground up refactor for deopt
    • 🎱 add InstancePooler with tests
      • add reset, adjust delete (needs a better .remove for array .splice)
    • 🤸🛁 split & clean
    • ℹ️️ re-document
    • 👾 variable name clarity
    • 📝 todos
    • 🤸🎯 split dopemerge emptyTarget to a reusable file
    • refactor equals
    • 👾 simplify isArrayOrObj && isObjWithKeys -> isEmpty
    • rename .iteratee to .node,
  • 🛡 encase

    • 🆓 wrap encase: tryCatch & withSpec with curry
    • ℹ️️ docblocks for dot-prop
    • 🆓 use fp/replace on escape
  • 🏗 build & 📇 metadata

    • lego-cli for later
    • 📇 metadata for docgen
    • 📇 metadata yarn lock pkg json stuff
    • 🏗🔌 comment plugin to add filenames to output
    • 🏸 cdn server hosting in installations in readme for site
    • ⚒ minor eq path require fix

🏷 v4.1.0

  • 🏰 refactoring to add prototype methods, instead of many multi-inherit
  • 📜📒 Makefile
    • ⚡ deopt checking
    • 🃏🚩 more jest flags
  • ⚒👣 fix traverser map
  • 📖 docs
    • ℹ️️ migrate almost all docs into docblocks in preparation
    • 🆙⛓ start updating chain-able-md (unreleased, so new)
    • 🆕🎁🤖📚 docgen!
      • 🍴 fork
        • docdown (had a bug that threw an error, made it unusable)
        • doxdox
        • ramda site docgen (unused)
        • lodash site docgen (unused)
      • 🖇 utils
        • 🆙 improve/update/change
          • modernize utils
          • move normalize
        • 🎁 add
          • removeDotCom
          • humanizeLinkLabel
          • stringify
          • deref
          • urlRegExp & isUrl
          • isNotReal
          • getIncludesCount
          • replace
          • isNotFile
          • getDocBlocksFrom
          • isNativePropFilter
          • stripPeriodsAndDashes
          • isLowerCaseType
          • matchesFunction
          • formatWithParens
          • toHash
          • getParentParam
          • getFunction
          • getFallbackFunction
          • extractCall
          • getAsStr
          • slashStarToSlash
      • 🏰 modernize generator, divide pieces with comments for future split since 600 line function is not so maintainable
      • 🏰⛓ℹ️ refactor giant entry fn proto assignment into Chain class
        • scoped persisted .file for searching filenames to auto-link with
        • persist path
        • parse-as-needed
    • 📖🤖 docgen: 🎁
      • 🏭 factories to make accessing & adding easier, +better to maintainable
    • 🎁🏷🔨️ ALMOST ALL TAGS!
      • [🏷] support arrays of tags
        • @see
        • @example
        • @note
        • @todo
      • 🎯 WITH ALIAS SUPPORT! WITH PRESET COMBOS!
        • @sig
        • @symb
        • @modifies
        • @enum
        • @variation
        • @mixins
        • @class @classdesc @classdescription
        • @throws @exception
        • @func @function @method @callback
        • @inheritdoc
        • @override
        • @module @namespace
        • @abstract @virtual
        • @see @link
        • @desc @description (not just default from doctrine)
        • @types @tests @typedef
    • 🔗⛓ @LinkChain
      • 🚑🐛 doctrine has an issue with valid jsdoc
      • parse @link and @see with @link
      • strip @link out so doctrine does not choke
      • 💸 cache
    • ⛓ EntryChain
    • ⚡ optimizes the getEntries which was creating hundreds of instances, now uses scoped instances from a cache, and the pre-created api array of entry instances when possible
    • 🐫📦📇🐈 (de-)camelize & humanize deps & metadata

4.0.1-4.0.7

  • multiple releases quickly debugging an issue:
  • 🚑🐛 fixed major bug with .when where the falseBrancher was being checked for isUndefined instead of isFunction & was also being checked for the true brancher!
  • 🚑🐛🕴 fixed export minification for uglifiable names

4.0.0

  • 🏗🔨️ really battoned-down the hatches on build system
    • 🗞️🔌🥙 falafel-rollup-plugin!!!
  • 🔬 more tests, ensured the lines were all covered
  • 🎡 updated playground

4.0.0-beta.2

  • 🔬 tests 🃏
    • 🃏 convert to jest
    • more +tests
    • ♻️ abstract dist api tests + type tests
    • 🔬 ava for built
    • 🃏👕🔌 jest lint plugin
  • 🏗 build
    • 🎡 playground for rollup uglify testing repl style
    • 🖥🛁 cli clean on postpublish
    • 🏰🗞️ refactor to use rollup node api
    • 🔊 debugger build replacement export for easy usage with debuggering by clients
    • ⚙ fix editor config
    • 💣🛅 fuse-box scope hoisting run - close to rollup size!
    • 🛁 clean & comment fuse.js
    • 📜📒 all scripts moved to makefile
    • 📛 🎡 playground badge
    • ⚡ enable optimizejs
    • 📦🐈 use yarn to run makefile scripts instead of npm
    • 💸💚 cache for travis
  • 📘 examples
      • examples
      • examples submodule/repo
      • decorators
    • 🍭 not-bundled/exported importable decorators
    • flatten the examples folder
    • 📖 lots more docs
  • 🏰 refactor
    • ⛓ MethodChain
      • ❗🌐 add name/key as first arg in .onValid .onInvalid
      • 🔌 plugins for ^
    • ⛑ encase - MAJOR remove .rethrow - put into error enhancer
  • 🖇 utils/deps
    • 🎁 add conditional
      • eq, not, or, and, some, all, includes
    • ♻️ abstract getPrototypeOf
    • ⚒ fix some types
    • 🐣 isNotNested schema validation fix
    • rename ezType -> simpleKindOf
  • 📒🚚 move
    • dopemerge & validators/types & reduce/ & dot-prop
  • 👣 traverser

4.0.0-beta.1 https://github.com/fluents/chain-able/releases/tag/v4.0.0-alpha.1

  • test cov 90 -> 96%
  • MAJOR
    • .when(string) string now checks .has
    • moved .clean
    • observable dot.prop
    • caching
    • removed many classes
    • MethodChain
      • removed .extendsGetSet, .defineGetSet, .extendIncrement, .extendWith, .extendAlias, .decorateParent, .typed
      • replaced ^ with .alias(), .getSet(), .decorate(obj), .define(), .autoIncrement(), .default(), .initial(), .bind(), .encase(), .call(), .get(), .set(), .returns(), .camelCase(), .factory(for extending), .build with + support
      • removed compose/Extend, compose/Child, compose/immutable, compose/Extend, compose/Types, compose/Symbols, compose/Debug, compose/define
      • 🎁 .schema feature
        • optional types, array types, or types
        • 📐🛂🏭 refactor out schema factory
    • integrated histories from deepmerge, dot-prop, traverse-js, webpack-chain (all commit hashes change, extremely likely they are not used anywhere, even so there is a branch backup so hardly 100% breaking)
    • completely redid type definitions
    • took out unsable-to-be-used method instanceof static instance on Chainable
  • PATCH
    • 📖 updating all docs
    • tsc for dev version
    • exported more deps
    • fixed hasInstance Object.prototype.instanceOf.call in Chainable
    • 🤸 split ChainedMap for circular usage (in MethodChain & MergeChain & TraverseChain)
    • inlined methods in MergeChain & TraverseChain
  • MINOR
    • fix typo on .setIfEmpty
    • dot-prop array paths
    • validator factories
    • traverser
      • eq: optimized typechecks, const & let, size
      • traverse-js: optimized argument slicing, const & let, jsdocs
    • 🔬 many more tests
      • covered reduce for tests
      • covered almost all traverser branches
      • all old tests updated to new .method api
    • fix sourcemaps for tests for more accurate coverage (was failing the unused built code such as Object.create)
    • 👕 tslint
    • 🏰🏗 refactor build system
  • merge
    • covered all branches of dopemerge tests
    • fixed null ignored type on ezTypes in dopemerge
    • renamed .dopemerge -> .merge for exports
    • optimized forEach loops
    • optimized switch case into if-else for uglification
    • map & set merger (unused)
  • build
    • webpack build config experiment to check new scope hoisting size
    • fusebox updates - close to rollup size
    • optimizejs
  • utils
    • 🖇🌊 typechecking utils null, undefined, objloose, strornum, class, false, true, updated all clients
    • argumentor util (used in traverser, from deopt checks)
    • concat util
    • move out old isNode into utils from Chainable
    • 🆕🖇 isMapish util
    • 🖇 entries util
    • ⚡ 🖇 isIgnored as a util
    • isEnumerable, isPrototypeOf, isEmptyArray, isUndefined, isIterator (merged to kind-of repo)
    • garbage collector
    • reduce (moved from Chainable)
    • 🖇 false/true/eqCurry/ezType/charCodeAtZero/length/typeof utils
    • 🖇 length -1 util, strange
    • clean (moved from Chainable)
    • encase (moved from compose/Extend)
      • 📐⛑🏭refactor encase factory
    • ♻️ abstract 🏰 refactor 🛂validators - split into more reusable functions for later
    • 🚑🐛 fix isUndefined & isNull in validators stripping to .null & 2x the obj size
  • dot-prop
    • re-add caching
    • observable
    • dot-prop paths tests
    • dot-prop paths experiment for alternative regex implementation & minor optimization for size
    • dot-prop paths traverser to gather paths of objects
      • 👣 longest paths option
  • matcher
    • re-add caching

3.1.0 https://github.com/fluents/chain-able/releases/tag/3.1.0

  • stress test https://github.com/aretecode/stress-test
  • export more things
  • add magic glob matcher forked from matcher
  • more tests
  • stress tests
  • improved traversal
  • fixed typos / bad spelling
  • decorator support / top-down composable
  • full typescript definitions
  • convoluted crazy rollup typescript buble build script running...
  • ...all while keeping the same size :-D

3.0.0 https://github.com/fluents/chain-able/releases/tag/v3.0.0

  • MAJOR
    • 🏷 version bump 📜 minor scripts
    • 🆙.remapKey -> .remap (accepts an object, or .remapKey)
    • 🗑🤖 .from in compose/Transform removed, transformers work in .merge, .set, .from, etc.
    • 🗑 removed .whitelist from compose/Traverse
    • transformers[key] is now an array, to .reduce values with, vs replacing and having only 1 transformer per key
  • PATCH:
    • allow .transform to take in any traversable, nested conditional: compatible boolean to still use .entries(true) | this, but when an iteratable is passed in, returns traverser chain on that iteratable
  • MINOR:
    • 📦⬇ remove izz
    • 🆙🔬 update traverse tests with inlined equals
    • 🆙🔬🗺 update remap test
    • 📘🔬 example mobx test
    • 🆙🔬👂 update & add more observe tests
    • 🖇🔬 utils/is tests
    • 🆙🎼🔬 update & add more dot-prop tests
    • 🚨🔬⚒ failing merge tests that wanted .clone fixed
    • 💣🛅🏗 fuse-box file added for building with quantum
    • 📦🐈 yarn.lock
    • 🏗 Makefile
    • 👕⚒ lint autofixes & 📝 todo in 🎼 compose/Define
    • 👾♻️⚡ simplify the symbol & typechecks in core lib
      • abstract out reduce for maps & isObjWithKeys into is
    • 🎁⚒ dot-prop implemented with .get .set .has .delete in 🎼 compose/DotProp
    • ⚒👂 observables fixed, only calls on changed
      • ⚖️ ===? deps/transformers/eq added for traversable minimal deepEquals implementation
    • 🏛️ refactor traverse with deps/is
    • 🖇 traverser util for cloning, unused
    • ❌🌊 remove some minor flowtypes for easier usage from raw source
    • 👾 dopemerge simplified
    • 📒🚚🖇 symbols & is[X] moved into individual files
      • 🖇🎯 to-test util (str->regex/fn)
      • 🖇🎯 str-to-regex util
      • 🖇🗺 map reduce util
      • 🖇🤸 split dot-prop-path-segments util
      • 🖇🆙 minor dot-prop change to use deps/is
      • 🍬 .getDecoration 🖇 use is & other deps
      • index files for the folders are compat for experimentation when needed
      • reduces file size
        • instead of assigning data to an object & spreading the data into named variables
        • additionally smaller variable names when uniquing those scoped variables in each file when bundling into a single file
        • smaller functions are optimized faster (usually) by v8
        • moves them out of every instantiated object as a property and only uses reference by scope
        • ♻️⚡ abstract out encase fn
    • 🔊 changelog added
    • 🚨🔬 failing tests for traversing a map & set without transforming with .entries & .values first
    • ⛑🛅🔬 safety in built for .entries, yay tests