UNPKG

surgio

Version:

Generating rules for Surge, Clash, Quantumult like a PRO

54 lines 3.29 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.V2rayNSubscribeProvider = exports.TrojanProvider = exports.SsdProvider = exports.ShadowsocksSubscribeProvider = exports.ShadowsocksrSubscribeProvider = exports.ShadowsocksJsonSubscribeProvider = exports.CustomProvider = exports.ClashProvider = exports.BlackSSLProvider = void 0; exports.getProvider = getProvider; const types_1 = require("../types"); const BlackSSLProvider_1 = __importDefault(require("./BlackSSLProvider")); exports.BlackSSLProvider = BlackSSLProvider_1.default; const ClashProvider_1 = __importDefault(require("./ClashProvider")); exports.ClashProvider = ClashProvider_1.default; const CustomProvider_1 = __importDefault(require("./CustomProvider")); exports.CustomProvider = CustomProvider_1.default; const ShadowsocksJsonSubscribeProvider_1 = __importDefault(require("./ShadowsocksJsonSubscribeProvider")); exports.ShadowsocksJsonSubscribeProvider = ShadowsocksJsonSubscribeProvider_1.default; const ShadowsocksrSubscribeProvider_1 = __importDefault(require("./ShadowsocksrSubscribeProvider")); exports.ShadowsocksrSubscribeProvider = ShadowsocksrSubscribeProvider_1.default; const ShadowsocksSubscribeProvider_1 = __importDefault(require("./ShadowsocksSubscribeProvider")); exports.ShadowsocksSubscribeProvider = ShadowsocksSubscribeProvider_1.default; const SsdProvider_1 = __importDefault(require("./SsdProvider")); exports.SsdProvider = SsdProvider_1.default; const TrojanProvider_1 = __importDefault(require("./TrojanProvider")); exports.TrojanProvider = TrojanProvider_1.default; const V2rayNSubscribeProvider_1 = __importDefault(require("./V2rayNSubscribeProvider")); exports.V2rayNSubscribeProvider = V2rayNSubscribeProvider_1.default; async function getProvider(name, config) { if (typeof config === 'function') { config = await config(); } switch (config.type) { case types_1.SupportProviderEnum.BlackSSL: return new BlackSSLProvider_1.default(name, config); case types_1.SupportProviderEnum.ShadowsocksJsonSubscribe: return new ShadowsocksJsonSubscribeProvider_1.default(name, config); case types_1.SupportProviderEnum.ShadowsocksSubscribe: return new ShadowsocksSubscribeProvider_1.default(name, config); case types_1.SupportProviderEnum.ShadowsocksrSubscribe: return new ShadowsocksrSubscribeProvider_1.default(name, config); case types_1.SupportProviderEnum.Custom: return new CustomProvider_1.default(name, config); case types_1.SupportProviderEnum.V2rayNSubscribe: return new V2rayNSubscribeProvider_1.default(name, config); case types_1.SupportProviderEnum.Clash: return new ClashProvider_1.default(name, config); case types_1.SupportProviderEnum.Ssd: return new SsdProvider_1.default(name, config); case types_1.SupportProviderEnum.Trojan: return new TrojanProvider_1.default(name, config); default: throw new Error(`Unsupported provider type: ${config.type}`); } } //# sourceMappingURL=index.js.map