Files
react-native-devtools-frontend/node_modules/@babel/helper-validator-option/lib/validator.js
T
Tim van der Lippe fe1b426acc Update Istanbul packages and configuration
- Update istanbul-lib-instrument (breaking change is not affecting us)
- Explicitly update @istanbuljs/schema to 0.1.3. This directly instructs
Babel to accept top-level await. As such, we can remove our special
configuration for our `ui/components/docs` folder, which we can now
safely preprocess.

DISABLE_THIRD_PARTY_CHECK=Karma fix
R=jacktfranklin@chromium.org

Bug: none
Change-Id: I0e96dce0117550f1a2db6a93654d8862d9cae95a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3158226
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-09-13 14:22:17 +00:00

58 lines
1.4 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.OptionValidator = void 0;
var _findSuggestion = require("./find-suggestion");
class OptionValidator {
constructor(descriptor) {
this.descriptor = descriptor;
}
validateTopLevelOptions(options, TopLevelOptionShape) {
const validOptionNames = Object.keys(TopLevelOptionShape);
for (const option of Object.keys(options)) {
if (!validOptionNames.includes(option)) {
throw new Error(this.formatMessage(`'${option}' is not a valid top-level option.
- Did you mean '${(0, _findSuggestion.findSuggestion)(option, validOptionNames)}'?`));
}
}
}
validateBooleanOption(name, value, defaultValue) {
if (value === undefined) {
return defaultValue;
} else {
this.invariant(typeof value === "boolean", `'${name}' option must be a boolean.`);
}
return value;
}
validateStringOption(name, value, defaultValue) {
if (value === undefined) {
return defaultValue;
} else {
this.invariant(typeof value === "string", `'${name}' option must be a string.`);
}
return value;
}
invariant(condition, message) {
if (!condition) {
throw new Error(this.formatMessage(message));
}
}
formatMessage(message) {
return `${this.descriptor}: ${message}`;
}
}
exports.OptionValidator = OptionValidator;