"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const cloudbase_1 = require("../cloudbase"); class TcbError extends Error { constructor(error) { super(error.message); this.code = error.code; this.message = error.message; this.requestId = error.requestId; } } exports.TcbError = TcbError; exports.filterValue = function filterValue(o, value) { for (let key in o) { if (o[key] === value) { delete o[key]; } } }; exports.filterUndefined = function (o) { return exports.filterValue(o, undefined); }; exports.E = (errObj) => { return new TcbError(errObj); }; exports.checkIsInScf = () => { const { TENCENTCLOUD_RUNENV } = cloudbase_1.CloudBase.getCloudbaseContext(); return TENCENTCLOUD_RUNENV === 'SCF'; }; exports.checkIsInContainer = () => { return !!process.env.KUBERNETES_SERVICE_HOST; }; function second() { // istanbul ignore next return Math.floor(new Date().getTime() / 1000); } exports.second = second; function processReturn(throwOnCode, res) { if (throwOnCode === false) { // 不抛报错,正常return,兼容旧逻辑 return res; } throw exports.E(Object.assign({}, res)); } exports.processReturn = processReturn; function getServerInjectUrl() { const tcbContextConfig = getTcbContextConfig(); return tcbContextConfig['URL'] || ''; } exports.getServerInjectUrl = getServerInjectUrl; function getTcbContextConfig() { try { const { TCB_CONTEXT_CNFG } = cloudbase_1.CloudBase.getCloudbaseContext(); if (TCB_CONTEXT_CNFG) { // 检查约定环境变量字段是否存在 return JSON.parse(TCB_CONTEXT_CNFG); } return {}; } catch (e) { /* istanbul ignore next */ console.log('parse context error...'); /* istanbul ignore next */ return {}; } } exports.getTcbContextConfig = getTcbContextConfig; /* istanbul ignore next */ function getWxUrl(config) { const protocal = config.isHttp === true ? 'http' : 'https'; let wxUrl = protocal + '://tcb-open.tencentcloudapi.com/admin'; if (exports.checkIsInScf()) { wxUrl = 'http://tcb-open.tencentyun.com/admin'; } return wxUrl; } exports.getWxUrl = getWxUrl;