mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-11 05:38:34 +00:00
fix and test rev
This commit is contained in:
parent
cba0084e3d
commit
2756155b7c
@ -452,18 +452,22 @@ class Pattern {
|
||||
}
|
||||
|
||||
rev() {
|
||||
var pat = this
|
||||
var query = function(span) {
|
||||
var cycle = span.begin.sam()
|
||||
var next_cycle = span.begin.nextSam()
|
||||
var reflect = function(to_reflect) {
|
||||
var reflected = to_reflect.withTime(time => cycle + (next_cycle - time))
|
||||
[reflected.begin, reflected.end] = [reflected.end, reflected.begin]
|
||||
var reflected = to_reflect.withTime(time => cycle.add(next_cycle.sub(time)))
|
||||
// [reflected.begin, reflected.end] = [reflected.end, reflected.begin] -- didn't work
|
||||
var tmp = reflected.begin
|
||||
reflected.begin = reflected.end
|
||||
reflected.end = tmp
|
||||
return reflected
|
||||
}
|
||||
var haps = this.query(reflect(span))
|
||||
return haps.map(hap => hap.with_span(reflect))
|
||||
var haps = pat.query(reflect(span))
|
||||
return haps.map(hap => hap.withSpan(reflect))
|
||||
}
|
||||
return Pattern(query).split_queries()
|
||||
return new Pattern(query)._splitQueries()
|
||||
}
|
||||
|
||||
// jux(func, by=1) {
|
||||
|
||||
@ -115,4 +115,9 @@ describe('Pattern', function() {
|
||||
assert.deepStrictEqual(slowcat([pure("a"), pure("b")])._early(1).firstCycle.map(x => x.value), ["b"])
|
||||
})
|
||||
})
|
||||
describe('rev()', function () {
|
||||
it('Can reverse things', function () {
|
||||
assert.deepStrictEqual(fastcat([pure("a"), pure("b"), pure("c")]).rev().firstCycle.sort((a,b) => a.part.begin.sub(b.part.begin)).map(a => a.value), ["c", "b","a"])
|
||||
})
|
||||
})
|
||||
})
|
||||
Loading…
x
Reference in New Issue
Block a user