@@ -235,7 +235,10 @@ class VisualRecognitionV3 extends BaseService {
235
235
public createClassifier ( params : VisualRecognitionV3 . CreateClassifierParams , callback ?: VisualRecognitionV3 . Callback < VisualRecognitionV3 . Classifier > ) : NodeJS . ReadableStream | void {
236
236
const _params = extend ( { } , params ) ;
237
237
const _callback = ( callback ) ? callback : ( ) => { /* noop */ } ;
238
- const requiredParams = [ 'name' , 'classname_positive_examples' ] ;
238
+ const positiveExampleClasses = Object . keys ( _params ) . filter ( key => {
239
+ return key . match ( / ^ .+ p o s i t i v e _ e x a m p l e s $ / ) ;
240
+ } ) || [ '<classname>_positive_examples' ] ;
241
+ const requiredParams = [ 'name' , ...positiveExampleClasses ] ;
239
242
const missingParams = getMissingParams ( _params , requiredParams ) ;
240
243
if ( missingParams ) {
241
244
return _callback ( missingParams ) ;
@@ -251,6 +254,12 @@ class VisualRecognitionV3 extends BaseService {
251
254
contentType : 'application/octet-stream'
252
255
}
253
256
} ;
257
+ positiveExampleClasses . forEach ( positiveExampleClass => {
258
+ formData [ positiveExampleClass ] = {
259
+ data : _params [ positiveExampleClass ] ,
260
+ contentType : 'application/octet-stream' ,
261
+ } ;
262
+ } ) ;
254
263
const parameters = {
255
264
options : {
256
265
url : '/v3/classifiers' ,
@@ -412,6 +421,9 @@ class VisualRecognitionV3 extends BaseService {
412
421
public updateClassifier ( params : VisualRecognitionV3 . UpdateClassifierParams , callback ?: VisualRecognitionV3 . Callback < VisualRecognitionV3 . Classifier > ) : NodeJS . ReadableStream | void {
413
422
const _params = extend ( { } , params ) ;
414
423
const _callback = ( callback ) ? callback : ( ) => { /* noop */ } ;
424
+ const positiveExampleClasses = Object . keys ( _params ) . filter ( key => {
425
+ return key . match ( / ^ .+ p o s i t i v e _ e x a m p l e s $ / ) ;
426
+ } ) ;
415
427
const requiredParams = [ 'classifier_id' ] ;
416
428
const missingParams = getMissingParams ( _params , requiredParams ) ;
417
429
if ( missingParams ) {
@@ -430,6 +442,12 @@ class VisualRecognitionV3 extends BaseService {
430
442
const path = {
431
443
'classifier_id' : _params . classifier_id
432
444
} ;
445
+ positiveExampleClasses . forEach ( positiveExampleClass => {
446
+ formData [ positiveExampleClass ] = {
447
+ data : _params [ positiveExampleClass ] ,
448
+ contentType : 'application/octet-stream' ,
449
+ } ;
450
+ } ) ;
433
451
const parameters = {
434
452
options : {
435
453
url : '/v3/classifiers/{classifier_id}' ,
0 commit comments