tencent-sms
Version:
sms plugin for tencent cloud
30 lines (29 loc) • 949 B
JavaScript
;
const assert = require('assert');
// Depends on tencentcloud-sdk-nodejs version 4.0.3 or higher
const rules = require('../rules');
const tencentcloud = require('tencentcloud-sdk-nodejs');
const SMS = tencentcloud.sms.v20210111.Client;
const { isObject, hasOwn } = require('./index');
function checkGenBucketConfig(rules, config) {
const checks = Object.keys(rules);
const options = {};
assert(isObject(config), 'config must be a Object');
checks.forEach(v => {
if (config[v] && isObject(config[v])) {
options[v] = checkGenBucketConfig(rules[v], config[v]);
} else {
assert(hasOwn(config, v), `[tencent-sms] Must set ${v} in oss config`);
options[v] = config[v];
}
});
return options;
}
const createSingleon = config => {
// 创建实例
const options = checkGenBucketConfig(rules, config);
return new SMS(options);
};
module.exports = {
createSingleon,
};