This commit is contained in:
24
node_modules/@mapbox/mapbox-gl-style-spec/validate/validate_enum.js
generated
vendored
Normal file
24
node_modules/@mapbox/mapbox-gl-style-spec/validate/validate_enum.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
// @flow
|
||||
|
||||
import ValidationError from '../error/validation_error.js';
|
||||
import {unbundle} from '../util/unbundle_jsonlint.js';
|
||||
|
||||
import type {ValidationOptions} from './validate.js';
|
||||
|
||||
export default function validateEnum(options: ValidationOptions): Array<ValidationError> {
|
||||
const key = options.key;
|
||||
const value = options.value;
|
||||
const valueSpec = options.valueSpec;
|
||||
const errors = [];
|
||||
|
||||
if (Array.isArray(valueSpec.values)) { // <=v7
|
||||
if (valueSpec.values.indexOf(unbundle(value)) === -1) {
|
||||
errors.push(new ValidationError(key, value, `expected one of [${valueSpec.values.join(', ')}], ${JSON.stringify(value)} found`));
|
||||
}
|
||||
} else { // >=v8
|
||||
if (Object.keys(valueSpec.values).indexOf(unbundle(value)) === -1) {
|
||||
errors.push(new ValidationError(key, value, `expected one of [${Object.keys(valueSpec.values).join(', ')}], ${JSON.stringify(value)} found`));
|
||||
}
|
||||
}
|
||||
return errors;
|
||||
}
|
||||
Reference in New Issue
Block a user