dcl-npc-toolkit-ai-version
Version:
A collection of tools for creating Non-Player-Characters (NPCs). These are capable of having conversations with the player, and play different animations. AI usage is added atop of it
56 lines • 8.32 kB
JavaScript
const CLASSNAME = "XMLHttpRequest";
export class XMLHttpRequest {
constructor() {
this.requestHeaders = {};
const METHOD_NAME = "constructor";
console.log(CLASSNAME, METHOD_NAME, "ENTRY");
}
getAllResponseHeaders() {
return this.responseHeadersRaw;
}
setRequestHeader(key, val) {
const METHOD_NAME = "setRequestHeader";
console.log(CLASSNAME, METHOD_NAME, "ENTRY", key, val);
this.requestHeaders[key] = val;
}
open(method, url) {
const METHOD_NAME = "open";
console.log(CLASSNAME, METHOD_NAME, "ENTRY", method, url);
this.method = method;
this.url = url;
}
send(data) {
const METHOD_NAME = "send";
console.log(CLASSNAME, METHOD_NAME, "ENTRY", data);
if (!this.url) {
throw new Error("url is required");
}
if (!this.method) {
throw new Error("method is required");
}
fetch(this.url, {
method: this.method,
headers: this.requestHeaders,
body: data,
timeout: this.timeout
}).then(async (val) => {
console.log(CLASSNAME, METHOD_NAME, "PROMISE.ENTRY", val);
this.status = val.status;
this.statusText = val.statusText;
this.response = await val.text();
this.responseHeadersRaw = "";
val.headers.forEach((value, key) => {
this.responseHeadersRaw += key + ": " + value + "\r\n";
});
console.log(CLASSNAME, METHOD_NAME, "PROMISE.RESULT", "this.status", this.status, "this.responseHeadersRaw", this.responseHeadersRaw);
if (this.onload)
this.onload();
}).catch((reason) => {
if (reason.code && (reason.code == 20 || reason.code == 23))
reason.type = 'timeout';
if (this.onerror)
this.onerror(reason);
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1saHR0cHJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcGF0aWJpbGl0eS9wb2x5ZmlsbC94bWxodHRwcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQTtBQUNsQyxNQUFNLE9BQU8sY0FBYztJQWV6QjtRQVZBLG1CQUFjLEdBQXdCLEVBQUUsQ0FBQTtRQVd0QyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUE7UUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUE7SUFDaEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQVcsRUFBRSxHQUFRO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFBO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ3RELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBYyxFQUFFLEdBQVc7UUFDOUIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFBO1FBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBRXpELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBUztRQUNaLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQTtRQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDcEMsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDNUIsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBYSxFQUFFLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUV6RCxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFBO1lBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUE7WUFHaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTtZQUM1QixHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsRUFBRTtnQkFDakQsSUFBSSxDQUFDLGtCQUFrQixJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLE1BQU0sQ0FBQTtZQUN4RCxDQUFDLENBQUMsQ0FBQTtZQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFDNUUseUJBQXlCLEVBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1lBQzVCLElBQUksSUFBSSxDQUFDLE1BQU07Z0JBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1FBQ2hDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBR3ZCLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFBO1lBRXBGLElBQUksSUFBSSxDQUFDLE9BQU87Z0JBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IENMQVNTTkFNRSA9IFwiWE1MSHR0cFJlcXVlc3RcIlxuZXhwb3J0IGNsYXNzIFhNTEh0dHBSZXF1ZXN0IHtcbiAgb250aW1lb3V0PzogKGVycjogYW55KSA9PiB2b2lkXG4gIG9uZXJyb3I/OiAoZXJyOiBhbnkpID0+IHZvaWRcbiAgb25sb2FkPzogKCkgPT4gdm9pZFxuICB3aXRoQ3JlZGVudGlhbHM6IGFueS8vPz8/XG4gIHJlcXVlc3RIZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgdGltZW91dD86IG51bWJlclxuXG4gIC8vcmVzcG9uc2VIZWFkZXJzOlJlY29yZDxzdHJpbmcsYW55Pj17fVxuICByZXNwb25zZUhlYWRlcnNSYXc/OiBzdHJpbmdcbiAgc3RhdHVzPzogbnVtYmVyXG4gIHN0YXR1c1RleHQ/OiBzdHJpbmdcbiAgcmVzcG9uc2U/OiBhbnlcbiAgdXJsPzogc3RyaW5nXG4gIG1ldGhvZD86IHN0cmluZ1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBNRVRIT0RfTkFNRSA9IFwiY29uc3RydWN0b3JcIlxuICAgIGNvbnNvbGUubG9nKENMQVNTTkFNRSwgTUVUSE9EX05BTUUsIFwiRU5UUllcIilcbiAgfVxuXG4gIGdldEFsbFJlc3BvbnNlSGVhZGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZUhlYWRlcnNSYXdcbiAgfVxuXG4gIHNldFJlcXVlc3RIZWFkZXIoa2V5OiBzdHJpbmcsIHZhbDogYW55KSB7XG4gICAgY29uc3QgTUVUSE9EX05BTUUgPSBcInNldFJlcXVlc3RIZWFkZXJcIlxuICAgIGNvbnNvbGUubG9nKENMQVNTTkFNRSwgTUVUSE9EX05BTUUsIFwiRU5UUllcIiwga2V5LCB2YWwpXG4gICAgdGhpcy5yZXF1ZXN0SGVhZGVyc1trZXldID0gdmFsXG4gIH1cblxuICBvcGVuKG1ldGhvZDogc3RyaW5nLCB1cmw6IHN0cmluZykge1xuICAgIGNvbnN0IE1FVEhPRF9OQU1FID0gXCJvcGVuXCJcbiAgICBjb25zb2xlLmxvZyhDTEFTU05BTUUsIE1FVEhPRF9OQU1FLCBcIkVOVFJZXCIsIG1ldGhvZCwgdXJsKVxuICAgIC8vcHJlcGFyZXMgb3BlblxuICAgIHRoaXMubWV0aG9kID0gbWV0aG9kXG4gICAgdGhpcy51cmwgPSB1cmxcbiAgfVxuXG4gIHNlbmQoZGF0YTogYW55KSB7XG4gICAgY29uc3QgTUVUSE9EX05BTUUgPSBcInNlbmRcIlxuICAgIGNvbnNvbGUubG9nKENMQVNTTkFNRSwgTUVUSE9EX05BTUUsIFwiRU5UUllcIiwgZGF0YSlcbiAgICBpZiAoIXRoaXMudXJsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmwgaXMgcmVxdWlyZWRcIilcbiAgICB9XG4gICAgaWYgKCF0aGlzLm1ldGhvZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwibWV0aG9kIGlzIHJlcXVpcmVkXCIpXG4gICAgfVxuICAgIC8vZG9lcyB0aGUgYWN0dWFsIG9wZW5cbiAgICBmZXRjaCh0aGlzLnVybCwge1xuICAgICAgbWV0aG9kOiB0aGlzLm1ldGhvZCxcbiAgICAgIGhlYWRlcnM6IHRoaXMucmVxdWVzdEhlYWRlcnMsIC8vcHJldHR5IHN1cmUgUmVjb3JkPHN0cmluZyxzdHJpbmc+ID09IHsgW2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfVxuICAgICAgYm9keTogZGF0YSxcbiAgICAgIHRpbWVvdXQ6IHRoaXMudGltZW91dFxuICAgIH0pLnRoZW4oYXN5bmMgKHZhbDogUmVzcG9uc2UpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKENMQVNTTkFNRSwgTUVUSE9EX05BTUUsIFwiUFJPTUlTRS5FTlRSWVwiLCB2YWwpXG5cbiAgICAgIHRoaXMuc3RhdHVzID0gdmFsLnN0YXR1c1xuICAgICAgdGhpcy5zdGF0dXNUZXh0ID0gdmFsLnN0YXR1c1RleHRcbiAgICAgIHRoaXMucmVzcG9uc2UgPSBhd2FpdCB2YWwudGV4dCgpIC8vbmVlZCB0byBkbyBhc3luY1xuICAgICAgLy9tdXN0IHR1cm4gdGhpcyBpbnRvIHJhdyB2ZXJzaW9uXG5cbiAgICAgIHRoaXMucmVzcG9uc2VIZWFkZXJzUmF3ID0gXCJcIlxuICAgICAgdmFsLmhlYWRlcnMuZm9yRWFjaCgodmFsdWU6IHN0cmluZywga2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5yZXNwb25zZUhlYWRlcnNSYXcgKz0ga2V5ICsgXCI6IFwiICsgdmFsdWUgKyBcIlxcclxcblwiXG4gICAgICB9KVxuICAgICAgY29uc29sZS5sb2coQ0xBU1NOQU1FLCBNRVRIT0RfTkFNRSwgXCJQUk9NSVNFLlJFU1VMVFwiLCBcInRoaXMuc3RhdHVzXCIsIHRoaXMuc3RhdHVzXG4gICAgICAgICwgXCJ0aGlzLnJlc3BvbnNlSGVhZGVyc1Jhd1wiXG4gICAgICAgICwgdGhpcy5yZXNwb25zZUhlYWRlcnNSYXcpXG4gICAgICBpZiAodGhpcy5vbmxvYWQpIHRoaXMub25sb2FkKClcbiAgICB9KS5jYXRjaCgocmVhc29uOiBhbnkpID0+IHtcbiAgICAgIC8vY29seXNlc3VzIHdhbnRlZCB0aGlzICdlcnIudGltZW91dCA9IGVyci50eXBlID09ICd0aW1lb3V0JzsnXG4gICAgICAvLzIwID09IGFib3J0LCAyMyA9PSB0aW1lb3V0XG4gICAgICBpZiAocmVhc29uLmNvZGUgJiYgKHJlYXNvbi5jb2RlID09IDIwIHx8IHJlYXNvbi5jb2RlID09IDIzKSkgcmVhc29uLnR5cGUgPSAndGltZW91dCdcblxuICAgICAgaWYgKHRoaXMub25lcnJvcikgdGhpcy5vbmVycm9yKHJlYXNvbilcbiAgICB9KVxuICB9XG5cbn0iXX0=