@capillarytech/creatives-library 7.5.1 → 7.5.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/package.json +1 -1
- package/utils/smsCharCountV2.js +8 -21
package/package.json
CHANGED
package/utils/smsCharCountV2.js
CHANGED
|
@@ -70,47 +70,35 @@ export function updateCharCount(content = '', isUnicodeEnabled) {
|
|
|
70
70
|
const noOfOptout = (content.match(optoutTag) || []).length;
|
|
71
71
|
content = showOptoutCount ? content.replace(optoutTag, "") : content;
|
|
72
72
|
var chars_arr = contentOriginal.split("");
|
|
73
|
+
var chars_arr_optedOut = content.split("");
|
|
73
74
|
var coding = '7bit';
|
|
74
75
|
var parts = 1;
|
|
75
|
-
var part = 1;
|
|
76
76
|
var chars_used = 0;
|
|
77
77
|
var chars_sms = 160;
|
|
78
|
-
var sms_parts_container = [];
|
|
79
78
|
var partc = [];
|
|
80
|
-
for (let i = 0; i <
|
|
81
|
-
if (charset7bit.indexOf(
|
|
79
|
+
for (let i = 0; i < chars_arr_optedOut.length; i++) {
|
|
80
|
+
if (charset7bit.indexOf(chars_arr_optedOut[i]) >= 0) {
|
|
82
81
|
chars_used = chars_used + 1;
|
|
83
|
-
} else if (charset7bitext.indexOf(
|
|
82
|
+
} else if (charset7bitext.indexOf(chars_arr_optedOut[i]) >= 0) {
|
|
84
83
|
chars_used = chars_used + 2;
|
|
85
84
|
} else {
|
|
86
85
|
coding = '16bit';
|
|
87
|
-
chars_used =
|
|
86
|
+
chars_used = chars_arr_optedOut.length;
|
|
88
87
|
break;
|
|
89
88
|
}
|
|
90
89
|
}
|
|
91
|
-
chars_used = showOptoutCount && optoutUrl && optoutUrl.length ? (chars_used + ((
|
|
90
|
+
chars_used = showOptoutCount && optoutUrl && optoutUrl.length ? (chars_used + ((optoutUrl && optoutUrl.length) || 0) * noOfOptout) : chars_used + optoutTagLength;
|
|
92
91
|
if (coding == '7bit') {
|
|
93
92
|
if (chars_used > 160) {
|
|
94
93
|
var parts = Math.ceil(chars_used / 153);
|
|
95
94
|
var part_chars_used = 7;
|
|
96
95
|
chars_sms = 153;
|
|
97
96
|
for (let i = 0; i < chars_arr.length; i++) {
|
|
98
|
-
if (part_chars_used + 1 > 160) {
|
|
99
|
-
part = part + 1;
|
|
100
|
-
part_chars_used = 7;
|
|
101
|
-
sms_parts_container.push(partc);
|
|
102
|
-
}
|
|
103
|
-
if (charset7bitext.indexOf(chars_arr[i]) >= 0 && part_chars_used + 2 > 160) {
|
|
104
|
-
part = part + 1;
|
|
97
|
+
if (part_chars_used + 1 > 160 || (charset7bitext.indexOf(chars_arr[i]) >= 0 && part_chars_used + 2 > 160)) {
|
|
105
98
|
part_chars_used = 7;
|
|
106
|
-
sms_parts_container.push(partc);
|
|
107
99
|
}
|
|
108
100
|
partc = [...partc, charToSpan(chars_arr[i], coding, isUnicodeEnabled)];
|
|
109
|
-
|
|
110
|
-
part_chars_used = part_chars_used + 1;
|
|
111
|
-
} else {
|
|
112
|
-
part_chars_used = part_chars_used + 2;
|
|
113
|
-
}
|
|
101
|
+
part_chars_used = charset7bitext.indexOf(chars_arr[i]) == -1 ? part_chars_used + 1 : part_chars_used + 2;
|
|
114
102
|
}
|
|
115
103
|
} else {
|
|
116
104
|
chars_sms = 160;
|
|
@@ -125,7 +113,6 @@ export function updateCharCount(content = '', isUnicodeEnabled) {
|
|
|
125
113
|
chars_sms = 67;
|
|
126
114
|
for (let i = 0; i < chars_arr.length; i++) {
|
|
127
115
|
if (part_chars_used + 1 > 70) {
|
|
128
|
-
part = part + 1;
|
|
129
116
|
part_chars_used = 3;
|
|
130
117
|
}
|
|
131
118
|
partc = [...partc, charToSpan(chars_arr[i], coding, isUnicodeEnabled)];
|