trptk/sanity.types.ts
2026-02-24 17:14:07 +01:00

2500 lines
69 KiB
TypeScript

/**
* ---------------------------------------------------------------------------------
* This file has been generated by Sanity TypeGen.
* Command: `sanity typegen generate`
*
* Any modifications made directly to this file will be overwritten the next time
* the TypeScript definitions are generated. Please make changes to the Sanity
* schema definitions and/or GROQ queries if you need to update these types.
*
* For more information on how to use Sanity TypeGen, visit the official documentation:
* https://www.sanity.io/docs/sanity-typegen
* ---------------------------------------------------------------------------------
*/
// Source: ../trptk-sanity/schema.json
export type ReleaseReference = {
_ref: string;
_type: "reference";
_weak?: boolean;
[internalGroqTypeReferenceTo]?: "release";
};
export type ArtistReference = {
_ref: string;
_type: "reference";
_weak?: boolean;
[internalGroqTypeReferenceTo]?: "artist";
};
export type ComposerReference = {
_ref: string;
_type: "reference";
_weak?: boolean;
[internalGroqTypeReferenceTo]?: "composer";
};
export type Settings = {
_id: string;
_type: "settings";
_createdAt: string;
_updatedAt: string;
_rev: string;
title?: string;
featuredAlbum?: ReleaseReference;
featuredArtist?: ArtistReference;
featuredComposer?: ComposerReference;
};
export type SanityImageAssetReference = {
_ref: string;
_type: "reference";
_weak?: boolean;
[internalGroqTypeReferenceTo]?: "sanity.imageAsset";
};
export type SanityFileAssetReference = {
_ref: string;
_type: "reference";
_weak?: boolean;
[internalGroqTypeReferenceTo]?: "sanity.fileAsset";
};
export type WorkReference = {
_ref: string;
_type: "reference";
_weak?: boolean;
[internalGroqTypeReferenceTo]?: "work";
};
export type Release = {
_id: string;
_type: "release";
_createdAt: string;
_updatedAt: string;
_rev: string;
name?: string;
albumArtist?: string;
catalogNo?: string;
slug?: Slug;
upc?: string;
releaseDate?: string;
format?: "single" | "ep" | "album" | "boxset";
label?: "TRPTK" | "other";
shortDescription?: string;
description?: Array<{
children?: Array<{
marks?: Array<string>;
text?: string;
_type: "span";
_key: string;
}>;
style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote";
listItem?: "bullet" | "number";
markDefs?: Array<{
href?: string;
_type: "link";
_key: string;
}>;
level?: number;
_type: "block";
_key: string;
}>;
albumCover?: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
};
bookletPdf?: {
asset?: SanityFileAssetReference;
media?: unknown;
_type: "file";
};
tracks?: Array<{
work?: WorkReference;
movement?: string;
displayTitle?: string;
artist?: string;
duration?: string;
previewMp3?: {
asset?: SanityFileAssetReference;
media?: unknown;
_type: "file";
};
_type: "track";
_key: string;
}>;
officialUrl?: string;
spotifyUrl?: string;
appleMusicUrl?: string;
deezerUrl?: string;
amazonMusicUrl?: string;
tidalUrl?: string;
qobuzUrl?: string;
nativeDsdUrl?: string;
credits?: Array<{
role?: string;
name?: string;
_type: "credit";
_key: string;
}>;
recordingDate?: string;
recordingLocation?: string;
recordingFormat?: "PCM 352.8 kHz 24 bit" | "PCM 352.8 kHz 32 bit" | "DSD 11.2 MHz 1 bit";
masteringFormat?: "PCM 352.8 kHz 32 bit" | "PCM 352.8 kHz 64 bit" | "DSD 11.2 MHz 1 bit";
equipment?: Array<{
type?: string;
name?: string;
_type: "equipmentItem";
_key: string;
}>;
genre?: Array<
| "earlyMusic"
| "baroque"
| "classical"
| "romantic"
| "contemporary"
| "worldMusic"
| "jazz"
| "crossover"
| "electronic"
| "minimal"
| "popRock"
>;
instrumentation?: Array<"solo" | "chamber" | "ensemble" | "orchestra" | "vocalChoral">;
artists?: Array<
{
_key: string;
} & ArtistReference
>;
reviews?: Array<{
quote?: string;
author?: string;
_type: "review";
_key: string;
}>;
availableVariants?: Array<string>;
};
export type SanityImageCrop = {
_type: "sanity.imageCrop";
top?: number;
bottom?: number;
left?: number;
right?: number;
};
export type SanityImageHotspot = {
_type: "sanity.imageHotspot";
x?: number;
y?: number;
height?: number;
width?: number;
};
export type Slug = {
_type: "slug";
current?: string;
source?: string;
};
export type Work = {
_id: string;
_type: "work";
_createdAt: string;
_updatedAt: string;
_rev: string;
title?: string;
composer?: ComposerReference;
arranger?: ComposerReference;
slug?: Slug;
description?: Array<{
children?: Array<{
marks?: Array<string>;
text?: string;
_type: "span";
_key: string;
}>;
style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote";
listItem?: "bullet" | "number";
markDefs?: Array<{
href?: string;
_type: "link";
_key: string;
}>;
level?: number;
_type: "block";
_key: string;
}>;
};
export type Concert = {
_id: string;
_type: "concert";
_createdAt: string;
_updatedAt: string;
_rev: string;
title?: string;
subtitle?: string;
date?: string;
time?: string;
locationName?: string;
city?: string;
country?:
| "AF"
| "AL"
| "DZ"
| "AD"
| "AO"
| "AG"
| "AR"
| "AM"
| "AU"
| "AT"
| "AZ"
| "BS"
| "BH"
| "BD"
| "BB"
| "BY"
| "BE"
| "BZ"
| "BJ"
| "BT"
| "BO"
| "BA"
| "BW"
| "BR"
| "BN"
| "BG"
| "BF"
| "BI"
| "CV"
| "KH"
| "CM"
| "CA"
| "CF"
| "TD"
| "CL"
| "CN"
| "CO"
| "KM"
| "CD"
| "CG"
| "CR"
| "HR"
| "CU"
| "CY"
| "CZ"
| "DK"
| "DJ"
| "DM"
| "DO"
| "EC"
| "EG"
| "SV"
| "GQ"
| "ER"
| "EE"
| "SZ"
| "ET"
| "FJ"
| "FI"
| "FR"
| "GA"
| "GM"
| "GE"
| "DE"
| "GH"
| "GR"
| "GD"
| "GT"
| "GN"
| "GW"
| "GY"
| "HT"
| "HN"
| "HU"
| "IS"
| "IN"
| "ID"
| "IR"
| "IQ"
| "IE"
| "IL"
| "IT"
| "CI"
| "JM"
| "JP"
| "JO"
| "KZ"
| "KE"
| "KI"
| "XK"
| "KW"
| "KG"
| "LA"
| "LV"
| "LB"
| "LS"
| "LR"
| "LY"
| "LI"
| "LT"
| "LU"
| "MG"
| "MW"
| "MY"
| "MV"
| "ML"
| "MT"
| "MH"
| "MR"
| "MU"
| "MX"
| "FM"
| "MD"
| "MC"
| "MN"
| "ME"
| "MA"
| "MZ"
| "MM"
| "NA"
| "NR"
| "NP"
| "NL"
| "NZ"
| "NI"
| "NE"
| "NG"
| "KP"
| "MK"
| "NO"
| "OM"
| "PK"
| "PW"
| "PS"
| "PA"
| "PG"
| "PY"
| "PE"
| "PH"
| "PL"
| "PT"
| "QA"
| "RO"
| "RU"
| "RW"
| "KN"
| "LC"
| "VC"
| "WS"
| "SM"
| "ST"
| "SA"
| "SN"
| "RS"
| "SC"
| "SL"
| "SG"
| "SK"
| "SI"
| "SB"
| "SO"
| "ZA"
| "KR"
| "SS"
| "ES"
| "LK"
| "SD"
| "SR"
| "SE"
| "CH"
| "SY"
| "TW"
| "TJ"
| "TZ"
| "TH"
| "TL"
| "TG"
| "TO"
| "TT"
| "TN"
| "TR"
| "TM"
| "TV"
| "UG"
| "UA"
| "AE"
| "GB"
| "US"
| "UY"
| "UZ"
| "VU"
| "VA"
| "VE"
| "VN"
| "YE"
| "ZM"
| "ZW";
artists?: Array<
{
_key: string;
} & ArtistReference
>;
ticketUrl?: string;
};
export type Composer = {
_id: string;
_type: "composer";
_createdAt: string;
_updatedAt: string;
_rev: string;
name?: string;
sortKey?: string;
birthYear?: number;
deathYear?: number;
slug?: Slug;
image?: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
};
bio?: Array<{
children?: Array<{
marks?: Array<string>;
text?: string;
_type: "span";
_key: string;
}>;
style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote";
listItem?: "bullet" | "number";
markDefs?: Array<{
href?: string;
_type: "link";
_key: string;
}>;
level?: number;
_type: "block";
_key: string;
}>;
};
export type Blog = {
_id: string;
_type: "blog";
_createdAt: string;
_updatedAt: string;
_rev: string;
title?: string;
subtitle?: string;
featuredImage?: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
};
slug?: Slug;
author?: "Brendon Heinst" | "Maya Fridman";
publishDate?: string;
category?: "News" | "Behind the Scenes" | "Music History" | "Tech Talk";
content?: Array<
| {
children?: Array<{
marks?: Array<string>;
text?: string;
_type: "span";
_key: string;
}>;
style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote";
listItem?: "bullet" | "number";
markDefs?: Array<{
href?: string;
_type: "link";
_key: string;
}>;
level?: number;
_type: "block";
_key: string;
}
| {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
alt?: string;
caption?: string;
_type: "image";
_key: string;
}
| {
url?: string;
_type: "youtube";
_key: string;
}
>;
releases?: Array<
{
_key: string;
} & ReleaseReference
>;
artists?: Array<
{
_key: string;
} & ArtistReference
>;
composers?: Array<
{
_key: string;
} & ComposerReference
>;
works?: Array<
{
_key: string;
} & WorkReference
>;
};
export type Artist = {
_id: string;
_type: "artist";
_createdAt: string;
_updatedAt: string;
_rev: string;
name?: string;
sortKey?: string;
slug?: Slug;
role?: string;
image?: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
};
bio?: Array<{
children?: Array<{
marks?: Array<string>;
text?: string;
_type: "span";
_key: string;
}>;
style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote";
listItem?: "bullet" | "number";
markDefs?: Array<{
href?: string;
_type: "link";
_key: string;
}>;
level?: number;
_type: "block";
_key: string;
}>;
};
export type MediaTag = {
_id: string;
_type: "media.tag";
_createdAt: string;
_updatedAt: string;
_rev: string;
name?: Slug;
};
export type SanityImagePaletteSwatch = {
_type: "sanity.imagePaletteSwatch";
background?: string;
foreground?: string;
population?: number;
title?: string;
};
export type SanityImagePalette = {
_type: "sanity.imagePalette";
darkMuted?: SanityImagePaletteSwatch;
lightVibrant?: SanityImagePaletteSwatch;
darkVibrant?: SanityImagePaletteSwatch;
vibrant?: SanityImagePaletteSwatch;
dominant?: SanityImagePaletteSwatch;
lightMuted?: SanityImagePaletteSwatch;
muted?: SanityImagePaletteSwatch;
};
export type SanityImageDimensions = {
_type: "sanity.imageDimensions";
height?: number;
width?: number;
aspectRatio?: number;
};
export type SanityImageMetadata = {
_type: "sanity.imageMetadata";
location?: Geopoint;
dimensions?: SanityImageDimensions;
palette?: SanityImagePalette;
lqip?: string;
blurHash?: string;
thumbHash?: string;
hasAlpha?: boolean;
isOpaque?: boolean;
};
export type SanityFileAsset = {
_id: string;
_type: "sanity.fileAsset";
_createdAt: string;
_updatedAt: string;
_rev: string;
originalFilename?: string;
label?: string;
title?: string;
description?: string;
altText?: string;
sha1hash?: string;
extension?: string;
mimeType?: string;
size?: number;
assetId?: string;
uploadId?: string;
path?: string;
url?: string;
source?: SanityAssetSourceData;
};
export type SanityAssetSourceData = {
_type: "sanity.assetSourceData";
name?: string;
id?: string;
url?: string;
};
export type SanityImageAsset = {
_id: string;
_type: "sanity.imageAsset";
_createdAt: string;
_updatedAt: string;
_rev: string;
originalFilename?: string;
label?: string;
title?: string;
description?: string;
altText?: string;
sha1hash?: string;
extension?: string;
mimeType?: string;
size?: number;
assetId?: string;
uploadId?: string;
path?: string;
url?: string;
metadata?: SanityImageMetadata;
source?: SanityAssetSourceData;
};
export type Geopoint = {
_type: "geopoint";
lat?: number;
lng?: number;
alt?: number;
};
export type AllSanitySchemaTypes =
| ReleaseReference
| ArtistReference
| ComposerReference
| Settings
| SanityImageAssetReference
| SanityFileAssetReference
| WorkReference
| Release
| SanityImageCrop
| SanityImageHotspot
| Slug
| Work
| Concert
| Composer
| Blog
| Artist
| MediaTag
| SanityImagePaletteSwatch
| SanityImagePalette
| SanityImageDimensions
| SanityImageMetadata
| SanityFileAsset
| SanityAssetSourceData
| SanityImageAsset
| Geopoint;
export declare const internalGroqTypeReferenceTo: unique symbol;
// Source: app/[slug]/page.tsx
// Variable: RELEASE_BY_CATALOG_NO_QUERY
// Query: *[_type == "release" && lower(catalogNo) == $slug][0]{ name, albumArtist, label, catalogNo, albumCover, officialUrl, spotifyUrl, appleMusicUrl, deezerUrl, amazonMusicUrl, tidalUrl, qobuzUrl,}
export type RELEASE_BY_CATALOG_NO_QUERY_RESULT = {
name: string | null;
albumArtist: string | null;
label: "other" | "TRPTK" | null;
catalogNo: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
officialUrl: string | null;
spotifyUrl: string | null;
appleMusicUrl: string | null;
deezerUrl: string | null;
amazonMusicUrl: string | null;
tidalUrl: string | null;
qobuzUrl: string | null;
} | null;
// Source: app/[slug]/page.tsx
// Variable: RELEASE_CATALOG_SLUGS_QUERY
// Query: *[_type == "release" && defined(catalogNo)][]{ "slug": lower(catalogNo) }
export type RELEASE_CATALOG_SLUGS_QUERY_RESULT = Array<{
slug: string;
}>;
// Source: app/api/account/downloads/route.ts
// Variable: RELEASES_BY_CATALOG_NOS_QUERY
// Query: *[_type == "release" && catalogNo in $catalogNos]{ catalogNo, name, albumArtist, "slug": slug.current, albumCover, releaseDate, genre, instrumentation}
export type RELEASES_BY_CATALOG_NOS_QUERY_RESULT = Array<{
catalogNo: string | null;
name: string | null;
albumArtist: string | null;
slug: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
releaseDate: string | null;
genre: Array<
| "baroque"
| "classical"
| "contemporary"
| "crossover"
| "earlyMusic"
| "electronic"
| "jazz"
| "minimal"
| "popRock"
| "romantic"
| "worldMusic"
> | null;
instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null;
}>;
// Source: app/artist/[slug]/page.tsx
// Variable: ARTIST_DETAIL_QUERY
// Query: *[_type == "artist" && slug.current == $slug][0]{ name, role, "slug": slug.current, bio, image, "releases": *[ _type == "release" && references(^._id) ] | order(releaseDate desc, catalogNo desc) { _id, name, albumArtist, catalogNo, "slug": slug.current, releaseDate, albumCover, genre, instrumentation }, "upcomingConcerts": *[ _type == "concert" && references(^._id) && date >= $today ] | order(date asc, time asc) { _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}, "pastConcerts": *[ _type == "concert" && references(^._id) && date < $today ] | order(date desc, time desc) { _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}}
export type ARTIST_DETAIL_QUERY_RESULT = {
name: string | null;
role: string | null;
slug: string | null;
bio: Array<{
children?: Array<{
marks?: Array<string>;
text?: string;
_type: "span";
_key: string;
}>;
style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal";
listItem?: "bullet" | "number";
markDefs?: Array<{
href?: string;
_type: "link";
_key: string;
}>;
level?: number;
_type: "block";
_key: string;
}> | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
releases: Array<{
_id: string;
name: string | null;
albumArtist: string | null;
catalogNo: string | null;
slug: string | null;
releaseDate: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
genre: Array<
| "baroque"
| "classical"
| "contemporary"
| "crossover"
| "earlyMusic"
| "electronic"
| "jazz"
| "minimal"
| "popRock"
| "romantic"
| "worldMusic"
> | null;
instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null;
}>;
upcomingConcerts: Array<{
_id: string;
title: string | null;
subtitle: string | null;
date: string | null;
time: string | null;
locationName: string | null;
city: string | null;
country:
| "AD"
| "AE"
| "AF"
| "AG"
| "AL"
| "AM"
| "AO"
| "AR"
| "AT"
| "AU"
| "AZ"
| "BA"
| "BB"
| "BD"
| "BE"
| "BF"
| "BG"
| "BH"
| "BI"
| "BJ"
| "BN"
| "BO"
| "BR"
| "BS"
| "BT"
| "BW"
| "BY"
| "BZ"
| "CA"
| "CD"
| "CF"
| "CG"
| "CH"
| "CI"
| "CL"
| "CM"
| "CN"
| "CO"
| "CR"
| "CU"
| "CV"
| "CY"
| "CZ"
| "DE"
| "DJ"
| "DK"
| "DM"
| "DO"
| "DZ"
| "EC"
| "EE"
| "EG"
| "ER"
| "ES"
| "ET"
| "FI"
| "FJ"
| "FM"
| "FR"
| "GA"
| "GB"
| "GD"
| "GE"
| "GH"
| "GM"
| "GN"
| "GQ"
| "GR"
| "GT"
| "GW"
| "GY"
| "HN"
| "HR"
| "HT"
| "HU"
| "ID"
| "IE"
| "IL"
| "IN"
| "IQ"
| "IR"
| "IS"
| "IT"
| "JM"
| "JO"
| "JP"
| "KE"
| "KG"
| "KH"
| "KI"
| "KM"
| "KN"
| "KP"
| "KR"
| "KW"
| "KZ"
| "LA"
| "LB"
| "LC"
| "LI"
| "LK"
| "LR"
| "LS"
| "LT"
| "LU"
| "LV"
| "LY"
| "MA"
| "MC"
| "MD"
| "ME"
| "MG"
| "MH"
| "MK"
| "ML"
| "MM"
| "MN"
| "MR"
| "MT"
| "MU"
| "MV"
| "MW"
| "MX"
| "MY"
| "MZ"
| "NA"
| "NE"
| "NG"
| "NI"
| "NL"
| "NO"
| "NP"
| "NR"
| "NZ"
| "OM"
| "PA"
| "PE"
| "PG"
| "PH"
| "PK"
| "PL"
| "PS"
| "PT"
| "PW"
| "PY"
| "QA"
| "RO"
| "RS"
| "RU"
| "RW"
| "SA"
| "SB"
| "SC"
| "SD"
| "SE"
| "SG"
| "SI"
| "SK"
| "SL"
| "SM"
| "SN"
| "SO"
| "SR"
| "SS"
| "ST"
| "SV"
| "SY"
| "SZ"
| "TD"
| "TG"
| "TH"
| "TJ"
| "TL"
| "TM"
| "TN"
| "TO"
| "TR"
| "TT"
| "TV"
| "TW"
| "TZ"
| "UA"
| "UG"
| "US"
| "UY"
| "UZ"
| "VA"
| "VC"
| "VE"
| "VN"
| "VU"
| "WS"
| "XK"
| "YE"
| "ZA"
| "ZM"
| "ZW"
| null;
artists: Array<{
_id: string;
name: string | null;
slug: string | null;
}> | null;
ticketUrl: string | null;
}>;
pastConcerts: Array<{
_id: string;
title: string | null;
subtitle: string | null;
date: string | null;
time: string | null;
locationName: string | null;
city: string | null;
country:
| "AD"
| "AE"
| "AF"
| "AG"
| "AL"
| "AM"
| "AO"
| "AR"
| "AT"
| "AU"
| "AZ"
| "BA"
| "BB"
| "BD"
| "BE"
| "BF"
| "BG"
| "BH"
| "BI"
| "BJ"
| "BN"
| "BO"
| "BR"
| "BS"
| "BT"
| "BW"
| "BY"
| "BZ"
| "CA"
| "CD"
| "CF"
| "CG"
| "CH"
| "CI"
| "CL"
| "CM"
| "CN"
| "CO"
| "CR"
| "CU"
| "CV"
| "CY"
| "CZ"
| "DE"
| "DJ"
| "DK"
| "DM"
| "DO"
| "DZ"
| "EC"
| "EE"
| "EG"
| "ER"
| "ES"
| "ET"
| "FI"
| "FJ"
| "FM"
| "FR"
| "GA"
| "GB"
| "GD"
| "GE"
| "GH"
| "GM"
| "GN"
| "GQ"
| "GR"
| "GT"
| "GW"
| "GY"
| "HN"
| "HR"
| "HT"
| "HU"
| "ID"
| "IE"
| "IL"
| "IN"
| "IQ"
| "IR"
| "IS"
| "IT"
| "JM"
| "JO"
| "JP"
| "KE"
| "KG"
| "KH"
| "KI"
| "KM"
| "KN"
| "KP"
| "KR"
| "KW"
| "KZ"
| "LA"
| "LB"
| "LC"
| "LI"
| "LK"
| "LR"
| "LS"
| "LT"
| "LU"
| "LV"
| "LY"
| "MA"
| "MC"
| "MD"
| "ME"
| "MG"
| "MH"
| "MK"
| "ML"
| "MM"
| "MN"
| "MR"
| "MT"
| "MU"
| "MV"
| "MW"
| "MX"
| "MY"
| "MZ"
| "NA"
| "NE"
| "NG"
| "NI"
| "NL"
| "NO"
| "NP"
| "NR"
| "NZ"
| "OM"
| "PA"
| "PE"
| "PG"
| "PH"
| "PK"
| "PL"
| "PS"
| "PT"
| "PW"
| "PY"
| "QA"
| "RO"
| "RS"
| "RU"
| "RW"
| "SA"
| "SB"
| "SC"
| "SD"
| "SE"
| "SG"
| "SI"
| "SK"
| "SL"
| "SM"
| "SN"
| "SO"
| "SR"
| "SS"
| "ST"
| "SV"
| "SY"
| "SZ"
| "TD"
| "TG"
| "TH"
| "TJ"
| "TL"
| "TM"
| "TN"
| "TO"
| "TR"
| "TT"
| "TV"
| "TW"
| "TZ"
| "UA"
| "UG"
| "US"
| "UY"
| "UZ"
| "VA"
| "VC"
| "VE"
| "VN"
| "VU"
| "WS"
| "XK"
| "YE"
| "ZA"
| "ZM"
| "ZW"
| null;
artists: Array<{
_id: string;
name: string | null;
slug: string | null;
}> | null;
ticketUrl: string | null;
}>;
} | null;
// Source: app/artist/[slug]/page.tsx
// Variable: ARTIST_SLUGS_QUERY
// Query: *[_type == "artist" && defined(slug.current)]{ "slug": slug.current }
export type ARTIST_SLUGS_QUERY_RESULT = Array<{
slug: string | null;
}>;
// Source: app/artists/page.tsx
// Variable: ARTISTS_BY_NAME_QUERY
// Query: *[ _type == "artist" && ( $q == "" || name match $qPattern || role match $qPattern )]| order(lower(name) asc)[$start...$end]{ _id, name, role, "slug": slug.current, image}
export type ARTISTS_BY_NAME_QUERY_RESULT = Array<{
_id: string;
name: string | null;
role: string | null;
slug: string | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/artists/page.tsx
// Variable: ARTISTS_BY_SORT_KEY_QUERY
// Query: *[ _type == "artist" && ( $q == "" || name match $qPattern || role match $qPattern )]| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)[$start...$end]{ _id, name, role, "slug": slug.current, image}
export type ARTISTS_BY_SORT_KEY_QUERY_RESULT = Array<{
_id: string;
name: string | null;
role: string | null;
slug: string | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/artists/page.tsx
// Variable: ARTISTS_COUNT_QUERY
// Query: count(*[ _type == "artist" && ( $q == "" || name match $qPattern || role match $qPattern )])
export type ARTISTS_COUNT_QUERY_RESULT = number;
// Source: app/blog/(archive)/page.tsx
// Variable: BLOGS_BY_DATE_DESC_QUERY
// Query: *[ _type == "blog" &&( $q == "" || title match $qPattern || subtitle match $qPattern || author match $qPattern) &&(count($categories) == 0 || category in $categories)]| order(coalesce(publishDate, "0000-01-01") desc, lower(title) asc)[$start...$end]{ _id, title, subtitle, author, publishDate, category, "slug": slug.current, featuredImage}
export type BLOGS_BY_DATE_DESC_QUERY_RESULT = Array<{
_id: string;
title: string | null;
subtitle: string | null;
author: "Brendon Heinst" | "Maya Fridman" | null;
publishDate: string | null;
category: "Behind the Scenes" | "Music History" | "News" | "Tech Talk" | null;
slug: string | null;
featuredImage: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/blog/(archive)/page.tsx
// Variable: BLOGS_BY_DATE_ASC_QUERY
// Query: *[ _type == "blog" &&( $q == "" || title match $qPattern || subtitle match $qPattern || author match $qPattern) &&(count($categories) == 0 || category in $categories)]| order(coalesce(publishDate, "9999-12-31") asc, lower(title) asc)[$start...$end]{ _id, title, subtitle, author, publishDate, category, "slug": slug.current, featuredImage}
export type BLOGS_BY_DATE_ASC_QUERY_RESULT = Array<{
_id: string;
title: string | null;
subtitle: string | null;
author: "Brendon Heinst" | "Maya Fridman" | null;
publishDate: string | null;
category: "Behind the Scenes" | "Music History" | "News" | "Tech Talk" | null;
slug: string | null;
featuredImage: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/blog/(archive)/page.tsx
// Variable: BLOGS_COUNT_QUERY
// Query: count(*[ _type == "blog" &&( $q == "" || title match $qPattern || subtitle match $qPattern || author match $qPattern) &&(count($categories) == 0 || category in $categories)])
export type BLOGS_COUNT_QUERY_RESULT = number;
// Source: app/blog/[slug]/page.tsx
// Variable: BLOG_DETAIL_QUERY
// Query: *[_type == "blog" && slug.current == $slug][0]{ title, subtitle, "slug": slug.current, author, publishDate, category, featuredImage, content[]{ ..., _type == "image" => { ..., asset-> } }, "releases": releases[]->{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover }, "artists": artists[]->{ _id, name, role, "slug": slug.current, image }, "composers": composers[]->{ _id, name, sortKey, "slug": slug.current, birthYear, deathYear, image }}
export type BLOG_DETAIL_QUERY_RESULT = {
title: string | null;
subtitle: string | null;
slug: string | null;
author: "Brendon Heinst" | "Maya Fridman" | null;
publishDate: string | null;
category: "Behind the Scenes" | "Music History" | "News" | "Tech Talk" | null;
featuredImage: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
content: Array<
| {
children?: Array<{
marks?: Array<string>;
text?: string;
_type: "span";
_key: string;
}>;
style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal";
listItem?: "bullet" | "number";
markDefs?: Array<{
href?: string;
_type: "link";
_key: string;
}>;
level?: number;
_type: "block";
_key: string;
}
| {
asset: {
_id: string;
_type: "sanity.imageAsset";
_createdAt: string;
_updatedAt: string;
_rev: string;
originalFilename?: string;
label?: string;
title?: string;
description?: string;
altText?: string;
sha1hash?: string;
extension?: string;
mimeType?: string;
size?: number;
assetId?: string;
uploadId?: string;
path?: string;
url?: string;
metadata?: SanityImageMetadata;
source?: SanityAssetSourceData;
} | null;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
alt?: string;
caption?: string;
_type: "image";
_key: string;
}
| {
url?: string;
_type: "youtube";
_key: string;
}
> | null;
releases: Array<{
_id: string;
name: string | null;
albumArtist: string | null;
catalogNo: string | null;
releaseDate: string | null;
slug: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}> | null;
artists: Array<{
_id: string;
name: string | null;
role: string | null;
slug: string | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}> | null;
composers: Array<{
_id: string;
name: string | null;
sortKey: string | null;
slug: string | null;
birthYear: number | null;
deathYear: number | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}> | null;
} | null;
// Source: app/blog/[slug]/page.tsx
// Variable: BLOG_SLUGS_QUERY
// Query: *[_type == "blog" && defined(slug.current)]{ "slug": slug.current }
export type BLOG_SLUGS_QUERY_RESULT = Array<{
slug: string | null;
}>;
// Source: app/composer/[slug]/page.tsx
// Variable: COMPOSER_DETAIL_QUERY
// Query: *[_type == "composer" && slug.current == $slug][0]{ name, birthYear, deathYear, "slug": slug.current, bio, image, "releases": *[ _type == "release" && count(tracks[work->composer->slug.current == $slug]) > 0 ] | order(releaseDate desc, catalogNo desc) { _id, name, albumArtist, catalogNo, "slug": slug.current, releaseDate, albumCover, genre, instrumentation }, "composedWorks": *[ _type == "work" && composer->slug.current == $slug ] | order(title asc, defined(arranger) asc, arranger->name asc) { title, "slug": slug.current, "arrangerName": arranger->name }, "arrangedWorks": *[ _type == "work" && arranger->slug.current == $slug ] | order(coalesce(composer->sortKey, composer->name) asc, title asc) { title, "slug": slug.current, "originalComposerName": composer->name, "originalComposerSortKey": composer->sortKey }}
export type COMPOSER_DETAIL_QUERY_RESULT = {
name: string | null;
birthYear: number | null;
deathYear: number | null;
slug: string | null;
bio: Array<{
children?: Array<{
marks?: Array<string>;
text?: string;
_type: "span";
_key: string;
}>;
style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal";
listItem?: "bullet" | "number";
markDefs?: Array<{
href?: string;
_type: "link";
_key: string;
}>;
level?: number;
_type: "block";
_key: string;
}> | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
releases: Array<{
_id: string;
name: string | null;
albumArtist: string | null;
catalogNo: string | null;
slug: string | null;
releaseDate: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
genre: Array<
| "baroque"
| "classical"
| "contemporary"
| "crossover"
| "earlyMusic"
| "electronic"
| "jazz"
| "minimal"
| "popRock"
| "romantic"
| "worldMusic"
> | null;
instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null;
}>;
composedWorks: Array<{
title: string | null;
slug: string | null;
arrangerName: string | null;
}>;
arrangedWorks: Array<{
title: string | null;
slug: string | null;
originalComposerName: string | null;
originalComposerSortKey: string | null;
}>;
} | null;
// Source: app/composer/[slug]/page.tsx
// Variable: COMPOSER_SLUGS_QUERY
// Query: *[_type == "composer" && defined(slug.current)]{ "slug": slug.current }
export type COMPOSER_SLUGS_QUERY_RESULT = Array<{
slug: string | null;
}>;
// Source: app/composers/page.tsx
// Variable: COMPOSERS_BY_NAME_QUERY
// Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image}
export type COMPOSERS_BY_NAME_QUERY_RESULT = Array<{
_id: string;
name: string | null;
birthYear: number | null;
deathYear: number | null;
slug: string | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/composers/page.tsx
// Variable: COMPOSERS_BY_SORT_KEY_QUERY
// Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image}
export type COMPOSERS_BY_SORT_KEY_QUERY_RESULT = Array<{
_id: string;
name: string | null;
birthYear: number | null;
deathYear: number | null;
slug: string | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/composers/page.tsx
// Variable: COMPOSERS_BY_BIRTH_YEAR_ASC_QUERY
// Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(coalesce(birthYear, 999999) asc, lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image}
export type COMPOSERS_BY_BIRTH_YEAR_ASC_QUERY_RESULT = Array<{
_id: string;
name: string | null;
birthYear: number | null;
deathYear: number | null;
slug: string | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/composers/page.tsx
// Variable: COMPOSERS_BY_BIRTH_YEAR_DESC_QUERY
// Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(coalesce(birthYear, -999999) desc, lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image}
export type COMPOSERS_BY_BIRTH_YEAR_DESC_QUERY_RESULT = Array<{
_id: string;
name: string | null;
birthYear: number | null;
deathYear: number | null;
slug: string | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/composers/page.tsx
// Variable: COMPOSERS_COUNT_QUERY
// Query: count(*[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)])
export type COMPOSERS_COUNT_QUERY_RESULT = number;
// Source: app/concerts/page.tsx
// Variable: UPCOMING_CONCERTS_QUERY
// Query: *[_type == "concert" && date >= $today]{ _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}| order(date asc, time asc)
export type UPCOMING_CONCERTS_QUERY_RESULT = Array<{
_id: string;
title: string | null;
subtitle: string | null;
date: string | null;
time: string | null;
locationName: string | null;
city: string | null;
country:
| "AD"
| "AE"
| "AF"
| "AG"
| "AL"
| "AM"
| "AO"
| "AR"
| "AT"
| "AU"
| "AZ"
| "BA"
| "BB"
| "BD"
| "BE"
| "BF"
| "BG"
| "BH"
| "BI"
| "BJ"
| "BN"
| "BO"
| "BR"
| "BS"
| "BT"
| "BW"
| "BY"
| "BZ"
| "CA"
| "CD"
| "CF"
| "CG"
| "CH"
| "CI"
| "CL"
| "CM"
| "CN"
| "CO"
| "CR"
| "CU"
| "CV"
| "CY"
| "CZ"
| "DE"
| "DJ"
| "DK"
| "DM"
| "DO"
| "DZ"
| "EC"
| "EE"
| "EG"
| "ER"
| "ES"
| "ET"
| "FI"
| "FJ"
| "FM"
| "FR"
| "GA"
| "GB"
| "GD"
| "GE"
| "GH"
| "GM"
| "GN"
| "GQ"
| "GR"
| "GT"
| "GW"
| "GY"
| "HN"
| "HR"
| "HT"
| "HU"
| "ID"
| "IE"
| "IL"
| "IN"
| "IQ"
| "IR"
| "IS"
| "IT"
| "JM"
| "JO"
| "JP"
| "KE"
| "KG"
| "KH"
| "KI"
| "KM"
| "KN"
| "KP"
| "KR"
| "KW"
| "KZ"
| "LA"
| "LB"
| "LC"
| "LI"
| "LK"
| "LR"
| "LS"
| "LT"
| "LU"
| "LV"
| "LY"
| "MA"
| "MC"
| "MD"
| "ME"
| "MG"
| "MH"
| "MK"
| "ML"
| "MM"
| "MN"
| "MR"
| "MT"
| "MU"
| "MV"
| "MW"
| "MX"
| "MY"
| "MZ"
| "NA"
| "NE"
| "NG"
| "NI"
| "NL"
| "NO"
| "NP"
| "NR"
| "NZ"
| "OM"
| "PA"
| "PE"
| "PG"
| "PH"
| "PK"
| "PL"
| "PS"
| "PT"
| "PW"
| "PY"
| "QA"
| "RO"
| "RS"
| "RU"
| "RW"
| "SA"
| "SB"
| "SC"
| "SD"
| "SE"
| "SG"
| "SI"
| "SK"
| "SL"
| "SM"
| "SN"
| "SO"
| "SR"
| "SS"
| "ST"
| "SV"
| "SY"
| "SZ"
| "TD"
| "TG"
| "TH"
| "TJ"
| "TL"
| "TM"
| "TN"
| "TO"
| "TR"
| "TT"
| "TV"
| "TW"
| "TZ"
| "UA"
| "UG"
| "US"
| "UY"
| "UZ"
| "VA"
| "VC"
| "VE"
| "VN"
| "VU"
| "WS"
| "XK"
| "YE"
| "ZA"
| "ZM"
| "ZW"
| null;
artists: Array<{
_id: string;
name: string | null;
slug: string | null;
}> | null;
ticketUrl: string | null;
}>;
// Source: app/concerts/page.tsx
// Variable: PAST_CONCERTS_QUERY
// Query: *[_type == "concert" && date < $today]{ _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}| order(date desc, time desc)
export type PAST_CONCERTS_QUERY_RESULT = Array<{
_id: string;
title: string | null;
subtitle: string | null;
date: string | null;
time: string | null;
locationName: string | null;
city: string | null;
country:
| "AD"
| "AE"
| "AF"
| "AG"
| "AL"
| "AM"
| "AO"
| "AR"
| "AT"
| "AU"
| "AZ"
| "BA"
| "BB"
| "BD"
| "BE"
| "BF"
| "BG"
| "BH"
| "BI"
| "BJ"
| "BN"
| "BO"
| "BR"
| "BS"
| "BT"
| "BW"
| "BY"
| "BZ"
| "CA"
| "CD"
| "CF"
| "CG"
| "CH"
| "CI"
| "CL"
| "CM"
| "CN"
| "CO"
| "CR"
| "CU"
| "CV"
| "CY"
| "CZ"
| "DE"
| "DJ"
| "DK"
| "DM"
| "DO"
| "DZ"
| "EC"
| "EE"
| "EG"
| "ER"
| "ES"
| "ET"
| "FI"
| "FJ"
| "FM"
| "FR"
| "GA"
| "GB"
| "GD"
| "GE"
| "GH"
| "GM"
| "GN"
| "GQ"
| "GR"
| "GT"
| "GW"
| "GY"
| "HN"
| "HR"
| "HT"
| "HU"
| "ID"
| "IE"
| "IL"
| "IN"
| "IQ"
| "IR"
| "IS"
| "IT"
| "JM"
| "JO"
| "JP"
| "KE"
| "KG"
| "KH"
| "KI"
| "KM"
| "KN"
| "KP"
| "KR"
| "KW"
| "KZ"
| "LA"
| "LB"
| "LC"
| "LI"
| "LK"
| "LR"
| "LS"
| "LT"
| "LU"
| "LV"
| "LY"
| "MA"
| "MC"
| "MD"
| "ME"
| "MG"
| "MH"
| "MK"
| "ML"
| "MM"
| "MN"
| "MR"
| "MT"
| "MU"
| "MV"
| "MW"
| "MX"
| "MY"
| "MZ"
| "NA"
| "NE"
| "NG"
| "NI"
| "NL"
| "NO"
| "NP"
| "NR"
| "NZ"
| "OM"
| "PA"
| "PE"
| "PG"
| "PH"
| "PK"
| "PL"
| "PS"
| "PT"
| "PW"
| "PY"
| "QA"
| "RO"
| "RS"
| "RU"
| "RW"
| "SA"
| "SB"
| "SC"
| "SD"
| "SE"
| "SG"
| "SI"
| "SK"
| "SL"
| "SM"
| "SN"
| "SO"
| "SR"
| "SS"
| "ST"
| "SV"
| "SY"
| "SZ"
| "TD"
| "TG"
| "TH"
| "TJ"
| "TL"
| "TM"
| "TN"
| "TO"
| "TR"
| "TT"
| "TV"
| "TW"
| "TZ"
| "UA"
| "UG"
| "US"
| "UY"
| "UZ"
| "VA"
| "VC"
| "VE"
| "VN"
| "VU"
| "WS"
| "XK"
| "YE"
| "ZA"
| "ZM"
| "ZW"
| null;
artists: Array<{
_id: string;
name: string | null;
slug: string | null;
}> | null;
ticketUrl: string | null;
}>;
// Source: app/release/[slug]/booklet/route.ts
// Variable: BOOKLET_URL_QUERY
// Query: *[_type == "release" && slug.current == $slug][0]{ "bookletPdfUrl": bookletPdf.asset->url}
export type BOOKLET_URL_QUERY_RESULT = {
bookletPdfUrl: string | null;
} | null;
// Source: app/release/[slug]/page.tsx
// Variable: RELEASE_DETAIL_QUERY
// Query: *[_type == "release" && slug.current == $slug][0]{ name, albumArtist, label, catalogNo, upc, "slug": slug.current, releaseDate, shortDescription, description, albumCover, "artists": artists[]->{ _id, name, role, "slug": slug.current, image }, "composers": tracks[].work->composer->{ _id, name, sortKey, "slug": slug.current, birthYear, deathYear, image }, "arrangers": tracks[].work->arranger->{ _id, name, sortKey, "slug": slug.current, birthYear, deathYear, image }, tracks[]{ "workId": work->_id, "workTitle": work->title, "composerName": work->composer->name, "arrangerName": work->arranger->name, movement, displayTitle, duration, artist, "previewMp3Url": previewMp3.asset->url }, reviews[]{ quote, author }, credits[]{ role, name }, recordingDate, recordingLocation, recordingFormat, masteringFormat, "bookletPdfUrl": bookletPdf.asset->url, equipment[]{ type, name }}
export type RELEASE_DETAIL_QUERY_RESULT = {
name: string | null;
albumArtist: string | null;
label: "other" | "TRPTK" | null;
catalogNo: string | null;
upc: string | null;
slug: string | null;
releaseDate: string | null;
shortDescription: string | null;
description: Array<{
children?: Array<{
marks?: Array<string>;
text?: string;
_type: "span";
_key: string;
}>;
style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal";
listItem?: "bullet" | "number";
markDefs?: Array<{
href?: string;
_type: "link";
_key: string;
}>;
level?: number;
_type: "block";
_key: string;
}> | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
artists: Array<{
_id: string;
name: string | null;
role: string | null;
slug: string | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}> | null;
composers: Array<{
_id: string;
name: string | null;
sortKey: string | null;
slug: string | null;
birthYear: number | null;
deathYear: number | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
} | null> | null;
arrangers: Array<{
_id: string;
name: string | null;
sortKey: string | null;
slug: string | null;
birthYear: number | null;
deathYear: number | null;
image: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
} | null> | null;
tracks: Array<{
workId: string | null;
workTitle: string | null;
composerName: string | null;
arrangerName: string | null;
movement: string | null;
displayTitle: string | null;
duration: string | null;
artist: string | null;
previewMp3Url: string | null;
}> | null;
reviews: Array<{
quote: string | null;
author: string | null;
}> | null;
credits: Array<{
role: string | null;
name: string | null;
}> | null;
recordingDate: string | null;
recordingLocation: string | null;
recordingFormat: "DSD 11.2 MHz 1 bit" | "PCM 352.8 kHz 24 bit" | "PCM 352.8 kHz 32 bit" | null;
masteringFormat: "DSD 11.2 MHz 1 bit" | "PCM 352.8 kHz 32 bit" | "PCM 352.8 kHz 64 bit" | null;
bookletPdfUrl: string | null;
equipment: Array<{
type: string | null;
name: string | null;
}> | null;
} | null;
// Source: app/release/[slug]/page.tsx
// Variable: RELEASE_SLUGS_QUERY
// Query: *[_type == "release" && defined(slug.current)]{ "slug": slug.current }
export type RELEASE_SLUGS_QUERY_RESULT = Array<{
slug: string | null;
}>;
// Source: app/releases/page.tsx
// Variable: RELEASES_BY_TITLE_ASC_QUERY
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
export type RELEASES_BY_TITLE_ASC_QUERY_RESULT = Array<{
_id: string;
name: string | null;
albumArtist: string | null;
catalogNo: string | null;
releaseDate: string | null;
slug: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/releases/page.tsx
// Variable: RELEASES_BY_TITLE_DESC_QUERY
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(name) desc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
export type RELEASES_BY_TITLE_DESC_QUERY_RESULT = Array<{
_id: string;
name: string | null;
albumArtist: string | null;
catalogNo: string | null;
releaseDate: string | null;
slug: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/releases/page.tsx
// Variable: RELEASES_BY_CATALOG_NO_ASC_QUERY
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(catalogNo) asc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
export type RELEASES_BY_CATALOG_NO_ASC_QUERY_RESULT = Array<{
_id: string;
name: string | null;
albumArtist: string | null;
catalogNo: string | null;
releaseDate: string | null;
slug: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/releases/page.tsx
// Variable: RELEASES_BY_CATALOG_NO_DESC_QUERY
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(catalogNo) desc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
export type RELEASES_BY_CATALOG_NO_DESC_QUERY_RESULT = Array<{
_id: string;
name: string | null;
albumArtist: string | null;
catalogNo: string | null;
releaseDate: string | null;
slug: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/releases/page.tsx
// Variable: RELEASES_BY_DATE_ASC_QUERY
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(coalesce(releaseDate, "9999-12-31") asc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
export type RELEASES_BY_DATE_ASC_QUERY_RESULT = Array<{
_id: string;
name: string | null;
albumArtist: string | null;
catalogNo: string | null;
releaseDate: string | null;
slug: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/releases/page.tsx
// Variable: RELEASES_BY_DATE_DESC_QUERY
// Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(coalesce(releaseDate, "0000-01-01") desc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover}
export type RELEASES_BY_DATE_DESC_QUERY_RESULT = Array<{
_id: string;
name: string | null;
albumArtist: string | null;
catalogNo: string | null;
releaseDate: string | null;
slug: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
}>;
// Source: app/releases/page.tsx
// Variable: RELEASES_COUNT_QUERY
// Query: count(*[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)])
export type RELEASES_COUNT_QUERY_RESULT = number;
// Source: app/sitemap.ts
// Variable: SITEMAP_ARTISTS_QUERY
// Query: *[_type == "artist" && defined(slug.current)]{ "slug": slug.current, _updatedAt }
export type SITEMAP_ARTISTS_QUERY_RESULT = Array<{
slug: string | null;
_updatedAt: string;
}>;
// Source: app/sitemap.ts
// Variable: SITEMAP_RELEASES_QUERY
// Query: *[_type == "release" && defined(slug.current)]{ "slug": slug.current, _updatedAt }
export type SITEMAP_RELEASES_QUERY_RESULT = Array<{
slug: string | null;
_updatedAt: string;
}>;
// Source: app/sitemap.ts
// Variable: SITEMAP_COMPOSERS_QUERY
// Query: *[_type == "composer" && defined(slug.current)]{ "slug": slug.current, _updatedAt }
export type SITEMAP_COMPOSERS_QUERY_RESULT = Array<{
slug: string | null;
_updatedAt: string;
}>;
// Source: app/sitemap.ts
// Variable: SITEMAP_WORKS_QUERY
// Query: *[_type == "work" && defined(slug.current)]{ "slug": slug.current, _updatedAt }
export type SITEMAP_WORKS_QUERY_RESULT = Array<{
slug: string | null;
_updatedAt: string;
}>;
// Source: app/work/[slug]/layout.tsx
// Variable: WORK_COMPOSER_SLUG_QUERY
// Query: *[_type == "work" && slug.current == $slug][0]{ "composerSlug": composer->slug.current }
export type WORK_COMPOSER_SLUG_QUERY_RESULT = {
composerSlug: string | null;
} | null;
// Source: app/work/[slug]/page.tsx
// Variable: WORK_DETAIL_QUERY
// Query: *[_type == "work" && slug.current == $slug][0]{ title, description, "slug": slug.current, "composerName": composer->name, "composerSlug": composer->slug.current, "composerImage": composer->image, "arrangerName": arranger->name, "releases": *[ _type == "release" && count(tracks[work->slug.current == $slug]) > 0 ] | order(releaseDate desc, catalogNo desc) { _id, name, albumArtist, catalogNo, "slug": slug.current, releaseDate, albumCover, genre, instrumentation }}
export type WORK_DETAIL_QUERY_RESULT = {
title: string | null;
description: Array<{
children?: Array<{
marks?: Array<string>;
text?: string;
_type: "span";
_key: string;
}>;
style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal";
listItem?: "bullet" | "number";
markDefs?: Array<{
href?: string;
_type: "link";
_key: string;
}>;
level?: number;
_type: "block";
_key: string;
}> | null;
slug: string | null;
composerName: string | null;
composerSlug: string | null;
composerImage: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
arrangerName: string | null;
releases: Array<{
_id: string;
name: string | null;
albumArtist: string | null;
catalogNo: string | null;
slug: string | null;
releaseDate: string | null;
albumCover: {
asset?: SanityImageAssetReference;
media?: unknown;
hotspot?: SanityImageHotspot;
crop?: SanityImageCrop;
_type: "image";
} | null;
genre: Array<
| "baroque"
| "classical"
| "contemporary"
| "crossover"
| "earlyMusic"
| "electronic"
| "jazz"
| "minimal"
| "popRock"
| "romantic"
| "worldMusic"
> | null;
instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null;
}>;
} | null;
// Source: app/work/[slug]/page.tsx
// Variable: WORK_SLUGS_QUERY
// Query: *[_type == "work" && defined(slug.current)]{ "slug": slug.current }
export type WORK_SLUGS_QUERY_RESULT = Array<{
slug: string | null;
}>;
// Query TypeMap
import "@sanity/client";
declare module "@sanity/client" {
interface SanityQueries {
'\n*[_type == "release" && lower(catalogNo) == $slug][0]{\n name,\n albumArtist,\n label,\n catalogNo,\n albumCover,\n officialUrl,\n spotifyUrl,\n appleMusicUrl,\n deezerUrl,\n amazonMusicUrl,\n tidalUrl,\n qobuzUrl,\n}\n': RELEASE_BY_CATALOG_NO_QUERY_RESULT;
'*[_type == "release" && defined(catalogNo)][]{ "slug": lower(catalogNo) }': RELEASE_CATALOG_SLUGS_QUERY_RESULT;
'\n*[_type == "release" && catalogNo in $catalogNos]{\n catalogNo,\n name,\n albumArtist,\n "slug": slug.current,\n albumCover,\n releaseDate,\n genre,\n instrumentation\n}\n': RELEASES_BY_CATALOG_NOS_QUERY_RESULT;
'\n*[_type == "artist" && slug.current == $slug][0]{\n name,\n role,\n "slug": slug.current,\n bio,\n image,\n "releases": *[\n _type == "release" &&\n references(^._id)\n ]\n | order(releaseDate desc, catalogNo desc) {\n _id,\n name,\n albumArtist,\n catalogNo,\n "slug": slug.current,\n releaseDate,\n albumCover,\n genre,\n instrumentation\n },\n "upcomingConcerts": *[\n _type == "concert" &&\n references(^._id) &&\n date >= $today\n ] | order(date asc, time asc) {\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n},\n "pastConcerts": *[\n _type == "concert" &&\n references(^._id) &&\n date < $today\n ] | order(date desc, time desc) {\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n}\n}\n': ARTIST_DETAIL_QUERY_RESULT;
'*[_type == "artist" && defined(slug.current)]{ "slug": slug.current }': ARTIST_SLUGS_QUERY_RESULT;
'\n*[\n _type == "artist" &&\n (\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n )\n]\n| order(lower(name) asc)\n[$start...$end]{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n}\n': ARTISTS_BY_NAME_QUERY_RESULT;
'\n*[\n _type == "artist" &&\n (\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n )\n]\n| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n}\n': ARTISTS_BY_SORT_KEY_QUERY_RESULT;
'\ncount(*[\n _type == "artist" &&\n (\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n )\n])\n': ARTISTS_COUNT_QUERY_RESULT;
'\n*[\n \n_type == "blog" &&\n(\n $q == "" ||\n title match $qPattern ||\n subtitle match $qPattern ||\n author match $qPattern\n) &&\n(count($categories) == 0 || category in $categories)\n\n]\n| order(coalesce(publishDate, "0000-01-01") desc, lower(title) asc)\n[$start...$end]{\n _id,\n title,\n subtitle,\n author,\n publishDate,\n category,\n "slug": slug.current,\n featuredImage\n}\n': BLOGS_BY_DATE_DESC_QUERY_RESULT;
'\n*[\n \n_type == "blog" &&\n(\n $q == "" ||\n title match $qPattern ||\n subtitle match $qPattern ||\n author match $qPattern\n) &&\n(count($categories) == 0 || category in $categories)\n\n]\n| order(coalesce(publishDate, "9999-12-31") asc, lower(title) asc)\n[$start...$end]{\n _id,\n title,\n subtitle,\n author,\n publishDate,\n category,\n "slug": slug.current,\n featuredImage\n}\n': BLOGS_BY_DATE_ASC_QUERY_RESULT;
'\ncount(*[\n \n_type == "blog" &&\n(\n $q == "" ||\n title match $qPattern ||\n subtitle match $qPattern ||\n author match $qPattern\n) &&\n(count($categories) == 0 || category in $categories)\n\n])\n': BLOGS_COUNT_QUERY_RESULT;
'\n*[_type == "blog" && slug.current == $slug][0]{\n title,\n subtitle,\n "slug": slug.current,\n author,\n publishDate,\n category,\n featuredImage,\n content[]{\n ...,\n _type == "image" => {\n ...,\n asset->\n }\n },\n "releases": releases[]->{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n },\n "artists": artists[]->{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n },\n "composers": composers[]->{\n _id,\n name,\n sortKey,\n "slug": slug.current,\n birthYear,\n deathYear,\n image\n }\n}\n': BLOG_DETAIL_QUERY_RESULT;
'*[_type == "blog" && defined(slug.current)]{ "slug": slug.current }': BLOG_SLUGS_QUERY_RESULT;
'\n*[_type == "composer" && slug.current == $slug][0]{\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n bio,\n image,\n\n "releases": *[\n _type == "release" &&\n count(tracks[work->composer->slug.current == $slug]) > 0\n ]\n | order(releaseDate desc, catalogNo desc) {\n _id,\n name,\n albumArtist,\n catalogNo,\n "slug": slug.current,\n releaseDate,\n albumCover,\n genre,\n instrumentation\n },\n\n "composedWorks": *[\n _type == "work" &&\n composer->slug.current == $slug\n ]\n | order(title asc, defined(arranger) asc, arranger->name asc) {\n title,\n "slug": slug.current,\n "arrangerName": arranger->name\n },\n\n "arrangedWorks": *[\n _type == "work" &&\n arranger->slug.current == $slug\n ]\n | order(coalesce(composer->sortKey, composer->name) asc, title asc) {\n title,\n "slug": slug.current,\n "originalComposerName": composer->name,\n "originalComposerSortKey": composer->sortKey\n }\n}\n': COMPOSER_DETAIL_QUERY_RESULT;
'*[_type == "composer" && defined(slug.current)]{ "slug": slug.current }': COMPOSER_SLUGS_QUERY_RESULT;
'\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_NAME_QUERY_RESULT;
'\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_SORT_KEY_QUERY_RESULT;
'\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(coalesce(birthYear, 999999) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_BIRTH_YEAR_ASC_QUERY_RESULT;
'\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(coalesce(birthYear, -999999) desc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_BIRTH_YEAR_DESC_QUERY_RESULT;
'\ncount(*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n])\n': COMPOSERS_COUNT_QUERY_RESULT;
'\n*[_type == "concert" && date >= $today]\n{\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n}\n| order(date asc, time asc)\n': UPCOMING_CONCERTS_QUERY_RESULT;
'\n*[_type == "concert" && date < $today]\n{\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n}\n| order(date desc, time desc)\n': PAST_CONCERTS_QUERY_RESULT;
'\n*[_type == "release" && slug.current == $slug][0]{\n "bookletPdfUrl": bookletPdf.asset->url\n}\n': BOOKLET_URL_QUERY_RESULT;
'\n*[_type == "release" && slug.current == $slug][0]{\n name,\n albumArtist,\n label,\n catalogNo,\n upc,\n "slug": slug.current,\n releaseDate,\n shortDescription,\n description,\n albumCover,\n "artists": artists[]->{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n },\n "composers": tracks[].work->composer->{\n _id,\n name,\n sortKey,\n "slug": slug.current,\n birthYear,\n deathYear,\n image\n },\n "arrangers": tracks[].work->arranger->{\n _id,\n name,\n sortKey,\n "slug": slug.current,\n birthYear,\n deathYear,\n image\n },\n tracks[]{\n "workId": work->_id,\n "workTitle": work->title,\n "composerName": work->composer->name,\n "arrangerName": work->arranger->name,\n movement,\n displayTitle,\n duration,\n artist,\n "previewMp3Url": previewMp3.asset->url\n },\n reviews[]{ quote, author },\n credits[]{ role, name },\n recordingDate,\n recordingLocation,\n recordingFormat,\n masteringFormat,\n "bookletPdfUrl": bookletPdf.asset->url,\n equipment[]{ type, name }\n}\n': RELEASE_DETAIL_QUERY_RESULT;
'*[_type == "release" && defined(slug.current)]{ "slug": slug.current }': RELEASE_SLUGS_QUERY_RESULT;
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_TITLE_ASC_QUERY_RESULT;
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(name) desc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_TITLE_DESC_QUERY_RESULT;
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(catalogNo) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_CATALOG_NO_ASC_QUERY_RESULT;
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(catalogNo) desc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_CATALOG_NO_DESC_QUERY_RESULT;
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(coalesce(releaseDate, "9999-12-31") asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_DATE_ASC_QUERY_RESULT;
'\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(coalesce(releaseDate, "0000-01-01") desc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_DATE_DESC_QUERY_RESULT;
'\ncount(*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n])\n': RELEASES_COUNT_QUERY_RESULT;
'*[_type == "artist" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_ARTISTS_QUERY_RESULT;
'*[_type == "release" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_RELEASES_QUERY_RESULT;
'*[_type == "composer" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_COMPOSERS_QUERY_RESULT;
'*[_type == "work" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_WORKS_QUERY_RESULT;
'*[_type == "work" && slug.current == $slug][0]{ "composerSlug": composer->slug.current }': WORK_COMPOSER_SLUG_QUERY_RESULT;
'\n*[_type == "work" && slug.current == $slug][0]{\n title,\n description,\n "slug": slug.current,\n "composerName": composer->name,\n "composerSlug": composer->slug.current,\n "composerImage": composer->image,\n "arrangerName": arranger->name,\n\n "releases": *[\n _type == "release" &&\n count(tracks[work->slug.current == $slug]) > 0\n ]\n | order(releaseDate desc, catalogNo desc) {\n _id,\n name,\n albumArtist,\n catalogNo,\n "slug": slug.current,\n releaseDate,\n albumCover,\n genre,\n instrumentation\n }\n}\n': WORK_DETAIL_QUERY_RESULT;
'*[_type == "work" && defined(slug.current)]{ "slug": slug.current }': WORK_SLUGS_QUERY_RESULT;
}
}