UNPKG

tcra-num-check

Version:

Tanzanian number validator with reference to the national numbering plan and signaling point code plan

87 lines 2.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CUSTOM_MODE_FEATURES = exports.FULL_MODE_FEATURES = exports.BASIC_MODE_FEATURES = void 0; exports.getDefaultFeatures = getDefaultFeatures; exports.mergeFeatures = mergeFeatures; /** * Default feature configurations for different validator modes */ // Basic mode: Only essential validation features exports.BASIC_MODE_FEATURES = { // Core validation features validateMobile: true, validateFixedLine: true, validateSpecialService: false, validateEmergency: false, validateShortCode: false, validateSignalingPoint: false, // Special service types validateTollFree: false, validatePremiumRate: false, validateSharedCost: false, validateVoIP: false, validatePaging: false, validateUAN: false, // Enhanced features validatePortability: false, validateCarrierSelection: false, allowInternational: true, allowExtensions: false, strictValidation: false, }; // Full mode: All validation features enabled exports.FULL_MODE_FEATURES = { // Core validation features validateMobile: true, validateFixedLine: true, validateSpecialService: true, validateEmergency: true, validateShortCode: true, validateSignalingPoint: true, // Special service types validateTollFree: true, validatePremiumRate: true, validateSharedCost: true, validateVoIP: true, validatePaging: true, validateUAN: true, // Enhanced features validatePortability: true, validateCarrierSelection: true, allowInternational: true, allowExtensions: true, strictValidation: true, }; // Custom mode: Default to full features, but can be overridden exports.CUSTOM_MODE_FEATURES = { ...exports.FULL_MODE_FEATURES, // Users can override these with their own configuration }; /** * Get default features for a given mode */ function getDefaultFeatures(mode) { switch (mode) { case "basic": return { ...exports.BASIC_MODE_FEATURES }; case "full": return { ...exports.FULL_MODE_FEATURES }; case "custom": return { ...exports.CUSTOM_MODE_FEATURES }; default: return { ...exports.BASIC_MODE_FEATURES }; } } /** * Merge user features with default features */ function mergeFeatures(defaultFeatures, userFeatures) { if (!userFeatures) { return defaultFeatures; } return { ...defaultFeatures, ...userFeatures, }; } //# sourceMappingURL=config.js.map