@thejob/schema 2.0.5 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.json +7 -0
- package/dist/index.cjs +1160 -2
- package/dist/index.d.cts +377 -1
- package/dist/index.d.ts +377 -1
- package/dist/index.js +1145 -1
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/job/job-taxonomy.constant.ts +1104 -0
- package/src/job/job-taxonomy.util.ts +111 -0
- package/src/job/job.schema.ts +12 -0
- package/src/page/page.schema.ts +16 -0
package/dist/index.d.ts
CHANGED
|
@@ -615,6 +615,8 @@ declare const JobSchema: ObjectSchema<{
|
|
|
615
615
|
verified: undefined;
|
|
616
616
|
logo: null;
|
|
617
617
|
categories: "";
|
|
618
|
+
industries: never[];
|
|
619
|
+
subCategories: never[];
|
|
618
620
|
socialAccounts: "";
|
|
619
621
|
isOwner: undefined;
|
|
620
622
|
isFeatured: false;
|
|
@@ -698,6 +700,368 @@ declare const JobSchema: ObjectSchema<{
|
|
|
698
700
|
}, "">;
|
|
699
701
|
type TJobSchema = InferType<typeof JobSchema>;
|
|
700
702
|
|
|
703
|
+
/**
|
|
704
|
+
* Job classification taxonomy: category -> industry -> subCategory.
|
|
705
|
+
*
|
|
706
|
+
* Edit this file directly to change the taxonomy. The three views below cannot drift
|
|
707
|
+
* apart silently: JOB_TAXONOMY is typed against the enums, and TAXONOMY_LABELS is keyed
|
|
708
|
+
* by them, so adding a value without wiring it into both is a compile error.
|
|
709
|
+
*
|
|
710
|
+
* Values are lowercase snake_case constants, like every other enum in this package
|
|
711
|
+
* (EmploymentType, WorkMode, ExperienceLevel). They are what gets STORED and what the
|
|
712
|
+
* LLM must emit; the human-readable English label lives in TAXONOMY_LABELS, and each
|
|
713
|
+
* UI translates the constant for display rather than showing the stored string.
|
|
714
|
+
*
|
|
715
|
+
* Why constants and not the free text they replace: these are enforced as an `enum`
|
|
716
|
+
* in the Gemini response schema, which is structural. The previous free-text taxonomy
|
|
717
|
+
* relied on a prompt rule ("COPIED VERBATIM ... do NOT invent") and drifted anyway —
|
|
718
|
+
* production accumulated 115 distinct categories against 8 defined, and 848
|
|
719
|
+
* subCategories against 147.
|
|
720
|
+
*/
|
|
721
|
+
declare enum JobCategory {
|
|
722
|
+
TechnologyDataAndDigital = "technology_data_and_digital",
|
|
723
|
+
HealthcareAndLifeSciences = "healthcare_and_life_sciences",
|
|
724
|
+
AgricultureEnergyAndEnvironment = "agriculture_energy_and_environment",
|
|
725
|
+
FinanceBankingAndLegal = "finance_banking_and_legal",
|
|
726
|
+
ConstructionEngineeringAndTrades = "construction_engineering_and_trades",
|
|
727
|
+
MarketingMediaAndCreative = "marketing_media_and_creative",
|
|
728
|
+
LogisticsSalesAndOperations = "logistics_sales_and_operations",
|
|
729
|
+
EducationAndPublicService = "education_and_public_service",
|
|
730
|
+
HospitalityFoodAndTourism = "hospitality_food_and_tourism",
|
|
731
|
+
ManufacturingAndProduction = "manufacturing_and_production",
|
|
732
|
+
RetailAndConsumerServices = "retail_and_consumer_services",
|
|
733
|
+
AutomotiveAndTransportServices = "automotive_and_transport_services"
|
|
734
|
+
}
|
|
735
|
+
declare const SupportedJobCategories: JobCategory[];
|
|
736
|
+
declare enum JobIndustry {
|
|
737
|
+
SoftwareAndWebDevelopment = "software_and_web_development",
|
|
738
|
+
DataAIAndAnalytics = "data_ai_and_analytics",
|
|
739
|
+
ITInfrastructureAndSecurity = "it_infrastructure_and_security",
|
|
740
|
+
ProductAndDesign = "product_and_design",
|
|
741
|
+
MedicalPractice = "medical_practice",
|
|
742
|
+
TherapyAndRehabilitation = "therapy_and_rehabilitation",
|
|
743
|
+
BioTechAndPharmaceuticals = "biotech_and_pharmaceuticals",
|
|
744
|
+
MentalHealth = "mental_health",
|
|
745
|
+
RenewableEnergy = "renewable_energy",
|
|
746
|
+
NaturalResourcesAndUtilities = "natural_resources_and_utilities",
|
|
747
|
+
AgricultureAndForestry = "agriculture_and_forestry",
|
|
748
|
+
EnvironmentalServices = "environmental_services",
|
|
749
|
+
BankingAndInvestments = "banking_and_investments",
|
|
750
|
+
FinTechAndInsurance = "fintech_and_insurance",
|
|
751
|
+
AccountingAndAudit = "accounting_and_audit",
|
|
752
|
+
LegalServices = "legal_services",
|
|
753
|
+
ArchitectureAndPlanning = "architecture_and_planning",
|
|
754
|
+
CivilAndIndustrialEngineering = "civil_and_industrial_engineering",
|
|
755
|
+
SkilledTrades = "skilled_trades",
|
|
756
|
+
MarketingAndAdvertising = "marketing_and_advertising",
|
|
757
|
+
MediaAndEntertainment = "media_and_entertainment",
|
|
758
|
+
CreativeArtsAndFashion = "creative_arts_and_fashion",
|
|
759
|
+
SupplyChainAndTransport = "supply_chain_and_transport",
|
|
760
|
+
SalesAndBusinessDevelopment = "sales_and_business_development",
|
|
761
|
+
HRAndAdmin = "hr_and_admin",
|
|
762
|
+
EducationAndTraining = "education_and_training",
|
|
763
|
+
GovernmentAndNonProfit = "government_and_non_profit",
|
|
764
|
+
FoodAndBeverageService = "food_and_beverage_service",
|
|
765
|
+
AccommodationAndTravel = "accommodation_and_travel",
|
|
766
|
+
ProductionAndAssembly = "production_and_assembly",
|
|
767
|
+
QualityAndProcess = "quality_and_process",
|
|
768
|
+
RetailOperations = "retail_operations",
|
|
769
|
+
CustomerService = "customer_service",
|
|
770
|
+
VehicleServiceAndRepair = "vehicle_service_and_repair",
|
|
771
|
+
DrivingAndTransport = "driving_and_transport"
|
|
772
|
+
}
|
|
773
|
+
declare const SupportedJobIndustries: JobIndustry[];
|
|
774
|
+
declare enum JobSubCategory {
|
|
775
|
+
Frontend = "frontend",
|
|
776
|
+
Backend = "backend",
|
|
777
|
+
FullStack = "full_stack",
|
|
778
|
+
MobileAppDev = "mobile_app_dev",
|
|
779
|
+
GameDevelopment = "game_development",
|
|
780
|
+
EmbeddedSystems = "embedded_systems",
|
|
781
|
+
QAAndTesting = "qa_and_testing",
|
|
782
|
+
SoftwareEngineering = "software_engineering",
|
|
783
|
+
WebDevelopment = "web_development",
|
|
784
|
+
SoftwareArchitecture = "software_architecture",
|
|
785
|
+
DataScience = "data_science",
|
|
786
|
+
MachineLearning = "machine_learning",
|
|
787
|
+
ArtificialIntelligence = "artificial_intelligence",
|
|
788
|
+
BusinessIntelligence = "business_intelligence",
|
|
789
|
+
DataEngineering = "data_engineering",
|
|
790
|
+
DataVisualization = "data_visualization",
|
|
791
|
+
DataAnalysis = "data_analysis",
|
|
792
|
+
DeepLearning = "deep_learning",
|
|
793
|
+
Cybersecurity = "cybersecurity",
|
|
794
|
+
CloudEngineering = "cloud_engineering",
|
|
795
|
+
DevOps = "devops",
|
|
796
|
+
NetworkAdministration = "network_administration",
|
|
797
|
+
SystemsEngineering = "systems_engineering",
|
|
798
|
+
DatabaseAdministration = "database_administration",
|
|
799
|
+
ITSupport = "it_support",
|
|
800
|
+
TechnicalSupport = "technical_support",
|
|
801
|
+
SiteReliabilityEngineering = "site_reliability_engineering",
|
|
802
|
+
ProductManagement = "product_management",
|
|
803
|
+
UIUXDesign = "ui_ux_design",
|
|
804
|
+
UserResearch = "user_research",
|
|
805
|
+
InteractionDesign = "interaction_design",
|
|
806
|
+
TechnicalWriting = "technical_writing",
|
|
807
|
+
ProductMarketing = "product_marketing",
|
|
808
|
+
BusinessAnalysis = "business_analysis",
|
|
809
|
+
ProjectManagement = "project_management",
|
|
810
|
+
ProgramManagement = "program_management",
|
|
811
|
+
Nursing = "nursing",
|
|
812
|
+
GeneralPractice = "general_practice",
|
|
813
|
+
Surgery = "surgery",
|
|
814
|
+
Pediatrics = "pediatrics",
|
|
815
|
+
EmergencyMedicine = "emergency_medicine",
|
|
816
|
+
Radiology = "radiology",
|
|
817
|
+
Anesthesiology = "anesthesiology",
|
|
818
|
+
Geriatrics = "geriatrics",
|
|
819
|
+
Oncology = "oncology",
|
|
820
|
+
Dentistry = "dentistry",
|
|
821
|
+
DentalHygiene = "dental_hygiene",
|
|
822
|
+
MedicalSecretary = "medical_secretary",
|
|
823
|
+
Veterinary = "veterinary",
|
|
824
|
+
PhysicalTherapy = "physical_therapy",
|
|
825
|
+
OccupationalTherapy = "occupational_therapy",
|
|
826
|
+
SpeechPathology = "speech_pathology",
|
|
827
|
+
RespiratoryTherapy = "respiratory_therapy",
|
|
828
|
+
ElderlyCare = "elderly_care",
|
|
829
|
+
DisabilitySupport = "disability_support",
|
|
830
|
+
ClinicalResearch = "clinical_research",
|
|
831
|
+
DrugDevelopment = "drug_development",
|
|
832
|
+
Bioinformatics = "bioinformatics",
|
|
833
|
+
Microbiology = "microbiology",
|
|
834
|
+
Pharmacology = "pharmacology",
|
|
835
|
+
LaboratoryTech = "laboratory_tech",
|
|
836
|
+
Psychology = "psychology",
|
|
837
|
+
Counseling = "counseling",
|
|
838
|
+
Psychiatry = "psychiatry",
|
|
839
|
+
SocialWork = "social_work",
|
|
840
|
+
AddictionRecovery = "addiction_recovery",
|
|
841
|
+
ChildWelfare = "child_welfare",
|
|
842
|
+
SolarEnergy = "solar_energy",
|
|
843
|
+
WindPower = "wind_power",
|
|
844
|
+
Hydroelectric = "hydroelectric",
|
|
845
|
+
BatteryAndStorageTech = "battery_and_storage_tech",
|
|
846
|
+
Geothermal = "geothermal",
|
|
847
|
+
Biofuels = "biofuels",
|
|
848
|
+
OilAndGas = "oil_and_gas",
|
|
849
|
+
MiningAndGeology = "mining_and_geology",
|
|
850
|
+
NuclearEnergy = "nuclear_energy",
|
|
851
|
+
WaterManagement = "water_management",
|
|
852
|
+
ElectricalGridOperations = "electrical_grid_operations",
|
|
853
|
+
AgriTech = "agri_tech",
|
|
854
|
+
Horticulture = "horticulture",
|
|
855
|
+
LivestockManagement = "livestock_management",
|
|
856
|
+
Forestry = "forestry",
|
|
857
|
+
FisheriesAndAquaculture = "fisheries_and_aquaculture",
|
|
858
|
+
SoilScience = "soil_science",
|
|
859
|
+
SustainabilityConsulting = "sustainability_consulting",
|
|
860
|
+
WasteManagement = "waste_management",
|
|
861
|
+
WildlifeConservation = "wildlife_conservation",
|
|
862
|
+
CarbonAccounting = "carbon_accounting",
|
|
863
|
+
Ecology = "ecology",
|
|
864
|
+
OccupationalHealthAndSafety = "occupational_health_and_safety",
|
|
865
|
+
Sustainability = "sustainability",
|
|
866
|
+
InvestmentBanking = "investment_banking",
|
|
867
|
+
CorporateFinance = "corporate_finance",
|
|
868
|
+
WealthManagement = "wealth_management",
|
|
869
|
+
VentureCapital = "venture_capital",
|
|
870
|
+
AssetManagement = "asset_management",
|
|
871
|
+
FinancialAnalysis = "financial_analysis",
|
|
872
|
+
FinancialPlanning = "financial_planning",
|
|
873
|
+
RiskManagement = "risk_management",
|
|
874
|
+
CreditAnalysis = "credit_analysis",
|
|
875
|
+
CryptocurrencyAndWeb3 = "cryptocurrency_and_web3",
|
|
876
|
+
DigitalPayments = "digital_payments",
|
|
877
|
+
ActuarialScience = "actuarial_science",
|
|
878
|
+
InsuranceUnderwriting = "insurance_underwriting",
|
|
879
|
+
ClaimsAdjustment = "claims_adjustment",
|
|
880
|
+
PublicAccounting = "public_accounting",
|
|
881
|
+
Taxation = "taxation",
|
|
882
|
+
ForensicAccounting = "forensic_accounting",
|
|
883
|
+
AuditAndAssurance = "audit_and_assurance",
|
|
884
|
+
Bookkeeping = "bookkeeping",
|
|
885
|
+
AccountsPayable = "accounts_payable",
|
|
886
|
+
AccountsReceivable = "accounts_receivable",
|
|
887
|
+
Payroll = "payroll",
|
|
888
|
+
Collections = "collections",
|
|
889
|
+
CorporateLaw = "corporate_law",
|
|
890
|
+
Litigation = "litigation",
|
|
891
|
+
IntellectualProperty = "intellectual_property",
|
|
892
|
+
ComplianceAndRegulatory = "compliance_and_regulatory",
|
|
893
|
+
ParalegalServices = "paralegal_services",
|
|
894
|
+
Paralegal = "paralegal",
|
|
895
|
+
UrbanPlanning = "urban_planning",
|
|
896
|
+
InteriorDesign = "interior_design",
|
|
897
|
+
LandscapeArchitecture = "landscape_architecture",
|
|
898
|
+
CADBIMManagement = "cad_bim_management",
|
|
899
|
+
ConstructionManagement = "construction_management",
|
|
900
|
+
SiteSupervision = "site_supervision",
|
|
901
|
+
StructuralEngineering = "structural_engineering",
|
|
902
|
+
MechanicalEngineering = "mechanical_engineering",
|
|
903
|
+
ElectricalEngineering = "electrical_engineering",
|
|
904
|
+
RoboticsAndAutomation = "robotics_and_automation",
|
|
905
|
+
ChemicalEngineering = "chemical_engineering",
|
|
906
|
+
IndustrialEngineering = "industrial_engineering",
|
|
907
|
+
ProcessEngineering = "process_engineering",
|
|
908
|
+
Mechatronics = "mechatronics",
|
|
909
|
+
Electrician = "electrician",
|
|
910
|
+
PlumbingAndHVAC = "plumbing_and_hvac",
|
|
911
|
+
Carpentry = "carpentry",
|
|
912
|
+
Welding = "welding",
|
|
913
|
+
HeavyEquipmentOperation = "heavy_equipment_operation",
|
|
914
|
+
Masonry = "masonry",
|
|
915
|
+
Machining = "machining",
|
|
916
|
+
FacilitiesMaintenance = "facilities_maintenance",
|
|
917
|
+
DigitalMarketing = "digital_marketing",
|
|
918
|
+
SEOSEM = "seo_sem",
|
|
919
|
+
ContentStrategy = "content_strategy",
|
|
920
|
+
SocialMediaManagement = "social_media_management",
|
|
921
|
+
BrandManagement = "brand_management",
|
|
922
|
+
MarketResearch = "market_research",
|
|
923
|
+
MarketingStrategy = "marketing_strategy",
|
|
924
|
+
Journalism = "journalism",
|
|
925
|
+
VideoProduction = "video_production",
|
|
926
|
+
AnimationAndVFX = "animation_and_vfx",
|
|
927
|
+
AudioEngineering = "audio_engineering",
|
|
928
|
+
Photography = "photography",
|
|
929
|
+
Broadcasting = "broadcasting",
|
|
930
|
+
GraphicDesign = "graphic_design",
|
|
931
|
+
FineArts = "fine_arts",
|
|
932
|
+
FashionDesign = "fashion_design",
|
|
933
|
+
ApparelManufacturing = "apparel_manufacturing",
|
|
934
|
+
TextileDesign = "textile_design",
|
|
935
|
+
LogisticsManagement = "logistics_management",
|
|
936
|
+
Warehousing = "warehousing",
|
|
937
|
+
FleetOperations = "fleet_operations",
|
|
938
|
+
FreightForwarding = "freight_forwarding",
|
|
939
|
+
Procurement = "procurement",
|
|
940
|
+
Purchasing = "purchasing",
|
|
941
|
+
WarehouseOperations = "warehouse_operations",
|
|
942
|
+
FreightAndShipping = "freight_and_shipping",
|
|
943
|
+
EnterpriseSales = "enterprise_sales",
|
|
944
|
+
AccountManagement = "account_management",
|
|
945
|
+
RetailManagement = "retail_management",
|
|
946
|
+
RealEstateSales = "real_estate_sales",
|
|
947
|
+
CustomerSuccess = "customer_success",
|
|
948
|
+
SalesManagement = "sales_management",
|
|
949
|
+
SalesOperations = "sales_operations",
|
|
950
|
+
SalesSupport = "sales_support",
|
|
951
|
+
TechnicalSales = "technical_sales",
|
|
952
|
+
Recruiting = "recruiting",
|
|
953
|
+
CompensationAndBenefits = "compensation_and_benefits",
|
|
954
|
+
OfficeAdministration = "office_administration",
|
|
955
|
+
ExecutiveAssistance = "executive_assistance",
|
|
956
|
+
OrganizationalDevelopment = "organizational_development",
|
|
957
|
+
HROperations = "hr_operations",
|
|
958
|
+
TalentAcquisition = "talent_acquisition",
|
|
959
|
+
LearningAndDevelopment = "learning_and_development",
|
|
960
|
+
AdministrativeSupport = "administrative_support",
|
|
961
|
+
OfficeManagement = "office_management",
|
|
962
|
+
K12Teaching = "k_12_teaching",
|
|
963
|
+
HigherEducation = "higher_education",
|
|
964
|
+
SpecialEducation = "special_education",
|
|
965
|
+
ESLInstruction = "esl_instruction",
|
|
966
|
+
EdTech = "edtech",
|
|
967
|
+
CorporateTraining = "corporate_training",
|
|
968
|
+
PublicPolicy = "public_policy",
|
|
969
|
+
SocialServices = "social_services",
|
|
970
|
+
FundraisingAndGrants = "fundraising_and_grants",
|
|
971
|
+
LawEnforcement = "law_enforcement",
|
|
972
|
+
Military = "military",
|
|
973
|
+
Diplomacy = "diplomacy",
|
|
974
|
+
PublicAdministration = "public_administration",
|
|
975
|
+
RestaurantOperations = "restaurant_operations",
|
|
976
|
+
FoodPreparation = "food_preparation",
|
|
977
|
+
CulinaryArts = "culinary_arts",
|
|
978
|
+
BaristaAndBar = "barista_and_bar",
|
|
979
|
+
Catering = "catering",
|
|
980
|
+
FoodService = "food_service",
|
|
981
|
+
HotelOperations = "hotel_operations",
|
|
982
|
+
FrontDeskAndReception = "front_desk_and_reception",
|
|
983
|
+
Housekeeping = "housekeeping",
|
|
984
|
+
TravelAndTourism = "travel_and_tourism",
|
|
985
|
+
EventsAndConferences = "events_and_conferences",
|
|
986
|
+
Assembly = "assembly",
|
|
987
|
+
MachineOperation = "machine_operation",
|
|
988
|
+
ProductionManagement = "production_management",
|
|
989
|
+
ManufacturingEngineering = "manufacturing_engineering",
|
|
990
|
+
FoodProduction = "food_production",
|
|
991
|
+
Packaging = "packaging",
|
|
992
|
+
QualityAssurance = "quality_assurance",
|
|
993
|
+
QualityControl = "quality_control",
|
|
994
|
+
ProcessImprovement = "process_improvement",
|
|
995
|
+
MaintenanceAndReliability = "maintenance_and_reliability",
|
|
996
|
+
IndustrialSafety = "industrial_safety",
|
|
997
|
+
StoreManagement = "store_management",
|
|
998
|
+
SalesAssociate = "sales_associate",
|
|
999
|
+
VisualMerchandising = "visual_merchandising",
|
|
1000
|
+
CashierAndCheckout = "cashier_and_checkout",
|
|
1001
|
+
InventoryAndStock = "inventory_and_stock",
|
|
1002
|
+
CustomerSupport = "customer_support",
|
|
1003
|
+
CallCentre = "call_centre",
|
|
1004
|
+
ClientAdvisory = "client_advisory",
|
|
1005
|
+
ComplaintsAndEscalations = "complaints_and_escalations",
|
|
1006
|
+
AutomotiveTechnician = "automotive_technician",
|
|
1007
|
+
AutomotiveRepair = "automotive_repair",
|
|
1008
|
+
HeavyVehicleMechanic = "heavy_vehicle_mechanic",
|
|
1009
|
+
VehicleInspection = "vehicle_inspection",
|
|
1010
|
+
AutoBodyAndPaint = "auto_body_and_paint",
|
|
1011
|
+
TruckDriving = "truck_driving",
|
|
1012
|
+
DeliveryAndCourier = "delivery_and_courier",
|
|
1013
|
+
PublicTransport = "public_transport",
|
|
1014
|
+
FleetManagement = "fleet_management"
|
|
1015
|
+
}
|
|
1016
|
+
declare const SupportedJobSubCategories: JobSubCategory[];
|
|
1017
|
+
/**
|
|
1018
|
+
* The hierarchy: which industries belong to a category, and which subCategories to an
|
|
1019
|
+
* industry. Consumers use it to render dependent pickers and to validate that a job's
|
|
1020
|
+
* industry actually sits under its category.
|
|
1021
|
+
*/
|
|
1022
|
+
declare const JOB_TAXONOMY: ReadonlyArray<{
|
|
1023
|
+
category: JobCategory;
|
|
1024
|
+
industries: ReadonlyArray<{
|
|
1025
|
+
industry: JobIndustry;
|
|
1026
|
+
subCategories: readonly JobSubCategory[];
|
|
1027
|
+
}>;
|
|
1028
|
+
}>;
|
|
1029
|
+
/**
|
|
1030
|
+
* English display labels for every taxonomy constant. This is the source text the
|
|
1031
|
+
* taxonomy was defined in; it is ALSO what the enrichment prompt renders, so the model
|
|
1032
|
+
* still classifies against readable names while emitting the constant. UIs should
|
|
1033
|
+
* translate the constant (tEnum-style) rather than use these directly.
|
|
1034
|
+
*/
|
|
1035
|
+
declare const TAXONOMY_LABELS: Readonly<Record<JobCategory | JobIndustry | JobSubCategory, string>>;
|
|
1036
|
+
|
|
1037
|
+
/** The industry a subCategory belongs to, or undefined if it is not a known subCategory. */
|
|
1038
|
+
declare function industryOfSubCategory(sub: string): JobIndustry | undefined;
|
|
1039
|
+
/** The category a subCategory belongs to, or undefined if unknown. */
|
|
1040
|
+
declare function categoryOfSubCategory(sub: string): JobCategory | undefined;
|
|
1041
|
+
/** The category an industry belongs to, or undefined if unknown. */
|
|
1042
|
+
declare function categoryOfIndustry(industry: string): JobCategory | undefined;
|
|
1043
|
+
/** The industries under a category (empty if the category is unknown). */
|
|
1044
|
+
declare function industriesOfCategory(category: string): readonly JobIndustry[];
|
|
1045
|
+
/** The subCategories under an industry (empty if the industry is unknown). */
|
|
1046
|
+
declare function subCategoriesOfIndustry(industry: string): readonly JobSubCategory[];
|
|
1047
|
+
/**
|
|
1048
|
+
* Derive a job's industry from its category + subCategories. This is the function that
|
|
1049
|
+
* replaces asking the model for `industry`.
|
|
1050
|
+
*
|
|
1051
|
+
* Rule: the first subCategory that sits INSIDE the given category wins. Preferring the
|
|
1052
|
+
* category keeps the model's judgement about what the job is (see the file header) while
|
|
1053
|
+
* still deriving a structurally coherent industry; measured on ~57k jobs, 98.7% of those
|
|
1054
|
+
* with a real category and real subCategories have at least one subCategory inside it.
|
|
1055
|
+
*
|
|
1056
|
+
* Falls back, in order:
|
|
1057
|
+
* 1. no category given -> the first known subCategory's own industry;
|
|
1058
|
+
* 2. no subCategory sits in the category -> undefined (caller keeps whatever it had,
|
|
1059
|
+
* or stores null; we never drop a posting over this).
|
|
1060
|
+
*
|
|
1061
|
+
* Order matters: `subCategories` is the model's own ranking, most relevant first.
|
|
1062
|
+
*/
|
|
1063
|
+
declare function deriveIndustry(category: string | null | undefined, subCategories: readonly string[] | null | undefined): JobIndustry | undefined;
|
|
1064
|
+
|
|
701
1065
|
declare enum PostStatus {
|
|
702
1066
|
Draft = "draft",
|
|
703
1067
|
Published = "published",
|
|
@@ -835,6 +1199,8 @@ declare const PageSchema: yup.ObjectSchema<NonNullable<{
|
|
|
835
1199
|
light: string;
|
|
836
1200
|
} | null;
|
|
837
1201
|
categories: string[];
|
|
1202
|
+
industries: string[];
|
|
1203
|
+
subCategories: string[];
|
|
838
1204
|
socialAccounts: {
|
|
839
1205
|
type: NonNullable<SocialAccount | undefined>;
|
|
840
1206
|
isNew: boolean;
|
|
@@ -873,6 +1239,8 @@ declare const PageSchema: yup.ObjectSchema<NonNullable<{
|
|
|
873
1239
|
verified: undefined;
|
|
874
1240
|
logo: null;
|
|
875
1241
|
categories: "";
|
|
1242
|
+
industries: never[];
|
|
1243
|
+
subCategories: never[];
|
|
876
1244
|
socialAccounts: "";
|
|
877
1245
|
isOwner: undefined;
|
|
878
1246
|
isFeatured: false;
|
|
@@ -1573,6 +1941,8 @@ declare const WorkExperienceSchema: ObjectSchema<{
|
|
|
1573
1941
|
verified: undefined;
|
|
1574
1942
|
logo: null;
|
|
1575
1943
|
categories: "";
|
|
1944
|
+
industries: never[];
|
|
1945
|
+
subCategories: never[];
|
|
1576
1946
|
socialAccounts: "";
|
|
1577
1947
|
isOwner: undefined;
|
|
1578
1948
|
isFeatured: false;
|
|
@@ -1658,6 +2028,8 @@ declare const EducationSchema: ObjectSchema<{
|
|
|
1658
2028
|
verified: undefined;
|
|
1659
2029
|
logo: null;
|
|
1660
2030
|
categories: "";
|
|
2031
|
+
industries: never[];
|
|
2032
|
+
subCategories: never[];
|
|
1661
2033
|
socialAccounts: "";
|
|
1662
2034
|
isOwner: undefined;
|
|
1663
2035
|
isFeatured: false;
|
|
@@ -1923,6 +2295,8 @@ declare const RecruiterPageLinkSchema: yup.ObjectSchema<{
|
|
|
1923
2295
|
verified: undefined;
|
|
1924
2296
|
logo: null;
|
|
1925
2297
|
categories: "";
|
|
2298
|
+
industries: never[];
|
|
2299
|
+
subCategories: never[];
|
|
1926
2300
|
socialAccounts: "";
|
|
1927
2301
|
isOwner: undefined;
|
|
1928
2302
|
isFeatured: false;
|
|
@@ -2001,6 +2375,8 @@ declare const CoordinatorPageLinkSchema: yup.ObjectSchema<{
|
|
|
2001
2375
|
verified: undefined;
|
|
2002
2376
|
logo: null;
|
|
2003
2377
|
categories: "";
|
|
2378
|
+
industries: never[];
|
|
2379
|
+
subCategories: never[];
|
|
2004
2380
|
socialAccounts: "";
|
|
2005
2381
|
isOwner: undefined;
|
|
2006
2382
|
isFeatured: false;
|
|
@@ -2278,4 +2654,4 @@ declare const StudentCompletenessSchema: yup.ObjectSchema<{
|
|
|
2278
2654
|
};
|
|
2279
2655
|
}, "">;
|
|
2280
2656
|
|
|
2281
|
-
export { AnswerChoiceType, ApplicationReceivePreference, ChoiceQuestionSchema, Common, CompensationType, CompletenessScoreSchema, ContactTypes, CoordinatorPageLinkSchema, DISPLAY_DATE_FORMAT, DISPLAY_DATE_FORMAT_SHORT, DateStringSchema, DbDefaultSchema, DefaultPaginatedResponse, DefaultPaginationOptions, DefaultUserRoles, DurationSchema, EMPTY_STRING, EducationLevel, EducationSchema, EmployeeCount, EmploymentType, ExperienceLevel, GeneraDetailFields, GroupManagedBy, GroupMembershipSchema, GroupMembershipStatus, GroupSchema, GroupStatus, GroupTranslationSchema, GroupVisibility, InputQuestionSchema, JobSchema, JobSearchUrgency, JobStatus, LocationSchema, MIN_SALARY_LOWER_BOUND, MIN_SALARY_UPPER_BOUND, PageSchema, PageStatus, PageType, type PaginatedResponse, PaginationSchema, PostSchema, PostStatus, ProficiencyLevel, QuestionSchema, QuestionType, ReadAndAcknowledgeQuestionSchema, RecruiterPageLinkSchema, ReferralSource, ReportReason, ReportSchema, ResourceType, SITEMAP_FORMAT, SYSTEM_DATE_FORMAT, SkillSchema, SocialAccount, SocialAccountSchema, StudentCompletenessSchema, StudyType, SupportedAnswerChoiceTypes, SupportedApplicationReceivePreferences, SupportedCompensationTypes, SupportedContactTypes, SupportedEducationLevels, SupportedEmployeeCounts, SupportedEmploymentTypes, SupportedExperienceLevels, SupportedJobSearchUrgencies, SupportedJobStatuses, SupportedPageStatuses, SupportedPageTypes, SupportedPostStatuses, SupportedProficiencyLevels, SupportedQuestionTypes, SupportedReferralSources, SupportedReportReasons, SupportedResourceTypes, SupportedSalaryCurrencies, type SupportedSalaryCurrency, SupportedSocialAccounts, SupportedStudyTypes, SupportedUserProfileVisibilities, SupportedUserRoles, SupportedUserStatuses, SupportedWorkModes, type TChoiceQuestionSchema, type TDurationSchema, type TInputQuestionSchema, type TJobSchema, type TPostSchema, type TQuestionSchema, type TReadAndAcknowledgeQuestionSchema, type TUserIdAndCreatedAtSchema, TermsAcceptedSchema, UserAdditionalInfoSchema, UserCertificationSchema, UserCompletenessSchema, UserCoordinatorProfileSchema, UserDetailType, UserGeneralDetailSchema, UserIdAndCreatedAtSchema, UserInterestSchema, UserJobPreferencesSchema, UserLanguageSchema, type UserProfileOverview, UserProfileVisibility, UserProjectSchema, UserRecruiterProfileSchema, UserRole, UserSchema, UserSkillSchema, UserStatus, WorkExperienceSchema, WorkMode, dateString, getSchemaByQuestion };
|
|
2657
|
+
export { AnswerChoiceType, ApplicationReceivePreference, ChoiceQuestionSchema, Common, CompensationType, CompletenessScoreSchema, ContactTypes, CoordinatorPageLinkSchema, DISPLAY_DATE_FORMAT, DISPLAY_DATE_FORMAT_SHORT, DateStringSchema, DbDefaultSchema, DefaultPaginatedResponse, DefaultPaginationOptions, DefaultUserRoles, DurationSchema, EMPTY_STRING, EducationLevel, EducationSchema, EmployeeCount, EmploymentType, ExperienceLevel, GeneraDetailFields, GroupManagedBy, GroupMembershipSchema, GroupMembershipStatus, GroupSchema, GroupStatus, GroupTranslationSchema, GroupVisibility, InputQuestionSchema, JOB_TAXONOMY, JobCategory, JobIndustry, JobSchema, JobSearchUrgency, JobStatus, JobSubCategory, LocationSchema, MIN_SALARY_LOWER_BOUND, MIN_SALARY_UPPER_BOUND, PageSchema, PageStatus, PageType, type PaginatedResponse, PaginationSchema, PostSchema, PostStatus, ProficiencyLevel, QuestionSchema, QuestionType, ReadAndAcknowledgeQuestionSchema, RecruiterPageLinkSchema, ReferralSource, ReportReason, ReportSchema, ResourceType, SITEMAP_FORMAT, SYSTEM_DATE_FORMAT, SkillSchema, SocialAccount, SocialAccountSchema, StudentCompletenessSchema, StudyType, SupportedAnswerChoiceTypes, SupportedApplicationReceivePreferences, SupportedCompensationTypes, SupportedContactTypes, SupportedEducationLevels, SupportedEmployeeCounts, SupportedEmploymentTypes, SupportedExperienceLevels, SupportedJobCategories, SupportedJobIndustries, SupportedJobSearchUrgencies, SupportedJobStatuses, SupportedJobSubCategories, SupportedPageStatuses, SupportedPageTypes, SupportedPostStatuses, SupportedProficiencyLevels, SupportedQuestionTypes, SupportedReferralSources, SupportedReportReasons, SupportedResourceTypes, SupportedSalaryCurrencies, type SupportedSalaryCurrency, SupportedSocialAccounts, SupportedStudyTypes, SupportedUserProfileVisibilities, SupportedUserRoles, SupportedUserStatuses, SupportedWorkModes, TAXONOMY_LABELS, type TChoiceQuestionSchema, type TDurationSchema, type TInputQuestionSchema, type TJobSchema, type TPostSchema, type TQuestionSchema, type TReadAndAcknowledgeQuestionSchema, type TUserIdAndCreatedAtSchema, TermsAcceptedSchema, UserAdditionalInfoSchema, UserCertificationSchema, UserCompletenessSchema, UserCoordinatorProfileSchema, UserDetailType, UserGeneralDetailSchema, UserIdAndCreatedAtSchema, UserInterestSchema, UserJobPreferencesSchema, UserLanguageSchema, type UserProfileOverview, UserProfileVisibility, UserProjectSchema, UserRecruiterProfileSchema, UserRole, UserSchema, UserSkillSchema, UserStatus, WorkExperienceSchema, WorkMode, categoryOfIndustry, categoryOfSubCategory, dateString, deriveIndustry, getSchemaByQuestion, industriesOfCategory, industryOfSubCategory, subCategoriesOfIndustry };
|