niki/vendor/github.com/brianvoe/gofakeit/v7/airline.go

177 lines
6.8 KiB
Go

package gofakeit
import (
"fmt"
"strings"
)
// AirlineAircraftType will generate a random aircraft type
func AirlineAircraftType() string { return airlineAircraftType(GlobalFaker) }
// AirlineAircraftType will generate a random aircraft type
func (f *Faker) AirlineAircraftType() string { return airlineAircraftType(f) }
func airlineAircraftType(f *Faker) string {
return getRandValue(f, []string{"airline", "aircraft_type"})
}
// AirlineAirplane will generate a random airplane model
func AirlineAirplane() string { return airlineAirplane(GlobalFaker) }
// AirlineAirplane will generate a random airplane model
func (f *Faker) AirlineAirplane() string { return airlineAirplane(f) }
func airlineAirplane(f *Faker) string {
return getRandValue(f, []string{"airline", "airplane"})
}
// AirlineAirport will generate a random airport name
func AirlineAirport() string { return airlineAirport(GlobalFaker) }
// AirlineAirport will generate a random airport name
func (f *Faker) AirlineAirport() string { return airlineAirport(f) }
func airlineAirport(f *Faker) string {
return getRandValue(f, []string{"airline", "airport"})
}
// AirlineAirportIATA will generate a random airport IATA code
func AirlineAirportIATA() string { return airlineAirportIATA(GlobalFaker) }
// AirlineAirportIATA will generate a random airport IATA code
func (f *Faker) AirlineAirportIATA() string { return airlineAirportIATA(f) }
func airlineAirportIATA(f *Faker) string {
return getRandValue(f, []string{"airline", "iata"})
}
// AirlineFlightNumber will generate a random flight number
func AirlineFlightNumber() string { return airlineFlightNumber(GlobalFaker) }
// AirlineFlightNumber will generate a random flight number
func (f *Faker) AirlineFlightNumber() string { return airlineFlightNumber(f) }
func airlineFlightNumber(f *Faker) string {
// Generate a 2-letter airline code followed by 1-4 digit flight number
return fmt.Sprintf("%s%d", strings.ToUpper(letterN(f, 2)), f.Number(1, 9999))
}
// AirlineRecordLocator will generate a random record locator (booking reference)
func AirlineRecordLocator() string { return airlineRecordLocator(GlobalFaker) }
// AirlineRecordLocator will generate a random record locator (booking reference)
func (f *Faker) AirlineRecordLocator() string { return airlineRecordLocator(f) }
func airlineRecordLocator(f *Faker) string {
// Generate a 6-character uppercase alphanumeric record locator
return strings.ToUpper(letterN(f, 6))
}
// AirlineSeat will generate a random seat assignment
func AirlineSeat() string { return airlineSeat(GlobalFaker) }
// AirlineSeat will generate a random seat assignment
func (f *Faker) AirlineSeat() string { return airlineSeat(f) }
func airlineSeat(f *Faker) string {
// Generate seat like "12A", "23F", etc.
// Row: 1-60, Seat: A-K (excluding I)
row := f.Number(1, 60)
seats := []string{"A", "B", "C", "D", "E", "F", "G", "H", "J", "K"}
seat := seats[f.Number(0, len(seats)-1)]
return fmt.Sprintf("%d%s", row, seat)
}
func addAirlineLookup() {
AddFuncLookup("airlineaircrafttype", Info{
Display: "Airline Aircraft Type",
Category: "airline",
Description: "Distinct category that defines the particular model or series of an aircraft",
Example: "narrowbody",
Output: "string",
Aliases: []string{"aircraft category", "plane type", "airplane classification"},
Keywords: []string{"airline", "aircraft", "type", "category", "narrowbody", "widebody", "regional", "plane", "airplane"},
Generate: func(f *Faker, m *MapParams, info *Info) (any, error) {
return airlineAircraftType(f), nil
},
})
AddFuncLookup("airlineairplane", Info{
Display: "Airline Airplane",
Category: "airline",
Description: "Specific model and manufacturer of an aircraft used for air travel",
Example: "Airbus A320",
Output: "string",
Aliases: []string{"aircraft model", "plane model", "airplane name"},
Keywords: []string{"airline", "airplane", "aircraft", "model", "airbus", "boeing", "embraer", "bombardier", "manufacturer"},
Generate: func(f *Faker, m *MapParams, info *Info) (any, error) {
return airlineAirplane(f), nil
},
})
AddFuncLookup("airlineairport", Info{
Display: "Airline Airport",
Category: "airline",
Description: "Facility where aircraft take off and land, including terminals and runways",
Example: "Hartsfield-Jackson Atlanta International Airport",
Output: "string",
Aliases: []string{"airport name", "aerodrome", "airfield"},
Keywords: []string{"airline", "airport", "facility", "terminal", "runway", "international", "travel", "aviation"},
Generate: func(f *Faker, m *MapParams, info *Info) (any, error) {
return airlineAirport(f), nil
},
})
AddFuncLookup("airlineairportiata", Info{
Display: "Airline Airport IATA",
Category: "airline",
Description: "Three-letter code assigned to airports by the International Air Transport Association",
Example: "ATL",
Output: "string",
Aliases: []string{"airport code", "iata code", "airport abbreviation"},
Keywords: []string{"airline", "airport", "iata", "code", "three-letter", "abbreviation", "international", "aviation"},
Generate: func(f *Faker, m *MapParams, info *Info) (any, error) {
return airlineAirportIATA(f), nil
},
})
AddFuncLookup("airlineflightnumber", Info{
Display: "Airline Flight Number",
Category: "airline",
Description: "Unique identifier for a specific flight operated by an airline",
Example: "AA1234",
Output: "string",
Aliases: []string{"flight code", "flight identifier", "flight designation"},
Keywords: []string{"airline", "flight", "number", "identifier", "code", "designation", "aviation", "travel"},
Generate: func(f *Faker, m *MapParams, info *Info) (any, error) {
return airlineFlightNumber(f), nil
},
})
AddFuncLookup("airlinerecordlocator", Info{
Display: "Airline Record Locator",
Category: "airline",
Description: "Unique alphanumeric code used to identify and retrieve a flight booking",
Example: "ABCDEF",
Output: "string",
Aliases: []string{"booking reference", "confirmation code", "reservation code", "pnr"},
Keywords: []string{"airline", "record", "locator", "booking", "reference", "confirmation", "reservation", "code", "alphanumeric"},
Generate: func(f *Faker, m *MapParams, info *Info) (any, error) {
return airlineRecordLocator(f), nil
},
})
AddFuncLookup("airlineseat", Info{
Display: "Airline Seat",
Category: "airline",
Description: "Designated location within an aircraft assigned to a passenger",
Example: "12A",
Output: "string",
Aliases: []string{"seat assignment", "seat number", "seat location"},
Keywords: []string{"airline", "seat", "assignment", "location", "passenger", "aircraft", "row", "position"},
Generate: func(f *Faker, m *MapParams, info *Info) (any, error) {
return airlineSeat(f), nil
},
})
}