amazon-pa-api5-node-ts
Version:
ProductAdvertisingAPI 5.0 NodeJS SDK rewritten in TypeScript.
104 lines (98 loc) • 3.39 kB
text/typescript
/**
* Adapted to TypeScript by David A. Ball. (c) 2024.
*
* Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/**
* ProductAdvertisingAPI
* https://webservices.amazon.com/paapi5/documentation/index.html
*
*/
/**
* The BrowseNode model module.
* @module model/BrowseNode
* @version 1.0.0
*/
import { ApiClient } from "../ApiClient.mjs";
import { BrowseNodeAncestor } from "./BrowseNodeAncestor.mjs";
import { BrowseNodeChild } from "./BrowseNodeChild.mjs";
/**
* Constructs a new <code>BrowseNode</code>.
* @alias module:model/BrowseNode
* @class
*/
export class BrowseNode {
/**
* @member {module:model/BrowseNodeAncestor} Ancestor
*/
public Ancestor?: BrowseNodeAncestor = undefined;
/**
* @member {Array.<module:model/BrowseNodeChild>} Children
*/
public Children?: BrowseNodeChild[];
/**
* @member {String} ContextFreeName
*/
public ContextFreeName?: string;
/**
* @member {String} DisplayName
*/
public DisplayName?: string;
/**
* @member {String} Id
*/
public Id?: string;
/**
* @member {Boolean} IsRoot
*/
public IsRoot?: boolean;
/**
* @member {Number} SalesRank
*/
public SalesRank?: number;
/**
* Constructs a <code>BrowseNode</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/BrowseNode} obj Optional instance to populate.
* @return {module:model/BrowseNode} The populated <code>BrowseNode</code> instance.
*/
public static constructFromObject(data: any, obj?: BrowseNode) {
if (data) {
obj = obj || new BrowseNode();
if (data.hasOwnProperty('Ancestor')) {
obj.Ancestor = BrowseNodeAncestor.constructFromObject(data['Ancestor']);
}
if (data.hasOwnProperty('Children')) {
obj.Children = ApiClient.convertToType(data['Children'], [BrowseNodeChild]);
}
if (data.hasOwnProperty('ContextFreeName')) {
obj.ContextFreeName = ApiClient.convertToType(data['ContextFreeName'], 'String');
}
if (data.hasOwnProperty('DisplayName')) {
obj.DisplayName = ApiClient.convertToType(data['DisplayName'], 'String');
}
if (data.hasOwnProperty('Id')) {
obj.Id = ApiClient.convertToType(data['Id'], 'String');
}
if (data.hasOwnProperty('IsRoot')) {
obj.IsRoot = ApiClient.convertToType(data['IsRoot'], 'Boolean');
}
if (data.hasOwnProperty('SalesRank')) {
obj.SalesRank = ApiClient.convertToType(data['SalesRank'], 'Number');
}
}
return obj;
}
};