summaryrefslogtreecommitdiffstats
path: root/vnfmarket/common/thirdparty/es5-shim/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'vnfmarket/common/thirdparty/es5-shim/README.md')
-rw-r--r--vnfmarket/common/thirdparty/es5-shim/README.md168
1 files changed, 168 insertions, 0 deletions
diff --git a/vnfmarket/common/thirdparty/es5-shim/README.md b/vnfmarket/common/thirdparty/es5-shim/README.md
new file mode 100644
index 00000000..40ec70b1
--- /dev/null
+++ b/vnfmarket/common/thirdparty/es5-shim/README.md
@@ -0,0 +1,168 @@
+#es5-shim <sup>[![Version Badge][2]][1]</sup>
+
+[![npm badge][9]][1]
+
+[![Build Status][3]][4] [![dependency status][5]][6] [![dev dependency status][7]][8]
+
+`es5-shim.js` and `es5-shim.min.js` monkey-patch a JavaScript context to
+contain all EcmaScript 5 methods that can be faithfully emulated with a
+legacy JavaScript engine.
+
+`es5-sham.js` and `es5-sham.min.js` monkey-patch other ES5 methods as
+closely as possible. For these methods, as closely as possible to ES5
+is not very close. Many of these shams are intended only to allow code
+to be written to ES5 without causing run-time errors in older engines.
+In many cases, this means that these shams cause many ES5 methods to
+silently fail. Decide carefully whether this is what you want.
+
+
+## Tests
+
+The tests are written with the Jasmine BDD test framework.
+To run the tests, navigate to <root-folder>/tests/.
+
+## Shims
+
+### Complete tests ###
+
+* Array.prototype.every
+* Array.prototype.filter
+* Array.prototype.forEach
+* Array.prototype.indexOf
+* Array.prototype.lastIndexOf
+* Array.prototype.map
+* Array.prototype.some
+* Array.prototype.reduce
+* Array.prototype.reduceRight
+* Array.isArray
+* Date.now
+* Date.prototype.toJSON
+* Function.prototype.bind
+ * :warning: Caveat: the bound function has a prototype property.
+ * :warning: Caveat: bound functions do not try too hard to keep you
+ from manipulating their ``arguments`` and ``caller`` properties.
+ * :warning: Caveat: bound functions don't have checks in ``call`` and
+ ``apply`` to avoid executing as a constructor.
+* Number.prototype.toFixed
+* Object.keys
+* String.prototype.split
+* String.prototype.trim
+* String.prototype.replace
+ * Firefox (through v29) natively handles capturing groups incorrectly.
+* Date.parse (for ISO parsing)
+* Date.prototype.toISOString
+* parseInt
+
+## Shams
+
+* :warning: Object.create
+
+ For the case of simply "begetting" an object that inherits
+ prototypically from another, this should work fine across legacy
+ engines.
+
+ :warning: Object.create(null) will work only in browsers that
+ support prototype assignment. This creates an object that does not
+ have any properties inherited from Object.prototype. It will
+ silently fail otherwise.
+
+ :warning: The second argument is passed to Object.defineProperties
+ which will probably fail either silently or with extreme predudice.
+
+* :warning: Object.getPrototypeOf
+
+ This will return "undefined" in some cases. It uses `__proto__` if
+ it's available. Failing that, it uses constructor.prototype, which
+ depends on the constructor property of the object's prototype having
+ not been replaced. If your object was created like this, it won't
+ work:
+
+ function Foo() {
+ }
+ Foo.prototype = {};
+
+ Because the prototype reassignment destroys the constructor
+ property.
+
+ This will work for all objects that were created using
+ `Object.create` implemented with this library.
+
+* :warning: Object.getOwnPropertyNames
+
+ This method uses Object.keys, so it will not be accurate on legacy
+ engines.
+
+* Object.isSealed
+
+ Returns "false" in all legacy engines for all objects, which is
+ conveniently guaranteed to be accurate.
+
+* Object.isFrozen
+
+ Returns "false" in all legacy engines for all objects, which is
+ conveniently guaranteed to be accurate.
+
+* Object.isExtensible
+
+ Works like a charm, by trying very hard to extend the object then
+ redacting the extension.
+
+### May fail
+
+* :warning: Object.getOwnPropertyDescriptor
+
+ The behavior of this shim does not conform to ES5. It should
+ probably not be used at this time, until its behavior has been
+ reviewed and been confirmed to be useful in legacy engines.
+
+* :warning: Object.defineProperty
+
+ In the worst of circumstances, IE 8 provides a version of this
+ method that only works on DOM objects. This sham will not be
+ installed. The given version of `defineProperty` will throw an
+ exception if used on non-DOM objects.
+
+ In slightly better circumstances, this method will silently fail to
+ set "writable", "enumerable", and "configurable" properties.
+
+ Providing a getter or setter with "get" or "set" on a descriptor
+ will silently fail on engines that lack "__defineGetter__" and
+ "__defineSetter__", which include all versions of IE.
+
+ https://github.com/es-shims/es5-shim/issues#issue/5
+
+* :warning: Object.defineProperties
+
+ This uses the Object.defineProperty shim
+
+* Object.seal
+
+ Silently fails on all legacy engines. This should be
+ fine unless you are depending on the safety and security
+ provisions of this method, which you cannot possibly
+ obtain in legacy engines.
+
+* Object.freeze
+
+ Silently fails on all legacy engines. This should be
+ fine unless you are depending on the safety and security
+ provisions of this method, which you cannot possibly
+ obtain in legacy engines.
+
+* Object.preventExtensions
+
+ Silently fails on all legacy engines. This should be
+ fine unless you are depending on the safety and security
+ provisions of this method, which you cannot possibly
+ obtain in legacy engines.
+
+[1]: https://npmjs.org/package/es5-shim
+[2]: http://vb.teelaun.ch/es-shims/es5-shim.svg
+[3]: https://travis-ci.org/es-shims/es5-shim.png
+[4]: https://travis-ci.org/es-shims/es5-shim
+[5]: https://david-dm.org/es-shims/es5-shim.png
+[6]: https://david-dm.org/es-shims/es5-shim
+[7]: https://david-dm.org/es-shims/es5-shim/dev-status.png
+[8]: https://david-dm.org/es-shims/es5-shim#info=devDependencies
+[9]: https://nodei.co/npm/es5-shim.png?downloads=true&stars=true
+