This commit is contained in:
unfunny
2026-09-12 23:57:45 -04:00
parent 986c0af682
commit dfe4cc537f
1775 changed files with 246421 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
import { IPartialEvent } from "../../IPartialEvent";
import { Optional } from "../../types";
import { ExtensibleEvent } from "../../events/ExtensibleEvent";
import { NamespacedValue } from "../../NamespacedValue";
export declare const LEGACY_M_ROOM_MESSAGE: NamespacedValue<"m.room.message", string>;
export interface IPartialLegacyContent {
body: string;
msgtype: string;
format?: string;
formatted_body?: string;
}
export declare function parseMRoomMessage(wireEvent: IPartialEvent<IPartialLegacyContent>): Optional<ExtensibleEvent>;

View File

@@ -0,0 +1,62 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.LEGACY_M_ROOM_MESSAGE = void 0;
exports.parseMRoomMessage = parseMRoomMessage;
var _MessageEvent = require("../../events/MessageEvent");
var _NoticeEvent = require("../../events/NoticeEvent");
var _EmoteEvent = require("../../events/EmoteEvent");
var _NamespacedValue = require("../../NamespacedValue");
var _message_types = require("../../events/message_types");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var LEGACY_M_ROOM_MESSAGE = new _NamespacedValue.NamespacedValue("m.room.message");
exports.LEGACY_M_ROOM_MESSAGE = LEGACY_M_ROOM_MESSAGE;
function parseMRoomMessage(wireEvent) {
var _wireEvent$content, _wireEvent$content2, _wireEvent$content3;
if (_message_types.M_MESSAGE.findIn(wireEvent.content) || _message_types.M_TEXT.findIn(wireEvent.content)) {
// We know enough about the event to coerce it into the right type
return new _MessageEvent.MessageEvent(wireEvent);
}
var msgtype = (_wireEvent$content = wireEvent.content) === null || _wireEvent$content === void 0 ? void 0 : _wireEvent$content.msgtype;
var text = (_wireEvent$content2 = wireEvent.content) === null || _wireEvent$content2 === void 0 ? void 0 : _wireEvent$content2.body;
var html = ((_wireEvent$content3 = wireEvent.content) === null || _wireEvent$content3 === void 0 ? void 0 : _wireEvent$content3.format) === "org.matrix.custom.html" ? wireEvent.content.formatted_body : null;
if (msgtype === "m.text") {
var _objectSpread2;
return new _MessageEvent.MessageEvent(_objectSpread(_objectSpread({}, wireEvent), {}, {
content: _objectSpread(_objectSpread({}, wireEvent.content), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, _message_types.M_TEXT.name, text), _defineProperty(_objectSpread2, _message_types.M_HTML.name, html), _objectSpread2))
}));
} else if (msgtype === "m.notice") {
var _objectSpread3;
return new _NoticeEvent.NoticeEvent(_objectSpread(_objectSpread({}, wireEvent), {}, {
content: _objectSpread(_objectSpread({}, wireEvent.content), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, _message_types.M_TEXT.name, text), _defineProperty(_objectSpread3, _message_types.M_HTML.name, html), _objectSpread3))
}));
} else if (msgtype === "m.emote") {
var _objectSpread4;
return new _EmoteEvent.EmoteEvent(_objectSpread(_objectSpread({}, wireEvent), {}, {
content: _objectSpread(_objectSpread({}, wireEvent.content), {}, (_objectSpread4 = {}, _defineProperty(_objectSpread4, _message_types.M_TEXT.name, text), _defineProperty(_objectSpread4, _message_types.M_HTML.name, html), _objectSpread4))
}));
} else {
// TODO: Handle other types
return null;
}
}

View File

@@ -0,0 +1,5 @@
import { IPartialEvent } from "../../IPartialEvent";
import { Optional } from "../../types";
import { MessageEvent } from "../../events/MessageEvent";
import { M_MESSAGE_EVENT_CONTENT } from "../../events/message_types";
export declare function parseMMessage(wireEvent: IPartialEvent<M_MESSAGE_EVENT_CONTENT>): Optional<MessageEvent>;

View File

@@ -0,0 +1,40 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.parseMMessage = parseMMessage;
var _MessageEvent = require("../../events/MessageEvent");
var _message_types = require("../../events/message_types");
var _EmoteEvent = require("../../events/EmoteEvent");
var _NoticeEvent = require("../../events/NoticeEvent");
/*
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.
*/
function parseMMessage(wireEvent) {
if (_message_types.M_EMOTE.matches(wireEvent.type)) {
return new _EmoteEvent.EmoteEvent(wireEvent);
} else if (_message_types.M_NOTICE.matches(wireEvent.type)) {
return new _NoticeEvent.NoticeEvent(wireEvent);
} // default: return a generic message
return new _MessageEvent.MessageEvent(wireEvent);
}

View File

@@ -0,0 +1,10 @@
import { IPartialEvent } from "../../IPartialEvent";
import { Optional } from "../../types";
import { M_POLL_END_EVENT_CONTENT, M_POLL_RESPONSE_EVENT_CONTENT, M_POLL_START_EVENT_CONTENT } from "../../events/poll_types";
import { PollStartEvent } from "../../events/PollStartEvent";
import { PollResponseEvent } from "../../events/PollResponseEvent";
import { PollEndEvent } from "../../events/PollEndEvent";
declare type PollContent = M_POLL_START_EVENT_CONTENT | M_POLL_RESPONSE_EVENT_CONTENT | M_POLL_END_EVENT_CONTENT;
declare type PollEvent = PollStartEvent | PollResponseEvent | PollEndEvent;
export declare function parseMPoll(wireEvent: IPartialEvent<PollContent>): Optional<PollEvent>;
export {};

View File

@@ -0,0 +1,41 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.parseMPoll = parseMPoll;
var _poll_types = require("../../events/poll_types");
var _PollStartEvent = require("../../events/PollStartEvent");
var _PollResponseEvent = require("../../events/PollResponseEvent");
var _PollEndEvent = require("../../events/PollEndEvent");
/*
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.
*/
function parseMPoll(wireEvent) {
if (_poll_types.M_POLL_START.matches(wireEvent.type)) {
return new _PollStartEvent.PollStartEvent(wireEvent);
} else if (_poll_types.M_POLL_RESPONSE.matches(wireEvent.type)) {
return new _PollResponseEvent.PollResponseEvent(wireEvent);
} else if (_poll_types.M_POLL_END.matches(wireEvent.type)) {
return new _PollEndEvent.PollEndEvent(wireEvent);
}
return null; // not a poll event
}