Skip to content

Documentation / @geoverse/editor-core / MemoryHistoryStore

Class: MemoryHistoryStore

Defined in: packages/editor-core/src/history/index.ts:178

内存版历史存储(Mock,对照 PostGIS feature_history + 写触发器)。 record() 即触发器:封上一版 valid_to、追加新版本全量快照。读侧实现 HistoryStore。 仅用于联调 / 测试 / 示例。

Implements

Constructors

Constructor

ts
new MemoryHistoryStore(): MemoryHistoryStore;

Returns

MemoryHistoryStore

Methods

asOf()

ts
asOf(time): Promise<EditableFeature[]>;

Defined in: packages/editor-core/src/history/index.ts:251

时点整层状态:每要素取 validFrom<=time<validTo(或 validTo 空)的版本,剔除 remove。

Parameters

time

number

Returns

Promise<EditableFeature[]>

Implementation of

HistoryStore.asOf


createSnapshot()

ts
createSnapshot(input): Promise<DatasetSnapshot>;

Defined in: packages/editor-core/src/history/index.ts:273

打标:默认硬快照——固化打标时刻各要素的有效版本号(对照 snapshot_feature)。 hard:false 则只记 takenAt(软快照,恢复走 asOf、会随裁剪失真)。

Parameters

input

CreateSnapshotInput

Returns

Promise<DatasetSnapshot>

Implementation of

SnapshotStore.createSnapshot


diff()

ts
diff(
   featureId, 
   from, 
to): Promise<VersionDiff>;

Defined in: packages/editor-core/src/history/index.ts:224

两版本差异(几何 + 属性字段级)。

Parameters

featureId

string

from

number

to

number

Returns

Promise<VersionDiff>

Implementation of

HistoryStore.diff


getSnapshot()

ts
getSnapshot(id): Promise<DatasetSnapshot | undefined>;

Defined in: packages/editor-core/src/history/index.ts:306

Parameters

id

string

Returns

Promise<DatasetSnapshot | undefined>

Implementation of

SnapshotStore.getSnapshot


getSnapshotFeatures()

ts
getSnapshotFeatures(id): Promise<EditableFeature[]>;

Defined in: packages/editor-core/src/history/index.ts:312

快照时点要素集:硬快照按固化版本号逐一取,软快照退化为 asOf(takenAt);均剔除 remove。

Parameters

id

string

Returns

Promise<EditableFeature[]>

Implementation of

SnapshotStore.getSnapshotFeatures


getVersion()

ts
getVersion(featureId, version): Promise<FeatureVersion | undefined>;

Defined in: packages/editor-core/src/history/index.ts:214

指定版本的全量快照。

Parameters

featureId

string

version

number

Returns

Promise<FeatureVersion | undefined>

Implementation of

HistoryStore.getVersion


listSnapshots()

ts
listSnapshots(): Promise<DatasetSnapshot[]>;

Defined in: packages/editor-core/src/history/index.ts:298

全部快照(按 takenAt 升序)。

Returns

Promise<DatasetSnapshot[]>

Implementation of

SnapshotStore.listSnapshots


listVersions()

ts
listVersions(featureId): Promise<FeatureVersion[]>;

Defined in: packages/editor-core/src/history/index.ts:207

某要素的全部版本(按 version 升序)。

Parameters

featureId

string

Returns

Promise<FeatureVersion[]>

Implementation of

HistoryStore.listVersions


prune()

ts
prune(before): number;

Defined in: packages/editor-core/src/history/index.ts:336

保留期裁剪(模拟归档 / retention):删除 validTo <= before 的已封口历史行。 硬化保证:被任一硬快照 entries 引用的 (featureId, version) 受保护、永不裁剪, 故硬快照恢复稳定;当前开口版本(validTo 空)亦永不删。返回实际删除的行数。

Parameters

before

number

Returns

number


record()

ts
record(
   feature, 
   op, 
   meta?): void;

Defined in: packages/editor-core/src/history/index.ts:187

记录一次写(= DB 触发器):封上一版 validTo、追加全量快照。 version 取 feature.version(缺省回退为上一版 +1)。

Parameters

feature

EditableFeature

op

HistoryOp

meta?

RecordMeta = {}

Returns

void