object.js 856 B

123456789101112131415161718192021222324252627282930313233
  1. /*!
  2. {
  3. "name": "ES5 Object",
  4. "property": "es5object",
  5. "notes": [{
  6. "name": "ECMAScript 5.1 Language Specification",
  7. "href": "https://www.ecma-international.org/ecma-262/5.1/"
  8. }],
  9. "polyfills": ["es5shim", "es5sham"],
  10. "authors": ["Ron Waldon (@jokeyrhyme)"],
  11. "tags": ["es5"]
  12. }
  13. !*/
  14. /* DOC
  15. Check if browser implements ECMAScript 5 Object per specification.
  16. */
  17. define(['Modernizr'], function(Modernizr) {
  18. Modernizr.addTest('es5object', function() {
  19. return !!(Object.keys &&
  20. Object.create &&
  21. Object.getPrototypeOf &&
  22. Object.getOwnPropertyNames &&
  23. Object.isSealed &&
  24. Object.isFrozen &&
  25. Object.isExtensible &&
  26. Object.getOwnPropertyDescriptor &&
  27. Object.defineProperty &&
  28. Object.defineProperties &&
  29. Object.seal &&
  30. Object.freeze &&
  31. Object.preventExtensions);
  32. });
  33. });