summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/node_modules/validator/lib/isBase64.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/addressbook/node_modules/validator/lib/isBase64.js')
-rw-r--r--includes/external/addressbook/node_modules/validator/lib/isBase64.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/validator/lib/isBase64.js b/includes/external/addressbook/node_modules/validator/lib/isBase64.js
new file mode 100644
index 0000000..6863683
--- /dev/null
+++ b/includes/external/addressbook/node_modules/validator/lib/isBase64.js
@@ -0,0 +1,38 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = isBase64;
+
+var _assertString = _interopRequireDefault(require("./util/assertString"));
+
+var _merge = _interopRequireDefault(require("./util/merge"));
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+var notBase64 = /[^A-Z0-9+\/=]/i;
+var urlSafeBase64 = /^[A-Z0-9_\-]*$/i;
+var defaultBase64Options = {
+ urlSafe: false
+};
+
+function isBase64(str, options) {
+ (0, _assertString.default)(str);
+ options = (0, _merge.default)(options, defaultBase64Options);
+ var len = str.length;
+
+ if (options.urlSafe) {
+ return urlSafeBase64.test(str);
+ }
+
+ if (len % 4 !== 0 || notBase64.test(str)) {
+ return false;
+ }
+
+ var firstPaddingChar = str.indexOf('=');
+ return firstPaddingChar === -1 || firstPaddingChar === len - 1 || firstPaddingChar === len - 2 && str[len - 1] === '=';
+}
+
+module.exports = exports.default;
+module.exports.default = exports.default; \ No newline at end of file