mail-monster-lib 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -82,15 +82,23 @@ function getLatestEmails(params) {
82
82
  return [2 /*return*/, emails.map(function (em) {
83
83
  var attachments = [];
84
84
  if (em.attachments) {
85
- var parsed = JSON.parse(em.attachments);
86
- // Handle doubly-escaped JSON: if parsed is an object with string values, parse each value
87
- if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
88
- attachments = Object.values(parsed).map(function (val) {
89
- return typeof val === 'string' ? JSON.parse(val) : val;
90
- });
85
+ try {
86
+ // Parse the outer JSON object (format: { "stringified attachment 1", "stringified attachment 2", ... })
87
+ var parsed = JSON.parse(em.attachments);
88
+ // If it's an object (not an array), extract values and parse each one
89
+ if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
90
+ attachments = Object.values(parsed)
91
+ .filter(function (val) { return typeof val === 'string'; })
92
+ .map(function (val) { return JSON.parse(val); });
93
+ }
94
+ else if (Array.isArray(parsed)) {
95
+ // If it's already an array, use it directly
96
+ attachments = parsed;
97
+ }
91
98
  }
92
- else if (Array.isArray(parsed)) {
93
- attachments = parsed;
99
+ catch (error) {
100
+ // If parsing fails, default to empty array
101
+ attachments = [];
94
102
  }
95
103
  }
96
104
  return __assign(__assign({}, em), { attachments: attachments });
@@ -1 +1 @@
1
- {"version":3,"file":"mail-monster-lib.js","sourceRoot":"","sources":["../src/mail-monster-lib.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,qBAAqB,GAAG,qDAAqD,CAAC;AAmCpF,SAAsB,eAAe,CAAC,MAA6B;;;;;;oBAC3D,GAAG,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;oBAC3C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;oBAClD,IAAI,MAAM,CAAC,KAAK,EAAE;wBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;qBAAE;oBACrE,IAAI,MAAM,CAAC,OAAO,EAAE;wBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;qBAAE;oBACzE,IAAI,MAAM,CAAC,OAAO,EAAE;wBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;qBAAE;oBAC3E,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;wBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;qBAAE;oBACrF,aAAa,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACpB,qBAAM,KAAK,CAAC,aAAa,CAAC,EAAA;;oBAArC,QAAQ,GAAG,SAA0B;oBAC3C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;wBAChB,MAAM,IAAI,KAAK,CAAC,iCAA0B,QAAQ,CAAC,MAAM,cAAI,QAAQ,CAAC,UAAU,CAAE,CAAC,CAAC;qBACrF;oBACc,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;oBAA9B,MAAM,GAAG,SAA6C;oBAC5D,sBAAO,MAAM,CAAC,GAAG,CAAC,UAAC,EAAE;4BACnB,IAAI,WAAW,GAAiB,EAAE,CAAC;4BACnC,IAAI,EAAE,CAAC,WAAW,EAAE;gCAClB,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;gCAC1C,0FAA0F;gCAC1F,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oCAC3E,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG;wCAC1C,OAAA,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;oCAA/C,CAA+C,CAChC,CAAC;iCACnB;qCAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oCAChC,WAAW,GAAG,MAAM,CAAC;iCACtB;6BACF;4BACD,OAAO,sBACF,EAAE,KACL,WAAW,aAAA,GACO,CAAC;wBACvB,CAAC,CAAC,EAAC;;;;CACJ;AA/BD,0CA+BC"}
1
+ {"version":3,"file":"mail-monster-lib.js","sourceRoot":"","sources":["../src/mail-monster-lib.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,qBAAqB,GAAG,qDAAqD,CAAC;AAmCpF,SAAsB,eAAe,CAAC,MAA6B;;;;;;oBAC3D,GAAG,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;oBAC3C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;oBAClD,IAAI,MAAM,CAAC,KAAK,EAAE;wBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;qBAAE;oBACrE,IAAI,MAAM,CAAC,OAAO,EAAE;wBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;qBAAE;oBACzE,IAAI,MAAM,CAAC,OAAO,EAAE;wBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;qBAAE;oBAC3E,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;wBAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;qBAAE;oBACrF,aAAa,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACpB,qBAAM,KAAK,CAAC,aAAa,CAAC,EAAA;;oBAArC,QAAQ,GAAG,SAA0B;oBAC3C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;wBAChB,MAAM,IAAI,KAAK,CAAC,iCAA0B,QAAQ,CAAC,MAAM,cAAI,QAAQ,CAAC,UAAU,CAAE,CAAC,CAAC;qBACrF;oBACc,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;oBAA9B,MAAM,GAAG,SAA6C;oBAC5D,sBAAO,MAAM,CAAC,GAAG,CAAC,UAAC,EAAE;4BACnB,IAAI,WAAW,GAAiB,EAAE,CAAC;4BACnC,IAAI,EAAE,CAAC,WAAW,EAAE;gCAClB,IAAI;oCACF,wGAAwG;oCACxG,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;oCAC1C,sEAAsE;oCACtE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wCAC3E,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;6CAChC,MAAM,CAAC,UAAC,GAAG,IAAoB,OAAA,OAAO,GAAG,KAAK,QAAQ,EAAvB,CAAuB,CAAC;6CACvD,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,EAA7B,CAA6B,CAAC,CAAC;qCAChD;yCAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wCAChC,4CAA4C;wCAC5C,WAAW,GAAG,MAAsB,CAAC;qCACtC;iCACF;gCAAC,OAAO,KAAK,EAAE;oCACd,2CAA2C;oCAC3C,WAAW,GAAG,EAAE,CAAC;iCAClB;6BACF;4BACD,OAAO,sBACF,EAAE,KACL,WAAW,aAAA,GACO,CAAC;wBACvB,CAAC,CAAC,EAAC;;;;CACJ;AAtCD,0CAsCC"}
@@ -1 +1 @@
1
- "use strict";var __assign=this&&this.__assign||function(){__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign.apply(this,arguments)};var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}};Object.defineProperty(exports,"__esModule",{value:true});exports.getLatestEmails=void 0;var LATEST_EMAIL_ENDPOINT="https://mail-monster-api.create-flow.ai/api/latest?";function getLatestEmails(params){return __awaiter(this,void 0,void 0,function(){var url,fetchEndpoint,response,emails;return __generator(this,function(_a){switch(_a.label){case 0:url=new URL(LATEST_EMAIL_ENDPOINT);url.searchParams.append("apikey",params.api_key);if(params.email){url.searchParams.append("email",params.email)}if(params.subject){url.searchParams.append("title",params.subject)}if(params.keyword){url.searchParams.append("keyword",params.keyword)}if(params.count!==undefined){url.searchParams.append("count",String(params.count))}fetchEndpoint=url.toString();return[4,fetch(fetchEndpoint)];case 1:response=_a.sent();if(!response.ok){throw new Error("Failed to fetch email: ".concat(response.status," ").concat(response.statusText))}return[4,response.json()];case 2:emails=_a.sent();return[2,emails.map(function(em){var attachments=[];if(em.attachments){var parsed=JSON.parse(em.attachments);if(typeof parsed==="object"&&parsed!==null&&!Array.isArray(parsed)){attachments=Object.values(parsed).map(function(val){return typeof val==="string"?JSON.parse(val):val})}else if(Array.isArray(parsed)){attachments=parsed}}return __assign(__assign({},em),{attachments:attachments})})]}})})}exports.getLatestEmails=getLatestEmails;
1
+ "use strict";var __assign=this&&this.__assign||function(){__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign.apply(this,arguments)};var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}};Object.defineProperty(exports,"__esModule",{value:true});exports.getLatestEmails=void 0;var LATEST_EMAIL_ENDPOINT="https://mail-monster-api.create-flow.ai/api/latest?";function getLatestEmails(params){return __awaiter(this,void 0,void 0,function(){var url,fetchEndpoint,response,emails;return __generator(this,function(_a){switch(_a.label){case 0:url=new URL(LATEST_EMAIL_ENDPOINT);url.searchParams.append("apikey",params.api_key);if(params.email){url.searchParams.append("email",params.email)}if(params.subject){url.searchParams.append("title",params.subject)}if(params.keyword){url.searchParams.append("keyword",params.keyword)}if(params.count!==undefined){url.searchParams.append("count",String(params.count))}fetchEndpoint=url.toString();return[4,fetch(fetchEndpoint)];case 1:response=_a.sent();if(!response.ok){throw new Error("Failed to fetch email: ".concat(response.status," ").concat(response.statusText))}return[4,response.json()];case 2:emails=_a.sent();return[2,emails.map(function(em){var attachments=[];if(em.attachments){try{var parsed=JSON.parse(em.attachments);if(typeof parsed==="object"&&parsed!==null&&!Array.isArray(parsed)){attachments=Object.values(parsed).filter(function(val){return typeof val==="string"}).map(function(val){return JSON.parse(val)})}else if(Array.isArray(parsed)){attachments=parsed}}catch(error){attachments=[]}}return __assign(__assign({},em),{attachments:attachments})})]}})})}exports.getLatestEmails=getLatestEmails;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mail-monster-lib",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "Typescript library for Flow AI's MailMonster",
5
5
  "main": "./dist/mail-monster-lib.min.js",
6
6
  "types": "./dist/mail-monster-lib.d.ts",