mirror of
				https://github.com/shivammathur/setup-php.git
				synced 2025-10-31 23:36:21 +07:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
 | |
| var isObject = function (o){
 | |
|   return (typeof o === "object") &&
 | |
|          (o !== null) &&
 | |
|          (Object.prototype.toString.call(o) === '[object Object]');
 | |
| };
 | |
| exports.isObject = isObject;
 | |
| exports.isString = function(o){
 | |
|   return Object.prototype.toString.call(o) === '[object String]';
 | |
| };
 | |
| exports.isArray = function(o){
 | |
|   return Object.prototype.toString.call(o) === "[object Array]";
 | |
| };
 | |
| exports.isBoolean = function(o) {
 | |
|   return typeof o === 'boolean';
 | |
| };
 | |
| exports.isNumber = function(o) {
 | |
|   return typeof o === 'number' && isFinite(o);
 | |
| };
 | |
| exports.isNull = function(o) {
 | |
|   return o === null;
 | |
| };
 | |
| 
 | |
| exports.keys = function (object) {
 | |
|   if (!isObject(object)) {
 | |
|     throw new TypeError("Object.keys called on a non-object");
 | |
|   }
 | |
| 
 | |
|   var result = [];
 | |
|   for (var name in object) {
 | |
|     if (hasOwnProperty.call(object, name)) {
 | |
|       result.push(name);
 | |
|     }
 | |
|   }
 | |
|   return result;
 | |
| };
 | |
| 
 | |
| // String.prototype.substr - negative index don't work in IE8
 | |
| if ('ab'.substr(-1) !== 'b') {
 | |
|   exports.substr = function (str, start, length) {
 | |
|     // did we get a negative start, calculate how much it is from the beginning of the string
 | |
|     if (start < 0) { start = str.length + start; }
 | |
| 
 | |
|     // call the original function
 | |
|     return str.substr(start, length);
 | |
|   };
 | |
| } else {
 | |
|   exports.substr = function (str, start, length) {
 | |
|     return str.substr(start, length);
 | |
|   };
 | |
| }
 | |
| 
 | |
| // Array.prototype.map is supported in IE9
 | |
| exports.map = function map(xs, fn) {
 | |
|   if (xs.map) { return xs.map(fn); }
 | |
|   var out = new Array(xs.length);
 | |
|   for (var i = 0; i < xs.length; i++) {
 | |
|     out[i] = fn(xs[i], i, xs);
 | |
|   }
 | |
|   return out;
 | |
| };
 | 
