imapkit 4.1.0 → 4.1.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/dist/cjs/addressparser.js +13 -19
- package/dist/esm/addressparser.js +13 -19
- package/package.json +2 -2
|
@@ -55,7 +55,6 @@ function _handleAddress(tokens, inGroup) {
|
|
|
55
55
|
let token;
|
|
56
56
|
let isGroup = false;
|
|
57
57
|
let state = 'text';
|
|
58
|
-
let address;
|
|
59
58
|
const addresses = [];
|
|
60
59
|
const data = {
|
|
61
60
|
address: [],
|
|
@@ -103,8 +102,8 @@ function _handleAddress(tokens, inGroup) {
|
|
|
103
102
|
// http://tools.ietf.org/html/rfc2822#appendix-A.1.3
|
|
104
103
|
const text = data.text.join(' ');
|
|
105
104
|
addresses.push({
|
|
106
|
-
//
|
|
107
|
-
name: text
|
|
105
|
+
// RFC 5322 section 3.4 requires a display name, but a group like ":a@b;" still parses, with an empty name
|
|
106
|
+
name: text,
|
|
108
107
|
group: data.group.length ? parse(data.group.join(','), true) : []
|
|
109
108
|
});
|
|
110
109
|
}
|
|
@@ -148,24 +147,19 @@ function _handleAddress(tokens, inGroup) {
|
|
|
148
147
|
// Join values with spaces
|
|
149
148
|
const text = data.text.join(' ');
|
|
150
149
|
const addressText = data.address.join(' ');
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
name
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
address.name = '';
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
address.address = '';
|
|
165
|
-
}
|
|
150
|
+
const address = {
|
|
151
|
+
address: addressText || text || '',
|
|
152
|
+
name: text || addressText || ''
|
|
153
|
+
};
|
|
154
|
+
if (address.address === address.name) {
|
|
155
|
+
if ((address.address || '').match(/@/)) {
|
|
156
|
+
address.name = '';
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
address.address = '';
|
|
166
160
|
}
|
|
167
|
-
addresses.push(address);
|
|
168
161
|
}
|
|
162
|
+
addresses.push(address);
|
|
169
163
|
}
|
|
170
164
|
return addresses;
|
|
171
165
|
}
|
|
@@ -52,7 +52,6 @@ function _handleAddress(tokens, inGroup) {
|
|
|
52
52
|
let token;
|
|
53
53
|
let isGroup = false;
|
|
54
54
|
let state = 'text';
|
|
55
|
-
let address;
|
|
56
55
|
const addresses = [];
|
|
57
56
|
const data = {
|
|
58
57
|
address: [],
|
|
@@ -100,8 +99,8 @@ function _handleAddress(tokens, inGroup) {
|
|
|
100
99
|
// http://tools.ietf.org/html/rfc2822#appendix-A.1.3
|
|
101
100
|
const text = data.text.join(' ');
|
|
102
101
|
addresses.push({
|
|
103
|
-
//
|
|
104
|
-
name: text
|
|
102
|
+
// RFC 5322 section 3.4 requires a display name, but a group like ":a@b;" still parses, with an empty name
|
|
103
|
+
name: text,
|
|
105
104
|
group: data.group.length ? parse(data.group.join(','), true) : []
|
|
106
105
|
});
|
|
107
106
|
}
|
|
@@ -145,24 +144,19 @@ function _handleAddress(tokens, inGroup) {
|
|
|
145
144
|
// Join values with spaces
|
|
146
145
|
const text = data.text.join(' ');
|
|
147
146
|
const addressText = data.address.join(' ');
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
name
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
address.name = '';
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
address.address = '';
|
|
162
|
-
}
|
|
147
|
+
const address = {
|
|
148
|
+
address: addressText || text || '',
|
|
149
|
+
name: text || addressText || ''
|
|
150
|
+
};
|
|
151
|
+
if (address.address === address.name) {
|
|
152
|
+
if ((address.address || '').match(/@/)) {
|
|
153
|
+
address.name = '';
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
address.address = '';
|
|
163
157
|
}
|
|
164
|
-
addresses.push(address);
|
|
165
158
|
}
|
|
159
|
+
addresses.push(address);
|
|
166
160
|
}
|
|
167
161
|
return addresses;
|
|
168
162
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "imapkit",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.1",
|
|
4
4
|
"description": "Scriptable, strictly RFC compliant in-memory IMAP server for testing IMAP clients",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"eslint": "10.12.0",
|
|
94
94
|
"eslint-config-prettier": "10.1.8",
|
|
95
95
|
"globals": "17.13.0",
|
|
96
|
-
"imapflow": "2.2.
|
|
96
|
+
"imapflow": "2.2.8",
|
|
97
97
|
"prettier": "3.9.9",
|
|
98
98
|
"tsx": "4.23.15",
|
|
99
99
|
"typescript": "6.0.3",
|