{"version":3,"sources":["node_modules\\react\\lib\\PooledClass.js"],"names":["_prodInvariant","require","invariant","oneArgumentPooler","copyFieldsFrom","Klass","instancePool","length","instance","pop","call","twoArgumentPooler","a1","a2","threeArgumentPooler","a3","fourArgumentPooler","a4","standardReleaser","process","env","NODE_ENV","destructor","poolSize","push","DEFAULT_POOL_SIZE","DEFAULT_POOLER","addPoolingTo","CopyConstructor","pooler","NewKlass","getPooled","release","PooledClass","module","exports"],"mappings":"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","file":"PooledClass.js","sourceRoot":"d:/Work/Office/react-native-on-web/cli/tmpl/project","sourcesContent":["/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Static poolers. Several custom versions for each potential number of\n * arguments. A completely generic pooler is easy to implement, but would\n * require accessing the `arguments` object. In each of these, `this` refers to\n * the Class itself, not an instance. If any others are needed, simply add them\n * here, or in their own files.\n */\nvar oneArgumentPooler = function (copyFieldsFrom) {\n  var Klass = this;\n  if (Klass.instancePool.length) {\n    var instance = Klass.instancePool.pop();\n    Klass.call(instance, copyFieldsFrom);\n    return instance;\n  } else {\n    return new Klass(copyFieldsFrom);\n  }\n};\n\nvar twoArgumentPooler = function (a1, a2) {\n  var Klass = this;\n  if (Klass.instancePool.length) {\n    var instance = Klass.instancePool.pop();\n    Klass.call(instance, a1, a2);\n    return instance;\n  } else {\n    return new Klass(a1, a2);\n  }\n};\n\nvar threeArgumentPooler = function (a1, a2, a3) {\n  var Klass = this;\n  if (Klass.instancePool.length) {\n    var instance = Klass.instancePool.pop();\n    Klass.call(instance, a1, a2, a3);\n    return instance;\n  } else {\n    return new Klass(a1, a2, a3);\n  }\n};\n\nvar fourArgumentPooler = function (a1, a2, a3, a4) {\n  var Klass = this;\n  if (Klass.instancePool.length) {\n    var instance = Klass.instancePool.pop();\n    Klass.call(instance, a1, a2, a3, a4);\n    return instance;\n  } else {\n    return new Klass(a1, a2, a3, a4);\n  }\n};\n\nvar standardReleaser = function (instance) {\n  var Klass = this;\n  !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;\n  instance.destructor();\n  if (Klass.instancePool.length < Klass.poolSize) {\n    Klass.instancePool.push(instance);\n  }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\n\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\nvar addPoolingTo = function (CopyConstructor, pooler) {\n  // Casting as any so that flow ignores the actual implementation and trusts\n  // it to match the type we declared\n  var NewKlass = CopyConstructor;\n  NewKlass.instancePool = [];\n  NewKlass.getPooled = pooler || DEFAULT_POOLER;\n  if (!NewKlass.poolSize) {\n    NewKlass.poolSize = DEFAULT_POOL_SIZE;\n  }\n  NewKlass.release = standardReleaser;\n  return NewKlass;\n};\n\nvar PooledClass = {\n  addPoolingTo: addPoolingTo,\n  oneArgumentPooler: oneArgumentPooler,\n  twoArgumentPooler: twoArgumentPooler,\n  threeArgumentPooler: threeArgumentPooler,\n  fourArgumentPooler: fourArgumentPooler\n};\n\nmodule.exports = PooledClass;"]}