Skip to content

Commit 9a406c7

Browse files
authored
Merge pull request #8 from TwilioDevEd/refactor-and-package
Create a library for the segment calculator
2 parents 08e6e88 + 54f0ab4 commit 9a406c7

40 files changed

+7041
-2137
lines changed

.eslintrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": [
3+
"twilio-ts"
4+
],
5+
"ignorePatterns": ["docs/*", "*.js"]
6+
}

.gitignore

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
8+
# Runtime data
9+
pids
10+
*.pid
11+
*.seed
12+
*.pid.lock
13+
14+
# Dependency directories
15+
**/node_modules
16+
17+
# TypeScript v1 declaration files
18+
typings/
19+
20+
# Optional npm cache directory
21+
.npm
22+
23+
# Optional eslint cache
24+
.eslintcache
25+
26+
# Optional REPL history
27+
.node_repl_history
28+
29+
# Output of 'npm pack'
30+
*.tgz
31+
32+
# Yarn Integrity file
33+
.yarn-integrity
34+
35+
# dotenv environment variables file
36+
.env
37+
38+
.DS_Store

.prettierrc.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const baseConfig = require('./node_modules/eslint-config-twilio/rules/prettier');
2+
3+
module.exports = {
4+
...baseConfig,
5+
};

README.md

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,55 @@
11
# Messaging Segment Calculator
22

3-
This repo contains an SMS segments calculator. You can access this [here](https://twiliodeved.github.io/message-segment-calculator/)
3+
This repo contains a package for an SMS segments calculator. The package is released as nodeJS package as well as browser script.
4+
A browser demo for this package can be accessed [here](https://twiliodeved.github.io/message-segment-calculator/)
5+
6+
## Usage
7+
8+
### nodeJS
9+
10+
Sample usage:
11+
12+
```javascript
13+
const { SegmentedMessage } = require('sms-segment-calculator');
14+
15+
const segmentedMessage = new SegmentedMessage('Hello World');
16+
17+
console.log(segmentedMessage.encodingName); // "GSM-7"
18+
console.log(segmentedMessage.segments.length); // "2"
19+
```
20+
21+
### Browser
22+
23+
You can add the library to your page using:
24+
25+
```html
26+
<script type="text/javascript" src="scripts/segmentsCalculator.js"></script>
27+
```
28+
29+
## `SegmentedMessage` class
30+
31+
This is the main class exposed by the package
32+
33+
### `constructor(message, encoding)`
34+
Arguments:
35+
* `message`: Body of the SMS
36+
* `encoding`: Optional: encoding. It can be `GSM-7`, `UCS-2`, `auto`. Default value: `auto`
37+
38+
### `getEncodingName()`
39+
40+
Returns the name of the calculated encoding for the message: `GSM-7` or `UCS-2`
41+
42+
### `totalSize`
43+
44+
Total size of the message in bits (including User Data Header if present)
45+
46+
### `messageSize`
47+
48+
Total size of the message in bits (excluding User Data Header if present)
49+
50+
### `segmentsCount()`
51+
52+
Number of segment(s)
453

554
## Contributing
655

dist/index.js

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

dist/index.js.map

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

dist/libs/EncodedChar.js

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

dist/libs/EncodedChar.js.map

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

dist/libs/GSM7EncodedChar.js

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

dist/libs/GSM7EncodedChar.js.map

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

0 commit comments

Comments
 (0)