tcra-num-check
Version:
Tanzanian number validator with reference to the national numbering plan and signaling point code plan
87 lines • 2.57 kB
JavaScript
;
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