UNPKG

@herbertgao/surgio

Version:

Generating rules for Surge, Clash, Quantumult like a PRO

46 lines 1.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProviderValidator = void 0; const zod_1 = require("zod"); const types_1 = require("../types"); const filter_1 = require("./filter"); const hooks_1 = require("./hooks"); exports.ProviderValidator = zod_1.z.object({ type: zod_1.z.nativeEnum(types_1.SupportProviderEnum), addFlag: zod_1.z.oboolean(), removeExistingFlag: zod_1.z.oboolean(), mptcp: zod_1.z.oboolean(), tfo: zod_1.z.oboolean(), ecn: zod_1.z.oboolean(), blockQuic: zod_1.z .union([zod_1.z.literal('auto'), zod_1.z.literal('on'), zod_1.z.literal('off')]) .optional(), underlyingProxy: zod_1.z.ostring(), startPort: zod_1.z.number().min(1024).max(65535).optional(), relayUrl: zod_1.z.string().url().optional(), requestUserAgent: zod_1.z.ostring(), renameNode: zod_1.z .function() .args(zod_1.z.string()) .returns(zod_1.z.union([zod_1.z.string(), zod_1.z.undefined(), zod_1.z.void()])) .optional(), customFilters: zod_1.z .record(zod_1.z.union([filter_1.NodeFilterTypeValidator, filter_1.SortedNodeFilterTypeValidator])) .optional(), nodeFilter: zod_1.z .union([filter_1.NodeFilterTypeValidator, filter_1.SortedNodeFilterTypeValidator]) .optional(), netflixFilter: zod_1.z .union([filter_1.NodeFilterTypeValidator, filter_1.SortedNodeFilterTypeValidator]) .optional(), youtubePremiumFilter: zod_1.z .union([filter_1.NodeFilterTypeValidator, filter_1.SortedNodeFilterTypeValidator]) .optional(), hooks: zod_1.z .object({ afterNodeListResponse: hooks_1.AfterNodeListResponseHookValidator.optional(), onError: hooks_1.OnErrorHookValidator.optional(), }) .optional(), }); //# sourceMappingURL=provider.js.map