'Water' => [
'imapQuery' => 'FROM "@watercorporation.com.au"',
'regex' => '/Due date:.*?(?<due>\d{1,2}\/\d{2}\/\d{4}).*?Amount to pay:.*\$(?<amount>[0-9]+(\.[0-9]{2})?)/',
- 'messageTransform' => function($message) {
- return implode(" ", array_map('trim', explode("\n", strip_tags(base64_decode($message)))));
- },
+ 'messageTransform' => ∘(glue(" "), map('trim'), lines, 'strip_tags', 'base64_decode'),
'dateTransform' => function($date) {
return str_replace('/', '-', $date);
}
'Internet' => [
'imapQuery' => 'FROM "@online.telstra.com"',
'regex' => '/Total \$(?<amount>[0-9]+(\.[0-9]{2})?).*?Due Date (?<due>\d{1,2} \w{3} \d{4})/',
- 'messageTransform' => function($message) {
- return implode(" ", array_map('trim', explode("\n", strip_tags(html_entity_decode($message)))));
- }
+ 'messageTransform' => ∘(glue(" "), map('trim'), lines, 'strip_tags', 'html_entity_decode')
],
'Gas' => [
'imapQuery' => 'FROM "@energy.agl.com.au"',
'regex' => '/Direct Debit amount: \$(?<amount>[0-9]+(\.[0-9]{2})?).*?Direct Debit date: (?<due>\d{1,2} \w{3} \d+)/',
- 'messageTransform' => function($message) {
- return implode(" ", array_map('trim', explode("\n", $message)));
- }
+ 'messageTransform' => ∘(glue(" "), map('trim'), lines)
]
];