@digipair/skill-imap 0.113.1 → 0.114.1
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 +7 -0
- package/{index.cjs.js → dist/index.cjs.js} +42 -50
- package/{index.esm.js → dist/index.esm.js} +10134 -11585
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/{libs/skill-imap → dist}/src/lib/skill-imap.d.ts +1 -0
- package/dist/src/lib/skill-imap.d.ts.map +1 -0
- package/package.json +26 -5
- package/index.d.ts +0 -1
- package/libs/skill-imap/src/index.d.ts +0 -1
- /package/{index.cjs.d.ts → dist/index.d.ts} +0 -0
- /package/{schema.fr.json → dist/schema.fr.json} +0 -0
- /package/{schema.json → dist/schema.json} +0 -0
package/README.md
ADDED
|
@@ -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
|
-
|
|
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
|
-
|
|
28
|
-
|
|
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,
|
|
44
|
+
configuration = await engine.executePinsList(configExecute, {
|
|
45
|
+
...context
|
|
46
|
+
}, `${context.__PATH__}.configExecute`);
|
|
65
47
|
}
|
|
66
|
-
const client = this.imap = new imapflow.ImapFlow(
|
|
67
|
-
logger: false
|
|
68
|
-
|
|
48
|
+
const client = this.imap = new imapflow.ImapFlow({
|
|
49
|
+
logger: false,
|
|
50
|
+
...configuration
|
|
51
|
+
});
|
|
69
52
|
await client.connect();
|
|
70
|
-
|
|
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,
|
|
62
|
+
await engine.executePinsList(close, {
|
|
63
|
+
...context,
|
|
80
64
|
imap: this
|
|
81
|
-
}
|
|
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,
|
|
75
|
+
await engine.executePinsList(error, {
|
|
76
|
+
...context,
|
|
92
77
|
error: data,
|
|
93
78
|
imap: this
|
|
94
|
-
}
|
|
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,
|
|
88
|
+
await engine.executePinsList(exists, {
|
|
89
|
+
...context,
|
|
104
90
|
data,
|
|
105
91
|
imap: this
|
|
106
|
-
}
|
|
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,
|
|
101
|
+
await engine.executePinsList(expunge, {
|
|
102
|
+
...context,
|
|
116
103
|
data,
|
|
117
104
|
imap: this
|
|
118
|
-
}
|
|
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,
|
|
114
|
+
await engine.executePinsList(flags, {
|
|
115
|
+
...context,
|
|
128
116
|
data,
|
|
129
117
|
imap: this
|
|
130
|
-
}
|
|
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,
|
|
127
|
+
await engine.executePinsList(log, {
|
|
128
|
+
...context,
|
|
140
129
|
data,
|
|
141
130
|
imap: this
|
|
142
|
-
}
|
|
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,
|
|
140
|
+
await engine.executePinsList(mailboxClose, {
|
|
141
|
+
...context,
|
|
152
142
|
data,
|
|
153
143
|
imap: this
|
|
154
|
-
}
|
|
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,
|
|
153
|
+
await engine.executePinsList(mailboxOpen, {
|
|
154
|
+
...context,
|
|
164
155
|
data,
|
|
165
156
|
imap: this
|
|
166
|
-
}
|
|
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,
|
|
165
|
+
await engine.executePinsList(load, {
|
|
166
|
+
...context,
|
|
175
167
|
imap: this
|
|
176
|
-
}
|
|
168
|
+
}, `${context.__PATH__}.load`);
|
|
177
169
|
} catch (error) {
|
|
178
170
|
console.error(error);
|
|
179
171
|
const skillLogger = require('@digipair/skill-logger');
|