refactor(cli): parse variants from model refs
This commit is contained in:
parent
cccd013801
commit
67f2393f83
10 changed files with 79 additions and 34 deletions
|
|
@ -27,12 +27,10 @@ export const Selection = Schema.Union([Short, Explicit])
|
|||
.annotate({ identifier: "Config.ModelSelection" })
|
||||
|
||||
function parse(input: string): Selection {
|
||||
const providerEnd = input.indexOf("/")
|
||||
const variantStart = input.lastIndexOf("#")
|
||||
const hasVariant = variantStart > providerEnd
|
||||
const ref = Model.Ref.parse(input)
|
||||
return {
|
||||
providerID: Provider.ID.make(input.slice(0, providerEnd)),
|
||||
model: Model.ID.make(input.slice(providerEnd + 1, hasVariant ? variantStart : undefined)),
|
||||
...(hasVariant ? { variant: Model.VariantID.make(input.slice(variantStart + 1)) } : {}),
|
||||
providerID: ref.providerID,
|
||||
model: ref.id,
|
||||
...(ref.variant ? { variant: ref.variant } : {}),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue