diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..d2ec428 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,203 @@ +{ + "env": { + "browser": true, + "es6": true, + "node": true + }, + "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": "tsconfig.json", + "sourceType": "module" + }, + "plugins": [ + "@angular-eslint/eslint-plugin", + "@typescript-eslint", + "@typescript-eslint/tslint" + ], + "rules": { + "brace-style": "off", + "@typescript-eslint/brace-style": [ + "error", + "allman" + ], + "@angular-eslint/component-class-suffix": "error", + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "app", + "style": "kebab-case" + } + ], + "@angular-eslint/directive-class-suffix": "error", + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "app", + "style": "camelCase" + } + ], + "@angular-eslint/no-input-rename": "error", + "@angular-eslint/no-output-rename": "error", + "@angular-eslint/use-pipe-transform-interface": "error", + "@typescript-eslint/consistent-type-definitions": "error", + "@typescript-eslint/dot-notation": "off", + "@typescript-eslint/explicit-member-accessibility": [ + "off", + { + "accessibility": "explicit" + } + ], + "@typescript-eslint/member-delimiter-style": [ + "off", + { + "multiline": { + "delimiter": "none", + "requireLast": true + }, + "singleline": { + "delimiter": "semi", + "requireLast": false + } + } + ], + "@typescript-eslint/member-ordering": "off", + "@typescript-eslint/naming-convention": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-empty-interface": "error", + "@typescript-eslint/no-inferrable-types": [ + "error", + { + "ignoreParameters": true + } + ], + "@typescript-eslint/no-shadow": [ + "error", + { + "hoist": "all" + } + ], + "@typescript-eslint/no-unused-expressions": "error", + "@typescript-eslint/no-use-before-define": "error", + "@typescript-eslint/prefer-function-type": "error", + "@typescript-eslint/quotes": [ + "error", + "single" + ], + "@typescript-eslint/semi": [ + "off", + null + ], + "@typescript-eslint/type-annotation-spacing": "error", + "@typescript-eslint/unified-signatures": "error", + "curly": "error", + "dot-notation": "off", + "eol-last": "error", + "eqeqeq": [ + "error", + "smart" + ], + "guard-for-in": "error", + "id-denylist": "off", + "id-match": "off", + "indent": "off", + "max-len": [ + "off", + { + "code": 250 + } + ], + "no-bitwise": "off", + "no-caller": "error", + "no-console": [ + "error", + { + "allow": [ + "log", + "warn", + "dir", + "timeLog", + "assert", + "clear", + "count", + "countReset", + "group", + "groupEnd", + "table", + "dirxml", + "error", + "groupCollapsed", + "Console", + "profile", + "profileEnd", + "timeStamp", + "context" + ] + } + ], + "no-debugger": "error", + "no-empty": "off", + "no-empty-function": "off", + "no-eval": "error", + "no-fallthrough": "error", + "no-new-wrappers": "error", + "no-redeclare": "error", + "no-shadow": "off", + "no-throw-literal": "error", + "no-trailing-spaces": "error", + "no-underscore-dangle": "off", + "no-unused-expressions": "error", + "no-unused-labels": "error", + "no-use-before-define": "error", + "no-var": "error", + "prefer-const": "error", + "quotes": ["off"], + "radix": "error", + "semi": "off", + "spaced-comment": [ + "error", + "always", + { + "markers": [ + "/" + ] + } + ], + "valid-typeof": "error", + "@typescript-eslint/tslint/config": [ + "error", + { + "rules": { + "brace-style": [ + true, + "allman", + { + "allowSingleLine": true + } + ], + "import-spacing": true, + "invoke-injectable": true, + "no-access-missing-member": true, + "templates-use-public": true, + "typedef": [ + true, + "call-signature" + ], + "use-host-property-decorator": true, + "use-input-property-decorator": true, + "use-life-cycle-interface": true, + "use-output-property-decorator": true, + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type" + ] + } + } + ] + } +} diff --git a/lib/Bot.ts b/lib/Bot.ts index f85b3ed..d101750 100644 --- a/lib/Bot.ts +++ b/lib/Bot.ts @@ -96,7 +96,10 @@ export class Bot this.eventQueueWaits[waitID].resolve(); delete this.eventQueueWaits[waitID]; } - catch (ignore){} + catch (ignore) + { + + } } }); } diff --git a/lib/classes/Agent.ts b/lib/classes/Agent.ts index 13f2fc4..e807b97 100644 --- a/lib/classes/Agent.ts +++ b/lib/classes/Agent.ts @@ -142,7 +142,7 @@ export class Agent } } - addChatSession(uuid: UUID) + addChatSession(uuid: UUID): void { const str = uuid.toString(); if (this.chatSessions[str] === undefined) @@ -157,7 +157,7 @@ export class Agent return !(this.chatSessions[str] === undefined); } - setCurrentRegion(region: Region) + setCurrentRegion(region: Region): void { if (this.animSubscription !== undefined) { @@ -170,11 +170,11 @@ export class Agent Message.BulkUpdateInventory ], this.onMessage.bind(this)); } - circuitActive() + circuitActive(): void { this.agentUpdateTimer = setInterval(this.sendAgentUpdate.bind(this), 1000); } - sendAgentUpdate() + sendAgentUpdate(): void { if (!this.currentRegion) { @@ -198,7 +198,7 @@ export class Agent }; circuit.sendMessage(agentUpdate, 0); } - shutdown() + shutdown(): void { if (this.agentUpdateTimer !== null) { @@ -206,7 +206,7 @@ export class Agent this.agentUpdateTimer = null; } } - onMessage(packet: Packet) + onMessage(packet: Packet): void { if (packet.message.id === Message.AgentDataUpdate) { @@ -295,7 +295,7 @@ export class Agent throw new Error('Unable to get wearables from inventory') } - async setInitialAppearance() + async setInitialAppearance(): Promise { const circuit = this.currentRegion.circuit; const wearablesRequest: AgentWearablesRequestMessage = new AgentWearablesRequestMessage(); diff --git a/lib/classes/BVH.ts b/lib/classes/BVH.ts index c27760b..abb2d4a 100644 --- a/lib/classes/BVH.ts +++ b/lib/classes/BVH.ts @@ -31,7 +31,7 @@ export class BVH pos = pos + 4; this.length = buf.readFloatLE(pos); pos = pos + 4; - let result = Utils.BufferToString(buf, pos); + const result = Utils.BufferToString(buf, pos); pos += result.readLength; this.expressionName = result.result; this.inPoint = buf.readFloatLE(pos); diff --git a/lib/classes/BVHJoint.ts b/lib/classes/BVHJoint.ts index bc6a814..82cba0e 100644 --- a/lib/classes/BVHJoint.ts +++ b/lib/classes/BVHJoint.ts @@ -25,7 +25,7 @@ export class BVHJoint this.rotationKeyframeCount = buf.readInt32LE(pos); pos = pos + 4; - for (let x = 0; x < this.rotationKeyframeCount; x++) + for (let frameNum = 0; frameNum < this.rotationKeyframeCount; frameNum++) { const jointKF = new BVHJointKeyframe(); jointKF.time = Utils.UInt16ToFloat(buf.readUInt16LE(pos), inPoint, outPoint); @@ -43,7 +43,7 @@ export class BVHJoint this.positionKeyframeCount = buf.readInt32LE(pos); pos = pos + 4; - for (let x = 0; x < this.positionKeyframeCount; x++) + for (let frameNum = 0; frameNum < this.positionKeyframeCount; frameNum++) { const jointKF = new BVHJointKeyframe(); jointKF.time = Utils.UInt16ToFloat(buf.readUInt16LE(pos), inPoint, outPoint); diff --git a/lib/classes/BitPack.ts b/lib/classes/BitPack.ts index 1b72861..b6dab60 100644 --- a/lib/classes/BitPack.ts +++ b/lib/classes/BitPack.ts @@ -40,7 +40,7 @@ export class BitPack return output.readInt32LE(0); } - UnpackUBits(count: number) + UnpackUBits(count: number): number { const output = this.UnpackBitsBuffer(count); return output.readUInt32LE(0); @@ -74,14 +74,13 @@ export class BitPack UnpackFixed(signed: boolean, intBits: number, fracBits: number): number { - let maxVal; let totalBits = intBits + fracBits; if (signed) { totalBits++; } - maxVal = 1 << intBits; + const maxVal = 1 << intBits; let fixedVal = 0; if (totalBits <= 8) { diff --git a/lib/classes/Circuit.ts b/lib/classes/Circuit.ts index 72eeb92..d8a11c9 100644 --- a/lib/classes/Circuit.ts +++ b/lib/classes/Circuit.ts @@ -183,6 +183,7 @@ export class Circuit { let subscription: null | Subscription = null; let timeout: Timer | null = null; + const receivedChunks: { [key: number]: Buffer } = {}; const progress = setInterval(() => { console.log( ' ... Got ' + Object.keys(receivedChunks).length + ' packets'); @@ -218,7 +219,6 @@ export class Circuit this.sendMessage(xferRequest, PacketFlags.Reliable); let finished = false; let finishID = 0; - const receivedChunks: { [key: number]: Buffer } = {}; let firstPacket = true; let dataSize = 0; subscription = this.subscribeToMessages([ @@ -509,13 +509,7 @@ export class Circuit { this.client.send(dataToSend, 0, dataToSend.length, this.port, this.ipAddress, (_err, _bytes) => { - /*let resend = ''; - if (packet.packetFlags & PacketFlags.Resent) - { - resend = ' (resent)'; - } - console.log('--> ' + packet.message.name + resend); - */ + }) } else diff --git a/lib/classes/ClientCommands.ts b/lib/classes/ClientCommands.ts index 38da729..845bd17 100644 --- a/lib/classes/ClientCommands.ts +++ b/lib/classes/ClientCommands.ts @@ -41,7 +41,8 @@ export class ClientCommands this.group = new GroupCommands(region, agent, bot); this.inventory = new InventoryCommands(region, agent, bot); } - shutdown() + + shutdown(): void { this.network.shutdown(); this.asset.shutdown(); diff --git a/lib/classes/Color4.ts b/lib/classes/Color4.ts index ad94e14..bbe4de5 100644 --- a/lib/classes/Color4.ts +++ b/lib/classes/Color4.ts @@ -6,7 +6,7 @@ export class Color4 static black: Color4 = new Color4(0.0, 0.0, 0.0, 1.0); static white: Color4 = new Color4(1.0, 1.0, 1.0, 1.0); - static getXML(doc: XMLNode, c?: Color4) + static getXML(doc: XMLNode, c?: Color4): void { if (c === undefined) { @@ -139,7 +139,7 @@ export class Color4 return 0; } - writeToBuffer(buf: Buffer, pos: number, inverted: boolean = false) + writeToBuffer(buf: Buffer, pos: number, inverted: boolean = false): void { buf.writeUInt8(Utils.FloatToByte(this.getRed(), 0, 1.0), pos); buf.writeUInt8(Utils.FloatToByte(this.getGreen(), 0, 1.0), pos + 1); diff --git a/lib/classes/EventQueueClient.ts b/lib/classes/EventQueueClient.ts index 15aeff9..ca89bbb 100644 --- a/lib/classes/EventQueueClient.ts +++ b/lib/classes/EventQueueClient.ts @@ -328,7 +328,7 @@ export class EventQueueClient this.clientEvents.onTeleportEvent.next(tpEvent); break; } - case "ChatterBoxSessionStartReply": + case 'ChatterBoxSessionStartReply': { if (event['body']) { diff --git a/lib/classes/IPAddress.ts b/lib/classes/IPAddress.ts index 23c8c49..4521073 100644 --- a/lib/classes/IPAddress.ts +++ b/lib/classes/IPAddress.ts @@ -59,7 +59,7 @@ export class IPAddress this.ip = ipaddr.parse('0.0.0.0'); } } - writeToBuffer(buf: Buffer, pos: number) + writeToBuffer(buf: Buffer, pos: number): void { const bytes: Uint8Array = this.ip.toByteArray(); buf.writeUInt8(bytes[0], pos++); diff --git a/lib/classes/InventoryFolder.ts b/lib/classes/InventoryFolder.ts index 0745efa..c662ff7 100644 --- a/lib/classes/InventoryFolder.ts +++ b/lib/classes/InventoryFolder.ts @@ -42,15 +42,15 @@ export class InventoryFolder private callbackID = 1; private inventoryBase: { - skeleton: {[key: string]: InventoryFolder}, + skeleton: { [key: string]: InventoryFolder }, root?: UUID }; constructor(lib: InventoryLibrary, - invBase: { - skeleton: {[key: string]: InventoryFolder}, - root?: UUID - }, agent: Agent) + invBase: { + skeleton: { [key: string]: InventoryFolder }, + root?: UUID + }, agent: Agent) { this.agent = agent; this.library = lib; @@ -406,7 +406,7 @@ export class InventoryFolder { this.populateInternal().then(() => { - resolve(); + resolve(); }).catch((erro: Error) => { reject(erro); @@ -619,50 +619,50 @@ export class InventoryFolder { this.agent.currentRegion.caps.isCapAvailable('UpdateGestureAgentInventory').then((available) => { - if (available) - { - this.agent.currentRegion.caps.capsPostXML('UpdateGestureAgentInventory', { - 'item_id': new LLSD.UUID(createInventoryMsg.InventoryData[0].ItemID.toString()), - }).then((result: any) => - { - if (result['uploader']) - { - const uploader = result['uploader']; - this.agent.currentRegion.caps.capsRequestUpload(uploader, data).then((uploadResult: any) => - { - if (uploadResult['state'] && uploadResult['state'] === 'complete') - { - const itemID: UUID = createInventoryMsg.InventoryData[0].ItemID; - resolve(itemID); - } - else - { - reject(new Error('Asset upload failed')) - } - }).catch((err) => - { - reject(err); - }); - } - else - { - reject(new Error('Invalid response when attempting to request upload URL for notecard')); - } - }).catch((err) => - { - reject(err); - }); - } - else - { - this.uploadInventoryAssetLegacy(assetType, inventoryType, data, name, description, flags).then((invItemID: UUID) => - { - resolve(invItemID); - }).catch((err: Error) => - { - reject(err); - }); - } + if (available) + { + this.agent.currentRegion.caps.capsPostXML('UpdateGestureAgentInventory', { + 'item_id': new LLSD.UUID(createInventoryMsg.InventoryData[0].ItemID.toString()), + }).then((result: any) => + { + if (result['uploader']) + { + const uploader = result['uploader']; + this.agent.currentRegion.caps.capsRequestUpload(uploader, data).then((uploadResult: any) => + { + if (uploadResult['state'] && uploadResult['state'] === 'complete') + { + const itemID: UUID = createInventoryMsg.InventoryData[0].ItemID; + resolve(itemID); + } + else + { + reject(new Error('Asset upload failed')) + } + }).catch((err) => + { + reject(err); + }); + } + else + { + reject(new Error('Invalid response when attempting to request upload URL for notecard')); + } + }).catch((err) => + { + reject(err); + }); + } + else + { + this.uploadInventoryAssetLegacy(assetType, inventoryType, data, name, description, flags).then((invItemID: UUID) => + { + resolve(invItemID); + }).catch((err: Error) => + { + reject(err); + }); + } }); break; } @@ -705,7 +705,7 @@ export class InventoryFolder } default: { - reject(new Error('Currently unsupported CreateInventoryType: ' + inventoryType)); + reject(new Error('Currently unsupported CreateInventoryType: ' + inventoryType)); } } }).catch(() => @@ -724,7 +724,7 @@ export class InventoryFolder { case InventoryType.Wearable: case InventoryType.Bodypart: - // Wearables have to be uploaded using the legacy method and then created + // Wearables have to be uploaded using the legacy method and then created this.uploadInventoryAssetLegacy(type, inventoryType, data, name, description, flags).then((invItemID: UUID) => { this.agent.inventory.fetchInventoryItem(invItemID).then((item: InventoryItem | null) => @@ -755,7 +755,7 @@ export class InventoryFolder case InventoryType.Script: case InventoryType.LSL: case InventoryType.Settings: - // These types must be created first and then modified + // These types must be created first and then modified this.uploadInventoryItem(type, inventoryType, data, name, description, flags).then((invItemID: UUID) => { this.agent.inventory.fetchInventoryItem(invItemID).then((item: InventoryItem | null) => diff --git a/lib/classes/InventoryItem.ts b/lib/classes/InventoryItem.ts index 53b5631..1d5b4d5 100644 --- a/lib/classes/InventoryItem.ts +++ b/lib/classes/InventoryItem.ts @@ -438,7 +438,7 @@ export class InventoryItem } - toAsset(indent: string = '') + toAsset(indent: string = ''): string { const lines: string[] = []; lines.push('{'); @@ -628,7 +628,7 @@ export class InventoryItem } } - async delete() + async delete(): Promise { if (this.agent !== undefined) { @@ -676,7 +676,7 @@ export class InventoryItem return document.end({pretty: true, allowEmpty: true}); } - detachFromAvatar() + async detachFromAvatar(): Promise { if (this.agent === undefined) { @@ -691,7 +691,7 @@ export class InventoryItem return this.agent.currentRegion.circuit.waitForAck(ack, 10000); } - attachToAvatar(attachPoint: AttachmentPoint, timeout: number = 10000): Promise + async attachToAvatar(attachPoint: AttachmentPoint, timeout: number = 10000): Promise { return new Promise((resolve, reject) => { @@ -973,7 +973,7 @@ export class InventoryItem }); } - async renameInTask(task: GameObject, newName: string) + async renameInTask(task: GameObject, newName: string): Promise { this.name = newName; if (this.agent === undefined) diff --git a/lib/classes/LLLindenText.ts b/lib/classes/LLLindenText.ts index 9eb7ec8..d3fe078 100644 --- a/lib/classes/LLLindenText.ts +++ b/lib/classes/LLLindenText.ts @@ -112,7 +112,7 @@ export class LLLindenText return Buffer.from(lines.join('\n') + '\n', 'utf-8'); } - private parseEmbeddedItems() + private parseEmbeddedItems(): void { let line = this.getLine(); if (line !== '{') diff --git a/lib/classes/Logger.ts b/lib/classes/Logger.ts index 71304ef..9fc2463 100644 --- a/lib/classes/Logger.ts +++ b/lib/classes/Logger.ts @@ -4,7 +4,7 @@ import * as moment from 'moment'; import * as chalk from 'chalk'; import {TransformableInfo} from 'logform'; -const formatLevel = function(text: string, level: string) +const formatLevel = function(text: string, level: string): string { switch (level) { @@ -21,7 +21,7 @@ const formatLevel = function(text: string, level: string) } }; -const formatMessage = function(text: string, level: string) +const formatMessage = function(text: string, level: string): string { switch (level) { @@ -34,7 +34,7 @@ const formatMessage = function(text: string, level: string) } }; -const logFormat = winston.format.printf(function(info: TransformableInfo) +const logFormat = winston.format.printf(function(info: TransformableInfo): string { const logComponents = [ moment().format('YYYY-MM-DD HH:mm:ss'), @@ -61,19 +61,19 @@ export class Logger private static prefixLevel = 0; static prefix = ''; - static increasePrefixLevel() + static increasePrefixLevel(): void { this.prefixLevel++; this.generatePrefix(); } - static decreasePrefixLevel() + static decreasePrefixLevel(): void { this.prefixLevel--; this.generatePrefix(); } - static generatePrefix() + static generatePrefix(): void { this.prefix = ''; for (let x = 0; x < this.prefixLevel; x++) @@ -86,7 +86,7 @@ export class Logger } } - static Debug(message: string | object) + static Debug(message: string | object): void { if (typeof message === 'string') { @@ -94,7 +94,7 @@ export class Logger } this.Log('debug', message); } - static Info(message: string | object) + static Info(message: string | object): void { if (typeof message === 'string') { @@ -102,7 +102,7 @@ export class Logger } this.Log('info', message); } - static Warn(message: string | object) + static Warn(message: string | object): void { if (typeof message === 'string') { @@ -110,7 +110,7 @@ export class Logger } this.Log('warn', message); } - static Error(message: string | object) + static Error(message: string | object): void { if (typeof message === 'string') { @@ -119,7 +119,7 @@ export class Logger this.Log('error', message); } - static Log(type: string, message: string | object) + static Log(type: string, message: string | object): void { if (typeof message === 'object') { diff --git a/lib/classes/ObjectResolver.ts b/lib/classes/ObjectResolver.ts index 4b8eec1..a4bb97b 100644 --- a/lib/classes/ObjectResolver.ts +++ b/lib/classes/ObjectResolver.ts @@ -253,7 +253,10 @@ export class ObjectResolver } if (this.queue.length > 0) { - this.run().then(() => {}, (err) => + this.run().then(() => + { + + }, (err) => { console.error(err); }); diff --git a/lib/classes/ObjectStoreFull.ts b/lib/classes/ObjectStoreFull.ts index 55f4cb0..29850ae 100644 --- a/lib/classes/ObjectStoreFull.ts +++ b/lib/classes/ObjectStoreFull.ts @@ -34,7 +34,7 @@ export class ObjectStoreFull extends ObjectStoreLite implements IObjectStore this.rtree = new RBush3D(); } - protected objectUpdate(objectUpdate: ObjectUpdateMessage) + protected objectUpdate(objectUpdate: ObjectUpdateMessage): void { for (const objData of objectUpdate.ObjectData) { @@ -210,7 +210,7 @@ export class ObjectStoreFull extends ObjectStoreLite implements IObjectStore } } - protected objectUpdateCached(objectUpdateCached: ObjectUpdateCachedMessage) + protected objectUpdateCached(objectUpdateCached: ObjectUpdateCachedMessage): void { const rmo = new RequestMultipleObjectsMessage(); rmo.AgentData = { @@ -234,7 +234,7 @@ export class ObjectStoreFull extends ObjectStoreLite implements IObjectStore } } - protected async objectUpdateCompressed(objectUpdateCompressed: ObjectUpdateCompressedMessage) + protected async objectUpdateCompressed(objectUpdateCompressed: ObjectUpdateCompressedMessage): Promise { for (const obj of objectUpdateCompressed.ObjectData) { @@ -434,7 +434,7 @@ export class ObjectStoreFull extends ObjectStoreLite implements IObjectStore } } - protected objectUpdateTerse(objectUpdateTerse: ImprovedTerseObjectUpdateMessage) + protected objectUpdateTerse(objectUpdateTerse: ImprovedTerseObjectUpdateMessage): void { const dilation = objectUpdateTerse.RegionData.TimeDilation / 65535.0; this.clientEvents.onRegionTimeDilation.next(dilation); @@ -497,7 +497,10 @@ export class ObjectStoreFull extends ObjectStoreLite implements IObjectStore else { // We don't know about this object, so request it - this.requestMissingObject(localID); + this.requestMissingObject(localID).catch(() => + { + + }); } } } diff --git a/lib/classes/ObjectStoreLite.ts b/lib/classes/ObjectStoreLite.ts index 34df65e..67c8517 100644 --- a/lib/classes/ObjectStoreLite.ts +++ b/lib/classes/ObjectStoreLite.ts @@ -828,7 +828,8 @@ export class ObjectStoreLite implements IObjectStore result.push(this.objects[localID]); } } - result.sort((a: GameObject, b: GameObject) => { + result.sort((a: GameObject, b: GameObject) => + { return a.ID - b.ID; }); return result; diff --git a/lib/classes/ParticleSystem.ts b/lib/classes/ParticleSystem.ts index 7331d67..4cba63e 100644 --- a/lib/classes/ParticleSystem.ts +++ b/lib/classes/ParticleSystem.ts @@ -81,7 +81,6 @@ export class ParticleSystem { let totalBits = intBits + fracBits; let min; - let max; if (signed) { @@ -93,7 +92,8 @@ export class ParticleSystem { min = 0; } - max = 1 << intBits; + + const max = 1 << intBits; let fixedVal = Utils.Clamp(data, min, max); if (signed) diff --git a/lib/classes/UUID.ts b/lib/classes/UUID.ts index 61655f0..d7eb74f 100644 --- a/lib/classes/UUID.ts +++ b/lib/classes/UUID.ts @@ -29,7 +29,7 @@ export class UUID } } - static getXML(doc: XMLNode, u?: UUID) + static getXML(doc: XMLNode, u?: UUID): void { const str = UUID.getString(u); doc.ele('UUID', str); @@ -122,7 +122,7 @@ export class UUID return this.mUUID; }; - writeToBuffer(buf: Buffer, pos: number) + writeToBuffer(buf: Buffer, pos: number): void { const shortened = this.mUUID.substr(0, 8) + this.mUUID.substr(9, 4) + this.mUUID.substr(14, 4) + this.mUUID.substr(19, 4) + this.mUUID.substr(24, 12); const binary = Buffer.from(shortened, 'hex'); @@ -150,14 +150,14 @@ export class UUID } } - public getBuffer() + public getBuffer(): Buffer { const buf = Buffer.allocUnsafe(16); this.writeToBuffer(buf, 0); return buf; } - public getLong() + public getLong(): Long { const buf = this.getBuffer(); return new Long(buf.readUInt32LE(7), buf.readUInt32LE(12)); diff --git a/lib/classes/commands/AgentCommands.ts b/lib/classes/commands/AgentCommands.ts index e71d746..dd1a066 100644 --- a/lib/classes/commands/AgentCommands.ts +++ b/lib/classes/commands/AgentCommands.ts @@ -1,3 +1,4 @@ +import { InventoryFolder } from '../InventoryFolder'; import { UUID } from '../UUID'; import { AgentAnimationMessage } from '../messages/AgentAnimation'; import { PacketFlags } from '../../enums/PacketFlags'; @@ -46,7 +47,7 @@ export class AgentCommands extends CommandsBase return await this.animate(anim, false); } - setCamera(position: Vector3, lookAt: Vector3, viewDistance?: number, leftAxis?: Vector3, upAxis?: Vector3) + setCamera(position: Vector3, lookAt: Vector3, viewDistance?: number, leftAxis?: Vector3, upAxis?: Vector3): void { this.agent.cameraCenter = position; this.agent.cameraLookAt = lookAt; @@ -65,13 +66,13 @@ export class AgentCommands extends CommandsBase this.agent.sendAgentUpdate(); } - setViewDistance(viewDistance: number) + setViewDistance(viewDistance: number): void { this.agent.cameraFar = viewDistance; this.agent.sendAgentUpdate(); } - async getWearables() + async getWearables(): Promise { return this.agent.getWearables(); } diff --git a/lib/classes/commands/AssetCommands.ts b/lib/classes/commands/AssetCommands.ts index 2c9d3d3..e951ee3 100644 --- a/lib/classes/commands/AssetCommands.ts +++ b/lib/classes/commands/AssetCommands.ts @@ -66,7 +66,10 @@ export class AssetCommands extends CommandsBase 'notecard-id': new LLSD.UUID(notecardID.toString()), 'object-id': new LLSD.UUID(objectID.toString()) }; - this.currentRegion.caps.capsPostXML('CopyInventoryFromNotecard', request).then(() => {}).catch((err) => + this.currentRegion.caps.capsPostXML('CopyInventoryFromNotecard', request).then(() => + { + + }).catch((err) => { throw err; }); diff --git a/lib/classes/commands/CommandsBase.ts b/lib/classes/commands/CommandsBase.ts index 77cbc44..9c242d0 100644 --- a/lib/classes/commands/CommandsBase.ts +++ b/lib/classes/commands/CommandsBase.ts @@ -17,7 +17,8 @@ export class CommandsBase this.bot = bot; this.circuit = this.currentRegion.circuit; } - shutdown() + + shutdown(): void { } diff --git a/lib/classes/commands/FriendCommands.ts b/lib/classes/commands/FriendCommands.ts index c4dad9f..d5ada86 100644 --- a/lib/classes/commands/FriendCommands.ts +++ b/lib/classes/commands/FriendCommands.ts @@ -158,7 +158,7 @@ export class FriendCommands extends CommandsBase }); } - async grantFriendRights(friend: Friend | UUID | string, rights: RightsFlags) + async grantFriendRights(friend: Friend | UUID | string, rights: RightsFlags): Promise { let friendKey = UUID.zero(); if (friend instanceof UUID) @@ -314,7 +314,7 @@ export class FriendCommands extends CommandsBase return await this.circuit.waitForAck(sequenceNo, 10000); } - shutdown() + shutdown(): void { this.friendMessages.unsubscribe(); } diff --git a/lib/classes/commands/GroupCommands.ts b/lib/classes/commands/GroupCommands.ts index 3029027..87da81c 100644 --- a/lib/classes/commands/GroupCommands.ts +++ b/lib/classes/commands/GroupCommands.ts @@ -177,12 +177,12 @@ export class GroupCommands extends CommandsBase return await circuit.waitForAck(sequenceNo, 10000); } - async unbanMembers(groupID: UUID | string, avatars: UUID | string | string[] | UUID[]) + async unbanMembers(groupID: UUID | string, avatars: UUID | string | string[] | UUID[]): Promise { - this.banMembers(groupID, avatars, GroupBanAction.Unban); + return this.banMembers(groupID, avatars, GroupBanAction.Unban); } - async banMembers(groupID: UUID | string, avatars: UUID | string | string[] | UUID[], groupAction: GroupBanAction = GroupBanAction.Ban) + async banMembers(groupID: UUID | string, avatars: UUID | string | string[] | UUID[], groupAction: GroupBanAction = GroupBanAction.Ban): Promise { const listOfIDs: string[] = []; if (typeof groupID === 'string') diff --git a/lib/classes/commands/RegionCommands.ts b/lib/classes/commands/RegionCommands.ts index e6f19fb..7296b7b 100644 --- a/lib/classes/commands/RegionCommands.ts +++ b/lib/classes/commands/RegionCommands.ts @@ -637,7 +637,10 @@ export class RegionCommands extends CommandsBase const newMat = { 'Zipped': new LLSD.Binary(Array.from(zipped), 'BASE64') }; - this.currentRegion.caps.capsPutXML('RenderMaterials', newMat).then(() => {}).catch((err) => + this.currentRegion.caps.capsPutXML('RenderMaterials', newMat).then(() => + { + + }).catch((err) => { console.error(err); }); diff --git a/lib/classes/commands/TeleportCommands.ts b/lib/classes/commands/TeleportCommands.ts index caae328..85e8299 100644 --- a/lib/classes/commands/TeleportCommands.ts +++ b/lib/classes/commands/TeleportCommands.ts @@ -56,7 +56,7 @@ export class TeleportCommands extends CommandsBase }); } - shutdown() + shutdown(): void { this.teleportSubscription.unsubscribe(); } diff --git a/lib/classes/llsd.d.ts b/lib/classes/llsd.d.ts index 100f1b1..62614b9 100644 --- a/lib/classes/llsd.d.ts +++ b/lib/classes/llsd.d.ts @@ -1 +1 @@ -declare module '@caspertech/llsd'; \ No newline at end of file +declare module '@caspertech/llsd'; diff --git a/lib/classes/messages/AbortXfer.ts b/lib/classes/messages/AbortXfer.ts index 6e9bbc4..03c3156 100644 --- a/lib/classes/messages/AbortXfer.ts +++ b/lib/classes/messages/AbortXfer.ts @@ -45,7 +45,7 @@ export class AbortXferMessage implements MessageBase ID: Long.ZERO, Result: 0 }; - newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjXferID['Result'] = buf.readInt32LE(pos); pos += 4; diff --git a/lib/classes/messages/AgentDataUpdate.ts b/lib/classes/messages/AgentDataUpdate.ts index 12cafaf..4f9f5ab 100644 --- a/lib/classes/messages/AgentDataUpdate.ts +++ b/lib/classes/messages/AgentDataUpdate.ts @@ -89,7 +89,7 @@ export class AgentDataUpdateMessage implements MessageBase pos += varLength; newObjAgentData['ActiveGroupID'] = new UUID(buf, pos); pos += 16; - newObjAgentData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjAgentData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; varLength = buf.readUInt8(pos++); newObjAgentData['GroupName'] = buf.slice(pos, pos + varLength); diff --git a/lib/classes/messages/AgentGroupDataUpdate.ts b/lib/classes/messages/AgentGroupDataUpdate.ts index 9f15156..d107883 100644 --- a/lib/classes/messages/AgentGroupDataUpdate.ts +++ b/lib/classes/messages/AgentGroupDataUpdate.ts @@ -105,7 +105,7 @@ export class AgentGroupDataUpdateMessage implements MessageBase }; newObjGroupData['GroupID'] = new UUID(buf, pos); pos += 16; - newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjGroupData['AcceptNotices'] = (buf.readUInt8(pos++) === 1); newObjGroupData['GroupInsigniaID'] = new UUID(buf, pos); diff --git a/lib/classes/messages/AgentMovementComplete.ts b/lib/classes/messages/AgentMovementComplete.ts index 7057653..cfe5b0b 100644 --- a/lib/classes/messages/AgentMovementComplete.ts +++ b/lib/classes/messages/AgentMovementComplete.ts @@ -89,7 +89,7 @@ export class AgentMovementCompleteMessage implements MessageBase pos += 12; newObjData['LookAt'] = new Vector3(buf, pos, false); pos += 12; - newObjData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjData['Timestamp'] = buf.readUInt32LE(pos); pos += 4; diff --git a/lib/classes/messages/AvatarGroupsReply.ts b/lib/classes/messages/AvatarGroupsReply.ts index c158ed4..ead6dcd 100644 --- a/lib/classes/messages/AvatarGroupsReply.ts +++ b/lib/classes/messages/AvatarGroupsReply.ts @@ -115,7 +115,7 @@ export class AvatarGroupsReplyMessage implements MessageBase GroupName: Buffer.allocUnsafe(0), GroupInsigniaID: UUID.zero() }; - newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjGroupData['AcceptNotices'] = (buf.readUInt8(pos++) === 1); varLength = buf.readUInt8(pos++); diff --git a/lib/classes/messages/CheckParcelAuctions.ts b/lib/classes/messages/CheckParcelAuctions.ts index 8c1c12c..dd63927 100644 --- a/lib/classes/messages/CheckParcelAuctions.ts +++ b/lib/classes/messages/CheckParcelAuctions.ts @@ -53,7 +53,7 @@ export class CheckParcelAuctionsMessage implements MessageBase } = { RegionHandle: Long.ZERO }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RegionData.push(newObjRegionData); } diff --git a/lib/classes/messages/CheckParcelSales.ts b/lib/classes/messages/CheckParcelSales.ts index 5765084..734229e 100644 --- a/lib/classes/messages/CheckParcelSales.ts +++ b/lib/classes/messages/CheckParcelSales.ts @@ -53,7 +53,7 @@ export class CheckParcelSalesMessage implements MessageBase } = { RegionHandle: Long.ZERO }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RegionData.push(newObjRegionData); } diff --git a/lib/classes/messages/ChildAgentAlive.ts b/lib/classes/messages/ChildAgentAlive.ts index a2da989..b87dafe 100644 --- a/lib/classes/messages/ChildAgentAlive.ts +++ b/lib/classes/messages/ChildAgentAlive.ts @@ -56,7 +56,7 @@ export class ChildAgentAliveMessage implements MessageBase AgentID: UUID.zero(), SessionID: UUID.zero() }; - newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjAgentData['ViewerCircuitCode'] = buf.readUInt32LE(pos); pos += 4; diff --git a/lib/classes/messages/ChildAgentPositionUpdate.ts b/lib/classes/messages/ChildAgentPositionUpdate.ts index 27d4ae0..bb75ca9 100644 --- a/lib/classes/messages/ChildAgentPositionUpdate.ts +++ b/lib/classes/messages/ChildAgentPositionUpdate.ts @@ -96,7 +96,7 @@ export class ChildAgentPositionUpdateMessage implements MessageBase UpAxis: Vector3.getZero(), ChangedGrid: false }; - newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjAgentData['ViewerCircuitCode'] = buf.readUInt32LE(pos); pos += 4; diff --git a/lib/classes/messages/ChildAgentUpdate.ts b/lib/classes/messages/ChildAgentUpdate.ts index 3dfa8a7..430aafc 100644 --- a/lib/classes/messages/ChildAgentUpdate.ts +++ b/lib/classes/messages/ChildAgentUpdate.ts @@ -271,7 +271,7 @@ export class ChildAgentUpdateMessage implements MessageBase AgentTextures: Buffer.allocUnsafe(0), ActiveGroupID: UUID.zero() }; - newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjAgentData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjAgentData['ViewerCircuitCode'] = buf.readUInt32LE(pos); pos += 4; @@ -342,7 +342,7 @@ export class ChildAgentUpdateMessage implements MessageBase }; newObjGroupData['GroupID'] = new UUID(buf, pos); pos += 16; - newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjGroupData['GroupPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjGroupData['AcceptNotices'] = (buf.readUInt8(pos++) === 1); this.GroupData.push(newObjGroupData); diff --git a/lib/classes/messages/ConfirmXferPacket.ts b/lib/classes/messages/ConfirmXferPacket.ts index a3be923..3ab6419 100644 --- a/lib/classes/messages/ConfirmXferPacket.ts +++ b/lib/classes/messages/ConfirmXferPacket.ts @@ -45,7 +45,7 @@ export class ConfirmXferPacketMessage implements MessageBase ID: Long.ZERO, Packet: 0 }; - newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjXferID['Packet'] = buf.readUInt32LE(pos); pos += 4; diff --git a/lib/classes/messages/CrossedRegion.ts b/lib/classes/messages/CrossedRegion.ts index 820836f..6e14926 100644 --- a/lib/classes/messages/CrossedRegion.ts +++ b/lib/classes/messages/CrossedRegion.ts @@ -93,7 +93,7 @@ export class CrossedRegionMessage implements MessageBase pos += 4; newObjRegionData['SimPort'] = buf.readUInt16LE(pos); pos += 2; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; varLength = buf.readUInt16LE(pos); pos += 2; diff --git a/lib/classes/messages/DataHomeLocationReply.ts b/lib/classes/messages/DataHomeLocationReply.ts index 31365e3..8a97111 100644 --- a/lib/classes/messages/DataHomeLocationReply.ts +++ b/lib/classes/messages/DataHomeLocationReply.ts @@ -59,7 +59,7 @@ export class DataHomeLocationReplyMessage implements MessageBase }; newObjInfo['AgentID'] = new UUID(buf, pos); pos += 16; - newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjInfo['Position'] = new Vector3(buf, pos, false); pos += 12; diff --git a/lib/classes/messages/EnableSimulator.ts b/lib/classes/messages/EnableSimulator.ts index 622c03b..2ac8e34 100644 --- a/lib/classes/messages/EnableSimulator.ts +++ b/lib/classes/messages/EnableSimulator.ts @@ -51,7 +51,7 @@ export class EnableSimulatorMessage implements MessageBase IP: IPAddress.zero(), Port: 0 }; - newObjSimulatorInfo['Handle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjSimulatorInfo['Handle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjSimulatorInfo['IP'] = new IPAddress(buf, pos); pos += 4; diff --git a/lib/classes/messages/GodUpdateRegionInfo.ts b/lib/classes/messages/GodUpdateRegionInfo.ts index 75f8830..b566252 100644 --- a/lib/classes/messages/GodUpdateRegionInfo.ts +++ b/lib/classes/messages/GodUpdateRegionInfo.ts @@ -139,7 +139,7 @@ export class GodUpdateRegionInfoMessage implements MessageBase } = { RegionFlagsExtended: Long.ZERO }; - newObjRegionInfo2['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionInfo2['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RegionInfo2.push(newObjRegionInfo2); } diff --git a/lib/classes/messages/GroupDataUpdate.ts b/lib/classes/messages/GroupDataUpdate.ts index 79e1b8b..d19ed0c 100644 --- a/lib/classes/messages/GroupDataUpdate.ts +++ b/lib/classes/messages/GroupDataUpdate.ts @@ -85,7 +85,7 @@ export class GroupDataUpdateMessage implements MessageBase pos += 16; newObjAgentGroupData['GroupID'] = new UUID(buf, pos); pos += 16; - newObjAgentGroupData['AgentPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjAgentGroupData['AgentPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; varLength = buf.readUInt8(pos++); newObjAgentGroupData['GroupTitle'] = buf.slice(pos, pos + varLength); diff --git a/lib/classes/messages/GroupMembersReply.ts b/lib/classes/messages/GroupMembersReply.ts index 801dec6..ba239cb 100644 --- a/lib/classes/messages/GroupMembersReply.ts +++ b/lib/classes/messages/GroupMembersReply.ts @@ -138,7 +138,7 @@ export class GroupMembersReplyMessage implements MessageBase varLength = buf.readUInt8(pos++); newObjMemberData['OnlineStatus'] = buf.slice(pos, pos + varLength); pos += varLength; - newObjMemberData['AgentPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjMemberData['AgentPowers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; varLength = buf.readUInt8(pos++); newObjMemberData['Title'] = buf.slice(pos, pos + varLength); diff --git a/lib/classes/messages/GroupProfileReply.ts b/lib/classes/messages/GroupProfileReply.ts index d77271c..a756efb 100644 --- a/lib/classes/messages/GroupProfileReply.ts +++ b/lib/classes/messages/GroupProfileReply.ts @@ -143,7 +143,7 @@ export class GroupProfileReplyMessage implements MessageBase varLength = buf.readUInt8(pos++); newObjGroupData['MemberTitle'] = buf.slice(pos, pos + varLength); pos += varLength; - newObjGroupData['PowersMask'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjGroupData['PowersMask'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjGroupData['InsigniaID'] = new UUID(buf, pos); pos += 16; diff --git a/lib/classes/messages/GroupRoleDataReply.ts b/lib/classes/messages/GroupRoleDataReply.ts index 82d369e..239c63d 100644 --- a/lib/classes/messages/GroupRoleDataReply.ts +++ b/lib/classes/messages/GroupRoleDataReply.ts @@ -144,7 +144,7 @@ export class GroupRoleDataReplyMessage implements MessageBase varLength = buf.readUInt8(pos++); newObjRoleData['Description'] = buf.slice(pos, pos + varLength); pos += varLength; - newObjRoleData['Powers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRoleData['Powers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjRoleData['Members'] = buf.readUInt32LE(pos); pos += 4; diff --git a/lib/classes/messages/GroupRoleUpdate.ts b/lib/classes/messages/GroupRoleUpdate.ts index 2765218..a62afcb 100644 --- a/lib/classes/messages/GroupRoleUpdate.ts +++ b/lib/classes/messages/GroupRoleUpdate.ts @@ -130,7 +130,7 @@ export class GroupRoleUpdateMessage implements MessageBase varLength = buf.readUInt8(pos++); newObjRoleData['Title'] = buf.slice(pos, pos + varLength); pos += varLength; - newObjRoleData['Powers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRoleData['Powers'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjRoleData['UpdateType'] = buf.readUInt8(pos++); this.RoleData.push(newObjRoleData); diff --git a/lib/classes/messages/ImprovedTerseObjectUpdate.ts b/lib/classes/messages/ImprovedTerseObjectUpdate.ts index 4c85e84..ebf84ea 100644 --- a/lib/classes/messages/ImprovedTerseObjectUpdate.ts +++ b/lib/classes/messages/ImprovedTerseObjectUpdate.ts @@ -72,7 +72,7 @@ export class ImprovedTerseObjectUpdateMessage implements MessageBase RegionHandle: Long.ZERO, TimeDilation: 0 }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); pos += 2; diff --git a/lib/classes/messages/LogParcelChanges.ts b/lib/classes/messages/LogParcelChanges.ts index 6c288ec..cafd5fc 100644 --- a/lib/classes/messages/LogParcelChanges.ts +++ b/lib/classes/messages/LogParcelChanges.ts @@ -77,7 +77,7 @@ export class LogParcelChangesMessage implements MessageBase } = { RegionHandle: Long.ZERO }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RegionData = newObjRegionData; if (pos >= buf.length) diff --git a/lib/classes/messages/MapItemRequest.ts b/lib/classes/messages/MapItemRequest.ts index b3e4716..14e4586 100644 --- a/lib/classes/messages/MapItemRequest.ts +++ b/lib/classes/messages/MapItemRequest.ts @@ -87,7 +87,7 @@ export class MapItemRequestMessage implements MessageBase }; newObjRequestData['ItemType'] = buf.readUInt32LE(pos); pos += 4; - newObjRequestData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRequestData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RequestData = newObjRequestData; return pos - startPos; diff --git a/lib/classes/messages/NearestLandingRegionReply.ts b/lib/classes/messages/NearestLandingRegionReply.ts index cc20395..d288e12 100644 --- a/lib/classes/messages/NearestLandingRegionReply.ts +++ b/lib/classes/messages/NearestLandingRegionReply.ts @@ -40,7 +40,7 @@ export class NearestLandingRegionReplyMessage implements MessageBase } = { RegionHandle: Long.ZERO }; - newObjLandingRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjLandingRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.LandingRegionData = newObjLandingRegionData; return pos - startPos; diff --git a/lib/classes/messages/NearestLandingRegionRequest.ts b/lib/classes/messages/NearestLandingRegionRequest.ts index 88346da..0df834c 100644 --- a/lib/classes/messages/NearestLandingRegionRequest.ts +++ b/lib/classes/messages/NearestLandingRegionRequest.ts @@ -40,7 +40,7 @@ export class NearestLandingRegionRequestMessage implements MessageBase } = { RegionHandle: Long.ZERO }; - newObjRequestingRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRequestingRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RequestingRegionData = newObjRequestingRegionData; return pos - startPos; diff --git a/lib/classes/messages/NearestLandingRegionUpdated.ts b/lib/classes/messages/NearestLandingRegionUpdated.ts index 4a3a755..80704dd 100644 --- a/lib/classes/messages/NearestLandingRegionUpdated.ts +++ b/lib/classes/messages/NearestLandingRegionUpdated.ts @@ -40,7 +40,7 @@ export class NearestLandingRegionUpdatedMessage implements MessageBase } = { RegionHandle: Long.ZERO }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RegionData = newObjRegionData; return pos - startPos; diff --git a/lib/classes/messages/ObjectProperties.ts b/lib/classes/messages/ObjectProperties.ts index 0f216c6..d12a974 100644 --- a/lib/classes/messages/ObjectProperties.ts +++ b/lib/classes/messages/ObjectProperties.ts @@ -204,7 +204,7 @@ export class ObjectPropertiesMessage implements MessageBase pos += 16; newObjObjectData['GroupID'] = new UUID(buf, pos); pos += 16; - newObjObjectData['CreationDate'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjObjectData['CreationDate'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjObjectData['BaseMask'] = buf.readUInt32LE(pos); pos += 4; diff --git a/lib/classes/messages/ObjectUpdate.ts b/lib/classes/messages/ObjectUpdate.ts index fc95860..b3194eb 100644 --- a/lib/classes/messages/ObjectUpdate.ts +++ b/lib/classes/messages/ObjectUpdate.ts @@ -196,7 +196,7 @@ export class ObjectUpdateMessage implements MessageBase RegionHandle: Long.ZERO, TimeDilation: 0 }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); pos += 2; diff --git a/lib/classes/messages/ObjectUpdateCached.ts b/lib/classes/messages/ObjectUpdateCached.ts index 304cebf..fb519ee 100644 --- a/lib/classes/messages/ObjectUpdateCached.ts +++ b/lib/classes/messages/ObjectUpdateCached.ts @@ -61,7 +61,7 @@ export class ObjectUpdateCachedMessage implements MessageBase RegionHandle: Long.ZERO, TimeDilation: 0 }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); pos += 2; diff --git a/lib/classes/messages/ObjectUpdateCompressed.ts b/lib/classes/messages/ObjectUpdateCompressed.ts index 5e8f944..b0e1cce 100644 --- a/lib/classes/messages/ObjectUpdateCompressed.ts +++ b/lib/classes/messages/ObjectUpdateCompressed.ts @@ -71,7 +71,7 @@ export class ObjectUpdateCompressedMessage implements MessageBase RegionHandle: Long.ZERO, TimeDilation: 0 }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjRegionData['TimeDilation'] = buf.readUInt16LE(pos); pos += 2; diff --git a/lib/classes/messages/RegionHandshake.ts b/lib/classes/messages/RegionHandshake.ts index 9a48db4..1967389 100644 --- a/lib/classes/messages/RegionHandshake.ts +++ b/lib/classes/messages/RegionHandshake.ts @@ -294,9 +294,9 @@ export class RegionHandshakeMessage implements MessageBase RegionFlagsExtended: Long.ZERO, RegionProtocols: Long.ZERO }; - newObjRegionInfo4['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionInfo4['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; - newObjRegionInfo4['RegionProtocols'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionInfo4['RegionProtocols'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RegionInfo4.push(newObjRegionInfo4); } diff --git a/lib/classes/messages/RegionIDAndHandleReply.ts b/lib/classes/messages/RegionIDAndHandleReply.ts index ca32ff5..a9bb118 100644 --- a/lib/classes/messages/RegionIDAndHandleReply.ts +++ b/lib/classes/messages/RegionIDAndHandleReply.ts @@ -48,7 +48,7 @@ export class RegionIDAndHandleReplyMessage implements MessageBase }; newObjReplyBlock['RegionID'] = new UUID(buf, pos); pos += 16; - newObjReplyBlock['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjReplyBlock['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.ReplyBlock = newObjReplyBlock; return pos - startPos; diff --git a/lib/classes/messages/RegionInfo.ts b/lib/classes/messages/RegionInfo.ts index 369e583..2976718 100644 --- a/lib/classes/messages/RegionInfo.ts +++ b/lib/classes/messages/RegionInfo.ts @@ -234,7 +234,7 @@ export class RegionInfoMessage implements MessageBase } = { RegionFlagsExtended: Long.ZERO }; - newObjRegionInfo3['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionInfo3['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RegionInfo3.push(newObjRegionInfo3); } diff --git a/lib/classes/messages/RegionPresenceRequestByHandle.ts b/lib/classes/messages/RegionPresenceRequestByHandle.ts index 58e2483..7a746fb 100644 --- a/lib/classes/messages/RegionPresenceRequestByHandle.ts +++ b/lib/classes/messages/RegionPresenceRequestByHandle.ts @@ -53,7 +53,7 @@ export class RegionPresenceRequestByHandleMessage implements MessageBase } = { RegionHandle: Long.ZERO }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RegionData.push(newObjRegionData); } diff --git a/lib/classes/messages/RegionPresenceResponse.ts b/lib/classes/messages/RegionPresenceResponse.ts index a9fdbd4..8f07467 100644 --- a/lib/classes/messages/RegionPresenceResponse.ts +++ b/lib/classes/messages/RegionPresenceResponse.ts @@ -99,7 +99,7 @@ export class RegionPresenceResponseMessage implements MessageBase }; newObjRegionData['RegionID'] = new UUID(buf, pos); pos += 16; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjRegionData['InternalRegionIP'] = new IPAddress(buf, pos); pos += 4; diff --git a/lib/classes/messages/RequestXfer.ts b/lib/classes/messages/RequestXfer.ts index b66132f..811b129 100644 --- a/lib/classes/messages/RequestXfer.ts +++ b/lib/classes/messages/RequestXfer.ts @@ -70,7 +70,7 @@ export class RequestXferMessage implements MessageBase VFileID: UUID.zero(), VFileType: 0 }; - newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; varLength = buf.readUInt8(pos++); newObjXferID['Filename'] = buf.slice(pos, pos + varLength); diff --git a/lib/classes/messages/ScriptDataReply.ts b/lib/classes/messages/ScriptDataReply.ts index 69fdfce..388b159 100644 --- a/lib/classes/messages/ScriptDataReply.ts +++ b/lib/classes/messages/ScriptDataReply.ts @@ -71,7 +71,7 @@ export class ScriptDataReplyMessage implements MessageBase Hash: Long.ZERO, Reply: Buffer.allocUnsafe(0) }; - newObjDataBlock['Hash'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjDataBlock['Hash'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; varLength = buf.readUInt16LE(pos); pos += 2; diff --git a/lib/classes/messages/ScriptDataRequest.ts b/lib/classes/messages/ScriptDataRequest.ts index afe1fc5..a6a8373 100644 --- a/lib/classes/messages/ScriptDataRequest.ts +++ b/lib/classes/messages/ScriptDataRequest.ts @@ -75,7 +75,7 @@ export class ScriptDataRequestMessage implements MessageBase RequestType: 0, Request: Buffer.allocUnsafe(0) }; - newObjDataBlock['Hash'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjDataBlock['Hash'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjDataBlock['RequestType'] = buf.readInt8(pos++); varLength = buf.readUInt16LE(pos); diff --git a/lib/classes/messages/ScriptSensorRequest.ts b/lib/classes/messages/ScriptSensorRequest.ts index e285ac5..d7186c5 100644 --- a/lib/classes/messages/ScriptSensorRequest.ts +++ b/lib/classes/messages/ScriptSensorRequest.ts @@ -113,7 +113,7 @@ export class ScriptSensorRequestMessage implements MessageBase pos += 4; newObjRequester['Arc'] = buf.readFloatLE(pos); pos += 4; - newObjRequester['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRequester['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjRequester['SearchRegions'] = buf.readUInt8(pos++); this.Requester = newObjRequester; diff --git a/lib/classes/messages/SendXferPacket.ts b/lib/classes/messages/SendXferPacket.ts index 12bed38..cfc5421 100644 --- a/lib/classes/messages/SendXferPacket.ts +++ b/lib/classes/messages/SendXferPacket.ts @@ -53,7 +53,7 @@ export class SendXferPacketMessage implements MessageBase ID: Long.ZERO, Packet: 0 }; - newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjXferID['ID'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjXferID['Packet'] = buf.readUInt32LE(pos); pos += 4; diff --git a/lib/classes/messages/SetStartLocation.ts b/lib/classes/messages/SetStartLocation.ts index 3180352..5654c81 100644 --- a/lib/classes/messages/SetStartLocation.ts +++ b/lib/classes/messages/SetStartLocation.ts @@ -73,7 +73,7 @@ export class SetStartLocationMessage implements MessageBase pos += 16; newObjStartLocationData['LocationID'] = buf.readUInt32LE(pos); pos += 4; - newObjStartLocationData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjStartLocationData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjStartLocationData['LocationPos'] = new Vector3(buf, pos, false); pos += 12; diff --git a/lib/classes/messages/SimStats.ts b/lib/classes/messages/SimStats.ts index eb60626..0db32b2 100644 --- a/lib/classes/messages/SimStats.ts +++ b/lib/classes/messages/SimStats.ts @@ -134,7 +134,7 @@ export class SimStatsMessage implements MessageBase } = { RegionFlagsExtended: Long.ZERO }; - newObjRegionInfo['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionInfo['RegionFlagsExtended'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RegionInfo.push(newObjRegionInfo); } diff --git a/lib/classes/messages/SimStatus.ts b/lib/classes/messages/SimStatus.ts index 2a397e0..0d3f98c 100644 --- a/lib/classes/messages/SimStatus.ts +++ b/lib/classes/messages/SimStatus.ts @@ -56,7 +56,7 @@ export class SimStatusMessage implements MessageBase } = { Flags: Long.ZERO }; - newObjSimFlags['Flags'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjSimFlags['Flags'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.SimFlags = newObjSimFlags; return pos - startPos; diff --git a/lib/classes/messages/SimulatorSetMap.ts b/lib/classes/messages/SimulatorSetMap.ts index 498651c..6f5b33e 100644 --- a/lib/classes/messages/SimulatorSetMap.ts +++ b/lib/classes/messages/SimulatorSetMap.ts @@ -51,7 +51,7 @@ export class SimulatorSetMapMessage implements MessageBase Type: 0, MapImage: UUID.zero() }; - newObjMapData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjMapData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjMapData['Type'] = buf.readInt32LE(pos); pos += 4; diff --git a/lib/classes/messages/SimulatorViewerTimeMessage.ts b/lib/classes/messages/SimulatorViewerTimeMessage.ts index 230a473..ce304b8 100644 --- a/lib/classes/messages/SimulatorViewerTimeMessage.ts +++ b/lib/classes/messages/SimulatorViewerTimeMessage.ts @@ -66,7 +66,7 @@ export class SimulatorViewerTimeMessageMessage implements MessageBase SunPhase: 0, SunAngVelocity: Vector3.getZero() }; - newObjTimeInfo['UsecSinceStart'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjTimeInfo['UsecSinceStart'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjTimeInfo['SecPerDay'] = buf.readUInt32LE(pos); pos += 4; diff --git a/lib/classes/messages/SoundTrigger.ts b/lib/classes/messages/SoundTrigger.ts index 06252c4..72771f5 100644 --- a/lib/classes/messages/SoundTrigger.ts +++ b/lib/classes/messages/SoundTrigger.ts @@ -80,7 +80,7 @@ export class SoundTriggerMessage implements MessageBase pos += 16; newObjSoundData['ParentID'] = new UUID(buf, pos); pos += 16; - newObjSoundData['Handle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjSoundData['Handle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjSoundData['Position'] = new Vector3(buf, pos, false); pos += 12; diff --git a/lib/classes/messages/TeleportFinish.ts b/lib/classes/messages/TeleportFinish.ts index 0446444..3896a8b 100644 --- a/lib/classes/messages/TeleportFinish.ts +++ b/lib/classes/messages/TeleportFinish.ts @@ -87,7 +87,7 @@ export class TeleportFinishMessage implements MessageBase pos += 4; newObjInfo['SimPort'] = buf.readUInt16LE(pos); pos += 2; - newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; varLength = buf.readUInt16LE(pos); pos += 2; diff --git a/lib/classes/messages/TeleportLandingStatusChanged.ts b/lib/classes/messages/TeleportLandingStatusChanged.ts index 2f13789..3177f34 100644 --- a/lib/classes/messages/TeleportLandingStatusChanged.ts +++ b/lib/classes/messages/TeleportLandingStatusChanged.ts @@ -40,7 +40,7 @@ export class TeleportLandingStatusChangedMessage implements MessageBase } = { RegionHandle: Long.ZERO }; - newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjRegionData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; this.RegionData = newObjRegionData; return pos - startPos; diff --git a/lib/classes/messages/TeleportLocationRequest.ts b/lib/classes/messages/TeleportLocationRequest.ts index a5533ce..02b8d3d 100644 --- a/lib/classes/messages/TeleportLocationRequest.ts +++ b/lib/classes/messages/TeleportLocationRequest.ts @@ -72,7 +72,7 @@ export class TeleportLocationRequestMessage implements MessageBase Position: Vector3.getZero(), LookAt: Vector3.getZero() }; - newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjInfo['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjInfo['Position'] = new Vector3(buf, pos, false); pos += 12; diff --git a/lib/classes/messages/UpdateParcel.ts b/lib/classes/messages/UpdateParcel.ts index fb1b8c4..2185211 100644 --- a/lib/classes/messages/UpdateParcel.ts +++ b/lib/classes/messages/UpdateParcel.ts @@ -141,7 +141,7 @@ export class UpdateParcelMessage implements MessageBase }; newObjParcelData['ParcelID'] = new UUID(buf, pos); pos += 16; - newObjParcelData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4)); + newObjParcelData['RegionHandle'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4)); pos += 8; newObjParcelData['OwnerID'] = new UUID(buf, pos); pos += 16; diff --git a/lib/classes/public/ExtraParams.ts b/lib/classes/public/ExtraParams.ts index 82f9ade..0cc1eeb 100644 --- a/lib/classes/public/ExtraParams.ts +++ b/lib/classes/public/ExtraParams.ts @@ -76,19 +76,19 @@ export class ExtraParams } return ep; } - setMeshData(type: number, uuid: UUID) + setMeshData(type: number, uuid: UUID): void { this.meshData = new MeshData(); this.meshData.type = type; this.meshData.meshData = uuid; } - setSculptData(type: number, uuid: UUID) + setSculptData(type: number, uuid: UUID): void { this.sculptData = new SculptData(); this.sculptData.type = type; this.sculptData.texture = uuid; } - setFlexiData(softness: number, tension: number, drag: number, gravity: number, wind: number, force: Vector3) + setFlexiData(softness: number, tension: number, drag: number, gravity: number, wind: number, force: Vector3): void { this.flexibleData = new FlexibleData(); this.flexibleData.Softness = softness; @@ -98,7 +98,7 @@ export class ExtraParams this.flexibleData.Wind = wind; this.flexibleData.Force = force; } - setLightData(color: Color4, radius: number, cutoff: number, falloff: number, intensity: number) + setLightData(color: Color4, radius: number, cutoff: number, falloff: number, intensity: number): void { this.lightData = new LightData(); this.lightData.Color = color; diff --git a/lib/classes/public/FlexibleData.ts b/lib/classes/public/FlexibleData.ts index 6e393e1..8b172ed 100644 --- a/lib/classes/public/FlexibleData.ts +++ b/lib/classes/public/FlexibleData.ts @@ -24,7 +24,7 @@ export class FlexibleData } } } - writeToBuffer(buf: Buffer, pos: number) + writeToBuffer(buf: Buffer, pos: number): void { buf[pos] = (this.Softness & 2) << 6; buf[pos + 1] = (this.Softness & 1) << 7; diff --git a/lib/classes/public/GameObject.ts b/lib/classes/public/GameObject.ts index 9bc9d41..90e8b70 100644 --- a/lib/classes/public/GameObject.ts +++ b/lib/classes/public/GameObject.ts @@ -901,7 +901,13 @@ export class GameObject implements IGameObjectData if (item.name === tmpName) { // We are intentionally not waiting for this rename job so that the wait below succeeds - item.renameInTask(this, name).then(() => {}).catch(() => {}); + item.renameInTask(this, name).then(() => + { + + }).catch(() => + { + + }); try { await this.waitForInventoryUpdate(); diff --git a/lib/classes/public/LightData.ts b/lib/classes/public/LightData.ts index bdeb944..dc0f9a4 100644 --- a/lib/classes/public/LightData.ts +++ b/lib/classes/public/LightData.ts @@ -29,7 +29,7 @@ export class LightData } } } - writeToBuffer(buf: Buffer, pos: number) + writeToBuffer(buf: Buffer, pos: number): void { const tmpColour = new Color4(this.Color.getRed(), this.Color.getGreen(), this.Color.getBlue(), this.Color.getAlpha()); tmpColour.alpha = this.Intensity; diff --git a/lib/classes/public/LightImageData.ts b/lib/classes/public/LightImageData.ts index 9b00069..a03e546 100644 --- a/lib/classes/public/LightImageData.ts +++ b/lib/classes/public/LightImageData.ts @@ -15,7 +15,7 @@ export class LightImageData this.params = new Vector3(buf, pos); } } - writeToBuffer(buf: Buffer, pos: number) + writeToBuffer(buf: Buffer, pos: number): void { this.texture.writeToBuffer(buf, pos); pos = pos + 16; this.params.writeToBuffer(buf, pos, false); diff --git a/lib/classes/public/MeshData.ts b/lib/classes/public/MeshData.ts index cd7c960..b03e1f4 100644 --- a/lib/classes/public/MeshData.ts +++ b/lib/classes/public/MeshData.ts @@ -18,7 +18,7 @@ export class MeshData } } } - writeToBuffer(buf: Buffer, pos: number) + writeToBuffer(buf: Buffer, pos: number): void { this.meshData.writeToBuffer(buf, pos); pos = pos + 16; buf.writeUInt8(this.type, pos); diff --git a/lib/classes/public/RegionEnvironment.ts b/lib/classes/public/RegionEnvironment.ts index a48263e..7c7b4ad 100644 --- a/lib/classes/public/RegionEnvironment.ts +++ b/lib/classes/public/RegionEnvironment.ts @@ -18,7 +18,7 @@ export class RegionEnvironment } = {}; water: WaterPreset; - getXML(xml: XMLNode) + getXML(xml: XMLNode): void { const env = xml.ele('Environment'); const dayCycle = env.ele('DayCycle'); diff --git a/lib/classes/public/SculptData.ts b/lib/classes/public/SculptData.ts index ad2a0ec..5150847 100644 --- a/lib/classes/public/SculptData.ts +++ b/lib/classes/public/SculptData.ts @@ -18,7 +18,7 @@ export class SculptData } } } - writeToBuffer(buf: Buffer, pos: number) + writeToBuffer(buf: Buffer, pos: number): void { this.texture.writeToBuffer(buf, pos); pos = pos + 16; buf.writeUInt8(this.type, pos); diff --git a/lib/classes/public/interfaces/MapLocation.ts b/lib/classes/public/interfaces/MapLocation.ts index 644e036..6d23f04 100644 --- a/lib/classes/public/interfaces/MapLocation.ts +++ b/lib/classes/public/interfaces/MapLocation.ts @@ -2,7 +2,8 @@ import { UUID } from '../../UUID'; import * as Long from 'long'; import { Vector2 } from '../../Vector2'; -export interface MapLocation { +export interface MapLocation +{ 'regionName': string; 'mapImage': UUID; 'regionHandle': Long, diff --git a/lib/enums/AgentFlags.ts b/lib/enums/AgentFlags.ts index b5156b5..025f454 100644 --- a/lib/enums/AgentFlags.ts +++ b/lib/enums/AgentFlags.ts @@ -1,4 +1,5 @@ -export enum AgentFlags { +export enum AgentFlags +{ None = 0, HideGroupTitle = 1 } diff --git a/lib/enums/AgentState.ts b/lib/enums/AgentState.ts index 47f62fd..268fe65 100644 --- a/lib/enums/AgentState.ts +++ b/lib/enums/AgentState.ts @@ -1,4 +1,5 @@ -export enum AgentState { +export enum AgentState +{ None = 0, Typing = 4, Editing = 16 diff --git a/lib/enums/CompressedFlags.ts b/lib/enums/CompressedFlags.ts index 7e7b5f9..7b9e585 100644 --- a/lib/enums/CompressedFlags.ts +++ b/lib/enums/CompressedFlags.ts @@ -11,4 +11,4 @@ export enum CompressedFlags HasAngularVelocity = 0x80, HasNameValues = 0x100, MediaURL = 0x200 -} \ No newline at end of file +} diff --git a/lib/enums/LayerType.ts b/lib/enums/LayerType.ts index ec5abcd..c595405 100644 --- a/lib/enums/LayerType.ts +++ b/lib/enums/LayerType.ts @@ -8,4 +8,4 @@ export enum LayerType WindExtended = 0x39, Cloud = 0x38, CloudExtended = 0x3A -} \ No newline at end of file +} diff --git a/lib/enums/LoginFlags.ts b/lib/enums/LoginFlags.ts index 8459383..99b3c45 100644 --- a/lib/enums/LoginFlags.ts +++ b/lib/enums/LoginFlags.ts @@ -1,4 +1,5 @@ -export enum LoginFlags { +export enum LoginFlags +{ everLoggedIn = 1, daylightSavings = 2, stipendSinceLogin = 4, diff --git a/lib/enums/Message.ts b/lib/enums/Message.ts index 24a1891..04dc6cf 100644 --- a/lib/enums/Message.ts +++ b/lib/enums/Message.ts @@ -1,4 +1,5 @@ -export enum Message { +export enum Message +{ TestMessage = 4294901761, PacketAck = 4294967291, OpenCircuit = 4294967292, diff --git a/lib/enums/ParcelFlags.ts b/lib/enums/ParcelFlags.ts index c6fda5c..8699430 100644 --- a/lib/enums/ParcelFlags.ts +++ b/lib/enums/ParcelFlags.ts @@ -33,4 +33,4 @@ export enum ParcelFlags AllowVoiceChat = 1 << 29, UseEstateVoiceChan = 1 << 30, DenyAgeUnverified = 2147483648 -}; +} diff --git a/lib/enums/RegionProtocolFlags.ts b/lib/enums/RegionProtocolFlags.ts index 8e03a93..8925c79 100644 --- a/lib/enums/RegionProtocolFlags.ts +++ b/lib/enums/RegionProtocolFlags.ts @@ -1,4 +1,5 @@ -export enum RegionProtocolFlags { +export enum RegionProtocolFlags +{ None = 0, AgentAppearanceService = 1, SelfAppearanceSupport = 4 diff --git a/lib/enums/SculptType.ts b/lib/enums/SculptType.ts index f833226..1aba644 100644 --- a/lib/enums/SculptType.ts +++ b/lib/enums/SculptType.ts @@ -8,4 +8,4 @@ export enum SculptType Mesh = 5, Invert = 64, Mirror = 128 -} \ No newline at end of file +} diff --git a/lib/enums/Shininess.ts b/lib/enums/Shininess.ts index 2392bb2..c2cc9db 100644 --- a/lib/enums/Shininess.ts +++ b/lib/enums/Shininess.ts @@ -4,4 +4,4 @@ export enum Shininess Low = 0x40, Medium = 0x80, High = 0xC0 -} \ No newline at end of file +} diff --git a/lib/enums/UpdateType.ts b/lib/enums/UpdateType.ts index 02f0976..16deed0 100644 --- a/lib/enums/UpdateType.ts +++ b/lib/enums/UpdateType.ts @@ -6,4 +6,4 @@ export enum UpdateType Scale = 0x04, Linked = 0x08, Uniform = 0x10 -} \ No newline at end of file +} diff --git a/lib/events/DisconnectEvent.ts b/lib/events/DisconnectEvent.ts index 15d283f..d694217 100644 --- a/lib/events/DisconnectEvent.ts +++ b/lib/events/DisconnectEvent.ts @@ -2,4 +2,4 @@ export class DisconnectEvent { requested: boolean; message: string; -} \ No newline at end of file +} diff --git a/lib/tests/packets.ts b/lib/tests/packets.ts index a477491..96db958 100644 --- a/lib/tests/packets.ts +++ b/lib/tests/packets.ts @@ -5,10 +5,10 @@ import { Packet } from '../classes/Packet'; import { DecodeFlags } from '../enums/DecodeFlags'; import { PacketFlags } from '../enums/PacketFlags'; -function compareArrays(arr1: any[], arr2: any[]) +function compareArrays(arr1: any[], arr2: any[]): boolean { if (arr1.length === arr2.length - && arr1.every(function (u, i) + && arr1.every(function (u, i): boolean { return u === arr2[i]; }) diff --git a/lib/tsm/common.js b/lib/tsm/common.js deleted file mode 100644 index 6f6f6ba..0000000 --- a/lib/tsm/common.js +++ /dev/null @@ -1,37 +0,0 @@ -/** - * @fileoverview TSM - A TypeScript vector and matrix math library - * @author Matthias Ferch - * @version 0.6 - */ -/* - * Copyright (c) 2012 Matthias Ferch - * - * Project homepage: https://github.com/matthiasferch/tsm - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not - * be misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source - * distribution. - */ -var EPSILON = 0.000001; -/// -/// -/// -/// -/// -/// -/// diff --git a/lib/tsm/common.ts b/lib/tsm/common.ts index 86ede70..7e2691d 100644 --- a/lib/tsm/common.ts +++ b/lib/tsm/common.ts @@ -29,18 +29,7 @@ * distribution. */ - -let EPSILON = 0.000001; - -/// -/// -/// - -/// -/// -/// - -/// +const EPSILON = 0.000001; diff --git a/lib/tsm/mat2.js b/lib/tsm/mat2.js deleted file mode 100644 index 44bbbd8..0000000 --- a/lib/tsm/mat2.js +++ /dev/null @@ -1,197 +0,0 @@ -/** - * @fileoverview TSM - A TypeScript vector and matrix math library - * @author Matthias Ferch - * @version 0.6 - */ -/* - * Copyright (c) 2012 Matthias Ferch - * - * Project homepage: https://github.com/matthiasferch/tsm - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not - * be misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source - * distribution. - */ -/// -var TSM; -(function (TSM) { - var mat2 = (function () { - function mat2(values) { - if (values === void 0) { values = null = null; } - this.values = new Float32Array(4); - if (values) { - this.init(values); - } - } - mat2.product = function (m1, m2, result) { - if (result === void 0) { result = null = null; } - var a11 = m1.at(0), a12 = m1.at(1), a21 = m1.at(2), a22 = m1.at(3); - if (result) { - result.init([ - a11 * m2.at(0) + a12 * m2.at(2), - a11 * m2.at(1) + a12 * m2.at(3), - a21 * m2.at(0) + a22 * m2.at(2), - a21 * m2.at(1) + a22 * m2.at(3) - ]); - return result; - } - else { - return new mat2([ - a11 * m2.at(0) + a12 * m2.at(2), - a11 * m2.at(1) + a12 * m2.at(3), - a21 * m2.at(0) + a22 * m2.at(2), - a21 * m2.at(1) + a22 * m2.at(3) - ]); - } - }; - mat2.prototype.at = function (index) { - return this.values[index]; - }; - mat2.prototype.init = function (values) { - for (var i = 0; i < 4; i++) { - this.values[i] = values[i]; - } - return this; - }; - mat2.prototype.reset = function () { - for (var i = 0; i < 4; i++) { - this.values[i] = 0; - } - }; - mat2.prototype.copy = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new mat2(); - } - for (var i = 0; i < 4; i++) { - dest.values[i] = this.values[i]; - } - return dest; - }; - mat2.prototype.all = function () { - var data = []; - for (var i = 0; i < 4; i++) { - data[i] = this.values[i]; - } - return data; - }; - mat2.prototype.row = function (index) { - return [ - this.values[index * 2 + 0], - this.values[index * 2 + 1] - ]; - }; - mat2.prototype.col = function (index) { - return [ - this.values[index], - this.values[index + 2] - ]; - }; - mat2.prototype.equals = function (matrix, threshold) { - if (threshold === void 0) { threshold = EPSILON; } - for (var i = 0; i < 4; i++) { - if (Math.abs(this.values[i] - matrix.at(i)) > threshold) { - return false; - } - } - return true; - }; - mat2.prototype.determinant = function () { - return this.values[0] * this.values[3] - this.values[2] * this.values[1]; - }; - mat2.prototype.setIdentity = function () { - this.values[0] = 1; - this.values[1] = 0; - this.values[2] = 0; - this.values[3] = 1; - return this; - }; - mat2.prototype.transpose = function () { - var temp = this.values[1]; - this.values[1] = this.values[2]; - this.values[2] = temp; - return this; - }; - mat2.prototype.inverse = ; - mat2.identity = new mat2().setIdentity(); - return mat2; - })(); - TSM.mat2 = mat2; - { - var det = this.determinant(); - if (!det) { - return null; - } - det = 1.0 / det; - this.values[0] = det * (this.values[3]); - this.values[1] = det * (-this.values[1]); - this.values[2] = det * (-this.values[2]); - this.values[3] = det * (this.values[0]); - return this; - } - multiply(matrix, mat2); - mat2; - { - var a11 = this.values[0], a12 = this.values[1], a21 = this.values[2], a22 = this.values[3]; - this.values[0] = a11 * matrix.at(0) + a12 * matrix.at(2); - this.values[1] = a11 * matrix.at(1) + a12 * matrix.at(3); - this.values[2] = a21 * matrix.at(0) + a22 * matrix.at(2); - this.values[3] = a21 * matrix.at(1) + a22 * matrix.at(3); - return this; - } - rotate(angle, number); - mat2; - { - var a11 = this.values[0], a12 = this.values[1], a21 = this.values[2], a22 = this.values[3]; - var sin = Math.sin(angle), cos = Math.cos(angle); - this.values[0] = a11 * cos + a12 * sin; - this.values[1] = a11 * -sin + a12 * cos; - this.values[2] = a21 * cos + a22 * sin; - this.values[3] = a21 * -sin + a22 * cos; - return this; - } - multiplyVec2(vector, TSM.vec2, result, TSM.vec2 | null, null); - TSM.vec2; - { - var x = vector.x, y = vector.y; - if (result) { - result.xy = [ - x * this.values[0] + y * this.values[1], - x * this.values[2] + y * this.values[3] - ]; - return result; - } - else { - return new TSM.vec2([ - x * this.values[0] + y * this.values[1], - x * this.values[2] + y * this.values[3] - ]); - } - } - scale(vector, TSM.vec2); - mat2; - { - var a11 = this.values[0], a12 = this.values[1], a21 = this.values[2], a22 = this.values[3]; - var x = vector.x, y = vector.y; - this.values[0] = a11 * x; - this.values[1] = a12 * y; - this.values[2] = a21 * x; - this.values[3] = a22 * y; - return this; - } -})(TSM || (TSM = {})); diff --git a/lib/tsm/mat3.js b/lib/tsm/mat3.js deleted file mode 100644 index 69f6624..0000000 --- a/lib/tsm/mat3.js +++ /dev/null @@ -1,360 +0,0 @@ -/** - * @fileoverview TSM - A TypeScript vector and matrix math library - * @author Matthias Ferch - * @version 0.6 - */ -/* - * Copyright (c) 2012 Matthias Ferch - * - * Project homepage: https://github.com/matthiasferch/tsm - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not - * be misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source - * distribution. - */ -/// -var TSM; -(function (TSM) { - var mat3 = (function () { - function mat3(values) { - if (values === void 0) { values = null = null; } - this.values = new Float32Array(9); - if (values) { - this.init(values); - } - } - mat3.product = function (m1, m2, result) { - if (result === void 0) { result = null = null; } - var a00 = m1.at(0), a01 = m1.at(1), a02 = m1.at(2), a10 = m1.at(3), a11 = m1.at(4), a12 = m1.at(5), a20 = m1.at(6), a21 = m1.at(7), a22 = m1.at(8); - var b00 = m2.at(0), b01 = m2.at(1), b02 = m2.at(2), b10 = m2.at(3), b11 = m2.at(4), b12 = m2.at(5), b20 = m2.at(6), b21 = m2.at(7), b22 = m2.at(8); - if (result) { - result.init([ - b00 * a00 + b01 * a10 + b02 * a20, - b00 * a01 + b01 * a11 + b02 * a21, - b00 * a02 + b01 * a12 + b02 * a22, - b10 * a00 + b11 * a10 + b12 * a20, - b10 * a01 + b11 * a11 + b12 * a21, - b10 * a02 + b11 * a12 + b12 * a22, - b20 * a00 + b21 * a10 + b22 * a20, - b20 * a01 + b21 * a11 + b22 * a21, - b20 * a02 + b21 * a12 + b22 * a22 - ]); - return result; - } - else { - return new mat3([ - b00 * a00 + b01 * a10 + b02 * a20, - b00 * a01 + b01 * a11 + b02 * a21, - b00 * a02 + b01 * a12 + b02 * a22, - b10 * a00 + b11 * a10 + b12 * a20, - b10 * a01 + b11 * a11 + b12 * a21, - b10 * a02 + b11 * a12 + b12 * a22, - b20 * a00 + b21 * a10 + b22 * a20, - b20 * a01 + b21 * a11 + b22 * a21, - b20 * a02 + b21 * a12 + b22 * a22 - ]); - } - }; - mat3.prototype.at = function (index) { - return this.values[index]; - }; - mat3.prototype.init = function (values) { - for (var i = 0; i < 9; i++) { - this.values[i] = values[i]; - } - return this; - }; - mat3.prototype.reset = function () { - for (var i = 0; i < 9; i++) { - this.values[i] = 0; - } - }; - mat3.prototype.copy = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new mat3(); - } - for (var i = 0; i < 9; i++) { - dest.values[i] = this.values[i]; - } - return dest; - }; - mat3.prototype.all = function () { - var data = []; - for (var i = 0; i < 9; i++) { - data[i] = this.values[i]; - } - return data; - }; - mat3.prototype.row = function (index) { - return [ - this.values[index * 3 + 0], - this.values[index * 3 + 1], - this.values[index * 3 + 2] - ]; - }; - mat3.prototype.col = function (index) { - return [ - this.values[index], - this.values[index + 3], - this.values[index + 6] - ]; - }; - mat3.prototype.equals = function (matrix, threshold) { - if (threshold === void 0) { threshold = EPSILON; } - for (var i = 0; i < 9; i++) { - if (Math.abs(this.values[i] - matrix.at(i)) > threshold) { - return false; - } - } - return true; - }; - mat3.prototype.determinant = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[3], a11 = this.values[4], a12 = this.values[5], a20 = this.values[6], a21 = this.values[7], a22 = this.values[8]; - var det01 = a22 * a11 - a12 * a21, det11 = -a22 * a10 + a12 * a20, det21 = a21 * a10 - a11 * a20; - return a00 * det01 + a01 * det11 + a02 * det21; - }; - mat3.prototype.setIdentity = function () { - this.values[0] = 1; - this.values[1] = 0; - this.values[2] = 0; - this.values[3] = 0; - this.values[4] = 1; - this.values[5] = 0; - this.values[6] = 0; - this.values[7] = 0; - this.values[8] = 1; - return this; - }; - mat3.prototype.transpose = function () { - var temp01 = this.values[1], temp02 = this.values[2], temp12 = this.values[5]; - this.values[1] = this.values[3]; - this.values[2] = this.values[6]; - this.values[3] = temp01; - this.values[5] = this.values[7]; - this.values[6] = temp02; - this.values[7] = temp12; - return this; - }; - mat3.prototype.inverse = ; - mat3.identity = new mat3().setIdentity(); - return mat3; - })(); - TSM.mat3 = mat3; - { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[3], a11 = this.values[4], a12 = this.values[5], a20 = this.values[6], a21 = this.values[7], a22 = this.values[8]; - var det01 = a22 * a11 - a12 * a21, det11 = -a22 * a10 + a12 * a20, det21 = a21 * a10 - a11 * a20; - var det = a00 * det01 + a01 * det11 + a02 * det21; - if (!det) { - return null; - } - det = 1.0 / det; - this.values[0] = det01 * det; - this.values[1] = (-a22 * a01 + a02 * a21) * det; - this.values[2] = (a12 * a01 - a02 * a11) * det; - this.values[3] = det11 * det; - this.values[4] = (a22 * a00 - a02 * a20) * det; - this.values[5] = (-a12 * a00 + a02 * a10) * det; - this.values[6] = det21 * det; - this.values[7] = (-a21 * a00 + a01 * a20) * det; - this.values[8] = (a11 * a00 - a01 * a10) * det; - return this; - } - multiply(matrix, mat3); - mat3; - { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[3], a11 = this.values[4], a12 = this.values[5], a20 = this.values[6], a21 = this.values[7], a22 = this.values[8]; - var b00 = matrix.at(0), b01 = matrix.at(1), b02 = matrix.at(2), b10 = matrix.at(3), b11 = matrix.at(4), b12 = matrix.at(5), b20 = matrix.at(6), b21 = matrix.at(7), b22 = matrix.at(8); - this.values[0] = b00 * a00 + b01 * a10 + b02 * a20; - this.values[1] = b00 * a01 + b01 * a11 + b02 * a21; - this.values[2] = b00 * a02 + b01 * a12 + b02 * a22; - this.values[3] = b10 * a00 + b11 * a10 + b12 * a20; - this.values[4] = b10 * a01 + b11 * a11 + b12 * a21; - this.values[5] = b10 * a02 + b11 * a12 + b12 * a22; - this.values[6] = b20 * a00 + b21 * a10 + b22 * a20; - this.values[7] = b20 * a01 + b21 * a11 + b22 * a21; - this.values[8] = b20 * a02 + b21 * a12 + b22 * a22; - return this; - } - multiplyVec2(vector, TSM.vec2, result, TSM.vec2 | null, null); - TSM.vec2; - { - var x = vector.x, y = vector.y; - if (result) { - result.xy = [ - x * this.values[0] + y * this.values[3] + this.values[6], - x * this.values[1] + y * this.values[4] + this.values[7] - ]; - return result; - } - else { - return new TSM.vec2([ - x * this.values[0] + y * this.values[3] + this.values[6], - x * this.values[1] + y * this.values[4] + this.values[7] - ]); - } - } - multiplyVec3(vector, TSM.vec3, result, TSM.vec3 | null, null); - TSM.vec3; - { - var x = vector.x, y = vector.y, z = vector.z; - if (result) { - result.xyz = [ - x * this.values[0] + y * this.values[3] + z * this.values[6], - x * this.values[1] + y * this.values[4] + z * this.values[7], - x * this.values[2] + y * this.values[5] + z * this.values[8] - ]; - return result; - } - else { - return new TSM.vec3([ - x * this.values[0] + y * this.values[3] + z * this.values[6], - x * this.values[1] + y * this.values[4] + z * this.values[7], - x * this.values[2] + y * this.values[5] + z * this.values[8] - ]); - } - } - toMat4(result, TSM.mat4 | null, null); - TSM.mat4; - { - if (result) { - result.init([ - this.values[0], - this.values[1], - this.values[2], - 0, - this.values[3], - this.values[4], - this.values[5], - 0, - this.values[6], - this.values[7], - this.values[8], - 0, - 0, - 0, - 0, - 1 - ]); - return result; - } - else { - return new TSM.mat4([ - this.values[0], - this.values[1], - this.values[2], - 0, - this.values[3], - this.values[4], - this.values[5], - 0, - this.values[6], - this.values[7], - this.values[8], - 0, - 0, - 0, - 0, - 1 - ]); - } - } - toQuat(); - TSM.quat; - { - var m00 = this.values[0], m01 = this.values[1], m02 = this.values[2], m10 = this.values[3], m11 = this.values[4], m12 = this.values[5], m20 = this.values[6], m21 = this.values[7], m22 = this.values[8]; - var fourXSquaredMinus1 = m00 - m11 - m22; - var fourYSquaredMinus1 = m11 - m00 - m22; - var fourZSquaredMinus1 = m22 - m00 - m11; - var fourWSquaredMinus1 = m00 + m11 + m22; - var biggestIndex = 0; - var fourBiggestSquaredMinus1 = fourWSquaredMinus1; - if (fourXSquaredMinus1 > fourBiggestSquaredMinus1) { - fourBiggestSquaredMinus1 = fourXSquaredMinus1; - biggestIndex = 1; - } - if (fourYSquaredMinus1 > fourBiggestSquaredMinus1) { - fourBiggestSquaredMinus1 = fourYSquaredMinus1; - biggestIndex = 2; - } - if (fourZSquaredMinus1 > fourBiggestSquaredMinus1) { - fourBiggestSquaredMinus1 = fourZSquaredMinus1; - biggestIndex = 3; - } - var biggestVal = Math.sqrt(fourBiggestSquaredMinus1 + 1) * 0.5; - var mult = 0.25 / biggestVal; - var result = new TSM.quat(); - switch (biggestIndex) { - case 0: - result.w = biggestVal; - result.x = (m12 - m21) * mult; - result.y = (m20 - m02) * mult; - result.z = (m01 - m10) * mult; - break; - case 1: - result.w = (m12 - m21) * mult; - result.x = biggestVal; - result.y = (m01 + m10) * mult; - result.z = (m20 + m02) * mult; - break; - case 2: - result.w = (m20 - m02) * mult; - result.x = (m01 + m10) * mult; - result.y = biggestVal; - result.z = (m12 + m21) * mult; - break; - case 3: - result.w = (m01 - m10) * mult; - result.x = (m20 + m02) * mult; - result.y = (m12 + m21) * mult; - result.z = biggestVal; - break; - } - return result; - } - rotate(angle, number, axis, TSM.vec3); - mat3 | null; - { - var x = axis.x, y = axis.y, z = axis.z; - var length_1 = Math.sqrt(x * x + y * y + z * z); - if (!length_1) { - return null; - } - if (length_1 !== 1) { - length_1 = 1 / length_1; - x *= length_1; - y *= length_1; - z *= length_1; - } - var s = Math.sin(angle); - var c = Math.cos(angle); - var t = 1.0 - c; - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10]; - var b00 = x * x * t + c, b01 = y * x * t + z * s, b02 = z * x * t - y * s, b10 = x * y * t - z * s, b11 = y * y * t + c, b12 = z * y * t + x * s, b20 = x * z * t + y * s, b21 = y * z * t - x * s, b22 = z * z * t + c; - this.values[0] = a00 * b00 + a10 * b01 + a20 * b02; - this.values[1] = a01 * b00 + a11 * b01 + a21 * b02; - this.values[2] = a02 * b00 + a12 * b01 + a22 * b02; - this.values[3] = a00 * b10 + a10 * b11 + a20 * b12; - this.values[4] = a01 * b10 + a11 * b11 + a21 * b12; - this.values[5] = a02 * b10 + a12 * b11 + a22 * b12; - this.values[6] = a00 * b20 + a10 * b21 + a20 * b22; - this.values[7] = a01 * b20 + a11 * b21 + a21 * b22; - this.values[8] = a02 * b20 + a12 * b21 + a22 * b22; - return this; - } -})(TSM || (TSM = {})); diff --git a/lib/tsm/mat3.ts b/lib/tsm/mat3.ts index f2196be..5a5c679 100644 --- a/lib/tsm/mat3.ts +++ b/lib/tsm/mat3.ts @@ -29,9 +29,6 @@ * distribution. */ - -/// - import { TSMVec2 } from './vec2'; import { TSMVec3 } from './vec3'; import { TSMMat4 } from './mat4'; diff --git a/lib/tsm/mat4.js b/lib/tsm/mat4.js deleted file mode 100644 index 2a81844..0000000 --- a/lib/tsm/mat4.js +++ /dev/null @@ -1,448 +0,0 @@ -/** - * @fileoverview TSM - A TypeScript vector and matrix math library - * @author Matthias Ferch - * @version 0.6 - */ -/* - * Copyright (c) 2012 Matthias Ferch - * - * Project homepage: https://github.com/matthiasferch/tsm - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not - * be misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source - * distribution. - */ -/// -var TSM; -(function (TSM) { - var mat4 = (function () { - function mat4(values) { - if (values === void 0) { values = null = null; } - this.values = new Float32Array(16); - if (values) { - this.init(values); - } - } - mat4.frustum = function (left, right, bottom, top, near, far) { - var rl = (right - left), tb = (top - bottom), fn = (far - near); - return new mat4([ - (near * 2) / rl, - 0, - 0, - 0, - 0, - (near * 2) / tb, - 0, - 0, - (right + left) / rl, - (top + bottom) / tb, - -(far + near) / fn, - -1, - 0, - 0, - -(far * near * 2) / fn, - 0 - ]); - }; - mat4.perspective = function (fov, aspect, near, far) { - var top = near * Math.tan(fov * Math.PI / 360.0), right = top * aspect; - return mat4.frustum(-right, right, -top, top, near, far); - }; - mat4.orthographic = function (left, right, bottom, top, near, far) { - var rl = (right - left), tb = (top - bottom), fn = (far - near); - return new mat4([ - 2 / rl, - 0, - 0, - 0, - 0, - 2 / tb, - 0, - 0, - 0, - 0, - -2 / fn, - 0, - -(left + right) / rl, - -(top + bottom) / tb, - -(far + near) / fn, - 1 - ]); - }; - mat4.lookAt = function (position, target, up) { - if (up === void 0) { up = TSM.vec3.up; } - if (position.equals(target)) { - return this.identity; - } - var z = TSM.vec3.difference(position, target).normalize(); - var x = TSM.vec3.cross(up, z).normalize(); - var y = TSM.vec3.cross(z, x).normalize(); - return new mat4([ - x.x, - y.x, - z.x, - 0, - x.y, - y.y, - z.y, - 0, - x.z, - y.z, - z.z, - 0, - -TSM.vec3.dot(x, position), - -TSM.vec3.dot(y, position), - -TSM.vec3.dot(z, position), - 1 - ]); - }; - mat4.product = function (m1, m2, result) { - if (result === void 0) { result = null = null; } - var a00 = m1.at(0), a01 = m1.at(1), a02 = m1.at(2), a03 = m1.at(3), a10 = m1.at(4), a11 = m1.at(5), a12 = m1.at(6), a13 = m1.at(7), a20 = m1.at(8), a21 = m1.at(9), a22 = m1.at(10), a23 = m1.at(11), a30 = m1.at(12), a31 = m1.at(13), a32 = m1.at(14), a33 = m1.at(15); - var b00 = m2.at(0), b01 = m2.at(1), b02 = m2.at(2), b03 = m2.at(3), b10 = m2.at(4), b11 = m2.at(5), b12 = m2.at(6), b13 = m2.at(7), b20 = m2.at(8), b21 = m2.at(9), b22 = m2.at(10), b23 = m2.at(11), b30 = m2.at(12), b31 = m2.at(13), b32 = m2.at(14), b33 = m2.at(15); - if (result) { - result.init([ - b00 * a00 + b01 * a10 + b02 * a20 + b03 * a30, - b00 * a01 + b01 * a11 + b02 * a21 + b03 * a31, - b00 * a02 + b01 * a12 + b02 * a22 + b03 * a32, - b00 * a03 + b01 * a13 + b02 * a23 + b03 * a33, - b10 * a00 + b11 * a10 + b12 * a20 + b13 * a30, - b10 * a01 + b11 * a11 + b12 * a21 + b13 * a31, - b10 * a02 + b11 * a12 + b12 * a22 + b13 * a32, - b10 * a03 + b11 * a13 + b12 * a23 + b13 * a33, - b20 * a00 + b21 * a10 + b22 * a20 + b23 * a30, - b20 * a01 + b21 * a11 + b22 * a21 + b23 * a31, - b20 * a02 + b21 * a12 + b22 * a22 + b23 * a32, - b20 * a03 + b21 * a13 + b22 * a23 + b23 * a33, - b30 * a00 + b31 * a10 + b32 * a20 + b33 * a30, - b30 * a01 + b31 * a11 + b32 * a21 + b33 * a31, - b30 * a02 + b31 * a12 + b32 * a22 + b33 * a32, - b30 * a03 + b31 * a13 + b32 * a23 + b33 * a33 - ]); - return result; - } - else { - return new mat4([ - b00 * a00 + b01 * a10 + b02 * a20 + b03 * a30, - b00 * a01 + b01 * a11 + b02 * a21 + b03 * a31, - b00 * a02 + b01 * a12 + b02 * a22 + b03 * a32, - b00 * a03 + b01 * a13 + b02 * a23 + b03 * a33, - b10 * a00 + b11 * a10 + b12 * a20 + b13 * a30, - b10 * a01 + b11 * a11 + b12 * a21 + b13 * a31, - b10 * a02 + b11 * a12 + b12 * a22 + b13 * a32, - b10 * a03 + b11 * a13 + b12 * a23 + b13 * a33, - b20 * a00 + b21 * a10 + b22 * a20 + b23 * a30, - b20 * a01 + b21 * a11 + b22 * a21 + b23 * a31, - b20 * a02 + b21 * a12 + b22 * a22 + b23 * a32, - b20 * a03 + b21 * a13 + b22 * a23 + b23 * a33, - b30 * a00 + b31 * a10 + b32 * a20 + b33 * a30, - b30 * a01 + b31 * a11 + b32 * a21 + b33 * a31, - b30 * a02 + b31 * a12 + b32 * a22 + b33 * a32, - b30 * a03 + b31 * a13 + b32 * a23 + b33 * a33 - ]); - } - }; - mat4.prototype.at = function (index) { - return this.values[index]; - }; - mat4.prototype.init = function (values) { - for (var i = 0; i < 16; i++) { - this.values[i] = values[i]; - } - return this; - }; - mat4.prototype.reset = function () { - for (var i = 0; i < 16; i++) { - this.values[i] = 0; - } - }; - mat4.prototype.copy = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new mat4(); - } - for (var i = 0; i < 16; i++) { - dest.values[i] = this.values[i]; - } - return dest; - }; - mat4.prototype.all = function () { - var data = []; - for (var i = 0; i < 16; i++) { - data[i] = this.values[i]; - } - return data; - }; - mat4.prototype.row = function (index) { - return [ - this.values[index * 4 + 0], - this.values[index * 4 + 1], - this.values[index * 4 + 2], - this.values[index * 4 + 3] - ]; - }; - mat4.prototype.col = function (index) { - return [ - this.values[index], - this.values[index + 4], - this.values[index + 8], - this.values[index + 12] - ]; - }; - mat4.prototype.equals = function (matrix, threshold) { - if (threshold === void 0) { threshold = EPSILON; } - for (var i = 0; i < 16; i++) { - if (Math.abs(this.values[i] - matrix.at(i)) > threshold) { - return false; - } - } - return true; - }; - mat4.prototype.determinant = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11], a30 = this.values[12], a31 = this.values[13], a32 = this.values[14], a33 = this.values[15]; - var det00 = a00 * a11 - a01 * a10, det01 = a00 * a12 - a02 * a10, det02 = a00 * a13 - a03 * a10, det03 = a01 * a12 - a02 * a11, det04 = a01 * a13 - a03 * a11, det05 = a02 * a13 - a03 * a12, det06 = a20 * a31 - a21 * a30, det07 = a20 * a32 - a22 * a30, det08 = a20 * a33 - a23 * a30, det09 = a21 * a32 - a22 * a31, det10 = a21 * a33 - a23 * a31, det11 = a22 * a33 - a23 * a32; - return (det00 * det11 - det01 * det10 + det02 * det09 + det03 * det08 - det04 * det07 + det05 * det06); - }; - mat4.prototype.setIdentity = function () { - this.values[0] = 1; - this.values[1] = 0; - this.values[2] = 0; - this.values[3] = 0; - this.values[4] = 0; - this.values[5] = 1; - this.values[6] = 0; - this.values[7] = 0; - this.values[8] = 0; - this.values[9] = 0; - this.values[10] = 1; - this.values[11] = 0; - this.values[12] = 0; - this.values[13] = 0; - this.values[14] = 0; - this.values[15] = 1; - return this; - }; - mat4.prototype.transpose = ; - mat4.identity = new mat4().setIdentity(); - return mat4; - })(); - TSM.mat4 = mat4; - { - var temp01 = this.values[1], temp02 = this.values[2], temp03 = this.values[3], temp12 = this.values[6], temp13 = this.values[7], temp23 = this.values[11]; - this.values[1] = this.values[4]; - this.values[2] = this.values[8]; - this.values[3] = this.values[12]; - this.values[4] = temp01; - this.values[6] = this.values[9]; - this.values[7] = this.values[13]; - this.values[8] = temp02; - this.values[9] = temp12; - this.values[11] = this.values[14]; - this.values[12] = temp03; - this.values[13] = temp13; - this.values[14] = temp23; - return this; - } - inverse(); - mat4 | null; - { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11], a30 = this.values[12], a31 = this.values[13], a32 = this.values[14], a33 = this.values[15]; - var det00 = a00 * a11 - a01 * a10, det01 = a00 * a12 - a02 * a10, det02 = a00 * a13 - a03 * a10, det03 = a01 * a12 - a02 * a11, det04 = a01 * a13 - a03 * a11, det05 = a02 * a13 - a03 * a12, det06 = a20 * a31 - a21 * a30, det07 = a20 * a32 - a22 * a30, det08 = a20 * a33 - a23 * a30, det09 = a21 * a32 - a22 * a31, det10 = a21 * a33 - a23 * a31, det11 = a22 * a33 - a23 * a32; - var det = (det00 * det11 - det01 * det10 + det02 * det09 + det03 * det08 - det04 * det07 + det05 * det06); - if (!det) { - return null; - } - det = 1.0 / det; - this.values[0] = (a11 * det11 - a12 * det10 + a13 * det09) * det; - this.values[1] = (-a01 * det11 + a02 * det10 - a03 * det09) * det; - this.values[2] = (a31 * det05 - a32 * det04 + a33 * det03) * det; - this.values[3] = (-a21 * det05 + a22 * det04 - a23 * det03) * det; - this.values[4] = (-a10 * det11 + a12 * det08 - a13 * det07) * det; - this.values[5] = (a00 * det11 - a02 * det08 + a03 * det07) * det; - this.values[6] = (-a30 * det05 + a32 * det02 - a33 * det01) * det; - this.values[7] = (a20 * det05 - a22 * det02 + a23 * det01) * det; - this.values[8] = (a10 * det10 - a11 * det08 + a13 * det06) * det; - this.values[9] = (-a00 * det10 + a01 * det08 - a03 * det06) * det; - this.values[10] = (a30 * det04 - a31 * det02 + a33 * det00) * det; - this.values[11] = (-a20 * det04 + a21 * det02 - a23 * det00) * det; - this.values[12] = (-a10 * det09 + a11 * det07 - a12 * det06) * det; - this.values[13] = (a00 * det09 - a01 * det07 + a02 * det06) * det; - this.values[14] = (-a30 * det03 + a31 * det01 - a32 * det00) * det; - this.values[15] = (a20 * det03 - a21 * det01 + a22 * det00) * det; - return this; - } - multiply(matrix, mat4); - mat4; - { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3]; - var a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7]; - var a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11]; - var a30 = this.values[12], a31 = this.values[13], a32 = this.values[14], a33 = this.values[15]; - var b0 = matrix.at(0), b1 = matrix.at(1), b2 = matrix.at(2), b3 = matrix.at(3); - this.values[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - b0 = matrix.at(4); - b1 = matrix.at(5); - b2 = matrix.at(6); - b3 = matrix.at(7); - this.values[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - b0 = matrix.at(8); - b1 = matrix.at(9); - b2 = matrix.at(10); - b3 = matrix.at(11); - this.values[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - b0 = matrix.at(12); - b1 = matrix.at(13); - b2 = matrix.at(14); - b3 = matrix.at(15); - this.values[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - return this; - } - multiplyVec3(vector, TSM.vec3); - TSM.vec3; - { - var x = vector.x, y = vector.y, z = vector.z; - return new TSM.vec3([ - this.values[0] * x + this.values[4] * y + this.values[8] * z + this.values[12], - this.values[1] * x + this.values[5] * y + this.values[9] * z + this.values[13], - this.values[2] * x + this.values[6] * y + this.values[10] * z + this.values[14] - ]); - } - multiplyVec4(vector, TSM.vec4, dest, TSM.vec4 | null, null); - TSM.vec4; - { - if (!dest) { - dest = new TSM.vec4(); - } - var x = vector.x, y = vector.y, z = vector.z, w = vector.w; - dest.x = this.values[0] * x + this.values[4] * y + this.values[8] * z + this.values[12] * w; - dest.y = this.values[1] * x + this.values[5] * y + this.values[9] * z + this.values[13] * w; - dest.z = this.values[2] * x + this.values[6] * y + this.values[10] * z + this.values[14] * w; - dest.w = this.values[3] * x + this.values[7] * y + this.values[11] * z + this.values[15] * w; - return dest; - } - toMat3(); - TSM.mat3; - { - return new TSM.mat3([ - this.values[0], - this.values[1], - this.values[2], - this.values[4], - this.values[5], - this.values[6], - this.values[8], - this.values[9], - this.values[10] - ]); - } - toInverseMat3(); - TSM.mat3 | null; - { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10]; - var det01 = a22 * a11 - a12 * a21, det11 = -a22 * a10 + a12 * a20, det21 = a21 * a10 - a11 * a20; - var det = a00 * det01 + a01 * det11 + a02 * det21; - if (!det) { - return null; - } - det = 1.0 / det; - return new TSM.mat3([ - det01 * det, - (-a22 * a01 + a02 * a21) * det, - (a12 * a01 - a02 * a11) * det, - det11 * det, - (a22 * a00 - a02 * a20) * det, - (-a12 * a00 + a02 * a10) * det, - det21 * det, - (-a21 * a00 + a01 * a20) * det, - (a11 * a00 - a01 * a10) * det - ]); - } - translate(vector, TSM.vec3); - mat4; - { - var x = vector.x, y = vector.y, z = vector.z; - this.values[12] += this.values[0] * x + this.values[4] * y + this.values[8] * z; - this.values[13] += this.values[1] * x + this.values[5] * y + this.values[9] * z; - this.values[14] += this.values[2] * x + this.values[6] * y + this.values[10] * z; - this.values[15] += this.values[3] * x + this.values[7] * y + this.values[11] * z; - return this; - } - scale(vector, TSM.vec3); - mat4; - { - var x = vector.x, y = vector.y, z = vector.z; - this.values[0] *= x; - this.values[1] *= x; - this.values[2] *= x; - this.values[3] *= x; - this.values[4] *= y; - this.values[5] *= y; - this.values[6] *= y; - this.values[7] *= y; - this.values[8] *= z; - this.values[9] *= z; - this.values[10] *= z; - this.values[11] *= z; - return this; - } - rotate(angle, number, axis, TSM.vec3); - mat4 | null; - { - var x = axis.x, y = axis.y, z = axis.z; - var length_1 = Math.sqrt(x * x + y * y + z * z); - if (!length_1) { - return null; - } - if (length_1 !== 1) { - length_1 = 1 / length_1; - x *= length_1; - y *= length_1; - z *= length_1; - } - var s = Math.sin(angle); - var c = Math.cos(angle); - var t = 1.0 - c; - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11]; - var b00 = x * x * t + c, b01 = y * x * t + z * s, b02 = z * x * t - y * s, b10 = x * y * t - z * s, b11 = y * y * t + c, b12 = z * y * t + x * s, b20 = x * z * t + y * s, b21 = y * z * t - x * s, b22 = z * z * t + c; - this.values[0] = a00 * b00 + a10 * b01 + a20 * b02; - this.values[1] = a01 * b00 + a11 * b01 + a21 * b02; - this.values[2] = a02 * b00 + a12 * b01 + a22 * b02; - this.values[3] = a03 * b00 + a13 * b01 + a23 * b02; - this.values[4] = a00 * b10 + a10 * b11 + a20 * b12; - this.values[5] = a01 * b10 + a11 * b11 + a21 * b12; - this.values[6] = a02 * b10 + a12 * b11 + a22 * b12; - this.values[7] = a03 * b10 + a13 * b11 + a23 * b12; - this.values[8] = a00 * b20 + a10 * b21 + a20 * b22; - this.values[9] = a01 * b20 + a11 * b21 + a21 * b22; - this.values[10] = a02 * b20 + a12 * b21 + a22 * b22; - this.values[11] = a03 * b20 + a13 * b21 + a23 * b22; - return this; - } -})(TSM || (TSM = {})); diff --git a/lib/tsm/mat4.ts b/lib/tsm/mat4.ts index 0ba6184..0330f74 100644 --- a/lib/tsm/mat4.ts +++ b/lib/tsm/mat4.ts @@ -29,9 +29,6 @@ * distribution. */ - -/// - import { TSMMat3 } from './mat3'; import { TSMVec3 } from './vec3'; import { TSMVec4 } from './vec4'; diff --git a/lib/tsm/quat.js b/lib/tsm/quat.js deleted file mode 100644 index 021b04f..0000000 --- a/lib/tsm/quat.js +++ /dev/null @@ -1,415 +0,0 @@ -/** - * @fileoverview TSM - A TypeScript vector and matrix math library - * @author Matthias Ferch - * @version 0.6 - */ -/* - * Copyright (c) 2012 Matthias Ferch - * - * Project homepage: https://github.com/matthiasferch/tsm - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not - * be misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source - * distribution. - */ -/// -var TSM; -(function (TSM) { - var quat = (function () { - function quat(values) { - if (values === void 0) { values = null = null; } - this.values = new Float32Array(4); - if (values) { - this.xyzw = values; - } - } - quat.dot = function (q1, q2) { - return q1.x * q2.x + q1.y * q2.y + q1.z * q2.z + q1.w * q2.w; - }; - quat.sum = function (q1, q2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new quat(); - } - dest.x = q1.x + q2.x; - dest.y = q1.y + q2.y; - dest.z = q1.z + q2.z; - dest.w = q1.w + q2.w; - return dest; - }; - quat.product = function (q1, q2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new quat(); - } - var q1x = q1.x, q1y = q1.y, q1z = q1.z, q1w = q1.w, q2x = q2.x, q2y = q2.y, q2z = q2.z, q2w = q2.w; - dest.x = q1x * q2w + q1w * q2x + q1y * q2z - q1z * q2y; - dest.y = q1y * q2w + q1w * q2y + q1z * q2x - q1x * q2z; - dest.z = q1z * q2w + q1w * q2z + q1x * q2y - q1y * q2x; - dest.w = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; - return dest; - }; - quat.cross = function (q1, q2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new quat(); - } - var q1x = q1.x, q1y = q1.y, q1z = q1.z, q1w = q1.w, q2x = q2.x, q2y = q2.y, q2z = q2.z, q2w = q2.w; - dest.x = q1w * q2z + q1z * q2w + q1x * q2y - q1y * q2x; - dest.y = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; - dest.z = q1w * q2x + q1x * q2w + q1y * q2z - q1z * q2y; - dest.w = q1w * q2y + q1y * q2w + q1z * q2x - q1x * q2z; - return dest; - }; - quat.shortMix = function (q1, q2, time, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new quat(); - } - if (time <= 0.0) { - dest.xyzw = q1.xyzw; - return dest; - } - else if (time >= 1.0) { - dest.xyzw = q2.xyzw; - return dest; - } - var cos = quat.dot(q1, q2); - var q2a = q2.copy(); - if (cos < 0.0) { - q2a.inverse(); - cos = -cos; - } - var k0, k1; - if (cos > 0.9999) { - k0 = 1 - time; - k1 = time; - } - else { - var sin = Math.sqrt(1 - cos * cos); - var angle = Math.atan2(sin, cos); - var oneOverSin = 1 / sin; - k0 = Math.sin((1 - time) * angle) * oneOverSin; - k1 = Math.sin((time) * angle) * oneOverSin; - } - dest.x = k0 * q1.x + k1 * q2a.x; - dest.y = k0 * q1.y + k1 * q2a.y; - dest.z = k0 * q1.z + k1 * q2a.z; - dest.w = k0 * q1.w + k1 * q2a.w; - return dest; - }; - quat.mix = function (q1, q2, time, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new quat(); - } - var cosHalfTheta = q1.x * q2.x + q1.y * q2.y + q1.z * q2.z + q1.w * q2.w; - if (Math.abs(cosHalfTheta) >= 1.0) { - dest.xyzw = q1.xyzw; - return dest; - } - var halfTheta = Math.acos(cosHalfTheta), sinHalfTheta = Math.sqrt(1.0 - cosHalfTheta * cosHalfTheta); - if (Math.abs(sinHalfTheta) < 0.001) { - dest.x = q1.x * 0.5 + q2.x * 0.5; - dest.y = q1.y * 0.5 + q2.y * 0.5; - dest.z = q1.z * 0.5 + q2.z * 0.5; - dest.w = q1.w * 0.5 + q2.w * 0.5; - return dest; - } - var ratioA = Math.sin((1 - time) * halfTheta) / sinHalfTheta, ratioB = Math.sin(time * halfTheta) / sinHalfTheta; - dest.x = q1.x * ratioA + q2.x * ratioB; - dest.y = q1.y * ratioA + q2.y * ratioB; - dest.z = q1.z * ratioA + q2.z * ratioB; - dest.w = q1.w * ratioA + q2.w * ratioB; - return dest; - }; - quat.fromAxis = function (axis, angle, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new quat(); - } - angle *= 0.5; - var sin = Math.sin(angle); - dest.x = axis.x * sin; - dest.y = axis.y * sin; - dest.z = axis.z * sin; - dest.w = Math.cos(angle); - return dest; - }; - Object.defineProperty(quat.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(quat.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(quat.prototype, "z", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(quat.prototype, "w", { - get: function () { - return this.values[3]; - }, - set: function (value) { - this.values[3] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(quat.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(quat.prototype, "xyz", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(quat.prototype, "xyzw", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2], - this.values[3] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - this.values[3] = values[3]; - }, - enumerable: true, - configurable: true - }); - quat.prototype.at = function (index) { - return this.values[index]; - }; - quat.prototype.reset = function () { - for (var i = 0; i < 4; i++) { - this.values[i] = 0; - } - }; - quat.prototype.copy = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new quat(); - } - for (var i = 0; i < 4; i++) { - dest.values[i] = this.values[i]; - } - return dest; - }; - quat.prototype.roll = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - return Math.atan2(2.0 * (x * y + w * z), w * w + x * x - y * y - z * z); - }; - quat.prototype.pitch = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - return Math.atan2(2.0 * (y * z + w * x), w * w - x * x - y * y + z * z); - }; - quat.prototype.yaw = function () { - return Math.asin(2.0 * (this.x * this.z - this.w * this.y)); - }; - quat.prototype.equals = function (vector, threshold) { - if (threshold === void 0) { threshold = EPSILON; } - for (var i = 0; i < 4; i++) { - if (Math.abs(this.values[i] - vector.at(i)) > threshold) { - return false; - } - } - return true; - }; - quat.prototype.setIdentity = function () { - this.x = 0; - this.y = 0; - this.z = 0; - this.w = 1; - return this; - }; - quat.prototype.calculateW = function () { - var x = this.x, y = this.y, z = this.z; - this.w = -(Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z))); - return this; - }; - quat.prototype.inverse = function () { - var dot = quat.dot(this, this); - if (!dot) { - this.xyzw = [0, 0, 0, 0]; - return this; - } - var invDot = dot ? 1.0 / dot : 0; - this.x *= -invDot; - this.y *= -invDot; - this.z *= -invDot; - this.w *= invDot; - return this; - }; - quat.prototype.conjugate = function () { - this.values[0] *= -1; - this.values[1] *= -1; - this.values[2] *= -1; - return this; - }; - quat.prototype.length = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - return Math.sqrt(x * x + y * y + z * z + w * w); - }; - quat.prototype.normalize = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - var x = this.x, y = this.y, z = this.z, w = this.w; - var length = Math.sqrt(x * x + y * y + z * z + w * w); - if (!length) { - dest.x = 0; - dest.y = 0; - dest.z = 0; - dest.w = 0; - return dest; - } - length = 1 / length; - dest.x = x * length; - dest.y = y * length; - dest.z = z * length; - dest.w = w * length; - return dest; - }; - quat.prototype.add = function (other) { - for (var i = 0; i < 4; i++) { - this.values[i] += other.at(i); - } - return this; - }; - quat.prototype.multiply = function (other) { - var q1x = this.values[0], q1y = this.values[1], q1z = this.values[2], q1w = this.values[3]; - var q2x = other.x, q2y = other.y, q2z = other.z, q2w = other.w; - this.x = q1x * q2w + q1w * q2x + q1y * q2z - q1z * q2y; - this.y = q1y * q2w + q1w * q2y + q1z * q2x - q1x * q2z; - this.z = q1z * q2w + q1w * q2z + q1x * q2y - q1y * q2x; - this.w = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; - return this; - }; - quat.prototype.multiplyVec3 = function (vector, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new TSM.vec3(); - } - var x = vector.x, y = vector.y, z = vector.z; - var qx = this.x, qy = this.y, qz = this.z, qw = this.w; - var ix = qw * x + qy * z - qz * y, iy = qw * y + qz * x - qx * z, iz = qw * z + qx * y - qy * x, iw = -qx * x - qy * y - qz * z; - dest.x = ix * qw + iw * -qx + iy * -qz - iz * -qy; - dest.y = iy * qw + iw * -qy + iz * -qx - ix * -qz; - dest.z = iz * qw + iw * -qz + ix * -qy - iy * -qx; - return dest; - }; - quat.prototype.toMat3 = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new TSM.mat3(); - } - var x = this.x, y = this.y, z = this.z, w = this.w; - var x2 = x + x, y2 = y + y, z2 = z + z; - var xx = x * x2, xy = x * y2, xz = x * z2, yy = y * y2, yz = y * z2, zz = z * z2, wx = w * x2, wy = w * y2, wz = w * z2; - dest.init([ - 1 - (yy + zz), - xy + wz, - xz - wy, - xy - wz, - 1 - (xx + zz), - yz + wx, - xz + wy, - yz - wx, - 1 - (xx + yy) - ]); - return dest; - }; - quat.prototype.toMat4 = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new TSM.mat4(); - } - var x = this.x, y = this.y, z = this.z, w = this.w, x2 = x + x, y2 = y + y, z2 = z + z, xx = x * x2, xy = x * y2, xz = x * z2, yy = y * y2, yz = y * z2, zz = z * z2, wx = w * x2, wy = w * y2, wz = w * z2; - dest.init([ - 1 - (yy + zz), - xy + wz, - xz - wy, - 0, - xy - wz, - 1 - (xx + zz), - yz + wx, - 0, - xz + wy, - yz - wx, - 1 - (xx + yy), - 0, - 0, - 0, - 0, - 1 - ]); - return dest; - }; - quat.identity = new quat().setIdentity(); - return quat; - })(); - TSM.quat = quat; -})(TSM || (TSM = {})); diff --git a/lib/tsm/quat.ts b/lib/tsm/quat.ts index 531481d..0419849 100644 --- a/lib/tsm/quat.ts +++ b/lib/tsm/quat.ts @@ -29,9 +29,6 @@ * distribution. */ - -/// - import { TSMVec3 } from './vec3'; import { TSMMat3 } from './mat3'; import { TSMMat4 } from './mat4'; diff --git a/lib/tsm/tsm.js b/lib/tsm/tsm.js deleted file mode 100644 index 53c6d43..0000000 --- a/lib/tsm/tsm.js +++ /dev/null @@ -1,36 +0,0 @@ -/** - * @fileoverview TSM - A TypeScript vector and matrix math library - * @author Matthias Ferch - * @version 0.6 - */ -/* - * Copyright (c) 2012 Matthias Ferch - * - * Project homepage: https://github.com/matthiasferch/tsm - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not - * be misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source - * distribution. - */ -/// -/// -/// -/// -/// -/// -/// diff --git a/lib/tsm/vec2.js b/lib/tsm/vec2.js deleted file mode 100644 index ea3c099..0000000 --- a/lib/tsm/vec2.js +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Copyright (c) 2012 Matthias Ferch - * - * Project homepage: https://github.com/matthiasferch/tsm - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not - * be misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source - * distribution. - */ -/// -var TSM; -(function (TSM) { - var vec2 = (function () { - function vec2(values) { - if (values === void 0) { values = null = null; } - this.values = new Float32Array(2); - if (values) { - this.xy = values; - } - } - vec2.cross = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new TSM.vec3(); - } - var x = vector.x, y = vector.y; - var x2 = vector2.x, y2 = vector2.y; - var z = x * y2 - y * x2; - dest.x = 0; - dest.y = 0; - dest.z = z; - return dest; - }; - vec2.dot = function (vector, vector2) { - return (vector.x * vector2.x + vector.y * vector2.y); - }; - vec2.distance = function (vector, vector2) { - return Math.sqrt(this.squaredDistance(vector, vector2)); - }; - vec2.squaredDistance = function (vector, vector2) { - var x = vector2.x - vector.x, y = vector2.y - vector.y; - return (x * x + y * y); - }; - vec2.direction = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec2(); - } - var x = vector.x - vector2.x, y = vector.y - vector2.y; - var length = Math.sqrt(x * x + y * y); - if (length === 0) { - dest.x = 0; - dest.y = 0; - return dest; - } - length = 1 / length; - dest.x = x * length; - dest.y = y * length; - return dest; - }; - vec2.mix = function (vector, vector2, time, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec2(); - } - var x = vector.x, y = vector.y; - var x2 = vector2.x, y2 = vector2.y; - dest.x = x + time * (x2 - x); - dest.y = y + time * (y2 - y); - return dest; - }; - vec2.sum = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec2(); - } - dest.x = vector.x + vector2.x; - dest.y = vector.y + vector2.y; - return dest; - }; - vec2.difference = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec2(); - } - dest.x = vector.x - vector2.x; - dest.y = vector.y - vector2.y; - return dest; - }; - vec2.product = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec2(); - } - dest.x = vector.x * vector2.x; - dest.y = vector.y * vector2.y; - return dest; - }; - vec2.quotient = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec2(); - } - dest.x = vector.x / vector2.x; - dest.y = vector.y / vector2.y; - return dest; - }; - Object.defineProperty(vec2.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec2.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec2.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - vec2.prototype.at = function (index) { - return this.values[index]; - }; - vec2.prototype.reset = function () { - this.x = 0; - this.y = 0; - }; - vec2.prototype.copy = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec2(); - } - dest.x = this.x; - dest.y = this.y; - return dest; - }; - vec2.prototype.negate = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - dest.x = -this.x; - dest.y = -this.y; - return dest; - }; - vec2.prototype.equals = function (vector, threshold) { - if (threshold === void 0) { threshold = EPSILON; } - if (Math.abs(this.x - vector.x) > threshold) { - return false; - } - if (Math.abs(this.y - vector.y) > threshold) { - return false; - } - return true; - }; - vec2.prototype.length = function () { - return Math.sqrt(this.squaredLength()); - }; - vec2.prototype.squaredLength = function () { - var x = this.x, y = this.y; - return (x * x + y * y); - }; - vec2.prototype.add = function (vector) { - this.x += vector.x; - this.y += vector.y; - return this; - }; - vec2.prototype.subtract = function (vector) { - this.x -= vector.x; - this.y -= vector.y; - return this; - }; - vec2.prototype.multiply = function (vector) { - this.x *= vector.x; - this.y *= vector.y; - return this; - }; - vec2.prototype.divide = function (vector) { - this.x /= vector.x; - this.y /= vector.y; - return this; - }; - vec2.prototype.scale = function (value, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - dest.x *= value; - dest.y *= value; - return dest; - }; - vec2.prototype.normalize = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - var length = this.length(); - if (length === 1) { - return this; - } - if (length === 0) { - dest.x = 0; - dest.y = 0; - return dest; - } - length = 1.0 / length; - dest.x *= length; - dest.y *= length; - return dest; - }; - vec2.prototype.multiplyMat2 = function (matrix, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - return matrix.multiplyVec2(this, dest); - }; - vec2.prototype.multiplyMat3 = function (matrix, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - return matrix.multiplyVec2(this, dest); - }; - vec2.zero = new vec2([0, 0]); - return vec2; - })(); - TSM.vec2 = vec2; -})(TSM || (TSM = {})); diff --git a/lib/tsm/vec2.ts b/lib/tsm/vec2.ts index 2d92c3d..3609678 100644 --- a/lib/tsm/vec2.ts +++ b/lib/tsm/vec2.ts @@ -23,9 +23,6 @@ * distribution. */ - -/// - import { TSMVec3 } from './vec3'; import { TSMMat2 } from './mat2'; import { TSMMat3 } from './mat3'; diff --git a/lib/tsm/vec3.js b/lib/tsm/vec3.js deleted file mode 100644 index 86a0e1f..0000000 --- a/lib/tsm/vec3.js +++ /dev/null @@ -1,338 +0,0 @@ -/** - * @fileoverview TSM - A TypeScript vector and matrix math library - * @author Matthias Ferch - * @version 0.6 - */ -/* - * Copyright (c) 2012 Matthias Ferch - * - * Project homepage: https://github.com/matthiasferch/tsm - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not - * be misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source - * distribution. - */ -/// -var TSM; -(function (TSM) { - var vec3 = (function () { - function vec3(values) { - if (values === void 0) { values = null = null; } - this.values = new Float32Array(3); - if (values) { - this.xyz = values; - } - } - vec3.cross = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec3(); - } - var x = vector.x, y = vector.y, z = vector.z; - var x2 = vector2.x, y2 = vector2.y, z2 = vector2.z; - dest.x = y * z2 - z * y2; - dest.y = z * x2 - x * z2; - dest.z = x * y2 - y * x2; - return dest; - }; - vec3.dot = function (vector, vector2) { - var x = vector.x, y = vector.y, z = vector.z; - var x2 = vector2.x, y2 = vector2.y, z2 = vector2.z; - return (x * x2 + y * y2 + z * z2); - }; - vec3.distance = function (vector, vector2) { - var x = vector2.x - vector.x, y = vector2.y - vector.y, z = vector2.z - vector.z; - return Math.sqrt(this.squaredDistance(vector, vector2)); - }; - vec3.squaredDistance = function (vector, vector2) { - var x = vector2.x - vector.x, y = vector2.y - vector.y, z = vector2.z - vector.z; - return (x * x + y * y + z * z); - }; - vec3.direction = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec3(); - } - var x = vector.x - vector2.x, y = vector.y - vector2.y, z = vector.z - vector2.z; - var length = Math.sqrt(x * x + y * y + z * z); - if (length === 0) { - dest.x = 0; - dest.y = 0; - dest.z = 0; - return dest; - } - length = 1 / length; - dest.x = x * length; - dest.y = y * length; - dest.z = z * length; - return dest; - }; - vec3.mix = function (vector, vector2, time, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec3(); - } - dest.x = vector.x + time * (vector2.x - vector.x); - dest.y = vector.y + time * (vector2.y - vector.y); - dest.z = vector.z + time * (vector2.z - vector.z); - return dest; - }; - vec3.sum = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec3(); - } - dest.x = vector.x + vector2.x; - dest.y = vector.y + vector2.y; - dest.z = vector.z + vector2.z; - return dest; - }; - vec3.difference = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec3(); - } - dest.x = vector.x - vector2.x; - dest.y = vector.y - vector2.y; - dest.z = vector.z - vector2.z; - return dest; - }; - vec3.product = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec3(); - } - dest.x = vector.x * vector2.x; - dest.y = vector.y * vector2.y; - dest.z = vector.z * vector2.z; - return dest; - }; - vec3.quotient = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec3(); - } - dest.x = vector.x / vector2.x; - dest.y = vector.y / vector2.y; - dest.z = vector.z / vector2.z; - return dest; - }; - Object.defineProperty(vec3.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec3.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec3.prototype, "z", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec3.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec3.prototype, "xyz", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - vec3.prototype.at = function (index) { - return this.values[index]; - }; - vec3.prototype.reset = function () { - this.x = 0; - this.y = 0; - this.z = 0; - }; - vec3.prototype.copy = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec3(); - } - dest.x = this.x; - dest.y = this.y; - dest.z = this.z; - return dest; - }; - vec3.prototype.negate = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - dest.x = -this.x; - dest.y = -this.y; - dest.z = -this.z; - return dest; - }; - vec3.prototype.equals = function (vector, threshold) { - if (threshold === void 0) { threshold = EPSILON; } - if (Math.abs(this.x - vector.x) > threshold) { - return false; - } - if (Math.abs(this.y - vector.y) > threshold) { - return false; - } - if (Math.abs(this.z - vector.z) > threshold) { - return false; - } - return true; - }; - vec3.prototype.length = function () { - return Math.sqrt(this.squaredLength()); - }; - vec3.prototype.squaredLength = function () { - var x = this.x, y = this.y, z = this.z; - return (x * x + y * y + z * z); - }; - vec3.prototype.add = function (vector) { - this.x += vector.x; - this.y += vector.y; - this.z += vector.z; - return this; - }; - vec3.prototype.subtract = function (vector) { - this.x -= vector.x; - this.y -= vector.y; - this.z -= vector.z; - return this; - }; - vec3.prototype.multiply = function (vector) { - this.x *= vector.x; - this.y *= vector.y; - this.z *= vector.z; - return this; - }; - vec3.prototype.divide = function (vector) { - this.x /= vector.x; - this.y /= vector.y; - this.z /= vector.z; - return this; - }; - vec3.prototype.scale = function (value, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - dest.x *= value; - dest.y *= value; - dest.z *= value; - return dest; - }; - vec3.prototype.normalize = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - var length = this.length(); - if (length === 1) { - return this; - } - if (length === 0) { - dest.x = 0; - dest.y = 0; - dest.z = 0; - return dest; - } - length = 1.0 / length; - dest.x *= length; - dest.y *= length; - dest.z *= length; - return dest; - }; - vec3.prototype.multiplyByMat3 = function (matrix, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - return matrix.multiplyVec3(this, dest); - }; - vec3.prototype.multiplyByQuat = function (quat, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - return quat.multiplyVec3(this, dest); - }; - vec3.prototype.toQuat = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new TSM.quat(); - } - var c = new vec3(); - var s = new vec3(); - c.x = Math.cos(this.x * 0.5); - s.x = Math.sin(this.x * 0.5); - c.y = Math.cos(this.y * 0.5); - s.y = Math.sin(this.y * 0.5); - c.z = Math.cos(this.z * 0.5); - s.z = Math.sin(this.z * 0.5); - dest.x = s.x * c.y * c.z - c.x * s.y * s.z; - dest.y = c.x * s.y * c.z + s.x * c.y * s.z; - dest.z = c.x * c.y * s.z - s.x * s.y * c.z; - dest.w = c.x * c.y * c.z + s.x * s.y * s.z; - return dest; - }; - vec3.zero = new vec3([0, 0, 0]); - vec3.up = new vec3([0, 1, 0]); - vec3.right = new vec3([1, 0, 0]); - vec3.forward = new vec3([0, 0, 1]); - return vec3; - })(); - TSM.vec3 = vec3; -})(TSM || (TSM = {})); diff --git a/lib/tsm/vec3.ts b/lib/tsm/vec3.ts index 49d43cf..e93f409 100644 --- a/lib/tsm/vec3.ts +++ b/lib/tsm/vec3.ts @@ -29,9 +29,6 @@ * distribution. */ - -/// - import { TSMQuat } from './quat'; import { TSMMat3 } from './mat3'; diff --git a/lib/tsm/vec4.js b/lib/tsm/vec4.js deleted file mode 100644 index a8a5bd1..0000000 --- a/lib/tsm/vec4.js +++ /dev/null @@ -1,399 +0,0 @@ -/** - * @fileoverview TSM - A TypeScript vector and matrix math library - * @author Matthias Ferch - * @version 0.6 - */ -/* - * Copyright (c) 2012 Matthias Ferch - * - * Project homepage: https://github.com/matthiasferch/tsm - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the authors be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * - * 2. Altered source versions must be plainly marked as such, and must not - * be misrepresented as being the original software. - * - * 3. This notice may not be removed or altered from any source - * distribution. - */ -/// -var TSM; -(function (TSM) { - var vec4 = (function () { - function vec4(values) { - if (values === void 0) { values = null = null; } - this.values = new Float32Array(4); - if (values) { - this.xyzw = values; - } - } - vec4.mix = function (vector, vector2, time, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec4(); - } - dest.x = vector.x + time * (vector2.x - vector.x); - dest.y = vector.y + time * (vector2.y - vector.y); - dest.z = vector.z + time * (vector2.z - vector.z); - dest.w = vector.w + time * (vector2.w - vector.w); - return dest; - }; - vec4.sum = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec4(); - } - dest.x = vector.x + vector2.x, - dest.y = vector.y + vector2.y, - dest.z = vector.z + vector2.z, - dest.w = vector.w + vector2.w; - return dest; - }; - vec4.difference = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec4(); - } - dest.x = vector.x - vector2.x, - dest.y = vector.y - vector2.y, - dest.z = vector.z - vector2.z, - dest.w = vector.w - vector2.w; - return dest; - }; - vec4.product = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec4(); - } - dest.x = vector.x * vector2.x, - dest.y = vector.y * vector2.y, - dest.z = vector.z * vector2.z, - dest.w = vector.w * vector2.w; - return dest; - }; - vec4.quotient = function (vector, vector2, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec4(); - } - dest.x = vector.x / vector2.x, - dest.y = vector.y / vector2.y, - dest.z = vector.z / vector2.z, - dest.w = vector.w / vector2.w; - return dest; - }; - Object.defineProperty(vec4.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "z", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "w", { - get: function () { - return this.values[3]; - }, - set: function (value) { - this.values[3] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "xyz", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "xyzw", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2], - this.values[3] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - this.values[3] = values[3]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "r", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "g", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "b", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "a", { - get: function () { - return this.values[3]; - }, - set: function (value) { - this.values[3] = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "rg", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "rgb", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(vec4.prototype, "rgba", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2], - this.values[3] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - this.values[3] = values[3]; - }, - enumerable: true, - configurable: true - }); - vec4.prototype.at = function (index) { - return this.values[index]; - }; - vec4.prototype.reset = function () { - this.x = 0; - this.y = 0; - this.z = 0; - this.w = 0; - }; - vec4.prototype.copy = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = new vec4(); - } - dest.x = this.x; - dest.y = this.y; - dest.z = this.z; - dest.w = this.w; - return dest; - }; - vec4.prototype.negate = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - dest.x = -this.x; - dest.y = -this.y; - dest.z = -this.z; - dest.w = -this.w; - return dest; - }; - vec4.prototype.equals = function (vector, threshold) { - if (threshold === void 0) { threshold = EPSILON; } - if (Math.abs(this.x - vector.x) > threshold) { - return false; - } - if (Math.abs(this.y - vector.y) > threshold) { - return false; - } - if (Math.abs(this.z - vector.z) > threshold) { - return false; - } - if (Math.abs(this.w - vector.w) > threshold) { - return false; - } - return true; - }; - vec4.prototype.length = function () { - return Math.sqrt(this.squaredLength()); - }; - vec4.prototype.squaredLength = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - return (x * x + y * y + z * z + w * w); - }; - vec4.prototype.add = function (vector) { - this.x += vector.x; - this.y += vector.y; - this.z += vector.z; - this.w += vector.w; - return this; - }; - vec4.prototype.subtract = function (vector) { - this.x -= vector.x; - this.y -= vector.y; - this.z -= vector.z; - this.w -= vector.w; - return this; - }; - vec4.prototype.multiply = function (vector) { - this.x *= vector.x; - this.y *= vector.y; - this.z *= vector.z; - this.w *= vector.w; - return this; - }; - vec4.prototype.divide = function (vector) { - this.x /= vector.x; - this.y /= vector.y; - this.z /= vector.z; - this.w /= vector.w; - return this; - }; - vec4.prototype.scale = function (value, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - dest.x *= value; - dest.y *= value; - dest.z *= value; - dest.w *= value; - return dest; - }; - vec4.prototype.normalize = function (dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - var length = this.length(); - if (length === 1) { - return this; - } - if (length === 0) { - dest.x *= 0; - dest.y *= 0; - dest.z *= 0; - dest.w *= 0; - return dest; - } - length = 1.0 / length; - dest.x *= length; - dest.y *= length; - dest.z *= length; - dest.w *= length; - return dest; - }; - vec4.prototype.multiplyMat4 = function (matrix, dest) { - if (dest === void 0) { dest = null = null; } - if (!dest) { - dest = this; - } - return matrix.multiplyVec4(this, dest); - }; - vec4.zero = new vec4([0, 0, 0, 1]); - return vec4; - })(); - TSM.vec4 = vec4; -})(TSM || (TSM = {})); diff --git a/lib/tsm/vec4.ts b/lib/tsm/vec4.ts index 98cc387..8117627 100644 --- a/lib/tsm/vec4.ts +++ b/lib/tsm/vec4.ts @@ -30,7 +30,7 @@ */ -/// +/// import { TSMMat4 } from './mat4'; @@ -63,10 +63,10 @@ export class TSMVec4 dest = new TSMVec4(); } - dest.x = vector.x + vector2.x, - dest.y = vector.y + vector2.y, - dest.z = vector.z + vector2.z, - dest.w = vector.w + vector2.w + dest.x = vector.x + vector2.x; + dest.y = vector.y + vector2.y; + dest.z = vector.z + vector2.z; + dest.w = vector.w + vector2.w; return dest; } @@ -78,10 +78,10 @@ export class TSMVec4 dest = new TSMVec4(); } - dest.x = vector.x - vector2.x, - dest.y = vector.y - vector2.y, - dest.z = vector.z - vector2.z, - dest.w = vector.w - vector2.w + dest.x = vector.x - vector2.x; + dest.y = vector.y - vector2.y; + dest.z = vector.z - vector2.z; + dest.w = vector.w - vector2.w; return dest; } @@ -93,10 +93,10 @@ export class TSMVec4 dest = new TSMVec4(); } - dest.x = vector.x * vector2.x, - dest.y = vector.y * vector2.y, - dest.z = vector.z * vector2.z, - dest.w = vector.w * vector2.w + dest.x = vector.x * vector2.x; + dest.y = vector.y * vector2.y; + dest.z = vector.z * vector2.z; + dest.w = vector.w * vector2.w; return dest; } @@ -108,10 +108,10 @@ export class TSMVec4 dest = new TSMVec4(); } - dest.x = vector.x / vector2.x, - dest.y = vector.y / vector2.y, - dest.z = vector.z / vector2.z, - dest.w = vector.w / vector2.w + dest.x = vector.x / vector2.x; + dest.y = vector.y / vector2.y; + dest.z = vector.z / vector2.z; + dest.w = vector.w / vector2.w; return dest; } diff --git a/package-lock.json b/package-lock.json index 58cc63f..bd65afd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@caspertech/node-metaverse", - "version": "0.5.25", + "version": "0.5.26", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@caspertech/node-metaverse", - "version": "0.5.25", + "version": "0.5.26", "license": "MIT", "dependencies": { "@caspertech/llsd": "^1.0.5", @@ -40,9 +40,14 @@ "xmlrpc": "^1.3.2" }, "devDependencies": { + "@angular-eslint/eslint-plugin": "^12.5.0", "@types/micromatch": "^4.0.2", "@types/node": "^16.9.6", "@types/uuid": "^8.3.1", + "@typescript-eslint/eslint-plugin": "^4.31.2", + "@typescript-eslint/eslint-plugin-tslint": "^4.31.2", + "@typescript-eslint/parser": "^4.31.2", + "eslint": "^7.32.0", "mocha": "^9.1.1", "source-map-support": "^0.5.20", "ts-node": "^10.2.1", @@ -54,6 +59,322 @@ "node": ">=7.6.0" } }, + "node_modules/@angular-eslint/eslint-plugin": { + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-12.5.0.tgz", + "integrity": "sha512-BugzzvgghcaxHMvUFQBdu6dwB167CwiTxjIBT9KxIYYm0IY3RUKiyVQDdSs4tcwZqsyWNWuiju4ZfGPNHGjcWw==", + "dev": true, + "dependencies": { + "@angular-eslint/utils": "12.5.0", + "@typescript-eslint/experimental-utils": "4.28.2" + }, + "peerDependencies": { + "@angular/compiler": ">= 12.0.0 < 13.0.0", + "eslint": "*", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/experimental-utils": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.2.tgz", + "integrity": "sha512-MwHPsL6qo98RC55IoWWP8/opTykjTp4JzfPu1VfO2Z0MshNP0UZ1GEV5rYSSnZSUI8VD7iHvtIPVGW5Nfh7klQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.2.tgz", + "integrity": "sha512-MqbypNjIkJFEFuOwPWNDjq0nqXAKZvDNNs9yNseoGBB1wYfz1G0WHC2AVOy4XD7di3KCcW3+nhZyN6zruqmp2A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.2.tgz", + "integrity": "sha512-Gr15fuQVd93uD9zzxbApz3wf7ua3yk4ZujABZlZhaxxKY8ojo448u7XTm/+ETpy0V0dlMtj6t4VdDvdc0JmUhA==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.2.tgz", + "integrity": "sha512-86lLstLvK6QjNZjMoYUBMMsULFw0hPHJlk1fzhAVoNjDBuPVxiwvGuPQq3fsBMCxuDJwmX87tM/AXoadhHRljg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.2.tgz", + "integrity": "sha512-aT2B4PLyyRDUVUafXzpZFoc0C9t0za4BJAKP5sgWIhG+jHECQZUEjuQSCIwZdiJJ4w4cgu5r3Kh20SOdtEBl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.2", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@angular-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-eslint/eslint-plugin/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular-eslint/eslint-plugin/node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/@angular-eslint/utils": { + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-12.5.0.tgz", + "integrity": "sha512-h3ayDMxndrWRwX4sSe3Xs4QpGz+wIa6cAYtDKGu3H9HPlEacQCkKkTPCDy1d+993iL+9XynWIKuNCK9pX9YHgA==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.28.2" + }, + "peerDependencies": { + "eslint": "*", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/experimental-utils": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.2.tgz", + "integrity": "sha512-MwHPsL6qo98RC55IoWWP8/opTykjTp4JzfPu1VfO2Z0MshNP0UZ1GEV5rYSSnZSUI8VD7iHvtIPVGW5Nfh7klQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.2.tgz", + "integrity": "sha512-MqbypNjIkJFEFuOwPWNDjq0nqXAKZvDNNs9yNseoGBB1wYfz1G0WHC2AVOy4XD7di3KCcW3+nhZyN6zruqmp2A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.2.tgz", + "integrity": "sha512-Gr15fuQVd93uD9zzxbApz3wf7ua3yk4ZujABZlZhaxxKY8ojo448u7XTm/+ETpy0V0dlMtj6t4VdDvdc0JmUhA==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.2.tgz", + "integrity": "sha512-86lLstLvK6QjNZjMoYUBMMsULFw0hPHJlk1fzhAVoNjDBuPVxiwvGuPQq3fsBMCxuDJwmX87tM/AXoadhHRljg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.2.tgz", + "integrity": "sha512-aT2B4PLyyRDUVUafXzpZFoc0C9t0za4BJAKP5sgWIhG+jHECQZUEjuQSCIwZdiJJ4w4cgu5r3Kh20SOdtEBl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.2", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@angular-eslint/utils/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-eslint/utils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular-eslint/utils/node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/@angular/compiler": { + "version": "12.2.7", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.2.7.tgz", + "integrity": "sha512-9X7Vrfg6dWfYKPAJLQYR5W7N8WnESg8PG07gNzHZtavETPrDIoX+Av/kQcEdPu14zTZE5NWx5u5TUByFgouQiQ==", + "dev": true, + "peer": true, + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": "^12.14.1 || >=14.0.0" + } + }, + "node_modules/@angular/compiler/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true, + "peer": true + }, "node_modules/@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", @@ -200,6 +521,103 @@ "kuler": "^2.0.0" } }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", @@ -235,6 +653,12 @@ "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" }, + "node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, "node_modules/@types/long": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", @@ -323,6 +747,252 @@ "@types/node": "*" } }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.2.tgz", + "integrity": "sha512-w63SCQ4bIwWN/+3FxzpnWrDjQRXVEGiTt9tJTRptRXeFvdZc/wLiz3FQUwNQ2CVoRGI6KUWMNUj/pk63noUfcA==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.31.2", + "@typescript-eslint/scope-manager": "4.31.2", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^4.0.0", + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin-tslint": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.31.2.tgz", + "integrity": "sha512-ZagxTSl4V7z0TvE50YqEQO2JjNBZ4pTkjQKocyHhikqGiEPU6nssgkXXU9slH9N+Ca4gLSi68T6T7/syd2/HXQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.31.2", + "lodash": "^4.17.21" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0", + "tslint": "^5.0.0 || ^6.0.0", + "typescript": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.2.tgz", + "integrity": "sha512-3tm2T4nyA970yQ6R3JZV9l0yilE2FedYg8dcXrTar34zC9r6JB7WyBQbpIVongKPlhEMjhQ01qkwrzWy38Bk1Q==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.31.2", + "@typescript-eslint/types": "4.31.2", + "@typescript-eslint/typescript-estree": "4.31.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.31.2.tgz", + "integrity": "sha512-EcdO0E7M/sv23S/rLvenHkb58l3XhuSZzKf6DBvLgHqOYdL6YFMYVtreGFWirxaU2mS1GYDby3Lyxco7X5+Vjw==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.31.2", + "@typescript-eslint/types": "4.31.2", + "@typescript-eslint/typescript-estree": "4.31.2", + "debug": "^4.3.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.31.2.tgz", + "integrity": "sha512-2JGwudpFoR/3Czq6mPpE8zBPYdHWFGL6lUNIGolbKQeSNv4EAiHaR5GVDQaLA0FwgcdcMtRk+SBJbFGL7+La5w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.31.2", + "@typescript-eslint/visitor-keys": "4.31.2" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.31.2.tgz", + "integrity": "sha512-kWiTTBCTKEdBGrZKwFvOlGNcAsKGJSBc8xLvSjSppFO88AqGxGNYtF36EuEYG6XZ9vT0xX8RNiHbQUKglbSi1w==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.2.tgz", + "integrity": "sha512-ieBq8U9at6PvaC7/Z6oe8D3czeW5d//Fo1xkF/s9394VR0bg/UaMYPdARiWyKX+lLEjY3w/FNZJxitMsiWv+wA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.31.2", + "@typescript-eslint/visitor-keys": "4.31.2", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.2.tgz", + "integrity": "sha512-PrBId7EQq2Nibns7dd/ch6S6/M4/iwLM9McbgeEbCXfxdwRUNxJ4UNreJ6Gh3fI2GNKNrWnQxKL7oCPmngKBug==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.31.2", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@ungap/promise-all-settled": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", @@ -354,6 +1024,15 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, "node_modules/acorn-walk": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", @@ -435,6 +1114,15 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -451,6 +1139,15 @@ "node": ">=0.8" } }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/async": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", @@ -537,6 +1234,15 @@ "node": ">=0.10.0" } }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/camelcase": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", @@ -742,6 +1448,20 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -788,6 +1508,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -805,6 +1531,18 @@ "node": ">=0.3.1" } }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/doctrine": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", @@ -838,6 +1576,18 @@ "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -859,6 +1609,250 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/eslint/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -872,6 +1866,57 @@ "node": ">=4" } }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esutils": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", @@ -899,16 +1944,59 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/fecha": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz", "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==" }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -945,6 +2033,19 @@ "flat": "cli.js" } }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, "node_modules/flatted": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", @@ -1014,6 +2115,12 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -1062,6 +2169,50 @@ "node": ">= 6" } }, + "node_modules/globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", @@ -1140,6 +2291,40 @@ "npm": ">=1.3.7" } }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -1316,6 +2501,12 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -1351,6 +2542,19 @@ "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -1366,6 +2570,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -1399,12 +2627,33 @@ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/micromatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", @@ -1549,6 +2798,12 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -1582,6 +2837,23 @@ "fn.name": "1.x.x" } }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -1612,6 +2884,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -1629,12 +2913,30 @@ "node": ">=0.10.0" } }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -1651,11 +2953,29 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -1677,6 +2997,26 @@ "node": ">=0.6" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/quickselect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz", @@ -1731,6 +3071,18 @@ "node": ">=8.10.0" } }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -1793,6 +3145,15 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -1806,6 +3167,63 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/rxjs": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.3.0.tgz", @@ -1865,6 +3283,27 @@ "randombytes": "^2.1.0" } }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -1873,6 +3312,41 @@ "is-arrayish": "^0.3.1" } }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -1986,11 +3460,100 @@ "node": ">=8" } }, + "node_modules/table": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/table/node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, "node_modules/tiny-async-pool": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/tiny-async-pool/-/tiny-async-pool-1.2.0.tgz", @@ -2295,6 +3858,30 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/typescript": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz", @@ -2337,6 +3924,12 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, "node_modules/validator": { "version": "13.6.0", "resolved": "https://registry.npmjs.org/validator/-/validator-13.6.0.tgz", @@ -2445,6 +4038,15 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/workerpool": { "version": "6.1.5", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz", @@ -2585,6 +4187,12 @@ "resolved": "https://registry.npmjs.org/yaassertion/-/yaassertion-1.0.2.tgz", "integrity": "sha512-sBoJBg5vTr3lOpRX0yFD+tz7wv/l2UPMFthag4HGTMPrypBRKerjjS8jiEnNMjcAEtPXjbHiKE0UwRR1W1GXBg==" }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -2694,6 +4302,206 @@ } }, "dependencies": { + "@angular-eslint/eslint-plugin": { + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-12.5.0.tgz", + "integrity": "sha512-BugzzvgghcaxHMvUFQBdu6dwB167CwiTxjIBT9KxIYYm0IY3RUKiyVQDdSs4tcwZqsyWNWuiju4ZfGPNHGjcWw==", + "dev": true, + "requires": { + "@angular-eslint/utils": "12.5.0", + "@typescript-eslint/experimental-utils": "4.28.2" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.2.tgz", + "integrity": "sha512-MwHPsL6qo98RC55IoWWP8/opTykjTp4JzfPu1VfO2Z0MshNP0UZ1GEV5rYSSnZSUI8VD7iHvtIPVGW5Nfh7klQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.2.tgz", + "integrity": "sha512-MqbypNjIkJFEFuOwPWNDjq0nqXAKZvDNNs9yNseoGBB1wYfz1G0WHC2AVOy4XD7di3KCcW3+nhZyN6zruqmp2A==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2" + } + }, + "@typescript-eslint/types": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.2.tgz", + "integrity": "sha512-Gr15fuQVd93uD9zzxbApz3wf7ua3yk4ZujABZlZhaxxKY8ojo448u7XTm/+ETpy0V0dlMtj6t4VdDvdc0JmUhA==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.2.tgz", + "integrity": "sha512-86lLstLvK6QjNZjMoYUBMMsULFw0hPHJlk1fzhAVoNjDBuPVxiwvGuPQq3fsBMCxuDJwmX87tM/AXoadhHRljg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.2.tgz", + "integrity": "sha512-aT2B4PLyyRDUVUafXzpZFoc0C9t0za4BJAKP5sgWIhG+jHECQZUEjuQSCIwZdiJJ4w4cgu5r3Kh20SOdtEBl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "eslint-visitor-keys": "^2.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, + "@angular-eslint/utils": { + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-12.5.0.tgz", + "integrity": "sha512-h3ayDMxndrWRwX4sSe3Xs4QpGz+wIa6cAYtDKGu3H9HPlEacQCkKkTPCDy1d+993iL+9XynWIKuNCK9pX9YHgA==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.28.2" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.2.tgz", + "integrity": "sha512-MwHPsL6qo98RC55IoWWP8/opTykjTp4JzfPu1VfO2Z0MshNP0UZ1GEV5rYSSnZSUI8VD7iHvtIPVGW5Nfh7klQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.2.tgz", + "integrity": "sha512-MqbypNjIkJFEFuOwPWNDjq0nqXAKZvDNNs9yNseoGBB1wYfz1G0WHC2AVOy4XD7di3KCcW3+nhZyN6zruqmp2A==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2" + } + }, + "@typescript-eslint/types": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.2.tgz", + "integrity": "sha512-Gr15fuQVd93uD9zzxbApz3wf7ua3yk4ZujABZlZhaxxKY8ojo448u7XTm/+ETpy0V0dlMtj6t4VdDvdc0JmUhA==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.2.tgz", + "integrity": "sha512-86lLstLvK6QjNZjMoYUBMMsULFw0hPHJlk1fzhAVoNjDBuPVxiwvGuPQq3fsBMCxuDJwmX87tM/AXoadhHRljg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.2.tgz", + "integrity": "sha512-aT2B4PLyyRDUVUafXzpZFoc0C9t0za4BJAKP5sgWIhG+jHECQZUEjuQSCIwZdiJJ4w4cgu5r3Kh20SOdtEBl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "eslint-visitor-keys": "^2.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, + "@angular/compiler": { + "version": "12.2.7", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.2.7.tgz", + "integrity": "sha512-9X7Vrfg6dWfYKPAJLQYR5W7N8WnESg8PG07gNzHZtavETPrDIoX+Av/kQcEdPu14zTZE5NWx5u5TUByFgouQiQ==", + "dev": true, + "peer": true, + "requires": { + "tslib": "^2.2.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true, + "peer": true + } + } + }, "@babel/code-frame": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", @@ -2812,6 +4620,87 @@ "kuler": "^2.0.0" } }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", @@ -2847,6 +4736,12 @@ "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, "@types/long": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", @@ -2935,6 +4830,150 @@ "@types/node": "*" } }, + "@typescript-eslint/eslint-plugin": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.2.tgz", + "integrity": "sha512-w63SCQ4bIwWN/+3FxzpnWrDjQRXVEGiTt9tJTRptRXeFvdZc/wLiz3FQUwNQ2CVoRGI6KUWMNUj/pk63noUfcA==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.31.2", + "@typescript-eslint/scope-manager": "4.31.2", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, + "@typescript-eslint/eslint-plugin-tslint": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.31.2.tgz", + "integrity": "sha512-ZagxTSl4V7z0TvE50YqEQO2JjNBZ4pTkjQKocyHhikqGiEPU6nssgkXXU9slH9N+Ca4gLSi68T6T7/syd2/HXQ==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.31.2", + "lodash": "^4.17.21" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.2.tgz", + "integrity": "sha512-3tm2T4nyA970yQ6R3JZV9l0yilE2FedYg8dcXrTar34zC9r6JB7WyBQbpIVongKPlhEMjhQ01qkwrzWy38Bk1Q==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.31.2", + "@typescript-eslint/types": "4.31.2", + "@typescript-eslint/typescript-estree": "4.31.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.31.2.tgz", + "integrity": "sha512-EcdO0E7M/sv23S/rLvenHkb58l3XhuSZzKf6DBvLgHqOYdL6YFMYVtreGFWirxaU2mS1GYDby3Lyxco7X5+Vjw==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.31.2", + "@typescript-eslint/types": "4.31.2", + "@typescript-eslint/typescript-estree": "4.31.2", + "debug": "^4.3.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.31.2.tgz", + "integrity": "sha512-2JGwudpFoR/3Czq6mPpE8zBPYdHWFGL6lUNIGolbKQeSNv4EAiHaR5GVDQaLA0FwgcdcMtRk+SBJbFGL7+La5w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.31.2", + "@typescript-eslint/visitor-keys": "4.31.2" + } + }, + "@typescript-eslint/types": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.31.2.tgz", + "integrity": "sha512-kWiTTBCTKEdBGrZKwFvOlGNcAsKGJSBc8xLvSjSppFO88AqGxGNYtF36EuEYG6XZ9vT0xX8RNiHbQUKglbSi1w==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.2.tgz", + "integrity": "sha512-ieBq8U9at6PvaC7/Z6oe8D3czeW5d//Fo1xkF/s9394VR0bg/UaMYPdARiWyKX+lLEjY3w/FNZJxitMsiWv+wA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.31.2", + "@typescript-eslint/visitor-keys": "4.31.2", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.31.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.2.tgz", + "integrity": "sha512-PrBId7EQq2Nibns7dd/ch6S6/M4/iwLM9McbgeEbCXfxdwRUNxJ4UNreJ6Gh3fI2GNKNrWnQxKL7oCPmngKBug==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.31.2", + "eslint-visitor-keys": "^2.0.0" + } + }, "@ungap/promise-all-settled": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", @@ -2957,6 +4996,13 @@ "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", "dev": true }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, "acorn-walk": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", @@ -3016,6 +5062,12 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -3029,6 +5081,12 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, "async": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/async/-/async-3.2.1.tgz", @@ -3103,6 +5161,12 @@ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, "camelcase": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", @@ -3274,6 +5338,17 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -3305,6 +5380,12 @@ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -3316,6 +5397,15 @@ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, "doctrine": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", @@ -3346,6 +5436,15 @@ "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -3358,12 +5457,236 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, "esutils": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", @@ -3385,16 +5708,53 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "fecha": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz", "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==" }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -3419,6 +5779,16 @@ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, "flatted": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", @@ -3472,6 +5842,12 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -3508,6 +5884,37 @@ "is-glob": "^4.0.1" } }, + "globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + } + } + }, "graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", @@ -3563,6 +5970,28 @@ "sshpk": "^1.7.0" } }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3700,6 +6129,12 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -3730,6 +6165,16 @@ "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -3739,6 +6184,30 @@ "p-locate": "^5.0.0" } }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -3766,12 +6235,27 @@ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, "micromatch": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", @@ -3877,6 +6361,12 @@ "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", "dev": true }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -3904,6 +6394,20 @@ "fn.name": "1.x.x" } }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -3922,6 +6426,15 @@ "p-limit": "^3.0.2" } }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3933,12 +6446,24 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -3949,11 +6474,23 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -3969,6 +6506,12 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, "quickselect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz", @@ -4019,6 +6562,12 @@ "picomatch": "^2.2.1" } }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -4069,6 +6618,12 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -4079,6 +6634,36 @@ "path-parse": "^1.0.6" } }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, "rxjs": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.3.0.tgz", @@ -4121,6 +6706,21 @@ "randombytes": "^2.1.0" } }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -4129,6 +6729,31 @@ "is-arrayish": "^0.3.1" } }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + } + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -4213,11 +6838,83 @@ "has-flag": "^4.0.0" } }, + "table": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, "text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, "tiny-async-pool": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/tiny-async-pool/-/tiny-async-pool-1.2.0.tgz", @@ -4450,6 +7147,21 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, "typescript": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz", @@ -4479,6 +7191,12 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, "validator": { "version": "13.6.0", "resolved": "https://registry.npmjs.org/validator/-/validator-13.6.0.tgz", @@ -4571,6 +7289,12 @@ } } }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, "workerpool": { "version": "6.1.5", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz", @@ -4680,6 +7404,12 @@ "resolved": "https://registry.npmjs.org/yaassertion/-/yaassertion-1.0.2.tgz", "integrity": "sha512-sBoJBg5vTr3lOpRX0yFD+tz7wv/l2UPMFthag4HGTMPrypBRKerjjS8jiEnNMjcAEtPXjbHiKE0UwRR1W1GXBg==" }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", diff --git a/package.json b/package.json index 9b4aa70..6a1c6e8 100644 --- a/package.json +++ b/package.json @@ -23,9 +23,14 @@ "url": "git+https://github.com/CasperTech/node-metaverse.git" }, "devDependencies": { + "@angular-eslint/eslint-plugin": "^12.5.0", "@types/micromatch": "^4.0.2", "@types/node": "^16.9.6", "@types/uuid": "^8.3.1", + "@typescript-eslint/eslint-plugin": "^4.31.2", + "@typescript-eslint/eslint-plugin-tslint": "^4.31.2", + "@typescript-eslint/parser": "^4.31.2", + "eslint": "^7.32.0", "mocha": "^9.1.1", "source-map-support": "^0.5.20", "ts-node": "^10.2.1", diff --git a/tools/writePacketClasses.js b/tools/writePacketClasses.js index 17e0a65..2c677df 100644 --- a/tools/writePacketClasses.js +++ b/tools/writePacketClasses.js @@ -702,7 +702,7 @@ for (const message of messages) break; case 'U64': case 'S64': - classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos+4));\n'; + classString += spaces + ' newObj' + block.name + '[\'' + param.name + '\'] = new Long(buf.readInt32LE(pos), buf.readInt32LE(pos + 4));\n'; classString += spaces + ' pos += 8;\n'; break; case 'F64': diff --git a/tsconfig.json b/tsconfig.json index ee50c12..5599e5b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -19,7 +19,7 @@ }, "include": [ "lib/**/*.ts", - "examples/**/*.ts" + "examples/**/*.ts", ], "exclude": [ "node_modules" diff --git a/tslint.json b/tslint.json deleted file mode 100644 index 754a020..0000000 --- a/tslint.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "extends": [ - "tslint-eslint-rules" - ], - "rules": { - "callable-types": true, - "class-name": true, - "comment-format": [ - true, - "check-space" - ], - "curly": true, - "eofline": true, - "forin": true, - "import-spacing": true, - "indent": [ - true, - "spaces" - ], - "interface-over-type-literal": true, - "label-position": true, - "max-line-length": [ - true, - 250 - ], - "member-access": false, - "member-ordering": [ - true, - "static-before-instance", - "variables-before-functions" - ], - "no-arg": true, - "no-bitwise": false, - "no-console": [ - true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-construct": true, - "no-debugger": true, - "no-duplicate-variable": true, - "no-empty": false, - "no-empty-interface": true, - "no-eval": true, - "no-inferrable-types": [true, "ignore-params"], - "no-shadowed-variable": true, - "no-string-literal": false, - "no-string-throw": true, - "no-switch-case-fall-through": true, - "no-trailing-whitespace": true, - "no-unused-expression": true, - "no-use-before-declare": true, - "no-var-keyword": true, - "object-literal-sort-keys": false, - "prefer-const": true, - "quotemark": [ - true, - "single" - ], - "radix": true, - "semicolon": [ - "always" - ], - "triple-equals": [ - true, - "allow-null-check" - ], - "brace-style": [ - true, - "allman", - { - "allowSingleLine": true - } - ], - "typedef": [ - true, - "call-signature" - ], - "typedef-whitespace": [ - true, - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - } - ], - "typeof-compare": true, - "unified-signatures": true, - "variable-name": false, - "whitespace": [ - true, - "check-branch", - "check-decl", - "check-operator", - "check-separator", - "check-type" - ], - - "directive-selector": [true, "attribute", "app", "camelCase"], - "component-selector": [true, "element", "app", "kebab-case"], - "use-input-property-decorator": true, - "use-output-property-decorator": true, - "use-host-property-decorator": true, - "no-input-rename": true, - "no-output-rename": true, - "use-life-cycle-interface": true, - "use-pipe-transform-interface": true, - "component-class-suffix": true, - "directive-class-suffix": true, - "no-access-missing-member": true, - "templates-use-public": true, - "invoke-injectable": true - } -}