Show More
Commit Description:
force log out when password change
Commit Description:
force log out when password change
References:
File last commit:
Show/Diff file:
Action:
node_modules/es6-set/lib/primitive-iterator.js
| 53 lines
| 1.8 KiB
| application/javascript
| JavascriptLexer
|
r789 | 'use strict'; | |||
var clear = require('es5-ext/array/#/clear') | ||||
, assign = require('es5-ext/object/assign') | ||||
, setPrototypeOf = require('es5-ext/object/set-prototype-of') | ||||
, contains = require('es5-ext/string/#/contains') | ||||
, d = require('d') | ||||
, autoBind = require('d/auto-bind') | ||||
, Iterator = require('es6-iterator') | ||||
, toStringTagSymbol = require('es6-symbol').toStringTag | ||||
, defineProperties = Object.defineProperties, keys = Object.keys | ||||
, unBind = Iterator.prototype._unBind | ||||
, PrimitiveSetIterator; | ||||
PrimitiveSetIterator = module.exports = function (set, kind) { | ||||
if (!(this instanceof PrimitiveSetIterator)) { | ||||
return new PrimitiveSetIterator(set, kind); | ||||
} | ||||
Iterator.call(this, keys(set.__setData__), set); | ||||
kind = (!kind || !contains.call(kind, 'key+value')) ? 'value' : 'key+value'; | ||||
defineProperties(this, { | ||||
__kind__: d('', kind), | ||||
__data__: d('w', set.__setData__) | ||||
}); | ||||
}; | ||||
if (setPrototypeOf) setPrototypeOf(PrimitiveSetIterator, Iterator); | ||||
PrimitiveSetIterator.prototype = Object.create(Iterator.prototype, assign({ | ||||
constructor: d(PrimitiveSetIterator), | ||||
_resolve: d(function (i) { | ||||
var value = this.__data__[this.__list__[i]]; | ||||
return (this.__kind__ === 'value') ? value : [value, value]; | ||||
}), | ||||
_unBind: d(function () { | ||||
this.__data__ = null; | ||||
unBind.call(this); | ||||
}), | ||||
toString: d(function () { return '[object Set Iterator]'; }) | ||||
}, autoBind({ | ||||
_onAdd: d(function (key) { this.__list__.push(key); }), | ||||
_onDelete: d(function (key) { | ||||
var index = this.__list__.lastIndexOf(key); | ||||
if (index < this.__nextIndex__) return; | ||||
this.__list__.splice(index, 1); | ||||
}), | ||||
_onClear: d(function () { | ||||
clear.call(this.__list__); | ||||
this.__nextIndex__ = 0; | ||||
}) | ||||
}))); | ||||
Object.defineProperty(PrimitiveSetIterator.prototype, toStringTagSymbol, | ||||
d('c', 'Set Iterator')); | ||||