mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-26 13:08:28 +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 pPatterns = {};
|
||||||
let anonymousIndex = 0;
|
let anonymousIndex = 0;
|
||||||
let allTransform;
|
let allTransform;
|
||||||
|
let eachTransform;
|
||||||
|
|
||||||
const hush = function () {
|
const hush = function () {
|
||||||
pPatterns = {};
|
pPatterns = {};
|
||||||
anonymousIndex = 0;
|
anonymousIndex = 0;
|
||||||
allTransform = undefined;
|
allTransform = undefined;
|
||||||
|
eachTransform = undefined;
|
||||||
return silence;
|
return silence;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -88,6 +90,10 @@ export function repl({
|
|||||||
allTransform = transform;
|
allTransform = transform;
|
||||||
return silence;
|
return silence;
|
||||||
};
|
};
|
||||||
|
const each = function (transform) {
|
||||||
|
eachTransform = transform;
|
||||||
|
return silence;
|
||||||
|
};
|
||||||
|
|
||||||
// set pattern methods that use this repl via closure
|
// set pattern methods that use this repl via closure
|
||||||
const injectPatternMethods = () => {
|
const injectPatternMethods = () => {
|
||||||
@ -131,6 +137,7 @@ export function repl({
|
|||||||
});
|
});
|
||||||
return evalScope({
|
return evalScope({
|
||||||
all,
|
all,
|
||||||
|
each,
|
||||||
hush,
|
hush,
|
||||||
cpm,
|
cpm,
|
||||||
setCps,
|
setCps,
|
||||||
@ -153,11 +160,14 @@ export function repl({
|
|||||||
let { pattern, meta } = await _evaluate(code, transpiler, transpilerOptions);
|
let { pattern, meta } = await _evaluate(code, transpiler, transpilerOptions);
|
||||||
if (Object.keys(pPatterns).length) {
|
if (Object.keys(pPatterns).length) {
|
||||||
let patterns = Object.values(pPatterns);
|
let patterns = Object.values(pPatterns);
|
||||||
if (allTransform) {
|
if (eachTransform) {
|
||||||
patterns = patterns.map(allTransform);
|
patterns = patterns.map(eachTransform);
|
||||||
}
|
}
|
||||||
pattern = stack(...patterns);
|
pattern = stack(...patterns);
|
||||||
} else if (allTransform) {
|
} else if (eachTransform) {
|
||||||
|
pattern = eachTransform(pattern);
|
||||||
|
}
|
||||||
|
if (allTransform) {
|
||||||
pattern = allTransform(pattern);
|
pattern = allTransform(pattern);
|
||||||
}
|
}
|
||||||
if (!isPattern(pattern)) {
|
if (!isPattern(pattern)) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user