Skip to content

Commit 159c838

Browse files
authored
feat(core): Add getNonGsmCharacters() method (#11)
* Add `getNonGsmCharacters()` method to return an array of non-GSM-7 characters found in the message body * Add `encodedChars property`: array of encoded chars composing the message Fix #9
1 parent 7dff5cf commit 159c838

14 files changed

+96
-198
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ Total size of the message in bits (excluding User Data Header if present)
6666

6767
Number of segment(s)
6868

69+
### [`getNonGsmCharacters()`]
70+
71+
Return an array with the non GSM-7 characters in the body. It can be used to replace character and reduce the number of segments
72+
6973
## Try the library
7074

7175
If you want to test the library you can use the script provided in `playground/index.js`. Install the dependencies (`npm install`) and then run:

dist/libs/GSM7EncodedChar.js

Lines changed: 0 additions & 50 deletions
This file was deleted.

dist/libs/GSM7EncodedChar.js.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

dist/libs/SegmentedMessage.d.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export declare class SegmentedMessage {
1212
encodingName: SmsEncoding;
1313
numberOfUnicodeScalars: number;
1414
numberOfCharacters: number;
15+
encodedChars: EncodedChars;
1516
/**
1617
*
1718
* Create a new segmented message from a string
@@ -53,17 +54,22 @@ export declare class SegmentedMessage {
5354
*/
5455
_encodeChars(graphemes: string[]): EncodedChars;
5556
/**
56-
* @return {number} Total size of the message in bits (including User Data Header if present)
57+
* @returns {number} Total size of the message in bits (including User Data Header if present)
5758
*/
5859
get totalSize(): number;
5960
/**
60-
* @return {number} Total size of the message in bits (excluding User Data Header if present)
61+
* @returns {number} Total size of the message in bits (excluding User Data Header if present)
6162
*/
6263
get messageSize(): number;
6364
/**
6465
*
65-
* @return {number} Number of segments
66+
* @returns {number} Number of segments
6667
*/
6768
get segmentsCount(): number;
69+
/**
70+
*
71+
* @returns {string[]} Array of characters representing the non GSM-7 characters in the message body
72+
*/
73+
getNonGsmCharacters(): string[];
6874
}
6975
export {};

dist/libs/SegmentedMessage.js

Lines changed: 15 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/libs/SegmentedMessage.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/libs/TwilioReservedChar.js

Lines changed: 0 additions & 44 deletions
This file was deleted.

dist/libs/TwilioReservedChar.js.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

dist/libs/UCS2EncodedChar.js

Lines changed: 0 additions & 50 deletions
This file was deleted.

dist/libs/UCS2EncodedChar.js.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)