@cimulate/copilot-sdk 1.2.1 → 2.0.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/README.md +25 -17
- package/dist/bundle.cimulate.copilot-sdk.5e12bca4.cjs.js +2 -0
- package/dist/bundle.cimulate.copilot-sdk.5e12bca4.cjs.js.map +1 -0
- package/dist/bundle.cimulate.copilot-sdk.820437d6.esm.js +2 -0
- package/dist/bundle.cimulate.copilot-sdk.820437d6.esm.js.map +1 -0
- package/dist/bundle.cimulate.copilot-sdk.cc0f99da.umd.js +2 -0
- package/dist/bundle.cimulate.copilot-sdk.cc0f99da.umd.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/types/copilot.d.ts +26 -29
- package/dist/types/generator.d.ts +7 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/model/Cancel.d.ts +1 -1
- package/dist/types/model/CancelAck.d.ts +10 -0
- package/dist/types/model/CommonFields.d.ts +3 -3
- package/dist/types/model/CommonMetadata.d.ts +2 -2
- package/dist/types/model/CommonRequiredFields.d.ts +2 -2
- package/dist/types/model/ConnectAck.d.ts +3 -3
- package/dist/types/model/CopilotAPIEvent.d.ts +11 -0
- package/dist/types/model/CopilotEvent.d.ts +10 -11
- package/dist/types/model/CopilotSearch.d.ts +2 -2
- package/dist/types/model/CopilotSearchAck.d.ts +10 -0
- package/dist/types/model/CopilotSearchSuggestion.d.ts +1 -1
- package/dist/types/model/DisplayProducts.d.ts +7 -7
- package/dist/types/model/Done.d.ts +4 -4
- package/dist/types/model/Error.d.ts +4 -4
- package/dist/types/model/FacetedNavigation.d.ts +1 -1
- package/dist/types/model/FacetedNavigationAck.d.ts +10 -0
- package/dist/types/model/FacetedNavigationSuggestion.d.ts +1 -1
- package/dist/types/model/FollowUp.d.ts +4 -4
- package/dist/types/model/Inquiry.d.ts +4 -4
- package/dist/types/model/OperationAck.d.ts +9 -0
- package/dist/types/model/PartialInquiry.d.ts +5 -5
- package/dist/types/model/RefinedSearch.d.ts +10 -10
- package/dist/types/model/ReturnedFields.d.ts +6 -2
- package/dist/types/model/SearchParams.d.ts +3 -1
- package/dist/types/model/SessionData.d.ts +4 -4
- package/dist/types/model/SessionInformation.d.ts +6 -6
- package/dist/types/model/WorkflowMetadata.d.ts +2 -2
- package/dist/types/model/index.d.ts +21 -29
- package/dist/types/parser.d.ts +12 -0
- package/examples/callbacks.ts +29 -0
- package/examples/generator.ts +26 -0
- package/package.json +8 -2
- package/.babelrc +0 -3
- package/dist/bundle.cimulate.copilot-sdk.099d19fa.umd.js +0 -2
- package/dist/bundle.cimulate.copilot-sdk.099d19fa.umd.js.map +0 -1
- package/dist/bundle.cimulate.copilot-sdk.5716b677.cjs.js +0 -2
- package/dist/bundle.cimulate.copilot-sdk.5716b677.cjs.js.map +0 -1
- package/dist/bundle.cimulate.copilot-sdk.64883fd2.esm.js +0 -2
- package/dist/bundle.cimulate.copilot-sdk.64883fd2.esm.js.map +0 -1
- package/dist/types/model/CommonEventFields.d.ts +0 -5
- package/dist/types/model/ConnectAckMessageFields.d.ts +0 -8
- package/dist/types/model/DisplayProductsMessageFields.d.ts +0 -6
- package/dist/types/model/DoneMessageFields.d.ts +0 -4
- package/dist/types/model/ErrorMessageFields.d.ts +0 -6
- package/dist/types/model/EventAck.d.ts +0 -18
- package/dist/types/model/EventAckMessageFields.d.ts +0 -10
- package/dist/types/model/EventAckNames.d.ts +0 -6
- package/dist/types/model/FollowUpMessageFields.d.ts +0 -7
- package/dist/types/model/InquiryMessageFields.d.ts +0 -4
- package/dist/types/model/PartialInquiryMessageFields.d.ts +0 -6
- package/dist/types/model/RefinedSearchMessageFields.d.ts +0 -11
- package/dist/types/model/Root.d.ts +0 -62
- package/rollup.config.js +0 -70
- package/src/copilot.ts +0 -178
- package/src/index.ts +0 -2
- package/src/model/Cancel.ts +0 -6
- package/src/model/CommonEventFields.ts +0 -6
- package/src/model/CommonFields.ts +0 -9
- package/src/model/CommonMetadata.ts +0 -7
- package/src/model/CommonRequiredFields.ts +0 -7
- package/src/model/ConnectAck.ts +0 -11
- package/src/model/ConnectAckMessageFields.ts +0 -8
- package/src/model/ConnectAckMetadata.ts +0 -6
- package/src/model/CopilotEvent.ts +0 -20
- package/src/model/CopilotSearch.ts +0 -6
- package/src/model/CopilotSearchSuggestion.ts +0 -7
- package/src/model/DisplayProducts.ts +0 -11
- package/src/model/DisplayProductsMessageFields.ts +0 -6
- package/src/model/Done.ts +0 -10
- package/src/model/DoneMessageFields.ts +0 -5
- package/src/model/Error.ts +0 -12
- package/src/model/ErrorMessageFields.ts +0 -7
- package/src/model/EventAck.ts +0 -20
- package/src/model/EventAckMessageFields.ts +0 -10
- package/src/model/EventAckNames.ts +0 -7
- package/src/model/Facet.ts +0 -7
- package/src/model/FacetValue.ts +0 -6
- package/src/model/FacetedNavigation.ts +0 -5
- package/src/model/FacetedNavigationSuggestion.ts +0 -7
- package/src/model/FollowUp.ts +0 -12
- package/src/model/FollowUpMessageFields.ts +0 -7
- package/src/model/Inquiry.ts +0 -10
- package/src/model/InquiryMessageFields.ts +0 -5
- package/src/model/PartialInquiry.ts +0 -12
- package/src/model/PartialInquiryMessageFields.ts +0 -7
- package/src/model/RefinedSearch.ts +0 -16
- package/src/model/RefinedSearchMessageFields.ts +0 -11
- package/src/model/ReturnedFields.ts +0 -4
- package/src/model/Root.ts +0 -62
- package/src/model/SearchParams.ts +0 -6
- package/src/model/SessionData.ts +0 -7
- package/src/model/SessionEventStatusReply.ts +0 -5
- package/src/model/SessionInformation.ts +0 -10
- package/src/model/WorkflowMetadata.ts +0 -6
- package/src/model/index.ts +0 -39
- package/tsconfig.json +0 -19
package/README.md
CHANGED
|
@@ -42,6 +42,9 @@ const client = new CimulateCopilot({
|
|
|
42
42
|
|
|
43
43
|
## Example Usage
|
|
44
44
|
|
|
45
|
+
- [Callbacks](examples/callbacks.ts)
|
|
46
|
+
- [Async Generator](examples/generator.ts)
|
|
47
|
+
|
|
45
48
|
### Default Usage
|
|
46
49
|
```javascript
|
|
47
50
|
import { CimulateCopilot } from '@cimulate/copilot-sdk';
|
|
@@ -56,30 +59,35 @@ const client = new CimulateCopilot({
|
|
|
56
59
|
client.connect();
|
|
57
60
|
|
|
58
61
|
// Handle connection acknowledgment
|
|
59
|
-
client.
|
|
60
|
-
console.log("Connected:", data);
|
|
62
|
+
client.on("connect_ack", function connectAck(data) {
|
|
63
|
+
console.log("Connected: ", data);
|
|
61
64
|
});
|
|
62
65
|
|
|
63
66
|
// Handle errors
|
|
64
|
-
client.
|
|
65
|
-
console.error("Error:", err);
|
|
67
|
+
client.on("error", function handleError(err) {
|
|
68
|
+
console.error("Error: ", err);
|
|
66
69
|
});
|
|
67
70
|
|
|
68
|
-
// Perform a search request
|
|
69
|
-
client.search(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
// Perform a search request
|
|
72
|
+
const search = await client.search({
|
|
73
|
+
userPrompt: "What specifications should I consider for a budget gaming laptop?",
|
|
74
|
+
searchParams: {"query": "gaming laptops"}
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
// Print search acknowledgment
|
|
78
|
+
console.log("Search Acknowledgement: ", search.result);
|
|
75
79
|
|
|
76
80
|
// Handler for listening to an event
|
|
77
|
-
const handleEvent = (
|
|
78
|
-
console.log("Event
|
|
79
|
-
};
|
|
81
|
+
const handleEvent = client.on("event_name", function handleEvent(data) {
|
|
82
|
+
console.log("Event Data: ", data);
|
|
83
|
+
});
|
|
80
84
|
|
|
81
85
|
// Follow-up Example for listening to an event response
|
|
82
|
-
client.
|
|
86
|
+
const followUp = client.on("follow_up", function followup(event) {
|
|
87
|
+
if (event.eventSourceId == search.result.eventId) {
|
|
88
|
+
event.suggestions.forEach((s) => console.log(s.displayText));
|
|
89
|
+
}
|
|
90
|
+
});
|
|
83
91
|
|
|
84
92
|
// Client side disconnect
|
|
85
93
|
client.disconnect();
|
|
@@ -104,8 +112,8 @@ const client = new CimulateCopilot({
|
|
|
104
112
|
});
|
|
105
113
|
|
|
106
114
|
// Handle connection acknowledgment
|
|
107
|
-
client.
|
|
108
|
-
console.log("Connected:", data);
|
|
115
|
+
client.on("connect_ack", function connectAck(data) {
|
|
116
|
+
console.log("Connected: ", data);
|
|
109
117
|
});
|
|
110
118
|
```
|
|
111
119
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("socket.io-client")),r=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===n}(e)}(e)};var n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function o(e,t){return!1!==t.clone&&t.isMergeableObject(e)?u((r=e,Array.isArray(r)?[]:{}),e,t):e;var r}function c(e,t,r){return e.concat(t).map((function(e){return o(e,r)}))}function s(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function a(e,t){try{return t in e}catch(e){return!1}}function i(e,t,r){var n={};return r.isMergeableObject(e)&&s(e).forEach((function(t){n[t]=o(e[t],r)})),s(t).forEach((function(c){(function(e,t){return a(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,c)||(a(e,c)&&r.isMergeableObject(t[c])?n[c]=function(e,t){if(!t.customMerge)return u;var r=t.customMerge(e);return"function"==typeof r?r:u}(c,r)(e[c],t[c],r):n[c]=o(t[c],r))})),n}function u(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||c,n.isMergeableObject=n.isMergeableObject||r,n.cloneUnlessOtherwiseSpecified=o;var s=Array.isArray(t);return s===Array.isArray(e)?s?n.arrayMerge(e,t,n):i(e,t,n):o(t,n)}u.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,r){return u(e,r,t)}),{})};var l=u;function f(e){if(e)return function(e){for(var t in f.prototype)e[t]=f.prototype[t];return e}(e)}f.prototype.on=f.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},f.prototype.once=function(e,t){function r(){this.off(e,r),t.apply(this,arguments)}return r.fn=t,this.on(e,r),this},f.prototype.off=f.prototype.removeListener=f.prototype.removeAllListeners=f.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var r,n=this._callbacks["$"+e];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<n.length;o++)if((r=n[o])===t||r.fn===t){n.splice(o,1);break}return 0===n.length&&delete this._callbacks["$"+e],this},f.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),r=this._callbacks["$"+e],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(r){n=0;for(var o=(r=r.slice(0)).length;n<o;++n)r[n].apply(this,t)}return this},f.prototype.emitReserved=f.prototype.emit,f.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},f.prototype.hasListeners=function(e){return!!this.listeners(e).length};const p="function"==typeof ArrayBuffer,y=Object.prototype.toString,h="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===y.call(Blob),b="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===y.call(File);function d(e){return p&&(e instanceof ArrayBuffer||(e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer)(e))||h&&e instanceof Blob||b&&e instanceof File}function A(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,r=e.length;t<r;t++)if(A(e[t]))return!0;return!1}if(d(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return A(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&A(e[t]))return!0;return!1}function m(e){const t=[],r=e.data,n=e;return n.data=g(r,t),n.attachments=t.length,{packet:n,buffers:t}}function g(e,t){if(!e)return e;if(d(e)){const r={_placeholder:!0,num:t.length};return t.push(e),r}if(Array.isArray(e)){const r=new Array(e.length);for(let n=0;n<e.length;n++)r[n]=g(e[n],t);return r}if("object"==typeof e&&!(e instanceof Date)){const r={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=g(e[n],t));return r}return e}function k(e,t){return e.data=j(e.data,t),delete e.attachments,e}function j(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let r=0;r<e.length;r++)e[r]=j(e[r],t);else if("object"==typeof e)for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]=j(e[r],t));return e}const N=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var C;!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(C||(C={}));class O{constructor(e){this.replacer=e}encode(e){return e.type!==C.EVENT&&e.type!==C.ACK||!A(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===C.EVENT?C.BINARY_EVENT:C.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==C.BINARY_EVENT&&e.type!==C.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=m(e),r=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(r),n}}function E(e){return"[object Object]"===Object.prototype.toString.call(e)}class v extends f{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const r=t.type===C.BINARY_EVENT;r||t.type===C.BINARY_ACK?(t.type=r?C.EVENT:C.ACK,this.reconstructor=new _(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!d(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const r={type:Number(e.charAt(0))};if(void 0===C[r.type])throw new Error("unknown packet type "+r.type);if(r.type===C.BINARY_EVENT||r.type===C.BINARY_ACK){const n=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const o=e.substring(n,t);if(o!=Number(o)||"-"!==e.charAt(t))throw new Error("Illegal attachments");r.attachments=Number(o)}if("/"===e.charAt(t+1)){const n=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}r.nsp=e.substring(n,t)}else r.nsp="/";const n=e.charAt(t+1);if(""!==n&&Number(n)==n){const n=t+1;for(;++t;){const r=e.charAt(t);if(null==r||Number(r)!=r){--t;break}if(t===e.length)break}r.id=Number(e.substring(n,t+1))}if(e.charAt(++t)){const n=this.tryParse(e.substr(t));if(!v.isPayloadValid(r.type,n))throw new Error("invalid payload");r.data=n}return r}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case C.CONNECT:return E(t);case C.DISCONNECT:return void 0===t;case C.CONNECT_ERROR:return"string"==typeof t||E(t);case C.EVENT:case C.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===N.indexOf(t[0]));case C.ACK:case C.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class _{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=k(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}var w={},T={};function R(e,t){if(null==e||"object"!=typeof e)return e;const r=Array.isArray(e)?[]:{};for(const[n,o]of Object.entries(e))r[t(n)]=Array.isArray(o)?o.map((e=>"object"!=typeof e||e instanceof Uint8Array||e instanceof Date?e:R(e,t))):o instanceof Uint8Array||o instanceof Date?o:"object"==typeof o?R(o,t):o;return r}function P(e){return 1===e.length?e.toLowerCase():e.replace(/^([A-Z])/,(e=>e[0].toLowerCase())).replace(/[_-]([a-z0-9])/g,(e=>e[1].toUpperCase()))}function S(e){var t,r;let n=e,o=0;for(;((null===(t=/([a-z])([0-9])/.exec(n))||void 0===t?void 0:t.length)||0)>2&&o<10;)n=n.replace(/([a-z])([0-9])/,((e,t,r)=>`${t.toLowerCase()}_${r.toLowerCase()}`)),o+=1;for(;((null===(r=/(.+?)([A-Z])/.exec(n))||void 0===r?void 0:r.length)||0)>2&&o<10;)n=n.replace(/(.+?)([A-Z])/,((e,t,r)=>`${t.toLowerCase()}_${r.toLowerCase()}`)),o+=1;return n.toLowerCase()}function B(e){return P(e).replace(/^([a-z])/,(e=>e[0].toUpperCase()))}Object.defineProperty(T,"__esModule",{value:!0}),T.objectToPascal=T.toPascal=T.objectToSnake=T.toSnake=T.objectToCamel=T.toCamel=void 0,T.toCamel=P,T.objectToCamel=function(e){return R(e,P)},T.toSnake=S,T.objectToSnake=function(e){return R(e,S)},T.toPascal=B,T.objectToPascal=function(e){return R(e,B)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.objectToPascal=e.toPascal=e.toCamel=e.toSnake=e.objectToSnake=e.objectToCamel=void 0;var t=T;Object.defineProperty(e,"objectToCamel",{enumerable:!0,get:function(){return t.objectToCamel}}),Object.defineProperty(e,"objectToSnake",{enumerable:!0,get:function(){return t.objectToSnake}}),Object.defineProperty(e,"toSnake",{enumerable:!0,get:function(){return t.toSnake}}),Object.defineProperty(e,"toCamel",{enumerable:!0,get:function(){return t.toCamel}}),Object.defineProperty(e,"toPascal",{enumerable:!0,get:function(){return t.toPascal}}),Object.defineProperty(e,"objectToPascal",{enumerable:!0,get:function(){return t.objectToPascal}})}(w);const I={Encoder:class extends O{encode(e){return super.encode({...e,data:2==e.data?.length?[e.data[0],w.objectToSnake(e.data[1])]:void 0})}},Decoder:class extends v{constructor(){super(((e,t)=>"object"!=typeof t||null===t||Array.isArray(t)?t:w.objectToCamel(t)))}}};const V={path:"/api/v1/socket.io",autoConnect:!1,transports:["polling","websocket"],upgrade:!0,timeout:1e4};exports.CimulateCopilot=class{constructor({apiKey:e,baseUrl:r,namespace:n="/copilot",socketOptions:o={}}){const c=`${r}${n}`,s=[V,o,{parser:I,withCredentials:!0,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":e}}}}];this.socket=t.default(c,l.all(s))}connect(){this.socket.connect()}async search(e,t){return this.asyncResponse("copilot_search",e,t)}async facetedNavigation(e,t){return this.asyncResponse("copilot_search",e,t)}cancelRequest(e,t){return this.asyncResponse("copilot_search",e,t)}async requestSessionInformation(e){this.socket.emit("session_info",e)}on(e,t){return this.socket.on(e,t),t}once(e,t){this.socket.once(e,t)}off(e,t){this.socket.off(e,t)}disconnect(){this.socket.disconnect()}onDisconnect(e){this.socket.on("disconnect",e)}async asyncResponse(e,t,r){if(r)return void this.socket.emit("copilot_search",t,r);let n="";const o=async function*(e){const t=[];let r=!1,n=null;const o=await e({emit:e=>{t.push(e),n&&(n(),n=null)},cancel:()=>{r=!0}});try{for(;!r;)t.length>0?yield t.shift():await new Promise((e=>{n=e}));for(;t.length>0;)yield t.shift()}finally{await(o?.())}}((({emit:e,cancel:t})=>{const r=(r,o)=>{"done"==o.eventName&&t(),o.eventSourceId==n&&e(o)};return this.socket.onAny(r),async()=>{this.socket.offAny(r)}}));return{result:await new Promise((r=>this.socket.emit(e,t,(e=>{n=e.eventId,r(e)})))),events:o}}};
|
|
2
|
+
//# sourceMappingURL=bundle.cimulate.copilot-sdk.5e12bca4.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.cimulate.copilot-sdk.5e12bca4.cjs.js","sources":["../node_modules/deepmerge/dist/cjs.js","../node_modules/@socket.io/component-emitter/lib/esm/index.js","../node_modules/socket.io-parser/build/esm/is-binary.js","../node_modules/socket.io-parser/build/esm/binary.js","../node_modules/socket.io-parser/build/esm/index.js","../node_modules/ts-case-convert/lib/caseConvert.js","../node_modules/ts-case-convert/lib/index.js","../src/parser.ts","../src/copilot.ts","../src/generator.ts"],"sourcesContent":["'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id,\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if (isBinary(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.objectToPascal = exports.toPascal = exports.objectToSnake = exports.toSnake = exports.objectToCamel = exports.toCamel = void 0;\nfunction convertObject(obj, keyConverter) {\n if (obj === null || typeof obj === 'undefined' || typeof obj !== 'object') {\n return obj;\n }\n const out = (Array.isArray(obj) ? [] : {});\n for (const [k, v] of Object.entries(obj)) {\n // eslint-disable-next-line\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n out[keyConverter(k)] = Array.isArray(v)\n ? v.map((item) => typeof item === 'object' &&\n !(item instanceof Uint8Array) &&\n !(item instanceof Date)\n ? convertObject(item, keyConverter)\n : item)\n : v instanceof Uint8Array || v instanceof Date\n ? v\n : typeof v === 'object'\n ? convertObject(v, keyConverter)\n : v;\n }\n return out;\n}\nfunction toCamel(term) {\n return (term.length === 1\n ? term.toLowerCase()\n : term\n .replace(/^([A-Z])/, (m) => m[0].toLowerCase())\n .replace(/[_-]([a-z0-9])/g, (m) => m[1].toUpperCase()));\n}\nexports.toCamel = toCamel;\nfunction objectToCamel(obj) {\n return convertObject(obj, toCamel);\n}\nexports.objectToCamel = objectToCamel;\nfunction toSnake(term) {\n var _a, _b;\n let result = term;\n let circuitBreaker = 0;\n while ((((_a = /([a-z])([0-9])/.exec(result)) === null || _a === void 0 ? void 0 : _a.length) || 0) > 2 &&\n circuitBreaker < 10) {\n result = result.replace(/([a-z])([0-9])/, (_all, $1, $2) => `${$1.toLowerCase()}_${$2.toLowerCase()}`);\n circuitBreaker += 1;\n }\n while ((((_b = /(.+?)([A-Z])/.exec(result)) === null || _b === void 0 ? void 0 : _b.length) || 0) > 2 &&\n circuitBreaker < 10) {\n result = result.replace(/(.+?)([A-Z])/, (_all, $1, $2) => `${$1.toLowerCase()}_${$2.toLowerCase()}`);\n circuitBreaker += 1;\n }\n return result.toLowerCase();\n}\nexports.toSnake = toSnake;\nfunction objectToSnake(obj) {\n return convertObject(obj, toSnake);\n}\nexports.objectToSnake = objectToSnake;\nfunction toPascal(term) {\n return toCamel(term).replace(/^([a-z])/, (m) => m[0].toUpperCase());\n}\nexports.toPascal = toPascal;\nfunction objectToPascal(obj) {\n return convertObject(obj, toPascal);\n}\nexports.objectToPascal = objectToPascal;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZUNvbnZlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2FzZUNvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBUyxhQUFhLENBTXBCLEdBQVcsRUFBRSxZQUFxQztJQUNsRCxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBTyxHQUFHLEtBQUssV0FBVyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUN6RSxPQUFPLEdBQUcsQ0FBQztLQUNaO0lBRUQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBWSxDQUFDO0lBQ3RELEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3hDLDJCQUEyQjtRQUMzQixhQUFhO1FBQ2IsbUVBQW1FO1FBQ25FLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUEyQixJQUFlLEVBQUUsRUFBRSxDQUNuRCxPQUFPLElBQUksS0FBSyxRQUFRO2dCQUN4QixDQUFDLENBQUMsSUFBSSxZQUFZLFVBQVUsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLElBQUksWUFBWSxJQUFJLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQyxhQUFhLENBT1gsSUFBSSxFQUFFLFlBQVksQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLElBQUksQ0FDSztZQUNqQixDQUFDLENBQUMsQ0FBQyxZQUFZLFVBQVUsSUFBSSxDQUFDLFlBQVksSUFBSTtnQkFDOUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVE7b0JBQ3ZCLENBQUMsQ0FBQyxhQUFhLENBT1gsQ0FBQyxFQUFFLFlBQVksQ0FBQztvQkFDcEIsQ0FBQyxDQUFFLENBQWEsQ0FBQztLQUNwQjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFNBQWdCLE9BQU8sQ0FBbUIsSUFBTztJQUMvQyxPQUFPLENBQ0wsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDcEIsQ0FBQyxDQUFDLElBQUk7YUFDRCxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDOUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDL0MsQ0FBQztBQUNsQixDQUFDO0FBUkQsMEJBUUM7QUFFRCxTQUFnQixhQUFhLENBQW1CLEdBQU07SUFDcEQsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFGRCxzQ0FFQztBQUVELFNBQWdCLE9BQU8sQ0FBbUIsSUFBTzs7SUFDL0MsSUFBSSxNQUFNLEdBQVcsSUFBSSxDQUFDO0lBQzFCLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztJQUV2QixPQUNFLENBQUMsQ0FBQSxNQUFBLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsMENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDaEQsY0FBYyxHQUFHLEVBQUUsRUFDbkI7UUFDQSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FDckIsZ0JBQWdCLEVBQ2hCLENBQUMsSUFBSSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUMvQixHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDNUMsQ0FBQztRQUVGLGNBQWMsSUFBSSxDQUFDLENBQUM7S0FDckI7SUFFRCxPQUNFLENBQUMsQ0FBQSxNQUFBLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzlDLGNBQWMsR0FBRyxFQUFFLEVBQ25CO1FBQ0EsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQ3JCLGNBQWMsRUFDZCxDQUFDLElBQUksRUFBRSxFQUFVLEVBQUUsRUFBVSxFQUFFLEVBQUUsQ0FDL0IsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQzVDLENBQUM7UUFDRixjQUFjLElBQUksQ0FBQyxDQUFDO0tBQ3JCO0lBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxFQUFnQixDQUFDO0FBQzVDLENBQUM7QUE5QkQsMEJBOEJDO0FBRUQsU0FBZ0IsYUFBYSxDQUFtQixHQUFNO0lBQ3BELE9BQU8sYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRkQsc0NBRUM7QUFFRCxTQUFnQixRQUFRLENBQW1CLElBQU87SUFDaEQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FDSixDQUFDO0FBQ25CLENBQUM7QUFKRCw0QkFJQztBQUVELFNBQWdCLGNBQWMsQ0FBbUIsR0FBTTtJQUNyRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUZELHdDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gY29udmVydE9iamVjdDxcbiAgVElucHV0IGV4dGVuZHMgb2JqZWN0LFxuICBUUmVzdWx0IGV4dGVuZHNcbiAgICB8IE9iamVjdFRvQ2FtZWw8VElucHV0PlxuICAgIHwgT2JqZWN0VG9TbmFrZTxUSW5wdXQ+XG4gICAgfCBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+LFxuPihvYmo6IFRJbnB1dCwga2V5Q29udmVydGVyOiAoYXJnOiBzdHJpbmcpID0+IHN0cmluZyk6IFRSZXN1bHQge1xuICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIGNvbnN0IG91dCA9IChBcnJheS5pc0FycmF5KG9iaikgPyBbXSA6IHt9KSBhcyBUUmVzdWx0O1xuICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhvYmopKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFzc2lnbm1lbnRcbiAgICBvdXRba2V5Q29udmVydGVyKGspXSA9IEFycmF5LmlzQXJyYXkodilcbiAgICAgID8gKHYubWFwKDxBcnJheUl0ZW0gZXh0ZW5kcyBvYmplY3Q+KGl0ZW06IEFycmF5SXRlbSkgPT5cbiAgICAgICAgICB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAhKGl0ZW0gaW5zdGFuY2VvZiBVaW50OEFycmF5KSAmJlxuICAgICAgICAgICEoaXRlbSBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICAgICA/IGNvbnZlcnRPYmplY3Q8XG4gICAgICAgICAgICAgICAgQXJyYXlJdGVtLFxuICAgICAgICAgICAgICAgIFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb0NhbWVsPFRJbnB1dD5cbiAgICAgICAgICAgICAgICAgID8gT2JqZWN0VG9DYW1lbDxBcnJheUl0ZW0+XG4gICAgICAgICAgICAgICAgICA6IFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+XG4gICAgICAgICAgICAgICAgICA/IE9iamVjdFRvUGFzY2FsPEFycmF5SXRlbT5cbiAgICAgICAgICAgICAgICAgIDogT2JqZWN0VG9TbmFrZTxBcnJheUl0ZW0+XG4gICAgICAgICAgICAgID4oaXRlbSwga2V5Q29udmVydGVyKVxuICAgICAgICAgICAgOiBpdGVtLFxuICAgICAgICApIGFzIHVua25vd25bXSlcbiAgICAgIDogdiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgfHwgdiBpbnN0YW5jZW9mIERhdGVcbiAgICAgID8gdlxuICAgICAgOiB0eXBlb2YgdiA9PT0gJ29iamVjdCdcbiAgICAgID8gY29udmVydE9iamVjdDxcbiAgICAgICAgICB0eXBlb2YgdixcbiAgICAgICAgICBUUmVzdWx0IGV4dGVuZHMgT2JqZWN0VG9DYW1lbDxUSW5wdXQ+XG4gICAgICAgICAgICA/IE9iamVjdFRvQ2FtZWw8dHlwZW9mIHY+XG4gICAgICAgICAgICA6IFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+XG4gICAgICAgICAgICA/IE9iamVjdFRvUGFzY2FsPHR5cGVvZiB2PlxuICAgICAgICAgICAgOiBPYmplY3RUb1NuYWtlPHR5cGVvZiB2PlxuICAgICAgICA+KHYsIGtleUNvbnZlcnRlcilcbiAgICAgIDogKHYgYXMgdW5rbm93bik7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQ2FtZWw8VCBleHRlbmRzIHN0cmluZz4odGVybTogVCk6IFRvQ2FtZWw8VD4ge1xuICByZXR1cm4gKFxuICAgIHRlcm0ubGVuZ3RoID09PSAxXG4gICAgICA/IHRlcm0udG9Mb3dlckNhc2UoKVxuICAgICAgOiB0ZXJtXG4gICAgICAgICAgLnJlcGxhY2UoL14oW0EtWl0pLywgKG0pID0+IG1bMF0udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAucmVwbGFjZSgvW18tXShbYS16MC05XSkvZywgKG0pID0+IG1bMV0udG9VcHBlckNhc2UoKSlcbiAgKSBhcyBUb0NhbWVsPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9DYW1lbDxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb0NhbWVsPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b0NhbWVsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU25ha2U8VCBleHRlbmRzIHN0cmluZz4odGVybTogVCk6IFRvU25ha2U8VD4ge1xuICBsZXQgcmVzdWx0OiBzdHJpbmcgPSB0ZXJtO1xuICBsZXQgY2lyY3VpdEJyZWFrZXIgPSAwO1xuXG4gIHdoaWxlIChcbiAgICAoLyhbYS16XSkoWzAtOV0pLy5leGVjKHJlc3VsdCk/Lmxlbmd0aCB8fCAwKSA+IDIgJiZcbiAgICBjaXJjdWl0QnJlYWtlciA8IDEwXG4gICkge1xuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKFxuICAgICAgLyhbYS16XSkoWzAtOV0pLyxcbiAgICAgIChfYWxsLCAkMTogc3RyaW5nLCAkMjogc3RyaW5nKSA9PlxuICAgICAgICBgJHskMS50b0xvd2VyQ2FzZSgpfV8keyQyLnRvTG93ZXJDYXNlKCl9YCxcbiAgICApO1xuXG4gICAgY2lyY3VpdEJyZWFrZXIgKz0gMTtcbiAgfVxuXG4gIHdoaWxlIChcbiAgICAoLyguKz8pKFtBLVpdKS8uZXhlYyhyZXN1bHQpPy5sZW5ndGggfHwgMCkgPiAyICYmXG4gICAgY2lyY3VpdEJyZWFrZXIgPCAxMFxuICApIHtcbiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShcbiAgICAgIC8oLis/KShbQS1aXSkvLFxuICAgICAgKF9hbGwsICQxOiBzdHJpbmcsICQyOiBzdHJpbmcpID0+XG4gICAgICAgIGAkeyQxLnRvTG93ZXJDYXNlKCl9XyR7JDIudG9Mb3dlckNhc2UoKX1gLFxuICAgICk7XG4gICAgY2lyY3VpdEJyZWFrZXIgKz0gMTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKSBhcyBUb1NuYWtlPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9TbmFrZTxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb1NuYWtlPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b1NuYWtlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUGFzY2FsPFQgZXh0ZW5kcyBzdHJpbmc+KHRlcm06IFQpOiBUb1Bhc2NhbDxUPiB7XG4gIHJldHVybiB0b0NhbWVsKHRlcm0pLnJlcGxhY2UoL14oW2Etel0pLywgKG0pID0+XG4gICAgbVswXS50b1VwcGVyQ2FzZSgpLFxuICApIGFzIFRvUGFzY2FsPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9QYXNjYWw8VCBleHRlbmRzIG9iamVjdD4ob2JqOiBUKTogT2JqZWN0VG9QYXNjYWw8VD4ge1xuICByZXR1cm4gY29udmVydE9iamVjdChvYmosIHRvUGFzY2FsKTtcbn1cblxuZXhwb3J0IHR5cGUgVG9DYW1lbDxTIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sPiA9IFMgZXh0ZW5kcyBzdHJpbmdcbiAgPyBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH1fJHtpbmZlciBUYWlsfWBcbiAgICA/IGAke1RvQ2FtZWw8VW5jYXBpdGFsaXplPEhlYWQ+Pn0ke0NhcGl0YWxpemU8VG9DYW1lbDxUYWlsPj59YFxuICAgIDogUyBleHRlbmRzIGAke2luZmVyIEhlYWR9LSR7aW5mZXIgVGFpbH1gXG4gICAgPyBgJHtUb0NhbWVsPFVuY2FwaXRhbGl6ZTxIZWFkPj59JHtDYXBpdGFsaXplPFRvQ2FtZWw8VGFpbD4+fWBcbiAgICA6IFVuY2FwaXRhbGl6ZTxTPlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb0NhbWVsPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogVCBleHRlbmRzIG51bGxcbiAgICA/IG51bGxcbiAgICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgID8gQXJyYXk8T2JqZWN0VG9DYW1lbDxBcnJheVR5cGU+PlxuICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgOiBUIGV4dGVuZHMgVWludDhBcnJheVxuICAgID8gVWludDhBcnJheVxuICAgIDogVCBleHRlbmRzIERhdGVcbiAgICA/IERhdGVcbiAgICA6IHtcbiAgICAgICAgW0sgaW4ga2V5b2YgVCBhcyBUb0NhbWVsPEs+XTogVFtLXSBleHRlbmRzXG4gICAgICAgICAgfCBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgICAgICAgfCB1bmRlZmluZWRcbiAgICAgICAgICB8IG51bGxcbiAgICAgICAgICA/IEFycmF5VHlwZSBleHRlbmRzIG9iamVjdFxuICAgICAgICAgICAgPyBBcnJheTxPYmplY3RUb0NhbWVsPEFycmF5VHlwZT4+XG4gICAgICAgICAgICA6IEFycmF5PEFycmF5VHlwZT5cbiAgICAgICAgICA6IFRbS10gZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsXG4gICAgICAgICAgPyBPYmplY3RUb0NhbWVsPFRbS10+XG4gICAgICAgICAgOiBUW0tdO1xuICAgICAgfTtcblxuZXhwb3J0IHR5cGUgVG9QYXNjYWw8UyBleHRlbmRzIHN0cmluZyB8IG51bWJlciB8IHN5bWJvbD4gPSBTIGV4dGVuZHMgc3RyaW5nXG4gID8gUyBleHRlbmRzIGAke2luZmVyIEhlYWR9XyR7aW5mZXIgVGFpbH1gXG4gICAgPyBgJHtDYXBpdGFsaXplPFRvQ2FtZWw8SGVhZD4+fSR7Q2FwaXRhbGl6ZTxUb0NhbWVsPFRhaWw+Pn1gXG4gICAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH0tJHtpbmZlciBUYWlsfWBcbiAgICA/IGAke0NhcGl0YWxpemU8VG9DYW1lbDxIZWFkPj59JHtDYXBpdGFsaXplPFRvQ2FtZWw8VGFpbD4+fWBcbiAgICA6IENhcGl0YWxpemU8Uz5cbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgT2JqZWN0VG9QYXNjYWw8VCBleHRlbmRzIG9iamVjdCB8IHVuZGVmaW5lZCB8IG51bGw+ID1cbiAgVCBleHRlbmRzIHVuZGVmaW5lZFxuICAgID8gdW5kZWZpbmVkXG4gICAgOiBUIGV4dGVuZHMgbnVsbFxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIEFycmF5PGluZmVyIEFycmF5VHlwZT5cbiAgICA/IEFycmF5VHlwZSBleHRlbmRzIG9iamVjdFxuICAgICAgPyBBcnJheTxPYmplY3RUb1Bhc2NhbDxBcnJheVR5cGU+PlxuICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgOiBUIGV4dGVuZHMgVWludDhBcnJheVxuICAgID8gVWludDhBcnJheVxuICAgIDogVCBleHRlbmRzIERhdGVcbiAgICA/IERhdGVcbiAgICA6IHtcbiAgICAgICAgW0sgaW4ga2V5b2YgVCBhcyBUb1Bhc2NhbDxLPl06IFRbS10gZXh0ZW5kc1xuICAgICAgICAgIHwgQXJyYXk8aW5mZXIgQXJyYXlUeXBlPlxuICAgICAgICAgIHwgdW5kZWZpbmVkXG4gICAgICAgICAgfCBudWxsXG4gICAgICAgICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgICAgICAgID8gQXJyYXk8T2JqZWN0VG9QYXNjYWw8QXJyYXlUeXBlPj5cbiAgICAgICAgICAgIDogQXJyYXk8QXJyYXlUeXBlPlxuICAgICAgICAgIDogVFtLXSBleHRlbmRzIG9iamVjdCB8IHVuZGVmaW5lZCB8IG51bGxcbiAgICAgICAgICA/IE9iamVjdFRvUGFzY2FsPFRbS10+XG4gICAgICAgICAgOiBUW0tdO1xuICAgICAgfTtcblxuZXhwb3J0IHR5cGUgVG9TbmFrZTxTIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sPiA9IFMgZXh0ZW5kcyBzdHJpbmdcbiAgPyBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH0ke0NhcGl0YWxDaGFyc30ke2luZmVyIFRhaWx9YCAvLyBzdHJpbmcgaGFzIGEgY2FwaXRhbCBjaGFyIHNvbWV3aGVyZVxuICAgID8gSGVhZCBleHRlbmRzICcnIC8vIHRoZXJlIGlzIGEgY2FwaXRhbCBjaGFyIGluIHRoZSBmaXJzdCBwb3NpdGlvblxuICAgICAgPyBUYWlsIGV4dGVuZHMgJydcbiAgICAgICAgPyBMb3dlcmNhc2U8Uz4gLyogICdBJyAqL1xuICAgICAgICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBDYXBzfSR7VGFpbH1gIC8vIHRhaWwgZXhpc3RzLCBoYXMgY2FwaXRhbCBjaGFyYWN0ZXJzXG4gICAgICAgID8gQ2FwcyBleHRlbmRzIENhcGl0YWxDaGFyc1xuICAgICAgICAgID8gVGFpbCBleHRlbmRzIENhcGl0YWxMZXR0ZXJzXG4gICAgICAgICAgICA/IGAke0xvd2VyY2FzZTxDYXBzPn1fJHtMb3dlcmNhc2U8VGFpbD59YCAvKiAnQUInICovXG4gICAgICAgICAgICA6IFRhaWwgZXh0ZW5kcyBgJHtDYXBpdGFsTGV0dGVyc30ke3N0cmluZ31gXG4gICAgICAgICAgICA/IGAke1RvU25ha2U8Q2Fwcz59XyR7VG9TbmFrZTxUYWlsPn1gIC8qIGZpcnN0IHRhaWwgY2hhciBpcyB1cHBlcj8gJ0FCY2QnICovXG4gICAgICAgICAgICA6IGAke1RvU25ha2U8Q2Fwcz59JHtUb1NuYWtlPFRhaWw+fWAgLyogJ0FiQ0QnLCdBYmNEJywgICovIC8qIFRPRE86IGlmIHRhaWwgaXMgb25seSBudW1iZXJzLCBhcHBlbmQgd2l0aG91dCB1bmRlcnNjb3JlICovXG4gICAgICAgICAgOiBuZXZlciAvKiBuZXZlciByZWFjaGVkLCB1c2VkIGZvciBpbmZlcmVuY2Ugb2YgY2FwcyAqL1xuICAgICAgICA6IG5ldmVyXG4gICAgICA6IFRhaWwgZXh0ZW5kcyAnJyAvKiAnYUInICdhYkNEJyAnQUJDRCcgJ0FCJyAqL1xuICAgICAgPyBTIGV4dGVuZHMgYCR7SGVhZH0ke2luZmVyIENhcHN9YFxuICAgICAgICA/IENhcHMgZXh0ZW5kcyBDYXBpdGFsQ2hhcnNcbiAgICAgICAgICA/IEhlYWQgZXh0ZW5kcyBMb3dlcmNhc2U8SGVhZD4gLyogJ2FiY0QnICovXG4gICAgICAgICAgICA/IENhcHMgZXh0ZW5kcyBOdW1iZXJzXG4gICAgICAgICAgICAgID8gLy8gSGVhZCBleGlzdHMgYW5kIGlzIGxvd2VyY2FzZSwgdGFpbCBkb2VzIG5vdCwgQ2FwcyBpcyBhIG51bWJlciwgd2UgbWF5IGJlIGluIGEgc3ViLXNlbGVjdFxuICAgICAgICAgICAgICAgIC8vIGlmIGhlYWQgZW5kcyB3aXRoIG51bWJlciwgZG9uJ3Qgc3BsaXQgaGVhZCBhbiBDYXBzLCBrZWVwIGNvbnRpZ3VvdXMgbnVtYmVycyB0b2dldGhlclxuICAgICAgICAgICAgICAgIEhlYWQgZXh0ZW5kcyBgJHtzdHJpbmd9JHtOdW1iZXJzfWBcbiAgICAgICAgICAgICAgICA/IG5ldmVyXG4gICAgICAgICAgICAgICAgOiAvLyBoZWFkIGRvZXMgbm90IGVuZCBpbiBudW1iZXIsIHNhZmUgdG8gc3BsaXQuICdhYmMyJyAtPiAnYWJjXzInXG4gICAgICAgICAgICAgICAgICBgJHtUb1NuYWtlPEhlYWQ+fV8ke0NhcHN9YFxuICAgICAgICAgICAgICA6IGAke1RvU25ha2U8SGVhZD59XyR7VG9TbmFrZTxDYXBzPn1gIC8qICdhYmNEJyAnYWJjMjUnICovXG4gICAgICAgICAgICA6IG5ldmVyIC8qIHN0b3AgdW5pb24gdHlwZSBmb3JtaW5nICovXG4gICAgICAgICAgOiBuZXZlclxuICAgICAgICA6IG5ldmVyIC8qIG5ldmVyIHJlYWNoZWQsIHVzZWQgZm9yIGluZmVyZW5jZSBvZiBjYXBzICovXG4gICAgICA6IFMgZXh0ZW5kcyBgJHtIZWFkfSR7aW5mZXIgQ2Fwc30ke1RhaWx9YCAvKiAnYWJDZCcgJ0FCQ0QnICdBYkNkJyAnQUJjRCcgKi9cbiAgICAgID8gQ2FwcyBleHRlbmRzIENhcGl0YWxDaGFyc1xuICAgICAgICA/IEhlYWQgZXh0ZW5kcyBMb3dlcmNhc2U8SGVhZD4gLyogaXMgJ2FiQ2QnICdhYkNEJyA/ICovXG4gICAgICAgICAgPyBUYWlsIGV4dGVuZHMgQ2FwaXRhbExldHRlcnMgLyogaXMgJ2FiQ0QnIHdoZXJlIENhcHMgPSAnQycgKi9cbiAgICAgICAgICAgID8gYCR7VG9TbmFrZTxIZWFkPn1fJHtUb1NuYWtlPENhcHM+fV8ke0xvd2VyY2FzZTxUYWlsPn1gIC8qIGFCQ0QgVGFpbCA9ICdEJywgSGVhZCA9ICdhQicgKi9cbiAgICAgICAgICAgIDogVGFpbCBleHRlbmRzIGAke0NhcGl0YWxMZXR0ZXJzfSR7c3RyaW5nfWAgLyogaXMgJ2FCQ2QnIHdoZXJlIENhcHMgPSAnQicgKi9cbiAgICAgICAgICAgID8gSGVhZCBleHRlbmRzIE51bWJlcnNcbiAgICAgICAgICAgICAgPyBuZXZlciAvKiBzdG9wIHVuaW9uIHR5cGUgZm9ybWluZyAqL1xuICAgICAgICAgICAgICA6IEhlYWQgZXh0ZW5kcyBgJHtzdHJpbmd9JHtOdW1iZXJzfWBcbiAgICAgICAgICAgICAgPyBuZXZlciAvKiBzdG9wIHVuaW9uIHR5cGUgZm9ybWluZyAqL1xuICAgICAgICAgICAgICA6IGAke0hlYWR9XyR7VG9TbmFrZTxDYXBzPn1fJHtUb1NuYWtlPFRhaWw+fWAgLyogJ2FCQ2QnID0+IGAkeydhJ31fJHtMb3dlcmNhc2U8J0InPn1fJHtUb1NuYWtlPCdDZCc+fWAgKi9cbiAgICAgICAgICAgIDogYCR7VG9TbmFrZTxIZWFkPn1fJHtMb3dlcmNhc2U8Q2Fwcz59JHtUb1NuYWtlPFRhaWw+fWAgLyogJ2FCY0QnIHdoZXJlIENhcHMgPSAnQicgdGFpbCBzdGFydHMgYXMgbG93ZXJjYXNlICovXG4gICAgICAgICAgOiBuZXZlclxuICAgICAgICA6IG5ldmVyXG4gICAgICA6IG5ldmVyXG4gICAgOiBTIC8qICdhYmMnICAqL1xuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb1NuYWtlPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogVCBleHRlbmRzIG51bGxcbiAgICA/IG51bGxcbiAgICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgID8gQXJyYXk8T2JqZWN0VG9TbmFrZTxBcnJheVR5cGU+PlxuICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgOiBUIGV4dGVuZHMgVWludDhBcnJheVxuICAgID8gVWludDhBcnJheVxuICAgIDogVCBleHRlbmRzIERhdGVcbiAgICA/IERhdGVcbiAgICA6IHtcbiAgICAgICAgW0sgaW4ga2V5b2YgVCBhcyBUb1NuYWtlPEs+XTogVFtLXSBleHRlbmRzXG4gICAgICAgICAgfCBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgICAgICAgfCB1bmRlZmluZWRcbiAgICAgICAgICB8IG51bGxcbiAgICAgICAgICA/IEFycmF5VHlwZSBleHRlbmRzIG9iamVjdFxuICAgICAgICAgICAgPyBBcnJheTxPYmplY3RUb1NuYWtlPEFycmF5VHlwZT4+XG4gICAgICAgICAgICA6IEFycmF5PEFycmF5VHlwZT5cbiAgICAgICAgICA6IFRbS10gZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsXG4gICAgICAgICAgPyBPYmplY3RUb1NuYWtlPFRbS10+XG4gICAgICAgICAgOiBUW0tdO1xuICAgICAgfTtcblxudHlwZSBDYXBpdGFsTGV0dGVycyA9XG4gIHwgJ0EnXG4gIHwgJ0InXG4gIHwgJ0MnXG4gIHwgJ0QnXG4gIHwgJ0UnXG4gIHwgJ0YnXG4gIHwgJ0cnXG4gIHwgJ0gnXG4gIHwgJ0knXG4gIHwgJ0onXG4gIHwgJ0snXG4gIHwgJ0wnXG4gIHwgJ00nXG4gIHwgJ04nXG4gIHwgJ08nXG4gIHwgJ1AnXG4gIHwgJ1EnXG4gIHwgJ1InXG4gIHwgJ1MnXG4gIHwgJ1QnXG4gIHwgJ1UnXG4gIHwgJ1YnXG4gIHwgJ1cnXG4gIHwgJ1gnXG4gIHwgJ1knXG4gIHwgJ1onO1xuXG50eXBlIE51bWJlcnMgPSAnMCcgfCAnMScgfCAnMicgfCAnMycgfCAnNCcgfCAnNScgfCAnNicgfCAnNycgfCAnOCcgfCAnOSc7XG5cbnR5cGUgQ2FwaXRhbENoYXJzID0gQ2FwaXRhbExldHRlcnMgfCBOdW1iZXJzO1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.objectToPascal = exports.toPascal = exports.toCamel = exports.toSnake = exports.objectToSnake = exports.objectToCamel = void 0;\nvar caseConvert_1 = require(\"./caseConvert\");\nObject.defineProperty(exports, \"objectToCamel\", { enumerable: true, get: function () { return caseConvert_1.objectToCamel; } });\nObject.defineProperty(exports, \"objectToSnake\", { enumerable: true, get: function () { return caseConvert_1.objectToSnake; } });\nObject.defineProperty(exports, \"toSnake\", { enumerable: true, get: function () { return caseConvert_1.toSnake; } });\nObject.defineProperty(exports, \"toCamel\", { enumerable: true, get: function () { return caseConvert_1.toCamel; } });\nObject.defineProperty(exports, \"toPascal\", { enumerable: true, get: function () { return caseConvert_1.toPascal; } });\nObject.defineProperty(exports, \"objectToPascal\", { enumerable: true, get: function () { return caseConvert_1.objectToPascal; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBT3VCO0FBTnJCLDRHQUFBLGFBQWEsT0FBQTtBQUNiLDRHQUFBLGFBQWEsT0FBQTtBQUNiLHNHQUFBLE9BQU8sT0FBQTtBQUNQLHNHQUFBLE9BQU8sT0FBQTtBQUNQLHVHQUFBLFFBQVEsT0FBQTtBQUNSLDZHQUFBLGNBQWMsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIG9iamVjdFRvQ2FtZWwsXG4gIG9iamVjdFRvU25ha2UsXG4gIHRvU25ha2UsXG4gIHRvQ2FtZWwsXG4gIHRvUGFzY2FsLFxuICBvYmplY3RUb1Bhc2NhbCxcbn0gZnJvbSAnLi9jYXNlQ29udmVydCc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgT2JqZWN0VG9DYW1lbCxcbiAgT2JqZWN0VG9TbmFrZSxcbiAgVG9TbmFrZSxcbiAgVG9DYW1lbCxcbiAgVG9QYXNjYWwsXG4gIE9iamVjdFRvUGFzY2FsLFxufSBmcm9tICcuL2Nhc2VDb252ZXJ0JztcbiJdfQ==",null,null,null],"names":["isMergeableObject","value","isNonNullObject","stringValue","Object","prototype","toString","call","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","Symbol","for","cloneUnlessOtherwiseSpecified","options","clone","deepmerge","val","Array","isArray","defaultArrayMerge","target","source","concat","map","element","getKeys","keys","getOwnPropertySymbols","filter","symbol","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","object","property","_","mergeObject","destination","forEach","key","hasOwnProperty","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","all","array","Error","reduce","prev","next","cjs","Emitter","obj","mixin","on","addEventListener","event","fn","this","_callbacks","push","once","off","apply","arguments","removeListener","removeAllListeners","removeEventListener","length","cb","callbacks","i","splice","emit","args","len","slice","emitReserved","listeners","hasListeners","withNativeArrayBuffer","ArrayBuffer","withNativeBlob","Blob","withNativeFile","File","isBinary","isView","buffer","hasBinary","toJSON","l","deconstructPacket","packet","buffers","packetData","data","pack","_deconstructPacket","attachments","placeholder","_placeholder","num","newData","Date","reconstructPacket","_reconstructPacket","RESERVED_EVENTS","PacketType","Encoder","constructor","replacer","encode","type","EVENT","ACK","encodeAsString","encodeAsBinary","BINARY_EVENT","BINARY_ACK","nsp","id","str","JSON","stringify","deconstruction","unshift","isObject","Decoder","reviver","super","add","reconstructor","decodeString","isBinaryEvent","BinaryReconstructor","base64","takeBinaryData","p","Number","charAt","undefined","start","buf","substring","c","payload","tryParse","substr","isPayloadValid","parse","e","CONNECT","DISCONNECT","CONNECT_ERROR","indexOf","destroy","finishedReconstruction","reconPack","binData","convertObject","keyConverter","out","k","v","entries","item","Uint8Array","toCamel","term","toLowerCase","replace","m","toUpperCase","toSnake","_a","_b","result","circuitBreaker","exec","_all","$1","$2","toPascal","defineProperty","caseConvert","objectToPascal","objectToSnake","objectToCamel","exports","caseConvert_1","require$$0","enumerable","get","SnakeCaseParser","socketDefaults","path","autoConnect","transports","upgrade","timeout","apiKey","baseUrl","namespace","socketOptions","socketioEndpoint","parser","withCredentials","transportOptions","polling","extraHeaders","socket","io","connect","search","callback","asyncResponse","facetedNavigation","cancelRequest","requestSessionInformation","eventName","handler","disconnect","onDisconnect","operation","eventSourceId","events","async","subscriber","cancelled","resolveNext","unsubscribe","cancel","shift","Promise","resolve","asyncGenerator","onAny","offAny","ack","eventId"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"socket.io-client";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===r}(e)}(e)};var r="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?i((r=e,Array.isArray(r)?[]:{}),e,t):e;var r}function o(e,t,r){return e.concat(t).map((function(e){return n(e,r)}))}function c(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function s(e,t){try{return t in e}catch(e){return!1}}function a(e,t,r){var o={};return r.isMergeableObject(e)&&c(e).forEach((function(t){o[t]=n(e[t],r)})),c(t).forEach((function(c){(function(e,t){return s(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,c)||(s(e,c)&&r.isMergeableObject(t[c])?o[c]=function(e,t){if(!t.customMerge)return i;var r=t.customMerge(e);return"function"==typeof r?r:i}(c,r)(e[c],t[c],r):o[c]=n(t[c],r))})),o}function i(e,r,c){(c=c||{}).arrayMerge=c.arrayMerge||o,c.isMergeableObject=c.isMergeableObject||t,c.cloneUnlessOtherwiseSpecified=n;var s=Array.isArray(r);return s===Array.isArray(e)?s?c.arrayMerge(e,r,c):a(e,r,c):n(r,c)}i.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,r){return i(e,r,t)}),{})};var u=i;function l(e){if(e)return function(e){for(var t in l.prototype)e[t]=l.prototype[t];return e}(e)}l.prototype.on=l.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},l.prototype.once=function(e,t){function r(){this.off(e,r),t.apply(this,arguments)}return r.fn=t,this.on(e,r),this},l.prototype.off=l.prototype.removeListener=l.prototype.removeAllListeners=l.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var r,n=this._callbacks["$"+e];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<n.length;o++)if((r=n[o])===t||r.fn===t){n.splice(o,1);break}return 0===n.length&&delete this._callbacks["$"+e],this},l.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),r=this._callbacks["$"+e],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(r){n=0;for(var o=(r=r.slice(0)).length;n<o;++n)r[n].apply(this,t)}return this},l.prototype.emitReserved=l.prototype.emit,l.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},l.prototype.hasListeners=function(e){return!!this.listeners(e).length};const f="function"==typeof ArrayBuffer,p=Object.prototype.toString,h="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===p.call(Blob),y="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===p.call(File);function b(e){return f&&(e instanceof ArrayBuffer||(e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer)(e))||h&&e instanceof Blob||y&&e instanceof File}function d(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,r=e.length;t<r;t++)if(d(e[t]))return!0;return!1}if(b(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return d(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&d(e[t]))return!0;return!1}function A(e){const t=[],r=e.data,n=e;return n.data=m(r,t),n.attachments=t.length,{packet:n,buffers:t}}function m(e,t){if(!e)return e;if(b(e)){const r={_placeholder:!0,num:t.length};return t.push(e),r}if(Array.isArray(e)){const r=new Array(e.length);for(let n=0;n<e.length;n++)r[n]=m(e[n],t);return r}if("object"==typeof e&&!(e instanceof Date)){const r={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=m(e[n],t));return r}return e}function g(e,t){return e.data=k(e.data,t),delete e.attachments,e}function k(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let r=0;r<e.length;r++)e[r]=k(e[r],t);else if("object"==typeof e)for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]=k(e[r],t));return e}const N=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var j;!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(j||(j={}));class C{constructor(e){this.replacer=e}encode(e){return e.type!==j.EVENT&&e.type!==j.ACK||!d(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===j.EVENT?j.BINARY_EVENT:j.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==j.BINARY_EVENT&&e.type!==j.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=A(e),r=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(r),n}}function E(e){return"[object Object]"===Object.prototype.toString.call(e)}class O extends l{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const r=t.type===j.BINARY_EVENT;r||t.type===j.BINARY_ACK?(t.type=r?j.EVENT:j.ACK,this.reconstructor=new v(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!b(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const r={type:Number(e.charAt(0))};if(void 0===j[r.type])throw new Error("unknown packet type "+r.type);if(r.type===j.BINARY_EVENT||r.type===j.BINARY_ACK){const n=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const o=e.substring(n,t);if(o!=Number(o)||"-"!==e.charAt(t))throw new Error("Illegal attachments");r.attachments=Number(o)}if("/"===e.charAt(t+1)){const n=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}r.nsp=e.substring(n,t)}else r.nsp="/";const n=e.charAt(t+1);if(""!==n&&Number(n)==n){const n=t+1;for(;++t;){const r=e.charAt(t);if(null==r||Number(r)!=r){--t;break}if(t===e.length)break}r.id=Number(e.substring(n,t+1))}if(e.charAt(++t)){const n=this.tryParse(e.substr(t));if(!O.isPayloadValid(r.type,n))throw new Error("invalid payload");r.data=n}return r}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case j.CONNECT:return E(t);case j.DISCONNECT:return void 0===t;case j.CONNECT_ERROR:return"string"==typeof t||E(t);case j.EVENT:case j.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===N.indexOf(t[0]));case j.ACK:case j.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class v{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=g(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}var w={},_={};function T(e,t){if(null==e||"object"!=typeof e)return e;const r=Array.isArray(e)?[]:{};for(const[n,o]of Object.entries(e))r[t(n)]=Array.isArray(o)?o.map((e=>"object"!=typeof e||e instanceof Uint8Array||e instanceof Date?e:T(e,t))):o instanceof Uint8Array||o instanceof Date?o:"object"==typeof o?T(o,t):o;return r}function R(e){return 1===e.length?e.toLowerCase():e.replace(/^([A-Z])/,(e=>e[0].toLowerCase())).replace(/[_-]([a-z0-9])/g,(e=>e[1].toUpperCase()))}function S(e){var t,r;let n=e,o=0;for(;((null===(t=/([a-z])([0-9])/.exec(n))||void 0===t?void 0:t.length)||0)>2&&o<10;)n=n.replace(/([a-z])([0-9])/,((e,t,r)=>`${t.toLowerCase()}_${r.toLowerCase()}`)),o+=1;for(;((null===(r=/(.+?)([A-Z])/.exec(n))||void 0===r?void 0:r.length)||0)>2&&o<10;)n=n.replace(/(.+?)([A-Z])/,((e,t,r)=>`${t.toLowerCase()}_${r.toLowerCase()}`)),o+=1;return n.toLowerCase()}function P(e){return R(e).replace(/^([a-z])/,(e=>e[0].toUpperCase()))}Object.defineProperty(_,"__esModule",{value:!0}),_.objectToPascal=_.toPascal=_.objectToSnake=_.toSnake=_.objectToCamel=_.toCamel=void 0,_.toCamel=R,_.objectToCamel=function(e){return T(e,R)},_.toSnake=S,_.objectToSnake=function(e){return T(e,S)},_.toPascal=P,_.objectToPascal=function(e){return T(e,P)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.objectToPascal=e.toPascal=e.toCamel=e.toSnake=e.objectToSnake=e.objectToCamel=void 0;var t=_;Object.defineProperty(e,"objectToCamel",{enumerable:!0,get:function(){return t.objectToCamel}}),Object.defineProperty(e,"objectToSnake",{enumerable:!0,get:function(){return t.objectToSnake}}),Object.defineProperty(e,"toSnake",{enumerable:!0,get:function(){return t.toSnake}}),Object.defineProperty(e,"toCamel",{enumerable:!0,get:function(){return t.toCamel}}),Object.defineProperty(e,"toPascal",{enumerable:!0,get:function(){return t.toPascal}}),Object.defineProperty(e,"objectToPascal",{enumerable:!0,get:function(){return t.objectToPascal}})}(w);const B={Encoder:class extends C{encode(e){return super.encode({...e,data:2==e.data?.length?[e.data[0],w.objectToSnake(e.data[1])]:void 0})}},Decoder:class extends O{constructor(){super(((e,t)=>"object"!=typeof t||null===t||Array.isArray(t)?t:w.objectToCamel(t)))}}};const I={path:"/api/v1/socket.io",autoConnect:!1,transports:["polling","websocket"],upgrade:!0,timeout:1e4};class V{constructor({apiKey:t,baseUrl:r,namespace:n="/copilot",socketOptions:o={}}){const c=`${r}${n}`,s=[I,o,{parser:B,withCredentials:!0,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":t}}}}];this.socket=e(c,u.all(s))}connect(){this.socket.connect()}async search(e,t){return this.asyncResponse("copilot_search",e,t)}async facetedNavigation(e,t){return this.asyncResponse("copilot_search",e,t)}cancelRequest(e,t){return this.asyncResponse("copilot_search",e,t)}async requestSessionInformation(e){this.socket.emit("session_info",e)}on(e,t){return this.socket.on(e,t),t}once(e,t){this.socket.once(e,t)}off(e,t){this.socket.off(e,t)}disconnect(){this.socket.disconnect()}onDisconnect(e){this.socket.on("disconnect",e)}async asyncResponse(e,t,r){if(r)return void this.socket.emit("copilot_search",t,r);let n="";const o=async function*(e){const t=[];let r=!1,n=null;const o=await e({emit:e=>{t.push(e),n&&(n(),n=null)},cancel:()=>{r=!0}});try{for(;!r;)t.length>0?yield t.shift():await new Promise((e=>{n=e}));for(;t.length>0;)yield t.shift()}finally{await(o?.())}}((({emit:e,cancel:t})=>{const r=(r,o)=>{"done"==o.eventName&&t(),o.eventSourceId==n&&e(o)};return this.socket.onAny(r),async()=>{this.socket.offAny(r)}}));return{result:await new Promise((r=>this.socket.emit(e,t,(e=>{n=e.eventId,r(e)})))),events:o}}}export{V as CimulateCopilot};
|
|
2
|
+
//# sourceMappingURL=bundle.cimulate.copilot-sdk.820437d6.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.cimulate.copilot-sdk.820437d6.esm.js","sources":["../node_modules/deepmerge/dist/cjs.js","../node_modules/@socket.io/component-emitter/lib/esm/index.js","../node_modules/socket.io-parser/build/esm/is-binary.js","../node_modules/socket.io-parser/build/esm/binary.js","../node_modules/socket.io-parser/build/esm/index.js","../node_modules/ts-case-convert/lib/caseConvert.js","../node_modules/ts-case-convert/lib/index.js","../src/parser.ts","../src/copilot.ts","../src/generator.ts"],"sourcesContent":["'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id,\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if (isBinary(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.objectToPascal = exports.toPascal = exports.objectToSnake = exports.toSnake = exports.objectToCamel = exports.toCamel = void 0;\nfunction convertObject(obj, keyConverter) {\n if (obj === null || typeof obj === 'undefined' || typeof obj !== 'object') {\n return obj;\n }\n const out = (Array.isArray(obj) ? [] : {});\n for (const [k, v] of Object.entries(obj)) {\n // eslint-disable-next-line\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n out[keyConverter(k)] = Array.isArray(v)\n ? v.map((item) => typeof item === 'object' &&\n !(item instanceof Uint8Array) &&\n !(item instanceof Date)\n ? convertObject(item, keyConverter)\n : item)\n : v instanceof Uint8Array || v instanceof Date\n ? v\n : typeof v === 'object'\n ? convertObject(v, keyConverter)\n : v;\n }\n return out;\n}\nfunction toCamel(term) {\n return (term.length === 1\n ? term.toLowerCase()\n : term\n .replace(/^([A-Z])/, (m) => m[0].toLowerCase())\n .replace(/[_-]([a-z0-9])/g, (m) => m[1].toUpperCase()));\n}\nexports.toCamel = toCamel;\nfunction objectToCamel(obj) {\n return convertObject(obj, toCamel);\n}\nexports.objectToCamel = objectToCamel;\nfunction toSnake(term) {\n var _a, _b;\n let result = term;\n let circuitBreaker = 0;\n while ((((_a = /([a-z])([0-9])/.exec(result)) === null || _a === void 0 ? void 0 : _a.length) || 0) > 2 &&\n circuitBreaker < 10) {\n result = result.replace(/([a-z])([0-9])/, (_all, $1, $2) => `${$1.toLowerCase()}_${$2.toLowerCase()}`);\n circuitBreaker += 1;\n }\n while ((((_b = /(.+?)([A-Z])/.exec(result)) === null || _b === void 0 ? void 0 : _b.length) || 0) > 2 &&\n circuitBreaker < 10) {\n result = result.replace(/(.+?)([A-Z])/, (_all, $1, $2) => `${$1.toLowerCase()}_${$2.toLowerCase()}`);\n circuitBreaker += 1;\n }\n return result.toLowerCase();\n}\nexports.toSnake = toSnake;\nfunction objectToSnake(obj) {\n return convertObject(obj, toSnake);\n}\nexports.objectToSnake = objectToSnake;\nfunction toPascal(term) {\n return toCamel(term).replace(/^([a-z])/, (m) => m[0].toUpperCase());\n}\nexports.toPascal = toPascal;\nfunction objectToPascal(obj) {\n return convertObject(obj, toPascal);\n}\nexports.objectToPascal = objectToPascal;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZUNvbnZlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2FzZUNvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBUyxhQUFhLENBTXBCLEdBQVcsRUFBRSxZQUFxQztJQUNsRCxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBTyxHQUFHLEtBQUssV0FBVyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUN6RSxPQUFPLEdBQUcsQ0FBQztLQUNaO0lBRUQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBWSxDQUFDO0lBQ3RELEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3hDLDJCQUEyQjtRQUMzQixhQUFhO1FBQ2IsbUVBQW1FO1FBQ25FLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUEyQixJQUFlLEVBQUUsRUFBRSxDQUNuRCxPQUFPLElBQUksS0FBSyxRQUFRO2dCQUN4QixDQUFDLENBQUMsSUFBSSxZQUFZLFVBQVUsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLElBQUksWUFBWSxJQUFJLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQyxhQUFhLENBT1gsSUFBSSxFQUFFLFlBQVksQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLElBQUksQ0FDSztZQUNqQixDQUFDLENBQUMsQ0FBQyxZQUFZLFVBQVUsSUFBSSxDQUFDLFlBQVksSUFBSTtnQkFDOUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVE7b0JBQ3ZCLENBQUMsQ0FBQyxhQUFhLENBT1gsQ0FBQyxFQUFFLFlBQVksQ0FBQztvQkFDcEIsQ0FBQyxDQUFFLENBQWEsQ0FBQztLQUNwQjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFNBQWdCLE9BQU8sQ0FBbUIsSUFBTztJQUMvQyxPQUFPLENBQ0wsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDcEIsQ0FBQyxDQUFDLElBQUk7YUFDRCxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDOUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDL0MsQ0FBQztBQUNsQixDQUFDO0FBUkQsMEJBUUM7QUFFRCxTQUFnQixhQUFhLENBQW1CLEdBQU07SUFDcEQsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFGRCxzQ0FFQztBQUVELFNBQWdCLE9BQU8sQ0FBbUIsSUFBTzs7SUFDL0MsSUFBSSxNQUFNLEdBQVcsSUFBSSxDQUFDO0lBQzFCLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztJQUV2QixPQUNFLENBQUMsQ0FBQSxNQUFBLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsMENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDaEQsY0FBYyxHQUFHLEVBQUUsRUFDbkI7UUFDQSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FDckIsZ0JBQWdCLEVBQ2hCLENBQUMsSUFBSSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUMvQixHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDNUMsQ0FBQztRQUVGLGNBQWMsSUFBSSxDQUFDLENBQUM7S0FDckI7SUFFRCxPQUNFLENBQUMsQ0FBQSxNQUFBLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzlDLGNBQWMsR0FBRyxFQUFFLEVBQ25CO1FBQ0EsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQ3JCLGNBQWMsRUFDZCxDQUFDLElBQUksRUFBRSxFQUFVLEVBQUUsRUFBVSxFQUFFLEVBQUUsQ0FDL0IsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQzVDLENBQUM7UUFDRixjQUFjLElBQUksQ0FBQyxDQUFDO0tBQ3JCO0lBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxFQUFnQixDQUFDO0FBQzVDLENBQUM7QUE5QkQsMEJBOEJDO0FBRUQsU0FBZ0IsYUFBYSxDQUFtQixHQUFNO0lBQ3BELE9BQU8sYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRkQsc0NBRUM7QUFFRCxTQUFnQixRQUFRLENBQW1CLElBQU87SUFDaEQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FDSixDQUFDO0FBQ25CLENBQUM7QUFKRCw0QkFJQztBQUVELFNBQWdCLGNBQWMsQ0FBbUIsR0FBTTtJQUNyRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUZELHdDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gY29udmVydE9iamVjdDxcbiAgVElucHV0IGV4dGVuZHMgb2JqZWN0LFxuICBUUmVzdWx0IGV4dGVuZHNcbiAgICB8IE9iamVjdFRvQ2FtZWw8VElucHV0PlxuICAgIHwgT2JqZWN0VG9TbmFrZTxUSW5wdXQ+XG4gICAgfCBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+LFxuPihvYmo6IFRJbnB1dCwga2V5Q29udmVydGVyOiAoYXJnOiBzdHJpbmcpID0+IHN0cmluZyk6IFRSZXN1bHQge1xuICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIGNvbnN0IG91dCA9IChBcnJheS5pc0FycmF5KG9iaikgPyBbXSA6IHt9KSBhcyBUUmVzdWx0O1xuICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhvYmopKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFzc2lnbm1lbnRcbiAgICBvdXRba2V5Q29udmVydGVyKGspXSA9IEFycmF5LmlzQXJyYXkodilcbiAgICAgID8gKHYubWFwKDxBcnJheUl0ZW0gZXh0ZW5kcyBvYmplY3Q+KGl0ZW06IEFycmF5SXRlbSkgPT5cbiAgICAgICAgICB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAhKGl0ZW0gaW5zdGFuY2VvZiBVaW50OEFycmF5KSAmJlxuICAgICAgICAgICEoaXRlbSBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICAgICA/IGNvbnZlcnRPYmplY3Q8XG4gICAgICAgICAgICAgICAgQXJyYXlJdGVtLFxuICAgICAgICAgICAgICAgIFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb0NhbWVsPFRJbnB1dD5cbiAgICAgICAgICAgICAgICAgID8gT2JqZWN0VG9DYW1lbDxBcnJheUl0ZW0+XG4gICAgICAgICAgICAgICAgICA6IFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+XG4gICAgICAgICAgICAgICAgICA/IE9iamVjdFRvUGFzY2FsPEFycmF5SXRlbT5cbiAgICAgICAgICAgICAgICAgIDogT2JqZWN0VG9TbmFrZTxBcnJheUl0ZW0+XG4gICAgICAgICAgICAgID4oaXRlbSwga2V5Q29udmVydGVyKVxuICAgICAgICAgICAgOiBpdGVtLFxuICAgICAgICApIGFzIHVua25vd25bXSlcbiAgICAgIDogdiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgfHwgdiBpbnN0YW5jZW9mIERhdGVcbiAgICAgID8gdlxuICAgICAgOiB0eXBlb2YgdiA9PT0gJ29iamVjdCdcbiAgICAgID8gY29udmVydE9iamVjdDxcbiAgICAgICAgICB0eXBlb2YgdixcbiAgICAgICAgICBUUmVzdWx0IGV4dGVuZHMgT2JqZWN0VG9DYW1lbDxUSW5wdXQ+XG4gICAgICAgICAgICA/IE9iamVjdFRvQ2FtZWw8dHlwZW9mIHY+XG4gICAgICAgICAgICA6IFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+XG4gICAgICAgICAgICA/IE9iamVjdFRvUGFzY2FsPHR5cGVvZiB2PlxuICAgICAgICAgICAgOiBPYmplY3RUb1NuYWtlPHR5cGVvZiB2PlxuICAgICAgICA+KHYsIGtleUNvbnZlcnRlcilcbiAgICAgIDogKHYgYXMgdW5rbm93bik7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQ2FtZWw8VCBleHRlbmRzIHN0cmluZz4odGVybTogVCk6IFRvQ2FtZWw8VD4ge1xuICByZXR1cm4gKFxuICAgIHRlcm0ubGVuZ3RoID09PSAxXG4gICAgICA/IHRlcm0udG9Mb3dlckNhc2UoKVxuICAgICAgOiB0ZXJtXG4gICAgICAgICAgLnJlcGxhY2UoL14oW0EtWl0pLywgKG0pID0+IG1bMF0udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAucmVwbGFjZSgvW18tXShbYS16MC05XSkvZywgKG0pID0+IG1bMV0udG9VcHBlckNhc2UoKSlcbiAgKSBhcyBUb0NhbWVsPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9DYW1lbDxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb0NhbWVsPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b0NhbWVsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU25ha2U8VCBleHRlbmRzIHN0cmluZz4odGVybTogVCk6IFRvU25ha2U8VD4ge1xuICBsZXQgcmVzdWx0OiBzdHJpbmcgPSB0ZXJtO1xuICBsZXQgY2lyY3VpdEJyZWFrZXIgPSAwO1xuXG4gIHdoaWxlIChcbiAgICAoLyhbYS16XSkoWzAtOV0pLy5leGVjKHJlc3VsdCk/Lmxlbmd0aCB8fCAwKSA+IDIgJiZcbiAgICBjaXJjdWl0QnJlYWtlciA8IDEwXG4gICkge1xuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKFxuICAgICAgLyhbYS16XSkoWzAtOV0pLyxcbiAgICAgIChfYWxsLCAkMTogc3RyaW5nLCAkMjogc3RyaW5nKSA9PlxuICAgICAgICBgJHskMS50b0xvd2VyQ2FzZSgpfV8keyQyLnRvTG93ZXJDYXNlKCl9YCxcbiAgICApO1xuXG4gICAgY2lyY3VpdEJyZWFrZXIgKz0gMTtcbiAgfVxuXG4gIHdoaWxlIChcbiAgICAoLyguKz8pKFtBLVpdKS8uZXhlYyhyZXN1bHQpPy5sZW5ndGggfHwgMCkgPiAyICYmXG4gICAgY2lyY3VpdEJyZWFrZXIgPCAxMFxuICApIHtcbiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShcbiAgICAgIC8oLis/KShbQS1aXSkvLFxuICAgICAgKF9hbGwsICQxOiBzdHJpbmcsICQyOiBzdHJpbmcpID0+XG4gICAgICAgIGAkeyQxLnRvTG93ZXJDYXNlKCl9XyR7JDIudG9Mb3dlckNhc2UoKX1gLFxuICAgICk7XG4gICAgY2lyY3VpdEJyZWFrZXIgKz0gMTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKSBhcyBUb1NuYWtlPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9TbmFrZTxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb1NuYWtlPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b1NuYWtlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUGFzY2FsPFQgZXh0ZW5kcyBzdHJpbmc+KHRlcm06IFQpOiBUb1Bhc2NhbDxUPiB7XG4gIHJldHVybiB0b0NhbWVsKHRlcm0pLnJlcGxhY2UoL14oW2Etel0pLywgKG0pID0+XG4gICAgbVswXS50b1VwcGVyQ2FzZSgpLFxuICApIGFzIFRvUGFzY2FsPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9QYXNjYWw8VCBleHRlbmRzIG9iamVjdD4ob2JqOiBUKTogT2JqZWN0VG9QYXNjYWw8VD4ge1xuICByZXR1cm4gY29udmVydE9iamVjdChvYmosIHRvUGFzY2FsKTtcbn1cblxuZXhwb3J0IHR5cGUgVG9DYW1lbDxTIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sPiA9IFMgZXh0ZW5kcyBzdHJpbmdcbiAgPyBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH1fJHtpbmZlciBUYWlsfWBcbiAgICA/IGAke1RvQ2FtZWw8VW5jYXBpdGFsaXplPEhlYWQ+Pn0ke0NhcGl0YWxpemU8VG9DYW1lbDxUYWlsPj59YFxuICAgIDogUyBleHRlbmRzIGAke2luZmVyIEhlYWR9LSR7aW5mZXIgVGFpbH1gXG4gICAgPyBgJHtUb0NhbWVsPFVuY2FwaXRhbGl6ZTxIZWFkPj59JHtDYXBpdGFsaXplPFRvQ2FtZWw8VGFpbD4+fWBcbiAgICA6IFVuY2FwaXRhbGl6ZTxTPlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb0NhbWVsPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogVCBleHRlbmRzIG51bGxcbiAgICA/IG51bGxcbiAgICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgID8gQXJyYXk8T2JqZWN0VG9DYW1lbDxBcnJheVR5cGU+PlxuICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgOiBUIGV4dGVuZHMgVWludDhBcnJheVxuICAgID8gVWludDhBcnJheVxuICAgIDogVCBleHRlbmRzIERhdGVcbiAgICA/IERhdGVcbiAgICA6IHtcbiAgICAgICAgW0sgaW4ga2V5b2YgVCBhcyBUb0NhbWVsPEs+XTogVFtLXSBleHRlbmRzXG4gICAgICAgICAgfCBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgICAgICAgfCB1bmRlZmluZWRcbiAgICAgICAgICB8IG51bGxcbiAgICAgICAgICA/IEFycmF5VHlwZSBleHRlbmRzIG9iamVjdFxuICAgICAgICAgICAgPyBBcnJheTxPYmplY3RUb0NhbWVsPEFycmF5VHlwZT4+XG4gICAgICAgICAgICA6IEFycmF5PEFycmF5VHlwZT5cbiAgICAgICAgICA6IFRbS10gZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsXG4gICAgICAgICAgPyBPYmplY3RUb0NhbWVsPFRbS10+XG4gICAgICAgICAgOiBUW0tdO1xuICAgICAgfTtcblxuZXhwb3J0IHR5cGUgVG9QYXNjYWw8UyBleHRlbmRzIHN0cmluZyB8IG51bWJlciB8IHN5bWJvbD4gPSBTIGV4dGVuZHMgc3RyaW5nXG4gID8gUyBleHRlbmRzIGAke2luZmVyIEhlYWR9XyR7aW5mZXIgVGFpbH1gXG4gICAgPyBgJHtDYXBpdGFsaXplPFRvQ2FtZWw8SGVhZD4+fSR7Q2FwaXRhbGl6ZTxUb0NhbWVsPFRhaWw+Pn1gXG4gICAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH0tJHtpbmZlciBUYWlsfWBcbiAgICA/IGAke0NhcGl0YWxpemU8VG9DYW1lbDxIZWFkPj59JHtDYXBpdGFsaXplPFRvQ2FtZWw8VGFpbD4+fWBcbiAgICA6IENhcGl0YWxpemU8Uz5cbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgT2JqZWN0VG9QYXNjYWw8VCBleHRlbmRzIG9iamVjdCB8IHVuZGVmaW5lZCB8IG51bGw+ID1cbiAgVCBleHRlbmRzIHVuZGVmaW5lZFxuICAgID8gdW5kZWZpbmVkXG4gICAgOiBUIGV4dGVuZHMgbnVsbFxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIEFycmF5PGluZmVyIEFycmF5VHlwZT5cbiAgICA/IEFycmF5VHlwZSBleHRlbmRzIG9iamVjdFxuICAgICAgPyBBcnJheTxPYmplY3RUb1Bhc2NhbDxBcnJheVR5cGU+PlxuICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgOiBUIGV4dGVuZHMgVWludDhBcnJheVxuICAgID8gVWludDhBcnJheVxuICAgIDogVCBleHRlbmRzIERhdGVcbiAgICA/IERhdGVcbiAgICA6IHtcbiAgICAgICAgW0sgaW4ga2V5b2YgVCBhcyBUb1Bhc2NhbDxLPl06IFRbS10gZXh0ZW5kc1xuICAgICAgICAgIHwgQXJyYXk8aW5mZXIgQXJyYXlUeXBlPlxuICAgICAgICAgIHwgdW5kZWZpbmVkXG4gICAgICAgICAgfCBudWxsXG4gICAgICAgICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgICAgICAgID8gQXJyYXk8T2JqZWN0VG9QYXNjYWw8QXJyYXlUeXBlPj5cbiAgICAgICAgICAgIDogQXJyYXk8QXJyYXlUeXBlPlxuICAgICAgICAgIDogVFtLXSBleHRlbmRzIG9iamVjdCB8IHVuZGVmaW5lZCB8IG51bGxcbiAgICAgICAgICA/IE9iamVjdFRvUGFzY2FsPFRbS10+XG4gICAgICAgICAgOiBUW0tdO1xuICAgICAgfTtcblxuZXhwb3J0IHR5cGUgVG9TbmFrZTxTIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sPiA9IFMgZXh0ZW5kcyBzdHJpbmdcbiAgPyBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH0ke0NhcGl0YWxDaGFyc30ke2luZmVyIFRhaWx9YCAvLyBzdHJpbmcgaGFzIGEgY2FwaXRhbCBjaGFyIHNvbWV3aGVyZVxuICAgID8gSGVhZCBleHRlbmRzICcnIC8vIHRoZXJlIGlzIGEgY2FwaXRhbCBjaGFyIGluIHRoZSBmaXJzdCBwb3NpdGlvblxuICAgICAgPyBUYWlsIGV4dGVuZHMgJydcbiAgICAgICAgPyBMb3dlcmNhc2U8Uz4gLyogICdBJyAqL1xuICAgICAgICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBDYXBzfSR7VGFpbH1gIC8vIHRhaWwgZXhpc3RzLCBoYXMgY2FwaXRhbCBjaGFyYWN0ZXJzXG4gICAgICAgID8gQ2FwcyBleHRlbmRzIENhcGl0YWxDaGFyc1xuICAgICAgICAgID8gVGFpbCBleHRlbmRzIENhcGl0YWxMZXR0ZXJzXG4gICAgICAgICAgICA/IGAke0xvd2VyY2FzZTxDYXBzPn1fJHtMb3dlcmNhc2U8VGFpbD59YCAvKiAnQUInICovXG4gICAgICAgICAgICA6IFRhaWwgZXh0ZW5kcyBgJHtDYXBpdGFsTGV0dGVyc30ke3N0cmluZ31gXG4gICAgICAgICAgICA/IGAke1RvU25ha2U8Q2Fwcz59XyR7VG9TbmFrZTxUYWlsPn1gIC8qIGZpcnN0IHRhaWwgY2hhciBpcyB1cHBlcj8gJ0FCY2QnICovXG4gICAgICAgICAgICA6IGAke1RvU25ha2U8Q2Fwcz59JHtUb1NuYWtlPFRhaWw+fWAgLyogJ0FiQ0QnLCdBYmNEJywgICovIC8qIFRPRE86IGlmIHRhaWwgaXMgb25seSBudW1iZXJzLCBhcHBlbmQgd2l0aG91dCB1bmRlcnNjb3JlICovXG4gICAgICAgICAgOiBuZXZlciAvKiBuZXZlciByZWFjaGVkLCB1c2VkIGZvciBpbmZlcmVuY2Ugb2YgY2FwcyAqL1xuICAgICAgICA6IG5ldmVyXG4gICAgICA6IFRhaWwgZXh0ZW5kcyAnJyAvKiAnYUInICdhYkNEJyAnQUJDRCcgJ0FCJyAqL1xuICAgICAgPyBTIGV4dGVuZHMgYCR7SGVhZH0ke2luZmVyIENhcHN9YFxuICAgICAgICA/IENhcHMgZXh0ZW5kcyBDYXBpdGFsQ2hhcnNcbiAgICAgICAgICA/IEhlYWQgZXh0ZW5kcyBMb3dlcmNhc2U8SGVhZD4gLyogJ2FiY0QnICovXG4gICAgICAgICAgICA/IENhcHMgZXh0ZW5kcyBOdW1iZXJzXG4gICAgICAgICAgICAgID8gLy8gSGVhZCBleGlzdHMgYW5kIGlzIGxvd2VyY2FzZSwgdGFpbCBkb2VzIG5vdCwgQ2FwcyBpcyBhIG51bWJlciwgd2UgbWF5IGJlIGluIGEgc3ViLXNlbGVjdFxuICAgICAgICAgICAgICAgIC8vIGlmIGhlYWQgZW5kcyB3aXRoIG51bWJlciwgZG9uJ3Qgc3BsaXQgaGVhZCBhbiBDYXBzLCBrZWVwIGNvbnRpZ3VvdXMgbnVtYmVycyB0b2dldGhlclxuICAgICAgICAgICAgICAgIEhlYWQgZXh0ZW5kcyBgJHtzdHJpbmd9JHtOdW1iZXJzfWBcbiAgICAgICAgICAgICAgICA/IG5ldmVyXG4gICAgICAgICAgICAgICAgOiAvLyBoZWFkIGRvZXMgbm90IGVuZCBpbiBudW1iZXIsIHNhZmUgdG8gc3BsaXQuICdhYmMyJyAtPiAnYWJjXzInXG4gICAgICAgICAgICAgICAgICBgJHtUb1NuYWtlPEhlYWQ+fV8ke0NhcHN9YFxuICAgICAgICAgICAgICA6IGAke1RvU25ha2U8SGVhZD59XyR7VG9TbmFrZTxDYXBzPn1gIC8qICdhYmNEJyAnYWJjMjUnICovXG4gICAgICAgICAgICA6IG5ldmVyIC8qIHN0b3AgdW5pb24gdHlwZSBmb3JtaW5nICovXG4gICAgICAgICAgOiBuZXZlclxuICAgICAgICA6IG5ldmVyIC8qIG5ldmVyIHJlYWNoZWQsIHVzZWQgZm9yIGluZmVyZW5jZSBvZiBjYXBzICovXG4gICAgICA6IFMgZXh0ZW5kcyBgJHtIZWFkfSR7aW5mZXIgQ2Fwc30ke1RhaWx9YCAvKiAnYWJDZCcgJ0FCQ0QnICdBYkNkJyAnQUJjRCcgKi9cbiAgICAgID8gQ2FwcyBleHRlbmRzIENhcGl0YWxDaGFyc1xuICAgICAgICA/IEhlYWQgZXh0ZW5kcyBMb3dlcmNhc2U8SGVhZD4gLyogaXMgJ2FiQ2QnICdhYkNEJyA/ICovXG4gICAgICAgICAgPyBUYWlsIGV4dGVuZHMgQ2FwaXRhbExldHRlcnMgLyogaXMgJ2FiQ0QnIHdoZXJlIENhcHMgPSAnQycgKi9cbiAgICAgICAgICAgID8gYCR7VG9TbmFrZTxIZWFkPn1fJHtUb1NuYWtlPENhcHM+fV8ke0xvd2VyY2FzZTxUYWlsPn1gIC8qIGFCQ0QgVGFpbCA9ICdEJywgSGVhZCA9ICdhQicgKi9cbiAgICAgICAgICAgIDogVGFpbCBleHRlbmRzIGAke0NhcGl0YWxMZXR0ZXJzfSR7c3RyaW5nfWAgLyogaXMgJ2FCQ2QnIHdoZXJlIENhcHMgPSAnQicgKi9cbiAgICAgICAgICAgID8gSGVhZCBleHRlbmRzIE51bWJlcnNcbiAgICAgICAgICAgICAgPyBuZXZlciAvKiBzdG9wIHVuaW9uIHR5cGUgZm9ybWluZyAqL1xuICAgICAgICAgICAgICA6IEhlYWQgZXh0ZW5kcyBgJHtzdHJpbmd9JHtOdW1iZXJzfWBcbiAgICAgICAgICAgICAgPyBuZXZlciAvKiBzdG9wIHVuaW9uIHR5cGUgZm9ybWluZyAqL1xuICAgICAgICAgICAgICA6IGAke0hlYWR9XyR7VG9TbmFrZTxDYXBzPn1fJHtUb1NuYWtlPFRhaWw+fWAgLyogJ2FCQ2QnID0+IGAkeydhJ31fJHtMb3dlcmNhc2U8J0InPn1fJHtUb1NuYWtlPCdDZCc+fWAgKi9cbiAgICAgICAgICAgIDogYCR7VG9TbmFrZTxIZWFkPn1fJHtMb3dlcmNhc2U8Q2Fwcz59JHtUb1NuYWtlPFRhaWw+fWAgLyogJ2FCY0QnIHdoZXJlIENhcHMgPSAnQicgdGFpbCBzdGFydHMgYXMgbG93ZXJjYXNlICovXG4gICAgICAgICAgOiBuZXZlclxuICAgICAgICA6IG5ldmVyXG4gICAgICA6IG5ldmVyXG4gICAgOiBTIC8qICdhYmMnICAqL1xuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb1NuYWtlPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogVCBleHRlbmRzIG51bGxcbiAgICA/IG51bGxcbiAgICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgID8gQXJyYXk8T2JqZWN0VG9TbmFrZTxBcnJheVR5cGU+PlxuICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgOiBUIGV4dGVuZHMgVWludDhBcnJheVxuICAgID8gVWludDhBcnJheVxuICAgIDogVCBleHRlbmRzIERhdGVcbiAgICA/IERhdGVcbiAgICA6IHtcbiAgICAgICAgW0sgaW4ga2V5b2YgVCBhcyBUb1NuYWtlPEs+XTogVFtLXSBleHRlbmRzXG4gICAgICAgICAgfCBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgICAgICAgfCB1bmRlZmluZWRcbiAgICAgICAgICB8IG51bGxcbiAgICAgICAgICA/IEFycmF5VHlwZSBleHRlbmRzIG9iamVjdFxuICAgICAgICAgICAgPyBBcnJheTxPYmplY3RUb1NuYWtlPEFycmF5VHlwZT4+XG4gICAgICAgICAgICA6IEFycmF5PEFycmF5VHlwZT5cbiAgICAgICAgICA6IFRbS10gZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsXG4gICAgICAgICAgPyBPYmplY3RUb1NuYWtlPFRbS10+XG4gICAgICAgICAgOiBUW0tdO1xuICAgICAgfTtcblxudHlwZSBDYXBpdGFsTGV0dGVycyA9XG4gIHwgJ0EnXG4gIHwgJ0InXG4gIHwgJ0MnXG4gIHwgJ0QnXG4gIHwgJ0UnXG4gIHwgJ0YnXG4gIHwgJ0cnXG4gIHwgJ0gnXG4gIHwgJ0knXG4gIHwgJ0onXG4gIHwgJ0snXG4gIHwgJ0wnXG4gIHwgJ00nXG4gIHwgJ04nXG4gIHwgJ08nXG4gIHwgJ1AnXG4gIHwgJ1EnXG4gIHwgJ1InXG4gIHwgJ1MnXG4gIHwgJ1QnXG4gIHwgJ1UnXG4gIHwgJ1YnXG4gIHwgJ1cnXG4gIHwgJ1gnXG4gIHwgJ1knXG4gIHwgJ1onO1xuXG50eXBlIE51bWJlcnMgPSAnMCcgfCAnMScgfCAnMicgfCAnMycgfCAnNCcgfCAnNScgfCAnNicgfCAnNycgfCAnOCcgfCAnOSc7XG5cbnR5cGUgQ2FwaXRhbENoYXJzID0gQ2FwaXRhbExldHRlcnMgfCBOdW1iZXJzO1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.objectToPascal = exports.toPascal = exports.toCamel = exports.toSnake = exports.objectToSnake = exports.objectToCamel = void 0;\nvar caseConvert_1 = require(\"./caseConvert\");\nObject.defineProperty(exports, \"objectToCamel\", { enumerable: true, get: function () { return caseConvert_1.objectToCamel; } });\nObject.defineProperty(exports, \"objectToSnake\", { enumerable: true, get: function () { return caseConvert_1.objectToSnake; } });\nObject.defineProperty(exports, \"toSnake\", { enumerable: true, get: function () { return caseConvert_1.toSnake; } });\nObject.defineProperty(exports, \"toCamel\", { enumerable: true, get: function () { return caseConvert_1.toCamel; } });\nObject.defineProperty(exports, \"toPascal\", { enumerable: true, get: function () { return caseConvert_1.toPascal; } });\nObject.defineProperty(exports, \"objectToPascal\", { enumerable: true, get: function () { return caseConvert_1.objectToPascal; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBT3VCO0FBTnJCLDRHQUFBLGFBQWEsT0FBQTtBQUNiLDRHQUFBLGFBQWEsT0FBQTtBQUNiLHNHQUFBLE9BQU8sT0FBQTtBQUNQLHNHQUFBLE9BQU8sT0FBQTtBQUNQLHVHQUFBLFFBQVEsT0FBQTtBQUNSLDZHQUFBLGNBQWMsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIG9iamVjdFRvQ2FtZWwsXG4gIG9iamVjdFRvU25ha2UsXG4gIHRvU25ha2UsXG4gIHRvQ2FtZWwsXG4gIHRvUGFzY2FsLFxuICBvYmplY3RUb1Bhc2NhbCxcbn0gZnJvbSAnLi9jYXNlQ29udmVydCc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgT2JqZWN0VG9DYW1lbCxcbiAgT2JqZWN0VG9TbmFrZSxcbiAgVG9TbmFrZSxcbiAgVG9DYW1lbCxcbiAgVG9QYXNjYWwsXG4gIE9iamVjdFRvUGFzY2FsLFxufSBmcm9tICcuL2Nhc2VDb252ZXJ0JztcbiJdfQ==",null,null,null],"names":["isMergeableObject","value","isNonNullObject","stringValue","Object","prototype","toString","call","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","Symbol","for","cloneUnlessOtherwiseSpecified","options","clone","deepmerge","val","Array","isArray","defaultArrayMerge","target","source","concat","map","element","getKeys","keys","getOwnPropertySymbols","filter","symbol","propertyIsEnumerable","getEnumerableOwnPropertySymbols","propertyIsOnObject","object","property","_","mergeObject","destination","forEach","key","hasOwnProperty","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","all","array","Error","reduce","prev","next","cjs","Emitter","obj","mixin","on","addEventListener","event","fn","this","_callbacks","push","once","off","apply","arguments","removeListener","removeAllListeners","removeEventListener","length","cb","callbacks","i","splice","emit","args","len","slice","emitReserved","listeners","hasListeners","withNativeArrayBuffer","ArrayBuffer","withNativeBlob","Blob","withNativeFile","File","isBinary","isView","buffer","hasBinary","toJSON","l","deconstructPacket","packet","buffers","packetData","data","pack","_deconstructPacket","attachments","placeholder","_placeholder","num","newData","Date","reconstructPacket","_reconstructPacket","RESERVED_EVENTS","PacketType","Encoder","constructor","replacer","encode","type","EVENT","ACK","encodeAsString","encodeAsBinary","BINARY_EVENT","BINARY_ACK","nsp","id","str","JSON","stringify","deconstruction","unshift","isObject","Decoder","reviver","super","add","reconstructor","decodeString","isBinaryEvent","BinaryReconstructor","base64","takeBinaryData","p","Number","charAt","undefined","start","buf","substring","c","payload","tryParse","substr","isPayloadValid","parse","e","CONNECT","DISCONNECT","CONNECT_ERROR","indexOf","destroy","finishedReconstruction","reconPack","binData","convertObject","keyConverter","out","k","v","entries","item","Uint8Array","toCamel","term","toLowerCase","replace","m","toUpperCase","toSnake","_a","_b","result","circuitBreaker","exec","_all","$1","$2","toPascal","defineProperty","caseConvert","objectToPascal","objectToSnake","objectToCamel","exports","caseConvert_1","require$$0","enumerable","get","SnakeCaseParser","socketDefaults","path","autoConnect","transports","upgrade","timeout","CimulateCopilot","apiKey","baseUrl","namespace","socketOptions","socketioEndpoint","parser","withCredentials","transportOptions","polling","extraHeaders","socket","io","connect","search","callback","asyncResponse","facetedNavigation","cancelRequest","requestSessionInformation","eventName","handler","disconnect","onDisconnect","operation","eventSourceId","events","async","subscriber","cancelled","resolveNext","unsubscribe","cancel","shift","Promise","resolve","asyncGenerator","onAny","offAny","ack","eventId"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("socket.io-client")):"function"==typeof define&&define.amd?define(["exports","socket.io-client"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CimulateCopilot={},e.io)}(this,(function(e,t){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=r(t),o=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===c}(e)}(e)};var c="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function s(e,t){return!1!==t.clone&&t.isMergeableObject(e)?f((r=e,Array.isArray(r)?[]:{}),e,t):e;var r}function a(e,t,r){return e.concat(t).map((function(e){return s(e,r)}))}function i(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function u(e,t){try{return t in e}catch(e){return!1}}function l(e,t,r){var n={};return r.isMergeableObject(e)&&i(e).forEach((function(t){n[t]=s(e[t],r)})),i(t).forEach((function(o){(function(e,t){return u(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,o)||(u(e,o)&&r.isMergeableObject(t[o])?n[o]=function(e,t){if(!t.customMerge)return f;var r=t.customMerge(e);return"function"==typeof r?r:f}(o,r)(e[o],t[o],r):n[o]=s(t[o],r))})),n}function f(e,t,r){(r=r||{}).arrayMerge=r.arrayMerge||a,r.isMergeableObject=r.isMergeableObject||o,r.cloneUnlessOtherwiseSpecified=s;var n=Array.isArray(t);return n===Array.isArray(e)?n?r.arrayMerge(e,t,r):l(e,t,r):s(t,r)}f.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,r){return f(e,r,t)}),{})};var p=f;function y(e){if(e)return function(e){for(var t in y.prototype)e[t]=y.prototype[t];return e}(e)}y.prototype.on=y.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},y.prototype.once=function(e,t){function r(){this.off(e,r),t.apply(this,arguments)}return r.fn=t,this.on(e,r),this},y.prototype.off=y.prototype.removeListener=y.prototype.removeAllListeners=y.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var r,n=this._callbacks["$"+e];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<n.length;o++)if((r=n[o])===t||r.fn===t){n.splice(o,1);break}return 0===n.length&&delete this._callbacks["$"+e],this},y.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),r=this._callbacks["$"+e],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(r){n=0;for(var o=(r=r.slice(0)).length;n<o;++n)r[n].apply(this,t)}return this},y.prototype.emitReserved=y.prototype.emit,y.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},y.prototype.hasListeners=function(e){return!!this.listeners(e).length};const h="function"==typeof ArrayBuffer,b=Object.prototype.toString,d="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===b.call(Blob),A="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===b.call(File);function m(e){return h&&(e instanceof ArrayBuffer||(e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer)(e))||d&&e instanceof Blob||A&&e instanceof File}function g(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,r=e.length;t<r;t++)if(g(e[t]))return!0;return!1}if(m(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return g(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&g(e[t]))return!0;return!1}function k(e){const t=[],r=e.data,n=e;return n.data=j(r,t),n.attachments=t.length,{packet:n,buffers:t}}function j(e,t){if(!e)return e;if(m(e)){const r={_placeholder:!0,num:t.length};return t.push(e),r}if(Array.isArray(e)){const r=new Array(e.length);for(let n=0;n<e.length;n++)r[n]=j(e[n],t);return r}if("object"==typeof e&&!(e instanceof Date)){const r={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=j(e[n],t));return r}return e}function C(e,t){return e.data=N(e.data,t),delete e.attachments,e}function N(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let r=0;r<e.length;r++)e[r]=N(e[r],t);else if("object"==typeof e)for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]=N(e[r],t));return e}const O=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var E;!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(E||(E={}));class v{constructor(e){this.replacer=e}encode(e){return e.type!==E.EVENT&&e.type!==E.ACK||!g(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===E.EVENT?E.BINARY_EVENT:E.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==E.BINARY_EVENT&&e.type!==E.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=k(e),r=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(r),n}}function _(e){return"[object Object]"===Object.prototype.toString.call(e)}class w extends y{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const r=t.type===E.BINARY_EVENT;r||t.type===E.BINARY_ACK?(t.type=r?E.EVENT:E.ACK,this.reconstructor=new T(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!m(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const r={type:Number(e.charAt(0))};if(void 0===E[r.type])throw new Error("unknown packet type "+r.type);if(r.type===E.BINARY_EVENT||r.type===E.BINARY_ACK){const n=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const o=e.substring(n,t);if(o!=Number(o)||"-"!==e.charAt(t))throw new Error("Illegal attachments");r.attachments=Number(o)}if("/"===e.charAt(t+1)){const n=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}r.nsp=e.substring(n,t)}else r.nsp="/";const n=e.charAt(t+1);if(""!==n&&Number(n)==n){const n=t+1;for(;++t;){const r=e.charAt(t);if(null==r||Number(r)!=r){--t;break}if(t===e.length)break}r.id=Number(e.substring(n,t+1))}if(e.charAt(++t)){const n=this.tryParse(e.substr(t));if(!w.isPayloadValid(r.type,n))throw new Error("invalid payload");r.data=n}return r}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case E.CONNECT:return _(t);case E.DISCONNECT:return void 0===t;case E.CONNECT_ERROR:return"string"==typeof t||_(t);case E.EVENT:case E.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===O.indexOf(t[0]));case E.ACK:case E.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class T{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=C(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}var R={},P={};function S(e,t){if(null==e||"object"!=typeof e)return e;const r=Array.isArray(e)?[]:{};for(const[n,o]of Object.entries(e))r[t(n)]=Array.isArray(o)?o.map((e=>"object"!=typeof e||e instanceof Uint8Array||e instanceof Date?e:S(e,t))):o instanceof Uint8Array||o instanceof Date?o:"object"==typeof o?S(o,t):o;return r}function B(e){return 1===e.length?e.toLowerCase():e.replace(/^([A-Z])/,(e=>e[0].toLowerCase())).replace(/[_-]([a-z0-9])/g,(e=>e[1].toUpperCase()))}function I(e){var t,r;let n=e,o=0;for(;((null===(t=/([a-z])([0-9])/.exec(n))||void 0===t?void 0:t.length)||0)>2&&o<10;)n=n.replace(/([a-z])([0-9])/,((e,t,r)=>`${t.toLowerCase()}_${r.toLowerCase()}`)),o+=1;for(;((null===(r=/(.+?)([A-Z])/.exec(n))||void 0===r?void 0:r.length)||0)>2&&o<10;)n=n.replace(/(.+?)([A-Z])/,((e,t,r)=>`${t.toLowerCase()}_${r.toLowerCase()}`)),o+=1;return n.toLowerCase()}function V(e){return B(e).replace(/^([a-z])/,(e=>e[0].toUpperCase()))}Object.defineProperty(P,"__esModule",{value:!0}),P.objectToPascal=P.toPascal=P.objectToSnake=P.toSnake=P.objectToCamel=P.toCamel=void 0,P.toCamel=B,P.objectToCamel=function(e){return S(e,B)},P.toSnake=I,P.objectToSnake=function(e){return S(e,I)},P.toPascal=V,P.objectToPascal=function(e){return S(e,V)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.objectToPascal=e.toPascal=e.toCamel=e.toSnake=e.objectToSnake=e.objectToCamel=void 0;var t=P;Object.defineProperty(e,"objectToCamel",{enumerable:!0,get:function(){return t.objectToCamel}}),Object.defineProperty(e,"objectToSnake",{enumerable:!0,get:function(){return t.objectToSnake}}),Object.defineProperty(e,"toSnake",{enumerable:!0,get:function(){return t.toSnake}}),Object.defineProperty(e,"toCamel",{enumerable:!0,get:function(){return t.toCamel}}),Object.defineProperty(e,"toPascal",{enumerable:!0,get:function(){return t.toPascal}}),Object.defineProperty(e,"objectToPascal",{enumerable:!0,get:function(){return t.objectToPascal}})}(R);const $={Encoder:class extends v{encode(e){return super.encode({...e,data:2==e.data?.length?[e.data[0],R.objectToSnake(e.data[1])]:void 0})}},Decoder:class extends w{constructor(){super(((e,t)=>"object"!=typeof t||null===t||Array.isArray(t)?t:R.objectToCamel(t)))}}};const L={path:"/api/v1/socket.io",autoConnect:!1,transports:["polling","websocket"],upgrade:!0,timeout:1e4};e.CimulateCopilot=class{constructor({apiKey:e,baseUrl:t,namespace:r="/copilot",socketOptions:o={}}){const c=`${t}${r}`,s=[L,o,{parser:$,withCredentials:!0,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":e}}}}];this.socket=n.default(c,p.all(s))}connect(){this.socket.connect()}async search(e,t){return this.asyncResponse("copilot_search",e,t)}async facetedNavigation(e,t){return this.asyncResponse("copilot_search",e,t)}cancelRequest(e,t){return this.asyncResponse("copilot_search",e,t)}async requestSessionInformation(e){this.socket.emit("session_info",e)}on(e,t){return this.socket.on(e,t),t}once(e,t){this.socket.once(e,t)}off(e,t){this.socket.off(e,t)}disconnect(){this.socket.disconnect()}onDisconnect(e){this.socket.on("disconnect",e)}async asyncResponse(e,t,r){if(r)return void this.socket.emit("copilot_search",t,r);let n="";const o=async function*(e){const t=[];let r=!1,n=null;const o=await e({emit:e=>{t.push(e),n&&(n(),n=null)},cancel:()=>{r=!0}});try{for(;!r;)t.length>0?yield t.shift():await new Promise((e=>{n=e}));for(;t.length>0;)yield t.shift()}finally{await(o?.())}}((({emit:e,cancel:t})=>{const r=(r,o)=>{"done"==o.eventName&&t(),o.eventSourceId==n&&e(o)};return this.socket.onAny(r),async()=>{this.socket.offAny(r)}}));return{result:await new Promise((r=>this.socket.emit(e,t,(e=>{n=e.eventId,r(e)})))),events:o}}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
+
//# sourceMappingURL=bundle.cimulate.copilot-sdk.cc0f99da.umd.js.map
|