@wabot-dev/framework 0.0.12 → 0.0.14
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/dist/src/_virtual/XMLHttpRequest.js +7 -0
- package/dist/src/_virtual/_commonjsHelpers.js +32 -0
- package/dist/src/_virtual/base64id.js +3 -0
- package/dist/src/_virtual/binary.js +3 -0
- package/dist/src/_virtual/bom-handling.js +3 -0
- package/dist/src/_virtual/broadcast-operator.js +3 -0
- package/dist/src/_virtual/browser.js +3 -0
- package/dist/src/_virtual/browser2.js +3 -0
- package/dist/src/_virtual/browser3.js +3 -0
- package/dist/src/_virtual/browser4.js +3 -0
- package/dist/src/_virtual/browser5.js +3 -0
- package/dist/src/_virtual/buffer-util.js +3 -0
- package/dist/src/_virtual/buffer-util2.js +3 -0
- package/dist/src/_virtual/buffer-util3.js +3 -0
- package/dist/src/_virtual/charset.js +3 -0
- package/dist/src/_virtual/charset2.js +3 -0
- package/dist/src/_virtual/client.js +3 -0
- package/dist/src/_virtual/cluster-adapter.js +3 -0
- package/dist/src/_virtual/commons.js +3 -0
- package/dist/src/_virtual/dbcs-codec.js +3 -0
- package/dist/src/_virtual/decodePacket.js +3 -0
- package/dist/src/_virtual/encodePacket.js +3 -0
- package/dist/src/_virtual/encoding.js +3 -0
- package/dist/src/_virtual/encoding2.js +3 -0
- package/dist/src/_virtual/engine.io.js +3 -0
- package/dist/src/_virtual/in-memory-adapter.js +3 -0
- package/dist/src/_virtual/index.js +7 -0
- package/dist/src/_virtual/index10.js +3 -0
- package/dist/src/_virtual/index11.js +3 -0
- package/dist/src/_virtual/index12.js +3 -0
- package/dist/src/_virtual/index13.js +3 -0
- package/dist/src/_virtual/index14.js +3 -0
- package/dist/src/_virtual/index15.js +3 -0
- package/dist/src/_virtual/index16.js +3 -0
- package/dist/src/_virtual/index17.js +3 -0
- package/dist/src/_virtual/index18.js +3 -0
- package/dist/src/_virtual/index19.js +3 -0
- package/dist/src/_virtual/index2.js +7 -0
- package/dist/src/_virtual/index20.js +3 -0
- package/dist/src/_virtual/index21.js +3 -0
- package/dist/src/_virtual/index22.js +3 -0
- package/dist/src/_virtual/index23.js +3 -0
- package/dist/src/_virtual/index24.js +3 -0
- package/dist/src/_virtual/index25.js +3 -0
- package/dist/src/_virtual/index26.js +3 -0
- package/dist/src/_virtual/index27.js +3 -0
- package/dist/src/_virtual/index28.js +3 -0
- package/dist/src/_virtual/index29.js +3 -0
- package/dist/src/_virtual/index3.js +7 -0
- package/dist/src/_virtual/index30.js +3 -0
- package/dist/src/_virtual/index31.js +3 -0
- package/dist/src/_virtual/index32.js +3 -0
- package/dist/src/_virtual/index33.js +3 -0
- package/dist/src/_virtual/index4.js +3 -0
- package/dist/src/_virtual/index5.js +3 -0
- package/dist/src/_virtual/index6.js +3 -0
- package/dist/src/_virtual/index7.js +3 -0
- package/dist/src/_virtual/index8.js +6 -0
- package/dist/src/_virtual/index9.js +3 -0
- package/dist/src/_virtual/inherits.js +3 -0
- package/dist/src/_virtual/inherits_browser.js +3 -0
- package/dist/src/_virtual/is-binary.js +3 -0
- package/dist/src/_virtual/language.js +3 -0
- package/dist/src/_virtual/language2.js +3 -0
- package/dist/src/_virtual/mediaType.js +3 -0
- package/dist/src/_virtual/mediaType2.js +3 -0
- package/dist/src/_virtual/namespace.js +3 -0
- package/dist/src/_virtual/node.js +3 -0
- package/dist/src/_virtual/node2.js +3 -0
- package/dist/src/_virtual/node3.js +3 -0
- package/dist/src/_virtual/node4.js +3 -0
- package/dist/src/_virtual/node5.js +3 -0
- package/dist/src/_virtual/parent-namespace.js +3 -0
- package/dist/src/_virtual/polling-jsonp.js +3 -0
- package/dist/src/_virtual/polling.js +3 -0
- package/dist/src/_virtual/polling2.js +3 -0
- package/dist/src/_virtual/receiver.js +3 -0
- package/dist/src/_virtual/sbcs-codec.js +3 -0
- package/dist/src/_virtual/sender.js +3 -0
- package/dist/src/_virtual/server.js +3 -0
- package/dist/src/_virtual/socket-types.js +3 -0
- package/dist/src/_virtual/socket.js +3 -0
- package/dist/src/_virtual/socket2.js +3 -0
- package/dist/src/_virtual/stream.js +3 -0
- package/dist/src/_virtual/transport.js +3 -0
- package/dist/src/_virtual/typed-events.js +3 -0
- package/dist/src/_virtual/userver.js +3 -0
- package/dist/src/_virtual/utf16.js +3 -0
- package/dist/src/_virtual/utf32.js +3 -0
- package/dist/src/_virtual/utf7.js +3 -0
- package/dist/src/_virtual/uws.js +3 -0
- package/dist/src/_virtual/validation.js +3 -0
- package/dist/src/_virtual/validation2.js +3 -0
- package/dist/src/_virtual/validation3.js +3 -0
- package/dist/src/_virtual/websocket-server.js +3 -0
- package/dist/src/_virtual/websocket.js +7 -0
- package/dist/src/_virtual/websocket2.js +3 -0
- package/dist/src/_virtual/websocket3.js +3 -0
- package/dist/src/_virtual/webtransport.js +3 -0
- package/dist/src/_virtual/yeast.js +3 -0
- package/dist/src/channels/cmd/@cmd.js +2 -0
- package/dist/src/channels/cmd/CmdChannel.js +2 -0
- package/dist/src/channels/telegram/@telegram.js +2 -0
- package/dist/src/channels/telegram/TelegramChannel.js +2 -0
- package/dist/src/channels/whatsapp/@whatsapp.js +24 -0
- package/dist/src/channels/whatsapp/WhatsAppChannel.js +63 -0
- package/dist/src/channels/whatsapp/WhatsAppChannelConfig.js +8 -0
- package/dist/src/channels/whatsapp/WhatsAppConnection.js +61 -0
- package/dist/src/channels/whatsapp/WhatsAppDevConnection.js +61 -0
- package/dist/src/channels/whatsapp/WhatsAppProdConnection.js +36 -0
- package/dist/src/channels/whatsapp/whatsAppDevSocketContracts.js +9 -0
- package/dist/src/controller/express/Express.js +5 -0
- package/dist/src/controller/socket.io/SocketIO.js +5 -0
- package/dist/src/env/WabotEnv.js +21 -0
- package/dist/src/index.d.ts +168 -1
- package/dist/src/index.js +12 -0
- package/dist/src/logger/Logger.js +65 -0
- package/dist/src/node_modules/@socket.io/component-emitter/lib/esm/index.js +171 -0
- package/dist/src/node_modules/base64id/lib/base64id.js +117 -0
- package/dist/src/node_modules/body-parser/index.js +96 -0
- package/dist/src/node_modules/body-parser/lib/read.js +225 -0
- package/dist/src/node_modules/body-parser/lib/types/json.js +222 -0
- package/dist/src/node_modules/body-parser/lib/types/raw.js +90 -0
- package/dist/src/node_modules/body-parser/lib/types/text.js +95 -0
- package/dist/src/node_modules/body-parser/lib/types/urlencoded.js +194 -0
- package/dist/src/node_modules/body-parser/lib/utils.js +96 -0
- package/dist/src/node_modules/bytes/index.js +180 -0
- package/dist/src/node_modules/call-bind-apply-helpers/actualApply.js +24 -0
- package/dist/src/node_modules/call-bind-apply-helpers/functionApply.js +13 -0
- package/dist/src/node_modules/call-bind-apply-helpers/functionCall.js +13 -0
- package/dist/src/node_modules/call-bind-apply-helpers/index.js +29 -0
- package/dist/src/node_modules/call-bind-apply-helpers/reflectApply.js +13 -0
- package/dist/src/node_modules/call-bound/index.js +31 -0
- package/dist/src/node_modules/content-type/index.js +235 -0
- package/dist/src/node_modules/cookie/index.js +345 -0
- package/dist/src/node_modules/cors/lib/index.js +249 -0
- package/dist/src/node_modules/debug/src/browser.js +286 -0
- package/dist/src/node_modules/debug/src/common.js +303 -0
- package/dist/src/node_modules/debug/src/index.js +23 -0
- package/dist/src/node_modules/debug/src/node.js +279 -0
- package/dist/src/node_modules/depd/index.js +550 -0
- package/dist/src/node_modules/dunder-proto/get.js +42 -0
- package/dist/src/node_modules/ee-first/index.js +104 -0
- package/dist/src/node_modules/engine.io/build/engine.io.js +73 -0
- package/dist/src/node_modules/engine.io/build/parser-v3/index.js +429 -0
- package/dist/src/node_modules/engine.io/build/parser-v3/utf8.js +198 -0
- package/dist/src/node_modules/engine.io/build/server.js +808 -0
- package/dist/src/node_modules/engine.io/build/socket.js +469 -0
- package/dist/src/node_modules/engine.io/build/transport.js +131 -0
- package/dist/src/node_modules/engine.io/build/transports/index.js +37 -0
- package/dist/src/node_modules/engine.io/build/transports/polling-jsonp.js +53 -0
- package/dist/src/node_modules/engine.io/build/transports/polling.js +346 -0
- package/dist/src/node_modules/engine.io/build/transports/websocket.js +106 -0
- package/dist/src/node_modules/engine.io/build/transports/webtransport.js +76 -0
- package/dist/src/node_modules/engine.io/build/transports-uws/index.js +20 -0
- package/dist/src/node_modules/engine.io/build/transports-uws/polling.js +378 -0
- package/dist/src/node_modules/engine.io/build/transports-uws/websocket.js +85 -0
- package/dist/src/node_modules/engine.io/build/userver.js +292 -0
- package/dist/src/node_modules/engine.io/node_modules/accepts/index.js +250 -0
- package/dist/src/node_modules/engine.io/node_modules/debug/src/browser.js +285 -0
- package/dist/src/node_modules/engine.io/node_modules/debug/src/common.js +285 -0
- package/dist/src/node_modules/engine.io/node_modules/debug/src/index.js +23 -0
- package/dist/src/node_modules/engine.io/node_modules/debug/src/node.js +279 -0
- package/dist/src/node_modules/engine.io/node_modules/mime-db/db.json.js +10704 -0
- package/dist/src/node_modules/engine.io/node_modules/mime-db/index.js +24 -0
- package/dist/src/node_modules/engine.io/node_modules/mime-types/index.js +202 -0
- package/dist/src/node_modules/engine.io/node_modules/negotiator/index.js +96 -0
- package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/charset.js +179 -0
- package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/encoding.js +193 -0
- package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/language.js +188 -0
- package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/mediaType.js +304 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/index.js +28 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/buffer-util.js +142 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/constants.js +21 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/event-target.js +303 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/extension.js +214 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/limiter.js +64 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/permessage-deflate.js +528 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/receiver.js +719 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/sender.js +513 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/stream.js +170 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/subprotocol.js +73 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/validation.js +141 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/websocket-server.js +559 -0
- package/dist/src/node_modules/engine.io/node_modules/ws/lib/websocket.js +1363 -0
- package/dist/src/node_modules/engine.io-client/build/esm/contrib/has-cors.js +13 -0
- package/dist/src/node_modules/engine.io-client/build/esm/contrib/parseqs.js +36 -0
- package/dist/src/node_modules/engine.io-client/build/esm/contrib/parseuri.js +66 -0
- package/dist/src/node_modules/engine.io-client/build/esm/globals.node.js +92 -0
- package/dist/src/node_modules/engine.io-client/build/esm/index.js +17 -0
- package/dist/src/node_modules/engine.io-client/build/esm/socket.js +728 -0
- package/dist/src/node_modules/engine.io-client/build/esm/transport.js +143 -0
- package/dist/src/node_modules/engine.io-client/build/esm/transports/index.js +11 -0
- package/dist/src/node_modules/engine.io-client/build/esm/transports/polling-xhr.js +256 -0
- package/dist/src/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.js +21 -0
- package/dist/src/node_modules/engine.io-client/build/esm/transports/polling.js +146 -0
- package/dist/src/node_modules/engine.io-client/build/esm/transports/websocket.js +107 -0
- package/dist/src/node_modules/engine.io-client/build/esm/transports/websocket.node.js +48 -0
- package/dist/src/node_modules/engine.io-client/build/esm/transports/webtransport.js +83 -0
- package/dist/src/node_modules/engine.io-client/build/esm/util.js +62 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/buffer-util.js +142 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/constants.js +21 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/event-target.js +303 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/extension.js +214 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/limiter.js +64 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/permessage-deflate.js +528 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/receiver.js +719 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/sender.js +513 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/stream.js +170 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/subprotocol.js +73 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/validation.js +141 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/websocket-server.js +559 -0
- package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/websocket.js +1363 -0
- package/dist/src/node_modules/engine.io-parser/build/cjs/commons.js +29 -0
- package/dist/src/node_modules/engine.io-parser/build/cjs/decodePacket.js +70 -0
- package/dist/src/node_modules/engine.io-parser/build/cjs/encodePacket.js +51 -0
- package/dist/src/node_modules/engine.io-parser/build/cjs/index.js +179 -0
- package/dist/src/node_modules/engine.io-parser/build/esm/commons.js +15 -0
- package/dist/src/node_modules/engine.io-parser/build/esm/decodePacket.js +58 -0
- package/dist/src/node_modules/engine.io-parser/build/esm/encodePacket.js +36 -0
- package/dist/src/node_modules/engine.io-parser/build/esm/index.js +158 -0
- package/dist/src/node_modules/es-define-property/index.js +23 -0
- package/dist/src/node_modules/es-errors/eval.js +13 -0
- package/dist/src/node_modules/es-errors/index.js +13 -0
- package/dist/src/node_modules/es-errors/range.js +13 -0
- package/dist/src/node_modules/es-errors/ref.js +13 -0
- package/dist/src/node_modules/es-errors/syntax.js +13 -0
- package/dist/src/node_modules/es-errors/type.js +13 -0
- package/dist/src/node_modules/es-errors/uri.js +13 -0
- package/dist/src/node_modules/es-object-atoms/index.js +13 -0
- package/dist/src/node_modules/function-bind/implementation.js +93 -0
- package/dist/src/node_modules/function-bind/index.js +16 -0
- package/dist/src/node_modules/get-intrinsic/index.js +413 -0
- package/dist/src/node_modules/get-proto/Object.getPrototypeOf.js +17 -0
- package/dist/src/node_modules/get-proto/Reflect.getPrototypeOf.js +13 -0
- package/dist/src/node_modules/get-proto/index.js +40 -0
- package/dist/src/node_modules/gopd/gOPD.js +13 -0
- package/dist/src/node_modules/gopd/index.js +26 -0
- package/dist/src/node_modules/has-symbols/index.js +25 -0
- package/dist/src/node_modules/has-symbols/shams.js +54 -0
- package/dist/src/node_modules/hasown/index.js +19 -0
- package/dist/src/node_modules/http-errors/index.js +306 -0
- package/dist/src/node_modules/iconv-lite/encodings/dbcs-codec.js +598 -0
- package/dist/src/node_modules/iconv-lite/encodings/dbcs-data.js +206 -0
- package/dist/src/node_modules/iconv-lite/encodings/index.js +44 -0
- package/dist/src/node_modules/iconv-lite/encodings/internal.js +210 -0
- package/dist/src/node_modules/iconv-lite/encodings/sbcs-codec.js +83 -0
- package/dist/src/node_modules/iconv-lite/encodings/sbcs-data-generated.js +460 -0
- package/dist/src/node_modules/iconv-lite/encodings/sbcs-data.js +187 -0
- package/dist/src/node_modules/iconv-lite/encodings/tables/big5-added.json.js +506 -0
- package/dist/src/node_modules/iconv-lite/encodings/tables/cp936.json.js +2621 -0
- package/dist/src/node_modules/iconv-lite/encodings/tables/cp949.json.js +2380 -0
- package/dist/src/node_modules/iconv-lite/encodings/tables/cp950.json.js +729 -0
- package/dist/src/node_modules/iconv-lite/encodings/tables/eucjp.json.js +822 -0
- package/dist/src/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json.js +424 -0
- package/dist/src/node_modules/iconv-lite/encodings/tables/gbk-added.json.js +264 -0
- package/dist/src/node_modules/iconv-lite/encodings/tables/shiftjis.json.js +548 -0
- package/dist/src/node_modules/iconv-lite/encodings/utf16.js +206 -0
- package/dist/src/node_modules/iconv-lite/encodings/utf32.js +329 -0
- package/dist/src/node_modules/iconv-lite/encodings/utf7.js +297 -0
- package/dist/src/node_modules/iconv-lite/lib/bom-handling.js +61 -0
- package/dist/src/node_modules/iconv-lite/lib/index.js +192 -0
- package/dist/src/node_modules/iconv-lite/lib/streams.js +120 -0
- package/dist/src/node_modules/inherits/inherits.js +21 -0
- package/dist/src/node_modules/inherits/inherits_browser.js +38 -0
- package/dist/src/node_modules/math-intrinsics/abs.js +13 -0
- package/dist/src/node_modules/math-intrinsics/floor.js +13 -0
- package/dist/src/node_modules/math-intrinsics/isNaN.js +15 -0
- package/dist/src/node_modules/math-intrinsics/max.js +13 -0
- package/dist/src/node_modules/math-intrinsics/min.js +13 -0
- package/dist/src/node_modules/math-intrinsics/pow.js +13 -0
- package/dist/src/node_modules/math-intrinsics/round.js +13 -0
- package/dist/src/node_modules/math-intrinsics/sign.js +22 -0
- package/dist/src/node_modules/media-typer/index.js +153 -0
- package/dist/src/node_modules/mime-db/db.json.js +11656 -0
- package/dist/src/node_modules/mime-db/index.js +24 -0
- package/dist/src/node_modules/mime-types/index.js +226 -0
- package/dist/src/node_modules/mime-types/mimeScore.js +62 -0
- package/dist/src/node_modules/ms/index.js +172 -0
- package/dist/src/node_modules/object-assign/index.js +99 -0
- package/dist/src/node_modules/object-inspect/index.js +557 -0
- package/dist/src/node_modules/object-inspect/util.inspect.js +13 -0
- package/dist/src/node_modules/on-finished/index.js +245 -0
- package/dist/src/node_modules/qs/lib/formats.js +32 -0
- package/dist/src/node_modules/qs/lib/index.js +24 -0
- package/dist/src/node_modules/qs/lib/parse.js +339 -0
- package/dist/src/node_modules/qs/lib/stringify.js +369 -0
- package/dist/src/node_modules/qs/lib/utils.js +279 -0
- package/dist/src/node_modules/raw-body/index.js +351 -0
- package/dist/src/node_modules/safer-buffer/safer.js +88 -0
- package/dist/src/node_modules/setprototypeof/index.js +26 -0
- package/dist/src/node_modules/side-channel/index.js +58 -0
- package/dist/src/node_modules/side-channel-list/index.js +125 -0
- package/dist/src/node_modules/side-channel-map/index.js +82 -0
- package/dist/src/node_modules/side-channel-weakmap/index.js +99 -0
- package/dist/src/node_modules/socket.io/dist/broadcast-operator.js +448 -0
- package/dist/src/node_modules/socket.io/dist/client.js +281 -0
- package/dist/src/node_modules/socket.io/dist/index.js +837 -0
- package/dist/src/node_modules/socket.io/dist/namespace.js +597 -0
- package/dist/src/node_modules/socket.io/dist/parent-namespace.js +101 -0
- package/dist/src/node_modules/socket.io/dist/socket-types.js +21 -0
- package/dist/src/node_modules/socket.io/dist/socket.js +993 -0
- package/dist/src/node_modules/socket.io/dist/typed-events.js +92 -0
- package/dist/src/node_modules/socket.io/dist/uws.js +149 -0
- package/dist/src/node_modules/socket.io/node_modules/accepts/index.js +250 -0
- package/dist/src/node_modules/socket.io/node_modules/debug/src/browser.js +285 -0
- package/dist/src/node_modules/socket.io/node_modules/debug/src/common.js +285 -0
- package/dist/src/node_modules/socket.io/node_modules/debug/src/index.js +23 -0
- package/dist/src/node_modules/socket.io/node_modules/debug/src/node.js +279 -0
- package/dist/src/node_modules/socket.io/node_modules/mime-db/db.json.js +10704 -0
- package/dist/src/node_modules/socket.io/node_modules/mime-db/index.js +24 -0
- package/dist/src/node_modules/socket.io/node_modules/mime-types/index.js +202 -0
- package/dist/src/node_modules/socket.io/node_modules/negotiator/index.js +96 -0
- package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/charset.js +179 -0
- package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/encoding.js +193 -0
- package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/language.js +188 -0
- package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/mediaType.js +304 -0
- package/dist/src/node_modules/socket.io/package.json.js +5 -0
- package/dist/src/node_modules/socket.io/wrapper.js +5 -0
- package/dist/src/node_modules/socket.io-adapter/dist/cluster-adapter.js +689 -0
- package/dist/src/node_modules/socket.io-adapter/dist/contrib/yeast.js +64 -0
- package/dist/src/node_modules/socket.io-adapter/dist/in-memory-adapter.js +407 -0
- package/dist/src/node_modules/socket.io-adapter/dist/index.js +24 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/browser.js +285 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/common.js +285 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/index.js +23 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/node.js +279 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/index.js +28 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/buffer-util.js +142 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/constants.js +21 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/event-target.js +303 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/extension.js +214 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/limiter.js +64 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/permessage-deflate.js +528 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/receiver.js +719 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/sender.js +513 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/stream.js +170 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/subprotocol.js +73 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/validation.js +141 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/websocket-server.js +559 -0
- package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/websocket.js +1363 -0
- package/dist/src/node_modules/socket.io-client/build/esm/contrib/backo2.js +68 -0
- package/dist/src/node_modules/socket.io-client/build/esm/index.js +50 -0
- package/dist/src/node_modules/socket.io-client/build/esm/manager.js +373 -0
- package/dist/src/node_modules/socket.io-client/build/esm/on.js +8 -0
- package/dist/src/node_modules/socket.io-client/build/esm/socket.js +884 -0
- package/dist/src/node_modules/socket.io-client/build/esm/url.js +63 -0
- package/dist/src/node_modules/socket.io-parser/build/cjs/binary.js +99 -0
- package/dist/src/node_modules/socket.io-parser/build/cjs/index.js +337 -0
- package/dist/src/node_modules/socket.io-parser/build/cjs/is-binary.js +65 -0
- package/dist/src/node_modules/socket.io-parser/build/esm/binary.js +86 -0
- package/dist/src/node_modules/socket.io-parser/build/esm/index.js +314 -0
- package/dist/src/node_modules/socket.io-parser/build/esm/is-binary.js +52 -0
- package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/browser.js +285 -0
- package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/common.js +285 -0
- package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/index.js +23 -0
- package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/node.js +279 -0
- package/dist/src/node_modules/statuses/codes.json.js +67 -0
- package/dist/src/node_modules/statuses/index.js +157 -0
- package/dist/src/node_modules/toidentifier/index.js +41 -0
- package/dist/src/node_modules/type-is/index.js +263 -0
- package/dist/src/node_modules/unpipe/index.js +78 -0
- package/dist/src/node_modules/vary/index.js +159 -0
- package/dist/src/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js +702 -0
- package/dist/src/server/runChannel.js +8 -8
- package/dist/src/server/runServer.js +41 -2
- package/package.json +7 -3
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { __exports as utf16 } from '../../../_virtual/utf16.js';
|
|
2
|
+
import { __require as requireSafer } from '../../safer-buffer/safer.js';
|
|
3
|
+
|
|
4
|
+
var hasRequiredUtf16;
|
|
5
|
+
|
|
6
|
+
function requireUtf16 () {
|
|
7
|
+
if (hasRequiredUtf16) return utf16;
|
|
8
|
+
hasRequiredUtf16 = 1;
|
|
9
|
+
var Buffer = requireSafer().Buffer;
|
|
10
|
+
|
|
11
|
+
// Note: UTF16-LE (or UCS2) codec is Node.js native. See encodings/internal.js
|
|
12
|
+
|
|
13
|
+
// == UTF16-BE codec. ==========================================================
|
|
14
|
+
|
|
15
|
+
utf16.utf16be = Utf16BECodec;
|
|
16
|
+
function Utf16BECodec() {
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
Utf16BECodec.prototype.encoder = Utf16BEEncoder;
|
|
20
|
+
Utf16BECodec.prototype.decoder = Utf16BEDecoder;
|
|
21
|
+
Utf16BECodec.prototype.bomAware = true;
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
// -- Encoding
|
|
25
|
+
|
|
26
|
+
function Utf16BEEncoder() {
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
Utf16BEEncoder.prototype.write = function(str) {
|
|
30
|
+
var buf = Buffer.from(str, 'ucs2');
|
|
31
|
+
for (var i = 0; i < buf.length; i += 2) {
|
|
32
|
+
var tmp = buf[i]; buf[i] = buf[i+1]; buf[i+1] = tmp;
|
|
33
|
+
}
|
|
34
|
+
return buf;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
Utf16BEEncoder.prototype.end = function() {
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
// -- Decoding
|
|
42
|
+
|
|
43
|
+
function Utf16BEDecoder() {
|
|
44
|
+
this.overflowByte = -1;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
Utf16BEDecoder.prototype.write = function(buf) {
|
|
48
|
+
if (buf.length == 0)
|
|
49
|
+
return '';
|
|
50
|
+
|
|
51
|
+
var buf2 = Buffer.alloc(buf.length + 1),
|
|
52
|
+
i = 0, j = 0;
|
|
53
|
+
|
|
54
|
+
if (this.overflowByte !== -1) {
|
|
55
|
+
buf2[0] = buf[0];
|
|
56
|
+
buf2[1] = this.overflowByte;
|
|
57
|
+
i = 1; j = 2;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
for (; i < buf.length-1; i += 2, j+= 2) {
|
|
61
|
+
buf2[j] = buf[i+1];
|
|
62
|
+
buf2[j+1] = buf[i];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
this.overflowByte = (i == buf.length-1) ? buf[buf.length-1] : -1;
|
|
66
|
+
|
|
67
|
+
return buf2.slice(0, j).toString('ucs2');
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
Utf16BEDecoder.prototype.end = function() {
|
|
71
|
+
this.overflowByte = -1;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
// == UTF-16 codec =============================================================
|
|
76
|
+
// Decoder chooses automatically from UTF-16LE and UTF-16BE using BOM and space-based heuristic.
|
|
77
|
+
// Defaults to UTF-16LE, as it's prevalent and default in Node.
|
|
78
|
+
// http://en.wikipedia.org/wiki/UTF-16 and http://encoding.spec.whatwg.org/#utf-16le
|
|
79
|
+
// Decoder default can be changed: iconv.decode(buf, 'utf16', {defaultEncoding: 'utf-16be'});
|
|
80
|
+
|
|
81
|
+
// Encoder uses UTF-16LE and prepends BOM (which can be overridden with addBOM: false).
|
|
82
|
+
|
|
83
|
+
utf16.utf16 = Utf16Codec;
|
|
84
|
+
function Utf16Codec(codecOptions, iconv) {
|
|
85
|
+
this.iconv = iconv;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
Utf16Codec.prototype.encoder = Utf16Encoder;
|
|
89
|
+
Utf16Codec.prototype.decoder = Utf16Decoder;
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
// -- Encoding (pass-through)
|
|
93
|
+
|
|
94
|
+
function Utf16Encoder(options, codec) {
|
|
95
|
+
options = options || {};
|
|
96
|
+
if (options.addBOM === undefined)
|
|
97
|
+
options.addBOM = true;
|
|
98
|
+
this.encoder = codec.iconv.getEncoder('utf-16le', options);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
Utf16Encoder.prototype.write = function(str) {
|
|
102
|
+
return this.encoder.write(str);
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
Utf16Encoder.prototype.end = function() {
|
|
106
|
+
return this.encoder.end();
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
// -- Decoding
|
|
111
|
+
|
|
112
|
+
function Utf16Decoder(options, codec) {
|
|
113
|
+
this.decoder = null;
|
|
114
|
+
this.initialBufs = [];
|
|
115
|
+
this.initialBufsLen = 0;
|
|
116
|
+
|
|
117
|
+
this.options = options || {};
|
|
118
|
+
this.iconv = codec.iconv;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
Utf16Decoder.prototype.write = function(buf) {
|
|
122
|
+
if (!this.decoder) {
|
|
123
|
+
// Codec is not chosen yet. Accumulate initial bytes.
|
|
124
|
+
this.initialBufs.push(buf);
|
|
125
|
+
this.initialBufsLen += buf.length;
|
|
126
|
+
|
|
127
|
+
if (this.initialBufsLen < 16) // We need more bytes to use space heuristic (see below)
|
|
128
|
+
return '';
|
|
129
|
+
|
|
130
|
+
// We have enough bytes -> detect endianness.
|
|
131
|
+
var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
|
|
132
|
+
this.decoder = this.iconv.getDecoder(encoding, this.options);
|
|
133
|
+
|
|
134
|
+
var resStr = '';
|
|
135
|
+
for (var i = 0; i < this.initialBufs.length; i++)
|
|
136
|
+
resStr += this.decoder.write(this.initialBufs[i]);
|
|
137
|
+
|
|
138
|
+
this.initialBufs.length = this.initialBufsLen = 0;
|
|
139
|
+
return resStr;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
return this.decoder.write(buf);
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
Utf16Decoder.prototype.end = function() {
|
|
146
|
+
if (!this.decoder) {
|
|
147
|
+
var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
|
|
148
|
+
this.decoder = this.iconv.getDecoder(encoding, this.options);
|
|
149
|
+
|
|
150
|
+
var resStr = '';
|
|
151
|
+
for (var i = 0; i < this.initialBufs.length; i++)
|
|
152
|
+
resStr += this.decoder.write(this.initialBufs[i]);
|
|
153
|
+
|
|
154
|
+
var trail = this.decoder.end();
|
|
155
|
+
if (trail)
|
|
156
|
+
resStr += trail;
|
|
157
|
+
|
|
158
|
+
this.initialBufs.length = this.initialBufsLen = 0;
|
|
159
|
+
return resStr;
|
|
160
|
+
}
|
|
161
|
+
return this.decoder.end();
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
function detectEncoding(bufs, defaultEncoding) {
|
|
165
|
+
var b = [];
|
|
166
|
+
var charsProcessed = 0;
|
|
167
|
+
var asciiCharsLE = 0, asciiCharsBE = 0; // Number of ASCII chars when decoded as LE or BE.
|
|
168
|
+
|
|
169
|
+
outer_loop:
|
|
170
|
+
for (var i = 0; i < bufs.length; i++) {
|
|
171
|
+
var buf = bufs[i];
|
|
172
|
+
for (var j = 0; j < buf.length; j++) {
|
|
173
|
+
b.push(buf[j]);
|
|
174
|
+
if (b.length === 2) {
|
|
175
|
+
if (charsProcessed === 0) {
|
|
176
|
+
// Check BOM first.
|
|
177
|
+
if (b[0] === 0xFF && b[1] === 0xFE) return 'utf-16le';
|
|
178
|
+
if (b[0] === 0xFE && b[1] === 0xFF) return 'utf-16be';
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
if (b[0] === 0 && b[1] !== 0) asciiCharsBE++;
|
|
182
|
+
if (b[0] !== 0 && b[1] === 0) asciiCharsLE++;
|
|
183
|
+
|
|
184
|
+
b.length = 0;
|
|
185
|
+
charsProcessed++;
|
|
186
|
+
|
|
187
|
+
if (charsProcessed >= 100) {
|
|
188
|
+
break outer_loop;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// Make decisions.
|
|
195
|
+
// Most of the time, the content has ASCII chars (U+00**), but the opposite (U+**00) is uncommon.
|
|
196
|
+
// So, we count ASCII as if it was LE or BE, and decide from that.
|
|
197
|
+
if (asciiCharsBE > asciiCharsLE) return 'utf-16be';
|
|
198
|
+
if (asciiCharsBE < asciiCharsLE) return 'utf-16le';
|
|
199
|
+
|
|
200
|
+
// Couldn't decide (likely all zeros or not enough data).
|
|
201
|
+
return defaultEncoding || 'utf-16le';
|
|
202
|
+
}
|
|
203
|
+
return utf16;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export { requireUtf16 as __require };
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
import { __exports as utf32 } from '../../../_virtual/utf32.js';
|
|
2
|
+
import { __require as requireSafer } from '../../safer-buffer/safer.js';
|
|
3
|
+
|
|
4
|
+
var hasRequiredUtf32;
|
|
5
|
+
|
|
6
|
+
function requireUtf32 () {
|
|
7
|
+
if (hasRequiredUtf32) return utf32;
|
|
8
|
+
hasRequiredUtf32 = 1;
|
|
9
|
+
|
|
10
|
+
var Buffer = requireSafer().Buffer;
|
|
11
|
+
|
|
12
|
+
// == UTF32-LE/BE codec. ==========================================================
|
|
13
|
+
|
|
14
|
+
utf32._utf32 = Utf32Codec;
|
|
15
|
+
|
|
16
|
+
function Utf32Codec(codecOptions, iconv) {
|
|
17
|
+
this.iconv = iconv;
|
|
18
|
+
this.bomAware = true;
|
|
19
|
+
this.isLE = codecOptions.isLE;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
utf32.utf32le = { type: '_utf32', isLE: true };
|
|
23
|
+
utf32.utf32be = { type: '_utf32', isLE: false };
|
|
24
|
+
|
|
25
|
+
// Aliases
|
|
26
|
+
utf32.ucs4le = 'utf32le';
|
|
27
|
+
utf32.ucs4be = 'utf32be';
|
|
28
|
+
|
|
29
|
+
Utf32Codec.prototype.encoder = Utf32Encoder;
|
|
30
|
+
Utf32Codec.prototype.decoder = Utf32Decoder;
|
|
31
|
+
|
|
32
|
+
// -- Encoding
|
|
33
|
+
|
|
34
|
+
function Utf32Encoder(options, codec) {
|
|
35
|
+
this.isLE = codec.isLE;
|
|
36
|
+
this.highSurrogate = 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
Utf32Encoder.prototype.write = function(str) {
|
|
40
|
+
var src = Buffer.from(str, 'ucs2');
|
|
41
|
+
var dst = Buffer.alloc(src.length * 2);
|
|
42
|
+
var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE;
|
|
43
|
+
var offset = 0;
|
|
44
|
+
|
|
45
|
+
for (var i = 0; i < src.length; i += 2) {
|
|
46
|
+
var code = src.readUInt16LE(i);
|
|
47
|
+
var isHighSurrogate = (0xD800 <= code && code < 0xDC00);
|
|
48
|
+
var isLowSurrogate = (0xDC00 <= code && code < 0xE000);
|
|
49
|
+
|
|
50
|
+
if (this.highSurrogate) {
|
|
51
|
+
if (isHighSurrogate || !isLowSurrogate) {
|
|
52
|
+
// There shouldn't be two high surrogates in a row, nor a high surrogate which isn't followed by a low
|
|
53
|
+
// surrogate. If this happens, keep the pending high surrogate as a stand-alone semi-invalid character
|
|
54
|
+
// (technically wrong, but expected by some applications, like Windows file names).
|
|
55
|
+
write32.call(dst, this.highSurrogate, offset);
|
|
56
|
+
offset += 4;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
// Create 32-bit value from high and low surrogates;
|
|
60
|
+
var codepoint = (((this.highSurrogate - 0xD800) << 10) | (code - 0xDC00)) + 0x10000;
|
|
61
|
+
|
|
62
|
+
write32.call(dst, codepoint, offset);
|
|
63
|
+
offset += 4;
|
|
64
|
+
this.highSurrogate = 0;
|
|
65
|
+
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (isHighSurrogate)
|
|
71
|
+
this.highSurrogate = code;
|
|
72
|
+
else {
|
|
73
|
+
// Even if the current character is a low surrogate, with no previous high surrogate, we'll
|
|
74
|
+
// encode it as a semi-invalid stand-alone character for the same reasons expressed above for
|
|
75
|
+
// unpaired high surrogates.
|
|
76
|
+
write32.call(dst, code, offset);
|
|
77
|
+
offset += 4;
|
|
78
|
+
this.highSurrogate = 0;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (offset < dst.length)
|
|
83
|
+
dst = dst.slice(0, offset);
|
|
84
|
+
|
|
85
|
+
return dst;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
Utf32Encoder.prototype.end = function() {
|
|
89
|
+
// Treat any leftover high surrogate as a semi-valid independent character.
|
|
90
|
+
if (!this.highSurrogate)
|
|
91
|
+
return;
|
|
92
|
+
|
|
93
|
+
var buf = Buffer.alloc(4);
|
|
94
|
+
|
|
95
|
+
if (this.isLE)
|
|
96
|
+
buf.writeUInt32LE(this.highSurrogate, 0);
|
|
97
|
+
else
|
|
98
|
+
buf.writeUInt32BE(this.highSurrogate, 0);
|
|
99
|
+
|
|
100
|
+
this.highSurrogate = 0;
|
|
101
|
+
|
|
102
|
+
return buf;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
// -- Decoding
|
|
106
|
+
|
|
107
|
+
function Utf32Decoder(options, codec) {
|
|
108
|
+
this.isLE = codec.isLE;
|
|
109
|
+
this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0);
|
|
110
|
+
this.overflow = [];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
Utf32Decoder.prototype.write = function(src) {
|
|
114
|
+
if (src.length === 0)
|
|
115
|
+
return '';
|
|
116
|
+
|
|
117
|
+
var i = 0;
|
|
118
|
+
var codepoint = 0;
|
|
119
|
+
var dst = Buffer.alloc(src.length + 4);
|
|
120
|
+
var offset = 0;
|
|
121
|
+
var isLE = this.isLE;
|
|
122
|
+
var overflow = this.overflow;
|
|
123
|
+
var badChar = this.badChar;
|
|
124
|
+
|
|
125
|
+
if (overflow.length > 0) {
|
|
126
|
+
for (; i < src.length && overflow.length < 4; i++)
|
|
127
|
+
overflow.push(src[i]);
|
|
128
|
+
|
|
129
|
+
if (overflow.length === 4) {
|
|
130
|
+
// NOTE: codepoint is a signed int32 and can be negative.
|
|
131
|
+
// NOTE: We copied this block from below to help V8 optimize it (it works with array, not buffer).
|
|
132
|
+
if (isLE) {
|
|
133
|
+
codepoint = overflow[i] | (overflow[i+1] << 8) | (overflow[i+2] << 16) | (overflow[i+3] << 24);
|
|
134
|
+
} else {
|
|
135
|
+
codepoint = overflow[i+3] | (overflow[i+2] << 8) | (overflow[i+1] << 16) | (overflow[i] << 24);
|
|
136
|
+
}
|
|
137
|
+
overflow.length = 0;
|
|
138
|
+
|
|
139
|
+
offset = _writeCodepoint(dst, offset, codepoint, badChar);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Main loop. Should be as optimized as possible.
|
|
144
|
+
for (; i < src.length - 3; i += 4) {
|
|
145
|
+
// NOTE: codepoint is a signed int32 and can be negative.
|
|
146
|
+
if (isLE) {
|
|
147
|
+
codepoint = src[i] | (src[i+1] << 8) | (src[i+2] << 16) | (src[i+3] << 24);
|
|
148
|
+
} else {
|
|
149
|
+
codepoint = src[i+3] | (src[i+2] << 8) | (src[i+1] << 16) | (src[i] << 24);
|
|
150
|
+
}
|
|
151
|
+
offset = _writeCodepoint(dst, offset, codepoint, badChar);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Keep overflowing bytes.
|
|
155
|
+
for (; i < src.length; i++) {
|
|
156
|
+
overflow.push(src[i]);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
return dst.slice(0, offset).toString('ucs2');
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
function _writeCodepoint(dst, offset, codepoint, badChar) {
|
|
163
|
+
// NOTE: codepoint is signed int32 and can be negative. We keep it that way to help V8 with optimizations.
|
|
164
|
+
if (codepoint < 0 || codepoint > 0x10FFFF) {
|
|
165
|
+
// Not a valid Unicode codepoint
|
|
166
|
+
codepoint = badChar;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// Ephemeral Planes: Write high surrogate.
|
|
170
|
+
if (codepoint >= 0x10000) {
|
|
171
|
+
codepoint -= 0x10000;
|
|
172
|
+
|
|
173
|
+
var high = 0xD800 | (codepoint >> 10);
|
|
174
|
+
dst[offset++] = high & 0xff;
|
|
175
|
+
dst[offset++] = high >> 8;
|
|
176
|
+
|
|
177
|
+
// Low surrogate is written below.
|
|
178
|
+
var codepoint = 0xDC00 | (codepoint & 0x3FF);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// Write BMP char or low surrogate.
|
|
182
|
+
dst[offset++] = codepoint & 0xff;
|
|
183
|
+
dst[offset++] = codepoint >> 8;
|
|
184
|
+
|
|
185
|
+
return offset;
|
|
186
|
+
}
|
|
187
|
+
Utf32Decoder.prototype.end = function() {
|
|
188
|
+
this.overflow.length = 0;
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
// == UTF-32 Auto codec =============================================================
|
|
192
|
+
// Decoder chooses automatically from UTF-32LE and UTF-32BE using BOM and space-based heuristic.
|
|
193
|
+
// Defaults to UTF-32LE. http://en.wikipedia.org/wiki/UTF-32
|
|
194
|
+
// Encoder/decoder default can be changed: iconv.decode(buf, 'utf32', {defaultEncoding: 'utf-32be'});
|
|
195
|
+
|
|
196
|
+
// Encoder prepends BOM (which can be overridden with (addBOM: false}).
|
|
197
|
+
|
|
198
|
+
utf32.utf32 = Utf32AutoCodec;
|
|
199
|
+
utf32.ucs4 = 'utf32';
|
|
200
|
+
|
|
201
|
+
function Utf32AutoCodec(options, iconv) {
|
|
202
|
+
this.iconv = iconv;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder;
|
|
206
|
+
Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder;
|
|
207
|
+
|
|
208
|
+
// -- Encoding
|
|
209
|
+
|
|
210
|
+
function Utf32AutoEncoder(options, codec) {
|
|
211
|
+
options = options || {};
|
|
212
|
+
|
|
213
|
+
if (options.addBOM === undefined)
|
|
214
|
+
options.addBOM = true;
|
|
215
|
+
|
|
216
|
+
this.encoder = codec.iconv.getEncoder(options.defaultEncoding || 'utf-32le', options);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
Utf32AutoEncoder.prototype.write = function(str) {
|
|
220
|
+
return this.encoder.write(str);
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
Utf32AutoEncoder.prototype.end = function() {
|
|
224
|
+
return this.encoder.end();
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
// -- Decoding
|
|
228
|
+
|
|
229
|
+
function Utf32AutoDecoder(options, codec) {
|
|
230
|
+
this.decoder = null;
|
|
231
|
+
this.initialBufs = [];
|
|
232
|
+
this.initialBufsLen = 0;
|
|
233
|
+
this.options = options || {};
|
|
234
|
+
this.iconv = codec.iconv;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
Utf32AutoDecoder.prototype.write = function(buf) {
|
|
238
|
+
if (!this.decoder) {
|
|
239
|
+
// Codec is not chosen yet. Accumulate initial bytes.
|
|
240
|
+
this.initialBufs.push(buf);
|
|
241
|
+
this.initialBufsLen += buf.length;
|
|
242
|
+
|
|
243
|
+
if (this.initialBufsLen < 32) // We need more bytes to use space heuristic (see below)
|
|
244
|
+
return '';
|
|
245
|
+
|
|
246
|
+
// We have enough bytes -> detect endianness.
|
|
247
|
+
var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
|
|
248
|
+
this.decoder = this.iconv.getDecoder(encoding, this.options);
|
|
249
|
+
|
|
250
|
+
var resStr = '';
|
|
251
|
+
for (var i = 0; i < this.initialBufs.length; i++)
|
|
252
|
+
resStr += this.decoder.write(this.initialBufs[i]);
|
|
253
|
+
|
|
254
|
+
this.initialBufs.length = this.initialBufsLen = 0;
|
|
255
|
+
return resStr;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
return this.decoder.write(buf);
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
Utf32AutoDecoder.prototype.end = function() {
|
|
262
|
+
if (!this.decoder) {
|
|
263
|
+
var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
|
|
264
|
+
this.decoder = this.iconv.getDecoder(encoding, this.options);
|
|
265
|
+
|
|
266
|
+
var resStr = '';
|
|
267
|
+
for (var i = 0; i < this.initialBufs.length; i++)
|
|
268
|
+
resStr += this.decoder.write(this.initialBufs[i]);
|
|
269
|
+
|
|
270
|
+
var trail = this.decoder.end();
|
|
271
|
+
if (trail)
|
|
272
|
+
resStr += trail;
|
|
273
|
+
|
|
274
|
+
this.initialBufs.length = this.initialBufsLen = 0;
|
|
275
|
+
return resStr;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
return this.decoder.end();
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
function detectEncoding(bufs, defaultEncoding) {
|
|
282
|
+
var b = [];
|
|
283
|
+
var charsProcessed = 0;
|
|
284
|
+
var invalidLE = 0, invalidBE = 0; // Number of invalid chars when decoded as LE or BE.
|
|
285
|
+
var bmpCharsLE = 0, bmpCharsBE = 0; // Number of BMP chars when decoded as LE or BE.
|
|
286
|
+
|
|
287
|
+
outer_loop:
|
|
288
|
+
for (var i = 0; i < bufs.length; i++) {
|
|
289
|
+
var buf = bufs[i];
|
|
290
|
+
for (var j = 0; j < buf.length; j++) {
|
|
291
|
+
b.push(buf[j]);
|
|
292
|
+
if (b.length === 4) {
|
|
293
|
+
if (charsProcessed === 0) {
|
|
294
|
+
// Check BOM first.
|
|
295
|
+
if (b[0] === 0xFF && b[1] === 0xFE && b[2] === 0 && b[3] === 0) {
|
|
296
|
+
return 'utf-32le';
|
|
297
|
+
}
|
|
298
|
+
if (b[0] === 0 && b[1] === 0 && b[2] === 0xFE && b[3] === 0xFF) {
|
|
299
|
+
return 'utf-32be';
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
if (b[0] !== 0 || b[1] > 0x10) invalidBE++;
|
|
304
|
+
if (b[3] !== 0 || b[2] > 0x10) invalidLE++;
|
|
305
|
+
|
|
306
|
+
if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) bmpCharsBE++;
|
|
307
|
+
if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) bmpCharsLE++;
|
|
308
|
+
|
|
309
|
+
b.length = 0;
|
|
310
|
+
charsProcessed++;
|
|
311
|
+
|
|
312
|
+
if (charsProcessed >= 100) {
|
|
313
|
+
break outer_loop;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// Make decisions.
|
|
320
|
+
if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) return 'utf-32be';
|
|
321
|
+
if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) return 'utf-32le';
|
|
322
|
+
|
|
323
|
+
// Couldn't decide (likely all zeros or not enough data).
|
|
324
|
+
return defaultEncoding || 'utf-32le';
|
|
325
|
+
}
|
|
326
|
+
return utf32;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
export { requireUtf32 as __require };
|