UNPKG

763 BJavaScriptView Raw
1import stackClear from './_stackClear';
2import stackDelete from './_stackDelete';
3import stackGet from './_stackGet';
4import stackHas from './_stackHas';
5import stackSet from './_stackSet';
6
7/**
8 * Creates a stack cache object to store key-value pairs.
9 *
10 * @private
11 * @constructor
12 * @param {Array} [values] The values to cache.
13 */
14function Stack(values) {
15 var index = -1,
16 length = values ? values.length : 0;
17
18 this.clear();
19 while (++index < length) {
20 var entry = values[index];
21 this.set(entry[0], entry[1]);
22 }
23}
24
25// Add methods to `Stack`.
26Stack.prototype.clear = stackClear;
27Stack.prototype['delete'] = stackDelete;
28Stack.prototype.get = stackGet;
29Stack.prototype.has = stackHas;
30Stack.prototype.set = stackSet;
31
32export default Stack;