@tractorzoom/equipment-attributes
Version:
Source of truth for equipment attributes by category
290 lines (289 loc) • 20.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAttributesForSubCategory = exports.ATTRIBUTES_BY_SUBCATEGORY = exports.TOP_ATTRIBUTES_BY_SUBCATEGORY = void 0;
const attributes_1 = require("./attributes");
const categories_1 = require("./categories");
const subcategories_1 = require("./subcategories");
const TRACTORS_TOP_ATTRIBUTES = [attributes_1.HOURS, attributes_1.HORSEPOWER];
exports.TOP_ATTRIBUTES_BY_SUBCATEGORY = {
[]: [attributes_1.HOURS],
[]: [attributes_1.WIDTH],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [],
[]: [attributes_1.HOURS],
[]: [attributes_1.NUMBER_OF_BALES],
[]: [attributes_1.NUMBER_OF_BALES],
[]: [],
[]: [],
[]: [attributes_1.WIDTH],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH, attributes_1.NUMBER_OF_SHANKS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.WIDTH],
[]: [attributes_1.HOURS, attributes_1.CAPACITY],
[]: [attributes_1.HOURS, attributes_1.CAPACITY],
[]: [attributes_1.WIDTH],
[]: [attributes_1.CAPACITY],
[]: [],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS],
[]: [],
[]: [attributes_1.HOURS],
[]: TRACTORS_TOP_ATTRIBUTES,
[]: TRACTORS_TOP_ATTRIBUTES,
[]: TRACTORS_TOP_ATTRIBUTES,
[]: TRACTORS_TOP_ATTRIBUTES,
[]: TRACTORS_TOP_ATTRIBUTES,
[]: TRACTORS_TOP_ATTRIBUTES,
[]: [],
[]: [],
[]: [],
[]: [attributes_1.LENGTH],
[]: [],
[]: [attributes_1.CAPACITY],
[]: [attributes_1.WIDTH],
[]: [],
[]: [attributes_1.CAPACITY],
[]: [],
[]: [],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH, attributes_1.NUMBER_OF_ROWS],
[]: [attributes_1.WIDTH],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.SPACING],
[]: [attributes_1.LENGTH],
[]: [attributes_1.HOURS],
[]: [],
[]: [attributes_1.WIDTH],
[]: TRACTORS_TOP_ATTRIBUTES,
[]: [],
[]: [attributes_1.HOURS],
[]: [attributes_1.CAPACITY],
[]: [attributes_1.LENGTH],
[]: [],
[]: [attributes_1.CAPACITY],
[]: [attributes_1.CAPACITY],
[]: [],
[]: [attributes_1.LENGTH],
[]: [attributes_1.HOURS],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH],
[]: [],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH],
[]: [attributes_1.CAPACITY],
[]: [attributes_1.HOURS],
[]: [],
[]: [],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS],
[]: [],
[]: [],
[]: [],
[]: [],
[]: [],
[]: [],
[]: [attributes_1.HOURS, attributes_1.MILES],
[]: [attributes_1.HOURS],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.ACRES],
[]: [attributes_1.NUMBER_OF_BOTTOMS, attributes_1.SPACING],
[]: [attributes_1.CAPACITY],
[]: [attributes_1.NUMBER_OF_SHANKS],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH],
[]: [attributes_1.HOURS],
[]: [attributes_1.WIDTH],
[]: [],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [],
[]: [attributes_1.CAPACITY, attributes_1.WIDTH],
[]: [attributes_1.CAPACITY, attributes_1.WIDTH],
[]: [attributes_1.HOURS, attributes_1.WIDTH],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.SPACING],
[]: [attributes_1.HOURS],
[]: [],
[]: [attributes_1.WIDTH, attributes_1.SPACING],
[]: [attributes_1.WIDTH],
[]: [attributes_1.HOURS],
[]: [attributes_1.LENGTH],
[]: [attributes_1.HOURS],
[]: [attributes_1.MILES],
[]: [attributes_1.HOURS, attributes_1.WIDTH],
[]: [],
[]: [attributes_1.MILES],
[]: [attributes_1.WIDTH],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
};
const SMALL_TRACTORS_ATTRIBUTES = [
attributes_1.HOURS,
attributes_1.DRIVE,
attributes_1.HORSEPOWER,
attributes_1.THREE_POINT_HITCH,
attributes_1.REAR_PTO,
attributes_1.CAB,
attributes_1.BELLY_MOWER,
attributes_1.LOADER,
attributes_1.FRONT_TIRES,
attributes_1.REAR_TIRES,
];
const BIG_TRACTORS_ATTRIBUTES = SMALL_TRACTORS_ATTRIBUTES.filter((attribute) => attribute !== attributes_1.BELLY_MOWER);
exports.ATTRIBUTES_BY_SUBCATEGORY = {
[]: [attributes_1.HOURS],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.WIDTH, attributes_1.SPACING, attributes_1.ACRES],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [],
[]: [attributes_1.HOURS],
[]: [attributes_1.NUMBER_OF_BALES, attributes_1.WIDTH],
[]: [attributes_1.NUMBER_OF_BALES, attributes_1.WIDTH],
[]: [attributes_1.HOURS, attributes_1.LENGTH, attributes_1.WIDTH],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH, attributes_1.SPACING, attributes_1.NUMBER_OF_SHANKS],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS, attributes_1.COMBINE_TYPE, attributes_1.DRIVE, attributes_1.POWERFOLD_BIN, attributes_1.CHOPPER, attributes_1.SPREADER, attributes_1.FRONT_TIRES],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS, attributes_1.COMBINE_TYPE, attributes_1.DRIVE, attributes_1.POWERFOLD_BIN, attributes_1.CHOPPER, attributes_1.SPREADER, attributes_1.FRONT_TIRES],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS, attributes_1.COMBINE_TYPE, attributes_1.DRIVE, attributes_1.POWERFOLD_BIN, attributes_1.CHOPPER, attributes_1.SPREADER, attributes_1.FRONT_TIRES],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS, attributes_1.COMBINE_TYPE, attributes_1.DRIVE, attributes_1.POWERFOLD_BIN, attributes_1.CHOPPER, attributes_1.SPREADER, attributes_1.FRONT_TIRES],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS, attributes_1.COMBINE_TYPE, attributes_1.DRIVE, attributes_1.POWERFOLD_BIN, attributes_1.CHOPPER, attributes_1.SPREADER, attributes_1.FRONT_TIRES],
[]: [],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS, attributes_1.COMBINE_TYPE, attributes_1.DRIVE, attributes_1.POWERFOLD_BIN, attributes_1.CHOPPER, attributes_1.SPREADER, attributes_1.FRONT_TIRES],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS, attributes_1.DRIVE],
[]: [attributes_1.HOURS],
[]: [attributes_1.WIDTH, attributes_1.SPACING],
[]: [attributes_1.WIDTH, attributes_1.SPACING, attributes_1.NUMBER_OF_SHANKS],
[]: [attributes_1.HOURS],
[]: [],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.WIDTH, attributes_1.SPACING],
[]: [attributes_1.HOURS, attributes_1.CAPACITY, attributes_1.DRIVE, attributes_1.WIDTH],
[]: [attributes_1.HOURS, attributes_1.CAPACITY, attributes_1.DRIVE, attributes_1.WIDTH],
[]: [attributes_1.WIDTH, attributes_1.SPACING, attributes_1.NUMBER_OF_SHANKS],
[]: [attributes_1.HOURS, attributes_1.CAPACITY, attributes_1.DRIVE, attributes_1.WIDTH],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.WIDTH, attributes_1.SPACING],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS, attributes_1.DRIVE],
[]: [],
[]: [attributes_1.HOURS],
[]: SMALL_TRACTORS_ATTRIBUTES,
[]: BIG_TRACTORS_ATTRIBUTES,
[]: BIG_TRACTORS_ATTRIBUTES,
[]: BIG_TRACTORS_ATTRIBUTES,
[]: SMALL_TRACTORS_ATTRIBUTES,
[]: BIG_TRACTORS_ATTRIBUTES,
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.LENGTH],
[]: [],
[]: [attributes_1.CAPACITY],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.WIDTH, attributes_1.SPACING, attributes_1.ACRES],
[]: [],
[]: [attributes_1.CAPACITY],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH, attributes_1.NUMBER_OF_ROWS],
[]: [attributes_1.WIDTH],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.WIDTH, attributes_1.SPACING],
[]: [attributes_1.LENGTH],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.WIDTH],
[]: SMALL_TRACTORS_ATTRIBUTES,
[]: [attributes_1.HOURS],
[]: [],
[]: [attributes_1.CAPACITY, attributes_1.HOURS],
[]: [attributes_1.LENGTH],
[]: [attributes_1.HOURS],
[]: [attributes_1.CAPACITY, attributes_1.WIDTH],
[]: [attributes_1.CAPACITY, attributes_1.WIDTH, attributes_1.NUMBER_OF_SHANKS],
[]: [attributes_1.CAPACITY, attributes_1.WIDTH],
[]: [attributes_1.LENGTH],
[]: [attributes_1.HOURS],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH],
[]: [attributes_1.WIDTH, attributes_1.SPACING, attributes_1.NUMBER_OF_SHANKS],
[]: [attributes_1.CAPACITY],
[]: [attributes_1.HOURS],
[]: [attributes_1.LENGTH],
[]: [attributes_1.HOURS, attributes_1.CAPACITY, attributes_1.WIDTH],
[]: [attributes_1.HOURS, attributes_1.SEPARATOR_HOURS, attributes_1.COMBINE_TYPE, attributes_1.DRIVE, attributes_1.POWERFOLD_BIN, attributes_1.CHOPPER, attributes_1.SPREADER, attributes_1.FRONT_TIRES],
[]: [attributes_1.HOURS, attributes_1.CAPACITY, attributes_1.EMISSIONS, attributes_1.LENGTH, attributes_1.MILES, attributes_1.TAG_AXLE, attributes_1.TRANSMISSION, attributes_1.WIDTH],
[]: [],
[]: [attributes_1.WIDTH, attributes_1.HOURS],
[]: [attributes_1.CAPACITY, attributes_1.WIDTH],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.WIDTH, attributes_1.SPACING, attributes_1.ACRES],
[]: [attributes_1.WIDTH, attributes_1.SPACING, attributes_1.NUMBER_OF_SHANKS, attributes_1.NUMBER_OF_BOTTOMS, attributes_1.NUMBER_OF_ROWS],
[]: [attributes_1.HOURS, attributes_1.MILES],
[]: [attributes_1.HOURS],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.WIDTH, attributes_1.SPACING, attributes_1.ACRES, attributes_1.CENTER_BULK_FILL],
[]: [attributes_1.NUMBER_OF_BOTTOMS, attributes_1.SPACING, attributes_1.WIDTH],
[]: [attributes_1.CAPACITY, attributes_1.WIDTH],
[]: [attributes_1.NUMBER_OF_SHANKS, attributes_1.WIDTH, attributes_1.SPACING],
[]: [attributes_1.WIDTH, attributes_1.SPACING],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.SPACING, attributes_1.WIDTH],
[]: [attributes_1.HOURS],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.WIDTH, attributes_1.SPACING, attributes_1.ACRES],
[]: [],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.WIDTH, attributes_1.CAPACITY],
[]: [attributes_1.HOURS, attributes_1.WIDTH, attributes_1.CAPACITY, attributes_1.DRIVE],
[]: [attributes_1.HOURS, attributes_1.WIDTH, attributes_1.CAPACITY, attributes_1.DRIVE],
[]: [attributes_1.NUMBER_OF_ROWS, attributes_1.SPACING, attributes_1.WIDTH],
[]: [attributes_1.HOURS],
[]: [],
[]: [attributes_1.WIDTH, attributes_1.SPACING],
[]: [attributes_1.WIDTH, attributes_1.SPACING, attributes_1.NUMBER_OF_SHANKS, attributes_1.NUMBER_OF_ROWS, attributes_1.CAPACITY, attributes_1.DRIVE],
[]: [attributes_1.HOURS],
[]: [attributes_1.LENGTH, attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.MILES, attributes_1.TAG_AXLE, attributes_1.TRANSMISSION],
[]: [attributes_1.HOURS, attributes_1.WIDTH],
[]: [attributes_1.HOURS],
[]: [attributes_1.MILES, attributes_1.TRANSMISSION],
[]: [attributes_1.WIDTH, attributes_1.SPACING],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.HOURS],
[]: [attributes_1.WIDTH, attributes_1.HOURS],
};
const getAttributesForSubCategory = (categoryName, subCategoryName) => {
const subcategories = (0, categories_1.getSubcategoriesForCategory)(categoryName);
let subcategory;
if (subCategoryName === subcategories_1.OTHER) {
subcategory = `Other ${categoryName}`;
}
else {
subcategory = subcategories.find((x) => x === subCategoryName);
}
if (subcategory) {
return exports.ATTRIBUTES_BY_SUBCATEGORY[subcategory] || [];
}
return [];
};
exports.getAttributesForSubCategory = getAttributesForSubCategory;