From b460883bd95d57251304cd94fcd0e15d96b9ea28 Mon Sep 17 00:00:00 2001 From: cha0s Date: Wed, 27 Jan 2021 12:41:45 -0600 Subject: [PATCH] refactor: json++ --- .../entity/src/trait-renderers/emitted.jsx | 75 +++++-- .../src/trait-renderers/emitter/particle.jsx | 12 +- .../entity/src/trait-renderers/existent.jsx | 14 +- packages/json/package.json | 2 +- packages/json/src/hooks/use-json-patcher.js | 22 +-- .../json/src/resource-controllers/json.jsx | 38 +++- .../json/src/resource-controllers/json.scss | 10 + packages/json/yarn.lock | 187 +----------------- 8 files changed, 138 insertions(+), 222 deletions(-) create mode 100644 packages/json/src/resource-controllers/json.scss diff --git a/packages/entity/src/trait-renderers/emitted.jsx b/packages/entity/src/trait-renderers/emitted.jsx index 296539a..ce85797 100644 --- a/packages/entity/src/trait-renderers/emitted.jsx +++ b/packages/entity/src/trait-renderers/emitted.jsx @@ -26,7 +26,10 @@ const Emitted = memo(({json, path}) => { Start { - patch(join(path, 'params/alpha'), json.params.alpha, 'start', value); + patch({ + path: join(path, 'params/alpha/start'), + value, + }); }} range={json.params.alpha.start} /> @@ -35,7 +38,10 @@ const Emitted = memo(({json, path}) => { End { - patch(join(path, 'params/alpha'), json.params.alpha, 'end', value); + patch({ + path: join(path, 'params/alpha/end'), + value, + }); }} range={json.params.alpha.end} /> @@ -45,7 +51,10 @@ const Emitted = memo(({json, path}) => { Force { - patch(join(path, 'params'), json.params, 'force', value); + patch({ + path: join(path, 'params/force'), + value, + }); }} range={json.params.force} /> @@ -54,7 +63,10 @@ const Emitted = memo(({json, path}) => { Mass { - patch(join(path, 'params'), json.params, 'mass', value); + patch({ + path: join(path, 'params/mass'), + value, + }); }} value={json.params.mass} /> @@ -69,12 +81,10 @@ const Emitted = memo(({json, path}) => { checked={!hasSelfPosition} onChange={(event) => { const hasSelfPosition = !event.target.checked; - patch( - join(path, 'params'), - json.params, - 'position', - hasSelfPosition ? [0, 0] : null, - ); + patch({ + path: join(path, 'params/position'), + value: hasSelfPosition ? [0, 0] : null, + }); setHasSelfPosition(hasSelfPosition); }} /> @@ -82,7 +92,10 @@ const Emitted = memo(({json, path}) => { {hasSelfPosition && ( { - patch(join(path, 'params'), json.params, 'position', value); + patch({ + path: join(path, 'params/position'), + value, + }); }} range={json.params.position} /> @@ -92,7 +105,10 @@ const Emitted = memo(({json, path}) => { Starting rotation { - patch(join(path, 'params/rotation'), json.params.rotation, 'start', value); + patch({ + path: join(path, 'params/rotation/start'), + value, + }); }} range={json.params.rotation.start} /> @@ -101,7 +117,10 @@ const Emitted = memo(({json, path}) => { Rotation to add { - patch(join(path, 'params/rotation'), json.params.rotation, 'end', value); + patch({ + path: join(path, 'params/rotation/end'), + value, + }); }} range={json.params.rotation.add} /> @@ -112,7 +131,10 @@ const Emitted = memo(({json, path}) => { Start { - patch(join(path, 'params/scale'), json.params.scale, 'start', value); + patch({ + path: join(path, 'params/scale/start'), + value, + }); }} range={json.params.scale.start} /> @@ -121,7 +143,10 @@ const Emitted = memo(({json, path}) => { End { - patch(join(path, 'params/scale'), json.params.scale, 'end', value); + patch({ + path: join(path, 'params/scale/end'), + value, + }); }} range={json.params.scale.end} /> @@ -134,7 +159,10 @@ const Emitted = memo(({json, path}) => { type="checkbox" checked={json.params.transient} onChange={({target: {checked}}) => { - patch(join(path, 'params'), json.params, 'transient', checked); + patch({ + path: join(path, 'params/transient'), + value: checked, + }); }} /> @@ -142,7 +170,10 @@ const Emitted = memo(({json, path}) => { Time-to-live { - patch(join(path, 'params'), json.params, 'ttl', value); + patch({ + path: join(path, 'params/ttl'), + value, + }); }} range={json.params.ttl} /> @@ -153,7 +184,10 @@ const Emitted = memo(({json, path}) => { Angle { - patch(join(path, 'params/velocity'), json.params.velocity, 'angle', value); + patch({ + path: join(path, 'params/velocity/angle'), + value, + }); }} range={json.params.velocity.angle} /> @@ -162,7 +196,10 @@ const Emitted = memo(({json, path}) => { Magnitude { - patch(join(path, 'params/velocity'), json.params.velocity, 'magnitude', value); + patch({ + path: join(path, 'params/velocity/magnitude'), + value, + }); }} range={json.params.velocity.magnitude} /> diff --git a/packages/entity/src/trait-renderers/emitter/particle.jsx b/packages/entity/src/trait-renderers/emitter/particle.jsx index b24f4ab..ee0d99d 100644 --- a/packages/entity/src/trait-renderers/emitter/particle.jsx +++ b/packages/entity/src/trait-renderers/emitter/particle.jsx @@ -1,3 +1,5 @@ +import {join} from 'path'; + import {EntityListView} from '@avocado/entity'; import { PropTypes, @@ -54,7 +56,10 @@ const Particle = ({ { - patch(path, particle, 'rate', value); + patch({ + path: join(path, 'rate'), + value, + }); }} /> @@ -64,7 +69,10 @@ const Particle = ({ integer value={particle.count || 1} onChange={(value) => { - patch(path, particle, 'count', value); + patch({ + path: join(path, 'count'), + value, + }); }} /> diff --git a/packages/entity/src/trait-renderers/existent.jsx b/packages/entity/src/trait-renderers/existent.jsx index 0821800..17a6a35 100644 --- a/packages/entity/src/trait-renderers/existent.jsx +++ b/packages/entity/src/trait-renderers/existent.jsx @@ -19,8 +19,11 @@ const Existent = memo(({ { - patch(join(path, 'state'), json.state, 'isTicking', event.target.checked); + onChange={({target: {checked}}) => { + patch({ + path: join(path, 'state/isTicking'), + value: checked, + }); }} /> @@ -29,8 +32,11 @@ const Existent = memo(({ { - patch(join(path, 'state'), json.state, 'name', event.target.value); + onChange={({target: {value}}) => { + patch({ + path: join(path, 'state/name'), + value, + }); }} /> diff --git a/packages/json/package.json b/packages/json/package.json index 42a8cf8..6528148 100644 --- a/packages/json/package.json +++ b/packages/json/package.json @@ -24,7 +24,7 @@ "autoprefixer": "^9.8.6", "debug": "4.3.1", "fast-json-patch": "^3.0.0-1", - "react-syntax-highlighter": "^15.4.3" + "react-json-editor-ajrm": "^2.5.13" }, "devDependencies": { "@latus/redux": "^2.0.0", diff --git a/packages/json/src/hooks/use-json-patcher.js b/packages/json/src/hooks/use-json-patcher.js index e99fd80..fc7095d 100644 --- a/packages/json/src/hooks/use-json-patcher.js +++ b/packages/json/src/hooks/use-json-patcher.js @@ -6,18 +6,18 @@ export default () => { const dispatch = useDispatch(); const project = useProject(); const uri = useUri(); - return (path, json, key, value) => { + return (opOrOps) => { + const patch = ( + Array.isArray(opOrOps) + ? opOrOps + : [opOrOps] + ) + .map((op) => ({ + op: 'replace', + ...op, + })); dispatch(patchJsonResource({ - patch: [ - { - op: 'replace', - path, - value: { - ...json, - [key]: value, - }, - }, - ], + patch, project, uri, })); diff --git a/packages/json/src/resource-controllers/json.jsx b/packages/json/src/resource-controllers/json.jsx index b3dbdfe..5426007 100644 --- a/packages/json/src/resource-controllers/json.jsx +++ b/packages/json/src/resource-controllers/json.jsx @@ -1,14 +1,40 @@ -import {React} from '@latus/react'; -import {Prism as SyntaxHighlighter} from 'react-syntax-highlighter/dist/cjs/index'; -import {dark} from 'react-syntax-highlighter/dist/cjs/styles/prism'; +import { + PropTypes, + React, +} from '@latus/react'; +import {compare} from 'fast-json-patch'; +import JSONInput from 'react-json-editor-ajrm'; + +import useJsonPatcher from '../hooks/use-json-patcher'; + +const JsonComponent = ({resource}) => { + const patch = useJsonPatcher(); + return ( +
+ { + if (jsObject) { + patch(compare(resource, jsObject)); + } + }} + waitAfterKeyPress={100} + /> +
+ ); +}; + +JsonComponent.propTypes = { + resource: PropTypes.shape({}).isRequired, +}; export default class JsonController { static Component({resource}) { return ( - - {JSON.stringify(resource, null, 2)} - + ); } diff --git a/packages/json/src/resource-controllers/json.scss b/packages/json/src/resource-controllers/json.scss new file mode 100644 index 0000000..826af72 --- /dev/null +++ b/packages/json/src/resource-controllers/json.scss @@ -0,0 +1,10 @@ +.json-editor { + height: 100%; + [name="outer-box"], [name="container"] { + width: 100% !important; + height: 100% !important; + } + [name="container"] [name="body"] { + font-size: 1em !important; + } +} diff --git a/packages/json/yarn.lock b/packages/json/yarn.lock index 8158b22..ac572cd 100644 --- a/packages/json/yarn.lock +++ b/packages/json/yarn.lock @@ -934,7 +934,7 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.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": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.0.0-rc.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.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== @@ -1391,13 +1391,6 @@ "@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" @@ -1440,11 +1433,6 @@ 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" @@ -2473,21 +2461,6 @@ 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" @@ -2597,15 +2570,6 @@ 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" @@ -2664,11 +2628,6 @@ 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" @@ -3142,11 +3101,6 @@ 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" @@ -3976,13 +3930,6 @@ 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" @@ -4166,11 +4113,6 @@ 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" @@ -4444,13 +4386,6 @@ 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" @@ -4566,32 +4501,11 @@ 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" @@ -4976,19 +4890,6 @@ 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" @@ -5051,11 +4952,6 @@ 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" @@ -5132,11 +5028,6 @@ 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" @@ -5603,14 +5494,6 @@ 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" @@ -6517,18 +6400,6 @@ 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" @@ -6845,13 +6716,6 @@ 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" @@ -6886,13 +6750,6 @@ prop-types@^15.6.1, 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" @@ -7072,6 +6929,13 @@ react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1: resolved "http://npm.cha0sdev/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-json-editor-ajrm@^2.5.13: + version "2.5.13" + resolved "http://npm.cha0sdev/react-json-editor-ajrm/-/react-json-editor-ajrm-2.5.13.tgz#d2496b6b0166ff9e6bb5dbb85ba3615d8f398151" + integrity sha512-uYRJFzY34w7coLxeWPFZGyQpWdBKK5e8R9jBZTJ5gAFp3WuGVG2DdGZ8oJKOVJy0hqkxS9DzJIzGmmxHHQ9afA== + dependencies: + "@babel/runtime" "^7.0.0-rc.0" + react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "http://npm.cha0sdev/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" @@ -7088,17 +6952,6 @@ 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-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" @@ -7228,15 +7081,6 @@ 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" @@ -7568,11 +7412,6 @@ 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" @@ -7916,11 +7755,6 @@ 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" @@ -8321,11 +8155,6 @@ 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"