Skip to content

TypeScript API / laikacms/assets / AssetMetadataContentSchema

Variable: AssetMetadataContentSchema ​

ts
const AssetMetadataContentSchema: 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;
}>]>;

Discriminated union of all metadata types.

Use the 'kind' field to narrow the type:

typescript
if (metadata.kind === 'image') {
  console.log(metadata.width, metadata.height);
}

Released under the MIT License.