Sha256: f6f218ecc2b2b37cae9a49defebcaaf6a1661b0074cfe0371c3d66f7fe8d6936

Contents?: true

Size: 1.16 KB

Versions: 62

Compression:

Stored size: 1.16 KB

Contents

/* */ 
'use strict';
var $ = require('./$'),
    weak = require('./$.collection-weak'),
    isObject = require('./$.is-object'),
    has = require('./$.has'),
    frozenStore = weak.frozenStore,
    WEAK = weak.WEAK,
    isExtensible = Object.isExtensible || isObject,
    tmp = {};
var $WeakMap = require('./$.collection')('WeakMap', function(get) {
  return function WeakMap() {
    return get(this, arguments[0]);
  };
}, {
  get: function get(key) {
    if (isObject(key)) {
      if (!isExtensible(key))
        return frozenStore(this).get(key);
      if (has(key, WEAK))
        return key[WEAK][this._i];
    }
  },
  set: function set(key, value) {
    return weak.def(this, key, value);
  }
}, weak, true, true);
if (new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7) {
  $.each.call(['delete', 'has', 'get', 'set'], function(key) {
    var proto = $WeakMap.prototype,
        method = proto[key];
    require('./$.redef')(proto, key, function(a, b) {
      if (isObject(a) && !isExtensible(a)) {
        var result = frozenStore(this)[key](a, b);
        return key == 'set' ? this : result;
      }
      return method.call(this, a, b);
    });
  });
}

Version data entries

62 entries across 31 versions & 1 rubygems

Version Path
sequenceserver-3.1.3 public/vendor/npm/core-js@1.1.2/modules/es6.weak-map.js
sequenceserver-3.1.3 public/vendor/npm/core-js@1.1.2/library/modules/es6.weak-map.js
sequenceserver-3.1.2 public/vendor/npm/core-js@1.1.2/library/modules/es6.weak-map.js
sequenceserver-3.1.2 public/vendor/npm/core-js@1.1.2/modules/es6.weak-map.js
sequenceserver-3.1.1 public/vendor/npm/core-js@1.1.2/library/modules/es6.weak-map.js
sequenceserver-3.1.1 public/vendor/npm/core-js@1.1.2/modules/es6.weak-map.js
sequenceserver-3.1.0 public/vendor/npm/core-js@1.1.2/library/modules/es6.weak-map.js
sequenceserver-3.1.0 public/vendor/npm/core-js@1.1.2/modules/es6.weak-map.js
sequenceserver-3.0.1 public/vendor/npm/core-js@1.1.2/library/modules/es6.weak-map.js
sequenceserver-3.0.1 public/vendor/npm/core-js@1.1.2/modules/es6.weak-map.js
sequenceserver-3.0 public/vendor/npm/core-js@1.1.2/modules/es6.weak-map.js
sequenceserver-3.0 public/vendor/npm/core-js@1.1.2/library/modules/es6.weak-map.js
sequenceserver-2.2.0 public/vendor/npm/core-js@1.1.2/modules/es6.weak-map.js
sequenceserver-2.2.0 public/vendor/npm/core-js@1.1.2/library/modules/es6.weak-map.js
sequenceserver-2.1.0 public/vendor/npm/core-js@1.1.2/library/modules/es6.weak-map.js
sequenceserver-2.1.0 public/vendor/npm/core-js@1.1.2/modules/es6.weak-map.js
sequenceserver-2.0.0 public/vendor/npm/core-js@1.1.2/library/modules/es6.weak-map.js
sequenceserver-2.0.0 public/vendor/npm/core-js@1.1.2/modules/es6.weak-map.js
sequenceserver-2.0.0.rc8 public/vendor/npm/core-js@1.1.2/library/modules/es6.weak-map.js
sequenceserver-2.0.0.rc8 public/vendor/npm/core-js@1.1.2/modules/es6.weak-map.js