Sha256: 37cde300d3b21d32a87f34f80a51e00656c04b66aba829140a114c426f431937

Contents?: true

Size: 721 Bytes

Versions: 19

Compression:

Stored size: 721 Bytes

Contents

'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;
};

Version data entries

19 entries across 18 versions & 7 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/core-js/internals/map-upsert.js
disco_app-0.18.0 test/dummy/node_modules/core-js/internals/map-upsert.js
disco_app-0.18.2 test/dummy/node_modules/core-js/internals/map-upsert.js
tang-0.2.1 spec/tang_app/node_modules/core-js/internals/map-upsert.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/core-js/internals/map-upsert.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/core-js/internals/map-upsert.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/core-js/internals/map-upsert.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/core-js/internals/map-upsert.js
tang-0.2.0 spec/tang_app/node_modules/core-js/internals/map-upsert.js
tang-0.1.0 spec/tang_app/node_modules/core-js/internals/map-upsert.js
tang-0.0.9 spec/tang_app/node_modules/core-js/internals/map-upsert.js
enju_library-0.3.8 spec/dummy/node_modules/core-js/internals/map-upsert.js
condenser-0.3 lib/condenser/processors/node_modules/core-js-pure/internals/map-upsert.js
condenser-0.2 lib/condenser/processors/node_modules/core-js-pure/internals/map-upsert.js
condenser-0.1 lib/condenser/processors/node_modules/core-js-pure/internals/map-upsert.js
condenser-0.0.12 lib/condenser/processors/node_modules/core-js-pure/internals/map-upsert.js
condenser-0.0.11 lib/condenser/processors/node_modules/core-js-pure/internals/map-upsert.js
condenser-0.0.10 lib/condenser/processors/node_modules/core-js-pure/internals/map-upsert.js
condenser-0.0.9 lib/condenser/processors/node_modules/core-js-pure/internals/map-upsert.js