parse-openapi
Version:
OpenAPI v3 parser
36 lines (35 loc) • 1.12 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnum = void 0;
const isDefined_1 = require("../utils/isDefined");
const getEnum = (values) => {
if (Array.isArray(values)) {
return values
.filter((value, index, arr) => {
return arr.indexOf(value) === index;
})
.filter(isDefined_1.isDefined)
.map(value => {
if (typeof value === 'number') {
return {
name: `'_${value}'`,
value: String(value),
type: 'number',
description: null,
};
}
return {
name: String(value)
.replace(/\W+/g, '_')
.replace(/^(\d+)/g, '_$1')
.replace(/([a-z])([A-Z]+)/g, '$1_$2')
.toUpperCase(),
value: `'${value.replace(/'/g, "\\'")}'`,
type: 'string',
description: null,
};
});
}
return [];
};
exports.getEnum = getEnum;