You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
parttimejob/node_modules/ali-oss/lib/common/utils/checkConfigValid.ts

28 lines
765 B

1 month ago
const checkConfigMap = {
endpoint: checkEndpoint,
region: /^[a-zA-Z0-9\-_]+$/
};
function checkEndpoint(endpoint) {
if (typeof endpoint === 'string') {
return /^[a-zA-Z0-9._:/-]+$/.test(endpoint);
} else if (endpoint.host) {
return /^[a-zA-Z0-9._:/-]+$/.test(endpoint.host);
}
return false;
}
export const checkConfigValid = (conf, key: 'endpoint' | 'region'): void => {
if (checkConfigMap[key]) {
let isConfigValid = true;
if (checkConfigMap[key] instanceof Function) {
isConfigValid = (checkConfigMap[key] as Function)(conf);
} else {
isConfigValid = (checkConfigMap[key] as RegExp).test(conf);
}
if (!isConfigValid) {
throw new Error(`The ${key} must be conform to the specifications`);
}
}
};