Skip to content

@usine/config/selector

Narrows a Loop to registry repositories by name, by any listed tag, or by both criteria together.

  • Schema.Class

new Selector(…args): Selector

Parameter Type
…args [props: object, options?: MakeOptions]

Selector

readonly repos: Option<readonly (string & Brand<"RepositoryName">)[]>

readonly tags: Option<readonly (string & Brand<"RegistryTag">)[]>

const matchesSelector: (selector, repo) => boolean

Whether a repo passes the selector. Both axes must match when present; no selector matches every repo.

Parameter Type
selector Option.Option<Selector>
repo ManagedRepo

boolean


const ValidSelector: Schema.decodeTo<Schema.declareConstructor<Selector, { repos?: readonly string[]; tags?: readonly string[]; }, readonly [Schema.Struct<{ repos: Schema.OptionFromOptionalKey<Schema.$Array<Schema.brand<Schema.String, "RepositoryName">>>; tags: Schema.OptionFromOptionalKey<Schema.$Array<Schema.brand<Schema.String, "RegistryTag">>>; }>], { repos: Schema.OptionIso<Schema.toType<Schema.$Array<Schema.brand<Schema.String, "RepositoryName">>>>; tags: Schema.OptionIso<Schema.toType<Schema.$Array<Schema.brand<Schema.String, "RegistryTag">>>>; }>, Schema.Struct<{ repos: Schema.OptionFromOptionalKey<Schema.$Array<Schema.brand<Schema.String, "RepositoryName">>>; tags: Schema.OptionFromOptionalKey<Schema.$Array<Schema.brand<Schema.String, "RegistryTag">>>; }>, never, never>

An authored selector must name repositories or tags; omit the selector entirely to include every repository.