refactor: json++

This commit is contained in:
cha0s 2021-01-27 12:41:45 -06:00
parent 776af9ff99
commit b460883bd9
8 changed files with 138 additions and 222 deletions

View File

@ -26,7 +26,10 @@ const Emitted = memo(({json, path}) => {
Start Start
<Range <Range
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params/alpha'), json.params.alpha, 'start', value); patch({
path: join(path, 'params/alpha/start'),
value,
});
}} }}
range={json.params.alpha.start} range={json.params.alpha.start}
/> />
@ -35,7 +38,10 @@ const Emitted = memo(({json, path}) => {
End End
<Range <Range
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params/alpha'), json.params.alpha, 'end', value); patch({
path: join(path, 'params/alpha/end'),
value,
});
}} }}
range={json.params.alpha.end} range={json.params.alpha.end}
/> />
@ -45,7 +51,10 @@ const Emitted = memo(({json, path}) => {
Force Force
<VectorRange <VectorRange
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params'), json.params, 'force', value); patch({
path: join(path, 'params/force'),
value,
});
}} }}
range={json.params.force} range={json.params.force}
/> />
@ -54,7 +63,10 @@ const Emitted = memo(({json, path}) => {
Mass Mass
<Number <Number
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params'), json.params, 'mass', value); patch({
path: join(path, 'params/mass'),
value,
});
}} }}
value={json.params.mass} value={json.params.mass}
/> />
@ -69,12 +81,10 @@ const Emitted = memo(({json, path}) => {
checked={!hasSelfPosition} checked={!hasSelfPosition}
onChange={(event) => { onChange={(event) => {
const hasSelfPosition = !event.target.checked; const hasSelfPosition = !event.target.checked;
patch( patch({
join(path, 'params'), path: join(path, 'params/position'),
json.params, value: hasSelfPosition ? [0, 0] : null,
'position', });
hasSelfPosition ? [0, 0] : null,
);
setHasSelfPosition(hasSelfPosition); setHasSelfPosition(hasSelfPosition);
}} }}
/> />
@ -82,7 +92,10 @@ const Emitted = memo(({json, path}) => {
{hasSelfPosition && ( {hasSelfPosition && (
<VectorRange <VectorRange
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params'), json.params, 'position', value); patch({
path: join(path, 'params/position'),
value,
});
}} }}
range={json.params.position} range={json.params.position}
/> />
@ -92,7 +105,10 @@ const Emitted = memo(({json, path}) => {
Starting rotation Starting rotation
<Range <Range
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params/rotation'), json.params.rotation, 'start', value); patch({
path: join(path, 'params/rotation/start'),
value,
});
}} }}
range={json.params.rotation.start} range={json.params.rotation.start}
/> />
@ -101,7 +117,10 @@ const Emitted = memo(({json, path}) => {
Rotation to add Rotation to add
<Range <Range
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params/rotation'), json.params.rotation, 'end', value); patch({
path: join(path, 'params/rotation/end'),
value,
});
}} }}
range={json.params.rotation.add} range={json.params.rotation.add}
/> />
@ -112,7 +131,10 @@ const Emitted = memo(({json, path}) => {
Start Start
<Range <Range
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params/scale'), json.params.scale, 'start', value); patch({
path: join(path, 'params/scale/start'),
value,
});
}} }}
range={json.params.scale.start} range={json.params.scale.start}
/> />
@ -121,7 +143,10 @@ const Emitted = memo(({json, path}) => {
End End
<Range <Range
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params/scale'), json.params.scale, 'end', value); patch({
path: join(path, 'params/scale/end'),
value,
});
}} }}
range={json.params.scale.end} range={json.params.scale.end}
/> />
@ -134,7 +159,10 @@ const Emitted = memo(({json, path}) => {
type="checkbox" type="checkbox"
checked={json.params.transient} checked={json.params.transient}
onChange={({target: {checked}}) => { onChange={({target: {checked}}) => {
patch(join(path, 'params'), json.params, 'transient', checked); patch({
path: join(path, 'params/transient'),
value: checked,
});
}} }}
/> />
</label> </label>
@ -142,7 +170,10 @@ const Emitted = memo(({json, path}) => {
Time-to-live Time-to-live
<Range <Range
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params'), json.params, 'ttl', value); patch({
path: join(path, 'params/ttl'),
value,
});
}} }}
range={json.params.ttl} range={json.params.ttl}
/> />
@ -153,7 +184,10 @@ const Emitted = memo(({json, path}) => {
Angle Angle
<Range <Range
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params/velocity'), json.params.velocity, 'angle', value); patch({
path: join(path, 'params/velocity/angle'),
value,
});
}} }}
range={json.params.velocity.angle} range={json.params.velocity.angle}
/> />
@ -162,7 +196,10 @@ const Emitted = memo(({json, path}) => {
Magnitude Magnitude
<Range <Range
onChange={(value) => { onChange={(value) => {
patch(join(path, 'params/velocity'), json.params.velocity, 'magnitude', value); patch({
path: join(path, 'params/velocity/magnitude'),
value,
});
}} }}
range={json.params.velocity.magnitude} range={json.params.velocity.magnitude}
/> />

View File

@ -1,3 +1,5 @@
import {join} from 'path';
import {EntityListView} from '@avocado/entity'; import {EntityListView} from '@avocado/entity';
import { import {
PropTypes, PropTypes,
@ -54,7 +56,10 @@ const Particle = ({
<Number <Number
value={particle.rate || 0} value={particle.rate || 0}
onChange={(value) => { onChange={(value) => {
patch(path, particle, 'rate', value); patch({
path: join(path, 'rate'),
value,
});
}} }}
/> />
</label> </label>
@ -64,7 +69,10 @@ const Particle = ({
integer integer
value={particle.count || 1} value={particle.count || 1}
onChange={(value) => { onChange={(value) => {
patch(path, particle, 'count', value); patch({
path: join(path, 'count'),
value,
});
}} }}
/> />
</label> </label>

View File

@ -19,8 +19,11 @@ const Existent = memo(({
<input <input
type="checkbox" type="checkbox"
checked={json.state.isTicking} checked={json.state.isTicking}
onChange={(event) => { onChange={({target: {checked}}) => {
patch(join(path, 'state'), json.state, 'isTicking', event.target.checked); patch({
path: join(path, 'state/isTicking'),
value: checked,
});
}} }}
/> />
</label> </label>
@ -29,8 +32,11 @@ const Existent = memo(({
<input <input
type="text" type="text"
value={json.state.name} value={json.state.name}
onChange={(event) => { onChange={({target: {value}}) => {
patch(join(path, 'state'), json.state, 'name', event.target.value); patch({
path: join(path, 'state/name'),
value,
});
}} }}
/> />
</label> </label>

View File

@ -24,7 +24,7 @@
"autoprefixer": "^9.8.6", "autoprefixer": "^9.8.6",
"debug": "4.3.1", "debug": "4.3.1",
"fast-json-patch": "^3.0.0-1", "fast-json-patch": "^3.0.0-1",
"react-syntax-highlighter": "^15.4.3" "react-json-editor-ajrm": "^2.5.13"
}, },
"devDependencies": { "devDependencies": {
"@latus/redux": "^2.0.0", "@latus/redux": "^2.0.0",

View File

@ -6,18 +6,18 @@ export default () => {
const dispatch = useDispatch(); const dispatch = useDispatch();
const project = useProject(); const project = useProject();
const uri = useUri(); const uri = useUri();
return (path, json, key, value) => { return (opOrOps) => {
const patch = (
Array.isArray(opOrOps)
? opOrOps
: [opOrOps]
)
.map((op) => ({
op: 'replace',
...op,
}));
dispatch(patchJsonResource({ dispatch(patchJsonResource({
patch: [ patch,
{
op: 'replace',
path,
value: {
...json,
[key]: value,
},
},
],
project, project,
uri, uri,
})); }));

View File

@ -1,14 +1,40 @@
import {React} from '@latus/react'; import {
import {Prism as SyntaxHighlighter} from 'react-syntax-highlighter/dist/cjs/index'; PropTypes,
import {dark} from 'react-syntax-highlighter/dist/cjs/styles/prism'; 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 (
<div className="json-editor">
<JSONInput
placeholder={resource}
onChange={({jsObject}) => {
if (jsObject) {
patch(compare(resource, jsObject));
}
}}
waitAfterKeyPress={100}
/>
</div>
);
};
JsonComponent.propTypes = {
resource: PropTypes.shape({}).isRequired,
};
export default class JsonController { export default class JsonController {
static Component({resource}) { static Component({resource}) {
return ( return (
<SyntaxHighlighter language="json" style={dark}> <JsonComponent
{JSON.stringify(resource, null, 2)} resource={resource}
</SyntaxHighlighter> />
); );
} }

View File

@ -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;
}
}

View File

@ -934,7 +934,7 @@
core-js-pure "^3.0.0" core-js-pure "^3.0.0"
regenerator-runtime "^0.13.4" 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" version "7.12.5"
resolved "http://npm.cha0sdev/@babel%2fruntime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" resolved "http://npm.cha0sdev/@babel%2fruntime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e"
integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==
@ -1391,13 +1391,6 @@
"@types/minimatch" "*" "@types/minimatch" "*"
"@types/node" "*" "@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": "@types/html-minifier-terser@^5.0.0":
version "5.1.1" version "5.1.1"
resolved "http://npm.cha0sdev/@types%2fhtml-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" resolved "http://npm.cha0sdev/@types%2fhtml-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50"
@ -1440,11 +1433,6 @@
dependencies: dependencies:
source-map "^0.6.1" 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@*": "@types/webpack-sources@*":
version "2.1.0" version "2.1.0"
resolved "http://npm.cha0sdev/@types%2fwebpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" 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" ansi-styles "^4.1.0"
supports-color "^7.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: check-error@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "http://npm.cha0sdev/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" 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" "@types/webpack" "^4.4.31"
del "^4.1.1" 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: cliui@^5.0.0:
version "5.0.0" version "5.0.0"
resolved "http://npm.cha0sdev/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" 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: dependencies:
delayed-stream "~1.0.0" 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: commander@2.17.x:
version "2.17.1" version "2.17.1"
resolved "http://npm.cha0sdev/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" 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" resolved "http://npm.cha0sdev/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 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: delegates@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "http://npm.cha0sdev/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 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" resolved "http://npm.cha0sdev/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== 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: faye-websocket@^0.11.3:
version "0.11.3" version "0.11.3"
resolved "http://npm.cha0sdev/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" 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" combined-stream "^1.0.6"
mime-types "^2.1.12" 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: forwarded@~0.1.2:
version "0.1.2" version "0.1.2"
resolved "http://npm.cha0sdev/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" resolved "http://npm.cha0sdev/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
@ -4444,13 +4386,6 @@ globule@^1.0.0:
lodash "~4.17.10" lodash "~4.17.10"
minimatch "~3.0.2" 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: 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" version "4.2.4"
resolved "http://npm.cha0sdev/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" 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" inherits "^2.0.3"
minimalistic-assert "^1.0.1" 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: he@1.2.0, he@1.2.x, he@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "http://npm.cha0sdev/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" resolved "http://npm.cha0sdev/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 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: hmac-drbg@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "http://npm.cha0sdev/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" resolved "http://npm.cha0sdev/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@ -4976,19 +4890,6 @@ is-accessor-descriptor@^1.0.0:
dependencies: dependencies:
kind-of "^6.0.0" 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: is-arguments@^1.0.4:
version "1.1.0" version "1.1.0"
resolved "http://npm.cha0sdev/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" 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" resolved "http://npm.cha0sdev/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== 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: is-descriptor@^0.1.0:
version "0.1.6" version "0.1.6"
resolved "http://npm.cha0sdev/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 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: dependencies:
is-extglob "^2.1.1" 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: is-negative-zero@^2.0.1:
version "2.0.1" version "2.0.1"
resolved "http://npm.cha0sdev/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" 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: dependencies:
tslib "^2.0.3" 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: lru-cache@^5.1.1:
version "5.1.1" version "5.1.1"
resolved "http://npm.cha0sdev/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 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" pbkdf2 "^3.0.3"
safe-buffer "^5.1.1" 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: parse-json@^2.2.0:
version "2.2.0" version "2.2.0"
resolved "http://npm.cha0sdev/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 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" lodash "^4.17.20"
renderkid "^2.0.4" 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: private@~0.1.5:
version "0.1.8" version "0.1.8"
resolved "http://npm.cha0sdev/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 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" object-assign "^4.1.1"
react-is "^16.8.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: proxy-addr@^2.0.6, proxy-addr@~2.0.5:
version "2.0.6" version "2.0.6"
resolved "http://npm.cha0sdev/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" 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" resolved "http://npm.cha0sdev/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 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: react-lifecycles-compat@^3.0.4:
version "3.0.4" version "3.0.4"
resolved "http://npm.cha0sdev/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" 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" prop-types "^15.7.2"
react-is "^16.13.1" 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: react-virtualized-auto-sizer@^1.0.2:
version "1.0.4" version "1.0.4"
resolved "http://npm.cha0sdev/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.4.tgz#2b83adb5ecdee8dcb33784e96ee0074eb5369665" 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" loose-envify "^1.4.0"
symbol-observable "^1.2.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: regenerate-unicode-properties@^8.2.0:
version "8.2.0" version "8.2.0"
resolved "http://npm.cha0sdev/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" 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" resolved "http://npm.cha0sdev/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= 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: selfsigned@^1.10.8:
version "1.10.8" version "1.10.8"
resolved "http://npm.cha0sdev/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" 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" resolved "http://npm.cha0sdev/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== 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: spdx-correct@^3.0.0:
version "3.1.1" version "3.1.1"
resolved "http://npm.cha0sdev/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" resolved "http://npm.cha0sdev/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
@ -8321,11 +8155,6 @@ timers-browserify@^2.0.4:
dependencies: dependencies:
setimmediate "^1.0.4" 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: to-arraybuffer@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "http://npm.cha0sdev/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" resolved "http://npm.cha0sdev/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"