@xtrek/ts-migrate-plugins
Version:
Set of codemods, which are doing transformation of js/jsx to ts/tsx
36 lines • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateOptions = exports.validateAnyAliasOptions = exports.createValidate = exports.anyFunctionAliasProperty = exports.anyAliasProperty = void 0;
const json_schema_1 = require("json-schema");
const ts_migrate_server_1 = require("ts-migrate-server");
exports.anyAliasProperty = {
anyAlias: { type: 'string' },
};
exports.anyFunctionAliasProperty = {
anyFunctionAlias: { type: 'string' },
};
function createValidate(properties) {
return (options) => validateOptions(options, properties);
}
exports.createValidate = createValidate;
exports.validateAnyAliasOptions = createValidate(exports.anyAliasProperty);
function validateOptions(options, properties) {
if (typeof options !== 'object' || !options) {
throw new ts_migrate_server_1.PluginOptionsError('options must be an object');
}
const schema = {
type: 'object',
properties,
additionalProperties: false,
};
const validation = json_schema_1.validate(options, schema);
if (!validation.valid) {
const message = validation.errors
.map((error) => `${error.property}: ${error.message}`)
.join('\n');
throw new ts_migrate_server_1.PluginOptionsError(message);
}
return true;
}
exports.validateOptions = validateOptions;
//# sourceMappingURL=validateOptions.js.map