File size: 1,192 Bytes
af6912c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
// abc_common.js: Some common utility functions.
var parseCommon = {};
parseCommon.cloneArray = function(source) {
var destination = [];
for (var i = 0; i < source.length; i++) {
destination.push(Object.assign({},source[i]));
}
return destination;
};
parseCommon.cloneHashOfHash = function(source) {
var destination = {};
for (var property in source)
if (source.hasOwnProperty(property))
destination[property] = Object.assign({},source[property]);
return destination;
};
parseCommon.cloneHashOfArrayOfHash = function(source) {
var destination = {};
for (var property in source)
if (source.hasOwnProperty(property))
destination[property] = parseCommon.cloneArray(source[property]);
return destination;
};
parseCommon.strip = function(str) {
return str.replace(/^\s+/, '').replace(/\s+$/, '');
};
parseCommon.startsWith = function(str, pattern) {
return str.indexOf(pattern) === 0;
};
parseCommon.endsWith = function(str, pattern) {
var d = str.length - pattern.length;
return d >= 0 && str.lastIndexOf(pattern) === d;
};
parseCommon.last = function(arr) {
if (arr.length === 0)
return null;
return arr[arr.length-1];
};
module.exports = parseCommon;
|