view modules/option.tp @ 338:1458c069c715

Added "value" method to option value and option none. It behaves similarly to value:none, except the none case just propagates the none value and the value case wraps the result in an option value
author Michael Pavone <pavone@retrodev.com>
date Sat, 04 Apr 2015 11:54:46 -0700
parents 38ca63e0a62e
children fd4e0bf5bd9f
line wrap: on
line source

{
	_none <- #{
		value:none <- :ifval :ifnone {
			ifnone:
		}
		value <- :ifval { self }
		value? <- { false }
		none? <- { true }
	}
	#{
		value <- :v {
			#{
				value:none <- :ifval :ifnone {
					ifval: v
				}
				value <- :ifval {
					option value: (ifval: )
				}
				value? <- { true }
				none? <- { false }
			}
		}
		none <- { _none }
	}
}