From d59450f268369aec2480dd4e0899898ee73c24b9 Mon Sep 17 00:00:00 2001 From: cha0s Date: Thu, 4 Feb 2021 18:54:38 -0600 Subject: [PATCH] feat: Item for persea --- packages/core/package.json | 10 + packages/core/src/persea/index.js | 15 + .../core/src/persea/trait-components/item.jsx | 61 ++++ packages/core/src/traits/item.js | 53 +--- packages/core/yarn.lock | 297 +++++++++++++++++- 5 files changed, 390 insertions(+), 46 deletions(-) create mode 100644 packages/core/src/persea/index.js create mode 100644 packages/core/src/persea/trait-components/item.jsx diff --git a/packages/core/package.json b/packages/core/package.json index dab6d82..96d5705 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -14,6 +14,8 @@ "files": [ "index.js", "index.js.map", + "persea.js", + "persea.js.map", "test.js", "test.js.map" ], @@ -41,6 +43,9 @@ "@neutrinojs/copy": "^9.4.0", "@neutrinojs/mocha": "^9.4.0", "@neutrinojs/react": "^9.4.0", + "@persea/core": "^1.0.0", + "@persea/entity": "^1.0.0", + "@persea/json": "^1.0.0", "chai": "4.2.0", "eslint": "^7", "eslint-import-resolver-webpack": "0.13.0", @@ -50,5 +55,10 @@ "source-map-support": "0.5.19", "webpack": "^4", "webpack-cli": "^3" + }, + "peerDependencies": { + "@persea/core": "^1.0.0", + "@persea/entity": "^1.0.0", + "@persea/json": "^1.0.0" } } diff --git a/packages/core/src/persea/index.js b/packages/core/src/persea/index.js new file mode 100644 index 0000000..2792eb8 --- /dev/null +++ b/packages/core/src/persea/index.js @@ -0,0 +1,15 @@ +import {basename, extname} from 'path'; + +import {camelCase} from '@latus/core'; + +export default { + hooks: { + '@persea/entity/trait-components': () => { + const context = require.context('./trait-components', false, /\.jsx$/); + return context.keys().reduce((r, key) => ({ + ...r, + [camelCase(basename(key, extname(key)))]: context(key).default, + }), {}); + }, + }, +}; diff --git a/packages/core/src/persea/trait-components/item.jsx b/packages/core/src/persea/trait-components/item.jsx new file mode 100644 index 0000000..6f3793d --- /dev/null +++ b/packages/core/src/persea/trait-components/item.jsx @@ -0,0 +1,61 @@ +import {join} from 'path'; + +import { + PropTypes, + React, +} from '@latus/react'; +import { + Number, +} from '@persea/core'; +import { + Expressions, +} from '@persea/entity'; +import { + useJsonPatcher, +} from '@persea/json'; + +const Item = ({entity, json, path}) => { + const patch = useJsonPatcher(); + return ( +
+
+
Cooldown
+ +
+
+
Actions
+ +
+
+ ); +}; + +Item.defaultProps = {}; + +Item.displayName = 'Item'; + +Item.propTypes = { + entity: PropTypes.shape({ + context: PropTypes.shape({}), + }).isRequired, + json: PropTypes.shape({ + params: PropTypes.shape({ + cooldown: PropTypes.number, + itemActions: PropTypes.shape({}), + }), + state: PropTypes.shape({ + qty: PropTypes.number, + }), + }).isRequired, + path: PropTypes.string.isRequired, +}; +Item.propTypes = {}; + +export default Item; diff --git a/packages/core/src/traits/item.js b/packages/core/src/traits/item.js index 9ae372f..040213b 100644 --- a/packages/core/src/traits/item.js +++ b/packages/core/src/traits/item.js @@ -23,20 +23,6 @@ export default (latus) => class Item extends decorate(Trait) { this._slotImageUris = {}; } - static behaviorTypes() { - return { - decrementQuantity: { - type: 'void', - label: 'Decrement quantity.', - args: [ - ['qty', { - type: 'number', - }], - ], - }, - }; - } - static defaultParams() { return { cooldown: 0, @@ -56,25 +42,18 @@ export default (latus) => class Item extends decorate(Trait) { }; } - static describeParams() { + static describe() { return { - cooldown: { - type: 'number', - label: 'Cooldown time in seconds', + decrementQuantity: { + type: 'void', + label: 'Decrement quantity.', + args: [ + { + label: 'qty', + type: 'number', + }, + ], }, - itemActions: { - type: 'expressions', - label: 'Actions', - }, - slotImageUris: { - type: 'object', - label: 'Slot images', - }, - }; - } - - static describeState() { - return { qty: { type: 'number', label: 'Quantity', @@ -82,18 +61,6 @@ export default (latus) => class Item extends decorate(Trait) { }; } - // eslint-disable-next-line class-methods-use-this - hooks() { - return { - - contextTypeHints: () => [ - ['item', 'entity'], - ['wielder', 'entity'], - ], - - }; - } - get itemActions() { return this._itemActions; } diff --git a/packages/core/yarn.lock b/packages/core/yarn.lock index 1105b77..8d1e2a4 100644 --- a/packages/core/yarn.lock +++ b/packages/core/yarn.lock @@ -973,7 +973,7 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4": version "7.12.5" resolved "http://npm.cha0sdev/@babel%2fruntime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== @@ -1261,6 +1261,52 @@ babel-merge "^3.0.0" deepmerge "^1.5.2" +"@persea/core@^1.0.0": + version "1.0.0" + resolved "http://npm.cha0sdev/@persea%2fcore/-/core-1.0.0.tgz#eb97a0f355685c0dd89c3a10405ed697f17ba6f9" + integrity sha512-ncdxfBy/NH2CFFHvCNmJf+5mgA8td3BBjTx7I9GF7BhS4q5ceDjpZVU4YAXqVSgPaADqmbMvXY0QW+//d/dNNA== + dependencies: + "@avocado/graphics" "^2.0.0" + "@latus/core" "^2.0.0" + "@latus/react" "^2.0.0" + autoprefixer "^9.8.6" + debug "4.3.1" + express "^4.17.1" + glob "^7.1.6" + lodash.flatten "^4.4.0" + natsort "^2.0.2" + react-hex-editor "^0.3.0" + +"@persea/entity@^1.0.0": + version "1.0.0" + resolved "http://npm.cha0sdev/@persea%2fentity/-/entity-1.0.0.tgz#7a89f236ed2126d2198ce5c0b6751f1ea393cd1b" + integrity sha512-2Txgju9Ckw5IjT5FkIN1Q0ld0v43jykQ2rEKayVD+B35eXRZFwlmqKNsoNSe73IoDmlLxxzwmd2WvIW+2F4bbw== + dependencies: + "@avocado/entity" "^2.0.0" + "@avocado/graphics" "^2.0.0" + "@avocado/math" "^2.0.0" + "@avocado/traits" "^2.0.0" + "@latus/core" "^2.0.0" + "@latus/react" "^2.0.0" + "@latus/redux" "^2.0.0" + "@persea/core" "^1.0.0" + "@persea/json" "^1.0.0" + debug "4.3.1" + react-tabs "^3.1.2" + +"@persea/json@^1.0.0": + version "1.0.0" + resolved "http://npm.cha0sdev/@persea%2fjson/-/json-1.0.0.tgz#972f306739ca381d44f2ac285a58880eaf589073" + integrity sha512-ODzZowjjYx2QevilzSV63CuCR/z8J3wSFmWmHXxUiTdPggiV+FtQpgg4iLE2XsZEjFEmiUaJ10ltczjwnklJZA== + dependencies: + "@avocado/resource" "^2.0.0" + "@latus/react" "^2.0.0" + "@persea/core" "^1.0.0" + autoprefixer "^9.8.6" + debug "4.3.1" + fast-json-patch "^3.0.0-1" + react-syntax-highlighter "^15.4.3" + "@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" @@ -1414,6 +1460,13 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/hast@^2.0.0": + version "2.3.1" + resolved "http://npm.cha0sdev/@types%2fhast/-/hast-2.3.1.tgz#b16872f2a6144c7025f296fb9636a667ebb79cd9" + integrity sha512-viwwrB+6xGzw+G1eWpF9geV3fnsDgXqHG+cqgiHrvQfDUW5hzhCyV7Sy3UJxhfRFBsgky2SSW33qi/YrIkjX5Q== + dependencies: + "@types/unist" "*" + "@types/html-minifier-terser@^5.0.0": version "5.1.1" resolved "http://npm.cha0sdev/@types%2fhtml-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" @@ -1456,6 +1509,11 @@ dependencies: source-map "^0.6.1" +"@types/unist@*": + version "2.0.3" + resolved "http://npm.cha0sdev/@types%2funist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" + integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== + "@types/webpack-sources@*": version "2.1.0" resolved "http://npm.cha0sdev/@types%2fwebpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" @@ -2484,6 +2542,21 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "http://npm.cha0sdev/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== + +character-entities@^1.0.0: + version "1.2.4" + resolved "http://npm.cha0sdev/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== + +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "http://npm.cha0sdev/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== + check-error@^1.0.2: version "1.0.2" resolved "http://npm.cha0sdev/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" @@ -2573,6 +2646,11 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +classnames@^2.2.6: + version "2.2.6" + resolved "http://npm.cha0sdev/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== + clean-css@4.2.x, clean-css@^4.2.3: version "4.2.3" resolved "http://npm.cha0sdev/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" @@ -2588,6 +2666,15 @@ clean-webpack-plugin@^3.0.0: "@types/webpack" "^4.4.31" del "^4.1.1" +clipboard@^2.0.0: + version "2.0.6" + resolved "http://npm.cha0sdev/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376" + integrity sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg== + dependencies: + good-listener "^1.2.2" + select "^1.1.2" + tiny-emitter "^2.0.0" + cliui@^5.0.0: version "5.0.0" resolved "http://npm.cha0sdev/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -2597,6 +2684,11 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +clsx@^1.1.0: + version "1.1.1" + resolved "http://npm.cha0sdev/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" + integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== + code-point-at@^1.0.0: version "1.1.0" resolved "http://npm.cha0sdev/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -2646,6 +2738,11 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +comma-separated-tokens@^1.0.0: + version "1.0.8" + resolved "http://npm.cha0sdev/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" + integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== + commander@2.17.x: version "2.17.1" resolved "http://npm.cha0sdev/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" @@ -3119,6 +3216,11 @@ delayed-stream@~1.0.0: resolved "http://npm.cha0sdev/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +delegate@^3.1.2: + version "3.2.0" + resolved "http://npm.cha0sdev/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" + integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== + delegates@^1.0.0: version "1.0.0" resolved "http://npm.cha0sdev/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -3928,6 +4030,11 @@ fast-deep-equal@^3.1.1: resolved "http://npm.cha0sdev/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== +fast-json-patch@^3.0.0-1: + version "3.0.0-1" + resolved "http://npm.cha0sdev/fast-json-patch/-/fast-json-patch-3.0.0-1.tgz#4c68f2e7acfbab6d29d1719c44be51899c93dabb" + integrity sha512-6pdFb07cknxvPzCeLsFHStEy+MysPJPgZQ9LbQ/2O67unQF93SNqfdSqnPPl71YMHX+AD8gbl7iuoGFzHEdDuw== + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "http://npm.cha0sdev/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -3943,6 +4050,13 @@ fastparse@^1.1.1: resolved "http://npm.cha0sdev/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== +fault@^1.0.0: + version "1.0.4" + resolved "http://npm.cha0sdev/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13" + integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== + dependencies: + format "^0.2.0" + faye-websocket@^0.11.3: version "0.11.3" resolved "http://npm.cha0sdev/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" @@ -4126,6 +4240,11 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" +format@^0.2.0: + version "0.2.2" + resolved "http://npm.cha0sdev/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" + integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs= + forwarded@~0.1.2: version "0.1.2" resolved "http://npm.cha0sdev/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" @@ -4299,7 +4418,7 @@ glob-parent@^5.0.0, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" -glob@7.1.6, glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: +glob@7.1.6, glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: version "7.1.6" resolved "http://npm.cha0sdev/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -4399,6 +4518,13 @@ globule@^1.0.0: lodash "~4.17.10" minimatch "~3.0.2" +good-listener@^1.2.2: + version "1.2.2" + resolved "http://npm.cha0sdev/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" + integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= + dependencies: + delegate "^3.1.2" + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.3: version "4.2.4" resolved "http://npm.cha0sdev/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" @@ -4514,11 +4640,32 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" +hast-util-parse-selector@^2.0.0: + version "2.2.5" + resolved "http://npm.cha0sdev/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" + integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== + +hastscript@^6.0.0: + version "6.0.0" + resolved "http://npm.cha0sdev/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" + integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^1.0.0" + hast-util-parse-selector "^2.0.0" + property-information "^5.0.0" + space-separated-tokens "^1.0.0" + he@1.2.0, he@1.2.x, he@^1.2.0: version "1.2.0" resolved "http://npm.cha0sdev/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +highlight.js@^10.4.1, highlight.js@~10.5.0: + version "10.5.0" + resolved "http://npm.cha0sdev/highlight.js/-/highlight.js-10.5.0.tgz#3f09fede6a865757378f2d9ebdcbc15ba268f98f" + integrity sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw== + hmac-drbg@^1.0.0: version "1.0.1" resolved "http://npm.cha0sdev/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -4903,6 +5050,19 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-alphabetical@^1.0.0: + version "1.0.4" + resolved "http://npm.cha0sdev/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "http://npm.cha0sdev/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-arguments@^1.0.4: version "1.1.0" resolved "http://npm.cha0sdev/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" @@ -4965,6 +5125,11 @@ is-date-object@^1.0.1: resolved "http://npm.cha0sdev/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== +is-decimal@^1.0.0: + version "1.0.4" + resolved "http://npm.cha0sdev/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== + is-descriptor@^0.1.0: version "0.1.6" resolved "http://npm.cha0sdev/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" @@ -5041,6 +5206,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "http://npm.cha0sdev/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== + is-negative-zero@^2.0.1: version "2.0.1" resolved "http://npm.cha0sdev/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" @@ -5290,6 +5460,16 @@ jsprim@^1.2.2: array-includes "^3.1.2" object.assign "^4.1.2" +keycode-js@^2.0.3: + version "2.0.3" + resolved "http://npm.cha0sdev/keycode-js/-/keycode-js-2.0.3.tgz#0ef559be057847aae6c520ce03577f4a12f7e257" + integrity sha512-nGuOQ0zvYQFr0OOBOZS47e/ifsiuNz1pleQIFS+LX+udj3St6AvHpv55MI8DCre6Yg9D2CG/qqWbuAx7iQt9FQ== + +keycoder@^1.1.1: + version "1.1.1" + resolved "http://npm.cha0sdev/keycoder/-/keycoder-1.1.1.tgz#09d7abee7e52b0171722f5bb238e8af885d2b16a" + integrity sha1-Cder7n5SsBcXIvW7I46K+IXSsWo= + killable@^1.0.1: version "1.0.1" resolved "http://npm.cha0sdev/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" @@ -5507,6 +5687,14 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" +lowlight@^1.17.0: + version "1.18.0" + resolved "http://npm.cha0sdev/lowlight/-/lowlight-1.18.0.tgz#cfff11cfb125ca66f1c12cb43d27fff68cbeafa9" + integrity sha512-Zlc3GqclU71HRw5fTOy00zz5EOlqAdKMYhOFIO8ay4SQEDQgFuhR8JNwDIzAGMLoqTsWxe0elUNmq5o2USRAzw== + dependencies: + fault "^1.0.0" + highlight.js "~10.5.0" + lru-cache@^5.1.1: version "5.1.1" resolved "http://npm.cha0sdev/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -5589,6 +5777,11 @@ memfs@3.2.0, memfs@^3.2.0: dependencies: fs-monkey "1.0.1" +"memoize-one@>=3.1.1 <6": + version "5.1.1" + resolved "http://npm.cha0sdev/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" + integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA== + memory-fs@^0.2.0: version "0.2.0" resolved "http://npm.cha0sdev/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" @@ -5893,6 +6086,11 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +natsort@^2.0.2: + version "2.0.2" + resolved "http://npm.cha0sdev/natsort/-/natsort-2.0.2.tgz#3358b7af00f155c8ce181289ede79e18d81e6c52" + integrity sha512-McY0uA4rDU7GkkoQ1oU8bH9P13onCIrPWxpOjlt792ccFZFkenFm29AHyRCdhbbbfhPfTsjTDagBqjpphD3R7Q== + natural-compare@^1.4.0: version "1.4.0" resolved "http://npm.cha0sdev/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -6403,6 +6601,18 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-entities@^2.0.0: + version "2.0.0" + resolved "http://npm.cha0sdev/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" + integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + parse-json@^2.2.0: version "2.2.0" resolved "http://npm.cha0sdev/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -6719,6 +6929,13 @@ pretty-error@^2.1.1: lodash "^4.17.20" renderkid "^2.0.4" +prismjs@^1.22.0, prismjs@~1.23.0: + version "1.23.0" + resolved "http://npm.cha0sdev/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33" + integrity sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA== + optionalDependencies: + clipboard "^2.0.0" + private@~0.1.5: version "0.1.8" resolved "http://npm.cha0sdev/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -6744,7 +6961,7 @@ promise-inflight@^1.0.1: resolved "http://npm.cha0sdev/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= -prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.5.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "http://npm.cha0sdev/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -6753,6 +6970,13 @@ prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" +property-information@^5.0.0: + version "5.6.0" + resolved "http://npm.cha0sdev/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" + integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== + dependencies: + xtend "^4.0.0" + proxy-addr@^2.0.6, proxy-addr@~2.0.5: version "2.0.6" resolved "http://npm.cha0sdev/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" @@ -6903,6 +7127,17 @@ react-dom@^16.14.0: prop-types "^15.6.2" scheduler "^0.19.1" +react-hex-editor@^0.3.0: + version "0.3.0" + resolved "http://npm.cha0sdev/react-hex-editor/-/react-hex-editor-0.3.0.tgz#4133715faa9eb46ea3f373ec0c81a2e379fe6575" + integrity sha512-LnmNYK4OKDb4tgPGkC4j4ASwN1PRPvXy6cxlDawJnggAjp9eohtR728ohVkWolr/U67XgPH3657zmzoRg2WUFQ== + dependencies: + classnames "^2.2.6" + keycode-js "^2.0.3" + keycoder "^1.1.1" + react-virtualized-auto-sizer "^1.0.2" + react-window "^1.8.5" + react-hot-loader@^4.13.0: version "4.13.0" resolved "http://npm.cha0sdev/react-hot-loader/-/react-hot-loader-4.13.0.tgz#c27e9408581c2a678f5316e69c061b226dc6a202" @@ -6938,6 +7173,38 @@ react-redux@^7.2.2: prop-types "^15.7.2" react-is "^16.13.1" +react-syntax-highlighter@^15.4.3: + version "15.4.3" + resolved "http://npm.cha0sdev/react-syntax-highlighter/-/react-syntax-highlighter-15.4.3.tgz#fffe3286677ac470b963b364916d16374996f3a6" + integrity sha512-TnhGgZKXr5o8a63uYdRTzeb8ijJOgRGe0qjrE0eK/gajtdyqnSO6LqB3vW16hHB0cFierYSoy/AOJw8z1Dui8g== + dependencies: + "@babel/runtime" "^7.3.1" + highlight.js "^10.4.1" + lowlight "^1.17.0" + prismjs "^1.22.0" + refractor "^3.2.0" + +react-tabs@^3.1.2: + version "3.1.2" + resolved "http://npm.cha0sdev/react-tabs/-/react-tabs-3.1.2.tgz#9047ad7d8a53d357a67c14ad4c4a64cc16660fa8" + integrity sha512-OKS1l7QzSNcn+L2uFsxyGFHdXp9YsPGf/YOURWcImp7xLN36n0Wz+/j9HwlwGtlXCZexwshScR5BrcFbw/3P9Q== + dependencies: + clsx "^1.1.0" + prop-types "^15.5.0" + +react-virtualized-auto-sizer@^1.0.2: + version "1.0.4" + resolved "http://npm.cha0sdev/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.4.tgz#2b83adb5ecdee8dcb33784e96ee0074eb5369665" + integrity sha512-fdrY0ZX4Ywv0IIYPY/grQXcVQ44OLOsftl2u81coKe2Ga1wT3ps4JXaeu1JdlfjQxDI5BVsWjZQbpzmjmtI7Qw== + +react-window@^1.8.5: + version "1.8.6" + resolved "http://npm.cha0sdev/react-window/-/react-window-1.8.6.tgz#d011950ac643a994118632665aad0c6382e2a112" + integrity sha512-8VwEEYyjz6DCnGBsd+MgkD0KJ2/OXFULyDtorIiTz+QzwoP94tBoA7CnbtyXMm+cCeAUER5KJcPtWl9cpKbOBg== + dependencies: + "@babel/runtime" "^7.0.0" + memoize-one ">=3.1.1 <6" + react@^16.14.0: version "16.14.0" resolved "http://npm.cha0sdev/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" @@ -7055,6 +7322,15 @@ redux@^4.0.0, redux@^4.0.5: loose-envify "^1.4.0" symbol-observable "^1.2.0" +refractor@^3.2.0: + version "3.3.1" + resolved "http://npm.cha0sdev/refractor/-/refractor-3.3.1.tgz#ebbc04b427ea81dc25ad333f7f67a0b5f4f0be3a" + integrity sha512-vaN6R56kLMuBszHSWlwTpcZ8KTMG6aUCok4GrxYDT20UIOXxOc5o6oDc8tNTzSlH3m2sI+Eu9Jo2kVdDcUTWYw== + dependencies: + hastscript "^6.0.0" + parse-entities "^2.0.0" + prismjs "~1.23.0" + regenerate-unicode-properties@^8.2.0: version "8.2.0" resolved "http://npm.cha0sdev/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" @@ -7386,6 +7662,11 @@ select-hose@^2.0.0: resolved "http://npm.cha0sdev/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= +select@^1.1.2: + version "1.1.2" + resolved "http://npm.cha0sdev/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" + integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= + selfsigned@^1.10.8: version "1.10.8" resolved "http://npm.cha0sdev/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" @@ -7729,6 +8010,11 @@ source-map@^0.7.3: resolved "http://npm.cha0sdev/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== +space-separated-tokens@^1.0.0: + version "1.1.5" + resolved "http://npm.cha0sdev/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" + integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== + spdx-correct@^3.0.0: version "3.1.1" resolved "http://npm.cha0sdev/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" @@ -8129,6 +8415,11 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +tiny-emitter@^2.0.0: + version "2.1.0" + resolved "http://npm.cha0sdev/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" + integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== + to-arraybuffer@^1.0.0: version "1.0.1" resolved "http://npm.cha0sdev/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"