verify library

Classes

CsvRecord
One parsed record, with the line its first field started on.
DataSafetyRow
One row of the declaration, as read.
ImageInfo
What a screenshot has to satisfy, read straight out of the file header.
PlayImageSpec
An image Play requires of every listing, at one exact size.
PlayLocaleMetadata
One locale's Play listing.
PlayMetadata
A Play listing tree.
ReleaseProblem
One thing wrong with a repository's release inputs.
StoreImageRules
What one store accepts in the encoding of a listing image.
VideoInfo
What a preview has to satisfy, read straight out of the container.
VideoRules
What a store accepts in a preview video, named after whose rules they are.

Enums

ImageFormat
Which container a header came out of.
VideoContainer
Which container a header came out of.

Constants

appStoreImageRules → const StoreImageRules
Apple, for every screenshot.
appStorePreviewRules → const VideoRules
Apple's app preview rules, from the App Store Connect help's preview specifications page.
dataSafetyColumns → const List<String>
The header Play writes, in the order it writes it.
dataSafetyRequired → const String
The one requirement level this package acts on.
defaultReleaseNotesLimits → const Map<String, int>
The platforms a release note is filtered for, and the cap each one carries.
playIconImageRules → const StoreImageRules
Play's app icon, the exception in both directions: it is the one slot that asks for an alpha channel, and it is still 8 bits per channel.
playImageRules → const StoreImageRules
Play, for screenshots, the feature graphic and the TV banner — every slot this package checks but the icon. (Play's Android XR slot says only "PNG or JPEG"; nothing here uploads to it.)
playListingLimits → const Map<String, int>
Play's limits on the listing text, in UTF-16 code units.
playMaxScreenshotEdge → const int
playMaxScreenshots → const int
Play's maximum per screenshot type. Play's own number, enforced at upload.
playMinScreenshotEdge → const int
Play's bounds on a screenshot's edge, in pixels. Play's own numbers.
playPolicyMinScreenshotsPerDeclaredType → const int
This package's policy floor, not Play's rule.
playRequiredImages → const Map<String, PlayImageSpec>
Keyed by the directory name under images/, which is also the name the Play API uses, so a typo fails this lookup rather than being uploaded into the wrong slot.
playScreenshotTypes → const Set<String>
Screenshot directories Play understands, by the name it uses.

Functions

changelogVersions(String markdown) List<String>
Every version heading in markdown, newest first, as written.
checkAppStoreTree(String path, {Set<String> requireScreenshotTypes = const {}, Set<String> requireLocales = const {}, bool requirePreviewFrames = false}) List<ReleaseProblem>
Loads the App Store metadata tree at path and reports what it refuses.
checkChangelog(String markdown, {Map<String, int> limits = defaultReleaseNotesLimits}) List<ReleaseProblem>
Checks every version section of markdown against each platform's limit.
checkChangelogFile(String path, {Map<String, int> limits = defaultReleaseNotesLimits}) List<ReleaseProblem>
checkChangelog over the file at path.
checkDataSafety(String csv, {String where = 'data safety'}) List<ReleaseProblem>
checkDataSafetyFile over already-read csv.
checkDataSafetyFile(String path) List<ReleaseProblem>
Reads the CSV at path and reports everything structurally wrong with it.
checkPlayTree(String path, {Set<String> requireScreenshotTypes = const {}, Set<String> requireLocales = const {}}) List<ReleaseProblem>
Loads the Play tree at path and reports what Play would refuse.
imageEncodingProblem(ImageInfo image, StoreImageRules rules) String?
What rules refuse about image's encoding, as a sentence to follow the file's name, or null when nothing does.
loadPlayMetadata(String path) PlayMetadata
Loads the Play metadata tree at path.
parseCsv(String input) List<List<String>>
A CSV reader, because this package has no dependencies and is not getting one for this.
parseCsvRecords(String input) List<CsvRecord>
parseCsv, keeping each record's line number.
readImageInfo(List<int> bytes) ImageInfo?
Dimensions, transparency and bit depth of a PNG or JPEG, or null if bytes is neither.
readVideoInfo(List<int> bytes) VideoInfo?
Dimensions, duration, frame rate and codec of an MP4 or QuickTime file, or null if bytes is neither.
videoEncodingProblem(VideoInfo video, VideoRules rules) String?
Why video is not something rules accepts, or null when it is.

Exceptions / Errors

MetadataException
Thrown for anything wrong with the tree. Always actionable: it names the file and says what would have to be true instead.