tweb/public/16.cbda134a79c0296125ca.chunk.js.map
morethanwords 2c96983f84 (commit before) fixed changing profile (#4119)
Include source maps
2021-04-16 22:04:15 +04:00

1 line
15 KiB
Plaintext

{"version":3,"sources":["webpack:///./src/config/debug.ts","webpack:///./src/helpers/eventListenerBase.ts","webpack:///./src/config/modes.ts","webpack:///./src/lib/rootScope.ts"],"names":["DEBUG","debug","MOUNT_CLASS_TO","window","self","EventListenerBase","reuseResults","this","_constructor","listeners","listenerResults","name","callback","once","hasOwnProperty","push","findAndSplice","l","args","arr","slice","forEach","listener","findIndex","removeEventListener","Modes","test","location","search","indexOf","http","ssl","multipleConnections","asServiceWorker","RootScope","super","_overlayIsActive","myId","idle","isIDLE","connectionStatus","broadcast","detail","dispatchEvent","on","addEventListener","off","e","status","value","rootScope"],"mappings":"sFAAA,kCAQO,MAAMA,EARb,MAQ8D,EAAMC,MAEvDC,EADuB,oBAAb,OAA2BC,OAASC,KAE5C,O,gCCXf,kCAuDe,MAAMC,EAUnB,YAAYC,GACVC,KAAKC,aAAaF,GAGb,aAAaA,GAAe,GACjCC,KAAKD,aAAeA,EACpBC,KAAKE,UAAY,GACjBF,KAAKG,gBAAkB,GAGlB,iBAAiBC,EAAuBC,EAAkCC,G,MAC5EN,KAAKG,gBAAgBI,eAAeH,KACrCC,KAAYL,KAAKG,gBAAgBC,IAE9BE,KAKgB,QAArB,EAACN,KAAKE,UAAUE,UAAK,QAAKJ,KAAKE,UAAUE,GAAQ,IAAKI,KAAK,CAACH,WAAUC,SAIjE,oBAAoBF,EAAuBC,GAC7CL,KAAKE,UAAUE,IAChBJ,KAAKE,UAAUE,GAAMK,cAAcC,GAAKA,EAAEL,WAAaA,GAMpD,cAAcD,KAA0BO,GAC1CX,KAAKD,eACNC,KAAKG,gBAAgBC,GAAQO,GAG/B,MAAMC,EAAsD,GAKtDV,EAAYF,KAAKE,UAAUE,GACjC,GAAGF,EAAW,CAECA,EAAUW,QAClBC,QAASC,KAEE,IADAb,EAAUc,UAAWN,GAAWA,EAAEL,WAAaU,EAASV,YAKtEO,EAAIJ,KAAKO,EAASV,YAAYM,IAE3BI,EAAST,MACVN,KAAKiB,oBAAoBb,EAAMW,EAASV,aAgB9C,OAAOO,EAGF,UACLZ,KAAKE,UAAY,GACjBF,KAAKG,gBAAkB,M,gCCjI3B,MAAMe,EAAQ,CACZC,KAAMC,SAASC,OAAOC,QAAQ,UAAY,EAC1C5B,MAAO0B,SAASC,OAAOC,QAAQ,WAAa,EAC5CC,MAAM,EACNC,KAAK,EACLC,qBAAqB,EACrBC,iBAAiB,GAOJ,O,+BCxBf,qEAkHO,MAAMC,UAAkB,IAS7B,cACEC,QATM,KAAAC,kBAA4B,EAC7B,KAAAC,KAAO,EACP,KAAAC,KAAO,CACZC,QAAQ,GAEH,KAAAC,iBAA6D,GAyB7D,KAAAC,UAAY,CAAkC9B,EAAS+B,KAO5DnC,KAAKoC,cAAchC,EAAM+B,IAGpB,KAAAE,GAAK,CAAkCjC,EAASC,EAA0CC,KAC/FsB,MAAMU,iBAAiBlC,EAAMC,EAAUC,IAGlC,KAAAgC,iBAAmBtC,KAAKqC,GAExB,KAAAE,IAAM,CAAkCnC,EAASC,KACtDuB,MAAMX,oBAAoBb,EAAMC,IAG3B,KAAAY,oBAAsBjB,KAAKuC,IAvChCvC,KAAKqC,GAAG,YAAcG,IACpBxC,KAAK8B,KAAOU,IAGdxC,KAAKqC,GAAG,2BAA6BG,IACnC,MAAMC,EAASD,EACfxC,KAAKiC,iBAAiBO,EAAEpC,MAAQqC,IAIpC,sBACE,OAAOzC,KAAK6B,iBAGd,oBAAoBa,GAClB1C,KAAK6B,iBAAmBa,EACxB1C,KAAKkC,UAAU,iBAAkBQ,IA0BrC,MAAMC,EAAY,IAAIhB,EACtB,IAAegB,UAAYA,EACZ,YAEfA,EAAUL,iBAAiB,aAAeE,OAI1CG,EAAUL,iBAA+B,aAAeE","file":"16.cbda134a79c0296125ca.chunk.js","sourcesContent":["/*\n * https://github.com/morethanwords/tweb\n * Copyright (C) 2019-2021 Eduard Kuzmenko\n * https://github.com/morethanwords/tweb/blob/master/LICENSE\n */\n\nimport Modes from \"./modes\";\n\nexport const DEBUG = process.env.NODE_ENV !== 'production' || Modes.debug;\nconst ctx: any = typeof(window) !== 'undefined' ? window : self;\nexport const MOUNT_CLASS_TO: any = DEBUG || true/* && false */ ? ctx : {};\nexport default DEBUG;\n\n//let m = DEBUG;\n/* if(!DEBUG) {\n ctx.sandpitTurtle = () => {\n //if(!m) {\n for(let i in MOUNT_CLASS_TO) {\n ctx[i] = MOUNT_CLASS_TO[i];\n }\n //m = true;\n //}\n \n //DEBUG = !DEBUG;\n };\n} */\n\n/* export const superDebug = (object: any, key: string) => {\n var d = object[key];\n var beforeStr = '', afterStr = '';\n for(var r of d) {\n beforeStr += r.before.hex + '\\n';\n afterStr += r.after.hex + '\\n';\n }\n\n beforeStr = beforeStr.trim();\n afterStr = afterStr.trim();\n //var beforeStr = d.map(r => r.before.hex).join('\\n');\n //var afterStr = d.map(r => r.after.hex).join('\\n');\n\n var dada = (name: string, str: string) => {\n var a = document.createElement('a');\n a.target = '_blank';\n a.download = name + '.txt';\n a.href = URL.createObjectURL(new Blob([str], {\n type: 'text/plain'\n }));\n document.body.append(a);\n a.click();\n };\n\n dada(key + '_' + 'before', beforeStr);\n dada(key + '_' + 'after', afterStr);\n}\n\nMOUNT_CLASS_TO.superDebug = superDebug; */\n","/*\n * https://github.com/morethanwords/tweb\n * Copyright (C) 2019-2021 Eduard Kuzmenko\n * https://github.com/morethanwords/tweb/blob/master/LICENSE\n */\n\n//import { MOUNT_CLASS_TO } from \"../config/debug\";\nimport type { ArgumentTypes, SuperReturnType } from \"../types\";\n\n// class EventSystem {\n// wm: WeakMap<any, Record<any, Set<any>>> = new WeakMap();\n\n// add(target: any, event: any, listener: any) {\n// let listeners = this.wm.get(target);\n// if (listeners === undefined) {\n// listeners = {};\n// }\n// let listenersForEvent = listeners[event];\n// if (listenersForEvent === undefined) {\n// listenersForEvent = new Set();\n// }\n// listenersForEvent.add(listener);\n// listeners[event] = listenersForEvent;\n// //target.addEventListener(event, listener);\n// this.wm.set(target, listeners);\n// };\n\n// remove(target: any, event: any, listener: any) {\n// let listeners = this.wm.get(target);\n// if (!listeners) return;\n// let listenersForEvent = listeners[event];\n// if (!listenersForEvent) return;\n// listenersForEvent.delete(listener);\n// };\n \n// /* fire(target, event) {\n// let listeners = this.wm.get(target);\n// if (!listeners) return;\n// let listenersForEvent = listeners[event];\n// if (!listenersForEvent) return;\n// for (let handler of handlers) {\n// setTimeout(handler, 0, event, target); // we use a setTimeout here because we want event triggering to be asynchronous. \n// }\n// }; */\n// }\n\n// console.log = () => {};\n\n// const e = new EventSystem();\n// MOUNT_CLASS_TO.e = e;\n\n/**\n * Better not to remove listeners during setting\n * Should add listener callback only once\n */\nexport default class EventListenerBase<Listeners extends {[name: string]: Function}> {\n protected listeners: Partial<{\n [k in keyof Listeners]: Array<{callback: Listeners[k], once?: boolean}>\n }>;\n protected listenerResults: Partial<{\n [k in keyof Listeners]: ArgumentTypes<Listeners[k]>\n }>;\n\n private reuseResults: boolean;\n\n constructor(reuseResults?: boolean) {\n this._constructor(reuseResults);\n }\n\n public _constructor(reuseResults = false): any {\n this.reuseResults = reuseResults;\n this.listeners = {};\n this.listenerResults = {};\n }\n\n public addEventListener(name: keyof Listeners, callback: Listeners[typeof name], once?: boolean) {\n if(this.listenerResults.hasOwnProperty(name)) {\n callback(...this.listenerResults[name]);\n \n if(once) {\n return;\n }\n }\n \n (this.listeners[name] ?? (this.listeners[name] = [])).push({callback, once});\n //e.add(this, name, {callback, once});\n }\n\n public removeEventListener(name: keyof Listeners, callback: Listeners[typeof name]) {\n if(this.listeners[name]) {\n this.listeners[name].findAndSplice(l => l.callback === callback);\n }\n //e.remove(this, name, callback);\n }\n\n // * must be protected, but who cares\n public dispatchEvent(name: keyof Listeners, ...args: ArgumentTypes<Listeners[typeof name]>) {\n if(this.reuseResults) {\n this.listenerResults[name] = args;\n }\n\n const arr: Array<SuperReturnType<Listeners[typeof name]>> = [];\n\n /* let a = e.wm.get(this)[name];\n if(!a) return arr;\n const listeners = [...a]; */\n const listeners = this.listeners[name];\n if(listeners) {\n // ! this one will guarantee execution even if delete another listener during setting\n const left = listeners.slice();\n left.forEach((listener: any) => {\n const index = listeners.findIndex((l: any) => l.callback === listener.callback);\n if(index === -1) {\n return;\n }\n\n arr.push(listener.callback(...args));\n\n if(listener.once) {\n this.removeEventListener(name, listener.callback);\n }\n });\n\n /* for(let i = 0, length = listeners.length; i < length; ++i) {\n const listener = listeners[i];\n arr.push(listener.callback(...args));\n\n if(listener.once) {\n listeners.splice(i, 1);\n --i;\n --length;\n }\n } */\n }\n\n return arr;\n }\n\n public cleanup() {\n this.listeners = {}; \n this.listenerResults = {};\n }\n}\n","/*\n * https://github.com/morethanwords/tweb\n * Copyright (C) 2019-2021 Eduard Kuzmenko\n * https://github.com/morethanwords/tweb/blob/master/LICENSE\n * \n * Originally from:\n * https://github.com/zhukov/webogram\n * Copyright (C) 2014 Igor Zhukov <igor.beatle@gmail.com>\n * https://github.com/zhukov/webogram/blob/master/LICENSE\n */\n\nconst Modes = {\n test: location.search.indexOf('test=1') > 0/* || true */,\n debug: location.search.indexOf('debug=1') > 0,\n http: false, //location.search.indexOf('http=1') > 0,\n ssl: true, // location.search.indexOf('ssl=1') > 0 || location.protocol === 'https:' && location.search.indexOf('ssl=0') === -1,\n multipleConnections: true,\n asServiceWorker: false\n};\n\n//////////////////\n/////////////////////////////\n//////////\n\nexport default Modes;\n","/*\n * https://github.com/morethanwords/tweb\n * Copyright (C) 2019-2021 Eduard Kuzmenko\n * https://github.com/morethanwords/tweb/blob/master/LICENSE\n */\n\nimport type { Message, StickerSet, Update, NotifyPeer, PeerNotifySettings } from \"../layer\";\nimport type { MyDocument } from \"./appManagers/appDocsManager\";\nimport type { AppMessagesManager, Dialog, MessagesStorage } from \"./appManagers/appMessagesManager\";\nimport type { Poll, PollResults } from \"./appManagers/appPollsManager\";\nimport type { MyDialogFilter } from \"./storages/filters\";\nimport type { ConnectionStatusChange } from \"../types\";\nimport type { UserTyping } from \"./appManagers/appChatsManager\";\nimport type Chat from \"../components/chat/chat\";\nimport type { UserAuth } from \"./mtproto/mtproto_config\";\nimport type { State } from \"./appManagers/appStateManager\";\nimport type { MyDraftMessage } from \"./appManagers/appDraftsManager\";\nimport EventListenerBase from \"../helpers/eventListenerBase\";\nimport { MOUNT_CLASS_TO } from \"../config/debug\";\n\nexport type BroadcastEvents = {\n 'user_update': number,\n 'user_auth': UserAuth,\n 'peer_changed': number,\n 'peer_changing': Chat,\n 'peer_pinned_messages': {peerId: number, mids?: number[], pinned?: boolean, unpinAll?: true},\n 'peer_pinned_hidden': {peerId: number, maxId: number},\n 'peer_typings': {peerId: number, typings: UserTyping[]},\n 'peer_block': {peerId: number, blocked: boolean},\n 'peer_title_edit': number,\n 'peer_bio_edit': number,\n\n 'filter_delete': MyDialogFilter,\n 'filter_update': MyDialogFilter,\n 'filter_order': number[],\n \n 'dialog_draft': {peerId: number, draft: MyDraftMessage | undefined, index: number},\n 'dialog_unread': {peerId: number},\n 'dialog_flush': {peerId: number},\n 'dialog_drop': {peerId: number, dialog?: Dialog},\n 'dialog_migrate': {migrateFrom: number, migrateTo: number},\n //'dialog_top': Dialog,\n 'dialog_notify_settings': Dialog,\n 'dialogs_multiupdate': {[peerId: string]: Dialog},\n 'dialogs_archived_unread': {count: number},\n \n 'history_append': {storage: MessagesStorage, peerId: number, mid: number},\n 'history_update': {storage: MessagesStorage, peerId: number, mid: number},\n 'history_reply_markup': {peerId: number},\n 'history_multiappend': AppMessagesManager['newMessagesToHandle'],\n 'history_delete': {peerId: number, msgs: {[mid: number]: true}},\n 'history_forbidden': number,\n 'history_reload': number,\n 'history_focus': number,\n //'history_request': void,\n \n 'message_edit': {storage: MessagesStorage, peerId: number, mid: number},\n 'message_views': {mid: number, views: number},\n 'message_sent': {storage: MessagesStorage, tempId: number, tempMessage: any, mid: number},\n 'messages_pending': void,\n 'messages_read': void,\n 'messages_downloaded': {peerId: number, mids: number[]},\n 'messages_media_read': {peerId: number, mids: number[]},\n\n 'replies_updated': Message.message,\n\n 'scheduled_new': {peerId: number, mid: number},\n 'scheduled_delete': {peerId: number, mids: number[]},\n\n 'album_edit': {peerId: number, groupId: string, deletedMids: number[]},\n\n 'stickers_installed': StickerSet.stickerSet,\n 'stickers_deleted': StickerSet.stickerSet,\n\n 'audio_play': {doc: MyDocument, mid: number, peerId: number},\n 'audio_pause': void,\n \n 'state_synchronized': number,\n 'state_synchronizing': number,\n \n 'contacts_update': number,\n 'avatar_update': number,\n 'chat_full_update': number,\n 'poll_update': {poll: Poll, results: PollResults},\n 'chat_update': number,\n 'channel_settings': {channelId: number},\n 'webpage_updated': {id: string, msgs: number[]},\n\n 'apiUpdate': Update,\n 'download_progress': any,\n 'connection_status_change': ConnectionStatusChange,\n 'settings_updated': {key: string, value: any},\n 'draft_updated': {peerId: number, threadId: number, draft: MyDraftMessage | undefined},\n\n 'event-heavy-animation-start': void,\n 'event-heavy-animation-end': void,\n\n 'im_mount': void,\n 'im_tab_change': number,\n\n 'idle': boolean,\n\n 'overlay_toggle': boolean,\n\n 'background_change': void,\n\n 'privacy_update': Update.updatePrivacy,\n\n 'notify_settings': Update.updateNotifySettings,\n 'notify_peer_type_settings': {key: Exclude<NotifyPeer['_'], 'notifyPeer'>, settings: PeerNotifySettings},\n\n 'language_change': void,\n};\n\nexport class RootScope extends EventListenerBase<any> {\n private _overlayIsActive: boolean = false;\n public myId = 0;\n public idle = {\n isIDLE: true\n };\n public connectionStatus: {[name: string]: ConnectionStatusChange} = {};\n public settings: State['settings'];\n\n constructor() {\n super();\n\n this.on('user_auth', (e) => {\n this.myId = e;\n });\n\n this.on('connection_status_change', (e) => {\n const status = e;\n this.connectionStatus[e.name] = status;\n });\n }\n\n get overlayIsActive() {\n return this._overlayIsActive;\n }\n\n set overlayIsActive(value: boolean) {\n this._overlayIsActive = value;\n this.broadcast('overlay_toggle', value);\n }\n\n public broadcast = <T extends keyof BroadcastEvents>(name: T, detail?: BroadcastEvents[T]) => {\n /* //if(DEBUG) {\n if(name !== 'user_update') {\n console.debug('Broadcasting ' + name + ' event, with args:', detail);\n }\n //} */\n\n this.dispatchEvent(name, detail);\n };\n\n public on = <T extends keyof BroadcastEvents>(name: T, callback: (e: BroadcastEvents[T]) => any, once?: true) => {\n super.addEventListener(name, callback, once);\n };\n\n public addEventListener = this.on;\n\n public off = <T extends keyof BroadcastEvents>(name: T, callback: (e: BroadcastEvents[T]) => any) => {\n super.removeEventListener(name, callback);\n };\n\n public removeEventListener = this.off;\n}\n\nconst rootScope = new RootScope();\nMOUNT_CLASS_TO.rootScope = rootScope;\nexport default rootScope;\n\nrootScope.addEventListener('album_edit', (e) => {\n \n});\n\nrootScope.addEventListener<'album_edit'>('album_edit', (e) => {\n \n});\n"],"sourceRoot":""}