text: /**
   * FactSet Funds API
   * FactSet Mutual Funds data offers over 50 fund- and share class-specific data points for mutual funds listed in the United States. <p>FactSet Mutual Funds Reference provides fund-specific reference information as well as FactSet's proprietary classification system. It includes but is not limited to the following coverage    * Fund descriptions    * A seven-tier classification system   * Leverage information   * Fees and expenses    * Portfolio managers       FactSet Mutual Funds Time Series provides quantitative data items on a historical basis. It includes but is not limited to the following coverage    * Net asset value   * Fund flows    * Assets under management   * Total return  
   *
   * The version of the OpenAPI document: 1.0.0
   * Contact: api@factset.com
   *
   * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
   * https://openapi-generator.tech
   * Do not edit the class manually.
   *
   */
  
  
  import ApiClient from "../ApiClient";
  import ErrorResponse from '../model/ErrorResponse';
  import StatusesRequest from '../model/StatusesRequest';
  import StatusesResponse from '../model/StatusesResponse';
  
  /**
  * Helper service.
  * @module api/HelperApi
  * @version 0.20.0
  */
  export default class HelperApi {
  
      /**
      * Constructs a new HelperApi. 
      * @alias module:api/HelperApi
      * @class
      * @param {module:ApiClient} [apiClient] Optional API client implementation to use,
      * default to {@link module:ApiClient#instance} if unspecified.
      */
      constructor(apiClient) {
          this.apiClient = apiClient || ApiClient.instance;
      }
  
  
  
      /**
       * Get Fund's current status and database availability
       * Get the funds active status, share class status, and database availability. Most common use is for coverage checks and id resolution checks. 
       * @param {Array.<String>} ids The requested fund identifier. FactSet Identifiers, tickers, CUSIP, SEDOL, and ISIN are accepted inputs. <p>***ids limit** =  1000 per request*</p> *<p>Make note, GET Method URL request lines are also limited to a total length of 8192 bytes (8KB). In cases where the service allows for thousands of ids, which may lead to exceeding this request line limit of 8KB, its advised for any requests with large request lines to be requested through the respective \"POST\" method.</p>* 
       * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/StatusesResponse} and HTTP response
       */
      getStatusesWithHttpInfo(ids) {
        let postBody = null;
        // verify the required parameter 'ids' is set
        if (ids === undefined || ids === null) {
          throw new Error("Missing the required parameter 'ids' when calling getStatuses");
        }
  
        let pathParams = {
        };
        let queryParams = {
          'ids': this.apiClient.buildCollectionParam(ids, 'csv')
        };
        let headerParams = {
        };
        let formParams = {
        };
  
        let authNames = ['FactSetApiKey', 'FactSetOAuth2'];
        let contentTypes = [];
        let accepts = ['application/json'];
  
  
        let returnType = StatusesResponse;
  
        return this.apiClient.callApi(
          '/factset-funds/v1/status', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType, null
        );
      }
  
      /**
       * Get Fund's current status and database availability
       * Get the funds active status, share class status, and database availability. Most common use is for coverage checks and id resolution checks. 
       * @param {Array.<String>} ids The requested fund identifier. FactSet Identifiers, tickers, CUSIP, SEDOL, and ISIN are accepted inputs. <p>***ids limit** =  1000 per request*</p> *<p>Make note, GET Method URL request lines are also limited to a total length of 8192 bytes (8KB). In cases where the service allows for thousands of ids, which may lead to exceeding this request line limit of 8KB, its advised for any requests with large request lines to be requested through the respective \"POST\" method.</p>* 
       * @return { Promise.< module:model/StatusesResponse > } a Promise, with data of type {@link module:model/StatusesResponse }
       */
      getStatuses(ids) {
        return this.getStatusesWithHttpInfo(ids)
          .then(function(response_and_data) {
            return response_and_data.data;
          });
      }
  
  
      /**
       * Get Fund's current status and database availability for large list of ids.
       * Get the funds active status, share class status, and database availability. Most common use is for coverage checks and id resolution checks. 
       * @param {module:model/StatusesRequest} statusesRequest The Statuses request body, allowing the user to specify a list of ids.
       * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/StatusesResponse} and HTTP response
       */
      getStatusesForListWithHttpInfo(statusesRequest) {
        let postBody = statusesRequest;
        // verify the required parameter 'statusesRequest' is set
        if (statusesRequest === undefined || statusesRequest === null) {
          throw new Error("Missing the required parameter 'statusesRequest' when calling getStatusesForList");
        }
  
        let pathParams = {
        };
        let queryParams = {
        };
        let headerParams = {
        };
        let formParams = {
        };
  
        let authNames = ['FactSetApiKey', 'FactSetOAuth2'];
        let contentTypes = ['application/json'];
        let accepts = ['application/json'];
  
  
        let returnType = StatusesResponse;
  
        return this.apiClient.callApi(
          '/factset-funds/v1/status', 'POST',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType, null
        );
      }
  
      /**
       * Get Fund's current status and database availability for large list of ids.
       * Get the funds active status, share class status, and database availability. Most common use is for coverage checks and id resolution checks. 
       * @param {module:model/StatusesRequest} statusesRequest The Statuses request body, allowing the user to specify a list of ids.
       * @return { Promise.< module:model/StatusesResponse > } a Promise, with data of type {@link module:model/StatusesResponse }
       */
      getStatusesForList(statusesRequest) {
        return this.getStatusesForListWithHttpInfo(statusesRequest)
          .then(function(response_and_data) {
            return response_and_data.data;
          });
      }
  
  
  }
  
  
  
  
  
  