UNPKG

@tractorzoom/equipment-attributes

Version:

Source of truth for equipment attributes by category

229 lines (228 loc) 9.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSubcategoriesForCategory = exports.CATEGORY_LIST = exports.CATEGORIES_BY_SLUG = exports.CATEGORIES = void 0; const subcategories_1 = require("./subcategories"); const AG_TRAILERS = { name: 'Ag Trailers', subcategories: { HEADER_TRAILERS: subcategories_1.HEADER_TRAILERS, LIVESTOCK_TRAILERS: subcategories_1.LIVESTOCK_TRAILERS, MATERIAL_HANDLING: subcategories_1.MATERIAL_HANDLING, OTHER: subcategories_1.OTHER, }, }; const CHEMICAL_APPLICATORS = { name: 'Chemical Applicators', subcategories: { FERTILIZER_APPLICATORS_ANHYDROUS: subcategories_1.FERTILIZER_APPLICATORS_ANHYDROUS, FERTILIZER_APPLICATORS_DRY: subcategories_1.FERTILIZER_APPLICATORS_DRY, FERTILIZER_APPLICATORS_LIQUID: subcategories_1.FERTILIZER_APPLICATORS_LIQUID, FLOATERS: subcategories_1.FLOATERS, NH3_ANHYDROUS_TANKS: subcategories_1.NH3_ANHYDROUS_TANKS, SPRAYERS_3PT_MOUNTED: subcategories_1.SPRAYERS_3PT_MOUNTED, SPRAYERS_PULL_TYPE: subcategories_1.SPRAYERS_PULL_TYPE, SPRAYERS_SELF_PROPELLED: subcategories_1.SPRAYERS_SELF_PROPELLED, TOOLBARS: subcategories_1.TOOLBARS, // eslint-disable-next-line sort-keys OTHER: subcategories_1.OTHER, }, }; const COMBINE_HARVESTERS = { name: 'Combines', subcategories: { CLASS_5: subcategories_1.CLASS_5, CLASS_6: subcategories_1.CLASS_6, CLASS_7: subcategories_1.CLASS_7, CLASS_8: subcategories_1.CLASS_8, CLASS_9: subcategories_1.CLASS_9, OTHER: subcategories_1.OTHER, }, }; const CONSTRUCTION = { name: 'Construction', subcategories: { AERIAL_LIFTS: subcategories_1.AERIAL_LIFTS, ARTICULATED_TRUCKS: subcategories_1.ARTICULATED_TRUCKS, ASPHALT_PAVERS: subcategories_1.ASPHALT_PAVERS, ATTACHMENTS: subcategories_1.ATTACHMENTS, BACKHOE_LOADERS: subcategories_1.BACKHOE_LOADERS, COLD_PLANERS: subcategories_1.COLD_PLANERS, COMPACTORS: subcategories_1.COMPACTORS, COMPACT_EXCAVATORS: subcategories_1.COMPACT_EXCAVATORS, COMPACT_TRACK_LOADERS: subcategories_1.COMPACT_TRACK_LOADERS, CRANE: subcategories_1.CRANE, DOZERS: subcategories_1.DOZERS, DRAGLINES: subcategories_1.DRAGLINES, DRUM_ROLLERS: subcategories_1.DRUM_ROLLERS, EXCAVATORS: subcategories_1.EXCAVATORS, FORKLIFTS: subcategories_1.FORKLIFTS, HYDRAULIC_MINING_SHOVELS: subcategories_1.HYDRAULIC_MINING_SHOVELS, LIGHT_TOWERS: subcategories_1.LIGHT_TOWERS, MOTOR_GRADERS: subcategories_1.MOTOR_GRADERS, OFF_HIGHWAY_TRUCKS: subcategories_1.OFF_HIGHWAY_TRUCKS, PIPELAYERS: subcategories_1.PIPELAYERS, SCRAPERS: subcategories_1.SCRAPERS, SKIDDER: subcategories_1.SKIDDER, SKID_STEERS: subcategories_1.SKID_STEERS, TELEHANDLERS: subcategories_1.TELEHANDLERS, TILE_PLOW: subcategories_1.TILE_PLOW, TRACK_LOADERS: subcategories_1.TRACK_LOADERS, TRENCHER: subcategories_1.TRENCHER, UNDERGROUND_MINING_LOADERS: subcategories_1.UNDERGROUND_MINING_LOADERS, WHEEL_DOZERS: subcategories_1.WHEEL_DOZERS, WHEEL_EXCAVATORS: subcategories_1.WHEEL_EXCAVATORS, WHEEL_LOADERS: subcategories_1.WHEEL_LOADERS, // eslint-disable-next-line sort-keys OTHER: subcategories_1.OTHER, }, }; const HARVESTING = { name: 'Harvesting', subcategories: { COTTON_PICKERS_STRIPPERS: subcategories_1.COTTON_PICKERS_STRIPPERS, FORAGE_HARVESTERS_PULL_TYPE: subcategories_1.FORAGE_HARVESTERS_PULL_TYPE, FORAGE_HARVESTERS_SELF_PROPELLED: subcategories_1.FORAGE_HARVESTERS_SELF_PROPELLED, FORAGE_WAGONS: subcategories_1.FORAGE_WAGONS, GRAIN_AUGERS_CONVEYORS: subcategories_1.GRAIN_AUGERS_CONVEYORS, GRAIN_BAGGERS: subcategories_1.GRAIN_BAGGERS, GRAIN_CARTS: subcategories_1.GRAIN_CARTS, GRAIN_VACUUMS: subcategories_1.GRAIN_VACUUMS, GRAVITY_WAGONS: subcategories_1.GRAVITY_WAGONS, HEADERS_FORAGE: subcategories_1.HEADERS_FORAGE, HEADERS_PLATFORM: subcategories_1.HEADERS_PLATFORM, HEADERS_ROW_CROP: subcategories_1.HEADERS_ROW_CROP, OTHER: subcategories_1.OTHER, }, }; const HAY_AND_FORAGE = { name: 'Hay and Forage', subcategories: { BALERS_ROUND: subcategories_1.BALERS_ROUND, BALERS_SQUARE: subcategories_1.BALERS_SQUARE, BALE_ACCUMULATORS_MOVERS: subcategories_1.BALE_ACCUMULATORS_MOVERS, BALE_PROCESSORS: subcategories_1.BALE_PROCESSORS, GRINDERS_MIXERS: subcategories_1.GRINDERS_MIXERS, HAY_MERGERS: subcategories_1.HAY_MERGERS, HAY_RAKES_TEDDERS: subcategories_1.HAY_RAKES_TEDDERS, MOWERS_BATWING: subcategories_1.MOWERS_BATWING, MOWERS_CONDITIONER: subcategories_1.MOWERS_CONDITIONER, MOWERS_DISK: subcategories_1.MOWERS_DISK, MOWERS_FLAIL_STALK_CHOPPERS: subcategories_1.MOWERS_FLAIL_STALK_CHOPPERS, MOWERS_ROTARY: subcategories_1.MOWERS_ROTARY, WINDROWERS: subcategories_1.WINDROWERS, // eslint-disable-next-line sort-keys OTHER: subcategories_1.OTHER, }, }; const MANURE_HANDLING = { name: 'Manure Handling', subcategories: { MANURE_SPREADERS_DRY: subcategories_1.MANURE_SPREADERS_DRY, MANURE_SPREADERS_LIQUID: subcategories_1.MANURE_SPREADERS_LIQUID, MANURE_SYSTEMS: subcategories_1.MANURE_SYSTEMS, POULTRY_LITTER_EQUIPMENT: subcategories_1.POULTRY_LITTER_EQUIPMENT, // eslint-disable-next-line sort-keys OTHER: subcategories_1.OTHER, }, }; const OTHER_EQUIPMENT = { name: 'Other Equipment', subcategories: { THREE_POINT_ATTACHMENTS: subcategories_1.THREE_POINT_ATTACHMENTS, // eslint-disable-next-line sort-keys FUEL_TRAILERS: subcategories_1.FUEL_TRAILERS, GENERATORS: subcategories_1.GENERATORS, GPS_EQUIPMENT: subcategories_1.GPS_EQUIPMENT, IRRIGATION: subcategories_1.IRRIGATION, LIFTS: subcategories_1.LIFTS, LIQUID_TANKS: subcategories_1.LIQUID_TANKS, LOADERS: subcategories_1.LOADERS, OUTDOOR_POWER: subcategories_1.OUTDOOR_POWER, SKID_STEER_ATTACHMENTS: subcategories_1.SKID_STEER_ATTACHMENTS, TRAILERS: subcategories_1.TRAILERS, TRUCKS: subcategories_1.TRUCKS, TURF: subcategories_1.TURF, VEHICLES: subcategories_1.VEHICLES, // eslint-disable-next-line sort-keys OTHER: subcategories_1.OTHER, }, }; const PLANTING = { name: 'Planting', subcategories: { AIR_SEEDERS_OR_CARTS: subcategories_1.AIR_SEEDERS_OR_CARTS, GRAIN_DRILLS: subcategories_1.GRAIN_DRILLS, PLANTERS: subcategories_1.PLANTERS, SEEDERS: subcategories_1.SEEDERS, SEED_TENDERS: subcategories_1.SEED_TENDERS, // eslint-disable-next-line sort-keys OTHER: subcategories_1.OTHER, }, }; const TILLAGE = { name: 'Tillage', subcategories: { CHISEL_PLOWS: subcategories_1.CHISEL_PLOWS, DISKS: subcategories_1.DISKS, DISK_RIPPERS: subcategories_1.DISK_RIPPERS, FIELD_CULTIVATORS: subcategories_1.FIELD_CULTIVATORS, LAND_ROLLERS: subcategories_1.LAND_ROLLERS, MULCH_FINISHERS: subcategories_1.MULCH_FINISHERS, PLOWS: subcategories_1.PLOWS, RIPPERS: subcategories_1.RIPPERS, ROTARY_TILLAGE: subcategories_1.ROTARY_TILLAGE, ROW_CROP_CULTIVATORS: subcategories_1.ROW_CROP_CULTIVATORS, STRIP_TILL_BARS: subcategories_1.STRIP_TILL_BARS, VERTICAL_TILLAGE: subcategories_1.VERTICAL_TILLAGE, // eslint-disable-next-line sort-keys OTHER: subcategories_1.OTHER, }, }; const TRACTORS = { name: 'Tractors', subcategories: { LESS_THAN_40: subcategories_1.LESS_THAN_40, // eslint-disable-next-line sort-keys '40_TO_99': subcategories_1.FROM_40_TO_99, // eslint-disable-next-line sort-keys '100_TO_174': subcategories_1.FROM_100_TO_174, '175_TO_299': subcategories_1.FROM_175_TO_299, '300_TO_424': subcategories_1.FROM_300_TO_424, '425_PLUS': subcategories_1.FROM_425_PLUS, }, }; exports.CATEGORIES = { AG_TRAILERS, CHEMICAL_APPLICATORS, COMBINE_HARVESTERS, CONSTRUCTION, HARVESTING, HAY_AND_FORAGE, MANURE_HANDLING, OTHER_EQUIPMENT, PLANTING, TILLAGE, TRACTORS, }; exports.CATEGORIES_BY_SLUG = { 'ag-trailers': AG_TRAILERS, 'chemical-applicators': CHEMICAL_APPLICATORS, combines: COMBINE_HARVESTERS, construction: CONSTRUCTION, harvesting: HARVESTING, 'hay-and-forage': HAY_AND_FORAGE, 'manure-handling': MANURE_HANDLING, 'other-equipment': OTHER_EQUIPMENT, planting: PLANTING, tillage: TILLAGE, tractors: TRACTORS, }; exports.CATEGORY_LIST = Object.values(exports.CATEGORIES); const getSubcategoriesForCategory = (categoryName) => { const category = Object.values(exports.CATEGORIES).find((x) => x.name === categoryName); if (!category) { return []; } return Object.values(category.subcategories); }; exports.getSubcategoriesForCategory = getSubcategoriesForCategory;