agent-messenger 2.5.0 → 2.6.1
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/.claude-plugin/plugin.json +1 -1
- package/.github/workflows/ci.yml +44 -0
- package/.oxlintrc.json +1 -1
- package/bun.lock +0 -27
- package/bunfig.toml +0 -3
- package/dist/package.json +1 -2
- package/dist/src/platforms/kakaotalk/client.d.ts +4 -1
- package/dist/src/platforms/kakaotalk/client.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/client.js +21 -7
- package/dist/src/platforms/kakaotalk/client.js.map +1 -1
- package/dist/src/platforms/kakaotalk/commands/auth.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/commands/auth.js +24 -55
- package/dist/src/platforms/kakaotalk/commands/auth.js.map +1 -1
- package/dist/src/platforms/kakaotalk/credential-manager.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/credential-manager.js +1 -0
- package/dist/src/platforms/kakaotalk/credential-manager.js.map +1 -1
- package/dist/src/platforms/kakaotalk/index.d.ts +1 -1
- package/dist/src/platforms/kakaotalk/index.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/index.js.map +1 -1
- package/dist/src/platforms/kakaotalk/listener.js +2 -2
- package/dist/src/platforms/kakaotalk/listener.js.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/config.d.ts +8 -2
- package/dist/src/platforms/kakaotalk/protocol/config.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/config.js +15 -2
- package/dist/src/platforms/kakaotalk/protocol/config.js.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/session.d.ts +3 -1
- package/dist/src/platforms/kakaotalk/protocol/session.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/protocol/session.js +13 -10
- package/dist/src/platforms/kakaotalk/protocol/session.js.map +1 -1
- package/dist/src/platforms/kakaotalk/types.d.ts +10 -0
- package/dist/src/platforms/kakaotalk/types.d.ts.map +1 -1
- package/dist/src/platforms/kakaotalk/types.js +1 -0
- package/dist/src/platforms/kakaotalk/types.js.map +1 -1
- package/dist/src/platforms/line/client.js +2 -2
- package/dist/src/platforms/line/client.js.map +1 -1
- package/dist/src/tui/adapters/kakaotalk-adapter.d.ts.map +1 -1
- package/dist/src/tui/adapters/kakaotalk-adapter.js +5 -2
- package/dist/src/tui/adapters/kakaotalk-adapter.js.map +1 -1
- package/dist/src/vendor/linejs/LICENSE +21 -0
- package/dist/src/vendor/linejs/README.md +89 -0
- package/dist/src/vendor/linejs/_dist/base/core/mod.d.ts +125 -0
- package/dist/src/vendor/linejs/_dist/base/core/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts +13 -0
- package/dist/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/continue.d.ts +10 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/continue.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/devices.d.ts +8 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/devices.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/error.d.ts +8 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/error.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/events.d.ts +22 -0
- package/dist/src/vendor/linejs/_dist/base/core/utils/events.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/e2ee/mod.d.ts +64 -0
- package/dist/src/vendor/linejs/_dist/base/e2ee/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/login/mod.d.ts +138 -0
- package/dist/src/vendor/linejs/_dist/base/login/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/mod.d.ts +6 -0
- package/dist/src/vendor/linejs/_dist/base/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/obs/mod.d.ts +100 -0
- package/dist/src/vendor/linejs/_dist/base/obs/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/polling/mod.d.ts +55 -0
- package/dist/src/vendor/linejs/_dist/base/polling/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/push/conn.d.ts +39 -0
- package/dist/src/vendor/linejs/_dist/base/push/conn.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/push/connData.d.ts +19 -0
- package/dist/src/vendor/linejs/_dist/base/push/connData.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/push/connManager.d.ts +43 -0
- package/dist/src/vendor/linejs/_dist/base/push/connManager.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/push/mod.d.ts +2 -0
- package/dist/src/vendor/linejs/_dist/base/push/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/request/mod.d.ts +45 -0
- package/dist/src/vendor/linejs/_dist/base/request/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/auth/mod.d.ts +32 -0
- package/dist/src/vendor/linejs/_dist/base/service/auth/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/call/mod.d.ts +29 -0
- package/dist/src/vendor/linejs/_dist/base/service/call/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/channel/mod.d.ts +28 -0
- package/dist/src/vendor/linejs/_dist/base/service/channel/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/liff/mod.d.ts +51 -0
- package/dist/src/vendor/linejs/_dist/base/service/liff/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts +38 -0
- package/dist/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/mod.d.ts +9 -0
- package/dist/src/vendor/linejs/_dist/base/service/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/relation/mod.d.ts +30 -0
- package/dist/src/vendor/linejs/_dist/base/service/relation/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/square/mod.d.ts +162 -0
- package/dist/src/vendor/linejs/_dist/base/service/square/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/talk/mod.d.ts +194 -0
- package/dist/src/vendor/linejs/_dist/base/service/talk/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/service/types.d.ts +9 -0
- package/dist/src/vendor/linejs/_dist/base/service/types.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/storage/base.d.ts +34 -0
- package/dist/src/vendor/linejs/_dist/base/storage/base.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/storage/file.d.ts +20 -0
- package/dist/src/vendor/linejs/_dist/base/storage/file.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/storage/memory.d.ts +19 -0
- package/dist/src/vendor/linejs/_dist/base/storage/memory.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/storage/mod.d.ts +4 -0
- package/dist/src/vendor/linejs/_dist/base/storage/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/mod.d.ts +14 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts +20 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts +7 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts +1109 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts +3 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts +7 -0
- package/dist/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/timeline/mod.d.ts +83 -0
- package/dist/src/vendor/linejs/_dist/base/timeline/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/base/types.d.ts +11 -0
- package/dist/src/vendor/linejs/_dist/base/types.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/client.d.ts +70 -0
- package/dist/src/vendor/linejs/_dist/client/client.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts +5 -0
- package/dist/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/chat/mod.d.ts +58 -0
- package/dist/src/vendor/linejs/_dist/client/features/chat/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts +5 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/mod.d.ts +3 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/square.d.ts +94 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/square.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/talk.d.ts +87 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/talk.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/types.d.ts +29 -0
- package/dist/src/vendor/linejs/_dist/client/features/message/types.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/square/mod.d.ts +65 -0
- package/dist/src/vendor/linejs/_dist/client/features/square/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/features/user/mod.d.ts +10 -0
- package/dist/src/vendor/linejs/_dist/client/features/user/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/login.d.ts +41 -0
- package/dist/src/vendor/linejs/_dist/client/login.d.ts.map +1 -0
- package/dist/src/vendor/linejs/_dist/client/mod.d.ts +3 -0
- package/dist/src/vendor/linejs/_dist/client/mod.d.ts.map +1 -0
- package/dist/src/vendor/linejs/base/core/mod.js +197 -0
- package/dist/src/vendor/linejs/base/core/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/core/typed-event-emitter/index.js +43 -0
- package/dist/src/vendor/linejs/base/core/typed-event-emitter/index.js.map +1 -0
- package/dist/src/vendor/linejs/base/core/utils/continue.js +42 -0
- package/dist/src/vendor/linejs/base/core/utils/continue.js.map +1 -0
- package/dist/src/vendor/linejs/base/core/utils/devices.js +67 -0
- package/dist/src/vendor/linejs/base/core/utils/devices.js.map +1 -0
- package/dist/src/vendor/linejs/base/core/utils/error.js +11 -0
- package/dist/src/vendor/linejs/base/core/utils/error.js.map +1 -0
- package/dist/src/vendor/linejs/base/core/utils/events.js +1 -0
- package/dist/src/vendor/linejs/base/core/utils/events.js.map +1 -0
- package/dist/src/vendor/linejs/base/e2ee/mod.js +817 -0
- package/dist/src/vendor/linejs/base/e2ee/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/login/mod.js +594 -0
- package/dist/src/vendor/linejs/base/login/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/login/regex.js +6 -0
- package/dist/src/vendor/linejs/base/login/regex.js.map +1 -0
- package/dist/src/vendor/linejs/base/login/rsa-verify.js +73 -0
- package/dist/src/vendor/linejs/base/login/rsa-verify.js.map +1 -0
- package/dist/src/vendor/linejs/base/mod.js +6 -0
- package/dist/src/vendor/linejs/base/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/obs/mime.js +138 -0
- package/dist/src/vendor/linejs/base/obs/mime.js.map +1 -0
- package/dist/src/vendor/linejs/base/obs/mod.js +309 -0
- package/dist/src/vendor/linejs/base/obs/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/polling/mod.js +153 -0
- package/dist/src/vendor/linejs/base/polling/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/push/conn.js +254 -0
- package/dist/src/vendor/linejs/base/push/conn.js.map +1 -0
- package/dist/src/vendor/linejs/base/push/connData.js +81 -0
- package/dist/src/vendor/linejs/base/push/connData.js.map +1 -0
- package/dist/src/vendor/linejs/base/push/connManager.js +422 -0
- package/dist/src/vendor/linejs/base/push/connManager.js.map +1 -0
- package/dist/src/vendor/linejs/base/push/mod.js +2 -0
- package/dist/src/vendor/linejs/base/push/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/request/mod.js +195 -0
- package/dist/src/vendor/linejs/base/request/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/auth/mod.js +83 -0
- package/dist/src/vendor/linejs/base/service/auth/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/call/mod.js +63 -0
- package/dist/src/vendor/linejs/base/service/call/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/channel/mod.js +52 -0
- package/dist/src/vendor/linejs/base/service/channel/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/liff/mod.js +240 -0
- package/dist/src/vendor/linejs/base/service/liff/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/livetalk/mod.js +90 -0
- package/dist/src/vendor/linejs/base/service/livetalk/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/mod.js +9 -0
- package/dist/src/vendor/linejs/base/service/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/relation/mod.js +86 -0
- package/dist/src/vendor/linejs/base/service/relation/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/square/mod.js +414 -0
- package/dist/src/vendor/linejs/base/service/square/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/talk/mod.js +525 -0
- package/dist/src/vendor/linejs/base/service/talk/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/service/types.js +1 -0
- package/dist/src/vendor/linejs/base/service/types.js.map +1 -0
- package/dist/src/vendor/linejs/base/storage/base.js +5 -0
- package/dist/src/vendor/linejs/base/storage/base.js.map +1 -0
- package/dist/src/vendor/linejs/base/storage/file.js +63 -0
- package/dist/src/vendor/linejs/base/storage/file.js.map +1 -0
- package/dist/src/vendor/linejs/base/storage/memory.js +46 -0
- package/dist/src/vendor/linejs/base/storage/memory.js.map +1 -0
- package/dist/src/vendor/linejs/base/storage/mod.js +4 -0
- package/dist/src/vendor/linejs/base/storage/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/README.md +53 -0
- package/dist/src/vendor/linejs/base/thrift/mod.js +22 -0
- package/dist/src/vendor/linejs/base/thrift/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/declares.js +54 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/declares.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/read.js +115 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/read.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/struct.js +14449 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/struct.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/tmc.js +460 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/tmc.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/write.js +234 -0
- package/dist/src/vendor/linejs/base/thrift/readwrite/write.js.map +1 -0
- package/dist/src/vendor/linejs/base/thrift/rename/parser.js +121 -0
- package/dist/src/vendor/linejs/base/thrift/rename/parser.js.map +1 -0
- package/dist/src/vendor/linejs/base/timeline/mod.js +360 -0
- package/dist/src/vendor/linejs/base/timeline/mod.js.map +1 -0
- package/dist/src/vendor/linejs/base/types.js +8 -0
- package/dist/src/vendor/linejs/base/types.js.map +1 -0
- package/dist/src/vendor/linejs/client/client.js +185 -0
- package/dist/src/vendor/linejs/client/client.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/chat/fetcher.js +29 -0
- package/dist/src/vendor/linejs/client/features/chat/fetcher.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/chat/mod.js +118 -0
- package/dist/src/vendor/linejs/client/features/chat/mod.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/internal-types.js +1 -0
- package/dist/src/vendor/linejs/client/features/message/internal-types.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/mod.js +5 -0
- package/dist/src/vendor/linejs/client/features/message/mod.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/square.js +464 -0
- package/dist/src/vendor/linejs/client/features/message/square.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/talk.js +340 -0
- package/dist/src/vendor/linejs/client/features/message/talk.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/types.js +1 -0
- package/dist/src/vendor/linejs/client/features/message/types.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/message/utils.js +83 -0
- package/dist/src/vendor/linejs/client/features/message/utils.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/square/mod.js +173 -0
- package/dist/src/vendor/linejs/client/features/square/mod.js.map +1 -0
- package/dist/src/vendor/linejs/client/features/user/mod.js +9 -0
- package/dist/src/vendor/linejs/client/features/user/mod.js.map +1 -0
- package/dist/src/vendor/linejs/client/login.js +36 -0
- package/dist/src/vendor/linejs/client/login.js.map +1 -0
- package/dist/src/vendor/linejs/client/mod.js +3 -0
- package/dist/src/vendor/linejs/client/mod.js.map +1 -0
- package/dist/src/vendor/linejs/deno.json +24 -0
- package/dist/src/vendor/linejs/package.json +35 -0
- package/dist/src/vendor/linejs-types/LICENSE +21 -0
- package/dist/src/vendor/linejs-types/README.md +11 -0
- package/dist/src/vendor/linejs-types/_dist/line_types.d.ts +11629 -0
- package/dist/src/vendor/linejs-types/_dist/line_types.d.ts.map +1 -0
- package/dist/src/vendor/linejs-types/_dist/thrift.d.ts +4 -0
- package/dist/src/vendor/linejs-types/_dist/thrift.d.ts.map +1 -0
- package/dist/src/vendor/linejs-types/deno.json +12 -0
- package/dist/src/vendor/linejs-types/line_types.js +2704 -0
- package/dist/src/vendor/linejs-types/line_types.js.map +1 -0
- package/dist/src/vendor/linejs-types/package.json +20 -0
- package/dist/src/vendor/linejs-types/thrift.js +37670 -0
- package/dist/src/vendor/linejs-types/thrift.js.map +1 -0
- package/dist/src/vendor/loose-types/LICENSE +21 -0
- package/dist/src/vendor/loose-types/README.md +30 -0
- package/dist/src/vendor/loose-types/_dist/mod.d.ts +23 -0
- package/dist/src/vendor/loose-types/_dist/mod.d.ts.map +1 -0
- package/dist/src/vendor/loose-types/deno.json +7 -0
- package/dist/src/vendor/loose-types/mod.js +7 -0
- package/dist/src/vendor/loose-types/mod.js.map +1 -0
- package/dist/src/vendor/loose-types/package.json +14 -0
- package/dist/src/vendor/runtime-shims.d.ts +13 -0
- package/docs/content/docs/cli/kakaotalk.mdx +3 -39
- package/e2e/config.ts +1 -1
- package/package.json +1 -2
- package/scripts/postbuild.ts +5 -1
- package/skills/agent-channeltalk/SKILL.md +1 -1
- package/skills/agent-channeltalkbot/SKILL.md +1 -1
- package/skills/agent-discord/SKILL.md +1 -1
- package/skills/agent-discordbot/SKILL.md +1 -1
- package/skills/agent-instagram/SKILL.md +1 -1
- package/skills/agent-kakaotalk/SKILL.md +11 -63
- package/skills/agent-kakaotalk/references/authentication.md +4 -69
- package/skills/agent-kakaotalk/references/common-patterns.md +13 -0
- package/skills/agent-line/SKILL.md +1 -1
- package/skills/agent-slack/SKILL.md +1 -1
- package/skills/agent-slackbot/SKILL.md +1 -1
- package/skills/agent-teams/SKILL.md +1 -1
- package/skills/agent-telegram/SKILL.md +1 -1
- package/skills/agent-webex/SKILL.md +1 -1
- package/skills/agent-wechatbot/SKILL.md +1 -1
- package/skills/agent-whatsapp/SKILL.md +1 -1
- package/skills/agent-whatsappbot/SKILL.md +1 -1
- package/src/platforms/kakaotalk/client.ts +25 -10
- package/src/platforms/kakaotalk/commands/auth.ts +22 -73
- package/src/platforms/kakaotalk/credential-manager.ts +1 -0
- package/src/platforms/kakaotalk/index.ts +1 -0
- package/src/platforms/kakaotalk/listener.test.ts +2 -2
- package/src/platforms/kakaotalk/listener.ts +2 -2
- package/src/platforms/kakaotalk/protocol/config.ts +26 -2
- package/src/platforms/kakaotalk/protocol/session.ts +16 -10
- package/src/platforms/kakaotalk/types.ts +4 -0
- package/src/platforms/line/client.ts +2 -2
- package/src/tui/adapters/kakaotalk-adapter.ts +5 -2
- package/src/vendor/linejs/LICENSE +21 -0
- package/src/vendor/linejs/README.md +89 -0
- package/src/vendor/linejs/_dist/base/core/mod.d.ts +125 -0
- package/src/vendor/linejs/_dist/base/core/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts +13 -0
- package/src/vendor/linejs/_dist/base/core/typed-event-emitter/index.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/core/utils/continue.d.ts +10 -0
- package/src/vendor/linejs/_dist/base/core/utils/continue.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/core/utils/devices.d.ts +8 -0
- package/src/vendor/linejs/_dist/base/core/utils/devices.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/core/utils/error.d.ts +8 -0
- package/src/vendor/linejs/_dist/base/core/utils/error.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/core/utils/events.d.ts +22 -0
- package/src/vendor/linejs/_dist/base/core/utils/events.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/e2ee/mod.d.ts +64 -0
- package/src/vendor/linejs/_dist/base/e2ee/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/login/mod.d.ts +138 -0
- package/src/vendor/linejs/_dist/base/login/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/mod.d.ts +6 -0
- package/src/vendor/linejs/_dist/base/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/obs/mod.d.ts +100 -0
- package/src/vendor/linejs/_dist/base/obs/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/polling/mod.d.ts +55 -0
- package/src/vendor/linejs/_dist/base/polling/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/push/conn.d.ts +39 -0
- package/src/vendor/linejs/_dist/base/push/conn.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/push/connData.d.ts +19 -0
- package/src/vendor/linejs/_dist/base/push/connData.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/push/connManager.d.ts +43 -0
- package/src/vendor/linejs/_dist/base/push/connManager.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/push/mod.d.ts +2 -0
- package/src/vendor/linejs/_dist/base/push/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/request/mod.d.ts +45 -0
- package/src/vendor/linejs/_dist/base/request/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/auth/mod.d.ts +32 -0
- package/src/vendor/linejs/_dist/base/service/auth/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/call/mod.d.ts +29 -0
- package/src/vendor/linejs/_dist/base/service/call/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/channel/mod.d.ts +28 -0
- package/src/vendor/linejs/_dist/base/service/channel/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/liff/mod.d.ts +51 -0
- package/src/vendor/linejs/_dist/base/service/liff/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts +38 -0
- package/src/vendor/linejs/_dist/base/service/livetalk/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/mod.d.ts +9 -0
- package/src/vendor/linejs/_dist/base/service/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/relation/mod.d.ts +30 -0
- package/src/vendor/linejs/_dist/base/service/relation/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/square/mod.d.ts +162 -0
- package/src/vendor/linejs/_dist/base/service/square/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/talk/mod.d.ts +194 -0
- package/src/vendor/linejs/_dist/base/service/talk/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/service/types.d.ts +9 -0
- package/src/vendor/linejs/_dist/base/service/types.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/storage/base.d.ts +34 -0
- package/src/vendor/linejs/_dist/base/storage/base.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/storage/file.d.ts +20 -0
- package/src/vendor/linejs/_dist/base/storage/file.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/storage/memory.d.ts +19 -0
- package/src/vendor/linejs/_dist/base/storage/memory.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/storage/mod.d.ts +4 -0
- package/src/vendor/linejs/_dist/base/storage/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/mod.d.ts +14 -0
- package/src/vendor/linejs/_dist/base/thrift/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts +20 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/declares.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts +7 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/read.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts +1109 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/struct.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts +3 -0
- package/src/vendor/linejs/_dist/base/thrift/readwrite/write.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts +7 -0
- package/src/vendor/linejs/_dist/base/thrift/rename/parser.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/timeline/mod.d.ts +83 -0
- package/src/vendor/linejs/_dist/base/timeline/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/base/types.d.ts +11 -0
- package/src/vendor/linejs/_dist/base/types.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/client.d.ts +70 -0
- package/src/vendor/linejs/_dist/client/client.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts +5 -0
- package/src/vendor/linejs/_dist/client/features/chat/fetcher.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/chat/mod.d.ts +58 -0
- package/src/vendor/linejs/_dist/client/features/chat/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts +5 -0
- package/src/vendor/linejs/_dist/client/features/message/internal-types.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/message/mod.d.ts +3 -0
- package/src/vendor/linejs/_dist/client/features/message/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/message/square.d.ts +94 -0
- package/src/vendor/linejs/_dist/client/features/message/square.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/message/talk.d.ts +87 -0
- package/src/vendor/linejs/_dist/client/features/message/talk.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/message/types.d.ts +29 -0
- package/src/vendor/linejs/_dist/client/features/message/types.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/square/mod.d.ts +65 -0
- package/src/vendor/linejs/_dist/client/features/square/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/features/user/mod.d.ts +10 -0
- package/src/vendor/linejs/_dist/client/features/user/mod.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/login.d.ts +41 -0
- package/src/vendor/linejs/_dist/client/login.d.ts.map +1 -0
- package/src/vendor/linejs/_dist/client/mod.d.ts +3 -0
- package/src/vendor/linejs/_dist/client/mod.d.ts.map +1 -0
- package/src/vendor/linejs/base/core/mod.js +197 -0
- package/src/vendor/linejs/base/core/mod.js.map +1 -0
- package/src/vendor/linejs/base/core/typed-event-emitter/index.js +43 -0
- package/src/vendor/linejs/base/core/typed-event-emitter/index.js.map +1 -0
- package/src/vendor/linejs/base/core/utils/continue.js +42 -0
- package/src/vendor/linejs/base/core/utils/continue.js.map +1 -0
- package/src/vendor/linejs/base/core/utils/devices.js +67 -0
- package/src/vendor/linejs/base/core/utils/devices.js.map +1 -0
- package/src/vendor/linejs/base/core/utils/error.js +11 -0
- package/src/vendor/linejs/base/core/utils/error.js.map +1 -0
- package/src/vendor/linejs/base/core/utils/events.js +1 -0
- package/src/vendor/linejs/base/core/utils/events.js.map +1 -0
- package/src/vendor/linejs/base/e2ee/mod.js +817 -0
- package/src/vendor/linejs/base/e2ee/mod.js.map +1 -0
- package/src/vendor/linejs/base/login/mod.js +594 -0
- package/src/vendor/linejs/base/login/mod.js.map +1 -0
- package/src/vendor/linejs/base/login/regex.js +6 -0
- package/src/vendor/linejs/base/login/regex.js.map +1 -0
- package/src/vendor/linejs/base/login/rsa-verify.js +73 -0
- package/src/vendor/linejs/base/login/rsa-verify.js.map +1 -0
- package/src/vendor/linejs/base/mod.js +6 -0
- package/src/vendor/linejs/base/mod.js.map +1 -0
- package/src/vendor/linejs/base/obs/mime.js +138 -0
- package/src/vendor/linejs/base/obs/mime.js.map +1 -0
- package/src/vendor/linejs/base/obs/mod.js +309 -0
- package/src/vendor/linejs/base/obs/mod.js.map +1 -0
- package/src/vendor/linejs/base/polling/mod.js +153 -0
- package/src/vendor/linejs/base/polling/mod.js.map +1 -0
- package/src/vendor/linejs/base/push/conn.js +254 -0
- package/src/vendor/linejs/base/push/conn.js.map +1 -0
- package/src/vendor/linejs/base/push/connData.js +81 -0
- package/src/vendor/linejs/base/push/connData.js.map +1 -0
- package/src/vendor/linejs/base/push/connManager.js +422 -0
- package/src/vendor/linejs/base/push/connManager.js.map +1 -0
- package/src/vendor/linejs/base/push/mod.js +2 -0
- package/src/vendor/linejs/base/push/mod.js.map +1 -0
- package/src/vendor/linejs/base/request/mod.js +195 -0
- package/src/vendor/linejs/base/request/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/auth/mod.js +83 -0
- package/src/vendor/linejs/base/service/auth/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/call/mod.js +63 -0
- package/src/vendor/linejs/base/service/call/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/channel/mod.js +52 -0
- package/src/vendor/linejs/base/service/channel/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/liff/mod.js +240 -0
- package/src/vendor/linejs/base/service/liff/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/livetalk/mod.js +90 -0
- package/src/vendor/linejs/base/service/livetalk/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/mod.js +9 -0
- package/src/vendor/linejs/base/service/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/relation/mod.js +86 -0
- package/src/vendor/linejs/base/service/relation/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/square/mod.js +414 -0
- package/src/vendor/linejs/base/service/square/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/talk/mod.js +525 -0
- package/src/vendor/linejs/base/service/talk/mod.js.map +1 -0
- package/src/vendor/linejs/base/service/types.js +1 -0
- package/src/vendor/linejs/base/service/types.js.map +1 -0
- package/src/vendor/linejs/base/storage/base.js +5 -0
- package/src/vendor/linejs/base/storage/base.js.map +1 -0
- package/src/vendor/linejs/base/storage/file.js +63 -0
- package/src/vendor/linejs/base/storage/file.js.map +1 -0
- package/src/vendor/linejs/base/storage/memory.js +46 -0
- package/src/vendor/linejs/base/storage/memory.js.map +1 -0
- package/src/vendor/linejs/base/storage/mod.js +4 -0
- package/src/vendor/linejs/base/storage/mod.js.map +1 -0
- package/src/vendor/linejs/base/thrift/README.md +53 -0
- package/src/vendor/linejs/base/thrift/mod.js +22 -0
- package/src/vendor/linejs/base/thrift/mod.js.map +1 -0
- package/src/vendor/linejs/base/thrift/readwrite/declares.js +54 -0
- package/src/vendor/linejs/base/thrift/readwrite/declares.js.map +1 -0
- package/src/vendor/linejs/base/thrift/readwrite/read.js +115 -0
- package/src/vendor/linejs/base/thrift/readwrite/read.js.map +1 -0
- package/src/vendor/linejs/base/thrift/readwrite/struct.js +14449 -0
- package/src/vendor/linejs/base/thrift/readwrite/struct.js.map +1 -0
- package/src/vendor/linejs/base/thrift/readwrite/tmc.js +460 -0
- package/src/vendor/linejs/base/thrift/readwrite/tmc.js.map +1 -0
- package/src/vendor/linejs/base/thrift/readwrite/write.js +234 -0
- package/src/vendor/linejs/base/thrift/readwrite/write.js.map +1 -0
- package/src/vendor/linejs/base/thrift/rename/parser.js +121 -0
- package/src/vendor/linejs/base/thrift/rename/parser.js.map +1 -0
- package/src/vendor/linejs/base/timeline/mod.js +360 -0
- package/src/vendor/linejs/base/timeline/mod.js.map +1 -0
- package/src/vendor/linejs/base/types.js +8 -0
- package/src/vendor/linejs/base/types.js.map +1 -0
- package/src/vendor/linejs/client/client.js +185 -0
- package/src/vendor/linejs/client/client.js.map +1 -0
- package/src/vendor/linejs/client/features/chat/fetcher.js +29 -0
- package/src/vendor/linejs/client/features/chat/fetcher.js.map +1 -0
- package/src/vendor/linejs/client/features/chat/mod.js +118 -0
- package/src/vendor/linejs/client/features/chat/mod.js.map +1 -0
- package/src/vendor/linejs/client/features/message/internal-types.js +1 -0
- package/src/vendor/linejs/client/features/message/internal-types.js.map +1 -0
- package/src/vendor/linejs/client/features/message/mod.js +5 -0
- package/src/vendor/linejs/client/features/message/mod.js.map +1 -0
- package/src/vendor/linejs/client/features/message/square.js +464 -0
- package/src/vendor/linejs/client/features/message/square.js.map +1 -0
- package/src/vendor/linejs/client/features/message/talk.js +340 -0
- package/src/vendor/linejs/client/features/message/talk.js.map +1 -0
- package/src/vendor/linejs/client/features/message/types.js +1 -0
- package/src/vendor/linejs/client/features/message/types.js.map +1 -0
- package/src/vendor/linejs/client/features/message/utils.js +83 -0
- package/src/vendor/linejs/client/features/message/utils.js.map +1 -0
- package/src/vendor/linejs/client/features/square/mod.js +173 -0
- package/src/vendor/linejs/client/features/square/mod.js.map +1 -0
- package/src/vendor/linejs/client/features/user/mod.js +9 -0
- package/src/vendor/linejs/client/features/user/mod.js.map +1 -0
- package/src/vendor/linejs/client/login.js +36 -0
- package/src/vendor/linejs/client/login.js.map +1 -0
- package/src/vendor/linejs/client/mod.js +3 -0
- package/src/vendor/linejs/client/mod.js.map +1 -0
- package/src/vendor/linejs/deno.json +24 -0
- package/src/vendor/linejs/package.json +35 -0
- package/src/vendor/linejs-types/LICENSE +21 -0
- package/src/vendor/linejs-types/README.md +11 -0
- package/src/vendor/linejs-types/_dist/line_types.d.ts +11629 -0
- package/src/vendor/linejs-types/_dist/line_types.d.ts.map +1 -0
- package/src/vendor/linejs-types/_dist/thrift.d.ts +4 -0
- package/src/vendor/linejs-types/_dist/thrift.d.ts.map +1 -0
- package/src/vendor/linejs-types/deno.json +12 -0
- package/src/vendor/linejs-types/line_types.js +2704 -0
- package/src/vendor/linejs-types/line_types.js.map +1 -0
- package/src/vendor/linejs-types/package.json +20 -0
- package/src/vendor/linejs-types/thrift.js +37670 -0
- package/src/vendor/linejs-types/thrift.js.map +1 -0
- package/src/vendor/loose-types/LICENSE +21 -0
- package/src/vendor/loose-types/README.md +30 -0
- package/src/vendor/loose-types/_dist/mod.d.ts +23 -0
- package/src/vendor/loose-types/_dist/mod.d.ts.map +1 -0
- package/src/vendor/loose-types/deno.json +7 -0
- package/src/vendor/loose-types/mod.js +7 -0
- package/src/vendor/loose-types/mod.js.map +1 -0
- package/src/vendor/loose-types/package.json +14 -0
- package/src/vendor/runtime-shims.d.ts +13 -0
- package/tsconfig.json +7 -1
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
export class TMoreCompactProtocol {
|
|
2
|
+
huffmanTree = [];
|
|
3
|
+
huffmanPatterns = [];
|
|
4
|
+
buildHuffmanNode;
|
|
5
|
+
typeSequence = [];
|
|
6
|
+
stringTable = [];
|
|
7
|
+
reserved = [];
|
|
8
|
+
bufferToHexArray;
|
|
9
|
+
lastFieldId = 0;
|
|
10
|
+
currentPosition = 0;
|
|
11
|
+
lastStringId = 0n;
|
|
12
|
+
data;
|
|
13
|
+
res = null;
|
|
14
|
+
dummyProtocol;
|
|
15
|
+
baseException;
|
|
16
|
+
readWith;
|
|
17
|
+
constructor(inputData, baseException, readWith){
|
|
18
|
+
this.buildHuffmanNode = this.buildHuffmanNodeImpl.bind(this);
|
|
19
|
+
this.bufferToHexArray = this.convertBufferToHexArray.bind(this);
|
|
20
|
+
this.initializeHuffmanTree(); // Initialize Huffman tree
|
|
21
|
+
this.baseException = baseException || {
|
|
22
|
+
code: 1,
|
|
23
|
+
message: 2,
|
|
24
|
+
metadata: 3
|
|
25
|
+
};
|
|
26
|
+
this.readWith = readWith;
|
|
27
|
+
if (inputData) {
|
|
28
|
+
this.setDataAndParse(inputData); // Parse data if provided
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// varint reader - reads variable-length integer
|
|
32
|
+
readVarint() {
|
|
33
|
+
let result = BigInt(0);
|
|
34
|
+
let shift = 0;
|
|
35
|
+
while(true){
|
|
36
|
+
const byte = this.data[this.currentPosition];
|
|
37
|
+
this.currentPosition += 1;
|
|
38
|
+
result |= BigInt(byte & 127) << BigInt(shift);
|
|
39
|
+
if ((byte & 128) !== 128) {
|
|
40
|
+
return result > Number.MAX_SAFE_INTEGER ? result : Number(result);
|
|
41
|
+
}
|
|
42
|
+
shift += 7;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Read bytes from position
|
|
46
|
+
readBytes(position, length) {
|
|
47
|
+
if (length === 0) {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
const buffer = this.data.subarray(position, position + length);
|
|
51
|
+
return Array.from(buffer);
|
|
52
|
+
}
|
|
53
|
+
// Set data and parse
|
|
54
|
+
setDataAndParse(inputData) {
|
|
55
|
+
this.data = inputData;
|
|
56
|
+
this.parseHeader();
|
|
57
|
+
}
|
|
58
|
+
// Parse message body
|
|
59
|
+
parseMessageBody() {
|
|
60
|
+
let result = {};
|
|
61
|
+
const fieldIdBits = this.readVarint();
|
|
62
|
+
if (fieldIdBits === 0) {
|
|
63
|
+
// Empty message
|
|
64
|
+
} else if (fieldIdBits === 1 || fieldIdBits === 2) {
|
|
65
|
+
const [fieldId] = this.decodeFieldBitmap(fieldIdBits);
|
|
66
|
+
if (fieldId === 0) {
|
|
67
|
+
const fieldType = this.getNextType();
|
|
68
|
+
result[0] = this.readDataByType(fieldType, fieldId)[1];
|
|
69
|
+
} else if (fieldId === 1) {
|
|
70
|
+
const fieldType = this.getNextType();
|
|
71
|
+
result[1] = this.readDataByType(fieldType, fieldId)[1];
|
|
72
|
+
} else if (fieldId === 5) {
|
|
73
|
+
const fieldType = this.getNextType();
|
|
74
|
+
throw new Error(String(this.readDataByType(fieldType, fieldId)));
|
|
75
|
+
} else {
|
|
76
|
+
throw new Error(`fid ${fieldId} not implemented`);
|
|
77
|
+
}
|
|
78
|
+
} else {
|
|
79
|
+
const fieldType = this.getNextType();
|
|
80
|
+
[result] = this.readDataByType(fieldType);
|
|
81
|
+
throw new Error(`recv fid \`${fieldIdBits}\`, expected \`1\`, message: \`${result}\``);
|
|
82
|
+
}
|
|
83
|
+
this.res = result;
|
|
84
|
+
}
|
|
85
|
+
// ZigZag decode
|
|
86
|
+
decodeZigZag(encoded) {
|
|
87
|
+
return Number((BigInt(encoded) >> 1n) * (encoded & 1 ? -1n : 1n));
|
|
88
|
+
}
|
|
89
|
+
// Read data by type
|
|
90
|
+
readDataByType(typeId, fieldId = null) {
|
|
91
|
+
let value = null;
|
|
92
|
+
let temp = null;
|
|
93
|
+
let valData = null;
|
|
94
|
+
// deno-lint-ignore no-unused-vars
|
|
95
|
+
let subType = null;
|
|
96
|
+
if (typeId === 2) {
|
|
97
|
+
// BOOL
|
|
98
|
+
temp = this.readVarint();
|
|
99
|
+
value = Boolean(temp);
|
|
100
|
+
} else if (typeId === 3) {
|
|
101
|
+
// BYTE
|
|
102
|
+
const byte = this.data[this.currentPosition];
|
|
103
|
+
value = byte;
|
|
104
|
+
this.currentPosition += 1;
|
|
105
|
+
} else if (typeId === 4) {
|
|
106
|
+
// DOUBLE
|
|
107
|
+
value = this.data.readDoubleLE(this.currentPosition);
|
|
108
|
+
this.currentPosition += 8;
|
|
109
|
+
} else if (typeId === 8) {
|
|
110
|
+
// I32 (zigzag varint)
|
|
111
|
+
const encoded = this.readVarint();
|
|
112
|
+
value = this.decodeZigZag(encoded);
|
|
113
|
+
} else if (typeId === 10) {
|
|
114
|
+
// I64 (zigzag varint)
|
|
115
|
+
const encoded = this.readVarint();
|
|
116
|
+
value = this.decodeZigZag(encoded);
|
|
117
|
+
} else if (typeId === 11) {
|
|
118
|
+
// STRING
|
|
119
|
+
value = this.readString();
|
|
120
|
+
} else if (typeId === 12) {
|
|
121
|
+
// STRUCT
|
|
122
|
+
value = {};
|
|
123
|
+
temp = this.readVarint();
|
|
124
|
+
const fieldIds = this.decodeFieldBitmap(temp);
|
|
125
|
+
valData = {};
|
|
126
|
+
for (const fid of fieldIds){
|
|
127
|
+
const [_, fieldValue] = this.readDataByType(this.getNextType(), fid);
|
|
128
|
+
valData[fid] = fieldValue;
|
|
129
|
+
}
|
|
130
|
+
} else if (typeId === 13) {
|
|
131
|
+
// MAP
|
|
132
|
+
value = {};
|
|
133
|
+
const mapSize = this.readVarint();
|
|
134
|
+
subType = [
|
|
135
|
+
0,
|
|
136
|
+
0
|
|
137
|
+
];
|
|
138
|
+
valData = {};
|
|
139
|
+
if (mapSize !== 0) {
|
|
140
|
+
const typesByte = this.readSingleByte();
|
|
141
|
+
const [keyType, valueType] = this.decodeMapTypes(typesByte);
|
|
142
|
+
subType = [
|
|
143
|
+
keyType,
|
|
144
|
+
valueType
|
|
145
|
+
];
|
|
146
|
+
for(let i = 0; i < mapSize; i++){
|
|
147
|
+
const [, kVal] = this.readDataByType(keyType);
|
|
148
|
+
const [, vVal] = this.readDataByType(valueType);
|
|
149
|
+
valData[kVal] = vVal;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
} else if (typeId === 14 || typeId === 15) {
|
|
153
|
+
// SET or LIST
|
|
154
|
+
value = [];
|
|
155
|
+
const sizeType = this.data[this.currentPosition];
|
|
156
|
+
this.currentPosition += 1;
|
|
157
|
+
let count = sizeType >> 4;
|
|
158
|
+
const elementType = sizeType & 0x0f;
|
|
159
|
+
if (count === 15) {
|
|
160
|
+
count = this.readVarint();
|
|
161
|
+
}
|
|
162
|
+
subType = [
|
|
163
|
+
this.convertCompactTypeToTType(elementType)
|
|
164
|
+
];
|
|
165
|
+
valData = [];
|
|
166
|
+
for(let i = 0; i < count; i++){
|
|
167
|
+
const [, val] = this.readDataByType(this.convertCompactTypeToTType(elementType));
|
|
168
|
+
valData.push(val);
|
|
169
|
+
}
|
|
170
|
+
} else if (typeId === 16) {
|
|
171
|
+
// STRING (string ID delta)
|
|
172
|
+
const temp = BigInt(this.readVarint());
|
|
173
|
+
const delta = (temp % 2n ? -1n : 1n) * (temp / 2n);
|
|
174
|
+
const stringId = delta + this.lastStringId;
|
|
175
|
+
this.lastStringId = stringId;
|
|
176
|
+
value = String(stringId);
|
|
177
|
+
typeId = 11;
|
|
178
|
+
} else if (typeId === 17) {
|
|
179
|
+
// STRING (string table reference)
|
|
180
|
+
temp = this.readVarint();
|
|
181
|
+
if (this.stringTable.length > temp) {
|
|
182
|
+
value = this.stringTable[temp];
|
|
183
|
+
typeId = 11;
|
|
184
|
+
} else {
|
|
185
|
+
console.log(`mid not found: ${temp}`);
|
|
186
|
+
}
|
|
187
|
+
} else {
|
|
188
|
+
throw new Error(`cAN't rEad TyPE: ${typeId}`);
|
|
189
|
+
}
|
|
190
|
+
if (valData === null) {
|
|
191
|
+
valData = value;
|
|
192
|
+
}
|
|
193
|
+
return [
|
|
194
|
+
fieldId,
|
|
195
|
+
valData
|
|
196
|
+
];
|
|
197
|
+
}
|
|
198
|
+
// Read string table and parse message
|
|
199
|
+
readStringTableAndParseMessage() {
|
|
200
|
+
const tableSize = this.readVarint();
|
|
201
|
+
for(let i = 0; i < tableSize; i++){
|
|
202
|
+
const m = String.fromCharCode(this.data[this.currentPosition]) + this.data.subarray(this.currentPosition + 1, this.currentPosition + 17).toString("hex");
|
|
203
|
+
this.stringTable.push(m);
|
|
204
|
+
this.currentPosition += 17;
|
|
205
|
+
}
|
|
206
|
+
this.parseMessageBody();
|
|
207
|
+
}
|
|
208
|
+
// Decode field bitmap
|
|
209
|
+
decodeFieldBitmap(bitmap) {
|
|
210
|
+
const fieldIds = [];
|
|
211
|
+
let bitPosition = 0;
|
|
212
|
+
while(true){
|
|
213
|
+
const mask = 1 << bitPosition;
|
|
214
|
+
if (mask > bitmap) {
|
|
215
|
+
break;
|
|
216
|
+
} else if ((bitmap & mask) !== 0) {
|
|
217
|
+
fieldIds.push(bitPosition);
|
|
218
|
+
}
|
|
219
|
+
bitPosition += 1;
|
|
220
|
+
}
|
|
221
|
+
return fieldIds;
|
|
222
|
+
}
|
|
223
|
+
// Decode map key-value types
|
|
224
|
+
decodeMapTypes(typesByte) {
|
|
225
|
+
return [
|
|
226
|
+
this.convertCompactTypeToTType(typesByte >> 4),
|
|
227
|
+
this.convertCompactTypeToTType(typesByte & 15)
|
|
228
|
+
];
|
|
229
|
+
}
|
|
230
|
+
// Read string
|
|
231
|
+
readString() {
|
|
232
|
+
const length = this.readVarint();
|
|
233
|
+
const buffer = this.data.subarray(this.currentPosition, this.currentPosition + length);
|
|
234
|
+
let result;
|
|
235
|
+
try {
|
|
236
|
+
result = new TextDecoder("utf-8", {
|
|
237
|
+
fatal: true
|
|
238
|
+
}).decode(buffer);
|
|
239
|
+
} catch {
|
|
240
|
+
result = buffer;
|
|
241
|
+
}
|
|
242
|
+
this.currentPosition += length;
|
|
243
|
+
return result;
|
|
244
|
+
}
|
|
245
|
+
// Parse header and initialize
|
|
246
|
+
parseHeader() {
|
|
247
|
+
this.currentPosition = 3;
|
|
248
|
+
if (this.data.length === 4) {
|
|
249
|
+
throw new Error(`Invalid data: ${this.data.toString("hex")} (code: 20)`);
|
|
250
|
+
}
|
|
251
|
+
const headerLength = this.readVarint();
|
|
252
|
+
const headerBytes = this.readBytes(this.currentPosition, headerLength);
|
|
253
|
+
this.typeSequence = new Array(headerLength << 1).fill(0);
|
|
254
|
+
let nodeIndex = 0;
|
|
255
|
+
let typeIndex = 0;
|
|
256
|
+
let currentNode = 0;
|
|
257
|
+
for (const byte of headerBytes){
|
|
258
|
+
let bitIndex = 0;
|
|
259
|
+
let bitMask = 128;
|
|
260
|
+
while(bitIndex < 8){
|
|
261
|
+
if ((byte & bitMask) === 0) {
|
|
262
|
+
nodeIndex = (currentNode << 1) + 1;
|
|
263
|
+
} else {
|
|
264
|
+
nodeIndex = (currentNode << 1) + 2;
|
|
265
|
+
}
|
|
266
|
+
if (this.huffmanTree[nodeIndex] !== 0) {
|
|
267
|
+
if (typeIndex >= this.typeSequence.length) {
|
|
268
|
+
const newSize = this.typeSequence.length * 4;
|
|
269
|
+
const newArray = new Array(newSize).fill(0);
|
|
270
|
+
for(let i = 0; i < this.typeSequence.length; i++){
|
|
271
|
+
newArray[i] = this.typeSequence[i];
|
|
272
|
+
}
|
|
273
|
+
this.typeSequence = newArray;
|
|
274
|
+
}
|
|
275
|
+
this.typeSequence[typeIndex] = this.huffmanTree[nodeIndex];
|
|
276
|
+
typeIndex += 1;
|
|
277
|
+
currentNode = 0;
|
|
278
|
+
} else {
|
|
279
|
+
currentNode = nodeIndex;
|
|
280
|
+
}
|
|
281
|
+
bitMask >>= 1;
|
|
282
|
+
bitIndex += 1;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
this.currentPosition += headerLength;
|
|
286
|
+
this.readStringTableAndParseMessage();
|
|
287
|
+
}
|
|
288
|
+
// Get next type from sequence
|
|
289
|
+
getNextType() {
|
|
290
|
+
const typeId = this.typeSequence[this.lastFieldId];
|
|
291
|
+
this.lastFieldId += 1;
|
|
292
|
+
return typeId;
|
|
293
|
+
}
|
|
294
|
+
// Read varint (with optional return length)
|
|
295
|
+
readVarintWithoutIncrement(buffer, _returnLength = false) {
|
|
296
|
+
let result = BigInt(0);
|
|
297
|
+
let shift = 0;
|
|
298
|
+
let index = 0;
|
|
299
|
+
while(true){
|
|
300
|
+
const byte = buffer[index];
|
|
301
|
+
index += 1;
|
|
302
|
+
result |= BigInt(byte & 0x7f) << BigInt(shift);
|
|
303
|
+
if (byte >> 7 === 0) {
|
|
304
|
+
this.currentPosition += index;
|
|
305
|
+
return Number(result);
|
|
306
|
+
}
|
|
307
|
+
shift += 7;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
// Read single byte
|
|
311
|
+
readSingleByte() {
|
|
312
|
+
const byte = this.data[this.currentPosition];
|
|
313
|
+
this.currentPosition += 1;
|
|
314
|
+
return byte;
|
|
315
|
+
}
|
|
316
|
+
// Check if more data available
|
|
317
|
+
hasMoreData() {
|
|
318
|
+
return this.data.length > this.currentPosition;
|
|
319
|
+
}
|
|
320
|
+
// Initialize Huffman tree
|
|
321
|
+
initializeHuffmanTree() {
|
|
322
|
+
this.huffmanTree = new Array(512).fill(0);
|
|
323
|
+
this.huffmanPatterns = new Array(18).fill([]);
|
|
324
|
+
this.buildHuffmanNode([
|
|
325
|
+
"1",
|
|
326
|
+
"0",
|
|
327
|
+
"1",
|
|
328
|
+
"1"
|
|
329
|
+
], 2);
|
|
330
|
+
this.buildHuffmanNode([
|
|
331
|
+
"1",
|
|
332
|
+
"0",
|
|
333
|
+
"1",
|
|
334
|
+
"0",
|
|
335
|
+
"1",
|
|
336
|
+
"0",
|
|
337
|
+
"0",
|
|
338
|
+
"1"
|
|
339
|
+
], 3);
|
|
340
|
+
this.buildHuffmanNode([
|
|
341
|
+
"1",
|
|
342
|
+
"0",
|
|
343
|
+
"1",
|
|
344
|
+
"0",
|
|
345
|
+
"1",
|
|
346
|
+
"0",
|
|
347
|
+
"0",
|
|
348
|
+
"0"
|
|
349
|
+
], 4);
|
|
350
|
+
this.buildHuffmanNode([
|
|
351
|
+
"1",
|
|
352
|
+
"0",
|
|
353
|
+
"1",
|
|
354
|
+
"0",
|
|
355
|
+
"1",
|
|
356
|
+
"1",
|
|
357
|
+
"1"
|
|
358
|
+
], 6);
|
|
359
|
+
this.buildHuffmanNode([
|
|
360
|
+
"0",
|
|
361
|
+
"1"
|
|
362
|
+
], 8);
|
|
363
|
+
this.buildHuffmanNode([
|
|
364
|
+
"0",
|
|
365
|
+
"0"
|
|
366
|
+
], 10);
|
|
367
|
+
this.buildHuffmanNode([
|
|
368
|
+
"1",
|
|
369
|
+
"0",
|
|
370
|
+
"1",
|
|
371
|
+
"0",
|
|
372
|
+
"0"
|
|
373
|
+
], 11);
|
|
374
|
+
this.buildHuffmanNode([
|
|
375
|
+
"1",
|
|
376
|
+
"1",
|
|
377
|
+
"0",
|
|
378
|
+
"1"
|
|
379
|
+
], 12);
|
|
380
|
+
this.buildHuffmanNode([
|
|
381
|
+
"1",
|
|
382
|
+
"0",
|
|
383
|
+
"1",
|
|
384
|
+
"0",
|
|
385
|
+
"1",
|
|
386
|
+
"1",
|
|
387
|
+
"0"
|
|
388
|
+
], 13);
|
|
389
|
+
this.buildHuffmanNode([
|
|
390
|
+
"1",
|
|
391
|
+
"0",
|
|
392
|
+
"1",
|
|
393
|
+
"0",
|
|
394
|
+
"1",
|
|
395
|
+
"0",
|
|
396
|
+
"1"
|
|
397
|
+
], 14);
|
|
398
|
+
this.buildHuffmanNode([
|
|
399
|
+
"1",
|
|
400
|
+
"1",
|
|
401
|
+
"0",
|
|
402
|
+
"0"
|
|
403
|
+
], 15);
|
|
404
|
+
this.buildHuffmanNode([
|
|
405
|
+
"1",
|
|
406
|
+
"1",
|
|
407
|
+
"1"
|
|
408
|
+
], 16);
|
|
409
|
+
this.buildHuffmanNode([
|
|
410
|
+
"1",
|
|
411
|
+
"0",
|
|
412
|
+
"0"
|
|
413
|
+
], 17);
|
|
414
|
+
}
|
|
415
|
+
// Build Huffman tree node
|
|
416
|
+
buildHuffmanNodeImpl(pattern, typeId) {
|
|
417
|
+
this.huffmanPatterns[typeId] = pattern;
|
|
418
|
+
let nodeIndex = 0;
|
|
419
|
+
for (const bit of pattern){
|
|
420
|
+
if (bit === "0") {
|
|
421
|
+
nodeIndex = (nodeIndex << 1) + 1;
|
|
422
|
+
} else if (bit === "1") {
|
|
423
|
+
nodeIndex = (nodeIndex << 1) + 2;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
this.huffmanTree[nodeIndex] = typeId;
|
|
427
|
+
}
|
|
428
|
+
// Convert buffer to hex string array
|
|
429
|
+
convertBufferToHexArray(buffer) {
|
|
430
|
+
return Array.from(buffer).map((byte)=>byte.toString(16).padStart(2, "0"));
|
|
431
|
+
}
|
|
432
|
+
// Convert compact type to TType
|
|
433
|
+
convertCompactTypeToTType(compactType) {
|
|
434
|
+
if (compactType === 0) return 0;
|
|
435
|
+
if (compactType === 1 || compactType === 2) return 2;
|
|
436
|
+
if (compactType === 3) return 3;
|
|
437
|
+
if (compactType === 4) return 6;
|
|
438
|
+
if (compactType === 5) return 8;
|
|
439
|
+
if (compactType === 6) return 10;
|
|
440
|
+
if (compactType === 7) return 4;
|
|
441
|
+
if (compactType === 8) return 11;
|
|
442
|
+
if (compactType === 9) return 15;
|
|
443
|
+
if (compactType === 10) return 14;
|
|
444
|
+
if (compactType === 11) return 13;
|
|
445
|
+
if (compactType === 12) return 12;
|
|
446
|
+
throw new Error(`Invalid type: ${compactType}`);
|
|
447
|
+
}
|
|
448
|
+
// Unsigned right shift
|
|
449
|
+
unsignedRightShift(value, shiftAmount) {
|
|
450
|
+
if (value >= 0) {
|
|
451
|
+
return value >> shiftAmount;
|
|
452
|
+
} else {
|
|
453
|
+
return value + 0x10000000000000000 >> shiftAmount;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
} // Usage example:
|
|
457
|
+
// const data = Buffer.from([0x00, 0x01, 0x02, ...]); // Your TMoreCompact data
|
|
458
|
+
// const protocol = new TMoreCompactProtocol(data);
|
|
459
|
+
// console.log(protocol.res); // Parsed result
|
|
460
|
+
//# sourceMappingURL=tmc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tmc.js","sources":["./tmc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
// @ts-types="thrift-types"
|
|
2
|
+
import * as thrift from "thrift";
|
|
3
|
+
import { Buffer } from "node:buffer";
|
|
4
|
+
import { genHeader } from "./declares.js";
|
|
5
|
+
import Int64 from "node-int64";
|
|
6
|
+
const Thrift = thrift.Thrift;
|
|
7
|
+
export function writeThrift(value, name, Protocol) {
|
|
8
|
+
const chunks = [];
|
|
9
|
+
// 初期バッファは空にして、コールバックでチャンクを集める
|
|
10
|
+
const buftra = new thrift.TBufferedTransport(Buffer.from([]), function(outBuf) {
|
|
11
|
+
if (!outBuf) return;
|
|
12
|
+
chunks.push(outBuf);
|
|
13
|
+
});
|
|
14
|
+
const myprot = new Protocol(buftra);
|
|
15
|
+
_writeStruct(myprot, value);
|
|
16
|
+
myprot.flush();
|
|
17
|
+
buftra.flush();
|
|
18
|
+
let myBuf = chunks.length ? Buffer.concat(chunks) : Buffer.from([]);
|
|
19
|
+
if (myBuf.length === 1 && myBuf[0] === 0) {
|
|
20
|
+
myBuf = Buffer.from([]);
|
|
21
|
+
}
|
|
22
|
+
const header = genHeader[Protocol == thrift.TBinaryProtocol ? 3 : 4](name);
|
|
23
|
+
const totalLen = header.length + myBuf.length + 1;
|
|
24
|
+
const writedBinary = new Uint8Array(totalLen);
|
|
25
|
+
writedBinary.set(header, 0);
|
|
26
|
+
writedBinary.set(myBuf, header.length);
|
|
27
|
+
writedBinary[totalLen - 1] = 0;
|
|
28
|
+
return writedBinary;
|
|
29
|
+
}
|
|
30
|
+
export function writeStruct(value, Protocol) {
|
|
31
|
+
const chunks = [];
|
|
32
|
+
const buftra = new thrift.TBufferedTransport(Buffer.from([]), function(outBuf) {
|
|
33
|
+
if (!outBuf) return;
|
|
34
|
+
chunks.push(outBuf);
|
|
35
|
+
});
|
|
36
|
+
const myprot = new Protocol(buftra);
|
|
37
|
+
_writeStruct(myprot, value);
|
|
38
|
+
myprot.flush();
|
|
39
|
+
buftra.flush();
|
|
40
|
+
let myBuf = chunks.length ? Buffer.concat(chunks) : Buffer.from([]);
|
|
41
|
+
if (myBuf.length === 1 && myBuf[0] === 0) {
|
|
42
|
+
myBuf = Buffer.from([]);
|
|
43
|
+
}
|
|
44
|
+
return myBuf;
|
|
45
|
+
}
|
|
46
|
+
function _writeStruct(output, value = []) {
|
|
47
|
+
if (!value.length) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
output.writeStructBegin("");
|
|
51
|
+
for(let i = 0, L = value.length; i < L; i++){
|
|
52
|
+
const e = value[i];
|
|
53
|
+
if (e === null || e === undefined) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
writeValue(output, e[0], e[1], e[2]);
|
|
57
|
+
}
|
|
58
|
+
output.writeFieldStop();
|
|
59
|
+
output.writeStructEnd();
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
function writeValue(output, ftype, fid, val) {
|
|
63
|
+
if (val === undefined || val === null) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
switch(ftype){
|
|
67
|
+
case Thrift.Type.STRING:
|
|
68
|
+
if (val instanceof Buffer) {
|
|
69
|
+
output.writeFieldBegin("", Thrift.Type.STRING, fid);
|
|
70
|
+
output.writeBinary(val);
|
|
71
|
+
output.writeFieldEnd();
|
|
72
|
+
} else {
|
|
73
|
+
if (typeof val !== "string") {
|
|
74
|
+
throw new TypeError(`ftype=${ftype}: value is not string`);
|
|
75
|
+
}
|
|
76
|
+
output.writeFieldBegin("", Thrift.Type.STRING, fid);
|
|
77
|
+
output.writeString(val.toString());
|
|
78
|
+
output.writeFieldEnd();
|
|
79
|
+
}
|
|
80
|
+
break;
|
|
81
|
+
case Thrift.Type.DOUBLE:
|
|
82
|
+
if (typeof val !== "number") {
|
|
83
|
+
throw new TypeError(`ftype=${ftype}: value is not number`);
|
|
84
|
+
}
|
|
85
|
+
output.writeFieldBegin("", Thrift.Type.DOUBLE, fid);
|
|
86
|
+
output.writeDouble(val);
|
|
87
|
+
output.writeFieldEnd();
|
|
88
|
+
break;
|
|
89
|
+
case Thrift.Type.I64:
|
|
90
|
+
if (typeof val === "bigint") {
|
|
91
|
+
output.writeFieldBegin("", Thrift.Type.I64, fid);
|
|
92
|
+
output.writeI64(new Int64(val.toString()));
|
|
93
|
+
output.writeFieldEnd();
|
|
94
|
+
} else if (typeof val !== "number") {
|
|
95
|
+
throw new TypeError(`ftype=${ftype}: value is not number`);
|
|
96
|
+
} else {
|
|
97
|
+
output.writeFieldBegin("", Thrift.Type.I64, fid);
|
|
98
|
+
output.writeI64(val);
|
|
99
|
+
output.writeFieldEnd();
|
|
100
|
+
}
|
|
101
|
+
break;
|
|
102
|
+
case Thrift.Type.I32:
|
|
103
|
+
if (typeof val !== "number") {
|
|
104
|
+
throw new TypeError(`ftype=${ftype}: value is not number`);
|
|
105
|
+
}
|
|
106
|
+
output.writeFieldBegin("", Thrift.Type.I32, fid);
|
|
107
|
+
output.writeI32(val);
|
|
108
|
+
output.writeFieldEnd();
|
|
109
|
+
break;
|
|
110
|
+
case Thrift.Type.BOOL:
|
|
111
|
+
if (typeof val !== "boolean" && typeof val !== "number") {
|
|
112
|
+
throw new TypeError(`ftype=${ftype}: value is not boolean`);
|
|
113
|
+
}
|
|
114
|
+
output.writeFieldBegin("", Thrift.Type.BOOL, fid);
|
|
115
|
+
output.writeBool(Boolean(val));
|
|
116
|
+
output.writeFieldEnd();
|
|
117
|
+
break;
|
|
118
|
+
case Thrift.Type.STRUCT:
|
|
119
|
+
if (!Array.isArray(val)) {
|
|
120
|
+
throw new TypeError(`ftype=${ftype}: value is not struct`);
|
|
121
|
+
}
|
|
122
|
+
if (!val.length) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
output.writeFieldBegin("", Thrift.Type.STRUCT, fid);
|
|
126
|
+
_writeStruct(output, val);
|
|
127
|
+
output.writeFieldEnd();
|
|
128
|
+
break;
|
|
129
|
+
case Thrift.Type.MAP:
|
|
130
|
+
val = val;
|
|
131
|
+
if (!val[2]) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
output.writeFieldBegin("", Thrift.Type.MAP, fid);
|
|
135
|
+
{
|
|
136
|
+
const obj = val[2];
|
|
137
|
+
const keys = Object.keys(obj);
|
|
138
|
+
output.writeMapBegin(val[0], val[1], keys.length);
|
|
139
|
+
for(let i = 0; i < keys.length; i++){
|
|
140
|
+
const kiter = keys[i];
|
|
141
|
+
const viter = obj[kiter];
|
|
142
|
+
writeValue_(output, val[0], kiter);
|
|
143
|
+
writeValue_(output, val[1], viter);
|
|
144
|
+
}
|
|
145
|
+
output.writeMapEnd();
|
|
146
|
+
}
|
|
147
|
+
output.writeFieldEnd();
|
|
148
|
+
break;
|
|
149
|
+
case Thrift.Type.LIST:
|
|
150
|
+
val = val;
|
|
151
|
+
if (!val[1]) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
output.writeFieldBegin("", Thrift.Type.LIST, fid);
|
|
155
|
+
{
|
|
156
|
+
const arr = val[1];
|
|
157
|
+
output.writeListBegin(val[0], arr.length);
|
|
158
|
+
for(let i = 0, L = arr.length; i < L; i++){
|
|
159
|
+
writeValue_(output, val[0], arr[i]);
|
|
160
|
+
}
|
|
161
|
+
output.writeListEnd();
|
|
162
|
+
}
|
|
163
|
+
output.writeFieldEnd();
|
|
164
|
+
break;
|
|
165
|
+
case Thrift.Type.SET:
|
|
166
|
+
val = val;
|
|
167
|
+
if (!val[1]) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
output.writeFieldBegin("", Thrift.Type.SET, fid);
|
|
171
|
+
{
|
|
172
|
+
const arr = val[1];
|
|
173
|
+
output.writeSetBegin(val[0], arr.length);
|
|
174
|
+
for(let i = 0, L = arr.length; i < L; i++){
|
|
175
|
+
writeValue_(output, val[0], arr[i]);
|
|
176
|
+
}
|
|
177
|
+
output.writeSetEnd();
|
|
178
|
+
}
|
|
179
|
+
output.writeFieldEnd();
|
|
180
|
+
break;
|
|
181
|
+
default:
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
function writeValue_(output, ftype, val) {
|
|
186
|
+
if (val === undefined || val === null) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
switch(ftype){
|
|
190
|
+
case Thrift.Type.STRING:
|
|
191
|
+
if (val instanceof Buffer) {
|
|
192
|
+
output.writeBinary(val);
|
|
193
|
+
} else {
|
|
194
|
+
if (typeof val !== "string") {
|
|
195
|
+
throw new TypeError(`ftype=${ftype}: value is not string`);
|
|
196
|
+
}
|
|
197
|
+
output.writeString(val.toString());
|
|
198
|
+
}
|
|
199
|
+
break;
|
|
200
|
+
case Thrift.Type.DOUBLE:
|
|
201
|
+
if (typeof val !== "number") {
|
|
202
|
+
throw new TypeError(`ftype=${ftype}: value is not number`);
|
|
203
|
+
}
|
|
204
|
+
output.writeDouble(val);
|
|
205
|
+
break;
|
|
206
|
+
case Thrift.Type.I64:
|
|
207
|
+
if (typeof val !== "number") {
|
|
208
|
+
throw new TypeError(`ftype=${ftype}: value is not number`);
|
|
209
|
+
}
|
|
210
|
+
output.writeI64(val);
|
|
211
|
+
break;
|
|
212
|
+
case Thrift.Type.I32:
|
|
213
|
+
if (typeof val !== "number") {
|
|
214
|
+
throw new TypeError(`ftype=${ftype}: value is not number`);
|
|
215
|
+
}
|
|
216
|
+
output.writeI32(val);
|
|
217
|
+
break;
|
|
218
|
+
case Thrift.Type.BOOL:
|
|
219
|
+
if (typeof val !== "boolean") {
|
|
220
|
+
throw new TypeError(`ftype=${ftype}: value is not boolean`);
|
|
221
|
+
}
|
|
222
|
+
output.writeBool(val);
|
|
223
|
+
break;
|
|
224
|
+
case Thrift.Type.STRUCT:
|
|
225
|
+
if (!Array.isArray(val)) {
|
|
226
|
+
throw new TypeError(`ftype=${ftype}: value is not struct`);
|
|
227
|
+
}
|
|
228
|
+
_writeStruct(output, val);
|
|
229
|
+
break;
|
|
230
|
+
default:
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=write.js.map
|