-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathangular-email-parser.min.js
More file actions
7 lines (7 loc) · 975 Bytes
/
angular-email-parser.min.js
File metadata and controls
7 lines (7 loc) · 975 Bytes
1
2
3
4
5
6
7
/*!
* angular-email-parser - v0.1.0
* https://github.com/dbtek/angular-email-parser
* (c) 2014 İsmail Demirbilek <ce.demirbilek@gmail.com>
* License: MIT
*/
angular.module("emailParser",[]),angular.module("emailParser").factory("$parseEmail",function(){function a(a,d){a=b(a,d);for(var e=d?c.strict:c.loose,f={},g=e.header.exec(a);g;)f[g[1]]=g[2].replace(e.trim,"$1"),g=e.header.exec(a);return f}function b(a,b){a=a.toString();var d=b?c.strict:c.loose;return a.replace(d.fold,"$1")}var c={strict:{headerBlock:/^((?:\S+:(?:.*\r\n[ \t])*.*\r\n)*)\r\n/,header:/^(\S+):(.*)$/gm,fold:/\r\n([ \t])/g,trim:/^\s*(.*\S)?\s*$/},loose:{headerBlock:/^((?:\S+:(?:.*\r?\n[ \t])*.*\r?\n)*)\r?\n/,header:/^(\S+):(.*)$/gm,fold:/\r?\n([ \t])/g,trim:/^\s*(.*\S)?\s*$/}};return function(b,d,e){b=b.toString();var f=d?c.strict:c.loose,g=f.headerBlock.exec(b);if(g){var h={headerBlock:g[1],body:b.slice(g[0].length)};return(void 0===e||e)&&(h.headers=a(h.headerBlock,d)),h}return{body:b}}});