Skip to content

Releases: ProgerXP/Sqimitive

1.2

07 May 21:00
Compare
Choose a tag to compare

1.2 is a mature release with multiple breaking changes.

Read MIGRATING.txt for details.

Improvements and bug fixes:

  • Reworked the innards of instantiation mechanism (extend())
  • Improved performance of instantiation (constructor, deepClone()) and events
  • No longer requiring Underscore.js - can be replaced with NoDash or LoDash
  • Properly isolated from window, supporting AMD and CommonJS thanks to Universal Module Header (umh.js)
  • Enabled strict mode for all scripts, avoided arguments.callee and such
  • Fixed hooking events (fuse()) with names of standard properties: 'toString'
  • Fixed improper length calculation if not _owning and nesting over an existing key (replacing)
  • Fixed cloning of _mergeProps and _shareProps by extend()
  • Fixed sqim._() returning _.chain(), not just _()

New features:

  • Added mix-ins (Sqimitive.Core's static and instance mixIn() methods)
  • Added nestEx() method (nest() calls it) with a more convenient semantics for hooking (single argument format and detailed return value)
  • Allowed _childClass to be an indirect reference (array or string)
  • Improved assignChildren():
  • Improved assignResp():
    • now setting options.assignResp
    • added options.schema instead of always using _respToOpt
    • added special _respToOpt[''] key
    • _respToOpt function values may now return non-array
  • Added Base.getSet(), findKey() methods
  • Event handlers can now specify post-action callback (eobj.post property)
  • Added Base.chunk() and Ordered.findIndex()/findLastIndex() helper methods
  • Added Sqimitive._, Sqimitive.jQuery.$ properties, Sqimitive.Base._() method
  • Added ability to give names to constructors (extend()) to aid in debugging
  • Added Sqimitive.Async class as an alternative to "promises"