Skip to content

TypeScript API / laikacms/assets / AssetMetadataSchema

Variable: AssetMetadataSchema ​

ts
const AssetMetadataSchema: StandardSchemaV1<{
  key: string;
  metadata:   | {
     animated?: boolean;
     bitDepth?: number;
     colorSpace?: string;
     createdAt?: string;
     exif?: {
      [key: string]: any;
     };
     extension?: string;
     filename?: string;
     hasAlpha?: boolean;
     hash?: string;
     hashAlgorithm?: string;
     height: number;
     kind: "image";
     mimeType: string;
     modifiedAt?: string;
     size: number;
     width: number;
   }
     | {
     audioBitrate?: number;
     audioChannels?: number;
     audioCodec?: string;
     audioSampleRate?: number;
     createdAt?: string;
     duration: number;
     extension?: string;
     filename?: string;
     frameRate?: number;
     hash?: string;
     hashAlgorithm?: string;
     height: number;
     kind: "video";
     mimeType: string;
     modifiedAt?: string;
     size: number;
     videoBitrate?: number;
     videoCodec?: string;
     width: number;
   }
     | {
     bitrate?: number;
     channels?: number;
     codec?: string;
     createdAt?: string;
     duration: number;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     kind: "audio";
     mimeType: string;
     modifiedAt?: string;
     sampleRate?: number;
     size: number;
     tags?: {
      [key: string]: string;
     };
   }
     | {
     author?: string;
     createdAt?: string;
     documentCreatedAt?: string;
     documentModifiedAt?: string;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     keywords?: readonly string[];
     kind: "document";
     mimeType: string;
     modifiedAt?: string;
     pageCount?: number;
     size: number;
     subject?: string;
     title?: string;
   }
     | {
     createdAt?: string;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     kind: "binary";
     mimeType: string;
     modifiedAt?: string;
     size: number;
   };
}, {
  key: string;
  metadata:   | {
     animated?: boolean;
     bitDepth?: number;
     colorSpace?: string;
     createdAt?: Utc;
     exif?: {
      [key: string]: any;
     };
     extension?: string;
     filename?: string;
     hasAlpha?: boolean;
     hash?: string;
     hashAlgorithm?: string;
     height: number;
     kind: "image";
     mimeType: string;
     modifiedAt?: Utc;
     size: number;
     width: number;
   }
     | {
     audioBitrate?: number;
     audioChannels?: number;
     audioCodec?: string;
     audioSampleRate?: number;
     createdAt?: Utc;
     duration: number;
     extension?: string;
     filename?: string;
     frameRate?: number;
     hash?: string;
     hashAlgorithm?: string;
     height: number;
     kind: "video";
     mimeType: string;
     modifiedAt?: Utc;
     size: number;
     videoBitrate?: number;
     videoCodec?: string;
     width: number;
   }
     | {
     bitrate?: number;
     channels?: number;
     codec?: string;
     createdAt?: Utc;
     duration: number;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     kind: "audio";
     mimeType: string;
     modifiedAt?: Utc;
     sampleRate?: number;
     size: number;
     tags?: {
      [key: string]: string;
     };
   }
     | {
     author?: string;
     createdAt?: Utc;
     documentCreatedAt?: Utc;
     documentModifiedAt?: Utc;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     keywords?: readonly string[];
     kind: "document";
     mimeType: string;
     modifiedAt?: Utc;
     pageCount?: number;
     size: number;
     subject?: string;
     title?: string;
   }
     | {
     createdAt?: Utc;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     kind: "binary";
     mimeType: string;
     modifiedAt?: Utc;
     size: number;
   };
}> & Struct<{
  key: String;
  metadata: Union<readonly [StandardSchemaV1<{
     animated?: boolean;
     bitDepth?: number;
     colorSpace?: string;
     createdAt?: string;
     exif?: {
      [key: string]: any;
     };
     extension?: string;
     filename?: string;
     hasAlpha?: boolean;
     hash?: string;
     hashAlgorithm?: string;
     height: number;
     kind: "image";
     mimeType: string;
     modifiedAt?: string;
     size: number;
     width: number;
   }, {
     animated?: boolean;
     bitDepth?: number;
     colorSpace?: string;
     createdAt?: Utc;
     exif?: {
      [key: string]: any;
     };
     extension?: string;
     filename?: string;
     hasAlpha?: boolean;
     hash?: string;
     hashAlgorithm?: string;
     height: number;
     kind: "image";
     mimeType: string;
     modifiedAt?: Utc;
     size: number;
     width: number;
   }> & Struct<{
     animated: optional<Boolean>;
     bitDepth: optional<Number>;
     colorSpace: optional<String>;
     createdAt: optional<DateTimeUtcFromString>;
     exif: optional<$Record<String, Any>>;
     extension: optional<String>;
     filename: optional<String>;
     hasAlpha: optional<Boolean>;
     hash: optional<String>;
     hashAlgorithm: optional<String>;
     height: Number;
     kind: Literal<"image">;
     mimeType: String;
     modifiedAt: optional<DateTimeUtcFromString>;
     size: Number;
     width: Number;
   }>, StandardSchemaV1<{
     audioBitrate?: number;
     audioChannels?: number;
     audioCodec?: string;
     audioSampleRate?: number;
     createdAt?: string;
     duration: number;
     extension?: string;
     filename?: string;
     frameRate?: number;
     hash?: string;
     hashAlgorithm?: string;
     height: number;
     kind: "video";
     mimeType: string;
     modifiedAt?: string;
     size: number;
     videoBitrate?: number;
     videoCodec?: string;
     width: number;
   }, {
     audioBitrate?: number;
     audioChannels?: number;
     audioCodec?: string;
     audioSampleRate?: number;
     createdAt?: Utc;
     duration: number;
     extension?: string;
     filename?: string;
     frameRate?: number;
     hash?: string;
     hashAlgorithm?: string;
     height: number;
     kind: "video";
     mimeType: string;
     modifiedAt?: Utc;
     size: number;
     videoBitrate?: number;
     videoCodec?: string;
     width: number;
   }> & Struct<{
     audioBitrate: optional<Number>;
     audioChannels: optional<Number>;
     audioCodec: optional<String>;
     audioSampleRate: optional<Number>;
     createdAt: optional<DateTimeUtcFromString>;
     duration: Number;
     extension: optional<String>;
     filename: optional<String>;
     frameRate: optional<Number>;
     hash: optional<String>;
     hashAlgorithm: optional<String>;
     height: Number;
     kind: Literal<"video">;
     mimeType: String;
     modifiedAt: optional<DateTimeUtcFromString>;
     size: Number;
     videoBitrate: optional<Number>;
     videoCodec: optional<String>;
     width: Number;
   }>, StandardSchemaV1<{
     bitrate?: number;
     channels?: number;
     codec?: string;
     createdAt?: string;
     duration: number;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     kind: "audio";
     mimeType: string;
     modifiedAt?: string;
     sampleRate?: number;
     size: number;
     tags?: {
      [key: string]: string;
     };
   }, {
     bitrate?: number;
     channels?: number;
     codec?: string;
     createdAt?: Utc;
     duration: number;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     kind: "audio";
     mimeType: string;
     modifiedAt?: Utc;
     sampleRate?: number;
     size: number;
     tags?: {
      [key: string]: string;
     };
   }> & Struct<{
     bitrate: optional<Number>;
     channels: optional<Number>;
     codec: optional<String>;
     createdAt: optional<DateTimeUtcFromString>;
     duration: Number;
     extension: optional<String>;
     filename: optional<String>;
     hash: optional<String>;
     hashAlgorithm: optional<String>;
     kind: Literal<"audio">;
     mimeType: String;
     modifiedAt: optional<DateTimeUtcFromString>;
     sampleRate: optional<Number>;
     size: Number;
     tags: optional<$Record<String, String>>;
   }>, StandardSchemaV1<{
     author?: string;
     createdAt?: string;
     documentCreatedAt?: string;
     documentModifiedAt?: string;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     keywords?: readonly string[];
     kind: "document";
     mimeType: string;
     modifiedAt?: string;
     pageCount?: number;
     size: number;
     subject?: string;
     title?: string;
   }, {
     author?: string;
     createdAt?: Utc;
     documentCreatedAt?: Utc;
     documentModifiedAt?: Utc;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     keywords?: readonly string[];
     kind: "document";
     mimeType: string;
     modifiedAt?: Utc;
     pageCount?: number;
     size: number;
     subject?: string;
     title?: string;
   }> & Struct<{
     author: optional<String>;
     createdAt: optional<DateTimeUtcFromString>;
     documentCreatedAt: optional<DateTimeUtcFromString>;
     documentModifiedAt: optional<DateTimeUtcFromString>;
     extension: optional<String>;
     filename: optional<String>;
     hash: optional<String>;
     hashAlgorithm: optional<String>;
     keywords: optional<$Array<String>>;
     kind: Literal<"document">;
     mimeType: String;
     modifiedAt: optional<DateTimeUtcFromString>;
     pageCount: optional<Number>;
     size: Number;
     subject: optional<String>;
     title: optional<String>;
   }>, StandardSchemaV1<{
     createdAt?: string;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     kind: "binary";
     mimeType: string;
     modifiedAt?: string;
     size: number;
   }, {
     createdAt?: Utc;
     extension?: string;
     filename?: string;
     hash?: string;
     hashAlgorithm?: string;
     kind: "binary";
     mimeType: string;
     modifiedAt?: Utc;
     size: number;
   }> & Struct<{
     createdAt: optional<DateTimeUtcFromString>;
     extension: optional<String>;
     filename: optional<String>;
     hash: optional<String>;
     hashAlgorithm: optional<String>;
     kind: Literal<"binary">;
     mimeType: String;
     modifiedAt: optional<DateTimeUtcFromString>;
     size: Number;
  }>]>;
}>;

Metadata wrapper with asset key.

Released under the MIT License.