This commit is contained in:
35
node_modules/licia/Caseless.js
generated
vendored
Normal file
35
node_modules/licia/Caseless.js
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
var Class = require('./Class');
|
||||
var lowerCase = require('./lowerCase');
|
||||
var keys = require('./keys');
|
||||
exports = Class({
|
||||
initialize: function(obj) {
|
||||
this._target = obj;
|
||||
},
|
||||
set: function(key, val) {
|
||||
var name = this.getKey(key);
|
||||
if (name) key = name;
|
||||
this._target[key] = val;
|
||||
},
|
||||
get: function(key) {
|
||||
key = this.getKey(key);
|
||||
if (key) {
|
||||
return this._target[key];
|
||||
}
|
||||
},
|
||||
getKey: function(key) {
|
||||
var name = lowerCase(key);
|
||||
var _keys = keys(this._target);
|
||||
for (var i = 0, len = _keys.length; i < len; i++) {
|
||||
var _key = _keys[i];
|
||||
if (lowerCase(_key) === name) return _key;
|
||||
}
|
||||
},
|
||||
remove: function(key) {
|
||||
delete this._target[this.getKey(key)];
|
||||
},
|
||||
has: function(key) {
|
||||
return !!this.getKey(key);
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = exports;
|
||||
Reference in New Issue
Block a user