…null === 'object'`
- reduced the complexity of `m8.merge` and `m8.update`
…ng `m8` inside of another IIFE that has a `"use strict";` directive.
…eally needed for testing MSIE, since it doesn't support the `__proto__` prop - fixed failing MSIE `m8.ptype` tests - added some more documentation for actual return results of `m8.ptype` under MSIE
- added static method `m8.ptype` to return the native type of an item's `__proto__` - minor tweaks for `Object.value` and `m8.nativeType` - minor code tidy ups...
…ing to interpolate correctly under certain conditions - added boolean flag `m8.AMD` - added method `m8.define` which — if `m8.AMD === true` — wraps the passed module in an amd style define block
…using Object.defineProperty and Object.getPrototypeOf
…module/package it is being exposed to is not the `global` Object
…ibs, makes sense to be in core, n8iv will still work the same - moved `Array.prototype.pluck` from n8iv to m8 as used in 3 other libs, makes sense to be in core, n8iv will still work the same - pre-caching type values for other core JS native types, not just `[object Object]`
… too handy to not be part of the core lib. n8iv still has these methods but they are just wrappers to the `m8.format` and `m8.gsub` respectively
…to another. `m8.expose` now also exposes a library as an AMD module if AMD requirements are met.
…perty descriptor to be used by Object.defineProperty
added m8.description as shorthand for Object.getOwnPropertyDescriptor