@gomomento/sdk-core 1.12.16 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExpiresAt = exports.ExpiresIn = void 0;
4
+ class Expiration {
5
+ constructor(doesExpire) {
6
+ this._doesExpire = doesExpire;
7
+ }
8
+ /**
9
+ * Whether or not the token expires or not.
10
+ * @returns {boolean}
11
+ */
12
+ doesExpire() {
13
+ return this._doesExpire;
14
+ }
15
+ }
16
+ class ExpiresIn extends Expiration {
17
+ /**
18
+ * If doesExpire is false, the refresh token will not have a expiration time, instead validForSeconds will be 'Infinity'.
19
+ * @param {number} [validForSeconds]
20
+ * @param {boolean} [doesExpire]
21
+ */
22
+ constructor(validForSeconds) {
23
+ super(validForSeconds !== Infinity);
24
+ this._validForSeconds =
25
+ validForSeconds === null ? Infinity : validForSeconds;
26
+ }
27
+ /**
28
+ * Time token is valid for in seconds.
29
+ * @returns {number} Infinity, if token doesn't expire.
30
+ */
31
+ seconds() {
32
+ return this._validForSeconds;
33
+ }
34
+ /**
35
+ * Constructs a ExpiresIn which never expires.
36
+ * @param validForSeconds
37
+ * @returns {ExpiresIn}
38
+ */
39
+ static never() {
40
+ return new ExpiresIn(Infinity);
41
+ }
42
+ /**
43
+ * Constructs a ExpiresIn with a specified validFor period in seconds.
44
+ * If seconds are undefined, or null, then token never expires.
45
+ * @param validForSeconds
46
+ * @returns {ExpiresIn}
47
+ */
48
+ static seconds(validForSeconds) {
49
+ return new ExpiresIn(validForSeconds);
50
+ }
51
+ /**
52
+ * Constructs a ExpiresIn with a specified validFor period in minutes.
53
+ * @param validForMinutes
54
+ * @returns {ExpiresIn}
55
+ */
56
+ static minutes(validForMinutes) {
57
+ return new ExpiresIn(validForMinutes * 60);
58
+ }
59
+ /**
60
+ * Constructs a ExpiresIn with a specified validFor period in hours.
61
+ * @param validForHours
62
+ * @returns {ExpiresIn}
63
+ */
64
+ static hours(validForHours) {
65
+ return new ExpiresIn(validForHours * 3600);
66
+ }
67
+ /**
68
+ * Constructs a ExpiresIn with a specified validFor period in days.
69
+ * @param validForDays
70
+ * @returns {ExpiresIn}
71
+ */
72
+ static days(validForDays) {
73
+ return new ExpiresIn(validForDays * 86400);
74
+ }
75
+ /**
76
+ * Constructs a ExpiresIn with a specified expiresBy period in epoch format.
77
+ * @param expiresBy
78
+ * @returns {ExpiresIn}
79
+ */
80
+ static epoch(expiresBy) {
81
+ const currentEpoch = new Date().getTime() / 1000;
82
+ const secondsUntilEpoch = Math.round(expiresBy - currentEpoch);
83
+ return new ExpiresIn(secondsUntilEpoch);
84
+ }
85
+ }
86
+ exports.ExpiresIn = ExpiresIn;
87
+ class ExpiresAt extends Expiration {
88
+ constructor(epochTimestamp) {
89
+ super(epochTimestamp !== undefined);
90
+ if (this.doesExpire()) {
91
+ this.validUntil = epochTimestamp;
92
+ }
93
+ else {
94
+ this.validUntil = Infinity;
95
+ }
96
+ }
97
+ /**
98
+ * Returns epoch timestamp of when api token expires.
99
+ * @returns {number}
100
+ */
101
+ epoch() {
102
+ return this.validUntil;
103
+ }
104
+ /**
105
+ * Constructs a ExpiresAt with a the specified epoch timestamp,
106
+ * if timestamp is undefined, then epoch timetamp will instead be Infinity.
107
+ * @param epoch
108
+ * @returns {ExpiresAt}
109
+ */
110
+ static fromEpoch(epoch) {
111
+ return new ExpiresAt(epoch);
112
+ }
113
+ }
114
+ exports.ExpiresAt = ExpiresAt;
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwaXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9leHBpcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQWUsVUFBVTtJQUd2QixZQUFZLFVBQW1CO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7Q0FDRjtBQUVELE1BQWEsU0FBVSxTQUFRLFVBQVU7SUFHdkM7Ozs7T0FJRztJQUNILFlBQW9CLGVBQXVCO1FBQ3pDLEtBQUssQ0FBQyxlQUFlLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQjtZQUNuQixlQUFlLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEtBQUs7UUFDakIsT0FBTyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQXVCO1FBQzNDLE9BQU8sSUFBSSxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQXVCO1FBQzNDLE9BQU8sSUFBSSxTQUFTLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFxQjtRQUN2QyxPQUFPLElBQUksU0FBUyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBb0I7UUFDckMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQWlCO1FBQ25DLE1BQU0sWUFBWSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2pELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDL0QsT0FBTyxJQUFJLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQTlFRCw4QkE4RUM7QUFFRCxNQUFhLFNBQVUsU0FBUSxVQUFVO0lBR3ZDLFlBQW9CLGNBQWtDO1FBQ3BELEtBQUssQ0FBQyxjQUFjLEtBQUssU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUF3QixDQUFDO1NBQzVDO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBeUI7UUFDL0MsT0FBTyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUE3QkQsOEJBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiYWJzdHJhY3QgY2xhc3MgRXhwaXJhdGlvbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RvZXNFeHBpcmU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoZG9lc0V4cGlyZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2RvZXNFeHBpcmUgPSBkb2VzRXhwaXJlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSB0b2tlbiBleHBpcmVzIG9yIG5vdC5cbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBwdWJsaWMgZG9lc0V4cGlyZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZG9lc0V4cGlyZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRXhwaXJlc0luIGV4dGVuZHMgRXhwaXJhdGlvbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbGlkRm9yU2Vjb25kczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJZiBkb2VzRXhwaXJlIGlzIGZhbHNlLCB0aGUgcmVmcmVzaCB0b2tlbiB3aWxsIG5vdCBoYXZlIGEgZXhwaXJhdGlvbiB0aW1lLCBpbnN0ZWFkIHZhbGlkRm9yU2Vjb25kcyB3aWxsIGJlICdJbmZpbml0eScuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbdmFsaWRGb3JTZWNvbmRzXVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtkb2VzRXhwaXJlXVxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcih2YWxpZEZvclNlY29uZHM6IG51bWJlcikge1xuICAgIHN1cGVyKHZhbGlkRm9yU2Vjb25kcyAhPT0gSW5maW5pdHkpO1xuICAgIHRoaXMuX3ZhbGlkRm9yU2Vjb25kcyA9XG4gICAgICB2YWxpZEZvclNlY29uZHMgPT09IG51bGwgPyBJbmZpbml0eSA6IHZhbGlkRm9yU2Vjb25kcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaW1lIHRva2VuIGlzIHZhbGlkIGZvciBpbiBzZWNvbmRzLlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBJbmZpbml0eSwgaWYgdG9rZW4gZG9lc24ndCBleHBpcmUuXG4gICAqL1xuICBwdWJsaWMgc2Vjb25kcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl92YWxpZEZvclNlY29uZHM7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIEV4cGlyZXNJbiB3aGljaCBuZXZlciBleHBpcmVzLlxuICAgKiBAcGFyYW0gdmFsaWRGb3JTZWNvbmRzXG4gICAqIEByZXR1cm5zIHtFeHBpcmVzSW59XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG5ldmVyKCk6IEV4cGlyZXNJbiB7XG4gICAgcmV0dXJuIG5ldyBFeHBpcmVzSW4oSW5maW5pdHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBFeHBpcmVzSW4gd2l0aCBhIHNwZWNpZmllZCB2YWxpZEZvciBwZXJpb2QgaW4gc2Vjb25kcy5cbiAgICogSWYgc2Vjb25kcyBhcmUgdW5kZWZpbmVkLCBvciBudWxsLCB0aGVuIHRva2VuIG5ldmVyIGV4cGlyZXMuXG4gICAqIEBwYXJhbSB2YWxpZEZvclNlY29uZHNcbiAgICogQHJldHVybnMge0V4cGlyZXNJbn1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2Vjb25kcyh2YWxpZEZvclNlY29uZHM6IG51bWJlcik6IEV4cGlyZXNJbiB7XG4gICAgcmV0dXJuIG5ldyBFeHBpcmVzSW4odmFsaWRGb3JTZWNvbmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgRXhwaXJlc0luIHdpdGggYSBzcGVjaWZpZWQgdmFsaWRGb3IgcGVyaW9kIGluIG1pbnV0ZXMuXG4gICAqIEBwYXJhbSB2YWxpZEZvck1pbnV0ZXNcbiAgICogQHJldHVybnMge0V4cGlyZXNJbn1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWludXRlcyh2YWxpZEZvck1pbnV0ZXM6IG51bWJlcik6IEV4cGlyZXNJbiB7XG4gICAgcmV0dXJuIG5ldyBFeHBpcmVzSW4odmFsaWRGb3JNaW51dGVzICogNjApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBFeHBpcmVzSW4gd2l0aCBhIHNwZWNpZmllZCB2YWxpZEZvciBwZXJpb2QgaW4gaG91cnMuXG4gICAqIEBwYXJhbSB2YWxpZEZvckhvdXJzXG4gICAqIEByZXR1cm5zIHtFeHBpcmVzSW59XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvdXJzKHZhbGlkRm9ySG91cnM6IG51bWJlcik6IEV4cGlyZXNJbiB7XG4gICAgcmV0dXJuIG5ldyBFeHBpcmVzSW4odmFsaWRGb3JIb3VycyAqIDM2MDApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBFeHBpcmVzSW4gd2l0aCBhIHNwZWNpZmllZCB2YWxpZEZvciBwZXJpb2QgaW4gZGF5cy5cbiAgICogQHBhcmFtIHZhbGlkRm9yRGF5c1xuICAgKiBAcmV0dXJucyB7RXhwaXJlc0lufVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkYXlzKHZhbGlkRm9yRGF5czogbnVtYmVyKTogRXhwaXJlc0luIHtcbiAgICByZXR1cm4gbmV3IEV4cGlyZXNJbih2YWxpZEZvckRheXMgKiA4NjQwMCk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIEV4cGlyZXNJbiB3aXRoIGEgc3BlY2lmaWVkIGV4cGlyZXNCeSBwZXJpb2QgaW4gZXBvY2ggZm9ybWF0LlxuICAgKiBAcGFyYW0gZXhwaXJlc0J5XG4gICAqIEByZXR1cm5zIHtFeHBpcmVzSW59XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVwb2NoKGV4cGlyZXNCeTogbnVtYmVyKTogRXhwaXJlc0luIHtcbiAgICBjb25zdCBjdXJyZW50RXBvY2ggPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDA7XG4gICAgY29uc3Qgc2Vjb25kc1VudGlsRXBvY2ggPSBNYXRoLnJvdW5kKGV4cGlyZXNCeSAtIGN1cnJlbnRFcG9jaCk7XG4gICAgcmV0dXJuIG5ldyBFeHBpcmVzSW4oc2Vjb25kc1VudGlsRXBvY2gpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFeHBpcmVzQXQgZXh0ZW5kcyBFeHBpcmF0aW9uIHtcbiAgcHJpdmF0ZSByZWFkb25seSB2YWxpZFVudGlsOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihlcG9jaFRpbWVzdGFtcDogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgc3VwZXIoZXBvY2hUaW1lc3RhbXAgIT09IHVuZGVmaW5lZCk7XG4gICAgaWYgKHRoaXMuZG9lc0V4cGlyZSgpKSB7XG4gICAgICB0aGlzLnZhbGlkVW50aWwgPSBlcG9jaFRpbWVzdGFtcCBhcyBudW1iZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsaWRVbnRpbCA9IEluZmluaXR5O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGVwb2NoIHRpbWVzdGFtcCBvZiB3aGVuIGFwaSB0b2tlbiBleHBpcmVzLlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgKi9cbiAgcHVibGljIGVwb2NoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWRVbnRpbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgRXhwaXJlc0F0IHdpdGggYSB0aGUgc3BlY2lmaWVkIGVwb2NoIHRpbWVzdGFtcCxcbiAgICogaWYgdGltZXN0YW1wIGlzIHVuZGVmaW5lZCwgdGhlbiBlcG9jaCB0aW1ldGFtcCB3aWxsIGluc3RlYWQgYmUgSW5maW5pdHkuXG4gICAqIEBwYXJhbSBlcG9jaFxuICAgKiBAcmV0dXJucyB7RXhwaXJlc0F0fVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRXBvY2goZXBvY2g6IG51bWJlciB8IHVuZGVmaW5lZCk6IEV4cGlyZXNBdCB7XG4gICAgcmV0dXJuIG5ldyBFeHBpcmVzQXQoZXBvY2gpO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
1
  export * from './cache-call-options';
2
2
  export * from './collection-ttl';
3
3
  export * from './topic-call-options';
4
+ export * from './expiration';
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./cache-call-options"), exports);
18
18
  __exportStar(require("./collection-ttl"), exports);
19
19
  __exportStar(require("./topic-call-options"), exports);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFxQztBQUNyQyxtREFBaUM7QUFDakMsdURBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWNoZS1jYWxsLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9uLXR0bCc7XG5leHBvcnQgKiBmcm9tICcuL3RvcGljLWNhbGwtb3B0aW9ucyc7XG4iXX0=
20
+ __exportStar(require("./expiration"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFxQztBQUNyQyxtREFBaUM7QUFDakMsdURBQXFDO0FBQ3JDLCtDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FjaGUtY2FsbC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGVjdGlvbi10dGwnO1xuZXhwb3J0ICogZnJvbSAnLi90b3BpYy1jYWxsLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9leHBpcmF0aW9uJztcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gomomento/sdk-core",
3
- "version": "1.12.16",
3
+ "version": "1.13.0",
4
4
  "description": "Common code for Momento JS SDKs",
5
5
  "main": "dist/src/index.js",
6
6
  "files": [
@@ -45,6 +45,7 @@
45
45
  "typescript": "^4.4.3"
46
46
  },
47
47
  "dependencies": {
48
+ "buffer": "^6.0.3",
48
49
  "jwt-decode": "3.1.2"
49
50
  },
50
51
  "engines": {