2018-05-06 13:18:41 +01:00
/ * *
* @ author n1474335 [ n1474335 @ gmail . com ]
* @ copyright Crown Copyright 2016
* @ license Apache - 2.0
* /
import Operation from "../Operation" ;
import { DELIM _OPTIONS } from "../lib/Delim" ;
2018-08-19 22:50:49 +01:00
import { fromDecimal } from "../lib/Decimal" ;
2018-05-06 13:18:41 +01:00
/ * *
* From Decimal operation
* /
class FromDecimal extends Operation {
/ * *
* FromDecimal constructor
* /
constructor ( ) {
super ( ) ;
this . name = "From Decimal" ;
this . module = "Default" ;
this . description = "Converts the data from an ordinal integer array back into its raw form.<br><br>e.g. <code>72 101 108 108 111</code> becomes <code>Hello</code>" ;
this . inputType = "string" ;
this . outputType = "byteArray" ;
this . args = [
{
"name" : "Delimiter" ,
"type" : "option" ,
"value" : DELIM _OPTIONS
}
] ;
2018-05-20 16:49:42 +01:00
this . patterns = [
{
match : "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?: (?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$" ,
flags : "" ,
args : [ "Space" ]
} ,
{
match : "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?:,(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$" ,
flags : "" ,
args : [ "Comma" ]
} ,
{
match : "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?:;(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$" ,
flags : "" ,
args : [ "Semi-colon" ]
} ,
{
match : "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?::(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$" ,
flags : "" ,
args : [ "Colon" ]
} ,
{
match : "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?:\\n(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$" ,
flags : "" ,
args : [ "Line feed" ]
} ,
{
match : "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?:\\r\\n(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$" ,
flags : "" ,
args : [ "CRLF" ]
} ,
] ;
2018-05-06 13:18:41 +01:00
}
/ * *
* @ param { string } input
* @ param { Object [ ] } args
* @ returns { byteArray }
* /
run ( input , args ) {
2018-08-19 22:50:49 +01:00
return fromDecimal ( input , args [ 0 ] ) ;
2018-05-06 13:18:41 +01:00
}
}
export default FromDecimal ;