mnotify-ts-sdk
Version:
Modern, zero-dependency TypeScript SDK for mNotify BMS API - Type-safe SMS, contacts, and account management with Railway-Oriented Programming
63 lines • 3.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.compact = exports.chunk = exports.isValidPhone = exports.normalizePhone = exports.toArray = exports.combine = exports.tryCatchAsync = exports.tryCatch = exports.err = exports.ok = exports.MNotifyError = exports.MNotify = void 0;
const HttpClient_1 = require("./client/HttpClient");
const SMSService_1 = require("./sms/SMSService");
const ContactService_1 = require("./contacts/ContactService");
const AccountService_1 = require("./account/AccountService");
const TemplateService_1 = require("./templates/TemplateService");
const GroupService_1 = require("./groups/GroupService");
const MNotifyError_1 = require("./errors/MNotifyError");
Object.defineProperty(exports, "MNotifyError", { enumerable: true, get: function () { return MNotifyError_1.MNotifyError; } });
/**
* Main MNotify SDK client
*
* @example
* ```typescript
* const mnotify = new MNotify({
* apiKey: process.env.MNOTIFY_API_KEY!
* });
*
* // Send SMS
* const response = await mnotify.sms.sendQuickBulkSMS({
* recipient: ['233200000000'],
* sender: 'MyApp',
* message: 'Hello!'
* });
*
* // Check balance
* const balance = await mnotify.account.getBalance();
*
* // Manage contacts
* const contact = await mnotify.contacts.createContact({
* phone: '233200000000',
* firstname: 'John',
* lastname: 'Doe'
* });
* ```
*/
class MNotify {
constructor(config) {
const client = new HttpClient_1.HttpClient(config);
this.sms = new SMSService_1.SMSService(client);
this.contacts = new ContactService_1.ContactService(client);
this.account = new AccountService_1.AccountService(client);
this.templates = new TemplateService_1.TemplateService(client);
this.groups = new GroupService_1.GroupService(client);
}
}
exports.MNotify = MNotify;
var Result_1 = require("./types/Result");
Object.defineProperty(exports, "ok", { enumerable: true, get: function () { return Result_1.ok; } });
Object.defineProperty(exports, "err", { enumerable: true, get: function () { return Result_1.err; } });
Object.defineProperty(exports, "tryCatch", { enumerable: true, get: function () { return Result_1.tryCatch; } });
Object.defineProperty(exports, "tryCatchAsync", { enumerable: true, get: function () { return Result_1.tryCatchAsync; } });
Object.defineProperty(exports, "combine", { enumerable: true, get: function () { return Result_1.combine; } });
// Export utility functions for advanced use cases
var helpers_1 = require("./utils/helpers");
Object.defineProperty(exports, "toArray", { enumerable: true, get: function () { return helpers_1.toArray; } });
Object.defineProperty(exports, "normalizePhone", { enumerable: true, get: function () { return helpers_1.normalizePhone; } });
Object.defineProperty(exports, "isValidPhone", { enumerable: true, get: function () { return helpers_1.isValidPhone; } });
Object.defineProperty(exports, "chunk", { enumerable: true, get: function () { return helpers_1.chunk; } });
Object.defineProperty(exports, "compact", { enumerable: true, get: function () { return helpers_1.compact; } });
//# sourceMappingURL=index.js.map