text: /**
   * OpenAPI Petstore
   * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
   *
   * The version of the OpenAPI document: 1.0.0
   *
   * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
   * https://openapi-generator.tech
   *
   * OpenAPI Generator version: 4.1.1-SNAPSHOT
   *
   * Do not edit the class manually.
   *
   */
  
  (function(root, factory) {
    if (typeof define === 'function' && define.amd) {
      // AMD. Register as an anonymous module.
      define(['ApiClient', 'model/Order'], factory);
    } else if (typeof module === 'object' && module.exports) {
      // CommonJS-like environments that support module.exports, like Node.
      module.exports = factory(require('../ApiClient'), require('../model/Order'));
    } else {
      // Browser globals (root is window)
      if (!root.OpenApiPetstore) {
        root.OpenApiPetstore = {};
      }
      root.OpenApiPetstore.StoreApi = factory(root.OpenApiPetstore.ApiClient, root.OpenApiPetstore.Order);
    }
  }(this, function(ApiClient, Order) {
    'use strict';
  
    /**
     * Store service.
     * @module api/StoreApi
     * @version 1.0.0
     */
  
    /**
     * Constructs a new StoreApi. 
     * @alias module:api/StoreApi
     * @class
     * @param {module:ApiClient} [apiClient] Optional API client implementation to use,
     * default to {@link module:ApiClient#instance} if unspecified.
     */
    var exports = function(apiClient) {
      this.apiClient = apiClient || ApiClient.instance;
  
  
      /**
       * Callback function to receive the result of the deleteOrder operation.
       * @callback module:api/StoreApi~deleteOrderCallback
       * @param {String} error Error message, if any.
       * @param data This operation does not return a value.
       * @param {String} response The complete HTTP response.
       */
  
      /**
       * Delete purchase order by ID
       * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
       * @param {String} orderId ID of the order that needs to be deleted
       * @param {module:api/StoreApi~deleteOrderCallback} callback The callback function, accepting three arguments: error, data, response
       */
      this.deleteOrder = function(orderId, callback) {
        var postBody = null;
        // verify the required parameter 'orderId' is set
        if (orderId === undefined || orderId === null) {
          throw new Error("Missing the required parameter 'orderId' when calling deleteOrder");
        }
  
        var pathParams = {
          'order_id': orderId
        };
        var queryParams = {
        };
        var collectionQueryParams = {
        };
        var headerParams = {
        };
        var formParams = {
        };
  
        var authNames = [];
        var contentTypes = [];
        var accepts = [];
        var returnType = null;
        return this.apiClient.callApi(
          '/store/order/{order_id}', 'DELETE',
          pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType, null, callback
        );
      }
  
      /**
       * Callback function to receive the result of the getInventory operation.
       * @callback module:api/StoreApi~getInventoryCallback
       * @param {String} error Error message, if any.
       * @param {Object.<String, {String: Number}>} data The data returned by the service call.
       * @param {String} response The complete HTTP response.
       */
  
      /**
       * Returns pet inventories by status
       * Returns a map of status codes to quantities
       * @param {module:api/StoreApi~getInventoryCallback} callback The callback function, accepting three arguments: error, data, response
       * data is of type: {@link Object.<String, {String: Number}>}
       */
      this.getInventory = function(callback) {
        var postBody = null;
  
        var pathParams = {
        };
        var queryParams = {
        };
        var collectionQueryParams = {
        };
        var headerParams = {
        };
        var formParams = {
        };
  
        var authNames = ['api_key'];
        var contentTypes = [];
        var accepts = ['application/json'];
        var returnType = {'String': 'Number'};
        return this.apiClient.callApi(
          '/store/inventory', 'GET',
          pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType, null, callback
        );
      }
  
      /**
       * Callback function to receive the result of the getOrderById operation.
       * @callback module:api/StoreApi~getOrderByIdCallback
       * @param {String} error Error message, if any.
       * @param {module:model/Order} data The data returned by the service call.
       * @param {String} response The complete HTTP response.
       */
  
      /**
       * Find purchase order by ID
       * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
       * @param {Number} orderId ID of pet that needs to be fetched
       * @param {module:api/StoreApi~getOrderByIdCallback} callback The callback function, accepting three arguments: error, data, response
       * data is of type: {@link module:model/Order}
       */
      this.getOrderById = function(orderId, callback) {
        var postBody = null;
        // verify the required parameter 'orderId' is set
        if (orderId === undefined || orderId === null) {
          throw new Error("Missing the required parameter 'orderId' when calling getOrderById");
        }
  
        var pathParams = {
          'order_id': orderId
        };
        var queryParams = {
        };
        var collectionQueryParams = {
        };
        var headerParams = {
        };
        var formParams = {
        };
  
        var authNames = [];
        var contentTypes = [];
        var accepts = ['application/xml', 'application/json'];
        var returnType = Order;
        return this.apiClient.callApi(
          '/store/order/{order_id}', 'GET',
          pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType, null, callback
        );
      }
  
      /**
       * Callback function to receive the result of the placeOrder operation.
       * @callback module:api/StoreApi~placeOrderCallback
       * @param {String} error Error message, if any.
       * @param {module:model/Order} data The data returned by the service call.
       * @param {String} response The complete HTTP response.
       */
  
      /**
       * Place an order for a pet
       * @param {module:model/Order} body order placed for purchasing the pet
       * @param {module:api/StoreApi~placeOrderCallback} callback The callback function, accepting three arguments: error, data, response
       * data is of type: {@link module:model/Order}
       */
      this.placeOrder = function(body, callback) {
        var postBody = body;
        // verify the required parameter 'body' is set
        if (body === undefined || body === null) {
          throw new Error("Missing the required parameter 'body' when calling placeOrder");
        }
  
        var pathParams = {
        };
        var queryParams = {
        };
        var collectionQueryParams = {
        };
        var headerParams = {
        };
        var formParams = {
        };
  
        var authNames = [];
        var contentTypes = [];
        var accepts = ['application/xml', 'application/json'];
        var returnType = Order;
        return this.apiClient.callApi(
          '/store/order', 'POST',
          pathParams, queryParams, collectionQueryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType, null, callback
        );
      }
    };
  
    return exports;
  }));
  