summaryrefslogtreecommitdiff
path: root/includes/external/matrix/node_modules/matrix-js-sdk/lib/feature.js
diff options
context:
space:
mode:
authorRaindropsSys <contact@minteck.org>2023-04-24 14:03:36 +0200
committerRaindropsSys <contact@minteck.org>2023-04-24 14:03:36 +0200
commit633c92eae865e957121e08de634aeee11a8b3992 (patch)
tree09d881bee1dae0b6eee49db1dfaf0f500240606c /includes/external/matrix/node_modules/matrix-js-sdk/lib/feature.js
parentc4657e4509733699c0f26a3c900bab47e915d5a0 (diff)
downloadpluralconnect-633c92eae865e957121e08de634aeee11a8b3992.tar.gz
pluralconnect-633c92eae865e957121e08de634aeee11a8b3992.tar.bz2
pluralconnect-633c92eae865e957121e08de634aeee11a8b3992.zip
Updated 18 files, added 1692 files and deleted includes/system/compare.inc (automated)
Diffstat (limited to 'includes/external/matrix/node_modules/matrix-js-sdk/lib/feature.js')
-rw-r--r--includes/external/matrix/node_modules/matrix-js-sdk/lib/feature.js77
1 files changed, 77 insertions, 0 deletions
diff --git a/includes/external/matrix/node_modules/matrix-js-sdk/lib/feature.js b/includes/external/matrix/node_modules/matrix-js-sdk/lib/feature.js
new file mode 100644
index 0000000..452ff7e
--- /dev/null
+++ b/includes/external/matrix/node_modules/matrix-js-sdk/lib/feature.js
@@ -0,0 +1,77 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.ServerSupport = exports.Feature = void 0;
+exports.buildFeatureSupportMap = buildFeatureSupportMap;
+/*
+Copyright 2022 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+let ServerSupport;
+exports.ServerSupport = ServerSupport;
+(function (ServerSupport) {
+ ServerSupport[ServerSupport["Stable"] = 0] = "Stable";
+ ServerSupport[ServerSupport["Unstable"] = 1] = "Unstable";
+ ServerSupport[ServerSupport["Unsupported"] = 2] = "Unsupported";
+})(ServerSupport || (exports.ServerSupport = ServerSupport = {}));
+let Feature;
+exports.Feature = Feature;
+(function (Feature) {
+ Feature["Thread"] = "Thread";
+ Feature["ThreadUnreadNotifications"] = "ThreadUnreadNotifications";
+ Feature["LoginTokenRequest"] = "LoginTokenRequest";
+ Feature["RelationBasedRedactions"] = "RelationBasedRedactions";
+ Feature["AccountDataDeletion"] = "AccountDataDeletion";
+})(Feature || (exports.Feature = Feature = {}));
+const featureSupportResolver = {
+ [Feature.Thread]: {
+ unstablePrefixes: ["org.matrix.msc3440"],
+ matrixVersion: "v1.3"
+ },
+ [Feature.ThreadUnreadNotifications]: {
+ unstablePrefixes: ["org.matrix.msc3771", "org.matrix.msc3773"],
+ matrixVersion: "v1.4"
+ },
+ [Feature.LoginTokenRequest]: {
+ unstablePrefixes: ["org.matrix.msc3882"]
+ },
+ [Feature.RelationBasedRedactions]: {
+ unstablePrefixes: ["org.matrix.msc3912"]
+ },
+ [Feature.AccountDataDeletion]: {
+ unstablePrefixes: ["org.matrix.msc3391"]
+ }
+};
+async function buildFeatureSupportMap(versions) {
+ const supportMap = new Map();
+ for (const [feature, supportCondition] of Object.entries(featureSupportResolver)) {
+ var _versions$versions$in, _versions$versions, _supportCondition$uns, _supportCondition$uns2;
+ const supportMatrixVersion = (_versions$versions$in = (_versions$versions = versions.versions) === null || _versions$versions === void 0 ? void 0 : _versions$versions.includes(supportCondition.matrixVersion || "")) !== null && _versions$versions$in !== void 0 ? _versions$versions$in : false;
+ const supportUnstablePrefixes = (_supportCondition$uns = (_supportCondition$uns2 = supportCondition.unstablePrefixes) === null || _supportCondition$uns2 === void 0 ? void 0 : _supportCondition$uns2.every(unstablePrefix => {
+ var _versions$unstable_fe;
+ return ((_versions$unstable_fe = versions.unstable_features) === null || _versions$unstable_fe === void 0 ? void 0 : _versions$unstable_fe[unstablePrefix]) === true;
+ })) !== null && _supportCondition$uns !== void 0 ? _supportCondition$uns : false;
+ if (supportMatrixVersion) {
+ supportMap.set(feature, ServerSupport.Stable);
+ } else if (supportUnstablePrefixes) {
+ supportMap.set(feature, ServerSupport.Unstable);
+ } else {
+ supportMap.set(feature, ServerSupport.Unsupported);
+ }
+ }
+ return supportMap;
+}
+//# sourceMappingURL=feature.js.map \ No newline at end of file