Files
react-native-devtools-frontend/node_modules/core-js/internals/map-upsert.js
T
Paul Lewis 75090cfd93 Reland "Updates node_modules and update script"
This is a reland of 4df552c652

Original change's description:
> Updates node_modules and update script
> 
> Change-Id: I3fcf49bc416301a030d298cfc48c448bfeba4335
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1878808
> Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Commit-Queue: Paul Lewis <aerotwist@chromium.org>

Change-Id: I97d1442c21420488fadde3f17f67cd4e3b959be6
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1880030
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
2019-10-25 13:19:06 +00:00

24 lines
721 B
JavaScript

'use strict';
var anObject = require('../internals/an-object');
// `Map.prototype.upsert` method
// https://github.com/thumbsupep/proposal-upsert
module.exports = function upsert(key, updateFn /* , insertFn */) {
var map = anObject(this);
var insertFn = arguments.length > 2 ? arguments[2] : undefined;
var value;
if (typeof updateFn != 'function' && typeof insertFn != 'function') {
throw TypeError('At least one callback required');
}
if (map.has(key)) {
value = map.get(key);
if (typeof updateFn == 'function') {
value = updateFn(value);
map.set(key, value);
}
} else if (typeof insertFn == 'function') {
value = insertFn();
map.set(key, value);
} return value;
};