summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/node_modules/validator/lib/isBase32.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/addressbook/node_modules/validator/lib/isBase32.js')
-rw-r--r--includes/external/addressbook/node_modules/validator/lib/isBase32.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/validator/lib/isBase32.js b/includes/external/addressbook/node_modules/validator/lib/isBase32.js
new file mode 100644
index 0000000..8c1f30d
--- /dev/null
+++ b/includes/external/addressbook/node_modules/validator/lib/isBase32.js
@@ -0,0 +1,38 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = isBase32;
+
+var _assertString = _interopRequireDefault(require("./util/assertString"));
+
+var _merge = _interopRequireDefault(require("./util/merge"));
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+var base32 = /^[A-Z2-7]+=*$/;
+var crockfordBase32 = /^[A-HJKMNP-TV-Z0-9]+$/;
+var defaultBase32Options = {
+ crockford: false
+};
+
+function isBase32(str, options) {
+ (0, _assertString.default)(str);
+ options = (0, _merge.default)(options, defaultBase32Options);
+
+ if (options.crockford) {
+ return crockfordBase32.test(str);
+ }
+
+ var len = str.length;
+
+ if (len % 8 === 0 && base32.test(str)) {
+ return true;
+ }
+
+ return false;
+}
+
+module.exports = exports.default;
+module.exports.default = exports.default; \ No newline at end of file