diff --git a/www/fix/intl-format-cache/src/es5.js b/www/fix/intl-format-cache/src/es5.js new file mode 100644 index 0000000..54c94e5 --- /dev/null +++ b/www/fix/intl-format-cache/src/es5.js @@ -0,0 +1,76 @@ +/* +Copyright (c) 2014, Yahoo! Inc. All rights reserved. +Copyrights licensed under the New BSD License. +See the accompanying LICENSE file for terms. +*/ + +/* jslint esnext: true */ + +// Function.prototype.bind implementation from Mozilla Developer Network: +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill + +var bind = Function.prototype.bind || function (oThis) { + if (typeof this !== 'function') { + // closest thing possible to the ECMAScript 5 + // internal IsCallable function + throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); + } + + var aArgs = Array.prototype.slice.call(arguments, 1), + fToBind = this, + fNOP = function() {}, + fBound = function() { + return fToBind.apply(this instanceof fNOP + ? this + : oThis, + aArgs.concat(Array.prototype.slice.call(arguments))); + }; + + if (this.prototype) { + // native functions don't have a prototype + fNOP.prototype = this.prototype; + } + fBound.prototype = new fNOP(); + + return fBound; +}; + +// Purposely using the same implementation as the Intl.js `Intl` polyfill. +// Copyright 2013 Andy Earnshaw, MIT License + +var hop = Object.prototype.hasOwnProperty; + +var realDefineProp = (function () { + try { return !!Object.defineProperty({}, 'a', {}); } + catch (e) { return false; } +})(); + +var es3 = !realDefineProp && !Object.prototype.__defineGetter__; + +var defineProperty = realDefineProp ? Object.defineProperty : + function (obj, name, desc) { + + if ('get' in desc && obj.__defineGetter__) { + obj.__defineGetter__(name, desc.get); + } else if (!hop.call(obj, name) || 'value' in desc) { + obj[name] = desc.value; + } +}; + +var objCreate = Object.create || function (proto, props) { + var obj, k; + + function F() {} + F.prototype = proto; + obj = new F(); + + for (k in props) { + if (hop.call(props, k)) { + defineProperty(obj, k, props[k]); + } + } + + return obj; +}; + +export {bind, defineProperty, objCreate};