DocumentKind enum

Which document this is, and therefore which schema counter applies.

Read before schema. The counters are per kind, so a reader that checks the number first has checked it against nothing. Closed, with no unknown member, because these are this package's own names rather than a store's — an unrecognized one means the document came from a version that knows a kind this one does not, and refusing is the answer.

The word here used to be "these three", which was wrong from the moment a fourth arrived and wrong again at the fifth. A count in prose is a fact that goes stale without anybody editing it.

Inheritance
Available extensions
Annotations
  • @JsonEnum.new(valueField: 'wire')

Values

appStoreBuilds → const DocumentKind
const DocumentKind('appstore.builds')
appStoreVersions → const DocumentKind
const DocumentKind('appstore.versions')
appStorePreviews → const DocumentKind
const DocumentKind('appstore.previews')
playTracks → const DocumentKind
const DocumentKind('play.tracks')
appStoreListingDiff → const DocumentKind

Named for what it describes, not for the flag that produced it. appstore.dry-run was the first name and named the mode, which would have spent the word on this document and left the next command to grow a dry run without it.

const DocumentKind('appstore.listing-diff')
verify → const DocumentKind

The one kind that describes no store. verify is offline and reads the repository, so there is no platform and no bundle id — which is why it is not appstore.verify.

const DocumentKind('verify')
storefrontReleased → const DocumentKind

Its own kind rather than a field on appStoreVersions, and the separation is the point. This comes from the public storefront, which is a different Apple product from App Store Connect: undocumented, rate-limited, unauthenticated, with no published schema and known cases of the date being wrong. Behind one schema promise with the authenticated read, the day it drifts it would take that read down too. Its own kind fails in its own lane.

It describes an app, not a platform's release, which is why StorefrontReleasedDocument is the one App Store document with no platform — measured, in docs/design/storefront-release-date.md.

const DocumentKind('storefront.released')
playUpload → const DocumentKind

One line of play upload --json, which is a stream rather than a document — see PlayUploadEvent.

const DocumentKind('play.upload')
appStoreUpload → const DocumentKind

One line of appstore upload --json, which is a stream rather than a document — see AppStoreUploadEvent.

Not what upload --dry-run --json prints, which is appStoreListingDiff and is one whole document. A dry run transfers nothing, so it has no upload to report on; the two modes of one flag therefore carry two kinds, and a consumer that reads kind first — as this enum's own doc comment says to — can never confuse them.

const DocumentKind('appstore.upload')

Properties

hashCode int
The hash code for this object.
no setterinherited
index int
A numeric identifier for the enumerated value.
no setterinherited
name String

Available on Enum, provided by the EnumName extension

The name of the enum value.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
wire String
The value carried in the document's kind field.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

values → const List<DocumentKind>
A constant List of the values in this enum, in order of their declaration.