Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue #242 - Cannot read property 'MessageState' of undefined #253

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 30 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ export MJ_API_TOKEN='your API token'
Next, require the module and initialize your [Mailjet][mailjet] client:

```javascript
const Mailjet = require('node-mailjet');
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7
```

For `EMAIL API` and `SEND API`:
Expand Down Expand Up @@ -162,7 +163,8 @@ const mailjet = Mailjet.smsConnect(

Here's an example on how to send an email:
```javascript
const Mailjet = require('node-mailjet');
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7
const mailjet = Mailjet.apiConnect(
process.env.MJ_APIKEY_PUBLIC,
process.env.MJ_APIKEY_PRIVATE,
Expand Down Expand Up @@ -697,7 +699,9 @@ You need to define `.id` if you want to perform an action on a specific object a
Create a new **contact**:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand Down Expand Up @@ -725,8 +729,10 @@ request
Manage the **subscription status** of a **contact** to multiple **lists**:

```javascript
const { Client } = require('node-mailjet') // another importing option using destructuring
const mailjet = new Client({
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
});
Expand Down Expand Up @@ -772,7 +778,9 @@ You need to define `.id` if you want to retrieve a specific object.
Retrieve all **contacts**:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand All @@ -796,7 +804,9 @@ request
Retrieve all **contacts** that are not in the **campaign exclusion list**:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand All @@ -820,7 +830,9 @@ request
Retrieve a specific **contact** by `ID`:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand Down Expand Up @@ -861,7 +873,9 @@ It also means that all non-mandatory properties can be omitted from your payload
Update the **contact properties** for a **contact**:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand Down Expand Up @@ -907,7 +921,9 @@ Upon a successful `DELETE` request the response will not include a response body
Delete an email **template**:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand Down Expand Up @@ -935,7 +951,8 @@ Authentication for the `SMS API` endpoints is done using a `Bearer token`.
The `Bearer token` is generated in the [SMS section](https://app.mailjet.com/sms) of your Mailjet account.

```javascript
const Mailjet = require('node-mailjet');
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7
const mailjet = Mailjet.smsConnect(process.env.MJ_API_TOKEN);
```

Expand All @@ -944,7 +961,8 @@ const mailjet = Mailjet.smsConnect(process.env.MJ_API_TOKEN);
Here's an example `SMS API` request:

```javascript
const Mailjet = require('node-mailjet');
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7
const mailjet = Mailjet.smsConnect(process.env.MJ_API_TOKEN, {
config: {
version: 'v4'
Expand Down
42 changes: 30 additions & 12 deletions dist/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ export MJ_API_TOKEN='your API token'
Next, require the module and initialize your [Mailjet][mailjet] client:

```javascript
const Mailjet = require('node-mailjet');
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7
```

For `EMAIL API` and `SEND API`:
Expand Down Expand Up @@ -162,7 +163,8 @@ const mailjet = Mailjet.smsConnect(

Here's an example on how to send an email:
```javascript
const Mailjet = require('node-mailjet');
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7
const mailjet = Mailjet.apiConnect(
process.env.MJ_APIKEY_PUBLIC,
process.env.MJ_APIKEY_PRIVATE,
Expand Down Expand Up @@ -697,7 +699,9 @@ You need to define `.id` if you want to perform an action on a specific object a
Create a new **contact**:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand Down Expand Up @@ -725,8 +729,10 @@ request
Manage the **subscription status** of a **contact** to multiple **lists**:

```javascript
const { Client } = require('node-mailjet') // another importing option using destructuring
const mailjet = new Client({
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
});
Expand Down Expand Up @@ -772,7 +778,9 @@ You need to define `.id` if you want to retrieve a specific object.
Retrieve all **contacts**:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand All @@ -796,7 +804,9 @@ request
Retrieve all **contacts** that are not in the **campaign exclusion list**:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand All @@ -820,7 +830,9 @@ request
Retrieve a specific **contact** by `ID`:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand Down Expand Up @@ -861,7 +873,9 @@ It also means that all non-mandatory properties can be omitted from your payload
Update the **contact properties** for a **contact**:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand Down Expand Up @@ -907,7 +921,9 @@ Upon a successful `DELETE` request the response will not include a response body
Delete an email **template**:

```javascript
const Mailjet = require('node-mailjet')
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7

const mailjet = new Mailjet({
apiKey: process.env.MJ_APIKEY_PUBLIC,
apiSecret: process.env.MJ_APIKEY_PRIVATE
Expand Down Expand Up @@ -935,7 +951,8 @@ Authentication for the `SMS API` endpoints is done using a `Bearer token`.
The `Bearer token` is generated in the [SMS section](https://app.mailjet.com/sms) of your Mailjet account.

```javascript
const Mailjet = require('node-mailjet');
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7
const mailjet = Mailjet.smsConnect(process.env.MJ_API_TOKEN);
```

Expand All @@ -944,7 +961,8 @@ const mailjet = Mailjet.smsConnect(process.env.MJ_API_TOKEN);
Here's an example `SMS API` request:

```javascript
const Mailjet = require('node-mailjet');
const Mailjet = require('node-mailjet'); // for versions < 7
const { Mailjet } = require('node-mailjet'); // for versions >= 7
const mailjet = Mailjet.smsConnect(process.env.MJ_API_TOKEN, {
config: {
version: 'v4'
Expand Down
3 changes: 1 addition & 2 deletions dist/declarations/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@ declare class Mailjet extends Client {
static Client: typeof Client;
}
export * from './types/api';
export { Client, Request, HttpMethods };
export default Mailjet;
export { Mailjet, Client, Request, HttpMethods, };
4 changes: 2 additions & 2 deletions dist/mailjet.node.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/mailjet.web.js

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions lib/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ class Mailjet extends Client {
}

export * from './types/api';
export { Client, Request, HttpMethods };
export default Mailjet;
export {
Mailjet, Client, Request, HttpMethods,
};
2 changes: 1 addition & 1 deletion test/integration/base.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
RequestParams,
} from '../../lib/request/Request';
/*lib*/
import Mailjet, { Request, LibraryLocalResponse } from '../../lib';
import { Mailjet, Request, LibraryLocalResponse } from '../../lib';

describe('API Basic Usage', () => {
const API_KEY = process.env.MJ_APIKEY_PUBLIC;
Expand Down
2 changes: 1 addition & 1 deletion test/integration/error-handling.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { expect } from 'chai';
import { RequestConfig } from '../../lib/request/Request';
/*utils*/
/*lib*/
import Mailjet, { Request } from '../../lib/index';
import { Mailjet, Request } from '../../lib/index';
/*other*/

describe('Basic Error Handling', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/integration/mocked.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { expect } from 'chai';
/*utils*/
import { isUndefined } from '../../lib/utils';
/*lib*/
import Mailjet, { Request } from '../../lib/index';
import { Mailjet, Request } from '../../lib/index';
/*other*/

describe('Mocked API calls', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/integration/sms.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { expect } from 'chai';
/*utils*/
import { isUndefined } from '../../lib/utils';
/*lib*/
import Mailjet, { Request } from '../../lib/index';
import { Mailjet, Request } from '../../lib/index';
/*other*/

describe('SMS Basic Usage', () => {
Expand Down
2 changes: 1 addition & 1 deletion test/unit/request.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { ClientParams } from '../../lib/client/Client';
import { RequestConfig } from '../../lib/request/Request';
/*utils*/
/*lib*/
import Client, { HttpMethods, Request } from '../../lib/index';
import { Client, HttpMethods, Request } from '../../lib/index';
import packageJSON from '../../package.json';
/*helpers*/
import expectOwnProperty from '../helpers';
Expand Down
1 change: 0 additions & 1 deletion webpack/webpack.common.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ const buildUsageConfig = (targetEnv, mode) => {
library: {
name: LIBRARY_NAME,
type: 'umd',
export: 'default',
},
},
};
Expand Down