@digipair/skill-imap 0.113.1 → 0.114.2

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.
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # skill-test
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build skill-imap` to build the library.
@@ -1,44 +1,25 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var engine = require('@digipair/engine');
6
4
  var imapflow = require('imapflow');
7
5
  var jsdom = require('jsdom');
8
6
 
9
- function _extends() {
10
- _extends = Object.assign || function assign(target) {
11
- for(var i = 1; i < arguments.length; i++){
12
- var source = arguments[i];
13
- for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
14
- }
15
- return target;
16
- };
17
- return _extends.apply(this, arguments);
18
- }
19
-
20
7
  let IMapService = class IMapService {
21
8
  async parse(client, message, attachments) {
22
- var _message_bodyStructure_childNodes, _client_imap;
23
- const contents = await ((_client_imap = client.imap) == null ? void 0 : _client_imap.downloadMany(message.seq.toString(), ((_message_bodyStructure_childNodes = message.bodyStructure.childNodes) == null ? void 0 : _message_bodyStructure_childNodes.map((node)=>node.part)) || [
9
+ const contents = await client.imap?.downloadMany(message.seq.toString(), message.bodyStructure.childNodes?.map((node)=>node.part) || [
24
10
  '1'
25
- ]));
26
- const contentTextKey = Object.keys(contents).find((key)=>{
27
- var _message_bodyStructure_childNodes_find, _message_bodyStructure_childNodes;
28
- return message.bodyStructure.type === 'text/plain' || contents[key].meta.contentType === 'text/plain' && !((_message_bodyStructure_childNodes = message.bodyStructure.childNodes) == null ? void 0 : (_message_bodyStructure_childNodes_find = _message_bodyStructure_childNodes.find((node)=>node.part === key)) == null ? void 0 : _message_bodyStructure_childNodes_find.disposition);
29
- });
30
- const contentHtmlKey = Object.keys(contents).find((key)=>{
31
- var _message_bodyStructure_childNodes_find, _message_bodyStructure_childNodes;
32
- return message.bodyStructure.type === 'text/html' || contents[key].meta.contentType === 'text/html' && !((_message_bodyStructure_childNodes = message.bodyStructure.childNodes) == null ? void 0 : (_message_bodyStructure_childNodes_find = _message_bodyStructure_childNodes.find((node)=>node.part === key)) == null ? void 0 : _message_bodyStructure_childNodes_find.disposition);
33
- });
34
- let result = _extends({}, message, {
11
+ ]);
12
+ const contentTextKey = Object.keys(contents).find((key)=>message.bodyStructure.type === 'text/plain' || contents[key].meta.contentType === 'text/plain' && !message.bodyStructure.childNodes?.find((node)=>node.part === key)?.disposition);
13
+ const contentHtmlKey = Object.keys(contents).find((key)=>message.bodyStructure.type === 'text/html' || contents[key].meta.contentType === 'text/html' && !message.bodyStructure.childNodes?.find((node)=>node.part === key)?.disposition);
14
+ let result = {
15
+ ...message,
35
16
  contentText: contentTextKey !== undefined ? contents[contentTextKey].content.toString('UTF8') : '',
36
17
  contentHtml: contentHtmlKey !== undefined ? contents[contentHtmlKey].content.toString('UTF8') : '',
37
18
  attachments: Object.keys(contents).filter((key)=>key !== contentTextKey && key !== contentHtmlKey).filter((node)=>attachments === 'FULL' ? true : attachments === 'INLINE' ? node.disposition !== 'attachment' : false).map((key)=>({
38
19
  meta: contents[key].meta,
39
20
  content: contents[key].content.toString('base64')
40
21
  }))
41
- });
22
+ };
42
23
  if (result.contentHtml !== '' && result.contentText === '') {
43
24
  const dom = new jsdom.JSDOM(result.contentHtml);
44
25
  result.contentText = dom.window.document.body.textContent;
@@ -57,17 +38,19 @@ let IMapService = class IMapService {
57
38
  return true;
58
39
  }
59
40
  async connect(params, pinsSettingsList, context) {
60
- var _context_protected;
61
41
  const { config, configExecute, load = [], close = [], error = [], exists = [], expunge = [], flags = [], log = [], mailboxClose = [], mailboxOpen = [] } = params;
62
42
  let configuration = config;
63
43
  if (configExecute && configExecute.length > 0) {
64
- configuration = await engine.executePinsList(configExecute, _extends({}, context), `${context.__PATH__}.configExecute`);
44
+ configuration = await engine.executePinsList(configExecute, {
45
+ ...context
46
+ }, `${context.__PATH__}.configExecute`);
65
47
  }
66
- const client = this.imap = new imapflow.ImapFlow(_extends({
67
- logger: false
68
- }, configuration));
48
+ const client = this.imap = new imapflow.ImapFlow({
49
+ logger: false,
50
+ ...configuration
51
+ });
69
52
  await client.connect();
70
- (_context_protected = context.protected) == null ? void 0 : _context_protected.signal.addEventListener('abort', ()=>{
53
+ context.protected?.signal.addEventListener('abort', ()=>{
71
54
  this.forceClose = true;
72
55
  client.logout();
73
56
  });
@@ -76,9 +59,10 @@ let IMapService = class IMapService {
76
59
  const reconnect = this.forceClose ? false : this.reconnect(params, pinsSettingsList, context);
77
60
  if (!reconnect) {
78
61
  try {
79
- await engine.executePinsList(close, _extends({}, context, {
62
+ await engine.executePinsList(close, {
63
+ ...context,
80
64
  imap: this
81
- }), `${context.__PATH__}.close`);
65
+ }, `${context.__PATH__}.close`);
82
66
  } catch (error) {
83
67
  console.error(error);
84
68
  const skillLogger = require('@digipair/skill-logger');
@@ -88,10 +72,11 @@ let IMapService = class IMapService {
88
72
  });
89
73
  client.on('error', async (data)=>{
90
74
  try {
91
- await engine.executePinsList(error, _extends({}, context, {
75
+ await engine.executePinsList(error, {
76
+ ...context,
92
77
  error: data,
93
78
  imap: this
94
- }), `${context.__PATH__}.error`);
79
+ }, `${context.__PATH__}.error`);
95
80
  } catch (error) {
96
81
  console.error(error);
97
82
  const skillLogger = require('@digipair/skill-logger');
@@ -100,10 +85,11 @@ let IMapService = class IMapService {
100
85
  });
101
86
  client.on('exists', async (data)=>{
102
87
  try {
103
- await engine.executePinsList(exists, _extends({}, context, {
88
+ await engine.executePinsList(exists, {
89
+ ...context,
104
90
  data,
105
91
  imap: this
106
- }), `${context.__PATH__}.exists`);
92
+ }, `${context.__PATH__}.exists`);
107
93
  } catch (error) {
108
94
  console.error(error);
109
95
  const skillLogger = require('@digipair/skill-logger');
@@ -112,10 +98,11 @@ let IMapService = class IMapService {
112
98
  });
113
99
  client.on('expunge', async (data)=>{
114
100
  try {
115
- await engine.executePinsList(expunge, _extends({}, context, {
101
+ await engine.executePinsList(expunge, {
102
+ ...context,
116
103
  data,
117
104
  imap: this
118
- }), `${context.__PATH__}.expunge`);
105
+ }, `${context.__PATH__}.expunge`);
119
106
  } catch (error) {
120
107
  console.error(error);
121
108
  const skillLogger = require('@digipair/skill-logger');
@@ -124,10 +111,11 @@ let IMapService = class IMapService {
124
111
  });
125
112
  client.on('flags', async (data)=>{
126
113
  try {
127
- await engine.executePinsList(flags, _extends({}, context, {
114
+ await engine.executePinsList(flags, {
115
+ ...context,
128
116
  data,
129
117
  imap: this
130
- }), `${context.__PATH__}.flags`);
118
+ }, `${context.__PATH__}.flags`);
131
119
  } catch (error) {
132
120
  console.error(error);
133
121
  const skillLogger = require('@digipair/skill-logger');
@@ -136,10 +124,11 @@ let IMapService = class IMapService {
136
124
  });
137
125
  client.on('log', async (data)=>{
138
126
  try {
139
- await engine.executePinsList(log, _extends({}, context, {
127
+ await engine.executePinsList(log, {
128
+ ...context,
140
129
  data,
141
130
  imap: this
142
- }), `${context.__PATH__}.log`);
131
+ }, `${context.__PATH__}.log`);
143
132
  } catch (error) {
144
133
  console.error(error);
145
134
  const skillLogger = require('@digipair/skill-logger');
@@ -148,10 +137,11 @@ let IMapService = class IMapService {
148
137
  });
149
138
  client.on('mailboxClose', async (data)=>{
150
139
  try {
151
- await engine.executePinsList(mailboxClose, _extends({}, context, {
140
+ await engine.executePinsList(mailboxClose, {
141
+ ...context,
152
142
  data,
153
143
  imap: this
154
- }), `${context.__PATH__}.mailboxClose`);
144
+ }, `${context.__PATH__}.mailboxClose`);
155
145
  } catch (error) {
156
146
  console.error(error);
157
147
  const skillLogger = require('@digipair/skill-logger');
@@ -160,10 +150,11 @@ let IMapService = class IMapService {
160
150
  });
161
151
  client.on('mailboxOpen', async (data)=>{
162
152
  try {
163
- await engine.executePinsList(mailboxOpen, _extends({}, context, {
153
+ await engine.executePinsList(mailboxOpen, {
154
+ ...context,
164
155
  data,
165
156
  imap: this
166
- }), `${context.__PATH__}.mailboxOpen`);
157
+ }, `${context.__PATH__}.mailboxOpen`);
167
158
  } catch (error) {
168
159
  console.error(error);
169
160
  const skillLogger = require('@digipair/skill-logger');
@@ -171,9 +162,10 @@ let IMapService = class IMapService {
171
162
  }
172
163
  });
173
164
  try {
174
- await engine.executePinsList(load, _extends({}, context, {
165
+ await engine.executePinsList(load, {
166
+ ...context,
175
167
  imap: this
176
- }), `${context.__PATH__}.load`);
168
+ }, `${context.__PATH__}.load`);
177
169
  } catch (error) {
178
170
  console.error(error);
179
171
  const skillLogger = require('@digipair/skill-logger');