TheIntroDB Package Docs

Documentation for the theintrodb NPM package

View on GitHub

Functions

createIntroDbClient(options?)

Creates a reusable TIDB client.

Signature

createIntroDbClient(options?: TIDBClientOptions): TIDBClient

Use This When

getMedia(params, transportOptions?)

Fetches timestamps for a movie or TV episode.

Signature

getMedia(
  params: GetMediaParams,
  transportOptions?: TIDBTransportOptions
): Promise<MediaRecord>

Auth

Params

Returns

A normalized MediaRecord.

Raw API Time Shape

The API returns media timestamps in milliseconds using raw snake_case fields:

{
  "start_ms": 30000,
  "end_ms": 90000
}

Special cases:

submitMediaTimestamp(input, transportOptions?)

Submits a single segment timestamp payload.

Signature

submitMediaTimestamp(
  input: SubmitMediaTimestampInput,
  transportOptions?: TIDBTransportOptions
): Promise<SubmissionResponse>

Auth

Input Rules

buildMediaQuery(params)

Builds the query string used for /media.

Signature

buildMediaQuery(params: GetMediaParams): URLSearchParams

Use This When

serializeSubmissionRequest(input)

Validates and converts a high-level submission input into the raw /submit request body.

Signature

serializeSubmissionRequest(
  input: SubmitMediaTimestampInput
): SubmissionRequestPayload

Normalization Rules

parseMediaResponse(body)

Validates raw JSON against the expected /media schema and returns a normalized MediaRecord.

Signature

parseMediaResponse(body: unknown): MediaRecord

What It Normalizes

parseSubmissionResponse(body)

Validates raw JSON against the expected /submit schema and returns a normalized SubmissionResponse.

Signature

parseSubmissionResponse(body: unknown): SubmissionResponse

normalizeSegmentTimestamp(timestamp)

Normalizes a raw segment timestamp into the package’s runtime format.

Signature

normalizeSegmentTimestamp(
  timestamp: SegmentTimestampRaw
): NormalizedSegmentTimestamp

Output Behavior