forked from sheetjs/sheetjs
		
	- browser shim updated (h/t @wintersm for discovering this) - smart tag ignores (h/t @lostinplace) - sheet_to_row_object_array bugfix (fixes #80, h/t @ChrisBurkeBSD) - README improved - baltic and vietnamese codepages: updated codepage to 1.3.4 - iOS Numbers can handle inline strings -> disabling SST by default - avoid Buffer accessors (see https://github.com/joyent/node/issues/7809) - caching certain hot regexes
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| function isval(x) { return x !== undefined && x !== null; }
 | |
| 
 | |
| function keys(o) { return Object.keys(o); }
 | |
| 
 | |
| function evert_key(obj, key) {
 | |
| 	var o = [], K = keys(obj);
 | |
| 	for(var i = 0; i !== K.length; ++i) o[obj[K[i]][key]] = K[i];
 | |
| 	return o;
 | |
| }
 | |
| 
 | |
| function evert(obj) {
 | |
| 	var o = [], K = keys(obj);
 | |
| 	for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];
 | |
| 	return o;
 | |
| }
 | |
| 
 | |
| function evert_num(obj) {
 | |
| 	var o = [], K = keys(obj);
 | |
| 	for(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);
 | |
| 	return o;
 | |
| }
 | |
| 
 | |
| function evert_arr(obj) {
 | |
| 	var o = [], K = keys(obj);
 | |
| 	for(var i = 0; i !== K.length; ++i) {
 | |
| 		if(o[obj[K[i]]] == null) o[obj[K[i]]] = [];
 | |
| 		o[obj[K[i]]].push(K[i]);
 | |
| 	}
 | |
| 	return o;
 | |
| }
 | |
| 
 | |
| /* TODO: date1904 logic */
 | |
| function datenum(v, date1904) {
 | |
| 	if(date1904) v+=1462;
 | |
| 	var epoch = Date.parse(v);
 | |
| 	return (epoch + 2209161600000) / (24 * 60 * 60 * 1000);
 | |
| }
 | |
| 
 | |
| function cc2str(arr) {
 | |
| 	var o = "";
 | |
| 	for(var i = 0; i != arr.length; ++i) o += String.fromCharCode(arr[i]);
 | |
| 	return o;
 | |
| }
 | |
| 
 | |
| var has_buf = (typeof Buffer !== 'undefined');
 |