Skip to content

Commit fd6e20b

Browse files
committed
feat: The SDK now returns a Promise for all methods if a callback is not specified. Callbacks can still be used for backwards compatibility.
1 parent 1df75ac commit fd6e20b

10 files changed

Lines changed: 2176 additions & 737 deletions

File tree

compare-comply/v1.ts

Lines changed: 132 additions & 24 deletions
Large diffs are not rendered by default.

discovery/v1-generated.ts

Lines changed: 626 additions & 114 deletions
Large diffs are not rendered by default.

language-translator/v3.ts

Lines changed: 84 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -69,23 +69,27 @@ class LanguageTranslatorV3 extends BaseService {
6969
* @param {Object} params - The parameters to send to the service.
7070
* @param {string[]} params.text - Input text in UTF-8 encoding. Multiple entries will result in multiple translations
7171
* in the response.
72-
* @param {string} [params.model_id] - Model ID of the translation model to use. If this is specified, the **source**
73-
* and **target** parameters will be ignored. The method requires either a model ID or both the **source** and
74-
* **target** parameters.
75-
* @param {string} [params.source] - Language code of the source text language. Use with `target` as an alternative
76-
* way to select a translation model. When `source` and `target` are set, and a model ID is not set, the system
77-
* chooses a default model for the language pair (usually the model based on the news domain).
78-
* @param {string} [params.target] - Language code of the translation target language. Use with source as an
79-
* alternative way to select a translation model.
72+
* @param {string} [params.model_id] - A globally unique string that identifies the underlying model that is used for
73+
* translation.
74+
* @param {string} [params.source] - Translation source language code.
75+
* @param {string} [params.target] - Translation target language code.
8076
* @param {Object} [params.headers] - Custom request headers
8177
* @param {Function} [callback] - The callback that handles the response.
8278
* @returns {NodeJS.ReadableStream|void}
8379
*/
84-
public translate(params: LanguageTranslatorV3.TranslateParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.TranslationResult>): NodeJS.ReadableStream | void {
80+
public translate(params: LanguageTranslatorV3.TranslateParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.TranslationResult>): NodeJS.ReadableStream | Promise<any> | void {
8581
const _params = extend({}, params);
86-
const _callback = (callback) ? callback : () => { /* noop */ };
82+
const _callback = callback;
8783
const requiredParams = ['text'];
8884

85+
if (!_callback) {
86+
return new Promise((resolve, reject) => {
87+
this.translate(params, (err, bod, res) => {
88+
err ? reject(err) : _params.return_response ? resolve(res) : resolve(bod);
89+
});
90+
});
91+
}
92+
8993
const missingParams = getMissingParams(_params, requiredParams);
9094
if (missingParams) {
9195
return _callback(missingParams);
@@ -131,11 +135,19 @@ class LanguageTranslatorV3 extends BaseService {
131135
* @param {Function} [callback] - The callback that handles the response.
132136
* @returns {NodeJS.ReadableStream|void}
133137
*/
134-
public identify(params: LanguageTranslatorV3.IdentifyParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.IdentifiedLanguages>): NodeJS.ReadableStream | void {
138+
public identify(params: LanguageTranslatorV3.IdentifyParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.IdentifiedLanguages>): NodeJS.ReadableStream | Promise<any> | void {
135139
const _params = extend({}, params);
136-
const _callback = (callback) ? callback : () => { /* noop */ };
140+
const _callback = callback;
137141
const requiredParams = ['text'];
138142

143+
if (!_callback) {
144+
return new Promise((resolve, reject) => {
145+
this.identify(params, (err, bod, res) => {
146+
err ? reject(err) : _params.return_response ? resolve(res) : resolve(bod);
147+
});
148+
});
149+
}
150+
139151
const missingParams = getMissingParams(_params, requiredParams);
140152
if (missingParams) {
141153
return _callback(missingParams);
@@ -171,9 +183,17 @@ class LanguageTranslatorV3 extends BaseService {
171183
* @param {Function} [callback] - The callback that handles the response.
172184
* @returns {NodeJS.ReadableStream|void}
173185
*/
174-
public listIdentifiableLanguages(params?: LanguageTranslatorV3.ListIdentifiableLanguagesParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.IdentifiableLanguages>): NodeJS.ReadableStream | void {
186+
public listIdentifiableLanguages(params?: LanguageTranslatorV3.ListIdentifiableLanguagesParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.IdentifiableLanguages>): NodeJS.ReadableStream | Promise<any> | void {
175187
const _params = (typeof params === 'function' && !callback) ? {} : extend({}, params);
176-
const _callback = (typeof params === 'function' && !callback) ? params : (callback) ? callback : () => {/* noop */};
188+
const _callback = (typeof params === 'function' && !callback) ? params : callback;
189+
190+
if (!_callback) {
191+
return new Promise((resolve, reject) => {
192+
this.listIdentifiableLanguages(params, (err, bod, res) => {
193+
err ? reject(err) : _params.return_response ? resolve(res) : resolve(bod);
194+
});
195+
});
196+
}
177197

178198
const parameters = {
179199
options: {
@@ -231,11 +251,19 @@ class LanguageTranslatorV3 extends BaseService {
231251
* @param {Function} [callback] - The callback that handles the response.
232252
* @returns {NodeJS.ReadableStream|void}
233253
*/
234-
public createModel(params: LanguageTranslatorV3.CreateModelParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.TranslationModel>): NodeJS.ReadableStream | void {
254+
public createModel(params: LanguageTranslatorV3.CreateModelParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.TranslationModel>): NodeJS.ReadableStream | Promise<any> | void {
235255
const _params = extend({}, params);
236-
const _callback = (callback) ? callback : () => { /* noop */ };
256+
const _callback = callback;
237257
const requiredParams = ['base_model_id'];
238258

259+
if (!_callback) {
260+
return new Promise((resolve, reject) => {
261+
this.createModel(params, (err, bod, res) => {
262+
err ? reject(err) : _params.return_response ? resolve(res) : resolve(bod);
263+
});
264+
});
265+
}
266+
239267
const missingParams = getMissingParams(_params, requiredParams);
240268
if (missingParams) {
241269
return _callback(missingParams);
@@ -288,11 +316,19 @@ class LanguageTranslatorV3 extends BaseService {
288316
* @param {Function} [callback] - The callback that handles the response.
289317
* @returns {NodeJS.ReadableStream|void}
290318
*/
291-
public deleteModel(params: LanguageTranslatorV3.DeleteModelParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.DeleteModelResult>): NodeJS.ReadableStream | void {
319+
public deleteModel(params: LanguageTranslatorV3.DeleteModelParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.DeleteModelResult>): NodeJS.ReadableStream | Promise<any> | void {
292320
const _params = extend({}, params);
293-
const _callback = (callback) ? callback : () => { /* noop */ };
321+
const _callback = callback;
294322
const requiredParams = ['model_id'];
295323

324+
if (!_callback) {
325+
return new Promise((resolve, reject) => {
326+
this.deleteModel(params, (err, bod, res) => {
327+
err ? reject(err) : _params.return_response ? resolve(res) : resolve(bod);
328+
});
329+
});
330+
}
331+
296332
const missingParams = getMissingParams(_params, requiredParams);
297333
if (missingParams) {
298334
return _callback(missingParams);
@@ -330,11 +366,19 @@ class LanguageTranslatorV3 extends BaseService {
330366
* @param {Function} [callback] - The callback that handles the response.
331367
* @returns {NodeJS.ReadableStream|void}
332368
*/
333-
public getModel(params: LanguageTranslatorV3.GetModelParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.TranslationModel>): NodeJS.ReadableStream | void {
369+
public getModel(params: LanguageTranslatorV3.GetModelParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.TranslationModel>): NodeJS.ReadableStream | Promise<any> | void {
334370
const _params = extend({}, params);
335-
const _callback = (callback) ? callback : () => { /* noop */ };
371+
const _callback = callback;
336372
const requiredParams = ['model_id'];
337373

374+
if (!_callback) {
375+
return new Promise((resolve, reject) => {
376+
this.getModel(params, (err, bod, res) => {
377+
err ? reject(err) : _params.return_response ? resolve(res) : resolve(bod);
378+
});
379+
});
380+
}
381+
338382
const missingParams = getMissingParams(_params, requiredParams);
339383
if (missingParams) {
340384
return _callback(missingParams);
@@ -376,9 +420,17 @@ class LanguageTranslatorV3 extends BaseService {
376420
* @param {Function} [callback] - The callback that handles the response.
377421
* @returns {NodeJS.ReadableStream|void}
378422
*/
379-
public listModels(params?: LanguageTranslatorV3.ListModelsParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.TranslationModels>): NodeJS.ReadableStream | void {
423+
public listModels(params?: LanguageTranslatorV3.ListModelsParams, callback?: LanguageTranslatorV3.Callback<LanguageTranslatorV3.TranslationModels>): NodeJS.ReadableStream | Promise<any> | void {
380424
const _params = (typeof params === 'function' && !callback) ? {} : extend({}, params);
381-
const _callback = (typeof params === 'function' && !callback) ? params : (callback) ? callback : () => {/* noop */};
425+
const _callback = (typeof params === 'function' && !callback) ? params : callback;
426+
427+
if (!_callback) {
428+
return new Promise((resolve, reject) => {
429+
this.listModels(params, (err, bod, res) => {
430+
err ? reject(err) : _params.return_response ? resolve(res) : resolve(bod);
431+
});
432+
});
433+
}
382434

383435
const query = {
384436
'source': _params.source,
@@ -440,25 +492,28 @@ namespace LanguageTranslatorV3 {
440492
export interface TranslateParams {
441493
/** Input text in UTF-8 encoding. Multiple entries will result in multiple translations in the response. */
442494
text: string[];
443-
/** Model ID of the translation model to use. If this is specified, the **source** and **target** parameters will be ignored. The method requires either a model ID or both the **source** and **target** parameters. */
495+
/** A globally unique string that identifies the underlying model that is used for translation. */
444496
model_id?: string;
445-
/** Language code of the source text language. Use with `target` as an alternative way to select a translation model. When `source` and `target` are set, and a model ID is not set, the system chooses a default model for the language pair (usually the model based on the news domain). */
497+
/** Translation source language code. */
446498
source?: string;
447-
/** Language code of the translation target language. Use with source as an alternative way to select a translation model. */
499+
/** Translation target language code. */
448500
target?: string;
449501
headers?: Object;
502+
return_response?: boolean;
450503
}
451504

452505
/** Parameters for the `identify` operation. */
453506
export interface IdentifyParams {
454507
/** Input text in UTF-8 format. */
455508
text: string;
456509
headers?: Object;
510+
return_response?: boolean;
457511
}
458512

459513
/** Parameters for the `listIdentifiableLanguages` operation. */
460514
export interface ListIdentifiableLanguagesParams {
461515
headers?: Object;
516+
return_response?: boolean;
462517
}
463518

464519
/** Parameters for the `createModel` operation. */
@@ -476,20 +531,23 @@ namespace LanguageTranslatorV3 {
476531
/** The filename for parallel_corpus. */
477532
parallel_corpus_filename?: string;
478533
headers?: Object;
534+
return_response?: boolean;
479535
}
480536

481537
/** Parameters for the `deleteModel` operation. */
482538
export interface DeleteModelParams {
483539
/** Model ID of the model to delete. */
484540
model_id: string;
485541
headers?: Object;
542+
return_response?: boolean;
486543
}
487544

488545
/** Parameters for the `getModel` operation. */
489546
export interface GetModelParams {
490547
/** Model ID of the model to get. */
491548
model_id: string;
492549
headers?: Object;
550+
return_response?: boolean;
493551
}
494552

495553
/** Parameters for the `listModels` operation. */
@@ -501,6 +559,7 @@ namespace LanguageTranslatorV3 {
501559
/** If the default parameter isn't specified, the service will return all models (default and non-default) for each language pair. To return only default models, set this to `true`. To return only non-default models, set this to `false`. There is exactly one default model per language pair, the IBM provided base model. */
502560
default_models?: boolean;
503561
headers?: Object;
562+
return_response?: boolean;
504563
}
505564

506565
/*************************

0 commit comments

Comments
 (0)