text: /**
   * Funds API For Digital Portals
   * Search for mutual funds and ETFs using one single consolidated API, including a criteria-based screener. The API provides also base data, key figures, and holdings.  A separate endpoint returns the possible values and value range for the parameters that the endpoint /fund/notation/screener/search accepts: Application developers can request the values and value range only for a restricted set of notations that match predefined parameters. This functionality may be used to pre-fill the values and value ranges of the parameters of the /fund/notation/screener/search endpoint so that performing a search always leads to a non-empty set of notations.  This API is fully integrated with the corresponding Quotes API, allowing access to detailed price and performance information of instruments, as well as basic security identifier cross-reference. For direct access to price histories, please refer to the Time Series API for Digital Portals.  Similar criteria based screener APIs exist for equity instruments and securitized derivatives: See the Stocks API and the Securitized Derivatives API for details.
   *
   * The version of the OpenAPI document: 2
   * 
   *
   * 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 InlineResponse2006DataCurrency from './InlineResponse2006DataCurrency';
  import InlineResponse2006DataEarnings from './InlineResponse2006DataEarnings';
  import InlineResponse2006DataFees from './InlineResponse2006DataFees';
  import InlineResponse2006DataLegalEntities from './InlineResponse2006DataLegalEntities';
  import InlineResponse2006DataLifeCycle from './InlineResponse2006DataLifeCycle';
  import InlineResponse2006DataNsin from './InlineResponse2006DataNsin';
  import InlineResponse2006DataProperties from './InlineResponse2006DataProperties';
  import InlineResponse2006DataType from './InlineResponse2006DataType';
  
  /**
   * The InlineResponse2006Data model module.
   * @module model/InlineResponse2006Data
   * @version 0.10.0
   */
  class InlineResponse2006Data {
      /**
       * Constructs a new <code>InlineResponse2006Data</code>.
       * Fundamental data for a share class of a fund.
       * @alias module:model/InlineResponse2006Data
       */
      constructor() { 
          
          InlineResponse2006Data.initialize(this);
      }
  
      /**
       * Initializes the fields of this object.
       * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
       * Only for internal use.
       */
      static initialize(obj) { 
      }
  
      /**
       * Constructs a <code>InlineResponse2006Data</code> from a plain JavaScript object, optionally creating a new instance.
       * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
       * @param {Object} data The plain JavaScript object bearing properties of interest.
       * @param {module:model/InlineResponse2006Data} obj Optional instance to populate.
       * @return {module:model/InlineResponse2006Data} The populated <code>InlineResponse2006Data</code> instance.
       */
      static constructFromObject(data, obj) {
          if (data) {
              obj = obj || new InlineResponse2006Data();
  
              if (data.hasOwnProperty('isin')) {
                  obj['isin'] = ApiClient.convertToType(data['isin'], 'String');
              }
              if (data.hasOwnProperty('nsin')) {
                  obj['nsin'] = InlineResponse2006DataNsin.constructFromObject(data['nsin']);
              }
              if (data.hasOwnProperty('name')) {
                  obj['name'] = ApiClient.convertToType(data['name'], 'String');
              }
              if (data.hasOwnProperty('shortName')) {
                  obj['shortName'] = ApiClient.convertToType(data['shortName'], 'String');
              }
              if (data.hasOwnProperty('isETF')) {
                  obj['isETF'] = ApiClient.convertToType(data['isETF'], 'Boolean');
              }
              if (data.hasOwnProperty('currency')) {
                  obj['currency'] = InlineResponse2006DataCurrency.constructFromObject(data['currency']);
              }
              if (data.hasOwnProperty('type')) {
                  obj['type'] = ApiClient.convertToType(data['type'], [InlineResponse2006DataType]);
              }
              if (data.hasOwnProperty('lifeCycle')) {
                  obj['lifeCycle'] = InlineResponse2006DataLifeCycle.constructFromObject(data['lifeCycle']);
              }
              if (data.hasOwnProperty('properties')) {
                  obj['properties'] = InlineResponse2006DataProperties.constructFromObject(data['properties']);
              }
              if (data.hasOwnProperty('legalEntities')) {
                  obj['legalEntities'] = InlineResponse2006DataLegalEntities.constructFromObject(data['legalEntities']);
              }
              if (data.hasOwnProperty('earnings')) {
                  obj['earnings'] = InlineResponse2006DataEarnings.constructFromObject(data['earnings']);
              }
              if (data.hasOwnProperty('fees')) {
                  obj['fees'] = InlineResponse2006DataFees.constructFromObject(data['fees']);
              }
          }
          return obj;
      }
  
  
  }
  
  /**
   * The International Securities Identification Number (ISIN) of the instrument. The ISIN is a 12-character code of digits and upper-case letters that uniquely identifies an instrument.
   * @member {String} isin
   */
  InlineResponse2006Data.prototype['isin'] = undefined;
  
  /**
   * @member {module:model/InlineResponse2006DataNsin} nsin
   */
  InlineResponse2006Data.prototype['nsin'] = undefined;
  
  /**
   * Name of the instrument.
   * @member {String} name
   */
  InlineResponse2006Data.prototype['name'] = undefined;
  
  /**
   * Short name of the instrument.
   * @member {String} shortName
   */
  InlineResponse2006Data.prototype['shortName'] = undefined;
  
  /**
   * If true, the fund is an ETF (exchange-traded fund).
   * @member {Boolean} isETF
   */
  InlineResponse2006Data.prototype['isETF'] = undefined;
  
  /**
   * @member {module:model/InlineResponse2006DataCurrency} currency
   */
  InlineResponse2006Data.prototype['currency'] = undefined;
  
  /**
   * Instrument type as defined by FactSet Digital Solutions. Instrument types are arranged in a hierarchy, with the first level representing the most coarse granularity and further levels successively refining the granularity (see MDG category system 18). See endpoint `/category/get` for possible values.
   * @member {Array.<module:model/InlineResponse2006DataType>} type
   */
  InlineResponse2006Data.prototype['type'] = undefined;
  
  /**
   * @member {module:model/InlineResponse2006DataLifeCycle} lifeCycle
   */
  InlineResponse2006Data.prototype['lifeCycle'] = undefined;
  
  /**
   * @member {module:model/InlineResponse2006DataProperties} properties
   */
  InlineResponse2006Data.prototype['properties'] = undefined;
  
  /**
   * @member {module:model/InlineResponse2006DataLegalEntities} legalEntities
   */
  InlineResponse2006Data.prototype['legalEntities'] = undefined;
  
  /**
   * @member {module:model/InlineResponse2006DataEarnings} earnings
   */
  InlineResponse2006Data.prototype['earnings'] = undefined;
  
  /**
   * @member {module:model/InlineResponse2006DataFees} fees
   */
  InlineResponse2006Data.prototype['fees'] = undefined;
  
  
  
  
  
  
  export default InlineResponse2006Data;
  
  