You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.2 KiB
47 lines
1.2 KiB
/** |
|
* Copyright 2013-2015, Facebook, Inc. |
|
* All rights reserved. |
|
* |
|
* This source code is licensed under the BSD-style license found in the |
|
* LICENSE file in the root directory of this source tree. An additional grant |
|
* of patent rights can be found in the PATENTS file in the same directory. |
|
* |
|
* @providesModule ReactInstanceMap |
|
*/ |
|
|
|
'use strict'; |
|
|
|
/** |
|
* `ReactInstanceMap` maintains a mapping from a public facing stateful |
|
* instance (key) and the internal representation (value). This allows public |
|
* methods to accept the user facing instance as an argument and map them back |
|
* to internal methods. |
|
*/ |
|
|
|
// TODO: Replace this with ES6: var ReactInstanceMap = new Map(); |
|
var ReactInstanceMap = { |
|
|
|
/** |
|
* This API should be called `delete` but we'd have to make sure to always |
|
* transform these to strings for IE support. When this transform is fully |
|
* supported we can rename it. |
|
*/ |
|
remove: function(key) { |
|
key._reactInternalInstance = undefined; |
|
}, |
|
|
|
get: function(key) { |
|
return key._reactInternalInstance; |
|
}, |
|
|
|
has: function(key) { |
|
return key._reactInternalInstance !== undefined; |
|
}, |
|
|
|
set: function(key, value) { |
|
key._reactInternalInstance = value; |
|
} |
|
|
|
}; |
|
|
|
module.exports = ReactInstanceMap;
|
|
|