mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-22 19:18:31 +00:00
commit
5ecbcfffcb
10
docs/dist/App.js
vendored
10
docs/dist/App.js
vendored
@ -43,9 +43,7 @@ function App() {
|
|||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
}, [pattern]),
|
}, [pattern]),
|
||||||
onSchedule: useCallback((_events, cycle2) => {
|
onSchedule: useCallback((_events, cycle2) => logCycle(_events, cycle2), [pattern]),
|
||||||
logCycle(_events, cycle2);
|
|
||||||
}, [pattern]),
|
|
||||||
ready: !!pattern
|
ready: !!pattern
|
||||||
});
|
});
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -57,8 +55,12 @@ function App() {
|
|||||||
} catch (err) {
|
} catch (err) {
|
||||||
setMode("javascript");
|
setMode("javascript");
|
||||||
_pattern = parse(code);
|
_pattern = parse(code);
|
||||||
|
if (_pattern?.constructor?.name !== "Pattern") {
|
||||||
|
const message = `got "${typeof _pattern}" instead of pattern`;
|
||||||
|
throw new Error(message + (typeof _pattern === "function" ? "did you foget to call a function?" : ""));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
setPattern(_pattern);
|
setPattern(() => _pattern);
|
||||||
setError(void 0);
|
setError(void 0);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.warn(err);
|
console.warn(err);
|
||||||
|
|||||||
@ -53,31 +53,26 @@ function App() {
|
|||||||
},
|
},
|
||||||
[pattern]
|
[pattern]
|
||||||
),
|
),
|
||||||
onSchedule: useCallback(
|
onSchedule: useCallback((_events, cycle) => logCycle(_events, cycle), [pattern]),
|
||||||
(_events, cycle) => {
|
|
||||||
// console.log('schedule', _events, cycle);
|
|
||||||
logCycle(_events, cycle);
|
|
||||||
},
|
|
||||||
[pattern]
|
|
||||||
),
|
|
||||||
ready: !!pattern,
|
ready: !!pattern,
|
||||||
});
|
});
|
||||||
// parse pattern when code changes
|
// parse pattern when code changes
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
try {
|
try {
|
||||||
let _pattern;
|
let _pattern: Pattern;
|
||||||
try {
|
try {
|
||||||
_pattern = h(code);
|
_pattern = h(code);
|
||||||
setMode('pegjs'); // haskell mode does not recognize quotes, pegjs looks ok by accident..
|
setMode('pegjs'); // haskell mode does not recognize quotes, pegjs looks ok by accident..
|
||||||
// console.log('h _pattern', _pattern);
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
setMode('javascript');
|
setMode('javascript');
|
||||||
// code is not haskell like
|
// code is not haskell like
|
||||||
_pattern = parse(code);
|
_pattern = parse(code);
|
||||||
// console.log('not haskell..', _pattern);
|
if (_pattern?.constructor?.name !== 'Pattern') {
|
||||||
|
const message = `got "${typeof _pattern}" instead of pattern`;
|
||||||
|
throw new Error(message + (typeof _pattern === 'function' ? ', did you forget to call a function?' : '.'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
setPattern(_pattern);
|
setPattern(() => _pattern); // need arrow function here! otherwise if user returns a function, react will think it's a state reducer
|
||||||
// cycle.query(cycle.activeCycle()); // reschedule active cycle
|
|
||||||
setError(undefined);
|
setError(undefined);
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
console.warn(err);
|
console.warn(err);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user