@mtcute/core 0.28.1 → 0.28.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/client.cjs +8 -0
- package/client.js +8 -0
- package/highlevel/client.d.cts +55 -3
- package/highlevel/client.d.ts +55 -3
- package/highlevel/methods/chats/edit-chat-member-rank.cjs +19 -0
- package/highlevel/methods/chats/edit-chat-member-rank.d.cts +13 -0
- package/highlevel/methods/chats/edit-chat-member-rank.d.ts +13 -0
- package/highlevel/methods/chats/edit-chat-member-rank.js +14 -0
- package/highlevel/methods/chats/get-creator-after-leave.cjs +20 -4
- package/highlevel/methods/chats/get-creator-after-leave.d.cts +2 -2
- package/highlevel/methods/chats/get-creator-after-leave.d.ts +2 -2
- package/highlevel/methods/chats/get-creator-after-leave.js +21 -5
- package/highlevel/methods/chats/toggle-content-protection.cjs +3 -2
- package/highlevel/methods/chats/toggle-content-protection.d.cts +4 -1
- package/highlevel/methods/chats/toggle-content-protection.d.ts +4 -1
- package/highlevel/methods/chats/toggle-content-protection.js +3 -2
- package/highlevel/methods/chats/transfer-chat-ownership.cjs +36 -0
- package/highlevel/methods/chats/transfer-chat-ownership.d.cts +16 -0
- package/highlevel/methods/chats/transfer-chat-ownership.d.ts +16 -0
- package/highlevel/methods/chats/transfer-chat-ownership.js +31 -0
- package/highlevel/methods/files/upload-file.cjs +2 -2
- package/highlevel/methods/files/upload-file.js +2 -2
- package/highlevel/methods/users/resolve-peer.cjs +4 -4
- package/highlevel/methods/users/resolve-peer.js +4 -4
- package/highlevel/methods.d.cts +2 -0
- package/highlevel/methods.d.ts +2 -0
- package/highlevel/types/messages/message-action.cjs +13 -0
- package/highlevel/types/messages/message-action.d.cts +19 -1
- package/highlevel/types/messages/message-action.d.ts +19 -1
- package/highlevel/types/messages/message-action.js +13 -0
- package/highlevel/types/messages/message.cjs +4 -0
- package/highlevel/types/messages/message.d.cts +2 -0
- package/highlevel/types/messages/message.d.ts +2 -0
- package/highlevel/types/messages/message.js +4 -0
- package/highlevel/types/peers/chat-event/actions.cjs +7 -0
- package/highlevel/types/peers/chat-event/actions.d.cts +11 -1
- package/highlevel/types/peers/chat-event/actions.d.ts +11 -1
- package/highlevel/types/peers/chat-event/actions.js +7 -0
- package/highlevel/types/peers/chat-event/filters.cjs +1 -0
- package/highlevel/types/peers/chat-event/filters.js +1 -0
- package/highlevel/types/peers/chat-member.cjs +5 -8
- package/highlevel/types/peers/chat-member.d.cts +2 -2
- package/highlevel/types/peers/chat-member.d.ts +2 -2
- package/highlevel/types/peers/chat-member.js +5 -8
- package/highlevel/types/peers/full-user.cjs +14 -0
- package/highlevel/types/peers/full-user.d.cts +10 -0
- package/highlevel/types/peers/full-user.d.ts +10 -0
- package/highlevel/types/peers/full-user.js +14 -0
- package/highlevel/utils/file-utils.cjs +2 -2
- package/highlevel/utils/file-utils.d.cts +1 -1
- package/highlevel/utils/file-utils.d.ts +1 -1
- package/highlevel/utils/file-utils.js +2 -2
- package/methods.cjs +4 -0
- package/methods.js +4 -0
- package/network/network-manager.cjs +1 -1
- package/network/network-manager.js +1 -1
- package/network/server-salt.cjs +4 -8
- package/network/server-salt.js +4 -8
- package/package.json +3 -3
- package/utils/binary/compat.cjs +8 -0
- package/utils/binary/compat.js +8 -0
- package/utils/date-entity-format.cjs +48 -0
- package/utils/date-entity-format.d.cts +24 -0
- package/utils/date-entity-format.d.ts +24 -0
- package/utils/date-entity-format.js +43 -0
- package/utils/date-entity-format.test.d.cts +1 -0
- package/utils/date-entity-format.test.d.ts +1 -0
- package/utils/index.d.cts +1 -0
- package/utils/index.d.ts +1 -0
- package/utils/links/bots.cjs +3 -0
- package/utils/links/bots.js +3 -0
- package/utils.cjs +3 -0
- package/utils.js +3 -0
package/methods.cjs
CHANGED
|
@@ -47,6 +47,7 @@ const deleteGroup = require("./highlevel/methods/chats/delete-group.cjs");
|
|
|
47
47
|
const deleteHistory = require("./highlevel/methods/chats/delete-history.cjs");
|
|
48
48
|
const deleteUserHistory = require("./highlevel/methods/chats/delete-user-history.cjs");
|
|
49
49
|
const editAdminRights = require("./highlevel/methods/chats/edit-admin-rights.cjs");
|
|
50
|
+
const editChatMemberRank = require("./highlevel/methods/chats/edit-chat-member-rank.cjs");
|
|
50
51
|
const getChatEventLog = require("./highlevel/methods/chats/get-chat-event-log.cjs");
|
|
51
52
|
const getChatMember = require("./highlevel/methods/chats/get-chat-member.cjs");
|
|
52
53
|
const getChatMembers = require("./highlevel/methods/chats/get-chat-members.cjs");
|
|
@@ -84,6 +85,7 @@ const toggleContentProtection = require("./highlevel/methods/chats/toggle-conten
|
|
|
84
85
|
const toggleFragmentUsername = require("./highlevel/methods/chats/toggle-fragment-username.cjs");
|
|
85
86
|
const toggleJoinRequests = require("./highlevel/methods/chats/toggle-join-requests.cjs");
|
|
86
87
|
const toggleJoinToSend = require("./highlevel/methods/chats/toggle-join-to-send.cjs");
|
|
88
|
+
const transferChatOwnership = require("./highlevel/methods/chats/transfer-chat-ownership.cjs");
|
|
87
89
|
const unarchiveChats = require("./highlevel/methods/chats/unarchive-chats.cjs");
|
|
88
90
|
const unbanChatMember = require("./highlevel/methods/chats/unban-chat-member.cjs");
|
|
89
91
|
const addContact = require("./highlevel/methods/contacts/add-contact.cjs");
|
|
@@ -329,6 +331,7 @@ exports.deleteGroup = deleteGroup.deleteGroup;
|
|
|
329
331
|
exports.deleteHistory = deleteHistory.deleteHistory;
|
|
330
332
|
exports.deleteUserHistory = deleteUserHistory.deleteUserHistory;
|
|
331
333
|
exports.editAdminRights = editAdminRights.editAdminRights;
|
|
334
|
+
exports.editChatMemberRank = editChatMemberRank.editChatMemberRank;
|
|
332
335
|
exports.getChatEventLog = getChatEventLog.getChatEventLog;
|
|
333
336
|
exports.getChatMember = getChatMember.getChatMember;
|
|
334
337
|
exports.getChatMembers = getChatMembers.getChatMembers;
|
|
@@ -367,6 +370,7 @@ exports.toggleContentProtection = toggleContentProtection.toggleContentProtectio
|
|
|
367
370
|
exports.toggleFragmentUsername = toggleFragmentUsername.toggleFragmentUsername;
|
|
368
371
|
exports.toggleJoinRequests = toggleJoinRequests.toggleJoinRequests;
|
|
369
372
|
exports.toggleJoinToSend = toggleJoinToSend.toggleJoinToSend;
|
|
373
|
+
exports.transferChatOwnership = transferChatOwnership.transferChatOwnership;
|
|
370
374
|
exports.unarchiveChats = unarchiveChats.unarchiveChats;
|
|
371
375
|
exports.unbanChatMember = unbanChatMember.unbanChatMember;
|
|
372
376
|
exports.addContact = addContact.addContact;
|
package/methods.js
CHANGED
|
@@ -40,6 +40,7 @@ import { deleteGroup } from "./highlevel/methods/chats/delete-group.js";
|
|
|
40
40
|
import { deleteHistory } from "./highlevel/methods/chats/delete-history.js";
|
|
41
41
|
import { deleteUserHistory } from "./highlevel/methods/chats/delete-user-history.js";
|
|
42
42
|
import { editAdminRights } from "./highlevel/methods/chats/edit-admin-rights.js";
|
|
43
|
+
import { editChatMemberRank } from "./highlevel/methods/chats/edit-chat-member-rank.js";
|
|
43
44
|
import { getChatEventLog } from "./highlevel/methods/chats/get-chat-event-log.js";
|
|
44
45
|
import { getChatMember } from "./highlevel/methods/chats/get-chat-member.js";
|
|
45
46
|
import { getChatMembers } from "./highlevel/methods/chats/get-chat-members.js";
|
|
@@ -77,6 +78,7 @@ import { toggleContentProtection } from "./highlevel/methods/chats/toggle-conten
|
|
|
77
78
|
import { toggleFragmentUsername } from "./highlevel/methods/chats/toggle-fragment-username.js";
|
|
78
79
|
import { toggleJoinRequests } from "./highlevel/methods/chats/toggle-join-requests.js";
|
|
79
80
|
import { toggleJoinToSend } from "./highlevel/methods/chats/toggle-join-to-send.js";
|
|
81
|
+
import { transferChatOwnership } from "./highlevel/methods/chats/transfer-chat-ownership.js";
|
|
80
82
|
import { unarchiveChats } from "./highlevel/methods/chats/unarchive-chats.js";
|
|
81
83
|
import { unbanChatMember } from "./highlevel/methods/chats/unban-chat-member.js";
|
|
82
84
|
import { addContact } from "./highlevel/methods/contacts/add-contact.js";
|
|
@@ -340,6 +342,7 @@ export {
|
|
|
340
342
|
downloadChunk,
|
|
341
343
|
editAdminRights,
|
|
342
344
|
editBusinessChatLink,
|
|
345
|
+
editChatMemberRank,
|
|
343
346
|
editCloseFriends,
|
|
344
347
|
editCloseFriendsRaw,
|
|
345
348
|
editFolder,
|
|
@@ -568,6 +571,7 @@ export {
|
|
|
568
571
|
togglePinnedStarGifts,
|
|
569
572
|
toggleStoriesPinned,
|
|
570
573
|
toggleTodoCompleted,
|
|
574
|
+
transferChatOwnership,
|
|
571
575
|
transferStarGift,
|
|
572
576
|
translateMessage,
|
|
573
577
|
translateText,
|
package/network/server-salt.cjs
CHANGED
|
@@ -35,19 +35,15 @@ class ServerSaltManager {
|
|
|
35
35
|
_replaceAndScheduleNext() {
|
|
36
36
|
if (this._timer) utils.timers.clearTimeout(this._timer);
|
|
37
37
|
const now = Date.now() / 1e3;
|
|
38
|
-
let next;
|
|
39
38
|
while (this._futureSalts.length !== 0) {
|
|
40
39
|
const salt = this._futureSalts[0];
|
|
41
|
-
if (salt.validSince
|
|
42
|
-
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
40
|
+
if (salt.validSince > now) break;
|
|
41
|
+
this.currentSalt = salt.salt;
|
|
45
42
|
this._futureSalts.shift();
|
|
46
43
|
}
|
|
47
|
-
if (
|
|
48
|
-
|
|
44
|
+
if (this._futureSalts.length) {
|
|
45
|
+
this._scheduleReplace(this._futureSalts[0]);
|
|
49
46
|
}
|
|
50
|
-
this._scheduleReplace(next);
|
|
51
47
|
}
|
|
52
48
|
destroy() {
|
|
53
49
|
utils.timers.clearTimeout(this._timer);
|
package/network/server-salt.js
CHANGED
|
@@ -28,19 +28,15 @@ class ServerSaltManager {
|
|
|
28
28
|
_replaceAndScheduleNext() {
|
|
29
29
|
if (this._timer) timers.clearTimeout(this._timer);
|
|
30
30
|
const now = Date.now() / 1e3;
|
|
31
|
-
let next;
|
|
32
31
|
while (this._futureSalts.length !== 0) {
|
|
33
32
|
const salt = this._futureSalts[0];
|
|
34
|
-
if (salt.validSince
|
|
35
|
-
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
33
|
+
if (salt.validSince > now) break;
|
|
34
|
+
this.currentSalt = salt.salt;
|
|
38
35
|
this._futureSalts.shift();
|
|
39
36
|
}
|
|
40
|
-
if (
|
|
41
|
-
|
|
37
|
+
if (this._futureSalts.length) {
|
|
38
|
+
this._scheduleReplace(this._futureSalts[0]);
|
|
42
39
|
}
|
|
43
|
-
this._scheduleReplace(next);
|
|
44
40
|
}
|
|
45
41
|
destroy() {
|
|
46
42
|
timers.clearTimeout(this._timer);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mtcute/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.28.
|
|
4
|
+
"version": "0.28.2",
|
|
5
5
|
"description": "Type-safe library for MTProto (Telegram API)",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"scripts": {},
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"@fuman/io": "0.0.19",
|
|
10
10
|
"@fuman/net": "0.0.19",
|
|
11
11
|
"@fuman/utils": "0.0.19",
|
|
12
|
-
"@mtcute/file-id": "^0.28.
|
|
13
|
-
"@mtcute/tl": "^
|
|
12
|
+
"@mtcute/file-id": "^0.28.2",
|
|
13
|
+
"@mtcute/tl": "^223.0.0",
|
|
14
14
|
"@mtcute/tl-runtime": "^0.24.3",
|
|
15
15
|
"@types/events": "3.0.0",
|
|
16
16
|
"long": "5.2.3"
|
package/utils/binary/compat.cjs
CHANGED
|
@@ -206,6 +206,7 @@ function mapCompatMessage(obj) {
|
|
|
206
206
|
case "message_layer204":
|
|
207
207
|
case "message_layer216":
|
|
208
208
|
case "message_layer220":
|
|
209
|
+
case "message_layer222":
|
|
209
210
|
return {
|
|
210
211
|
...obj,
|
|
211
212
|
_: "message",
|
|
@@ -339,6 +340,7 @@ function mapCompatObject(obj) {
|
|
|
339
340
|
case "message_layer204":
|
|
340
341
|
case "message_layer216":
|
|
341
342
|
case "message_layer220":
|
|
343
|
+
case "message_layer222":
|
|
342
344
|
case "messageService_layer204":
|
|
343
345
|
return mapCompatMessage(obj);
|
|
344
346
|
case "messageReplyHeader_layer206":
|
|
@@ -368,6 +370,12 @@ function mapCompatObject(obj) {
|
|
|
368
370
|
case "starGiftAttributePattern_layer221":
|
|
369
371
|
case "starGiftAttributeModel_layer221":
|
|
370
372
|
return mapCompatStarGiftAttribute(obj);
|
|
373
|
+
case "chatParticipant_layer222":
|
|
374
|
+
return replaceType(obj, "chatParticipant");
|
|
375
|
+
case "chatParticipantCreator_layer222":
|
|
376
|
+
return replaceType(obj, "chatParticipantCreator");
|
|
377
|
+
case "chatParticipantAdmin_layer222":
|
|
378
|
+
return replaceType(obj, "chatParticipantAdmin");
|
|
371
379
|
case "keyboardButton_layer221":
|
|
372
380
|
case "keyboardButtonUrl_layer221":
|
|
373
381
|
case "keyboardButtonCallback_layer221":
|
package/utils/binary/compat.js
CHANGED
|
@@ -199,6 +199,7 @@ function mapCompatMessage(obj) {
|
|
|
199
199
|
case "message_layer204":
|
|
200
200
|
case "message_layer216":
|
|
201
201
|
case "message_layer220":
|
|
202
|
+
case "message_layer222":
|
|
202
203
|
return {
|
|
203
204
|
...obj,
|
|
204
205
|
_: "message",
|
|
@@ -332,6 +333,7 @@ function mapCompatObject(obj) {
|
|
|
332
333
|
case "message_layer204":
|
|
333
334
|
case "message_layer216":
|
|
334
335
|
case "message_layer220":
|
|
336
|
+
case "message_layer222":
|
|
335
337
|
case "messageService_layer204":
|
|
336
338
|
return mapCompatMessage(obj);
|
|
337
339
|
case "messageReplyHeader_layer206":
|
|
@@ -361,6 +363,12 @@ function mapCompatObject(obj) {
|
|
|
361
363
|
case "starGiftAttributePattern_layer221":
|
|
362
364
|
case "starGiftAttributeModel_layer221":
|
|
363
365
|
return mapCompatStarGiftAttribute(obj);
|
|
366
|
+
case "chatParticipant_layer222":
|
|
367
|
+
return replaceType(obj, "chatParticipant");
|
|
368
|
+
case "chatParticipantCreator_layer222":
|
|
369
|
+
return replaceType(obj, "chatParticipantCreator");
|
|
370
|
+
case "chatParticipantAdmin_layer222":
|
|
371
|
+
return replaceType(obj, "chatParticipantAdmin");
|
|
364
372
|
case "keyboardButton_layer221":
|
|
365
373
|
case "keyboardButtonUrl_layer221":
|
|
366
374
|
case "keyboardButtonCallback_layer221":
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[@mtcute/core] CommonJS bundles are deprecated. They will be removed completely in one of the upcoming releases. No support is provided for CommonJS users. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[@mtcute/core] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
function parseDateEntityFormat(format) {
|
|
9
|
+
if (format === "r" || format === "R") {
|
|
10
|
+
return { relative: true };
|
|
11
|
+
}
|
|
12
|
+
const result = {};
|
|
13
|
+
for (const c of format) {
|
|
14
|
+
switch (c) {
|
|
15
|
+
case "t":
|
|
16
|
+
result.shortTime = true;
|
|
17
|
+
break;
|
|
18
|
+
case "T":
|
|
19
|
+
result.longTime = true;
|
|
20
|
+
break;
|
|
21
|
+
case "d":
|
|
22
|
+
result.shortDate = true;
|
|
23
|
+
break;
|
|
24
|
+
case "D":
|
|
25
|
+
result.longDate = true;
|
|
26
|
+
break;
|
|
27
|
+
case "w":
|
|
28
|
+
case "W":
|
|
29
|
+
result.dayOfWeek = true;
|
|
30
|
+
break;
|
|
31
|
+
default:
|
|
32
|
+
throw new Error(`Invalid date format character: ${c}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
function dateEntityFormatToString(entity) {
|
|
38
|
+
if (entity.relative) return "r";
|
|
39
|
+
let result = "";
|
|
40
|
+
if (entity.dayOfWeek) result += "w";
|
|
41
|
+
if (entity.shortDate) result += "d";
|
|
42
|
+
if (entity.longDate) result += "D";
|
|
43
|
+
if (entity.shortTime) result += "t";
|
|
44
|
+
if (entity.longTime) result += "T";
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
exports.dateEntityFormatToString = dateEntityFormatToString;
|
|
48
|
+
exports.parseDateEntityFormat = parseDateEntityFormat;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { tl } from '@mtcute/tl';
|
|
2
|
+
export type DateEntityFlags = Omit<tl.RawMessageEntityFormattedDate, '_' | 'offset' | 'length' | 'date'>;
|
|
3
|
+
/**
|
|
4
|
+
* Parse a date-time entity format string into flags for `messageEntityFormattedDate`.
|
|
5
|
+
*
|
|
6
|
+
* Format string must match: `r|w?[dD]?[tT]?`
|
|
7
|
+
*
|
|
8
|
+
* Control characters:
|
|
9
|
+
* - `r`: relative time (cannot be combined with others)
|
|
10
|
+
* - `w`: day of the week
|
|
11
|
+
* - `d`: short date (e.g. "17.03.22")
|
|
12
|
+
* - `D`: long date (e.g. "March 17, 2022")
|
|
13
|
+
* - `t`: short time (e.g. "22:45")
|
|
14
|
+
* - `T`: long time (e.g. "22:45:00")
|
|
15
|
+
*
|
|
16
|
+
* Empty string means display text as-is, user can still see the underlying date.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseDateEntityFormat(format: string): DateEntityFlags;
|
|
19
|
+
/**
|
|
20
|
+
* Convert `messageEntityFormattedDate` flags to a format string.
|
|
21
|
+
*
|
|
22
|
+
* @see {@link parseDateEntityFormat} for the format description
|
|
23
|
+
*/
|
|
24
|
+
export declare function dateEntityFormatToString(entity: DateEntityFlags): string;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { tl } from '@mtcute/tl';
|
|
2
|
+
export type DateEntityFlags = Omit<tl.RawMessageEntityFormattedDate, '_' | 'offset' | 'length' | 'date'>;
|
|
3
|
+
/**
|
|
4
|
+
* Parse a date-time entity format string into flags for `messageEntityFormattedDate`.
|
|
5
|
+
*
|
|
6
|
+
* Format string must match: `r|w?[dD]?[tT]?`
|
|
7
|
+
*
|
|
8
|
+
* Control characters:
|
|
9
|
+
* - `r`: relative time (cannot be combined with others)
|
|
10
|
+
* - `w`: day of the week
|
|
11
|
+
* - `d`: short date (e.g. "17.03.22")
|
|
12
|
+
* - `D`: long date (e.g. "March 17, 2022")
|
|
13
|
+
* - `t`: short time (e.g. "22:45")
|
|
14
|
+
* - `T`: long time (e.g. "22:45:00")
|
|
15
|
+
*
|
|
16
|
+
* Empty string means display text as-is, user can still see the underlying date.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseDateEntityFormat(format: string): DateEntityFlags;
|
|
19
|
+
/**
|
|
20
|
+
* Convert `messageEntityFormattedDate` flags to a format string.
|
|
21
|
+
*
|
|
22
|
+
* @see {@link parseDateEntityFormat} for the format description
|
|
23
|
+
*/
|
|
24
|
+
export declare function dateEntityFormatToString(entity: DateEntityFlags): string;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
function parseDateEntityFormat(format) {
|
|
2
|
+
if (format === "r" || format === "R") {
|
|
3
|
+
return { relative: true };
|
|
4
|
+
}
|
|
5
|
+
const result = {};
|
|
6
|
+
for (const c of format) {
|
|
7
|
+
switch (c) {
|
|
8
|
+
case "t":
|
|
9
|
+
result.shortTime = true;
|
|
10
|
+
break;
|
|
11
|
+
case "T":
|
|
12
|
+
result.longTime = true;
|
|
13
|
+
break;
|
|
14
|
+
case "d":
|
|
15
|
+
result.shortDate = true;
|
|
16
|
+
break;
|
|
17
|
+
case "D":
|
|
18
|
+
result.longDate = true;
|
|
19
|
+
break;
|
|
20
|
+
case "w":
|
|
21
|
+
case "W":
|
|
22
|
+
result.dayOfWeek = true;
|
|
23
|
+
break;
|
|
24
|
+
default:
|
|
25
|
+
throw new Error(`Invalid date format character: ${c}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
function dateEntityFormatToString(entity) {
|
|
31
|
+
if (entity.relative) return "r";
|
|
32
|
+
let result = "";
|
|
33
|
+
if (entity.dayOfWeek) result += "w";
|
|
34
|
+
if (entity.shortDate) result += "d";
|
|
35
|
+
if (entity.longDate) result += "D";
|
|
36
|
+
if (entity.shortTime) result += "t";
|
|
37
|
+
if (entity.longTime) result += "T";
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
dateEntityFormatToString,
|
|
42
|
+
parseDateEntityFormat
|
|
43
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/utils/index.d.cts
CHANGED
|
@@ -7,6 +7,7 @@ export * from './bigint-utils.js';
|
|
|
7
7
|
export * from './binary/compat.js';
|
|
8
8
|
export * from './binary/serialization.js';
|
|
9
9
|
export * from './crypto/index.js';
|
|
10
|
+
export * from './date-entity-format.js';
|
|
10
11
|
export * from './dcs.js';
|
|
11
12
|
export * from './early-timer.js';
|
|
12
13
|
export * from './function-utils.js';
|
package/utils/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from './bigint-utils.js';
|
|
|
7
7
|
export * from './binary/compat.js';
|
|
8
8
|
export * from './binary/serialization.js';
|
|
9
9
|
export * from './crypto/index.js';
|
|
10
|
+
export * from './date-entity-format.js';
|
|
10
11
|
export * from './dcs.js';
|
|
11
12
|
export * from './early-timer.js';
|
|
12
13
|
export * from './function-utils.js';
|
package/utils/links/bots.cjs
CHANGED
package/utils/links/bots.js
CHANGED
package/utils.cjs
CHANGED
|
@@ -12,6 +12,7 @@ const defaultDcs = require("./storage/service/default-dcs.cjs");
|
|
|
12
12
|
const bigintUtils = require("./utils/bigint-utils.cjs");
|
|
13
13
|
const compat = require("./utils/binary/compat.cjs");
|
|
14
14
|
const serialization = require("./utils/binary/serialization.cjs");
|
|
15
|
+
const dateEntityFormat = require("./utils/date-entity-format.cjs");
|
|
15
16
|
const dcs = require("./utils/dcs.cjs");
|
|
16
17
|
const earlyTimer = require("./utils/early-timer.cjs");
|
|
17
18
|
const functionUtils = require("./utils/function-utils.cjs");
|
|
@@ -57,6 +58,8 @@ exports.deserializeObject = serialization.deserializeObject;
|
|
|
57
58
|
exports.deserializePeersIndex = serialization.deserializePeersIndex;
|
|
58
59
|
exports.serializeObject = serialization.serializeObject;
|
|
59
60
|
exports.serializePeersIndex = serialization.serializePeersIndex;
|
|
61
|
+
exports.dateEntityFormatToString = dateEntityFormat.dateEntityFormatToString;
|
|
62
|
+
exports.parseDateEntityFormat = dateEntityFormat.parseDateEntityFormat;
|
|
60
63
|
exports.defaultProductionDc = dcs.defaultProductionDc;
|
|
61
64
|
exports.defaultProductionIpv6Dc = dcs.defaultProductionIpv6Dc;
|
|
62
65
|
exports.defaultTestDc = dcs.defaultTestDc;
|
package/utils.js
CHANGED
|
@@ -5,6 +5,7 @@ import { DefaultDcsService } from "./storage/service/default-dcs.js";
|
|
|
5
5
|
import { randomBigInt, randomBigIntBits, randomBigIntInRange } from "./utils/bigint-utils.js";
|
|
6
6
|
import { __tlReaderMapWithCompat, deserializeObjectWithCompat, deserializePeersIndexWithCompat } from "./utils/binary/compat.js";
|
|
7
7
|
import { deserializeObject, deserializePeersIndex, serializeObject, serializePeersIndex } from "./utils/binary/serialization.js";
|
|
8
|
+
import { dateEntityFormatToString, parseDateEntityFormat } from "./utils/date-entity-format.js";
|
|
8
9
|
import { defaultProductionDc, defaultProductionIpv6Dc, defaultTestDc, defaultTestIpv6Dc, parseBasicDcOption, serializeBasicDcOption } from "./utils/dcs.js";
|
|
9
10
|
import { EarlyTimer } from "./utils/early-timer.js";
|
|
10
11
|
import { asyncResettable, throttle } from "./utils/function-utils.js";
|
|
@@ -64,6 +65,7 @@ export {
|
|
|
64
65
|
computeSrpParams,
|
|
65
66
|
createAesIgeForMessage,
|
|
66
67
|
createAesIgeForMessageOld,
|
|
68
|
+
dateEntityFormatToString,
|
|
67
69
|
decodeWaveform,
|
|
68
70
|
defaultProductionDc,
|
|
69
71
|
defaultProductionIpv6Dc,
|
|
@@ -118,6 +120,7 @@ export {
|
|
|
118
120
|
normalizeMessageId,
|
|
119
121
|
normalizePhoneNumber,
|
|
120
122
|
parseBasicDcOption,
|
|
123
|
+
parseDateEntityFormat,
|
|
121
124
|
parseInlineMessageId,
|
|
122
125
|
parseMarkedPeerId,
|
|
123
126
|
parsePublicKey,
|