aboutsummaryrefslogtreecommitdiffstats
path: root/alv-lib/string.moon
blob: c43dd6ad0c3f79416861525709e68e803545c8be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import PureOp, Constant, Input, T, sig, evt from require 'alv.base'

any = sig! / evt!

str = Constant.meta
  meta:
    name: 'str'
    summary: "Concatenate/stringify values."
    examples: { '(.. v1 [v2…])', '(str v1 [v2…])' }
  value: class extends PureOp
    pattern: any\rep 1, nil
    type: T.str
    tick: => @out\set table.concat [tostring i! for i in *@inputs]

Constant.meta
  meta:
    name: 'string'
    summary: "Utilities for dealing with strings."

  value:
    :str, '..': str