Skip to content
5 min read · 919 words

Class: MediaChain

Defined in: src/batteries/media/builder.ts:55

The chainable builder. Immutable — every verb returns a new instance sharing the executor. Thenable — await runs the chain and resolves to the terminal step's natural type.

Implements

  • PromiseLike<unknown>

Constructors

Constructor

ts
new MediaChain(exec: ChainExecutor, ops?: MediaOp[]): MediaChain;

Defined in: src/batteries/media/builder.ts:59

Parameters

ParameterTypeDefault value
execChainExecutorundefined
opsMediaOp[][]

Returns

MediaChain

Accessors

audio

Get Signature

ts
get audio(): AudioNamespace;

Defined in: src/batteries/media/builder.ts:197

Audio operations.

Returns

AudioNamespace


image

Get Signature

ts
get image(): ImageNamespace;

Defined in: src/batteries/media/builder.ts:192

Image transforms.

Returns

ImageNamespace


sheet

Get Signature

ts
get sheet(): SheetNamespace;

Defined in: src/batteries/media/builder.ts:182

Spreadsheet mutations.

Returns

SheetNamespace


slides

Get Signature

ts
get slides(): SlidesNamespace;

Defined in: src/batteries/media/builder.ts:187

Presentation mutations.

Returns

SlidesNamespace

Methods

applyPatch()

ts
applyPatch(patch: string, options?: {
  with?: MediaChainRef[];
}): MediaChain;

Defined in: src/batteries/media/builder.ts:133

Apply a unified-diff patch.

Parameters

ParameterType
patchstring
options{ with?: MediaChainRef[]; }
options.with?MediaChainRef[]

Returns

MediaChain


chunk()

ts
chunk(options?: {
  overlap?: number;
  size?: number;
  strategy?: "sentence" | "paragraph" | "fixed";
}): MediaChain;

Defined in: src/batteries/media/builder.ts:169

Chunk extracted text. Terminal: resolves to a chunk array.

Parameters

ParameterType
options{ overlap?: number; size?: number; strategy?: "sentence" | "paragraph" | "fixed"; }
options.overlap?number
options.size?number
options.strategy?"sentence" | "paragraph" | "fixed"

Returns

MediaChain


convert()

ts
convert(to: string): MediaChain;

Defined in: src/batteries/media/builder.ts:71

Convert to another format (requires a convert engine).

Parameters

ParameterType
tostring

Returns

MediaChain


diff()

ts
diff(other: MediaChainRef): MediaChain;

Defined in: src/batteries/media/builder.ts:128

Compare against another media. Terminal: resolves to a structured diff.

Parameters

ParameterType
otherMediaChainRef

Returns

MediaChain


extractAssets()

ts
extractAssets(options?: {
  types?: ("all" | "image" | "font" | "attachment")[];
}): MediaChain;

Defined in: src/batteries/media/builder.ts:160

Extract embedded assets. Terminal: resolves to a media list.

Parameters

ParameterType
options{ types?: ("all" | "image" | "font" | "attachment")[]; }
options.types?("all" | "image" | "font" | "attachment")[]

Returns

MediaChain


extractMetadata()

ts
extractMetadata(): MediaChain;

Defined in: src/batteries/media/builder.ts:155

Extract metadata. Terminal: resolves to a metadata object.

Returns

MediaChain


extractText()

ts
extractText(options?: {
  lang?: string[];
  ocr?: "off" | "auto" | "force";
  ocrOut?: "json" | "txt" | "hocr";
}): MediaChain;

Defined in: src/batteries/media/builder.ts:140

Extract text (routes by format; OCR engine used when needed). Terminal: resolves to text.

Parameters

ParameterType
options{ lang?: string[]; ocr?: "off" | "auto" | "force"; ocrOut?: "json" | "txt" | "hocr"; }
options.lang?string[]
options.ocr?"off" | "auto" | "force"
options.ocrOut?"json" | "txt" | "hocr"

Returns

MediaChain


merge()

ts
merge(...others: MediaChainRef[]): MediaChain;

Defined in: src/batteries/media/builder.ts:89

Merge other media into this one, in order.

Parameters

ParameterType
...othersMediaChainRef[]

Returns

MediaChain


normalize()

ts
normalize(): MediaChain;

Defined in: src/batteries/media/builder.ts:118

Normalize structure/encoding.

Returns

MediaChain


redact()

ts
redact(options: {
  match: string | RegExp | (string | RegExp)[];
  replace?: string;
}): MediaChain;

Defined in: src/batteries/media/builder.ts:99

Redact matching text (literals or RegExp).

Parameters

ParameterType
options{ match: string | RegExp | (string | RegExp)[]; replace?: string; }
options.matchstring | RegExp | (string | RegExp)[]
options.replace?string

Returns

MediaChain


reorder()

ts
reorder(order: number[]): MediaChain;

Defined in: src/batteries/media/builder.ts:94

Reorder pages by 1-based index.

Parameters

ParameterType
ordernumber[]

Returns

MediaChain


run()

ts
run(): Promise<StepResult>;

Defined in: src/batteries/media/builder.ts:228

Execute and return the raw PlanResult (no unwrapping).

Returns

Promise<StepResult>


sanitize()

ts
sanitize(): MediaChain;

Defined in: src/batteries/media/builder.ts:113

Remove potentially unsafe embedded content.

Returns

MediaChain


select()

ts
select(options: {
  pages: number[];
}): MediaChain;

Defined in: src/batteries/media/builder.ts:76

Keep only the listed 1-based pages.

Parameters

ParameterType
options{ pages: number[]; }
options.pagesnumber[]

Returns

MediaChain


split()

ts
split(options?: {
  by?: "page" | "section";
  ranges?: number[][];
}): MediaChain;

Defined in: src/batteries/media/builder.ts:81

Split by page (optionally grouped [[start,end], …]). Terminal: resolves to media list.

Parameters

ParameterType
options{ by?: "page" | "section"; ranges?: number[][]; }
options.by?"page" | "section"
options.ranges?number[][]

Returns

MediaChain


then()

ts
then<TResult1, TResult2>(onfulfilled?:
  | ((value: unknown) => TResult1 | PromiseLike<TResult1>)
  | null, onrejected?:
  | ((reason: unknown) => TResult2 | PromiseLike<TResult2>)
| null): PromiseLike<TResult1 | TResult2>;

Defined in: src/batteries/media/builder.ts:220

Thenable: awaiting the chain executes it.

Type Parameters

Type ParameterDefault type
TResult1unknown
TResult2never

Parameters

ParameterType
onfulfilled?| ((value: unknown) => TResult1 | PromiseLike<TResult1>) | null
onrejected?| ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null

Returns

PromiseLike<TResult1 | TResult2>

Implementation of

ts
PromiseLike.then;

toOps()

ts
toOps(): MediaOp[];

Defined in: src/batteries/media/builder.ts:204

The accumulated ops (a copy).

Returns

MediaOp[]


toPipe()

ts
toPipe(): string;

Defined in: src/batteries/media/builder.ts:209

The canonical pipe form of the accumulated chain.

Returns

string


updateText()

ts
updateText(anchor: string, replace: string): MediaChain;

Defined in: src/batteries/media/builder.ts:123

Replace the first occurrence of anchor text.

Parameters

ParameterType
anchorstring
replacestring

Returns

MediaChain


withOp()

ts
withOp(verb: string, args: Record<string, MediaArgValue>): MediaChain;

Defined in: src/batteries/media/builder.ts:215

Internal — used by namespaces to append.

Parameters

ParameterType
verbstring
argsRecord<string, MediaArgValue>

Returns

MediaChain