( block: Block, generator: DartGenerator, )
| 24 | } |
| 25 | |
| 26 | export function text_join( |
| 27 | block: Block, |
| 28 | generator: DartGenerator, |
| 29 | ): [string, Order] { |
| 30 | // Create a string made up of any number of elements of any type. |
| 31 | const joinBlock = block as JoinMutatorBlock; |
| 32 | switch (joinBlock.itemCount_) { |
| 33 | case 0: |
| 34 | return ["''", Order.ATOMIC]; |
| 35 | case 1: { |
| 36 | const element = |
| 37 | generator.valueToCode(block, 'ADD0', Order.UNARY_POSTFIX) || "''"; |
| 38 | const code = element + '.toString()'; |
| 39 | return [code, Order.UNARY_POSTFIX]; |
| 40 | } |
| 41 | default: { |
| 42 | const elements = new Array(joinBlock.itemCount_); |
| 43 | for (let i = 0; i < joinBlock.itemCount_; i++) { |
| 44 | elements[i] = |
| 45 | generator.valueToCode(block, 'ADD' + i, Order.NONE) || "''"; |
| 46 | } |
| 47 | const code = '[' + elements.join(',') + '].join()'; |
| 48 | return [code, Order.UNARY_POSTFIX]; |
| 49 | } |
| 50 | } |
| 51 | } |
| 52 | |
| 53 | export function text_append(block: Block, generator: DartGenerator) { |
| 54 | // Append to a variable in place. |
nothing calls this directly
no test coverage detected