From 45ed202f9413cec53f3352d2929d319c63dd5157 Mon Sep 17 00:00:00 2001 From: Alex <7764119+AVaksman@users.noreply.github.com> Date: Sat, 2 Feb 2019 14:21:01 -0500 Subject: [PATCH] fix: respect `.` in api versions (fix adsense API) (#1573) --- src/apis/adexchangebuyer/index.ts | 12 ++++++------ src/apis/adsense/index.ts | 4 ++-- src/apis/adsensehost/index.ts | 4 ++-- src/apis/analytics/index.ts | 4 ++-- src/apis/androidpublisher/index.ts | 4 ++-- src/apis/content/index.ts | 4 ++-- src/apis/dfareporting/index.ts | 6 +++--- src/generator/templates/api-index.njk | 4 ++-- test/test.clients.ts | 6 ++++++ 9 files changed, 27 insertions(+), 21 deletions(-) diff --git a/src/apis/adexchangebuyer/index.ts b/src/apis/adexchangebuyer/index.ts index 48c862a6b4a..0ae811f0211 100644 --- a/src/apis/adexchangebuyer/index.ts +++ b/src/apis/adexchangebuyer/index.ts @@ -24,15 +24,15 @@ export const VERSIONS = { 'v1.4': adexchangebuyer_v1_4.Adexchangebuyer, }; -export function adexchangebuyer(version: 'v1_2'): +export function adexchangebuyer(version: 'v1.2'): adexchangebuyer_v1_2.Adexchangebuyer; export function adexchangebuyer(options: adexchangebuyer_v1_2.Options): adexchangebuyer_v1_2.Adexchangebuyer; -export function adexchangebuyer(version: 'v1_3'): +export function adexchangebuyer(version: 'v1.3'): adexchangebuyer_v1_3.Adexchangebuyer; export function adexchangebuyer(options: adexchangebuyer_v1_3.Options): adexchangebuyer_v1_3.Adexchangebuyer; -export function adexchangebuyer(version: 'v1_4'): +export function adexchangebuyer(version: 'v1.4'): adexchangebuyer_v1_4.Adexchangebuyer; export function adexchangebuyer(options: adexchangebuyer_v1_4.Options): adexchangebuyer_v1_4.Adexchangebuyer; @@ -41,9 +41,9 @@ export function adexchangebuyer< adexchangebuyer_v1_3.Adexchangebuyer | adexchangebuyer_v1_4.Adexchangebuyer>( this: GoogleConfigurable, - versionOrOptions: 'v1_2'| - adexchangebuyer_v1_2.Options|'v1_3'| - adexchangebuyer_v1_3.Options|'v1_4'|adexchangebuyer_v1_4.Options) { + versionOrOptions: 'v1.2'| + adexchangebuyer_v1_2.Options|'v1.3'| + adexchangebuyer_v1_3.Options|'v1.4'|adexchangebuyer_v1_4.Options) { return getAPI('adexchangebuyer', versionOrOptions, VERSIONS, this); } diff --git a/src/apis/adsense/index.ts b/src/apis/adsense/index.ts index c32d1c61c1e..8a8ad87494b 100644 --- a/src/apis/adsense/index.ts +++ b/src/apis/adsense/index.ts @@ -20,10 +20,10 @@ export const VERSIONS = { 'v1.4': adsense_v1_4.Adsense, }; -export function adsense(version: 'v1_4'): adsense_v1_4.Adsense; +export function adsense(version: 'v1.4'): adsense_v1_4.Adsense; export function adsense(options: adsense_v1_4.Options): adsense_v1_4.Adsense; export function adsense( - this: GoogleConfigurable, versionOrOptions: 'v1_4'|adsense_v1_4.Options) { + this: GoogleConfigurable, versionOrOptions: 'v1.4'|adsense_v1_4.Options) { return getAPI('adsense', versionOrOptions, VERSIONS, this); } diff --git a/src/apis/adsensehost/index.ts b/src/apis/adsensehost/index.ts index b095cc4ef58..3416614ea1c 100644 --- a/src/apis/adsensehost/index.ts +++ b/src/apis/adsensehost/index.ts @@ -20,12 +20,12 @@ export const VERSIONS = { 'v4.1': adsensehost_v4_1.Adsensehost, }; -export function adsensehost(version: 'v4_1'): adsensehost_v4_1.Adsensehost; +export function adsensehost(version: 'v4.1'): adsensehost_v4_1.Adsensehost; export function adsensehost(options: adsensehost_v4_1.Options): adsensehost_v4_1.Adsensehost; export function adsensehost( this: GoogleConfigurable, - versionOrOptions: 'v4_1'|adsensehost_v4_1.Options) { + versionOrOptions: 'v4.1'|adsensehost_v4_1.Options) { return getAPI('adsensehost', versionOrOptions, VERSIONS, this); } diff --git a/src/apis/analytics/index.ts b/src/apis/analytics/index.ts index 67bdbb5eaca..e2c44f58cf3 100644 --- a/src/apis/analytics/index.ts +++ b/src/apis/analytics/index.ts @@ -22,7 +22,7 @@ export const VERSIONS = { 'v3': analytics_v3.Analytics, }; -export function analytics(version: 'v2_4'): analytics_v2_4.Analytics; +export function analytics(version: 'v2.4'): analytics_v2_4.Analytics; export function analytics(options: analytics_v2_4.Options): analytics_v2_4.Analytics; export function analytics(version: 'v3'): analytics_v3.Analytics; @@ -31,7 +31,7 @@ export function analytics(options: analytics_v3.Options): export function analytics( this: GoogleConfigurable, - versionOrOptions: 'v2_4'|analytics_v2_4.Options|'v3'|analytics_v3.Options) { + versionOrOptions: 'v2.4'|analytics_v2_4.Options|'v3'|analytics_v3.Options) { return getAPI('analytics', versionOrOptions, VERSIONS, this); } diff --git a/src/apis/androidpublisher/index.ts b/src/apis/androidpublisher/index.ts index 71ad4e97fce..7339d027ad2 100644 --- a/src/apis/androidpublisher/index.ts +++ b/src/apis/androidpublisher/index.ts @@ -27,7 +27,7 @@ export const VERSIONS = { 'v3': androidpublisher_v3.Androidpublisher, }; -export function androidpublisher(version: 'v1_1'): +export function androidpublisher(version: 'v1.1'): androidpublisher_v1_1.Androidpublisher; export function androidpublisher(options: androidpublisher_v1_1.Options): androidpublisher_v1_1.Androidpublisher; @@ -49,7 +49,7 @@ export function androidpublisher< androidpublisher_v2.Androidpublisher | androidpublisher_v3.Androidpublisher>( this: GoogleConfigurable, - versionOrOptions: 'v1_1'| + versionOrOptions: 'v1.1'| androidpublisher_v1_1.Options|'v1'| androidpublisher_v1.Options|'v2'| androidpublisher_v2.Options|'v3'|androidpublisher_v3.Options) { diff --git a/src/apis/content/index.ts b/src/apis/content/index.ts index f511ac2c7f4..e94364c784f 100644 --- a/src/apis/content/index.ts +++ b/src/apis/content/index.ts @@ -23,13 +23,13 @@ export const VERSIONS = { 'v2': content_v2.Content, }; -export function content(version: 'v2_1'): content_v2_1.Content; +export function content(version: 'v2.1'): content_v2_1.Content; export function content(options: content_v2_1.Options): content_v2_1.Content; export function content(version: 'v2'): content_v2.Content; export function content(options: content_v2.Options): content_v2.Content; export function content( this: GoogleConfigurable, - versionOrOptions: 'v2_1'|content_v2_1.Options|'v2'|content_v2.Options) { + versionOrOptions: 'v2.1'|content_v2_1.Options|'v2'|content_v2.Options) { return getAPI('content', versionOrOptions, VERSIONS, this); } diff --git a/src/apis/dfareporting/index.ts b/src/apis/dfareporting/index.ts index 179f2266382..87eba0fba0b 100644 --- a/src/apis/dfareporting/index.ts +++ b/src/apis/dfareporting/index.ts @@ -22,16 +22,16 @@ export const VERSIONS = { 'v3.2': dfareporting_v3_2.Dfareporting, }; -export function dfareporting(version: 'v3_1'): dfareporting_v3_1.Dfareporting; +export function dfareporting(version: 'v3.1'): dfareporting_v3_1.Dfareporting; export function dfareporting(options: dfareporting_v3_1.Options): dfareporting_v3_1.Dfareporting; -export function dfareporting(version: 'v3_2'): dfareporting_v3_2.Dfareporting; +export function dfareporting(version: 'v3.2'): dfareporting_v3_2.Dfareporting; export function dfareporting(options: dfareporting_v3_2.Options): dfareporting_v3_2.Dfareporting; export function dfareporting< T = dfareporting_v3_1.Dfareporting | dfareporting_v3_2.Dfareporting>( this: GoogleConfigurable, - versionOrOptions: 'v3_1'|dfareporting_v3_1.Options|'v3_2'| + versionOrOptions: 'v3.1'|dfareporting_v3_1.Options|'v3.2'| dfareporting_v3_2.Options) { return getAPI('dfareporting', versionOrOptions, VERSIONS, this); } diff --git a/src/generator/templates/api-index.njk b/src/generator/templates/api-index.njk index 1ba6a506360..3432482d242 100644 --- a/src/generator/templates/api-index.njk +++ b/src/generator/templates/api-index.njk @@ -26,10 +26,10 @@ export const VERSIONS = { {% for versionName, version in api %} {% set Version = version|replace('.','_') %} - export function {{ name }}(version: '{{ Version }}'): {{ name }}_{{ Version }}.{{ name|capitalize }}; + export function {{ name }}(version: '{{ version }}'): {{ name }}_{{ Version }}.{{ name|capitalize }}; export function {{ name }}(options: {{ name }}_{{ Version }}.Options): {{ name }}_{{ Version }}.{{ name|capitalize }}; {% endfor %} -export function {{ name }}(this: GoogleConfigurable, versionOrOptions: {% for versionName, version in api %}'{{ version|replace('.','_') }}'|{{ name }}_{{ version|replace('.','_') }}.Options{% if not loop.last %}|{% endif %}{% endfor %}) { +export function {{ name }}(this: GoogleConfigurable, versionOrOptions: {% for versionName, version in api %}'{{ version }}'|{{ name }}_{{ version|replace('.','_') }}.Options{% if not loop.last %}|{% endif %}{% endfor %}) { return getAPI('{{ name }}', versionOrOptions, VERSIONS, this); } diff --git a/test/test.clients.ts b/test/test.clients.ts index 6ee94f54292..8425ec7ff33 100644 --- a/test/test.clients.ts +++ b/test/test.clients.ts @@ -46,6 +46,12 @@ describe('Clients', () => { localOauth2 = google.oauth2('v2'); }); + it('should load API versions with a dot in the name', async () => { + const google = new GoogleApis(); + const ads = google.adsense('v1.4'); + assert.ok(ads); + }); + it('should create request helpers according to resource on discovery API response', () => { let plus = localPlus;