UNPKG

2.8 kBJavaScriptView Raw
1/**
2 * otplib-hotp
3 *
4 * @author Gerald Yeo <contact@fusedthought.com>
5 * @version: 7.0.0
6 * @license: MIT
7 **/
8'use strict';
9
10var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
11
12var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
13
14var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
15
16function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17
18var otplibCore = require('./core');
19
20var HOTP = function () {
21 function HOTP() {
22 _classCallCheck(this, HOTP);
23
24 this._options = this.defaultOptions;
25 }
26
27 _createClass(HOTP, [{
28 key: 'resetOptions',
29 value: function resetOptions() {
30 this._options = this.defaultOptions;
31 return this;
32 }
33 }, {
34 key: 'generate',
35 value: function generate(secret, counter) {
36 return otplibCore.hotpToken(secret || this.options.secret, counter, this.options);
37 }
38 }, {
39 key: 'check',
40 value: function check(token, secret, counter) {
41 return otplibCore.hotpCheck(token, secret || this.options.secret, counter, this.options);
42 }
43 }, {
44 key: 'verify',
45 value: function verify(opts) {
46 if ((typeof opts === 'undefined' ? 'undefined' : _typeof(opts)) !== 'object' || opts == null) {
47 return false;
48 }
49 return this.check(opts.token, opts.secret, opts.counter);
50 }
51 }, {
52 key: 'defaultOptions',
53 get: function get() {
54 return {};
55 }
56 }, {
57 key: 'options',
58 set: function set() {
59 var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
60
61 if (opt) {
62 this._options = _extends({}, this._options, opt);
63 }
64 },
65 get: function get() {
66 return _extends({}, this._options);
67 }
68 }]);
69
70 return HOTP;
71}();
72
73HOTP.prototype.HOTP = HOTP;
74
75var index = new HOTP();
76
77module.exports = index;
\No newline at end of file