feat: interactive/initiator, dialog

This commit is contained in:
cha0s 2021-02-16 00:08:54 -06:00
parent 291281b701
commit 212911fb54
11 changed files with 479 additions and 12 deletions

View File

@ -20,6 +20,7 @@
"dependencies": {
"@avocado/traits": "^2.0.0",
"@latus/core": "^2.0.0",
"@latus/socket": "^2.0.0",
"debug": "4.3.1",
"lodash.get": "^4.4.2",
"lodash.set": "^4.3.2",

View File

@ -1,4 +1,4 @@
import {gatherWithLatus} from '@latus/core';
import {decorateWithLatus, gatherWithLatus} from '@latus/core';
import dialogFunctions from './dialog-functions';
import parse from './parser';
@ -7,6 +7,9 @@ import wordize from './wordize';
export default {
hooks: {
'@avocado/dialog/functions': dialogFunctions,
'@avocado/traits/traits.decorate': decorateWithLatus(
require.context('./traits/decorators', false, /\.js$/),
),
'@avocado/traits/traits': gatherWithLatus(
require.context('./traits', false, /\.js$/),
),
@ -24,5 +27,8 @@ export default {
};
});
},
'@latus/socket/packets': gatherWithLatus(
require.context('./packets', false, /\.js$/),
),
},
};

View File

@ -0,0 +1,11 @@
import {Packet} from '@latus/socket';
export default () => class OpenDialogPacket extends Packet {
static get data() {
return {
text: 'string',
};
}
};

View File

@ -0,0 +1,96 @@
export default (Trait, latus) => class DialogInitiator extends Trait {
#open = [];
#dialogs = [];
acceptPacket(packet) {
if ('OpenDialog' === packet.constructor.type) {
this.entity.openDialog(packet.data.text);
}
}
cleanPackets() {
this.#dialogs = [];
}
hooks() {
const {acceptAction} = super.hooks();
return {
acceptAction: ({action, value}) => {
acceptAction({action, value});
if ('Interact' === action && value) {
if (this.#open.length > 0) {
this.#open[0].skip();
return false;
}
}
return undefined;
},
};
}
methods() {
return {
...super.methods(),
openDialog: async (text) => {
if ('client' === process.env.SIDE) {
const {Entity} = latus.get('%resources');
if (!this.entity.list) {
return;
}
const dialog = await Entity.load({
traits: {
Dialog: {
params: {},
},
Textual: {
state: {
text,
},
},
Perishable: {
params: {
ttl: 7,
},
},
Positioned: {
state: {
x: this.entity.position[0],
y: this.entity.position[1],
},
},
},
});
this.#open.push(dialog);
dialog.once('destroying', () => {
const index = this.#open.indexOf(dialog);
if (-1 !== index) {
this.#open.splice(index, 1);
}
});
this.entity.list.addEntity(dialog);
}
else {
this.#dialogs.push({
text,
});
this.markAsDirty();
}
},
};
}
packets(informed) {
return super.packets(informed).concat(
informed === this.entity
? this.#dialogs.map((dialog) => ['OpenDialog', dialog])
: [],
);
}
};

View File

@ -57,26 +57,36 @@ export default (latus) => class Dialog extends Trait {
}
}
methods() {
return {
skip: () => {
if (this.#nextLetter === Infinity) {
this.entity.destroy();
return;
}
for (let i = 0; i < this.#letters.length; ++i) {
this.#letters[i].opacity = 1;
}
this.#nextLetter = Infinity;
},
};
}
showThisLetter() {
const letter = this.#letters[this.#thisLetter];
this.#nextLetter += letter.rate;
letter.opacity = 1;
}
skip() {
for (let i = 0; i < this.#letters.length; ++i) {
this.#letters[i].opacity = 1;
}
this.#nextLetter = Infinity;
}
tick(elapsed) {
if ('client' === process.env.SIDE) {
this.#nextLetter -= elapsed;
if (this.#nextLetter <= 0) {
this.#thisLetter += 1;
if (this.#thisLetter >= this.#letters.length) {
this.skip();
this.#nextLetter = Infinity;
return;
}
this.showThisLetter();

View File

@ -999,7 +999,7 @@
react-hot-loader "^4.13.0"
sass-loader "^10.1.0"
"@latus/socket@2.0.0":
"@latus/socket@2.0.0", "@latus/socket@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@latus%2fsocket/-/socket-2.0.0.tgz#da384daea0f227a0fa239afedde31117a82dbb0c"
integrity sha512-BOnQSiFXpBMtTqLgdUAlyoxTlR4J0sKMnhSh1IVSzqYPeR/apvMAaadjApSyGPWLyl+sq5119ATg2YuWUnqc1g==

View File

@ -20,6 +20,9 @@
"test.js.map"
],
"dependencies": {
"@avocado/behavior": "^2.0.0",
"@avocado/math": "^2.0.0",
"@avocado/timing": "^2.0.0",
"@avocado/traits": "^2.0.0",
"@latus/core": "2.0.0",
"@latus/socket": "2.0.0",

View File

@ -19,6 +19,12 @@ export default () => class Controllable extends Trait {
};
}
static dependencies() {
return [
'Initiator',
];
}
destroy() {
this.#actionRegistry.stopListening();
}
@ -66,7 +72,6 @@ export default () => class Controllable extends Trait {
if ('client' === process.env.SIDE) {
const drained = this.#actionRegistry.drain();
this.entity.acceptActionStream(drained);
this.#queued.push(...drained);
}
}

View File

@ -0,0 +1,65 @@
/* eslint-disable no-unused-vars */
import {buildInvoke} from '@avocado/behavior';
import {Rectangle, Vector} from '@avocado/math';
import {Ticker} from '@avocado/timing';
import {Trait} from '@avocado/traits';
export default () => class Initiator extends Trait {
#ticker = new Ticker(0.25);
#target;
constructor() {
super();
this.#ticker.on('tick', this.determineTarget, this);
}
static dependencies() {
return [
'Directional',
'Positioned',
];
}
determineTarget() {
const interactives = this.entity.list.queryEntities(
Rectangle.centerOn(
Vector.add(
this.entity.position,
Vector.directionalProjection(this.entity.direction, [0, 8]),
),
[16, 16],
),
buildInvoke(['query', 'is'], ['Interactive']),
);
if (interactives.length > 0) {
// TODO sort distance
[this.#target] = interactives;
}
else {
this.#target = undefined;
}
}
hooks() {
return {
acceptAction: ({action, value}) => {
if ('client' !== process.env.SIDE) {
if ('Interact' === action && value) {
if (this.#target) {
this.#target.interact(this.entity);
}
}
}
},
};
}
tick(elapsed) {
this.#ticker.tick(elapsed);
}
};

View File

@ -0,0 +1,41 @@
import {
Actions,
buildExpressions,
compile,
Context,
} from '@avocado/behavior';
import {Trait} from '@avocado/traits';
export default (latus) => class Interactive extends Trait {
#actions;
static defaultParams() {
return {
actions: buildExpressions([]),
};
}
async load(json) {
await super.load(json);
this.#actions = new Actions(compile(this.params.actions, latus));
}
methods() {
return {
interact: (initiator) => {
const context = new Context(
{
entity: this.entity,
initiator,
},
latus,
);
this.entity.addTickingPromise(this.#actions.serial(context));
},
};
}
};

View File

@ -2,6 +2,19 @@
# yarn lockfile v1
"@avocado/behavior@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@avocado%2fbehavior/-/behavior-2.0.0.tgz#875a3fa4498476c82063495069c53cad12f4f3c5"
integrity sha512-WymGaQGK/nM7yvzyWkzSHdlaqi71T6PxLE6UT+ZwcucMR8CBFIjEzTAP5C6WvUxSib1VRuF+s+q6e/DEsyb1dQ==
dependencies:
"@avocado/core" "2.0.0"
"@avocado/traits" "^2.0.0"
"@latus/core" "2.0.0"
autoprefixer "^9.8.6"
debug "4.3.1"
deepmerge "^4.2.2"
lodash.mapvalues "^4.6.0"
"@avocado/core@2.0.0", "@avocado/core@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@avocado%2fcore/-/core-2.0.0.tgz#c18b0f64e4503c1a9dec67586f7ebf9bda5d129e"
@ -10,7 +23,53 @@
autoprefixer "^9.8.6"
debug "4.3.1"
"@avocado/resource@^2.0.0":
"@avocado/graphics@2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@avocado%2fgraphics/-/graphics-2.0.0.tgz#c881ce2e1d4ace9763d367fa81ac2487ea9931b3"
integrity sha512-zLPglQ5J4rE7zN1qPyfecWtkov/LkW7J0abkb6YUk2fsB6ccMZ23737VyjW6N4/xL+ZtXAqaElMZ9khFSUEPpg==
dependencies:
"@avocado/core" "2.0.0"
"@avocado/input" "2.0.0"
"@avocado/math" "2.0.0"
"@avocado/resource" "2.0.0"
"@avocado/traits" "^2.0.0"
"@latus/core" "^2.0.0"
"@latus/socket" "2.0.0"
"@pixi/constants" "^5.3.6"
"@pixi/core" "^5.3.6"
"@pixi/display" "^5.3.6"
"@pixi/filter-advanced-bloom" "^3.2.0"
"@pixi/filter-color-matrix" "^5.3.6"
"@pixi/graphics" "^5.3.6"
"@pixi/settings" "^5.3.6"
"@pixi/sprite" "^5.3.6"
"@pixi/text" "^5.3.6"
autoprefixer "^9.8.6"
debug "4.3.1"
image-size "^0.9.3"
"@avocado/input@2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@avocado%2finput/-/input-2.0.0.tgz#0a4cc8e933af72480a900c592a5025d117deea4f"
integrity sha512-aTbLXYM8JdFaD8CrMb4747BmRpxPucECoQcznlAW/ulndIRGhGBaSkDa6OwHa9oH7KfaL5Dcnu4EWaOAKkTcXA==
dependencies:
"@latus/core" "2.0.0"
"@latus/socket" "2.0.0"
autoprefixer "^9.8.6"
debug "4.3.1"
"@avocado/math@2.0.0", "@avocado/math@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@avocado%2fmath/-/math-2.0.0.tgz#0c2c0b2665b6ab65696824f49382b294fd0cb30d"
integrity sha512-5Bfd85WFgXqnKtW7cEsLynHyx0uhgvmKKvOhC8fnf25nOXOx46RG5cw05PVUKAEYd6VBzbLUF4P8oo7n7hVfpQ==
dependencies:
"@avocado/core" "2.0.0"
"@latus/core" "^2.0.0"
autoprefixer "^9.8.6"
d3-quadtree "^2.0.0"
debug "4.3.1"
"@avocado/resource@2.0.0", "@avocado/resource@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@avocado%2fresource/-/resource-2.0.0.tgz#3ec04329d6e1357f67a956fca48062dcbb7107e1"
integrity sha512-V7PZsouL6rpAhTcSoyVIxZBiijFN++BDHfxwbDxiA1IaZ8ur2Af77IlsRoZhgihY2PDp3p1hypL24HJUJ2WQ9Q==
@ -34,6 +93,22 @@
debug "4.3.1"
msgpack-lite "^0.1.26"
"@avocado/timing@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@avocado%2ftiming/-/timing-2.0.0.tgz#fb804113c0449187dfea7329c35b61cb1c34d88a"
integrity sha512-w1lsuvFWM+jIOfAADdA1NNjhdZVm1A7O4RJ73w+IXnVh7hactdYHRCqbV8IIdzmmDFFsptFsYqUVyolq6VHK2w==
dependencies:
"@avocado/core" "2.0.0"
"@avocado/graphics" "2.0.0"
"@avocado/math" "2.0.0"
"@avocado/resource" "2.0.0"
"@avocado/traits" "^2.0.0"
"@latus/core" "2.0.0"
"@latus/socket" "2.0.0"
autoprefixer "^9.8.6"
debug "4.3.1"
lodash.mapvalues "^4.6.0"
"@avocado/traits@^2.0.0":
version "2.0.0"
resolved "http://npm.cha0sdev/@avocado%2ftraits/-/traits-2.0.0.tgz#f31b45d27491a5e502f0ad119672cc7b0b4a627b"
@ -1164,6 +1239,121 @@
babel-merge "^3.0.0"
deepmerge "^1.5.2"
"@pixi/constants@5.3.7", "@pixi/constants@^5.3.6":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2fconstants/-/constants-5.3.7.tgz#a2e1789a98deb3713cfcb3eba3db84588bc9161e"
integrity sha512-MBcgIM/mSqonFezkCI9080IqNlc0wb8S9QJ5otBdseOWUQa/ua2jF7Jd1sCBGmi0IzS9/NOHFXzZVTdS7AC7Ow==
"@pixi/core@5.3.7", "@pixi/core@^5.3.6":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2fcore/-/core-5.3.7.tgz#a8d65ca17f0c4ef8c0c5a22d31b9e02a4ab73b93"
integrity sha512-WBhU2f5aJSVVaFP55FFBFKjKlRf5fYGxgA/U3kD4yD4Y3d3d6V3MIZv+o0VX+kBs1Eq7ePZqEv2smDrlzzMEjQ==
dependencies:
"@pixi/constants" "5.3.7"
"@pixi/math" "5.3.7"
"@pixi/runner" "5.3.7"
"@pixi/settings" "5.3.7"
"@pixi/ticker" "5.3.7"
"@pixi/utils" "5.3.7"
"@pixi/display@5.3.7", "@pixi/display@^5.3.6":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2fdisplay/-/display-5.3.7.tgz#b661d2ecfd2a67f213665a0698acd29e17eee8fe"
integrity sha512-ma1JyLe5vaEgmaOR+anvj5YOKqT9OEWnboIe7NVmwGF1CZ7JFnB12rsRulHUsSaFG9bP5xjvroAZjFg/WvyGLw==
dependencies:
"@pixi/math" "5.3.7"
"@pixi/settings" "5.3.7"
"@pixi/utils" "5.3.7"
"@pixi/filter-advanced-bloom@^3.2.0":
version "3.2.0"
resolved "http://npm.cha0sdev/@pixi%2ffilter-advanced-bloom/-/filter-advanced-bloom-3.2.0.tgz#c345adebf6605d814fb7ff8fda2292ed3d04ec01"
integrity sha512-t5WlbFGewxYQ8biRsgQCW/j7vNwQxYVDv3DpHJ7PghNdYlD2OKQ7b6bgcUzFQcsbJ2fm/8e+dSKI17zCK5idMg==
dependencies:
"@pixi/filter-kawase-blur" "3.2.0"
"@pixi/filter-color-matrix@^5.3.6":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2ffilter-color-matrix/-/filter-color-matrix-5.3.7.tgz#230cafe46bde36e25441b13f3ac5dd8e8fee4311"
integrity sha512-Z12cxoHx9uMh3CZ0PLVRzsaFHHF/CfU3J83KI9k+Bg/DFOh/J/5EToCd44jYJbMKp3nvXcO1EJyZ3wwC/IsyfQ==
dependencies:
"@pixi/core" "5.3.7"
"@pixi/filter-kawase-blur@3.2.0":
version "3.2.0"
resolved "http://npm.cha0sdev/@pixi%2ffilter-kawase-blur/-/filter-kawase-blur-3.2.0.tgz#f3fe6e3c17d191ae353959768c1170e85b2ad1dc"
integrity sha512-IO1UKn/XLvnV+ya4r1UOC9fTfXZjWvH9m6eQ/U+moBsQN5I5FihQfXCu586X4jb9VHNu3gFl7SUzirobhBfgtA==
"@pixi/graphics@^5.3.6":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2fgraphics/-/graphics-5.3.7.tgz#36ae80e2508e0a9c61ce454807d517d370d90a74"
integrity sha512-+6+bT/AC29a1Hw5XDxsH1UqBsXSqcna7wNTTrBQ02owotIJtyRc6w48f5qxzhxycumyVCR87IV5tAtdwX3xhag==
dependencies:
"@pixi/constants" "5.3.7"
"@pixi/core" "5.3.7"
"@pixi/display" "5.3.7"
"@pixi/math" "5.3.7"
"@pixi/sprite" "5.3.7"
"@pixi/utils" "5.3.7"
"@pixi/math@5.3.7":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2fmath/-/math-5.3.7.tgz#066e7ea149fd38db8d8a9584aac5f41d02b36bdd"
integrity sha512-WnjUwX7rkxR36F0xknpsNd9BsfQosV0BbyFE0Il88IURBM3Tu9X4tC7RGJDgWU+aXw23HgHu0j+MWJrCVCM2fA==
"@pixi/runner@5.3.7":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2frunner/-/runner-5.3.7.tgz#78ed2c92b392b8c099d2e4557dded7faa921446b"
integrity sha512-kt5apNb21HAvpBaDaPRs33k2O0VzrKe13w4we8iftCpXX8w68ErAY1lH68vmtDNrxnlHg4M9nRgEoMeiHlo2RA==
"@pixi/settings@5.3.7", "@pixi/settings@^5.3.6":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2fsettings/-/settings-5.3.7.tgz#b661883231bf2a1ff5260c214bd0c4b438759841"
integrity sha512-g6AoRSGWxU34gtKSQwX2AMQoLUv86L/5iIXRsqo+X4bfUSCenTci1X7ueVrSIbo39dxh6IOpriZF2Yk3TeHG5w==
dependencies:
ismobilejs "^1.1.0"
"@pixi/sprite@5.3.7", "@pixi/sprite@^5.3.6":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2fsprite/-/sprite-5.3.7.tgz#c6edf3d4a9928868696b62e35a60ded27d167058"
integrity sha512-Bjl+NOOvigEzUsm1cDr1KmBUpPSWO8pDXpUPTi+v2N75gwRfTycmj5f2TU0QmMW3Gc6sv0CB0AkL7dkMPwPb8g==
dependencies:
"@pixi/constants" "5.3.7"
"@pixi/core" "5.3.7"
"@pixi/display" "5.3.7"
"@pixi/math" "5.3.7"
"@pixi/settings" "5.3.7"
"@pixi/utils" "5.3.7"
"@pixi/text@^5.3.6":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2ftext/-/text-5.3.7.tgz#cb71b2576bdc1f66fb79977d281f9575dd06d3d5"
integrity sha512-WVAc31MDgHTvP0dJNWsvLVJhjeVGZ3NrLpHcH9iIAd6HVO5Z+i+fk4zvodD+Y7jWU0psx8ZD8xe1wy8ECfbCBA==
dependencies:
"@pixi/core" "5.3.7"
"@pixi/math" "5.3.7"
"@pixi/settings" "5.3.7"
"@pixi/sprite" "5.3.7"
"@pixi/utils" "5.3.7"
"@pixi/ticker@5.3.7":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2fticker/-/ticker-5.3.7.tgz#c331b270042d507fe18543ae435a9a857a8fd5ae"
integrity sha512-ZEXiJwPtuPeWa0QmRODF5qK0+ugZu/xeq7QxCvFOCc3NFVBeGms4g92HPucOju9R7jcODIoJxtICALsuwLAr9w==
dependencies:
"@pixi/settings" "5.3.7"
"@pixi/utils@5.3.7":
version "5.3.7"
resolved "http://npm.cha0sdev/@pixi%2futils/-/utils-5.3.7.tgz#55fe2a2fbf0fba842da5a602576ce68c498e7e16"
integrity sha512-f8zAeHHURxfwBr8MZiXEIwY2h9wbS6vN0ypvapGvKFOexZ1EInTs35FhEiRWzLEPLHyn1RgCdKzR2zl++E4tIw==
dependencies:
"@pixi/constants" "5.3.7"
"@pixi/settings" "5.3.7"
earcut "^2.1.5"
eventemitter3 "^3.1.0"
url "^0.11.0"
"@types/anymatch@*":
version "1.3.1"
resolved "http://npm.cha0sdev/@types%2fanymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a"
@ -2743,6 +2933,11 @@ cyclist@^1.0.1:
resolved "http://npm.cha0sdev/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
d3-quadtree@^2.0.0:
version "2.0.0"
resolved "http://npm.cha0sdev/d3-quadtree/-/d3-quadtree-2.0.0.tgz#edbad045cef88701f6fee3aee8e93fb332d30f9d"
integrity sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==
damerau-levenshtein@^1.0.6:
version "1.0.6"
resolved "http://npm.cha0sdev/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791"
@ -3056,6 +3251,11 @@ duplexify@^3.4.2, duplexify@^3.6.0:
readable-stream "^2.0.0"
stream-shift "^1.0.0"
earcut@^2.1.5:
version "2.2.2"
resolved "http://npm.cha0sdev/earcut/-/earcut-2.2.2.tgz#41b0bc35f63e0fe80da7cddff28511e7e2e80d11"
integrity sha512-eZoZPPJcUHnfRZ0PjLvx2qBordSiO8ofC3vt+qACLM95u+4DovnbYNpQtJh0DNsWj8RnxrQytD4WA8gj5cRIaQ==
ecc-jsbn@~0.1.1:
version "0.1.2"
resolved "http://npm.cha0sdev/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
@ -3548,6 +3748,11 @@ event-lite@^0.1.1:
resolved "http://npm.cha0sdev/event-lite/-/event-lite-0.1.2.tgz#838a3e0fdddef8cc90f128006c8e55a4e4e4c11b"
integrity sha512-HnSYx1BsJ87/p6swwzv+2v6B4X+uxUteoDfRxsAb1S1BePzQqOLevVmkdA15GHJVd9A9Ok6wygUR18Hu0YeV9g==
eventemitter3@^3.1.0:
version "3.1.2"
resolved "http://npm.cha0sdev/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==
eventemitter3@^4.0.0:
version "4.0.7"
resolved "http://npm.cha0sdev/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
@ -4510,6 +4715,13 @@ ignore@^4.0.6:
resolved "http://npm.cha0sdev/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
image-size@^0.9.3:
version "0.9.3"
resolved "http://npm.cha0sdev/image-size/-/image-size-0.9.3.tgz#f7efce6b0a1649b44b9bc43b9d9a5acf272264b6"
integrity sha512-5SakFa79uhUVSjKeQE30GVzzLJ0QNzB53+I+/VD1vIesD6GP6uatWIlgU0uisFNLt1u0d6kBydp7yfk+lLJhLQ==
dependencies:
queue "6.0.1"
import-cwd@^2.0.0:
version "2.1.0"
resolved "http://npm.cha0sdev/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
@ -4904,6 +5116,11 @@ isexe@^2.0.0:
resolved "http://npm.cha0sdev/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
ismobilejs@^1.1.0:
version "1.1.1"
resolved "http://npm.cha0sdev/ismobilejs/-/ismobilejs-1.1.1.tgz#c56ca0ae8e52b24ca0f22ba5ef3215a2ddbbaa0e"
integrity sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==
isobject@^2.0.0:
version "2.1.0"
resolved "http://npm.cha0sdev/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
@ -5184,6 +5401,11 @@ lodash.get@^4.4.2:
resolved "http://npm.cha0sdev/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
lodash.mapvalues@^4.6.0:
version "4.6.0"
resolved "http://npm.cha0sdev/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c"
integrity sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=
lodash.omit@^4.5.0:
version "4.5.0"
resolved "http://npm.cha0sdev/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60"
@ -6592,6 +6814,13 @@ querystringify@^2.1.1:
resolved "http://npm.cha0sdev/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
queue@6.0.1:
version "6.0.1"
resolved "http://npm.cha0sdev/queue/-/queue-6.0.1.tgz#abd5a5b0376912f070a25729e0b6a7d565683791"
integrity sha512-AJBQabRCCNr9ANq8v77RJEv73DPbn55cdTb+Giq4X0AVnNVZvMHlYp7XlQiN+1npCZj1DuSmaA2hYVUUDgxFDg==
dependencies:
inherits "~2.0.3"
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
version "2.1.0"
resolved "http://npm.cha0sdev/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"