UNPKG

tencent-sms

Version:

sms plugin for tencent cloud

30 lines (29 loc) 949 B
'use strict'; 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, };