20 lines
		
	
	
		
			733 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			733 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| exports.parseNativeEnumDef = parseNativeEnumDef;
 | |
| function parseNativeEnumDef(def) {
 | |
|     const object = def.values;
 | |
|     const actualKeys = Object.keys(def.values).filter((key) => {
 | |
|         return typeof object[object[key]] !== 'number';
 | |
|     });
 | |
|     const actualValues = actualKeys.map((key) => object[key]);
 | |
|     const parsedTypes = Array.from(new Set(actualValues.map((values) => typeof values)));
 | |
|     return {
 | |
|         type: parsedTypes.length === 1 ?
 | |
|             parsedTypes[0] === 'string' ?
 | |
|                 'string'
 | |
|                 : 'number'
 | |
|             : ['string', 'number'],
 | |
|         enum: actualValues,
 | |
|     };
 | |
| }
 | |
| //# sourceMappingURL=nativeEnum.js.map
 |