@staffbase/plugins-client-sdk 1.2.0 → 1.2.1
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.
- package/dist/plugins-client-sdk.esm.js +117 -91
- package/dist/plugins-client-sdk.esm.js.map +1 -1
- package/dist/plugins-client-sdk.js +117 -91
- package/dist/plugins-client-sdk.js.map +1 -1
- package/dist/plugins-client-sdk.umd.js +120 -94
- package/dist/plugins-client-sdk.umd.js.map +1 -1
- package/dist/plugins-client-sdk.umd.min.js +3 -3
- package/dist/plugins-client-sdk.umd.min.js.map +1 -1
- package/package.json +31 -31
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
* Bundle of @staffbase/plugins-client-sdk
|
|
3
3
|
* @file Staffbase plugins client SDK for JavaScript
|
|
4
4
|
* @see https://github.com/Staffbase/plugins-client-sdk#readme
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.2.0
|
|
6
6
|
*
|
|
7
7
|
* @author Stefan Staude <stefan.staude@staffbase.com>
|
|
8
8
|
* @author Daniel Große <daniel.grosse@staffbase.com>
|
|
9
9
|
*
|
|
10
|
-
* @copyright
|
|
10
|
+
* @copyright 2022
|
|
11
11
|
* @license Apache-2.0
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
(function (global, factory) {
|
|
15
15
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
16
16
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
17
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global[
|
|
18
|
-
}(this, (function (exports) { 'use strict';
|
|
17
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["plugins-client-sdk"] = {}));
|
|
18
|
+
})(this, (function (exports) { 'use strict';
|
|
19
19
|
|
|
20
20
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
21
21
|
|
|
@@ -128,6 +128,7 @@
|
|
|
128
128
|
function Logger(name, defaultLevel, factory) {
|
|
129
129
|
var self = this;
|
|
130
130
|
var currentLevel;
|
|
131
|
+
defaultLevel = defaultLevel == null ? "WARN" : defaultLevel;
|
|
131
132
|
var storageKey = "loglevel";
|
|
132
133
|
|
|
133
134
|
if (typeof name === "string") {
|
|
@@ -178,6 +179,20 @@
|
|
|
178
179
|
|
|
179
180
|
return storedLevel;
|
|
180
181
|
}
|
|
182
|
+
|
|
183
|
+
function clearPersistedLevel() {
|
|
184
|
+
if (typeof window === undefinedType || !storageKey) return; // Use localStorage if available
|
|
185
|
+
|
|
186
|
+
try {
|
|
187
|
+
window.localStorage.removeItem(storageKey);
|
|
188
|
+
return;
|
|
189
|
+
} catch (ignore) {} // Use session cookie as fallback
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
try {
|
|
193
|
+
window.document.cookie = encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
|
|
194
|
+
} catch (ignore) {}
|
|
195
|
+
}
|
|
181
196
|
/*
|
|
182
197
|
*
|
|
183
198
|
* Public logger API - see https://github.com/pimterry/loglevel for details
|
|
@@ -224,11 +239,18 @@
|
|
|
224
239
|
};
|
|
225
240
|
|
|
226
241
|
self.setDefaultLevel = function (level) {
|
|
242
|
+
defaultLevel = level;
|
|
243
|
+
|
|
227
244
|
if (!getPersistedLevel()) {
|
|
228
245
|
self.setLevel(level, false);
|
|
229
246
|
}
|
|
230
247
|
};
|
|
231
248
|
|
|
249
|
+
self.resetLevel = function () {
|
|
250
|
+
self.setLevel(defaultLevel, false);
|
|
251
|
+
clearPersistedLevel();
|
|
252
|
+
};
|
|
253
|
+
|
|
232
254
|
self.disableAll = function (persist) {
|
|
233
255
|
self.setLevel(self.levels.SILENT, persist);
|
|
234
256
|
}; // Initialize with the right level
|
|
@@ -237,7 +259,7 @@
|
|
|
237
259
|
var initialLevel = getPersistedLevel();
|
|
238
260
|
|
|
239
261
|
if (initialLevel == null) {
|
|
240
|
-
initialLevel = defaultLevel
|
|
262
|
+
initialLevel = defaultLevel;
|
|
241
263
|
}
|
|
242
264
|
|
|
243
265
|
self.setLevel(initialLevel, false);
|
|
@@ -311,7 +333,7 @@
|
|
|
311
333
|
}
|
|
312
334
|
|
|
313
335
|
function _iterableToArrayLimit(arr, i) {
|
|
314
|
-
var _i = arr
|
|
336
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
315
337
|
|
|
316
338
|
if (_i == null) return;
|
|
317
339
|
var _arr = [];
|
|
@@ -1535,113 +1557,117 @@
|
|
|
1535
1557
|
});
|
|
1536
1558
|
};
|
|
1537
1559
|
|
|
1538
|
-
|
|
1560
|
+
function compareVersions(v1, v2) {
|
|
1561
|
+
// validate input and split into segments
|
|
1562
|
+
const n1 = validateAndParse(v1);
|
|
1563
|
+
const n2 = validateAndParse(v2); // pop off the patch
|
|
1539
1564
|
|
|
1540
|
-
|
|
1565
|
+
const p1 = n1.pop();
|
|
1566
|
+
const p2 = n2.pop(); // validate numbers
|
|
1541
1567
|
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
/* istanbul ignore next */
|
|
1545
|
-
{
|
|
1546
|
-
module.exports = factory();
|
|
1547
|
-
}
|
|
1548
|
-
})(commonjsGlobal, function () {
|
|
1549
|
-
var semver = /^v?(?:\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+))?(?:-[\da-z\-]+(?:\.[\da-z\-]+)*)?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;
|
|
1568
|
+
const r = compareSegments(n1, n2);
|
|
1569
|
+
if (r !== 0) return r; // validate pre-release
|
|
1550
1570
|
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1571
|
+
if (p1 && p2) {
|
|
1572
|
+
return compareSegments(p1.split('.'), p2.split('.'));
|
|
1573
|
+
} else if (p1 || p2) {
|
|
1574
|
+
return p1 ? -1 : 1;
|
|
1575
|
+
}
|
|
1554
1576
|
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1577
|
+
return 0;
|
|
1578
|
+
}
|
|
1579
|
+
const validate = v => typeof v === 'string' && /^[v\d]/.test(v) && semver.test(v);
|
|
1580
|
+
const compare = (v1, v2, operator) => {
|
|
1581
|
+
// validate input operator
|
|
1582
|
+
assertValidOperator(operator); // since result of compareVersions can only be -1 or 0 or 1
|
|
1583
|
+
// a simple map can be used to replace switch
|
|
1562
1584
|
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1585
|
+
const res = compareVersions(v1, v2);
|
|
1586
|
+
return operatorResMap[operator].includes(res);
|
|
1587
|
+
};
|
|
1588
|
+
const satisfies = (v, r) => {
|
|
1589
|
+
// if no range operator then "="
|
|
1590
|
+
const m = r.match(/^([<>=~^]+)/);
|
|
1591
|
+
const op = m ? m[1] : '='; // if gt/lt/eq then operator compare
|
|
1566
1592
|
|
|
1567
|
-
|
|
1568
|
-
if (typeof version !== 'string') {
|
|
1569
|
-
throw new TypeError('Invalid argument expected string');
|
|
1570
|
-
}
|
|
1593
|
+
if (op !== '^' && op !== '~') return compare(v, r, op); // else range of either "~" or "^" is assumed
|
|
1571
1594
|
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
}
|
|
1595
|
+
const [v1, v2, v3] = validateAndParse(v);
|
|
1596
|
+
const [r1, r2, r3] = validateAndParse(r);
|
|
1597
|
+
if (compareStrings(v1, r1) !== 0) return false;
|
|
1576
1598
|
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
var s2 = split(v2);
|
|
1599
|
+
if (op === '^') {
|
|
1600
|
+
return compareSegments([v2, v3], [r2, r3]) >= 0;
|
|
1601
|
+
}
|
|
1581
1602
|
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
if (n1 > n2) return 1;
|
|
1586
|
-
if (n2 > n1) return -1;
|
|
1587
|
-
}
|
|
1603
|
+
if (compareStrings(v2, r2) !== 0) return false;
|
|
1604
|
+
return compareStrings(v3, r3) >= 0;
|
|
1605
|
+
}; // export CJS style for parity
|
|
1588
1606
|
|
|
1589
|
-
|
|
1590
|
-
|
|
1607
|
+
compareVersions.validate = validate;
|
|
1608
|
+
compareVersions.compare = compare;
|
|
1609
|
+
compareVersions.sastisfies = satisfies;
|
|
1610
|
+
const semver = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;
|
|
1591
1611
|
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1612
|
+
const validateAndParse = v => {
|
|
1613
|
+
if (typeof v !== 'string') {
|
|
1614
|
+
throw new TypeError('Invalid argument expected string');
|
|
1615
|
+
}
|
|
1595
1616
|
|
|
1596
|
-
|
|
1597
|
-
if (p1[i] === undefined || typeof p2[i] === 'string' && typeof p1[i] === 'number') return -1;
|
|
1598
|
-
if (p2[i] === undefined || typeof p1[i] === 'string' && typeof p2[i] === 'number') return 1;
|
|
1599
|
-
if (p1[i] > p2[i]) return 1;
|
|
1600
|
-
if (p2[i] > p1[i]) return -1;
|
|
1601
|
-
}
|
|
1602
|
-
} else if (sp1 || sp2) {
|
|
1603
|
-
return sp1 ? -1 : 1;
|
|
1604
|
-
}
|
|
1617
|
+
const match = v.match(semver);
|
|
1605
1618
|
|
|
1606
|
-
|
|
1607
|
-
}
|
|
1608
|
-
|
|
1609
|
-
var operatorResMap = {
|
|
1610
|
-
'>': [1],
|
|
1611
|
-
'>=': [0, 1],
|
|
1612
|
-
'=': [0],
|
|
1613
|
-
'<=': [-1, 0],
|
|
1614
|
-
'<': [-1]
|
|
1615
|
-
};
|
|
1619
|
+
if (!match) {
|
|
1620
|
+
throw new Error(`Invalid argument not valid semver ('${v}' received)`);
|
|
1621
|
+
}
|
|
1616
1622
|
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
}
|
|
1623
|
+
match.shift();
|
|
1624
|
+
return match;
|
|
1625
|
+
};
|
|
1621
1626
|
|
|
1622
|
-
|
|
1623
|
-
throw new TypeError('Invalid operator, expected one of ' + allowedOperators.join('|'));
|
|
1624
|
-
}
|
|
1625
|
-
}
|
|
1627
|
+
const isWildcard = s => s === '*' || s === 'x' || s === 'X';
|
|
1626
1628
|
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1629
|
+
const tryParse = v => {
|
|
1630
|
+
const n = parseInt(v, 10);
|
|
1631
|
+
return isNaN(n) ? v : n;
|
|
1632
|
+
};
|
|
1630
1633
|
|
|
1631
|
-
|
|
1632
|
-
// Validate operator
|
|
1633
|
-
validateOperator(operator); // since result of compareVersions can only be -1 or 0 or 1
|
|
1634
|
-
// a simple map can be used to replace switch
|
|
1634
|
+
const forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];
|
|
1635
1635
|
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1636
|
+
const compareStrings = (a, b) => {
|
|
1637
|
+
if (isWildcard(a) || isWildcard(b)) return 0;
|
|
1638
|
+
const [ap, bp] = forceType(tryParse(a), tryParse(b));
|
|
1639
|
+
if (ap > bp) return 1;
|
|
1640
|
+
if (ap < bp) return -1;
|
|
1641
|
+
return 0;
|
|
1642
|
+
};
|
|
1639
1643
|
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1644
|
+
const compareSegments = (a, b) => {
|
|
1645
|
+
for (let i = 0; i < Math.max(a.length, b.length); i++) {
|
|
1646
|
+
const r = compareStrings(a[i] || 0, b[i] || 0);
|
|
1647
|
+
if (r !== 0) return r;
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1650
|
+
return 0;
|
|
1651
|
+
};
|
|
1643
1652
|
|
|
1644
|
-
|
|
1653
|
+
const operatorResMap = {
|
|
1654
|
+
'>': [1],
|
|
1655
|
+
'>=': [0, 1],
|
|
1656
|
+
'=': [0],
|
|
1657
|
+
'<=': [-1, 0],
|
|
1658
|
+
'<': [-1]
|
|
1659
|
+
};
|
|
1660
|
+
const allowedOperators = Object.keys(operatorResMap);
|
|
1661
|
+
|
|
1662
|
+
const assertValidOperator = op => {
|
|
1663
|
+
if (typeof op !== 'string') {
|
|
1664
|
+
throw new TypeError(`Invalid operator type, expected string but got ${typeof op}`);
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
if (allowedOperators.indexOf(op) === -1) {
|
|
1668
|
+
throw new Error(`Invalid operator, expected one of ${allowedOperators.join('|')}`);
|
|
1669
|
+
}
|
|
1670
|
+
};
|
|
1645
1671
|
|
|
1646
1672
|
/**
|
|
1647
1673
|
* Check if device is using ios.
|
|
@@ -1893,5 +1919,5 @@
|
|
|
1893
1919
|
|
|
1894
1920
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1895
1921
|
|
|
1896
|
-
}))
|
|
1922
|
+
}));
|
|
1897
1923
|
//# sourceMappingURL=plugins-client-sdk.umd.js.map
|