@@ -235,7 +235,10 @@ class VisualRecognitionV3 extends BaseService {
235235 public createClassifier ( params : VisualRecognitionV3 . CreateClassifierParams , callback ?: VisualRecognitionV3 . Callback < VisualRecognitionV3 . Classifier > ) : NodeJS . ReadableStream | void {
236236 const _params = extend ( { } , params ) ;
237237 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 ] ;
239242 const missingParams = getMissingParams ( _params , requiredParams ) ;
240243 if ( missingParams ) {
241244 return _callback ( missingParams ) ;
@@ -251,6 +254,12 @@ class VisualRecognitionV3 extends BaseService {
251254 contentType : 'application/octet-stream'
252255 }
253256 } ;
257+ positiveExampleClasses . forEach ( positiveExampleClass => {
258+ formData [ positiveExampleClass ] = {
259+ data : _params [ positiveExampleClass ] ,
260+ contentType : 'application/octet-stream' ,
261+ } ;
262+ } ) ;
254263 const parameters = {
255264 options : {
256265 url : '/v3/classifiers' ,
@@ -412,6 +421,9 @@ class VisualRecognitionV3 extends BaseService {
412421 public updateClassifier ( params : VisualRecognitionV3 . UpdateClassifierParams , callback ?: VisualRecognitionV3 . Callback < VisualRecognitionV3 . Classifier > ) : NodeJS . ReadableStream | void {
413422 const _params = extend ( { } , params ) ;
414423 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+ } ) ;
415427 const requiredParams = [ 'classifier_id' ] ;
416428 const missingParams = getMissingParams ( _params , requiredParams ) ;
417429 if ( missingParams ) {
@@ -430,6 +442,12 @@ class VisualRecognitionV3 extends BaseService {
430442 const path = {
431443 'classifier_id' : _params . classifier_id
432444 } ;
445+ positiveExampleClasses . forEach ( positiveExampleClass => {
446+ formData [ positiveExampleClass ] = {
447+ data : _params [ positiveExampleClass ] ,
448+ contentType : 'application/octet-stream' ,
449+ } ;
450+ } ) ;
433451 const parameters = {
434452 options : {
435453 url : '/v3/classifiers/{classifier_id}' ,
0 commit comments