[Groonga-commit] groonga/gcs [master] Export constants around validation as properties of "Domain"

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index