/* tslint:disable */ /* eslint-disable */ /** * My API * API documentation for my Laravel app * * 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 * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { AttributeValueResource } from './AttributeValueResource'; import { AttributeValueResourceFromJSON, AttributeValueResourceFromJSONTyped, AttributeValueResourceToJSON, AttributeValueResourceToJSONTyped, } from './AttributeValueResource'; /** * * @export * @interface AttributeResource */ export interface AttributeResource { /** * * @type {number} * @memberof AttributeResource */ id: number; /** * * @type {string} * @memberof AttributeResource */ name: string; /** * * @type {string} * @memberof AttributeResource */ type: string; /** * * @type {boolean} * @memberof AttributeResource */ isFilterable: boolean; /** * * @type {boolean} * @memberof AttributeResource */ isExpandedByDefault: boolean; /** * * @type {number} * @memberof AttributeResource */ filterIndex: number; /** * * @type {Array} * @memberof AttributeResource */ values: Array | null; /** * * @type {object} * @memberof AttributeResource */ productTypes: object; } /** * Check if a given object implements the AttributeResource interface. */ export function instanceOfAttributeResource(value: object): value is AttributeResource { if (!('id' in value) || value['id'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('type' in value) || value['type'] === undefined) return false; if (!('isFilterable' in value) || value['isFilterable'] === undefined) return false; if (!('isExpandedByDefault' in value) || value['isExpandedByDefault'] === undefined) return false; if (!('filterIndex' in value) || value['filterIndex'] === undefined) return false; if (!('values' in value) || value['values'] === undefined) return false; if (!('productTypes' in value) || value['productTypes'] === undefined) return false; return true; } export function AttributeResourceFromJSON(json: any): AttributeResource { return AttributeResourceFromJSONTyped(json, false); } export function AttributeResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): AttributeResource { if (json == null) { return json; } return { 'id': json['id'], 'name': json['name'], 'type': json['type'], 'isFilterable': json['isFilterable'], 'isExpandedByDefault': json['isExpandedByDefault'], 'filterIndex': json['filterIndex'], 'values': (json['values'] == null ? null : (json['values'] as Array).map(AttributeValueResourceFromJSON)), 'productTypes': json['productTypes'], }; } export function AttributeResourceToJSON(json: any): AttributeResource { return AttributeResourceToJSONTyped(json, false); } export function AttributeResourceToJSONTyped(value?: AttributeResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'name': value['name'], 'type': value['type'], 'isFilterable': value['isFilterable'], 'isExpandedByDefault': value['isExpandedByDefault'], 'filterIndex': value['filterIndex'], 'values': (value['values'] == null ? null : (value['values'] as Array).map(AttributeValueResourceToJSON)), 'productTypes': value['productTypes'], }; }