Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
44 lines
1.5 KiB
Plaintext
44 lines
1.5 KiB
Plaintext
import curry from '../utils/curry.js';
|
|
import isObject from '../utils/isObject.js';
|
|
|
|
/**
|
|
* validates the configuration object and informs about deprecation
|
|
* @param {Object} config - the configuration object
|
|
* @return {Object} config - the validated configuration object
|
|
*/
|
|
function validateConfig(config) {
|
|
if (!config) errorHandler('configIsRequired');
|
|
if (!isObject(config)) errorHandler('configType');
|
|
if (config.urls) {
|
|
informAboutDeprecation();
|
|
return {
|
|
paths: {
|
|
vs: config.urls.monacoBase
|
|
}
|
|
};
|
|
}
|
|
return config;
|
|
}
|
|
|
|
/**
|
|
* logs deprecation message
|
|
*/
|
|
function informAboutDeprecation() {
|
|
console.warn(errorMessages.deprecation);
|
|
}
|
|
function throwError(errorMessages, type) {
|
|
throw new Error(errorMessages[type] || errorMessages["default"]);
|
|
}
|
|
var errorMessages = {
|
|
configIsRequired: 'the configuration object is required',
|
|
configType: 'the configuration object should be an object',
|
|
"default": 'an unknown error accured in `@monaco-editor/loader` package',
|
|
deprecation: "Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "
|
|
};
|
|
var errorHandler = curry(throwError)(errorMessages);
|
|
var validators = {
|
|
config: validateConfig
|
|
};
|
|
|
|
export { validators as default, errorHandler, errorMessages };
|