(function (_, kotlin_kotlin, kotlin_io_ktor_ktor_io) { 'use strict'; //region block: imports var imul = Math.imul; var mapCapacity = kotlin_kotlin.$_$.m8; var coerceAtLeast = kotlin_kotlin.$_$.kd; var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.u; var Unit_instance = kotlin_kotlin.$_$.m5; var protoOf = kotlin_kotlin.$_$.xc; var objectMeta = kotlin_kotlin.$_$.wc; var setMetadataFor = kotlin_kotlin.$_$.yc; var Enum = kotlin_kotlin.$_$.wh; var classMeta = kotlin_kotlin.$_$.mb; var toString = kotlin_kotlin.$_$.cd; var getStringHashCode = kotlin_kotlin.$_$.wb; var THROW_CCE = kotlin_kotlin.$_$.ji; var get_lastIndex = kotlin_kotlin.$_$.f8; var compareTo = kotlin_kotlin.$_$.nb; var ensureNotNull = kotlin_kotlin.$_$.bj; var fillArrayVal = kotlin_kotlin.$_$.rb; var objectCreate = kotlin_kotlin.$_$.vc; var Charsets_getInstance = kotlin_io_ktor_ktor_io.$_$.f; var encodeToByteArray = kotlin_kotlin.$_$.we; var encodeToByteArray_0 = kotlin_io_ktor_ktor_io.$_$.j; var BytePacketBuilder = kotlin_io_ktor_ktor_io.$_$.p; var writeShort = kotlin_io_ktor_ktor_io.$_$.a1; var writeText = kotlin_io_ktor_ktor_io.$_$.b1; var readBytes = kotlin_io_ktor_ktor_io.$_$.w; var VOID = kotlin_kotlin.$_$.f; //endregion //region block: pre-declaration setMetadataFor(Companion, 'Companion', objectMeta); setMetadataFor(Codes, 'Codes', classMeta, Enum); setMetadataFor(CloseReason, 'CloseReason', classMeta); setMetadataFor(NonDisposableHandle, 'NonDisposableHandle', objectMeta); setMetadataFor(Companion_0, 'Companion', objectMeta); setMetadataFor(FrameType, 'FrameType', classMeta, Enum); setMetadataFor(Frame, 'Frame', classMeta); setMetadataFor(Binary, 'Binary', classMeta, Frame); setMetadataFor(Text, 'Text', classMeta, Frame); setMetadataFor(Close, 'Close', classMeta, Frame, VOID, Close_init_$Create$_0); setMetadataFor(Companion_1, 'Companion', objectMeta); //endregion var Codes_NORMAL_instance; var Codes_GOING_AWAY_instance; var Codes_PROTOCOL_ERROR_instance; var Codes_CANNOT_ACCEPT_instance; var Codes_CLOSED_ABNORMALLY_instance; var Codes_NOT_CONSISTENT_instance; var Codes_VIOLATED_POLICY_instance; var Codes_TOO_BIG_instance; var Codes_NO_EXTENSION_instance; var Codes_INTERNAL_ERROR_instance; var Codes_SERVICE_RESTART_instance; var Codes_TRY_AGAIN_LATER_instance; function Companion() { Companion_instance = this; var tmp = this; // Inline function 'kotlin.collections.associateBy' call var this_0 = values(); var capacity = coerceAtLeast(mapCapacity(this_0.length), 16); // Inline function 'kotlin.collections.associateByTo' call var destination = LinkedHashMap_init_$Create$(capacity); var inductionVariable = 0; var last = this_0.length; while (inductionVariable < last) { var element = this_0[inductionVariable]; inductionVariable = inductionVariable + 1 | 0; // Inline function 'io.ktor.websocket.Companion.byCodeMap.' call var tmp$ret$0 = element.h33_1; destination.s(tmp$ret$0, element); } tmp.i33_1 = destination; this.j33_1 = Codes_INTERNAL_ERROR_getInstance(); } protoOf(Companion).k33 = function (code) { return this.i33_1.q(code); }; var Companion_instance; function Companion_getInstance() { Codes_initEntries(); if (Companion_instance == null) new Companion(); return Companion_instance; } function values() { return [Codes_NORMAL_getInstance(), Codes_GOING_AWAY_getInstance(), Codes_PROTOCOL_ERROR_getInstance(), Codes_CANNOT_ACCEPT_getInstance(), Codes_CLOSED_ABNORMALLY_getInstance(), Codes_NOT_CONSISTENT_getInstance(), Codes_VIOLATED_POLICY_getInstance(), Codes_TOO_BIG_getInstance(), Codes_NO_EXTENSION_getInstance(), Codes_INTERNAL_ERROR_getInstance(), Codes_SERVICE_RESTART_getInstance(), Codes_TRY_AGAIN_LATER_getInstance()]; } var Codes_entriesInitialized; function Codes_initEntries() { if (Codes_entriesInitialized) return Unit_instance; Codes_entriesInitialized = true; Codes_NORMAL_instance = new Codes('NORMAL', 0, 1000); Codes_GOING_AWAY_instance = new Codes('GOING_AWAY', 1, 1001); Codes_PROTOCOL_ERROR_instance = new Codes('PROTOCOL_ERROR', 2, 1002); Codes_CANNOT_ACCEPT_instance = new Codes('CANNOT_ACCEPT', 3, 1003); Codes_CLOSED_ABNORMALLY_instance = new Codes('CLOSED_ABNORMALLY', 4, 1006); Codes_NOT_CONSISTENT_instance = new Codes('NOT_CONSISTENT', 5, 1007); Codes_VIOLATED_POLICY_instance = new Codes('VIOLATED_POLICY', 6, 1008); Codes_TOO_BIG_instance = new Codes('TOO_BIG', 7, 1009); Codes_NO_EXTENSION_instance = new Codes('NO_EXTENSION', 8, 1010); Codes_INTERNAL_ERROR_instance = new Codes('INTERNAL_ERROR', 9, 1011); Codes_SERVICE_RESTART_instance = new Codes('SERVICE_RESTART', 10, 1012); Codes_TRY_AGAIN_LATER_instance = new Codes('TRY_AGAIN_LATER', 11, 1013); Companion_getInstance(); } function Codes(name, ordinal, code) { Enum.call(this, name, ordinal); this.h33_1 = code; } function Codes_NORMAL_getInstance() { Codes_initEntries(); return Codes_NORMAL_instance; } function Codes_GOING_AWAY_getInstance() { Codes_initEntries(); return Codes_GOING_AWAY_instance; } function Codes_PROTOCOL_ERROR_getInstance() { Codes_initEntries(); return Codes_PROTOCOL_ERROR_instance; } function Codes_CANNOT_ACCEPT_getInstance() { Codes_initEntries(); return Codes_CANNOT_ACCEPT_instance; } function Codes_CLOSED_ABNORMALLY_getInstance() { Codes_initEntries(); return Codes_CLOSED_ABNORMALLY_instance; } function Codes_NOT_CONSISTENT_getInstance() { Codes_initEntries(); return Codes_NOT_CONSISTENT_instance; } function Codes_VIOLATED_POLICY_getInstance() { Codes_initEntries(); return Codes_VIOLATED_POLICY_instance; } function Codes_TOO_BIG_getInstance() { Codes_initEntries(); return Codes_TOO_BIG_instance; } function Codes_NO_EXTENSION_getInstance() { Codes_initEntries(); return Codes_NO_EXTENSION_instance; } function Codes_INTERNAL_ERROR_getInstance() { Codes_initEntries(); return Codes_INTERNAL_ERROR_instance; } function Codes_SERVICE_RESTART_getInstance() { Codes_initEntries(); return Codes_SERVICE_RESTART_instance; } function Codes_TRY_AGAIN_LATER_getInstance() { Codes_initEntries(); return Codes_TRY_AGAIN_LATER_instance; } function CloseReason(code, message) { this.l33_1 = code; this.m33_1 = message; } protoOf(CloseReason).n33 = function () { return Companion_getInstance().k33(this.l33_1); }; protoOf(CloseReason).toString = function () { var tmp0_elvis_lhs = this.n33(); return 'CloseReason(reason=' + toString(tmp0_elvis_lhs == null ? this.l33_1 : tmp0_elvis_lhs) + ', message=' + this.m33_1 + ')'; }; protoOf(CloseReason).hashCode = function () { var result = this.l33_1; result = imul(result, 31) + getStringHashCode(this.m33_1) | 0; return result; }; protoOf(CloseReason).equals = function (other) { if (this === other) return true; if (!(other instanceof CloseReason)) return false; var tmp0_other_with_cast = other instanceof CloseReason ? other : THROW_CCE(); if (!(this.l33_1 === tmp0_other_with_cast.l33_1)) return false; if (!(this.m33_1 === tmp0_other_with_cast.m33_1)) return false; return true; }; function NonDisposableHandle() { } protoOf(NonDisposableHandle).ys = function () { }; protoOf(NonDisposableHandle).toString = function () { return 'NonDisposableHandle'; }; var NonDisposableHandle_instance; function NonDisposableHandle_getInstance() { return NonDisposableHandle_instance; } var FrameType_TEXT_instance; var FrameType_BINARY_instance; var FrameType_CLOSE_instance; var FrameType_PING_instance; var FrameType_PONG_instance; function Companion_0() { Companion_instance_0 = this; var tmp = this; var tmp$ret$1; $l$block_0: { // Inline function 'kotlin.collections.maxByOrNull' call var this_0 = values_0(); // Inline function 'kotlin.collections.isEmpty' call if (this_0.length === 0) { tmp$ret$1 = null; break $l$block_0; } var maxElem = this_0[0]; var lastIndex = get_lastIndex(this_0); if (lastIndex === 0) { tmp$ret$1 = maxElem; break $l$block_0; } // Inline function 'io.ktor.websocket.Companion.maxOpcode.' call var maxValue = maxElem.r33_1; var inductionVariable = 1; if (inductionVariable <= lastIndex) do { var i = inductionVariable; inductionVariable = inductionVariable + 1 | 0; var e = this_0[i]; // Inline function 'io.ktor.websocket.Companion.maxOpcode.' call var v = e.r33_1; if (compareTo(maxValue, v) < 0) { maxElem = e; maxValue = v; } } while (!(i === lastIndex)); tmp$ret$1 = maxElem; } tmp.s33_1 = ensureNotNull(tmp$ret$1).r33_1; var tmp_0 = this; var tmp_1 = 0; var tmp_2 = this.s33_1 + 1 | 0; // Inline function 'kotlin.arrayOfNulls' call var tmp_3 = fillArrayVal(Array(tmp_2), null); while (tmp_1 < tmp_2) { var tmp_4 = tmp_1; var tmp$ret$6; $l$block_2: { // Inline function 'kotlin.collections.singleOrNull' call var single = null; var found = false; var indexedObject = values_0(); var inductionVariable_0 = 0; var last = indexedObject.length; while (inductionVariable_0 < last) { var element = indexedObject[inductionVariable_0]; inductionVariable_0 = inductionVariable_0 + 1 | 0; // Inline function 'io.ktor.websocket.Companion.byOpcodeArray.' call if (element.r33_1 === tmp_4) { if (found) { tmp$ret$6 = null; break $l$block_2; } single = element; found = true; } } if (!found) { tmp$ret$6 = null; break $l$block_2; } tmp$ret$6 = single; } tmp_3[tmp_4] = tmp$ret$6; tmp_1 = tmp_1 + 1 | 0; } tmp_0.t33_1 = tmp_3; } var Companion_instance_0; function Companion_getInstance_0() { FrameType_initEntries(); if (Companion_instance_0 == null) new Companion_0(); return Companion_instance_0; } function values_0() { return [FrameType_TEXT_getInstance(), FrameType_BINARY_getInstance(), FrameType_CLOSE_getInstance(), FrameType_PING_getInstance(), FrameType_PONG_getInstance()]; } var FrameType_entriesInitialized; function FrameType_initEntries() { if (FrameType_entriesInitialized) return Unit_instance; FrameType_entriesInitialized = true; FrameType_TEXT_instance = new FrameType('TEXT', 0, false, 1); FrameType_BINARY_instance = new FrameType('BINARY', 1, false, 2); FrameType_CLOSE_instance = new FrameType('CLOSE', 2, true, 8); FrameType_PING_instance = new FrameType('PING', 3, true, 9); FrameType_PONG_instance = new FrameType('PONG', 4, true, 10); Companion_getInstance_0(); } function FrameType(name, ordinal, controlFrame, opcode) { Enum.call(this, name, ordinal); this.q33_1 = controlFrame; this.r33_1 = opcode; } function FrameType_TEXT_getInstance() { FrameType_initEntries(); return FrameType_TEXT_instance; } function FrameType_BINARY_getInstance() { FrameType_initEntries(); return FrameType_BINARY_instance; } function FrameType_CLOSE_getInstance() { FrameType_initEntries(); return FrameType_CLOSE_instance; } function FrameType_PING_getInstance() { FrameType_initEntries(); return FrameType_PING_instance; } function FrameType_PONG_getInstance() { FrameType_initEntries(); return FrameType_PONG_instance; } function Binary_init_$Init$(fin, data, $this) { Binary.call($this, fin, data, false, false, false); return $this; } function Binary_init_$Create$(fin, data) { return Binary_init_$Init$(fin, data, objectCreate(protoOf(Binary))); } function Text_init_$Init$(fin, data, $this) { Text.call($this, fin, data, false, false, false); return $this; } function Text_init_$Init$_0(text, $this) { var tmp$ret$0; $l$block: { // Inline function 'io.ktor.utils.io.core.toByteArray' call var charset = Charsets_getInstance().z2h_1; if (charset.equals(Charsets_getInstance().z2h_1)) { tmp$ret$0 = encodeToByteArray(text); break $l$block; } tmp$ret$0 = encodeToByteArray_0(charset.d2i(), text, 0, text.length); } Text_init_$Init$(true, tmp$ret$0, $this); return $this; } function Text_init_$Create$(text) { return Text_init_$Init$_0(text, objectCreate(protoOf(Text))); } function Close_init_$Init$(reason, $this) { var tmp$ret$0; $l$block: { // Inline function 'io.ktor.utils.io.core.buildPacket' call // Inline function 'kotlin.contracts.contract' call var builder = new BytePacketBuilder(); try { // Inline function 'io.ktor.websocket.Close..' call writeShort(builder, reason.l33_1); writeText(builder, reason.m33_1); tmp$ret$0 = builder.f3(); break $l$block; } catch ($p) { if ($p instanceof Error) { var t = $p; builder.qy(); throw t; } else { throw $p; } } } Close_init_$Init$_0(tmp$ret$0, $this); return $this; } function Close_init_$Create$(reason) { return Close_init_$Init$(reason, objectCreate(protoOf(Close))); } function Close_init_$Init$_0(packet, $this) { Close.call($this, readBytes(packet)); return $this; } function Close_init_$Init$_1($this) { Close.call($this, Companion_getInstance_1().u33_1); return $this; } function Close_init_$Create$_0() { return Close_init_$Init$_1(objectCreate(protoOf(Close))); } function Binary(fin, data, rsv1, rsv2, rsv3) { rsv1 = rsv1 === VOID ? false : rsv1; rsv2 = rsv2 === VOID ? false : rsv2; rsv3 = rsv3 === VOID ? false : rsv3; Frame.call(this, fin, FrameType_BINARY_getInstance(), data, NonDisposableHandle_instance, rsv1, rsv2, rsv3); } function Text(fin, data, rsv1, rsv2, rsv3) { rsv1 = rsv1 === VOID ? false : rsv1; rsv2 = rsv2 === VOID ? false : rsv2; rsv3 = rsv3 === VOID ? false : rsv3; Frame.call(this, fin, FrameType_TEXT_getInstance(), data, NonDisposableHandle_instance, rsv1, rsv2, rsv3); } function Close(data) { Frame.call(this, true, FrameType_CLOSE_getInstance(), data, NonDisposableHandle_instance, false, false, false); } function Companion_1() { Companion_instance_1 = this; this.u33_1 = new Int8Array(0); } var Companion_instance_1; function Companion_getInstance_1() { if (Companion_instance_1 == null) new Companion_1(); return Companion_instance_1; } function Frame(fin, frameType, data, disposableHandle, rsv1, rsv2, rsv3) { Companion_getInstance_1(); disposableHandle = disposableHandle === VOID ? NonDisposableHandle_instance : disposableHandle; rsv1 = rsv1 === VOID ? false : rsv1; rsv2 = rsv2 === VOID ? false : rsv2; rsv3 = rsv3 === VOID ? false : rsv3; this.v33_1 = fin; this.w33_1 = frameType; this.x33_1 = data; this.y33_1 = disposableHandle; this.z33_1 = rsv1; this.a34_1 = rsv2; this.b34_1 = rsv3; } protoOf(Frame).toString = function () { return 'Frame ' + this.w33_1 + ' (fin=' + this.v33_1 + ', buffer len = ' + this.x33_1.length + ')'; }; //region block: init NonDisposableHandle_instance = new NonDisposableHandle(); //endregion //region block: exports _.$_$ = _.$_$ || {}; _.$_$.a = Codes_CLOSED_ABNORMALLY_getInstance; _.$_$.b = Codes_NORMAL_getInstance; _.$_$.c = Binary_init_$Create$; _.$_$.d = Close_init_$Create$; _.$_$.e = Text_init_$Create$; _.$_$.f = Companion_getInstance; _.$_$.g = CloseReason; //endregion return _; }(module.exports, require('./kotlin-kotlin-stdlib.js'), require('./ktor-ktor-io.js'))); //# sourceMappingURL=ktor-ktor-websockets.js.map