mtcute/packages/convert/src/mtkruto/convert.ts
alina sireneva ac8d63a669
chore(core)!: inlined dcOption parsing in string sessions
breaking: readStringSession now accepts only one argument
2024-04-14 18:07:10 +03:00

31 lines
1,012 B
TypeScript

import { readStringSession, StringSessionData } from '@mtcute/core/utils.js'
import { DC_MAPPING_PROD, DC_MAPPING_TEST } from '../dcs.js'
import { parseMtkrutoSession } from './parse.js'
import { serializeMtkrutoSession } from './serialize.js'
import { MtkrutoSession } from './types.js'
export function convertFromMtkrutoSession(session: MtkrutoSession | string): StringSessionData {
if (typeof session === 'string') {
session = parseMtkrutoSession(session)
}
return {
version: 3,
testMode: session.isTest,
primaryDcs: (session.isTest ? DC_MAPPING_TEST : DC_MAPPING_PROD)[session.dcId],
authKey: session.authKey,
}
}
export function convertToMtkrutoSession(session: StringSessionData | string): string {
if (typeof session === 'string') {
session = readStringSession(session)
}
return serializeMtkrutoSession({
dcId: session.primaryDcs.main.id,
isTest: session.testMode,
authKey: session.authKey,
})
}