← All packages

API reference

@searsuite/sear-plugin-sort

Sheet range sorting commands and stable sparse row permutation helpers.

10 exportsderived from source

enumSheetSortDirectionsource ↗
enum SheetSortDirection
enum memberAscending
Ascending: "ascending"
enum memberDescending
Descending: "descending"
classSheetSortErrorsource ↗
class SheetSortError extends SearError

Base class for errors intentionally exposed by SearSuite packages.

Packages may throw this generic form while they do not need a more specific public error type. Domain-specific subclasses override code.

constructorconstructor
SheetSortError(message: string, details: Record<string, unknown>): SheetSortError
message: string
details: Record<string, unknown>
propertycode
readonly code: "SHEET_SORT_INVALID_INPUT"

Stable machine-readable identifier for this error category.

Inherited members 9

Inherited from SearError.

classSheetSortPluginsource ↗
class SheetSortPlugin extends Plugin<unknown, CellProperties, Record<string, never>>

Stateless command owner for stable range sorting.

constructorconstructor
SheetSortPlugin(dependencies: SheetSortDependencies): SheetSortPlugin
dependencies: SheetSortDependencies
propertywarnOnDuplicateDepth
readonly warnOnDuplicateDepth: false

Whether PluginManager should warn when another ordered plugin shares this depth.

propertypluginKeystatic
readonly pluginKey: PluginKey
propertysymbolstatic
readonly symbol: typeof symbol
methodapply
apply(state: Record<string, never>, _transaction: Transaction): Record<string, never>

Applies a transaction to plugin-owned state and returns the next state.

state: Record<string, never>
_transaction: Transaction
methodgetPluginConfig
getPluginConfig(): null

Returns this plugin's runtime configuration view for the current core.

methodregisterCommands
registerCommands(commands: SheetCommandBus): void
commands: SheetCommandBus
methodregisterState
registerState(): { dataEngine: { enabled: boolean }; key: PluginKey; state: Record<string, never> }

Registers one or more plugin-owned state records with the host manager.

methodrender
render(): []

Produces scene nodes owned by this plugin for the current core state.

Inherited members 29

Inherited from Plugin.

interfaceSheetSortDependenciessource ↗
interface SheetSortDependencies
propertycompareText
readonly compareText: (left: string, right: string): number
propertyplatform
readonly platform: Pick<Platform, "toLowerCase">
propertyreadMatrix
readonly readMatrix: (): CSRMatrix<CellMatrixElement>
propertyreadValue
readonly readValue: (row: number, column: number): SheetSortValue
propertyreorders
readonly reorders: SheetRangeReorderRegistry
interfaceSheetSortKeysource ↗
interface SheetSortKey
propertycolumn
readonly column: number
propertydirection
readonly direction: SheetSortDirection
interfaceSheetSortPermutationsource ↗
interface SheetSortPermutation
propertychanged
readonly changed: boolean
propertydestinationOf
readonly destinationOf: (row: number): number
propertyrange
readonly range: SheetMoveRange
interfaceSheetSortRangeInputsource ↗
interface SheetSortRangeInput
propertyfirstRowIsHeader
readonly firstRowIsHeader?: boolean
propertykeys
readonly keys: readonly SheetSortKey[]
propertyrange
readonly range: SheetMoveRange
typeSheetSortValuesource ↗
type SheetSortValue = number | string | boolean | null
variableSortSheetRangeCommandsource ↗
SortSheetRangeCommand: SheetCommandDefinition<SheetSortRangeInput, SheetCommandResult>
functioncreateSheetSortPermutationsource ↗
createSheetSortPermutation(input: SheetSortRangeInput, matrix: CSRMatrix<CellMatrixElement>, readValue: (row: number, column: number): SheetSortValue, platform: Pick<Platform, "toLowerCase">, compareText: (left: string, right: string): number): SheetSortPermutation

Sorts occupied key rows; rows with empty keys remain stable at the end without being materialized.

input: SheetSortRangeInput
matrix: CSRMatrix<CellMatrixElement>
readValue: (row: number, column: number): SheetSortValue
platform: Pick<Platform, "toLowerCase">
compareText: (left: string, right: string): number