Function: changeSetElementInAncestryOf()

changeSetElementInAncestryOf(target, options?): (eb) => ExpressionWrapper<LixDatabaseSchema, "change_set_element", SqlBool>

Filters elements that are in the ancestry of the given change set(s).

Parameters

target

A target change set object (or its id), or an array of such objects/ids.

Pick<{ id: LixGenerated<string>; metadata?: null | Record<string, any>; }, "id"> | Pick<{ id: LixGenerated<string>; metadata?: null | Record<string, any>; }, "id">[]

options?

Optional options object (e.g., depth limit)

depth?

number

Returns

A Kysely ExpressionBuilder function for filtering.

(eb): ExpressionWrapper<LixDatabaseSchema, "change_set_element", SqlBool>

Parameters

eb

ExpressionBuilder<LixDatabaseSchema, "change_set_element">

Returns

ExpressionWrapper<LixDatabaseSchema, "change_set_element", SqlBool>

Example

// Elements from the history of cs2 (object)
db.selectFrom("change_set_element")
  .where(changeSetElementInAncestryOf(cs2))
  .selectAll()

// Elements from the history of cs2 (id)
db.selectFrom("change_set_element")
  .where(changeSetElementInAncestryOf(cs2.id))
  .selectAll()

// Elements from the combined history of cs2 and cs4 (divergent branches)
db.selectFrom("change_set_element")
  .where(changeSetElementInAncestryOf([cs2, cs4]))
  .selectAll()