mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-11 05:38:34 +00:00
Make all() post-stack again, and add each() for pre-stack (#1229)
* Rename `all` to `each`, re-instating old `all`
This commit is contained in:
parent
26cc7e2920
commit
9bf0f624f5
@ -63,11 +63,13 @@ export function repl({
|
||||
let pPatterns = {};
|
||||
let anonymousIndex = 0;
|
||||
let allTransform;
|
||||
let eachTransform;
|
||||
|
||||
const hush = function () {
|
||||
pPatterns = {};
|
||||
anonymousIndex = 0;
|
||||
allTransform = undefined;
|
||||
eachTransform = undefined;
|
||||
return silence;
|
||||
};
|
||||
|
||||
@ -88,6 +90,10 @@ export function repl({
|
||||
allTransform = transform;
|
||||
return silence;
|
||||
};
|
||||
const each = function (transform) {
|
||||
eachTransform = transform;
|
||||
return silence;
|
||||
};
|
||||
|
||||
// set pattern methods that use this repl via closure
|
||||
const injectPatternMethods = () => {
|
||||
@ -131,6 +137,7 @@ export function repl({
|
||||
});
|
||||
return evalScope({
|
||||
all,
|
||||
each,
|
||||
hush,
|
||||
cpm,
|
||||
setCps,
|
||||
@ -153,11 +160,14 @@ export function repl({
|
||||
let { pattern, meta } = await _evaluate(code, transpiler, transpilerOptions);
|
||||
if (Object.keys(pPatterns).length) {
|
||||
let patterns = Object.values(pPatterns);
|
||||
if (allTransform) {
|
||||
patterns = patterns.map(allTransform);
|
||||
if (eachTransform) {
|
||||
patterns = patterns.map(eachTransform);
|
||||
}
|
||||
pattern = stack(...patterns);
|
||||
} else if (allTransform) {
|
||||
} else if (eachTransform) {
|
||||
pattern = eachTransform(pattern);
|
||||
}
|
||||
if (allTransform) {
|
||||
pattern = allTransform(pattern);
|
||||
}
|
||||
if (!isPattern(pattern)) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user