stream-chat-angular 4.66.1 → 5.0.0-v5.2
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/assets/version.d.ts +1 -1
- package/{esm2015/assets/version.js → esm2020/assets/version.mjs} +2 -2
- package/esm2020/lib/attachment-configuration.service.mjs +185 -0
- package/esm2020/lib/attachment-list/attachment-list.component.mjs +205 -0
- package/esm2020/lib/attachment-preview-list/attachment-preview-list.component.mjs +45 -0
- package/esm2020/lib/attachment.service.mjs +262 -0
- package/esm2020/lib/avatar/avatar.component.mjs +163 -0
- package/esm2020/lib/avatar-placeholder/avatar-placeholder.component.mjs +74 -0
- package/esm2020/lib/channel/channel.component.mjs +46 -0
- package/esm2020/lib/channel-header/channel-header.component.mjs +79 -0
- package/esm2020/lib/channel-list/channel-list-toggle.service.mjs +72 -0
- package/esm2020/lib/channel-list/channel-list.component.mjs +60 -0
- package/esm2020/lib/channel-preview/channel-preview.component.mjs +155 -0
- package/esm2020/lib/channel.service.mjs +1460 -0
- package/esm2020/lib/chat-client.service.mjs +206 -0
- package/{esm2015/lib/custom-templates.service.js → esm2020/lib/custom-templates.service.mjs} +3 -3
- package/{esm2015/lib/date-parser.service.js → esm2020/lib/date-parser.service.mjs} +3 -3
- package/esm2020/lib/edit-message-form/edit-message-form.component.mjs +83 -0
- package/esm2020/lib/get-channel-display-text.mjs +14 -0
- package/esm2020/lib/get-message-translation.mjs +12 -0
- package/esm2020/lib/icon/icon.component.mjs +21 -0
- package/esm2020/lib/icon-placeholder/icon-placeholder.component.mjs +31 -0
- package/esm2020/lib/loading-indicator/loading-indicator.component.mjs +31 -0
- package/esm2020/lib/loading-indicator-placeholder/loading-indicator-placeholder.component.mjs +38 -0
- package/esm2020/lib/message/message.component.mjs +418 -0
- package/esm2020/lib/message-actions-box/message-actions-box.component.mjs +130 -0
- package/esm2020/lib/message-actions.service.mjs +119 -0
- package/esm2020/lib/message-bounce-prompt/message-bounce-prompt.component.mjs +71 -0
- package/esm2020/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.mjs +262 -0
- package/{esm2015/lib/message-input/emoji-input.service.js → esm2020/lib/message-input/emoji-input.service.mjs} +3 -3
- package/{esm2015/lib/message-input/message-input-config.service.js → esm2020/lib/message-input/message-input-config.service.mjs} +3 -3
- package/esm2020/lib/message-input/message-input.component.mjs +443 -0
- package/{esm2015/lib/message-input/textarea/textarea.component.js → esm2020/lib/message-input/textarea/textarea.component.mjs} +5 -9
- package/esm2020/lib/message-input/textarea.directive.mjs +89 -0
- package/esm2020/lib/message-list/group-styles.mjs +52 -0
- package/{esm2015/lib/message-list/image-load.service.js → esm2020/lib/message-list/image-load.service.mjs} +3 -3
- package/esm2020/lib/message-list/message-list.component.mjs +699 -0
- package/esm2020/lib/message-preview.mjs +21 -0
- package/esm2020/lib/message-reactions/message-reactions.component.mjs +252 -0
- package/{esm2015/lib/message-reactions.service.js → esm2020/lib/message-reactions.service.mjs} +3 -3
- package/{esm2015/lib/message.service.js → esm2020/lib/message.service.mjs} +4 -4
- package/esm2020/lib/modal/modal.component.mjs +69 -0
- package/esm2020/lib/notification/notification.component.mjs +20 -0
- package/esm2020/lib/notification-list/notification-list.component.mjs +37 -0
- package/esm2020/lib/notification.service.mjs +79 -0
- package/esm2020/lib/read-by.mjs +12 -0
- package/{esm2015/lib/stream-autocomplete-textarea.module.js → esm2020/lib/stream-autocomplete-textarea.module.mjs} +6 -6
- package/{esm2015/lib/stream-avatar.module.js → esm2020/lib/stream-avatar.module.mjs} +5 -5
- package/{esm2015/lib/stream-chat.module.js → esm2020/lib/stream-chat.module.mjs} +14 -16
- package/{esm2015/lib/stream-i18n.service.js → esm2020/lib/stream-i18n.service.mjs} +5 -5
- package/{esm2015/lib/stream-textarea.module.js → esm2020/lib/stream-textarea.module.mjs} +6 -6
- package/esm2020/lib/theme.service.mjs +123 -0
- package/esm2020/lib/thread/thread.component.mjs +51 -0
- package/{esm2015/lib/transliteration.service.js → esm2020/lib/transliteration.service.mjs} +3 -3
- package/esm2020/lib/types.mjs +2 -0
- package/esm2020/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.mjs +183 -0
- package/esm2020/lib/voice-recording/voice-recording.component.mjs +102 -0
- package/fesm2015/{stream-chat-angular.js → stream-chat-angular.mjs} +313 -426
- package/fesm2015/stream-chat-angular.mjs.map +1 -0
- package/fesm2020/stream-chat-angular.mjs +7123 -0
- package/fesm2020/stream-chat-angular.mjs.map +1 -0
- package/lib/attachment-list/attachment-list.component.d.ts +3 -3
- package/lib/attachment-preview-list/attachment-preview-list.component.d.ts +1 -1
- package/lib/attachment.service.d.ts +0 -1
- package/lib/avatar/avatar.component.d.ts +1 -1
- package/lib/avatar-placeholder/avatar-placeholder.component.d.ts +1 -1
- package/lib/channel/channel.component.d.ts +1 -1
- package/lib/channel-header/channel-header.component.d.ts +1 -1
- package/lib/channel-list/channel-list-toggle.service.d.ts +0 -1
- package/lib/channel-list/channel-list.component.d.ts +1 -1
- package/lib/channel-preview/channel-preview.component.d.ts +1 -1
- package/lib/channel.service.d.ts +7 -7
- package/lib/chat-client.service.d.ts +1 -1
- package/lib/edit-message-form/edit-message-form.component.d.ts +1 -1
- package/lib/get-message-translation.d.ts +1 -1
- package/lib/icon/icon.component.d.ts +1 -1
- package/lib/icon-placeholder/icon-placeholder.component.d.ts +1 -1
- package/lib/loading-indicator/loading-indicator.component.d.ts +1 -1
- package/lib/loading-indicator-placeholder/loading-indicator-placeholder.component.d.ts +1 -1
- package/lib/message/message.component.d.ts +3 -7
- package/lib/message-actions-box/message-actions-box.component.d.ts +2 -4
- package/lib/message-actions.service.d.ts +0 -1
- package/lib/message-bounce-prompt/message-bounce-prompt.component.d.ts +1 -1
- package/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.d.ts +1 -1
- package/lib/message-input/message-input.component.d.ts +2 -2
- package/lib/message-input/textarea/textarea.component.d.ts +1 -1
- package/lib/message-input/textarea.directive.d.ts +1 -1
- package/lib/message-list/group-styles.d.ts +1 -1
- package/lib/message-list/message-list.component.d.ts +4 -5
- package/lib/message-reactions/message-reactions.component.d.ts +1 -4
- package/lib/message.service.d.ts +0 -1
- package/lib/modal/modal.component.d.ts +1 -1
- package/lib/notification/notification.component.d.ts +1 -1
- package/lib/notification-list/notification-list.component.d.ts +2 -2
- package/lib/notification.service.d.ts +2 -5
- package/lib/stream-chat.module.d.ts +3 -3
- package/lib/theme.service.d.ts +1 -2
- package/lib/thread/thread.component.d.ts +1 -1
- package/lib/types.d.ts +18 -18
- package/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.d.ts +2 -2
- package/lib/voice-recording/voice-recording.component.d.ts +1 -1
- package/package.json +31 -17
- package/src/assets/styles/v2/css/index.css +1 -1
- package/src/assets/styles/v2/css/index.layout.css +1 -1
- package/src/assets/styles/v2/scss/_base.scss +2 -2
- package/src/assets/version.ts +1 -1
- package/bundles/stream-chat-angular.umd.js +0 -8445
- package/bundles/stream-chat-angular.umd.js.map +0 -1
- package/esm2015/lib/attachment-configuration.service.js +0 -186
- package/esm2015/lib/attachment-list/attachment-list.component.js +0 -209
- package/esm2015/lib/attachment-preview-list/attachment-preview-list.component.js +0 -49
- package/esm2015/lib/attachment.service.js +0 -276
- package/esm2015/lib/avatar/avatar.component.js +0 -172
- package/esm2015/lib/avatar-placeholder/avatar-placeholder.component.js +0 -78
- package/esm2015/lib/channel/channel.component.js +0 -50
- package/esm2015/lib/channel-header/channel-header.component.js +0 -86
- package/esm2015/lib/channel-list/channel-list-toggle.service.js +0 -73
- package/esm2015/lib/channel-list/channel-list.component.js +0 -67
- package/esm2015/lib/channel-preview/channel-preview.component.js +0 -167
- package/esm2015/lib/channel.service.js +0 -1487
- package/esm2015/lib/chat-client.service.js +0 -211
- package/esm2015/lib/edit-message-form/edit-message-form.component.js +0 -87
- package/esm2015/lib/get-channel-display-text.js +0 -15
- package/esm2015/lib/get-message-translation.js +0 -13
- package/esm2015/lib/icon/icon.component.js +0 -25
- package/esm2015/lib/icon-placeholder/icon-placeholder.component.js +0 -35
- package/esm2015/lib/loading-indicator/loading-indicator.component.js +0 -35
- package/esm2015/lib/loading-indicator-placeholder/loading-indicator-placeholder.component.js +0 -42
- package/esm2015/lib/message/message.component.js +0 -436
- package/esm2015/lib/message-actions-box/message-actions-box.component.js +0 -137
- package/esm2015/lib/message-actions.service.js +0 -114
- package/esm2015/lib/message-bounce-prompt/message-bounce-prompt.component.js +0 -80
- package/esm2015/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.js +0 -262
- package/esm2015/lib/message-input/message-input.component.js +0 -455
- package/esm2015/lib/message-input/textarea.directive.js +0 -90
- package/esm2015/lib/message-list/group-styles.js +0 -53
- package/esm2015/lib/message-list/message-list.component.js +0 -726
- package/esm2015/lib/message-preview.js +0 -7
- package/esm2015/lib/message-reactions/message-reactions.component.js +0 -266
- package/esm2015/lib/modal/modal.component.js +0 -74
- package/esm2015/lib/notification/notification.component.js +0 -24
- package/esm2015/lib/notification-list/notification-list.component.js +0 -38
- package/esm2015/lib/notification.service.js +0 -79
- package/esm2015/lib/read-by.js +0 -13
- package/esm2015/lib/theme.service.js +0 -122
- package/esm2015/lib/thread/thread.component.js +0 -55
- package/esm2015/lib/types.js +0 -2
- package/esm2015/lib/voice-recording/voice-recording-wavebar/voice-recording-wavebar.component.js +0 -192
- package/esm2015/lib/voice-recording/voice-recording.component.js +0 -115
- package/fesm2015/stream-chat-angular.js.map +0 -1
- /package/{esm2015/assets/i18n/en.js → esm2020/assets/i18n/en.mjs} +0 -0
- /package/{esm2015/lib/injection-tokens.js → esm2020/lib/injection-tokens.mjs} +0 -0
- /package/{esm2015/lib/is-image-attachment.js → esm2020/lib/is-image-attachment.mjs} +0 -0
- /package/{esm2015/lib/is-image-file.js → esm2020/lib/is-image-file.mjs} +0 -0
- /package/{esm2015/lib/is-on-separate-date.js → esm2020/lib/is-on-separate-date.mjs} +0 -0
- /package/{esm2015/lib/list-users.js → esm2020/lib/list-users.mjs} +0 -0
- /package/{esm2015/lib/message-input/textarea.interface.js → esm2020/lib/message-input/textarea.interface.mjs} +0 -0
- /package/{esm2015/lib/parse-date.js → esm2020/lib/parse-date.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- /package/{esm2015/stream-chat-angular.js → esm2020/stream-chat-angular.mjs} +0 -0
- /package/{stream-chat-angular.d.ts → index.d.ts} +0 -0
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
-
import { Directive } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class TextareaDirective {
|
|
5
|
-
constructor(viewContainerRef) {
|
|
6
|
-
this.viewContainerRef = viewContainerRef;
|
|
7
|
-
this.value = '';
|
|
8
|
-
this.valueChange = new EventEmitter();
|
|
9
|
-
this.send = new EventEmitter();
|
|
10
|
-
this.userMentions = new EventEmitter();
|
|
11
|
-
this.subscriptions = [];
|
|
12
|
-
this.unpropagatedChanges = [];
|
|
13
|
-
}
|
|
14
|
-
ngOnChanges(changes) {
|
|
15
|
-
var _a, _b;
|
|
16
|
-
this.unpropagatedChanges.push(changes);
|
|
17
|
-
if (!this.componentRef) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
if (changes.componentRef) {
|
|
21
|
-
this.subscriptions.forEach((s) => s.unsubscribe());
|
|
22
|
-
if (this.componentRef) {
|
|
23
|
-
this.subscriptions.push(this.componentRef.instance.valueChange.subscribe((value) => this.valueChange.next(value)));
|
|
24
|
-
this.subscriptions.push(this.componentRef.instance.send.subscribe((value) => this.send.next(value)));
|
|
25
|
-
if (this.componentRef.instance.userMentions) {
|
|
26
|
-
this.subscriptions.push(this.componentRef.instance.userMentions.subscribe((value) => this.userMentions.next(value)));
|
|
27
|
-
}
|
|
28
|
-
this.componentRef.instance.areMentionsEnabled = this.areMentionsEnabled;
|
|
29
|
-
this.componentRef.instance.mentionScope = this.mentionScope;
|
|
30
|
-
this.componentRef.instance.value = this.value;
|
|
31
|
-
this.componentRef.instance.placeholder = this.placeholder;
|
|
32
|
-
this.componentRef.instance.inputMode = this.inputMode;
|
|
33
|
-
this.componentRef.instance.autoFocus = this.autoFocus;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (changes.areMentionsEnabled) {
|
|
37
|
-
this.componentRef.instance.areMentionsEnabled = this.areMentionsEnabled;
|
|
38
|
-
}
|
|
39
|
-
if (changes.mentionScope) {
|
|
40
|
-
this.componentRef.instance.mentionScope = this.mentionScope;
|
|
41
|
-
}
|
|
42
|
-
if (changes.value) {
|
|
43
|
-
this.componentRef.instance.value = this.value;
|
|
44
|
-
}
|
|
45
|
-
if (changes.placeholder) {
|
|
46
|
-
this.componentRef.instance.placeholder = this.placeholder;
|
|
47
|
-
}
|
|
48
|
-
if (changes.inputMode) {
|
|
49
|
-
this.componentRef.instance.inputMode = this.inputMode;
|
|
50
|
-
}
|
|
51
|
-
if (changes.autoFocus) {
|
|
52
|
-
this.componentRef.instance.autoFocus = this.autoFocus;
|
|
53
|
-
}
|
|
54
|
-
// ngOnChanges not called for dynamic components since we don't use template binding
|
|
55
|
-
let changesToPropagate = {};
|
|
56
|
-
this.unpropagatedChanges.forEach((c) => (changesToPropagate = Object.assign(Object.assign({}, changesToPropagate), c)));
|
|
57
|
-
// eslint-disable-next-line @angular-eslint/no-lifecycle-call
|
|
58
|
-
(_b = (_a = this.componentRef.instance).ngOnChanges) === null || _b === void 0 ? void 0 : _b.call(_a, changesToPropagate);
|
|
59
|
-
this.unpropagatedChanges = [];
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
TextareaDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: TextareaDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
63
|
-
TextareaDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: TextareaDirective, selector: "[streamTextarea]", inputs: { componentRef: "componentRef", areMentionsEnabled: "areMentionsEnabled", mentionScope: "mentionScope", inputMode: "inputMode", value: "value", placeholder: "placeholder", autoFocus: "autoFocus" }, outputs: { valueChange: "valueChange", send: "send", userMentions: "userMentions" }, usesOnChanges: true, ngImport: i0 });
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: TextareaDirective, decorators: [{
|
|
65
|
-
type: Directive,
|
|
66
|
-
args: [{
|
|
67
|
-
selector: '[streamTextarea]',
|
|
68
|
-
}]
|
|
69
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { componentRef: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], areMentionsEnabled: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], mentionScope: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], inputMode: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], value: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], placeholder: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], autoFocus: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], valueChange: [{
|
|
84
|
-
type: Output
|
|
85
|
-
}], send: [{
|
|
86
|
-
type: Output
|
|
87
|
-
}], userMentions: [{
|
|
88
|
-
type: Output
|
|
89
|
-
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL21lc3NhZ2UtaW5wdXQvdGV4dGFyZWEuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVExQyxNQUFNLE9BQU8saUJBQWlCO0lBZTVCLFlBQW1CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBUjVDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFHRCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDaEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUM3RCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDbkMsd0JBQW1CLEdBQW9CLEVBQUUsQ0FBQztJQUNNLENBQUM7SUFFekQsV0FBVyxDQUFDLE9BQXNCOztRQUNoQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUNELElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDbkQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLFlBQVksQ0FB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LElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7OEdBNUVVLGlCQUFpQjtrR0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7dUdBRVUsWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ2EsV0FBVztzQkFBN0IsTUFBTTtnQkFDWSxJQUFJO3NCQUF0QixNQUFNO2dCQUNZLFlBQVk7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVc2VyUmVzcG9uc2UgfSBmcm9tICdzdHJlYW0tY2hhdCc7XG5pbXBvcnQgeyBUZXh0YXJlYUludGVyZmFjZSB9IGZyb20gJy4vdGV4dGFyZWEuaW50ZXJmYWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3N0cmVhbVRleHRhcmVhXScsXG59KVxuZXhwb3J0IGNsYXNzIFRleHRhcmVhRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY29tcG9uZW50UmVmOlxuICAgIHwgQ29tcG9uZW50UmVmPFRleHRhcmVhSW50ZXJmYWNlICYgUGFydGlhbDxPbkNoYW5nZXM+PlxuICAgIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhcmVNZW50aW9uc0VuYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIG1lbnRpb25TY29wZT86ICdjaGFubmVsJyB8ICdhcHBsaWNhdGlvbic7XG4gIEBJbnB1dCgpIGlucHV0TW9kZSE6ICdtb2JpbGUnIHwgJ2Rlc2t0b3AnO1xuICBASW5wdXQoKSB2YWx1ZSA9ICcnO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhdXRvRm9jdXMhOiBib29sZWFuO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSByZWFkb25seSB1c2VyTWVudGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPFVzZXJSZXNwb25zZVtdPigpO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgdW5wcm9wYWdhdGVkQ2hhbmdlczogU2ltcGxlQ2hhbmdlc1tdID0gW107XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnVucHJvcGFnYXRlZENoYW5nZXMucHVzaChjaGFuZ2VzKTtcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudmFsdWVDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh2YWx1ZSlcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnNlbmQuc3Vic2NyaWJlKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMuc2VuZC5uZXh0KHZhbHVlKVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnVzZXJNZW50aW9ucykge1xuICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudXNlck1lbnRpb25zLnN1YnNjcmliZSgodmFsdWUpID0+XG4gICAgICAgICAgICAgIHRoaXMudXNlck1lbnRpb25zLm5leHQodmFsdWUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5hcmVNZW50aW9uc0VuYWJsZWQgPSB0aGlzLmFyZU1lbnRpb25zRW5hYmxlZDtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UubWVudGlvblNjb3BlID0gdGhpcy5tZW50aW9uU2NvcGU7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UucGxhY2Vob2xkZXIgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5pbnB1dE1vZGUgPSB0aGlzLmlucHV0TW9kZTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuYXV0b0ZvY3VzID0gdGhpcy5hdXRvRm9jdXM7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmFyZU1lbnRpb25zRW5hYmxlZCkge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuYXJlTWVudGlvbnNFbmFibGVkID0gdGhpcy5hcmVNZW50aW9uc0VuYWJsZWQ7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLm1lbnRpb25TY29wZSkge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UubWVudGlvblNjb3BlID0gdGhpcy5tZW50aW9uU2NvcGU7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLnBsYWNlaG9sZGVyKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5wbGFjZWhvbGRlciA9IHRoaXMucGxhY2Vob2xkZXI7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmlucHV0TW9kZSkge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuaW5wdXRNb2RlID0gdGhpcy5pbnB1dE1vZGU7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmF1dG9Gb2N1cykge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuYXV0b0ZvY3VzID0gdGhpcy5hdXRvRm9jdXM7XG4gICAgfVxuICAgIC8vIG5nT25DaGFuZ2VzIG5vdCBjYWxsZWQgZm9yIGR5bmFtaWMgY29tcG9uZW50cyBzaW5jZSB3ZSBkb24ndCB1c2UgdGVtcGxhdGUgYmluZGluZ1xuICAgIGxldCBjaGFuZ2VzVG9Qcm9wYWdhdGUgPSB7fTtcbiAgICB0aGlzLnVucHJvcGFnYXRlZENoYW5nZXMuZm9yRWFjaChcbiAgICAgIChjKSA9PiAoY2hhbmdlc1RvUHJvcGFnYXRlID0geyAuLi5jaGFuZ2VzVG9Qcm9wYWdhdGUsIC4uLmMgfSlcbiAgICApO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tbGlmZWN5Y2xlLWNhbGxcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5uZ09uQ2hhbmdlcz8uKGNoYW5nZXNUb1Byb3BhZ2F0ZSk7XG4gICAgdGhpcy51bnByb3BhZ2F0ZWRDaGFuZ2VzID0gW107XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
export const getGroupStyles = (message, previousMessage, nextMessage, options = {
|
|
2
|
-
noGroupByUser: false,
|
|
3
|
-
lastReadMessageId: undefined,
|
|
4
|
-
noGroupByReadState: false,
|
|
5
|
-
}) => {
|
|
6
|
-
var _a, _b, _c, _d, _e, _f;
|
|
7
|
-
if (options.noGroupByUser ||
|
|
8
|
-
(message.attachments && message.attachments.length !== 0))
|
|
9
|
-
return 'single';
|
|
10
|
-
const isTopMessage = !previousMessage ||
|
|
11
|
-
!isOnSameDay(previousMessage.created_at, message.created_at) ||
|
|
12
|
-
previousMessage.type === 'system' ||
|
|
13
|
-
(previousMessage.attachments &&
|
|
14
|
-
((_a = previousMessage.attachments) === null || _a === void 0 ? void 0 : _a.length) !== 0) ||
|
|
15
|
-
((_b = message.user) === null || _b === void 0 ? void 0 : _b.id) !== ((_c = previousMessage.user) === null || _c === void 0 ? void 0 : _c.id) ||
|
|
16
|
-
previousMessage.type === 'error' ||
|
|
17
|
-
previousMessage.deleted_at ||
|
|
18
|
-
(previousMessage.id === options.lastReadMessageId &&
|
|
19
|
-
!options.noGroupByReadState) ||
|
|
20
|
-
previousMessage.message_text_updated_at ||
|
|
21
|
-
(message.reaction_counts &&
|
|
22
|
-
Object.keys(message.reaction_counts).length > 0);
|
|
23
|
-
const isBottomMessage = !nextMessage ||
|
|
24
|
-
!isOnSameDay(message.created_at, nextMessage.created_at) ||
|
|
25
|
-
nextMessage.type === 'system' ||
|
|
26
|
-
(nextMessage.attachments && ((_d = nextMessage.attachments) === null || _d === void 0 ? void 0 : _d.length) !== 0) ||
|
|
27
|
-
((_e = message.user) === null || _e === void 0 ? void 0 : _e.id) !== ((_f = nextMessage.user) === null || _f === void 0 ? void 0 : _f.id) ||
|
|
28
|
-
nextMessage.type === 'error' ||
|
|
29
|
-
nextMessage.deleted_at ||
|
|
30
|
-
(message.id === options.lastReadMessageId && !options.noGroupByReadState) ||
|
|
31
|
-
message.message_text_updated_at ||
|
|
32
|
-
(nextMessage.reaction_counts &&
|
|
33
|
-
Object.keys(nextMessage.reaction_counts).length > 0);
|
|
34
|
-
if (!isTopMessage && !isBottomMessage) {
|
|
35
|
-
if (message.deleted_at || message.type === 'error')
|
|
36
|
-
return 'single';
|
|
37
|
-
return 'middle';
|
|
38
|
-
}
|
|
39
|
-
if (isBottomMessage) {
|
|
40
|
-
if (isTopMessage || message.deleted_at || message.type === 'error')
|
|
41
|
-
return 'single';
|
|
42
|
-
return 'bottom';
|
|
43
|
-
}
|
|
44
|
-
if (isTopMessage)
|
|
45
|
-
return 'top';
|
|
46
|
-
return '';
|
|
47
|
-
};
|
|
48
|
-
const isOnSameDay = (date1, date2) => {
|
|
49
|
-
return (date1.getFullYear() === date2.getFullYear() &&
|
|
50
|
-
date1.getMonth() === date2.getMonth() &&
|
|
51
|
-
date1.getDate() === date2.getDate());
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL21lc3NhZ2UtbGlzdC9ncm91cC1zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzVCLE9BQXNCLEVBQ3RCLGVBQStCLEVBQy9CLFdBQTJCLEVBQzNCLFVBQTZCO0lBQzNCLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsa0JBQWtCLEVBQUUsS0FBSztDQUMxQixFQUNXLEVBQUU7O0lBQ2QsSUFDRSxPQUFPLENBQUMsYUFBYTtRQUNyQixDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1FBRXpELE9BQU8sUUFBUSxDQUFDO0lBRWxCLE1BQU0sWUFBWSxHQUNoQixDQUFDLGVBQWU7UUFDaEIsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzVELGVBQWUsQ0FBQyxJQUFJLEtBQUssUUFBUTtRQUNqQyxDQUFDLGVBQWUsQ0FBQyxXQUFXO1lBQzFCLENBQUEsTUFBQSxlQUFlLENBQUMsV0FBVywwQ0FBRSxNQUFNLE1BQUssQ0FBQyxDQUFDO1FBQzVDLENBQUEsTUFBQSxPQUFPLENBQUMsSUFBSSwwQ0FBRSxFQUFFLE9BQUssTUFBQSxlQUFlLENBQUMsSUFBSSwwQ0FBRSxFQUFFLENBQUE7UUFDN0MsZUFBZSxDQUFDLElBQUksS0FBSyxPQUFPO1FBQ2hDLGVBQWUsQ0FBQyxVQUFVO1FBQzFCLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsaUJBQWlCO1lBQy9DLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO1FBQzlCLGVBQWUsQ0FBQyx1QkFBdUI7UUFDdkMsQ0FBQyxPQUFPLENBQUMsZUFBZTtZQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFckQsTUFBTSxlQUFlLEdBQ25CLENBQUMsV0FBVztRQUNaLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUN4RCxXQUFXLENBQUMsSUFBSSxLQUFLLFFBQVE7UUFDN0IsQ0FBQyxXQUFXLENBQUMsV0FBVyxJQUFJLENBQUEsTUFBQSxXQUFXLENBQUMsV0FBVywwQ0FBRSxNQUFNLE1BQUssQ0FBQyxDQUFDO1FBQ2xFLENBQUEsTUFBQSxPQUFPLENBQUMsSUFBSSwwQ0FBRSxFQUFFLE9BQUssTUFBQSxXQUFXLENBQUMsSUFBSSwwQ0FBRSxFQUFFLENBQUE7UUFDekMsV0FBVyxDQUFDLElBQUksS0FBSyxPQUFPO1FBQzVCLFdBQVcsQ0FBQyxVQUFVO1FBQ3RCLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsaUJBQWlCLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDekUsT0FBTyxDQUFDLHVCQUF1QjtRQUMvQixDQUFDLFdBQVcsQ0FBQyxlQUFlO1lBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUV6RCxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsZUFBZSxFQUFFO1FBQ3JDLElBQUksT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU87WUFBRSxPQUFPLFFBQVEsQ0FBQztRQUNwRSxPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUVELElBQUksZUFBZSxFQUFFO1FBQ25CLElBQUksWUFBWSxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxPQUFPO1lBQ2hFLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLE9BQU8sUUFBUSxDQUFDO0tBQ2pCO0lBRUQsSUFBSSxZQUFZO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFFL0IsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQVcsRUFBRSxLQUFXLEVBQUUsRUFBRTtJQUMvQyxPQUFPLENBQ0wsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQyxXQUFXLEVBQUU7UUFDM0MsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDckMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDcEMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyb3VwU3R5bGVPcHRpb25zLCBTdHJlYW1NZXNzYWdlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBHcm91cFN0eWxlID0gJycgfCAnbWlkZGxlJyB8ICd0b3AnIHwgJ2JvdHRvbScgfCAnc2luZ2xlJztcblxuZXhwb3J0IGNvbnN0IGdldEdyb3VwU3R5bGVzID0gKFxuICBtZXNzYWdlOiBTdHJlYW1NZXNzYWdlLFxuICBwcmV2aW91c01lc3NhZ2U/OiBTdHJlYW1NZXNzYWdlLFxuICBuZXh0TWVzc2FnZT86IFN0cmVhbU1lc3NhZ2UsXG4gIG9wdGlvbnM6IEdyb3VwU3R5bGVPcHRpb25zID0ge1xuICAgIG5vR3JvdXBCeVVzZXI6IGZhbHNlLFxuICAgIGxhc3RSZWFkTWVzc2FnZUlkOiB1bmRlZmluZWQsXG4gICAgbm9Hcm91cEJ5UmVhZFN0YXRlOiBmYWxzZSxcbiAgfVxuKTogR3JvdXBTdHlsZSA9PiB7XG4gIGlmIChcbiAgICBvcHRpb25zLm5vR3JvdXBCeVVzZXIgfHxcbiAgICAobWVzc2FnZS5hdHRhY2htZW50cyAmJiBtZXNzYWdlLmF0dGFjaG1lbnRzLmxlbmd0aCAhPT0gMClcbiAgKVxuICAgIHJldHVybiAnc2luZ2xlJztcblxuICBjb25zdCBpc1RvcE1lc3NhZ2UgPVxuICAgICFwcmV2aW91c01lc3NhZ2UgfHxcbiAgICAhaXNPblNhbWVEYXkocHJldmlvdXNNZXNzYWdlLmNyZWF0ZWRfYXQsIG1lc3NhZ2UuY3JlYXRlZF9hdCkgfHxcbiAgICBwcmV2aW91c01lc3NhZ2UudHlwZSA9PT0gJ3N5c3RlbScgfHxcbiAgICAocHJldmlvdXNNZXNzYWdlLmF0dGFjaG1lbnRzICYmXG4gICAgICBwcmV2aW91c01lc3NhZ2UuYXR0YWNobWVudHM/Lmxlbmd0aCAhPT0gMCkgfHxcbiAgICBtZXNzYWdlLnVzZXI/LmlkICE9PSBwcmV2aW91c01lc3NhZ2UudXNlcj8uaWQgfHxcbiAgICBwcmV2aW91c01lc3NhZ2UudHlwZSA9PT0gJ2Vycm9yJyB8fFxuICAgIHByZXZpb3VzTWVzc2FnZS5kZWxldGVkX2F0IHx8XG4gICAgKHByZXZpb3VzTWVzc2FnZS5pZCA9PT0gb3B0aW9ucy5sYXN0UmVhZE1lc3NhZ2VJZCAmJlxuICAgICAgIW9wdGlvbnMubm9Hcm91cEJ5UmVhZFN0YXRlKSB8fFxuICAgIHByZXZpb3VzTWVzc2FnZS5tZXNzYWdlX3RleHRfdXBkYXRlZF9hdCB8fFxuICAgIChtZXNzYWdlLnJlYWN0aW9uX2NvdW50cyAmJlxuICAgICAgT2JqZWN0LmtleXMobWVzc2FnZS5yZWFjdGlvbl9jb3VudHMpLmxlbmd0aCA+IDApO1xuXG4gIGNvbnN0IGlzQm90dG9tTWVzc2FnZSA9XG4gICAgIW5leHRNZXNzYWdlIHx8XG4gICAgIWlzT25TYW1lRGF5KG1lc3NhZ2UuY3JlYXRlZF9hdCwgbmV4dE1lc3NhZ2UuY3JlYXRlZF9hdCkgfHxcbiAgICBuZXh0TWVzc2FnZS50eXBlID09PSAnc3lzdGVtJyB8fFxuICAgIChuZXh0TWVzc2FnZS5hdHRhY2htZW50cyAmJiBuZXh0TWVzc2FnZS5hdHRhY2htZW50cz8ubGVuZ3RoICE9PSAwKSB8fFxuICAgIG1lc3NhZ2UudXNlcj8uaWQgIT09IG5leHRNZXNzYWdlLnVzZXI/LmlkIHx8XG4gICAgbmV4dE1lc3NhZ2UudHlwZSA9PT0gJ2Vycm9yJyB8fFxuICAgIG5leHRNZXNzYWdlLmRlbGV0ZWRfYXQgfHxcbiAgICAobWVzc2FnZS5pZCA9PT0gb3B0aW9ucy5sYXN0UmVhZE1lc3NhZ2VJZCAmJiAhb3B0aW9ucy5ub0dyb3VwQnlSZWFkU3RhdGUpIHx8XG4gICAgbWVzc2FnZS5tZXNzYWdlX3RleHRfdXBkYXRlZF9hdCB8fFxuICAgIChuZXh0TWVzc2FnZS5yZWFjdGlvbl9jb3VudHMgJiZcbiAgICAgIE9iamVjdC5rZXlzKG5leHRNZXNzYWdlLnJlYWN0aW9uX2NvdW50cykubGVuZ3RoID4gMCk7XG5cbiAgaWYgKCFpc1RvcE1lc3NhZ2UgJiYgIWlzQm90dG9tTWVzc2FnZSkge1xuICAgIGlmIChtZXNzYWdlLmRlbGV0ZWRfYXQgfHwgbWVzc2FnZS50eXBlID09PSAnZXJyb3InKSByZXR1cm4gJ3NpbmdsZSc7XG4gICAgcmV0dXJuICdtaWRkbGUnO1xuICB9XG5cbiAgaWYgKGlzQm90dG9tTWVzc2FnZSkge1xuICAgIGlmIChpc1RvcE1lc3NhZ2UgfHwgbWVzc2FnZS5kZWxldGVkX2F0IHx8IG1lc3NhZ2UudHlwZSA9PT0gJ2Vycm9yJylcbiAgICAgIHJldHVybiAnc2luZ2xlJztcbiAgICByZXR1cm4gJ2JvdHRvbSc7XG4gIH1cblxuICBpZiAoaXNUb3BNZXNzYWdlKSByZXR1cm4gJ3RvcCc7XG5cbiAgcmV0dXJuICcnO1xufTtcblxuY29uc3QgaXNPblNhbWVEYXkgPSAoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZGF0ZTEuZ2V0RnVsbFllYXIoKSA9PT0gZGF0ZTIuZ2V0RnVsbFllYXIoKSAmJlxuICAgIGRhdGUxLmdldE1vbnRoKCkgPT09IGRhdGUyLmdldE1vbnRoKCkgJiZcbiAgICBkYXRlMS5nZXREYXRlKCkgPT09IGRhdGUyLmdldERhdGUoKVxuICApO1xufTtcbiJdfQ==
|