@qrvey/sms 0.0.1 → 0.0.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.
Files changed (25) hide show
  1. package/README.md +10 -1
  2. package/dist/cjs/services/clients/awsSmsSender.client.js +2 -2
  3. package/dist/cjs/services/clients/awsSmsSender.client.js.map +1 -1
  4. package/dist/cjs/services/clients/twilioSmsSender.client.js +2 -2
  5. package/dist/cjs/services/clients/twilioSmsSender.client.js.map +1 -1
  6. package/dist/cjs/services/clients/vonageSmsSender.client.js +11 -11
  7. package/dist/cjs/services/clients/vonageSmsSender.client.js.map +1 -1
  8. package/dist/cjs/services/smsSender.service.js +8 -8
  9. package/dist/cjs/services/smsSender.service.js.map +1 -1
  10. package/dist/esm/{awsSmsSender.client-DGZ2JYIG.mjs → awsSmsSender.client-4AURYPI4.mjs} +3 -3
  11. package/dist/esm/{awsSmsSender.client-DGZ2JYIG.mjs.map → awsSmsSender.client-4AURYPI4.mjs.map} +1 -1
  12. package/dist/esm/index.d.mts +1 -1
  13. package/dist/esm/index.mjs +11 -11
  14. package/dist/esm/index.mjs.map +1 -1
  15. package/dist/esm/{twilioSmsSender.client-2Z4R25US.mjs → twilioSmsSender.client-OKXZ2R67.mjs} +3 -3
  16. package/dist/esm/{twilioSmsSender.client-2Z4R25US.mjs.map → twilioSmsSender.client-OKXZ2R67.mjs.map} +1 -1
  17. package/dist/esm/{vonageSmsSender.client-23U65FBQ.mjs → vonageSmsSender.client-TOAW6CJU.mjs} +16 -16
  18. package/dist/esm/vonageSmsSender.client-TOAW6CJU.mjs.map +1 -0
  19. package/dist/types/index.d.ts +1 -1
  20. package/package.json +1 -1
  21. package/src/services/clients/awsSmsSender.client.ts +2 -2
  22. package/src/services/clients/twilioSmsSender.client.ts +2 -2
  23. package/src/services/clients/vonageSmsSender.client.ts +4 -7
  24. package/src/services/smsSender.service.ts +3 -5
  25. package/dist/esm/vonageSmsSender.client-23U65FBQ.mjs.map +0 -1
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @qrvey/sms
2
2
 
3
3
  ![install size](https://packagephobia.now.sh/badge?p=%40qrvey%2Fsms)
4
- ![coverage](https://img.shields.io/badge/unit_test_coverage-87%25-brightgreen)
4
+ ![coverage](https://img.shields.io/badge/unit_test_coverage-88%25-brightgreen)
5
5
 
6
6
  **@qrvey/sms** is a lightweight and reliable library to send manage sms messages. It supports different clients such SNS (AWS), ACS (Azure), Twilio, and Vonage.
7
7
 
@@ -13,6 +13,15 @@ You can install the **@qrvey/sms** package via npm. Run the following command in
13
13
  npm install @qrvey/sms
14
14
  ```
15
15
 
16
+ ## Peer Dependencies
17
+
18
+ This package has the following peer dependencies:
19
+
20
+ - `@aws-sdk/client-sns` (v3.x) for interacting with **AWS SNS**.
21
+ - `@azure/communication-sms` (v1.x) for interacting with **Azure Communication Services**.
22
+ - `@vonage/server-sdk` (v3.x) and `@vonage/auth` (v1.x) for interacting with **Vonage**.
23
+ - `twilio` (v5.x) for interacting with **Twilio**.
24
+
16
25
  ## Configuration
17
26
 
18
27
  To work properly, the package need some env variables. To set the sms provider, you must set the `SMS_PROVIDER` env variable with one of these values:
@@ -5,7 +5,7 @@ const constants_1 = require("../../utils/constants");
5
5
  const client_sns_1 = require("@aws-sdk/client-sns");
6
6
  class AwsSMSSenderClient {
7
7
  constructor() {
8
- this._send = async (phone, message) => {
8
+ this.sendOne = async (phone, message) => {
9
9
  const command = new client_sns_1.PublishCommand({
10
10
  Message: message,
11
11
  PhoneNumber: phone,
@@ -27,7 +27,7 @@ class AwsSMSSenderClient {
27
27
  sent: [],
28
28
  failed: [],
29
29
  };
30
- await Promise.all(phones.map((phone) => this._send(phone, message)
30
+ await Promise.all(phones.map((phone) => this.sendOne(phone, message)
31
31
  .then(() => result.sent.push({ phone }))
32
32
  .catch((error) => result.failed.push({ phone, error: error.message }))));
33
33
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"awsSmsSender.client.js","sourceRoot":"","sources":["../../../../src/services/clients/awsSmsSender.client.ts"],"names":[],"mappings":";;AAAA,yCAA2D;AAG3D,qDAAmE;AACnE,oDAI6B;AAE7B,MAAqB,kBAAkB;IAEnC;QAiCQ,UAAK,GAAG,KAAK,EACjB,KAAa,EACb,OAAe,EACc,EAAE;YAC/B,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC;gBAC/B,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,KAAK;aACrB,CAAC,CAAC;YAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;QA1CE,IAAI,CAAC,CAAC,oBAAQ,IAAI,oBAAQ,CAAC;YAAE,MAAM,IAAI,oCAA2B,EAAE,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,IAAI,sBAAS,CAAC;YACxB,MAAM,EAAE,kBAAM;YACd,WAAW,EAAE;gBACT,WAAW,EAAE,oBAAQ;gBACrB,eAAe,EAAE,oBAAQ;aAC5B;SACJ,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,IAAI,CACb,SAAmB,EAAE,EACrB,OAAe;QAEf,MAAM,MAAM,GAAe;YACvB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACb,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;aACrB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aACvC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CACtD,CACR,CACJ,CAAC;QAEF,OAAO,MAAM,CAAC;IAClB,CAAC;CAaJ;AA9CD,qCA8CC"}
1
+ {"version":3,"file":"awsSmsSender.client.js","sourceRoot":"","sources":["../../../../src/services/clients/awsSmsSender.client.ts"],"names":[],"mappings":";;AAAA,yCAA2D;AAG3D,qDAAmE;AACnE,oDAI6B;AAE7B,MAAqB,kBAAkB;IAEnC;QAiCQ,YAAO,GAAG,KAAK,EACnB,KAAa,EACb,OAAe,EACc,EAAE;YAC/B,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC;gBAC/B,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,KAAK;aACrB,CAAC,CAAC;YAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;QA1CE,IAAI,CAAC,CAAC,oBAAQ,IAAI,oBAAQ,CAAC;YAAE,MAAM,IAAI,oCAA2B,EAAE,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,IAAI,sBAAS,CAAC;YACxB,MAAM,EAAE,kBAAM;YACd,WAAW,EAAE;gBACT,WAAW,EAAE,oBAAQ;gBACrB,eAAe,EAAE,oBAAQ;aAC5B;SACJ,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,IAAI,CACb,SAAmB,EAAE,EACrB,OAAe;QAEf,MAAM,MAAM,GAAe;YACvB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACb,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;aACvB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aACvC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CACtD,CACR,CACJ,CAAC;QAEF,OAAO,MAAM,CAAC;IAClB,CAAC;CAaJ;AA9CD,qCA8CC"}
@@ -5,7 +5,7 @@ const constants_1 = require("../../utils/constants");
5
5
  const errors_1 = require("../../errors");
6
6
  class TwilioSMSSenderClient {
7
7
  constructor() {
8
- this._send = (phone, message) => this.client.messages.create({
8
+ this.sendOne = (phone, message) => this.client.messages.create({
9
9
  from: constants_1.FROM,
10
10
  to: phone,
11
11
  body: message,
@@ -16,7 +16,7 @@ class TwilioSMSSenderClient {
16
16
  throw new errors_1.NotProvidedCredentialsError();
17
17
  }
18
18
  async send(phones = [], message) {
19
- const sentMessages = await Promise.all(phones.map((phone) => this._send(phone, message)));
19
+ const sentMessages = await Promise.all(phones.map((phone) => this.sendOne(phone, message)));
20
20
  const result = {
21
21
  sent: [],
22
22
  failed: [],
@@ -1 +1 @@
1
- {"version":3,"file":"twilioSmsSender.client.js","sourceRoot":"","sources":["../../../../src/services/clients/twilioSmsSender.client.ts"],"names":[],"mappings":";;AACA,mCAAgC;AAChC,qDAAiE;AAGjE,yCAA2D;AAE3D,MAAqB,qBAAqB;IAEtC;QAiCQ,UAAK,GAAG,CACZ,KAAa,EACb,OAAe,EACS,EAAE,CAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,gBAAI;YACV,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,OAAO;SAChB,CAAC,CAAC;QAxCH,IAAI,oBAAQ,IAAI,oBAAQ;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,oBAAQ,EAAE,oBAAQ,CAAC,CAAC;;YAClE,MAAM,IAAI,oCAA2B,EAAE,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,IAAI,CACb,SAAmB,EAAE,EACrB,OAAe;QAEf,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CACpD,CAAC;QAEF,MAAM,MAAM,GAAe;YACvB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACb,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAO,CAAC,YAAY,EAAE;gBACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,OAAO,CAAC,EAAE;oBACjB,KAAK,EAAE,OAAO,CAAC,YAAY;iBAC9B,CAAC,CAAC;aACN;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBACb,KAAK,EAAE,OAAO,CAAC,EAAE;iBACpB,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;CAWJ;AA5CD,wCA4CC"}
1
+ {"version":3,"file":"twilioSmsSender.client.js","sourceRoot":"","sources":["../../../../src/services/clients/twilioSmsSender.client.ts"],"names":[],"mappings":";;AACA,mCAAgC;AAChC,qDAAiE;AAGjE,yCAA2D;AAE3D,MAAqB,qBAAqB;IAEtC;QAiCQ,YAAO,GAAG,CACd,KAAa,EACb,OAAe,EACS,EAAE,CAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,gBAAI;YACV,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,OAAO;SAChB,CAAC,CAAC;QAxCH,IAAI,oBAAQ,IAAI,oBAAQ;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,oBAAQ,EAAE,oBAAQ,CAAC,CAAC;;YAClE,MAAM,IAAI,oCAA2B,EAAE,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,IAAI,CACb,SAAmB,EAAE,EACrB,OAAe;QAEf,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CACtD,CAAC;QAEF,MAAM,MAAM,GAAe;YACvB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACb,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAO,CAAC,YAAY,EAAE;gBACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,OAAO,CAAC,EAAE;oBACjB,KAAK,EAAE,OAAO,CAAC,YAAY;iBAC9B,CAAC,CAAC;aACN;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBACb,KAAK,EAAE,OAAO,CAAC,EAAE;iBACpB,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;CAWJ;AA5CD,wCA4CC"}
@@ -6,17 +6,7 @@ const constants_1 = require("../../utils/constants");
6
6
  const errors_1 = require("../../errors");
7
7
  class VonageSMSSenderClient {
8
8
  constructor() {
9
- this.send = async (phones, message) => {
10
- const result = {
11
- sent: [],
12
- failed: [],
13
- };
14
- await Promise.all(phones.map((phone) => this._send(phone, message)
15
- .then(() => result.sent.push({ phone }))
16
- .catch((error) => result.failed.push({ phone, error: error.message }))));
17
- return result;
18
- };
19
- this._send = (phone, message) => this.client.sms.send({
9
+ this.sendOne = (phone, message) => this.client.sms.send({
20
10
  to: phone,
21
11
  text: message,
22
12
  from: constants_1.FROM,
@@ -29,6 +19,16 @@ class VonageSMSSenderClient {
29
19
  });
30
20
  this.client = new server_sdk_1.Vonage(vonageAuth);
31
21
  }
22
+ async send(phones, message) {
23
+ const result = {
24
+ sent: [],
25
+ failed: [],
26
+ };
27
+ await Promise.all(phones.map((phone) => this.sendOne(phone, message)
28
+ .then(() => result.sent.push({ phone }))
29
+ .catch((error) => result.failed.push({ phone, error: error.message }))));
30
+ return result;
31
+ }
32
32
  }
33
33
  exports.default = VonageSMSSenderClient;
34
34
  //# sourceMappingURL=vonageSmsSender.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vonageSmsSender.client.js","sourceRoot":"","sources":["../../../../src/services/clients/vonageSmsSender.client.ts"],"names":[],"mappings":";;AAEA,mDAA4C;AAC5C,uCAAoC;AACpC,qDAAiE;AACjE,yCAA2D;AAG3D,MAAqB,qBAAqB;IAEtC;QAUO,SAAI,GAAG,KAAK,EACf,MAAgB,EAChB,OAAe,EACI,EAAE;YACrB,MAAM,MAAM,GAAe;gBACvB,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,EAAE;aACb,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;iBACrB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;iBACvC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CACtD,CACR,CACJ,CAAC;YAEF,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QAEM,UAAK,GAAG,CAAC,KAAa,EAAE,OAAe,EAAwB,EAAE,CACrE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACjB,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAc;SACvB,CAAC,CAAC;QApCH,IAAI,CAAC,CAAC,oBAAQ,IAAI,oBAAQ,IAAI,gBAAI,CAAC;YAC/B,MAAM,IAAI,oCAA2B,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,WAAI,CAAC;YACxB,MAAM,EAAE,oBAAQ;YAChB,SAAS,EAAE,oBAAQ;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAM,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;CA8BJ;AAxCD,wCAwCC"}
1
+ {"version":3,"file":"vonageSmsSender.client.js","sourceRoot":"","sources":["../../../../src/services/clients/vonageSmsSender.client.ts"],"names":[],"mappings":";;AAEA,mDAA4C;AAC5C,uCAAoC;AACpC,qDAAiE;AACjE,yCAA2D;AAG3D,MAAqB,qBAAqB;IAEtC;QA6BQ,YAAO,GAAG,CAAC,KAAa,EAAE,OAAe,EAAwB,EAAE,CACvE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACjB,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAc;SACvB,CAAC,CAAC;QAjCH,IAAI,CAAC,CAAC,oBAAQ,IAAI,oBAAQ,IAAI,gBAAI,CAAC;YAC/B,MAAM,IAAI,oCAA2B,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,WAAI,CAAC;YACxB,MAAM,EAAE,oBAAQ;YAChB,SAAS,EAAE,oBAAQ;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAM,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAgB,EAAE,OAAe;QAC/C,MAAM,MAAM,GAAe;YACvB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACb,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;aACvB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aACvC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CACtD,CACR,CACJ,CAAC;QAEF,OAAO,MAAM,CAAC;IAClB,CAAC;CAQJ;AArCD,wCAqCC"}
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SMSSenderService = void 0;
4
4
  const smsSenderFactory_service_1 = require("./smsSenderFactory.service");
5
5
  class SMSSenderService {
6
- constructor() {
7
- /**
8
- * Send a message to one or more phones.
9
- * @param phones - phone numbers to send to
10
- * @param message - message to send
11
- * @returns {Promise<SendResult>} Send result.
12
- */
13
- this.send = async (phones, message) => (await smsSenderFactory_service_1.SMSSenderFactory.getSMSSender()).send(phones, message);
6
+ /**
7
+ * Send a message to one or more phones.
8
+ * @param phones - phone numbers to send to
9
+ * @param message - message to send
10
+ * @returns {Promise<SendResult>} Send result.
11
+ */
12
+ async send(phones, message) {
13
+ return (await smsSenderFactory_service_1.SMSSenderFactory.getSMSSender()).send(phones, message);
14
14
  }
15
15
  }
16
16
  exports.SMSSenderService = SMSSenderService;
@@ -1 +1 @@
1
- {"version":3,"file":"smsSender.service.js","sourceRoot":"","sources":["../../../src/services/smsSender.service.ts"],"names":[],"mappings":";;;AACA,yEAA8D;AAE9D,MAAa,gBAAgB;IAA7B;QACI;;;;;WAKG;QACI,SAAI,GAAG,KAAK,EACf,MAAgB,EAChB,OAAe,EACI,EAAE,CACrB,CAAC,MAAM,2CAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;CAAA;AAZD,4CAYC"}
1
+ {"version":3,"file":"smsSender.service.js","sourceRoot":"","sources":["../../../src/services/smsSender.service.ts"],"names":[],"mappings":";;;AACA,yEAA8D;AAE9D,MAAa,gBAAgB;IACzB;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CAAC,MAAgB,EAAE,OAAe;QAC/C,OAAO,CAAC,MAAM,2CAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;CACJ;AAVD,4CAUC"}
@@ -3,7 +3,7 @@ import { PublishCommand, SNSClient } from '@aws-sdk/client-sns';
3
3
 
4
4
  var AwsSMSSenderClient = class {
5
5
  constructor() {
6
- this._send = async (phone, message) => {
6
+ this.sendOne = async (phone, message) => {
7
7
  const command = new PublishCommand({
8
8
  Message: message,
9
9
  PhoneNumber: phone
@@ -27,7 +27,7 @@ var AwsSMSSenderClient = class {
27
27
  };
28
28
  await Promise.all(
29
29
  phones.map(
30
- (phone) => this._send(phone, message).then(() => result.sent.push({ phone })).catch(
30
+ (phone) => this.sendOne(phone, message).then(() => result.sent.push({ phone })).catch(
31
31
  (error) => result.failed.push({ phone, error: error.message })
32
32
  )
33
33
  )
@@ -38,4 +38,4 @@ var AwsSMSSenderClient = class {
38
38
 
39
39
  export { AwsSMSSenderClient as default };
40
40
  //# sourceMappingURL=out.js.map
41
- //# sourceMappingURL=awsSmsSender.client-DGZ2JYIG.mjs.map
41
+ //# sourceMappingURL=awsSmsSender.client-4AURYPI4.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/clients/awsSmsSender.client.ts"],"names":[],"mappings":";;;;;;;;AAIA;AAAA,EACI;AAAA,EAEA;AAAA,OACG;AAEP,IAAqB,qBAArB,MAA8D;AAAA,EAE1D,cAAc;AAiCd,SAAQ,QAAQ,OACZ,OACA,YACgC;AAChC,YAAM,UAAU,IAAI,eAAe;AAAA,QAC/B,SAAS;AAAA,QACT,aAAa;AAAA,MACjB,CAAC;AAED,aAAO,MAAM,KAAK,OAAO,KAAK,OAAO;AAAA,IACzC;AA1CI,QAAI,EAAE,YAAY;AAAW,YAAM,IAAI,4BAA4B;AACnE,SAAK,SAAS,IAAI,UAAU;AAAA,MACxB,QAAQ;AAAA,MACR,aAAa;AAAA,QACT,aAAa;AAAA,QACb,iBAAiB;AAAA,MACrB;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,MAAa,KACT,SAAmB,CAAC,GACpB,SACmB;AACnB,UAAM,SAAqB;AAAA,MACvB,MAAM,CAAC;AAAA,MACP,QAAQ,CAAC;AAAA,IACb;AAEA,UAAM,QAAQ;AAAA,MACV,OAAO;AAAA,QAAI,CAAC,UACR,KAAK,MAAM,OAAO,OAAO,EACpB,KAAK,MAAM,OAAO,KAAK,KAAK,EAAE,MAAM,CAAC,CAAC,EACtC;AAAA,UAAM,CAAC,UACJ,OAAO,OAAO,KAAK,EAAE,OAAO,OAAO,MAAM,QAAQ,CAAC;AAAA,QACtD;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAaJ","sourcesContent":["import { NotProvidedCredentialsError } from '../../errors';\nimport { ISMSSender } from '../../interfaces';\nimport { SendResult } from '../../types';\nimport { PASSWORD, REGION, USERNAME } from '../../utils/constants';\nimport {\n PublishCommand,\n PublishCommandOutput,\n SNSClient,\n} from '@aws-sdk/client-sns';\n\nexport default class AwsSMSSenderClient implements ISMSSender {\n private client: SNSClient;\n constructor() {\n if (!(USERNAME && PASSWORD)) throw new NotProvidedCredentialsError();\n this.client = new SNSClient({\n region: REGION,\n credentials: {\n accessKeyId: USERNAME,\n secretAccessKey: PASSWORD,\n },\n });\n }\n\n public async send(\n phones: string[] = [],\n message: string,\n ): Promise<SendResult> {\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n\n await Promise.all(\n phones.map((phone) =>\n this._send(phone, message)\n .then(() => result.sent.push({ phone }))\n .catch((error) =>\n result.failed.push({ phone, error: error.message }),\n ),\n ),\n );\n\n return result;\n }\n\n private _send = async (\n phone: string,\n message: string,\n ): Promise<PublishCommandOutput> => {\n const command = new PublishCommand({\n Message: message,\n PhoneNumber: phone,\n });\n\n return await this.client.send(command);\n };\n}\n"]}
1
+ {"version":3,"sources":["../../src/services/clients/awsSmsSender.client.ts"],"names":[],"mappings":";;;;;;;;AAIA;AAAA,EACI;AAAA,EAEA;AAAA,OACG;AAEP,IAAqB,qBAArB,MAA8D;AAAA,EAE1D,cAAc;AAiCd,SAAQ,UAAU,OACd,OACA,YACgC;AAChC,YAAM,UAAU,IAAI,eAAe;AAAA,QAC/B,SAAS;AAAA,QACT,aAAa;AAAA,MACjB,CAAC;AAED,aAAO,MAAM,KAAK,OAAO,KAAK,OAAO;AAAA,IACzC;AA1CI,QAAI,EAAE,YAAY;AAAW,YAAM,IAAI,4BAA4B;AACnE,SAAK,SAAS,IAAI,UAAU;AAAA,MACxB,QAAQ;AAAA,MACR,aAAa;AAAA,QACT,aAAa;AAAA,QACb,iBAAiB;AAAA,MACrB;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,MAAa,KACT,SAAmB,CAAC,GACpB,SACmB;AACnB,UAAM,SAAqB;AAAA,MACvB,MAAM,CAAC;AAAA,MACP,QAAQ,CAAC;AAAA,IACb;AAEA,UAAM,QAAQ;AAAA,MACV,OAAO;AAAA,QAAI,CAAC,UACR,KAAK,QAAQ,OAAO,OAAO,EACtB,KAAK,MAAM,OAAO,KAAK,KAAK,EAAE,MAAM,CAAC,CAAC,EACtC;AAAA,UAAM,CAAC,UACJ,OAAO,OAAO,KAAK,EAAE,OAAO,OAAO,MAAM,QAAQ,CAAC;AAAA,QACtD;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAaJ","sourcesContent":["import { NotProvidedCredentialsError } from '../../errors';\nimport { ISMSSender } from '../../interfaces';\nimport { SendResult } from '../../types';\nimport { PASSWORD, REGION, USERNAME } from '../../utils/constants';\nimport {\n PublishCommand,\n PublishCommandOutput,\n SNSClient,\n} from '@aws-sdk/client-sns';\n\nexport default class AwsSMSSenderClient implements ISMSSender {\n private client: SNSClient;\n constructor() {\n if (!(USERNAME && PASSWORD)) throw new NotProvidedCredentialsError();\n this.client = new SNSClient({\n region: REGION,\n credentials: {\n accessKeyId: USERNAME,\n secretAccessKey: PASSWORD,\n },\n });\n }\n\n public async send(\n phones: string[] = [],\n message: string,\n ): Promise<SendResult> {\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n\n await Promise.all(\n phones.map((phone) =>\n this.sendOne(phone, message)\n .then(() => result.sent.push({ phone }))\n .catch((error) =>\n result.failed.push({ phone, error: error.message }),\n ),\n ),\n );\n\n return result;\n }\n\n private sendOne = async (\n phone: string,\n message: string,\n ): Promise<PublishCommandOutput> => {\n const command = new PublishCommand({\n Message: message,\n PhoneNumber: phone,\n });\n\n return await this.client.send(command);\n };\n}\n"]}
@@ -14,7 +14,7 @@ declare class SMSSenderService {
14
14
  * @param message - message to send
15
15
  * @returns {Promise<SendResult>} Send result.
16
16
  */
17
- send: (phones: string[], message: string) => Promise<SendResult>;
17
+ send(phones: string[], message: string): Promise<SendResult>;
18
18
  }
19
19
 
20
20
  export { SMSSenderService, SendResult };
@@ -12,22 +12,22 @@ var SMSSenderFactory = class {
12
12
  }
13
13
  };
14
14
  SMSSenderFactory.providerModules = {
15
- twilio: () => import('./twilioSmsSender.client-2Z4R25US.mjs'),
16
- aws: () => import('./awsSmsSender.client-DGZ2JYIG.mjs'),
15
+ twilio: () => import('./twilioSmsSender.client-OKXZ2R67.mjs'),
16
+ aws: () => import('./awsSmsSender.client-4AURYPI4.mjs'),
17
17
  azure: () => import('./azureSmsSender.client-K6MPTIU7.mjs'),
18
- vonage: () => import('./vonageSmsSender.client-23U65FBQ.mjs')
18
+ vonage: () => import('./vonageSmsSender.client-TOAW6CJU.mjs')
19
19
  };
20
20
 
21
21
  // src/services/smsSender.service.ts
22
22
  var SMSSenderService = class {
23
- constructor() {
24
- /**
25
- * Send a message to one or more phones.
26
- * @param phones - phone numbers to send to
27
- * @param message - message to send
28
- * @returns {Promise<SendResult>} Send result.
29
- */
30
- this.send = async (phones, message) => (await SMSSenderFactory.getSMSSender()).send(phones, message);
23
+ /**
24
+ * Send a message to one or more phones.
25
+ * @param phones - phone numbers to send to
26
+ * @param message - message to send
27
+ * @returns {Promise<SendResult>} Send result.
28
+ */
29
+ async send(phones, message) {
30
+ return (await SMSSenderFactory.getSMSSender()).send(phones, message);
31
31
  }
32
32
  };
33
33
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/smsSenderFactory.service.ts","../../src/services/smsSender.service.ts"],"names":[],"mappings":";;;;;;AAKO,IAAM,mBAAN,MAAuB;AAAA,EAW1B,aAAa,eAAoC;AAhBrD;AAiBQ,UAAM,YAAW,yCAAc;AAC/B,QAAI,CAAC;AAAU,YAAM,IAAI,qBAAqB;AAE9C,UAAM,EAAE,SAAS,UAAU,IAAI,MAAM,KAAK,gBAAgB,QAAQ,EAAE;AACpE,WAAO,IAAI,UAAU;AAAA,EACzB;AACJ;AAlBa,iBACM,kBAGX;AAAA,EACA,QAAQ,MAAM,OAAO,uCAAkC;AAAA,EACvD,KAAK,MAAM,OAAO,oCAA+B;AAAA,EACjD,OAAO,MAAM,OAAO,sCAAiC;AAAA,EACrD,QAAQ,MAAM,OAAO,uCAAkC;AAC3D;;;ACXG,IAAM,mBAAN,MAAuB;AAAA,EAAvB;AAOH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAO,OAAO,OACV,QACA,aAEC,MAAM,iBAAiB,aAAa,GAAG,KAAK,QAAQ,OAAO;AAAA;AACpE","sourcesContent":["import { UnknownProviderError } from '../errors';\nimport { ISMSSender } from '../interfaces';\nimport { SMSProviderModule } from '../types';\nimport { SMS_PROVIDER } from '../utils/constants';\n\nexport class SMSSenderFactory {\n private static providerModules: Record<\n string,\n () => Promise<SMSProviderModule>\n > = {\n twilio: () => import('./clients/twilioSmsSender.client'),\n aws: () => import('./clients/awsSmsSender.client'),\n azure: () => import('./clients/azureSmsSender.client'),\n vonage: () => import('./clients/vonageSmsSender.client'),\n };\n\n static async getSMSSender(): Promise<ISMSSender> {\n const provider = SMS_PROVIDER?.toLowerCase();\n if (!provider) throw new UnknownProviderError();\n\n const { default: SMSSender } = await this.providerModules[provider]();\n return new SMSSender();\n }\n}\n","import { SendResult } from '../types';\nimport { SMSSenderFactory } from './smsSenderFactory.service';\n\nexport class SMSSenderService {\n /**\n * Send a message to one or more phones.\n * @param phones - phone numbers to send to\n * @param message - message to send\n * @returns {Promise<SendResult>} Send result.\n */\n public send = async (\n phones: string[],\n message: string,\n ): Promise<SendResult> =>\n (await SMSSenderFactory.getSMSSender()).send(phones, message);\n}\n"]}
1
+ {"version":3,"sources":["../../src/services/smsSenderFactory.service.ts","../../src/services/smsSender.service.ts"],"names":[],"mappings":";;;;;;AAKO,IAAM,mBAAN,MAAuB;AAAA,EAW1B,aAAa,eAAoC;AAhBrD;AAiBQ,UAAM,YAAW,yCAAc;AAC/B,QAAI,CAAC;AAAU,YAAM,IAAI,qBAAqB;AAE9C,UAAM,EAAE,SAAS,UAAU,IAAI,MAAM,KAAK,gBAAgB,QAAQ,EAAE;AACpE,WAAO,IAAI,UAAU;AAAA,EACzB;AACJ;AAlBa,iBACM,kBAGX;AAAA,EACA,QAAQ,MAAM,OAAO,uCAAkC;AAAA,EACvD,KAAK,MAAM,OAAO,oCAA+B;AAAA,EACjD,OAAO,MAAM,OAAO,sCAAiC;AAAA,EACrD,QAAQ,MAAM,OAAO,uCAAkC;AAC3D;;;ACXG,IAAM,mBAAN,MAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO1B,MAAa,KAAK,QAAkB,SAAsC;AACtE,YAAQ,MAAM,iBAAiB,aAAa,GAAG,KAAK,QAAQ,OAAO;AAAA,EACvE;AACJ","sourcesContent":["import { UnknownProviderError } from '../errors';\nimport { ISMSSender } from '../interfaces';\nimport { SMSProviderModule } from '../types';\nimport { SMS_PROVIDER } from '../utils/constants';\n\nexport class SMSSenderFactory {\n private static providerModules: Record<\n string,\n () => Promise<SMSProviderModule>\n > = {\n twilio: () => import('./clients/twilioSmsSender.client'),\n aws: () => import('./clients/awsSmsSender.client'),\n azure: () => import('./clients/azureSmsSender.client'),\n vonage: () => import('./clients/vonageSmsSender.client'),\n };\n\n static async getSMSSender(): Promise<ISMSSender> {\n const provider = SMS_PROVIDER?.toLowerCase();\n if (!provider) throw new UnknownProviderError();\n\n const { default: SMSSender } = await this.providerModules[provider]();\n return new SMSSender();\n }\n}\n","import { SendResult } from '../types';\nimport { SMSSenderFactory } from './smsSenderFactory.service';\n\nexport class SMSSenderService {\n /**\n * Send a message to one or more phones.\n * @param phones - phone numbers to send to\n * @param message - message to send\n * @returns {Promise<SendResult>} Send result.\n */\n public async send(phones: string[], message: string): Promise<SendResult> {\n return (await SMSSenderFactory.getSMSSender()).send(phones, message);\n }\n}\n"]}
@@ -3,7 +3,7 @@ import { Twilio } from 'twilio';
3
3
 
4
4
  var TwilioSMSSenderClient = class {
5
5
  constructor() {
6
- this._send = (phone, message) => this.client.messages.create({
6
+ this.sendOne = (phone, message) => this.client.messages.create({
7
7
  from: FROM,
8
8
  to: phone,
9
9
  body: message
@@ -15,7 +15,7 @@ var TwilioSMSSenderClient = class {
15
15
  }
16
16
  async send(phones = [], message) {
17
17
  const sentMessages = await Promise.all(
18
- phones.map((phone) => this._send(phone, message))
18
+ phones.map((phone) => this.sendOne(phone, message))
19
19
  );
20
20
  const result = {
21
21
  sent: [],
@@ -39,4 +39,4 @@ var TwilioSMSSenderClient = class {
39
39
 
40
40
  export { TwilioSMSSenderClient as default };
41
41
  //# sourceMappingURL=out.js.map
42
- //# sourceMappingURL=twilioSmsSender.client-2Z4R25US.mjs.map
42
+ //# sourceMappingURL=twilioSmsSender.client-OKXZ2R67.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/clients/twilioSmsSender.client.ts"],"names":["message"],"mappings":";;;;;;;;AACA,SAAS,cAAc;AAMvB,IAAqB,wBAArB,MAAiE;AAAA,EAE7D,cAAc;AAiCd,SAAQ,QAAQ,CACZ,OACA,YAEA,KAAK,OAAO,SAAS,OAAO;AAAA,MACxB,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,MAAM;AAAA,IACV,CAAC;AAxCD,QAAI,YAAY;AAAU,WAAK,SAAS,IAAI,OAAO,UAAU,QAAQ;AAAA;AAChE,YAAM,IAAI,4BAA4B;AAAA,EAC/C;AAAA,EAEA,MAAa,KACT,SAAmB,CAAC,GACpB,SACmB;AACnB,UAAM,eAAe,MAAM,QAAQ;AAAA,MAC/B,OAAO,IAAI,CAAC,UAAU,KAAK,MAAM,OAAO,OAAO,CAAC;AAAA,IACpD;AAEA,UAAM,SAAqB;AAAA,MACvB,MAAM,CAAC;AAAA,MACP,QAAQ,CAAC;AAAA,IACb;AACA,iBAAa,QAAQ,CAACA,aAAY;AAC9B,UAAIA,SAAQ,cAAc;AACtB,eAAO,OAAO,KAAK;AAAA,UACf,OAAOA,SAAQ;AAAA,UACf,OAAOA,SAAQ;AAAA,QACnB,CAAC;AAAA,MACL,OAAO;AACH,eAAO,KAAK,KAAK;AAAA,UACb,OAAOA,SAAQ;AAAA,QACnB,CAAC;AAAA,MACL;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,EACX;AAWJ","sourcesContent":["import { ISMSSender } from '../../interfaces/smsSender.interface';\nimport { Twilio } from 'twilio';\nimport { USERNAME, PASSWORD, FROM } from '../../utils/constants';\nimport { MessageInstance } from 'twilio/lib/rest/api/v2010/account/message';\nimport { SendResult } from '../../types/sendResult.type';\nimport { NotProvidedCredentialsError } from '../../errors';\n\nexport default class TwilioSMSSenderClient implements ISMSSender {\n private client: Twilio;\n constructor() {\n if (USERNAME && PASSWORD) this.client = new Twilio(USERNAME, PASSWORD);\n else throw new NotProvidedCredentialsError();\n }\n\n public async send(\n phones: string[] = [],\n message: string,\n ): Promise<SendResult> {\n const sentMessages = await Promise.all(\n phones.map((phone) => this._send(phone, message)),\n );\n\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n sentMessages.forEach((message) => {\n if (message.errorMessage) {\n result.failed.push({\n phone: message.to,\n error: message.errorMessage,\n });\n } else {\n result.sent.push({\n phone: message.to,\n });\n }\n });\n\n return result;\n }\n\n private _send = (\n phone: string,\n message: string,\n ): Promise<MessageInstance> =>\n this.client.messages.create({\n from: FROM,\n to: phone,\n body: message,\n });\n}\n"]}
1
+ {"version":3,"sources":["../../src/services/clients/twilioSmsSender.client.ts"],"names":["message"],"mappings":";;;;;;;;AACA,SAAS,cAAc;AAMvB,IAAqB,wBAArB,MAAiE;AAAA,EAE7D,cAAc;AAiCd,SAAQ,UAAU,CACd,OACA,YAEA,KAAK,OAAO,SAAS,OAAO;AAAA,MACxB,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,MAAM;AAAA,IACV,CAAC;AAxCD,QAAI,YAAY;AAAU,WAAK,SAAS,IAAI,OAAO,UAAU,QAAQ;AAAA;AAChE,YAAM,IAAI,4BAA4B;AAAA,EAC/C;AAAA,EAEA,MAAa,KACT,SAAmB,CAAC,GACpB,SACmB;AACnB,UAAM,eAAe,MAAM,QAAQ;AAAA,MAC/B,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,OAAO,OAAO,CAAC;AAAA,IACtD;AAEA,UAAM,SAAqB;AAAA,MACvB,MAAM,CAAC;AAAA,MACP,QAAQ,CAAC;AAAA,IACb;AACA,iBAAa,QAAQ,CAACA,aAAY;AAC9B,UAAIA,SAAQ,cAAc;AACtB,eAAO,OAAO,KAAK;AAAA,UACf,OAAOA,SAAQ;AAAA,UACf,OAAOA,SAAQ;AAAA,QACnB,CAAC;AAAA,MACL,OAAO;AACH,eAAO,KAAK,KAAK;AAAA,UACb,OAAOA,SAAQ;AAAA,QACnB,CAAC;AAAA,MACL;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,EACX;AAWJ","sourcesContent":["import { ISMSSender } from '../../interfaces/smsSender.interface';\nimport { Twilio } from 'twilio';\nimport { USERNAME, PASSWORD, FROM } from '../../utils/constants';\nimport { MessageInstance } from 'twilio/lib/rest/api/v2010/account/message';\nimport { SendResult } from '../../types/sendResult.type';\nimport { NotProvidedCredentialsError } from '../../errors';\n\nexport default class TwilioSMSSenderClient implements ISMSSender {\n private client: Twilio;\n constructor() {\n if (USERNAME && PASSWORD) this.client = new Twilio(USERNAME, PASSWORD);\n else throw new NotProvidedCredentialsError();\n }\n\n public async send(\n phones: string[] = [],\n message: string,\n ): Promise<SendResult> {\n const sentMessages = await Promise.all(\n phones.map((phone) => this.sendOne(phone, message)),\n );\n\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n sentMessages.forEach((message) => {\n if (message.errorMessage) {\n result.failed.push({\n phone: message.to,\n error: message.errorMessage,\n });\n } else {\n result.sent.push({\n phone: message.to,\n });\n }\n });\n\n return result;\n }\n\n private sendOne = (\n phone: string,\n message: string,\n ): Promise<MessageInstance> =>\n this.client.messages.create({\n from: FROM,\n to: phone,\n body: message,\n });\n}\n"]}
@@ -4,21 +4,7 @@ import { Auth } from '@vonage/auth';
4
4
 
5
5
  var VonageSMSSenderClient = class {
6
6
  constructor() {
7
- this.send = async (phones, message) => {
8
- const result = {
9
- sent: [],
10
- failed: []
11
- };
12
- await Promise.all(
13
- phones.map(
14
- (phone) => this._send(phone, message).then(() => result.sent.push({ phone })).catch(
15
- (error) => result.failed.push({ phone, error: error.message })
16
- )
17
- )
18
- );
19
- return result;
20
- };
21
- this._send = (phone, message) => this.client.sms.send({
7
+ this.sendOne = (phone, message) => this.client.sms.send({
22
8
  to: phone,
23
9
  text: message,
24
10
  from: FROM
@@ -31,8 +17,22 @@ var VonageSMSSenderClient = class {
31
17
  });
32
18
  this.client = new Vonage(vonageAuth);
33
19
  }
20
+ async send(phones, message) {
21
+ const result = {
22
+ sent: [],
23
+ failed: []
24
+ };
25
+ await Promise.all(
26
+ phones.map(
27
+ (phone) => this.sendOne(phone, message).then(() => result.sent.push({ phone })).catch(
28
+ (error) => result.failed.push({ phone, error: error.message })
29
+ )
30
+ )
31
+ );
32
+ return result;
33
+ }
34
34
  };
35
35
 
36
36
  export { VonageSMSSenderClient as default };
37
37
  //# sourceMappingURL=out.js.map
38
- //# sourceMappingURL=vonageSmsSender.client-23U65FBQ.mjs.map
38
+ //# sourceMappingURL=vonageSmsSender.client-TOAW6CJU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/services/clients/vonageSmsSender.client.ts"],"names":[],"mappings":";;;;;;;;AAEA,SAAS,cAAc;AACvB,SAAS,YAAY;AAKrB,IAAqB,wBAArB,MAAiE;AAAA,EAE7D,cAAc;AA6Bd,SAAQ,UAAU,CAAC,OAAe,YAC9B,KAAK,OAAO,IAAI,KAAK;AAAA,MACjB,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,IACV,CAAC;AAjCD,QAAI,EAAE,YAAY,YAAY;AAC1B,YAAM,IAAI,4BAA4B;AAC1C,UAAM,aAAa,IAAI,KAAK;AAAA,MACxB,QAAQ;AAAA,MACR,WAAW;AAAA,IACf,CAAC;AACD,SAAK,SAAS,IAAI,OAAO,UAAU;AAAA,EACvC;AAAA,EAEA,MAAa,KAAK,QAAkB,SAAsC;AACtE,UAAM,SAAqB;AAAA,MACvB,MAAM,CAAC;AAAA,MACP,QAAQ,CAAC;AAAA,IACb;AAEA,UAAM,QAAQ;AAAA,MACV,OAAO;AAAA,QAAI,CAAC,UACR,KAAK,QAAQ,OAAO,OAAO,EACtB,KAAK,MAAM,OAAO,KAAK,KAAK,EAAE,MAAM,CAAC,CAAC,EACtC;AAAA,UAAM,CAAC,UACJ,OAAO,OAAO,KAAK,EAAE,OAAO,OAAO,MAAM,QAAQ,CAAC;AAAA,QACtD;AAAA,MACR;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAQJ","sourcesContent":["import { ISMSSender } from '../../interfaces';\nimport { SendResult } from '../../types';\nimport { Vonage } from '@vonage/server-sdk';\nimport { Auth } from '@vonage/auth';\nimport { USERNAME, PASSWORD, FROM } from '../../utils/constants';\nimport { NotProvidedCredentialsError } from '../../errors';\nimport { SMSMessages } from '@vonage/sms/dist/lib/types/SMSMessages';\n\nexport default class VonageSMSSenderClient implements ISMSSender {\n private client: Vonage;\n constructor() {\n if (!(USERNAME && PASSWORD && FROM))\n throw new NotProvidedCredentialsError();\n const vonageAuth = new Auth({\n apiKey: USERNAME,\n apiSecret: PASSWORD,\n });\n this.client = new Vonage(vonageAuth);\n }\n\n public async send(phones: string[], message: string): Promise<SendResult> {\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n\n await Promise.all(\n phones.map((phone) =>\n this.sendOne(phone, message)\n .then(() => result.sent.push({ phone }))\n .catch((error) =>\n result.failed.push({ phone, error: error.message }),\n ),\n ),\n );\n\n return result;\n }\n\n private sendOne = (phone: string, message: string): Promise<SMSMessages> =>\n this.client.sms.send({\n to: phone,\n text: message,\n from: FROM as string,\n });\n}\n"]}
@@ -14,7 +14,7 @@ declare class SMSSenderService {
14
14
  * @param message - message to send
15
15
  * @returns {Promise<SendResult>} Send result.
16
16
  */
17
- send: (phones: string[], message: string) => Promise<SendResult>;
17
+ send(phones: string[], message: string): Promise<SendResult>;
18
18
  }
19
19
 
20
20
  export { SMSSenderService, SendResult };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/sms",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "types": "dist/types/index.d.ts",
5
5
  "main": "dist/cjs/index.js",
6
6
  "exports": {
@@ -32,7 +32,7 @@ export default class AwsSMSSenderClient implements ISMSSender {
32
32
 
33
33
  await Promise.all(
34
34
  phones.map((phone) =>
35
- this._send(phone, message)
35
+ this.sendOne(phone, message)
36
36
  .then(() => result.sent.push({ phone }))
37
37
  .catch((error) =>
38
38
  result.failed.push({ phone, error: error.message }),
@@ -43,7 +43,7 @@ export default class AwsSMSSenderClient implements ISMSSender {
43
43
  return result;
44
44
  }
45
45
 
46
- private _send = async (
46
+ private sendOne = async (
47
47
  phone: string,
48
48
  message: string,
49
49
  ): Promise<PublishCommandOutput> => {
@@ -17,7 +17,7 @@ export default class TwilioSMSSenderClient implements ISMSSender {
17
17
  message: string,
18
18
  ): Promise<SendResult> {
19
19
  const sentMessages = await Promise.all(
20
- phones.map((phone) => this._send(phone, message)),
20
+ phones.map((phone) => this.sendOne(phone, message)),
21
21
  );
22
22
 
23
23
  const result: SendResult = {
@@ -40,7 +40,7 @@ export default class TwilioSMSSenderClient implements ISMSSender {
40
40
  return result;
41
41
  }
42
42
 
43
- private _send = (
43
+ private sendOne = (
44
44
  phone: string,
45
45
  message: string,
46
46
  ): Promise<MessageInstance> =>
@@ -18,10 +18,7 @@ export default class VonageSMSSenderClient implements ISMSSender {
18
18
  this.client = new Vonage(vonageAuth);
19
19
  }
20
20
 
21
- public send = async (
22
- phones: string[],
23
- message: string,
24
- ): Promise<SendResult> => {
21
+ public async send(phones: string[], message: string): Promise<SendResult> {
25
22
  const result: SendResult = {
26
23
  sent: [],
27
24
  failed: [],
@@ -29,7 +26,7 @@ export default class VonageSMSSenderClient implements ISMSSender {
29
26
 
30
27
  await Promise.all(
31
28
  phones.map((phone) =>
32
- this._send(phone, message)
29
+ this.sendOne(phone, message)
33
30
  .then(() => result.sent.push({ phone }))
34
31
  .catch((error) =>
35
32
  result.failed.push({ phone, error: error.message }),
@@ -38,9 +35,9 @@ export default class VonageSMSSenderClient implements ISMSSender {
38
35
  );
39
36
 
40
37
  return result;
41
- };
38
+ }
42
39
 
43
- private _send = (phone: string, message: string): Promise<SMSMessages> =>
40
+ private sendOne = (phone: string, message: string): Promise<SMSMessages> =>
44
41
  this.client.sms.send({
45
42
  to: phone,
46
43
  text: message,
@@ -8,9 +8,7 @@ export class SMSSenderService {
8
8
  * @param message - message to send
9
9
  * @returns {Promise<SendResult>} Send result.
10
10
  */
11
- public send = async (
12
- phones: string[],
13
- message: string,
14
- ): Promise<SendResult> =>
15
- (await SMSSenderFactory.getSMSSender()).send(phones, message);
11
+ public async send(phones: string[], message: string): Promise<SendResult> {
12
+ return (await SMSSenderFactory.getSMSSender()).send(phones, message);
13
+ }
16
14
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/services/clients/vonageSmsSender.client.ts"],"names":[],"mappings":";;;;;;;;AAEA,SAAS,cAAc;AACvB,SAAS,YAAY;AAKrB,IAAqB,wBAArB,MAAiE;AAAA,EAE7D,cAAc;AAUd,SAAO,OAAO,OACV,QACA,YACsB;AACtB,YAAM,SAAqB;AAAA,QACvB,MAAM,CAAC;AAAA,QACP,QAAQ,CAAC;AAAA,MACb;AAEA,YAAM,QAAQ;AAAA,QACV,OAAO;AAAA,UAAI,CAAC,UACR,KAAK,MAAM,OAAO,OAAO,EACpB,KAAK,MAAM,OAAO,KAAK,KAAK,EAAE,MAAM,CAAC,CAAC,EACtC;AAAA,YAAM,CAAC,UACJ,OAAO,OAAO,KAAK,EAAE,OAAO,OAAO,MAAM,QAAQ,CAAC;AAAA,UACtD;AAAA,QACR;AAAA,MACJ;AAEA,aAAO;AAAA,IACX;AAEA,SAAQ,QAAQ,CAAC,OAAe,YAC5B,KAAK,OAAO,IAAI,KAAK;AAAA,MACjB,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,IACV,CAAC;AApCD,QAAI,EAAE,YAAY,YAAY;AAC1B,YAAM,IAAI,4BAA4B;AAC1C,UAAM,aAAa,IAAI,KAAK;AAAA,MACxB,QAAQ;AAAA,MACR,WAAW;AAAA,IACf,CAAC;AACD,SAAK,SAAS,IAAI,OAAO,UAAU;AAAA,EACvC;AA8BJ","sourcesContent":["import { ISMSSender } from '../../interfaces';\nimport { SendResult } from '../../types';\nimport { Vonage } from '@vonage/server-sdk';\nimport { Auth } from '@vonage/auth';\nimport { USERNAME, PASSWORD, FROM } from '../../utils/constants';\nimport { NotProvidedCredentialsError } from '../../errors';\nimport { SMSMessages } from '@vonage/sms/dist/lib/types/SMSMessages';\n\nexport default class VonageSMSSenderClient implements ISMSSender {\n private client: Vonage;\n constructor() {\n if (!(USERNAME && PASSWORD && FROM))\n throw new NotProvidedCredentialsError();\n const vonageAuth = new Auth({\n apiKey: USERNAME,\n apiSecret: PASSWORD,\n });\n this.client = new Vonage(vonageAuth);\n }\n\n public send = async (\n phones: string[],\n message: string,\n ): Promise<SendResult> => {\n const result: SendResult = {\n sent: [],\n failed: [],\n };\n\n await Promise.all(\n phones.map((phone) =>\n this._send(phone, message)\n .then(() => result.sent.push({ phone }))\n .catch((error) =>\n result.failed.push({ phone, error: error.message }),\n ),\n ),\n );\n\n return result;\n };\n\n private _send = (phone: string, message: string): Promise<SMSMessages> =>\n this.client.sms.send({\n to: phone,\n text: message,\n from: FROM as string,\n });\n}\n"]}