YUKI Hiroshi
null+****@clear*****
Mon Nov 5 15:29:04 JST 2012
YUKI Hiroshi 2012-11-05 15:29:04 +0900 (Mon, 05 Nov 2012) New Revision: 0f55f022f9d9b730595b296834ae07ee641e4d31 https://github.com/groonga/gcs/commit/0f55f022f9d9b730595b296834ae07ee641e4d31 Log: Export constants around validation as properties of "Domain" Modified files: lib/database/domain.js Modified: lib/database/domain.js (+23 -12) =================================================================== --- lib/database/domain.js 2012-11-05 15:14:41 +0900 (7e9fa9e) +++ lib/database/domain.js 2012-11-05 15:29:04 +0900 (2a198ab) @@ -10,10 +10,21 @@ var nativeNroonga = require('nroonga'); var nroonga = require('../wrapped-nroonga'); var IndexField = require('./index-field').IndexField; -exports.MINIMUM_NAME_LENGTH = 3; -exports.MAXIMUM_NAME_LENGTH = 28; -exports.VALID_NAME_PATTERN = /[a-z][a-z0-9\-]+/; -exports.INVALID_TABLE_NAME_CHARACTER_PATTERN = /[^_a-z0-9]/g; +var MINIMUM_NAME_LENGTH = + exports.MINIMUM_NAME_LENGTH = + Domain.MINIMUM_NAME_LENGTH = 3; +var MAXIMUM_NAME_LENGTH = + exports.MAXIMUM_NAME_LENGTH = + Domain.MAXIMUM_NAME_LENGTH = 28; +var VALID_NAME_PATTERN = + exports.DEFAULT_ID = + Domain.DEFAULT_ID = '[a-z][a-z0-9\\-]+'; +var VALID_NAME_MATCHER = + exports.VALID_NAME_MATCHER = + Domain.VALID_NAME_MATCHER = new RegExp('^' + VALID_NAME_PATTERN + '$'); +var INVALID_TABLE_NAME_CHARACTERS_MATCHER = + exports.INVALID_TABLE_NAME_CHARACTERS_MATCHER = + Domain.INVALID_TABLE_NAME_CHARACTERS_MATCHER = /[^_a-z0-9]/g; var DEFAULT_ID = exports.DEFAULT_ID = @@ -49,13 +60,13 @@ function assertValidDomainName(domain) { var commonPrefix = 'Value \'' + domain + '\' at \'domainName\' failed ' + 'to satisfy constraint: '; - if (!domain.match(exports.VALID_NAME_PATTERN)) { + if (!domain.match(VALID_NAME_MATCHER)) { errors.push(commonPrefix + 'Member must satisfy regular ' + - 'expression pattern: ' + exports.VALID_NAME_PATTERN); + 'expression pattern: ' + VALID_NAME_PATTERN); } else { - var invalidCharacters = domain.match(exports.INVALID_TABLE_NAME_CHARACTER_PATTERN); + var invalidCharacters = domain.match(INVALID_TABLE_NAME_CHARACTERS_MATCHER); if (invalidCharacters) { - invalidCharacters = Array.prototype.slice.call(invalidCharacters, 1) + invalidCharacters = Array.prototype.slice.call(invalidCharacters, 0) .map(function(aCharacter) { return "'" + aCharacter + "'"; }); @@ -64,13 +75,13 @@ function assertValidDomainName(domain) { } } - if (domain.length < exports.MINIMUM_NAME_LENGTH) + if (domain.length < MINIMUM_NAME_LENGTH) errors.push(commonPrefix + 'Member must have length greater ' + - 'than or equal to ' + exports.MINIMUM_NAME_LENGTH); + 'than or equal to ' + MINIMUM_NAME_LENGTH); - if (domain.length > exports.MAXIMUM_NAME_LENGTH) + if (domain.length > MAXIMUM_NAME_LENGTH) errors.push(commonPrefix + 'Member must have length smaller ' + - 'than or equal to ' + exports.MAXIMUM_NAME_LENGTH); + 'than or equal to ' + MAXIMUM_NAME_LENGTH); if (errors.length) { var prefix = errors.length > 1 ? -------------- next part -------------- HTML����������������������������...Download