User Tools

Site Tools


cookbooks:devel:transformations

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
cookbooks:devel:transformations [2021/06/25 10:01]
miconda [{s.after,x}]
cookbooks:devel:transformations [2021/12/07 08:58]
miconda
Line 398: Line 398:
 ==== {s.before,x} ==== ==== {s.before,x} ====
  
-Return the part of the string before the character **x**. If the character **x** is not found, it returns the entire input string.+Return the part of the string before the character **x** searched from the start of the value. If the character **x** is not found, it returns the entire input string.
  
 <code c> <code c>
 "abcdef"{s.before,c} "abcdef"{s.before,c}
 # will return "ab" # will return "ab"
 +</code>
 +
 +==== {s.rbefore,x} ====
 +
 +Return the part of the string before the character **x** searched from the end of the value. If the character **x** is not found, it returns the entire input string.
 +
 +<code c>
 +"abcdefcgh"{s.rbefore,c}
 +# will return "abcdef"
 +</code>
 +
 +==== {s.fmtlines,n,m} ====
 +
 +Format the value in lines of n characters, adding m spaces to the start of each new line (not to first line). Each line is ended with "\r\n" apart of last line.
 +
 +<code c>
 +"abcdefgh"{s.fmtlines,4,2}
 +</code>
 +
 +==== {s.fmtlinet,n,m} ====
 +
 +Format the value in lines of n characters, adding m tabs to the start of each new line (not to first line). Each line is ended with "\r\n" apart of last line.
 +
 +<code c>
 +"abcdefgh"{s.fmtlinet,4,2}
 </code> </code>
 ==== {s.urlencode.param} ==== ==== {s.urlencode.param} ====
Line 873: Line 898:
 </code> </code>
  
 +===== Value Transformations  =====
 +
 +Exported by **pv** module.
 +
 +==== {val.json} ====
 +
 +If value is $null, return empty string; if value is string, then it is escaped for use as json value (without surrounding quotes.
 +
 +<code c>
 +$var(x) = '"name" <sip:name@a.com>';
 +$(var(x){val.json}) => \"name\" <sip:name@a.com>
 +</code>
 +
 +==== {val.n0} ====
 +
 +Return integer 0 for values that are $null.
 +
 +<code c>
 +$sht(a=>x) = $null;
 +$(sht(a=>x){val.n0}) => 0
 +</code>
 +
 +==== {val.ne} ====
 +
 +Return empty string for values that are $null.
 +
 +<code c>
 +$sht(a=>x) = $null;
 +# $(sht(a=>x){val.ne});
 +</code>
 +
 +==== {val.jsonqe} ====
 +
 +If value is $null, return quoted empty string; if value is string, then it is escaped for use as json value already with surrounding quotes; if the value is int, then it is preserved as it is.
 +
 +<code c>
 +$var(x) = '"name" <sip:name@a.com>';
 +$(var(x){val.jsonqe}) => "\"name\" <sip:name@a.com>"
 +</code>
cookbooks/devel/transformations.txt ยท Last modified: 2022/04/08 18:08 by miconda