diff --git a/package-lock.json b/package-lock.json index 8f29ecf..4adc10d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4986,7 +4986,7 @@ "version": "0.1.0", "license": "Apache-2.0", "dependencies": { - "@google-ads/data-manager-util": "^0.2.0", + "@google-ads/data-manager-util": "^0.3.0", "@google-ads/datamanager": "^0.1.0", "csv-parser": "^3.0.0", "yargs": "^17.7.2" @@ -5001,7 +5001,7 @@ }, "util": { "name": "@google-ads/data-manager-util", - "version": "0.2.0", + "version": "0.3.0", "license": "Apache-2.0", "devDependencies": { "@types/chai": "^4.3.0", diff --git a/samples/package.json b/samples/package.json index e0d64d4..718bef7 100644 --- a/samples/package.json +++ b/samples/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@google-ads/datamanager": "^0.1.0", - "@google-ads/data-manager-util": "^0.2.0", + "@google-ads/data-manager-util": "^0.3.0", "csv-parser": "^3.0.0", "yargs": "^17.7.2" }, diff --git a/util/package.json b/util/package.json index 337ef45..e07fca8 100644 --- a/util/package.json +++ b/util/package.json @@ -1,6 +1,6 @@ { "name": "@google-ads/data-manager-util", - "version": "0.2.0", + "version": "0.3.0", "description": "A utility library for the Data Manager API for Node.js.", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", diff --git a/util/src/formatter.ts b/util/src/formatter.ts index aa578bb..d4e60d1 100644 --- a/util/src/formatter.ts +++ b/util/src/formatter.ts @@ -47,6 +47,7 @@ export class UserDataFormatter { } if (domain === 'gmail.com' || domain === 'googlemail.com') { + username = username.split('+')[0]; username = username.replace(/\./g, ''); } diff --git a/util/test/formatter.test.ts b/util/test/formatter.test.ts index 0f7fbe9..592f307 100644 --- a/util/test/formatter.test.ts +++ b/util/test/formatter.test.ts @@ -28,6 +28,9 @@ describe('UserDataFormatter', () => { expect(formatter.formatEmailAddress('QuinnY@EXAMPLE.com')).to.equal( 'quinny@example.com', ); + expect( + formatter.formatEmailAddress('user.name+NYC@Example.com'), + ).to.equal('user.name+nyc@example.com'); }); it('should throw an error for invalid email addresses', () => { @@ -47,6 +50,14 @@ describe('UserDataFormatter', () => { expect( formatter.formatEmailAddress('jefferson.Loves.hiking@googlemail.com'), ).to.equal('jeffersonloveshiking@googlemail.com'); + expect( + formatter.formatEmailAddress('Cloudy.SanFrancisco+shopping@gmail.com'), + ).to.equal('cloudysanfrancisco@gmail.com'); + expect( + formatter.formatEmailAddress( + 'Cloudy.SanFrancisco+shopping@googlemail.com', + ), + ).to.equal('cloudysanfrancisco@googlemail.com'); }); });