@factset/sdk-securityexplanation
Version:
Security Explanation client library for JavaScript
221 lines (203 loc) • 8.25 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _ApiClient = _interopRequireDefault(require("../ApiClient"));
var _BrokerResearchSummary = _interopRequireDefault(require("./BrokerResearchSummary"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**
* Security Explanation API
* Allow clients to use Security Explanation through APIs.
*
* The version of the OpenAPI document: 1.4.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.
*
*/
/**
* The SecurityExplanationRequestParameters model module.
* @module model/SecurityExplanationRequestParameters
*/
class SecurityExplanationRequestParameters {
/**
* Constructs a new <code>SecurityExplanationRequestParameters</code>.
* Parameters for the security explanation request
* @alias module:model/SecurityExplanationRequestParameters
* @param id {String} Accepted ID types include Market Tickers, SEDOL, ISINs, CUSIPs, or FactSet Permanent Ids.
* @param startDate {Date} Start date of the explain request in YYYY-MM-DD format.
* @param endDate {Date} End date of the explain request in YYYY-MM-DD format.
*/
constructor(id, startDate, endDate) {
SecurityExplanationRequestParameters.initialize(this, id, startDate, endDate);
}
/**
* 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, id, startDate, endDate) {
obj['id'] = id;
obj['startDate'] = startDate;
obj['endDate'] = endDate;
}
/**
* Constructs a <code>SecurityExplanationRequestParameters</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/SecurityExplanationRequestParameters} obj Optional instance to populate.
* @return {module:model/SecurityExplanationRequestParameters} The populated <code>SecurityExplanationRequestParameters</code> instance.
*/
static constructFromObject(data, obj) {
if (data) {
obj = obj || new SecurityExplanationRequestParameters();
if (data.hasOwnProperty('id')) {
obj['id'] = _ApiClient.default.convertToType(data['id'], 'String');
}
if (data.hasOwnProperty('startDate')) {
obj['startDate'] = _ApiClient.default.convertToType(data['startDate'], 'Date');
}
if (data.hasOwnProperty('endDate')) {
obj['endDate'] = _ApiClient.default.convertToType(data['endDate'], 'Date');
}
if (data.hasOwnProperty('enableLinks')) {
obj['enableLinks'] = _ApiClient.default.convertToType(data['enableLinks'], 'Boolean');
}
if (data.hasOwnProperty('explanationStyle')) {
obj['explanationStyle'] = _ApiClient.default.convertToType(data['explanationStyle'], 'String');
}
if (data.hasOwnProperty('includePerformance')) {
obj['includePerformance'] = _ApiClient.default.convertToType(data['includePerformance'], 'Boolean');
}
if (data.hasOwnProperty('internalInvestmentRationale')) {
obj['internalInvestmentRationale'] = _ApiClient.default.convertToType(data['internalInvestmentRationale'], 'String');
}
if (data.hasOwnProperty('includeCompanyDescription')) {
obj['includeCompanyDescription'] = _ApiClient.default.convertToType(data['includeCompanyDescription'], 'Boolean');
}
if (data.hasOwnProperty('includeMarketSummary')) {
obj['includeMarketSummary'] = _ApiClient.default.convertToType(data['includeMarketSummary'], 'Boolean');
}
if (data.hasOwnProperty('includeInternalInvestmentRationaleRecommendation')) {
obj['includeInternalInvestmentRationaleRecommendation'] = _ApiClient.default.convertToType(data['includeInternalInvestmentRationaleRecommendation'], 'Boolean');
}
if (data.hasOwnProperty('includeInternalInvestmentRationalePriceTarget')) {
obj['includeInternalInvestmentRationalePriceTarget'] = _ApiClient.default.convertToType(data['includeInternalInvestmentRationalePriceTarget'], 'Boolean');
}
if (data.hasOwnProperty('brokerResearchSummary')) {
obj['brokerResearchSummary'] = _BrokerResearchSummary.default.constructFromObject(data['brokerResearchSummary']);
}
}
return obj;
}
}
/**
* Accepted ID types include Market Tickers, SEDOL, ISINs, CUSIPs, or FactSet Permanent Ids.
* @member {String} id
*/
SecurityExplanationRequestParameters.prototype['id'] = undefined;
/**
* Start date of the explain request in YYYY-MM-DD format.
* @member {Date} startDate
*/
SecurityExplanationRequestParameters.prototype['startDate'] = undefined;
/**
* End date of the explain request in YYYY-MM-DD format.
* @member {Date} endDate
*/
SecurityExplanationRequestParameters.prototype['endDate'] = undefined;
/**
* Include or exclude hyperlinks to underlying sources.
* @member {Boolean} enableLinks
* @default false
*/
SecurityExplanationRequestParameters.prototype['enableLinks'] = false;
/**
* Determines the style of the Explanation
* @member {module:model/SecurityExplanationRequestParameters.ExplanationStyleEnum} explanationStyle
* @default 'short'
*/
SecurityExplanationRequestParameters.prototype['explanationStyle'] = 'short';
/**
* Include or exclude the company's total return for the request period.
* @member {Boolean} includePerformance
* @default false
*/
SecurityExplanationRequestParameters.prototype['includePerformance'] = false;
/**
* For IRN users only; select to include a summary, footnotes, or no IRN notes for the period.
* @member {module:model/SecurityExplanationRequestParameters.InternalInvestmentRationaleEnum} internalInvestmentRationale
* @default 'none'
*/
SecurityExplanationRequestParameters.prototype['internalInvestmentRationale'] = 'none';
/**
* Include or exclude the target company's business description.
* @member {Boolean} includeCompanyDescription
* @default false
*/
SecurityExplanationRequestParameters.prototype['includeCompanyDescription'] = false;
/**
* Include or exclude a second paragraph in the explanation, offering market and sector news relating to the target company for additional context.
* @member {Boolean} includeMarketSummary
* @default true
*/
SecurityExplanationRequestParameters.prototype['includeMarketSummary'] = true;
/**
* For IRN users only; include or exclude your firm's rating in the summary or footnote.
* @member {Boolean} includeInternalInvestmentRationaleRecommendation
* @default true
*/
SecurityExplanationRequestParameters.prototype['includeInternalInvestmentRationaleRecommendation'] = true;
/**
* For IRN users only; include or exclude your firm's price target in the summary or footnote.
* @member {Boolean} includeInternalInvestmentRationalePriceTarget
* @default true
*/
SecurityExplanationRequestParameters.prototype['includeInternalInvestmentRationalePriceTarget'] = true;
/**
* @member {module:model/BrokerResearchSummary} brokerResearchSummary
*/
SecurityExplanationRequestParameters.prototype['brokerResearchSummary'] = undefined;
/**
* Allowed values for the <code>explanationStyle</code> property.
* @enum {String}
* @readonly
*/
SecurityExplanationRequestParameters['ExplanationStyleEnum'] = {
/**
* value: "short"
* @const
*/
"short": "short",
/**
* value: "long"
* @const
*/
"long": "long"
};
/**
* Allowed values for the <code>internalInvestmentRationale</code> property.
* @enum {String}
* @readonly
*/
SecurityExplanationRequestParameters['InternalInvestmentRationaleEnum'] = {
/**
* value: "none"
* @const
*/
"none": "none",
/**
* value: "summary"
* @const
*/
"summary": "summary",
/**
* value: "footnote"
* @const
*/
"footnote": "footnote"
};
var _default = exports.default = SecurityExplanationRequestParameters;