Felix Roos 2aa1acfd95 Publish
- @strudel/codemirror@1.1.0
 - @strudel/core@1.1.0
 - @strudel/csound@1.1.0
 - @strudel/draw@1.1.0
 - @strudel/embed@1.1.0
 - hs2js@0.1.0
 - @strudel/hydra@1.1.0
 - @strudel/midi@1.1.0
 - @strudel/mini@1.1.0
 - @strudel/osc@1.1.0
 - @strudel/repl@1.1.0
 - @strudel/sampler@0.1.0
 - @strudel/serial@1.1.0
 - @strudel/soundfonts@1.1.0
 - superdough@1.1.0
 - @strudel/tidal@0.1.0
 - @strudel/tonal@1.1.0
 - @strudel/transpiler@1.1.0
 - @strudel/web@1.1.0
 - @strudel/webaudio@1.1.0
 - @strudel/xen@1.1.0
2024-05-31 23:07:26 +02:00
..
2024-02-21 09:50:21 +01:00
2024-05-31 23:07:26 +02:00
2024-05-19 00:08:17 +02:00
2024-02-08 12:19:11 +01:00

@strudel/transpiler

This package contains a JS code transpiler with the following features:

  • add locations of mini notation strings (double quoted or backticked) for highlighting
  • converts pseudo note variables to note strings
  • adds return statement to the last expression

Install

npm i @strudel/transpiler

Use

import { transpiler } from '@strudel/core';
import { evaluate } from '@strudel/core';

transpiler('note("c3 [e3,g3]")', { wrapAsync: false, addReturn: false, simpleLocs: true });
/* mini('c3 [e3,g3]').withMiniLocation(7,17) */

evaluate(note('c3 [e3,g3]'), transpiler); // returns pattern of above code