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
 |