Skip to content

MethodChain, schema support, 90=>96% cov, cache, utils

Pre-release
Pre-release

Choose a tag to compare

@aretecode aretecode released this 25 Jun 16:35
· 109 commits to master since this release

close to getting beta and publishing...

  • 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