apa-api
Version:
Amazon Product Advertising API client
26 lines (21 loc) • 722 B
text/coffeescript
_ = require 'lodash'
Operations = require './Operations'
moment = require 'moment'
class RequestFactory
#Inject apiMeta: null
#Inject credential: null
constructor: ( , ) ->
Object.freeze(@)
timestampFactory: ->
moment().format('YYYY-MM-DDTHH:mm:ssZ')
newInstance: (operation, params = {}, options = {}) ->
operationRequest = Operations.request(operation)
RequestClass = operationRequest.requestClass
RequestParameterClass = operationRequest.parametersClass
new RequestClass(_.assign {}, options, {
apiMeta:
credential:
operation: operation
params: new RequestParameterClass(params)
})
module.exports = RequestFactory