@hydranium/core 1.0.0-next.187 → 1.0.0-next.188
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/documents/ast-document-manager.d.ts +26 -44
- package/lib/documents/ast-document-manager.d.ts.map +1 -1
- package/lib/documents/ast-document-manager.js +20 -50
- package/lib/documents/ast-document-manager.js.map +1 -1
- package/lib/documents/hydranium-text-documents.d.ts +87 -30
- package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
- package/lib/documents/hydranium-text-documents.js +201 -37
- package/lib/documents/hydranium-text-documents.js.map +1 -1
- package/lib/documents/index.d.ts +2 -0
- package/lib/documents/index.d.ts.map +1 -1
- package/lib/documents/index.js +2 -0
- package/lib/documents/index.js.map +1 -1
- package/lib/documents/model-ledger.d.ts +47 -0
- package/lib/documents/model-ledger.d.ts.map +1 -0
- package/lib/documents/model-ledger.js +30 -0
- package/lib/documents/model-ledger.js.map +1 -0
- package/lib/documents/version-sync-service.d.ts +134 -0
- package/lib/documents/version-sync-service.d.ts.map +1 -0
- package/lib/documents/version-sync-service.js +171 -0
- package/lib/documents/version-sync-service.js.map +1 -0
- package/lib/langium/bootstrap.d.ts.map +1 -1
- package/lib/langium/bootstrap.js +16 -0
- package/lib/langium/bootstrap.js.map +1 -1
- package/lib/langium/document-builder/document-builder.d.ts +31 -25
- package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
- package/lib/langium/document-builder/document-builder.js +43 -39
- package/lib/langium/document-builder/document-builder.js.map +1 -1
- package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
- package/lib/langium/integrity/integrity-service.js +6 -15
- package/lib/langium/integrity/integrity-service.js.map +1 -1
- package/lib/langium/model-service/client-session.d.ts +14 -10
- package/lib/langium/model-service/client-session.d.ts.map +1 -1
- package/lib/langium/model-service/client-session.js +18 -15
- package/lib/langium/model-service/client-session.js.map +1 -1
- package/lib/langium/model-service/model-service.d.ts +91 -41
- package/lib/langium/model-service/model-service.d.ts.map +1 -1
- package/lib/langium/model-service/model-service.js +127 -50
- package/lib/langium/model-service/model-service.js.map +1 -1
- package/lib/langium/module.d.ts +6 -0
- package/lib/langium/module.d.ts.map +1 -1
- package/lib/langium/module.js +5 -1
- package/lib/langium/module.js.map +1 -1
- package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
- package/lib/langium/residency/cst-residency-service.js +10 -1
- package/lib/langium/residency/cst-residency-service.js.map +1 -1
- package/lib/langium/shared-services.d.ts +6 -2
- package/lib/langium/shared-services.d.ts.map +1 -1
- package/lib/langium/shared-services.js.map +1 -1
- package/lib/langium/transfer/transfer-encoder.d.ts +19 -10
- package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
- package/lib/langium/transfer/transfer-encoder.js +8 -7
- package/lib/langium/transfer/transfer-encoder.js.map +1 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +31 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.js +54 -0
- package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
- package/lib/langium/workspace/langium-documents.d.ts +7 -0
- package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
- package/lib/langium/workspace/langium-documents.js +10 -0
- package/lib/langium/workspace/langium-documents.js.map +1 -1
- package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
- package/lib/lsp/hydranium-document-update-handler.js +1 -0
- package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
- package/lib/testing/make-test-services.d.ts +7 -0
- package/lib/testing/make-test-services.d.ts.map +1 -1
- package/lib/testing/make-test-services.js +10 -2
- package/lib/testing/make-test-services.js.map +1 -1
- package/lib/testing/stub-ast-document-manager.d.ts +3 -2
- package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
- package/lib/testing/stub-ast-document-manager.js +7 -1
- package/lib/testing/stub-ast-document-manager.js.map +1 -1
- package/lib/testing/stub-hydranium-text-documents.d.ts +2 -2
- package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -1
- package/lib/testing/stub-hydranium-text-documents.js +6 -1
- package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
- package/package.json +5 -5
- package/src/documents/ast-document-manager.ts +45 -77
- package/src/documents/hydranium-text-documents.ts +225 -46
- package/src/documents/index.ts +2 -0
- package/src/documents/model-ledger.ts +66 -0
- package/src/documents/version-sync-service.ts +267 -0
- package/src/langium/bootstrap.ts +16 -0
- package/src/langium/document-builder/document-builder.ts +76 -37
- package/src/langium/integrity/integrity-service.ts +6 -15
- package/src/langium/model-service/client-session.ts +29 -21
- package/src/langium/model-service/model-service.ts +182 -64
- package/src/langium/module.ts +9 -1
- package/src/langium/residency/cst-residency-service.ts +10 -1
- package/src/langium/shared-services.ts +6 -2
- package/src/langium/transfer/transfer-encoder.ts +25 -18
- package/src/langium/workspace/hydranium-langium-document-factory.ts +83 -0
- package/src/langium/workspace/langium-documents.ts +11 -0
- package/src/lsp/hydranium-document-update-handler.ts +3 -0
- package/src/testing/make-test-services.ts +15 -2
- package/src/testing/stub-ast-document-manager.ts +10 -2
- package/src/testing/stub-hydranium-text-documents.ts +8 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-builder.d.ts","sourceRoot":"","sources":["../../../src/langium/document-builder/document-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,eAAe,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EACJ,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,aAAa,EACb,KAAK,eAAe,EACpB,QAAQ,EAER,
|
|
1
|
+
{"version":3,"file":"document-builder.d.ts","sourceRoot":"","sources":["../../../src/langium/document-builder/document-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
9
|
import { ObservableValue } from '@hydranium/protocol';
|
|
10
|
-
import { DefaultDocumentBuilder, DocumentState, MultiMap, OperationCancelled, UriUtils, interruptAndCheck, isOperationCancelled } from '@hydranium/langium';
|
|
10
|
+
import { DefaultDocumentBuilder, DocumentState, MultiMap, OperationCancelled, URI, UriUtils, interruptAndCheck, isOperationCancelled } from '@hydranium/langium';
|
|
11
11
|
// `Diagnostic` as a VALUE: `renderDiagnostics` needs its `getMessageString`
|
|
12
12
|
// namespace helper to read the `string | MarkupContent` union without
|
|
13
13
|
// restating it.
|
|
@@ -135,6 +135,8 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
135
135
|
buildEndedListeners = new Set();
|
|
136
136
|
/** Set while the lock read {@link checkWaitsOnceDrained} queued has not run. */
|
|
137
137
|
drainCheckQueued = false;
|
|
138
|
+
/** Resolved per call: the sync service reaches this builder. */
|
|
139
|
+
versionSyncService;
|
|
138
140
|
constructor(services, options = {}) {
|
|
139
141
|
super(services);
|
|
140
142
|
this.languageRegistry = services.ServiceRegistry;
|
|
@@ -142,6 +144,7 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
142
144
|
this.clock = services.Clock;
|
|
143
145
|
this.messageRenderer = services.MessageRenderer;
|
|
144
146
|
this.workspaceLock = services.workspace.WorkspaceLock;
|
|
147
|
+
this.versionSyncService = () => services.workspace.VersionSyncService;
|
|
145
148
|
this.tracer = services.Tracer.for(options.logName ?? 'DocumentBuilder').trace('instantiated');
|
|
146
149
|
this.logLevel = options.logLevel ?? 'debug';
|
|
147
150
|
this.loggedPhases = options.loggedPhases ?? DEFAULT_LOGGED_PHASES;
|
|
@@ -228,9 +231,11 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
228
231
|
const id = session.traceId !== undefined ? `#${session.traceId}` : 'untimed';
|
|
229
232
|
return `${id} (${session.trigger}, ${Math.round(performance.now() - session.startMs)}ms in)`;
|
|
230
233
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
+
waitUntil(state, uriOrToken, cancelToken, options = {}) {
|
|
235
|
+
return URI.isUri(uriOrToken)
|
|
236
|
+
? this.awaitDocumentState(state, uriOrToken, cancelToken ?? CancellationToken.None, options)
|
|
237
|
+
: super.waitUntil(state, uriOrToken);
|
|
238
|
+
}
|
|
234
239
|
/**
|
|
235
240
|
* Two edge cases the default Langium implementation rejects on:
|
|
236
241
|
* - Document below target state with no build active (newly-created file):
|
|
@@ -256,7 +261,9 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
256
261
|
* whatever cancelled it may build nothing. Re-queuing stops after
|
|
257
262
|
* {@link MAX_STALLED_REQUEUES} builds that fail to advance the document, so a
|
|
258
263
|
* document the builder will never carry to `state` degrades to a pending wait
|
|
259
|
-
* plus a warning rather than an endless build loop.
|
|
264
|
+
* plus a warning rather than an endless build loop. With `rejectWhenStuck`,
|
|
265
|
+
* the wait rejects instead, both then and once
|
|
266
|
+
* `VersionSyncService.requestRecoveryBuild` gives up a re-queued build.
|
|
260
267
|
*
|
|
261
268
|
* A wait for `Validated` on a document that a validating build skips
|
|
262
269
|
* resolves once that build has indexed its references, without diagnostics:
|
|
@@ -269,7 +276,7 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
269
276
|
* a re-queue: the build waits for that action to end. Await it outside the
|
|
270
277
|
* lock.
|
|
271
278
|
*/
|
|
272
|
-
awaitDocumentState(state, uri, cancelToken) {
|
|
279
|
+
awaitDocumentState(state, uri, cancelToken, { rejectWhenStuck = false } = {}) {
|
|
273
280
|
const document = this.langiumDocuments.getDocument(uri);
|
|
274
281
|
if (!document) {
|
|
275
282
|
return super.awaitDocumentState(state, uri, cancelToken);
|
|
@@ -287,14 +294,23 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
287
294
|
// land while a busy workspace keeps cancelling builds.
|
|
288
295
|
let stalledRequeues = 0;
|
|
289
296
|
let lastRequeueState;
|
|
297
|
+
const giveUp = (reason) => {
|
|
298
|
+
cleanup();
|
|
299
|
+
reject(new Error(`Gave up building ${this.formatUri(uri)} to '${DocumentState[state]}' ` +
|
|
300
|
+
`(at '${DocumentState[document.state]}'): ${reason}`));
|
|
301
|
+
};
|
|
290
302
|
const requeue = (reason) => {
|
|
291
303
|
if (document.state === lastRequeueState) {
|
|
292
304
|
if (++stalledRequeues > MAX_STALLED_REQUEUES) {
|
|
305
|
+
const stalled = `${stalledRequeues} builds did not advance it`;
|
|
306
|
+
if (rejectWhenStuck) {
|
|
307
|
+
giveUp(stalled);
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
293
310
|
this.tracer
|
|
294
311
|
.withUri(uri.toString())
|
|
295
312
|
.warn(`Giving up re-queuing ${this.formatUri(uri)}: stuck at '${DocumentState[document.state]}', needs ` +
|
|
296
|
-
`'${DocumentState[state]}' after ${
|
|
297
|
-
'The wait now depends on its cancellation token.');
|
|
313
|
+
`'${DocumentState[state]}' after ${stalled}. The wait now depends on its cancellation token.`);
|
|
298
314
|
return;
|
|
299
315
|
}
|
|
300
316
|
}
|
|
@@ -302,7 +318,11 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
302
318
|
stalledRequeues = 0;
|
|
303
319
|
lastRequeueState = document.state;
|
|
304
320
|
}
|
|
305
|
-
this.requeueOrphaned(document, state, reason)
|
|
321
|
+
void this.requeueOrphaned(document, state, reason).then(built => {
|
|
322
|
+
if (!built && rejectWhenStuck) {
|
|
323
|
+
giveUp('its recovery build failed');
|
|
324
|
+
}
|
|
325
|
+
});
|
|
306
326
|
};
|
|
307
327
|
const phaseDisposable = this.onDocumentPhase(state, labelPhaseListener((doc) => {
|
|
308
328
|
if (UriUtils.equals(doc.uri, uri)) {
|
|
@@ -347,7 +367,9 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
347
367
|
// advanced this document has already finished, so none of these
|
|
348
368
|
// listeners fires until some other build runs. Re-queue now — the listeners are
|
|
349
369
|
// registered, so the resulting build resolves this wait.
|
|
350
|
-
|
|
370
|
+
// With `rejectWhenStuck`, also a document a failed build left behind:
|
|
371
|
+
// no build ends to re-queue it, so the wait would never give up.
|
|
372
|
+
if (this.isOrphaned(document, state) || (rejectWhenStuck && this.activeSession === undefined)) {
|
|
351
373
|
requeue('quiescent builder');
|
|
352
374
|
}
|
|
353
375
|
});
|
|
@@ -391,39 +413,21 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
391
413
|
return document.state < state && this.currentState >= state;
|
|
392
414
|
}
|
|
393
415
|
/**
|
|
394
|
-
* Schedule a build for a document no in-flight build will advance
|
|
395
|
-
*
|
|
396
|
-
*
|
|
397
|
-
*
|
|
398
|
-
*
|
|
399
|
-
*
|
|
400
|
-
* The build is a {@link scheduleUpdate}, entered from a {@link WorkspaceLock}
|
|
401
|
-
* read. The read waits until no write runs or is queued, so the build neither
|
|
402
|
-
* runs beside a locked one nor cancels the build a re-queue is fired from.
|
|
403
|
-
* Unlocked, it runs beside a locked build that cannot cancel it: both
|
|
404
|
-
* validate the same version and deliver it twice. Taking the write directly,
|
|
405
|
-
* without the read, cancels the running build and skips the rest of its
|
|
406
|
-
* build-phase listeners. The read must not await the write, which queues
|
|
407
|
-
* behind that read. A build scheduled in the gap between the read batch
|
|
408
|
-
* starting and this action running is still queued, so the re-queue merges
|
|
409
|
-
* into it rather than cancelling it.
|
|
410
|
-
*
|
|
411
|
-
* A write that ran while the read waited may have carried the document to
|
|
412
|
-
* `state` already, and a second build would deliver that version again; the
|
|
413
|
-
* read skips the write then.
|
|
416
|
+
* Schedule a build for a document no in-flight build will advance, through
|
|
417
|
+
* `VersionSyncService.requestRecoveryBuild`: from a {@link WorkspaceLock} read, so
|
|
418
|
+
* the build neither runs beside a locked one nor cancels the build a
|
|
419
|
+
* re-queue is fired from, and skipped if a write that ran meanwhile carried
|
|
420
|
+
* the document to `state`. The waiter resolves off the resulting phase
|
|
421
|
+
* notification; the answer only tells it whether the build was given up.
|
|
414
422
|
*/
|
|
415
423
|
requeueOrphaned(document, state, reason) {
|
|
416
424
|
const tracer = this.tracer.withUri(document.uri.toString());
|
|
417
425
|
tracer.info(`Re-queuing orphaned document (at '${DocumentState[document.state]}', needs '${DocumentState[state]}'): ${reason}`);
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
if (!isOperationCancelled(err)) {
|
|
424
|
-
tracer.error(`Re-queue build failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
425
|
-
}
|
|
426
|
-
});
|
|
426
|
+
return this.versionSyncService().requestRecoveryBuild(document.uri, {
|
|
427
|
+
// Skipped on purpose: a waiting caller is answered sooner, at the cost
|
|
428
|
+
// of a possible duplicate build once the debounce fires.
|
|
429
|
+
ignoreDeferred: true,
|
|
430
|
+
stillNeeded: () => document.state < state
|
|
427
431
|
});
|
|
428
432
|
}
|
|
429
433
|
// ============================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-builder.js","sourceRoot":"","sources":["../../../src/langium/document-builder/document-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document-builder.js","sourceRoot":"","sources":["../../../src/langium/document-builder/document-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrity-service.d.ts","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"integrity-service.d.ts","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -299,28 +299,19 @@ export class DefaultIntegrityService {
|
|
|
299
299
|
// during the re-parse saw the text on disk, which in `'editor'` sync mode
|
|
300
300
|
// is the PRE-repair text. Leave the sequence describing that and the next
|
|
301
301
|
// open hashes the repair, finds a mismatch and steps the version again, so
|
|
302
|
-
// every
|
|
303
|
-
//
|
|
304
|
-
// where there is no sequence to advance; an OPEN document answers
|
|
305
|
-
// `undefined` and keeps the store's own version, which is not this
|
|
302
|
+
// every base version taken from this build is stale before it is used.
|
|
303
|
+
// An open document keeps the store's own version, which is not this
|
|
306
304
|
// method's to move.
|
|
307
305
|
//
|
|
308
306
|
// Deliberately NOT gated on cancellation, unlike the entry to this method:
|
|
309
307
|
// `syncCorrections` has already written or staged the repair by now, so a
|
|
310
308
|
// preempted build that skipped this would leave the sequence describing
|
|
311
309
|
// text that is no longer there.
|
|
312
|
-
//
|
|
313
|
-
// Gated on the document being closed, because the fallback restores a
|
|
314
|
-
// number this method captured off whatever object it started with — and
|
|
315
|
-
// for a separately created document that is its own seeded numbering, not
|
|
316
|
-
// the store's. Applying it to the store's document (which the re-parse has
|
|
317
|
-
// by then made `textDocument`) would roll the shared version backwards.
|
|
318
|
-
// The store's own answer for an open document is `undefined` either way.
|
|
319
310
|
if (!this.textDocuments.isOpen(document.textDocument.uri)) {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
}
|
|
311
|
+
// The root describes the repair too; left at the re-parse's number, a
|
|
312
|
+
// syncing read waits for a build nothing requests. The CST is still
|
|
313
|
+
// the unrepaired text, so the repair is reported as the parsed text.
|
|
314
|
+
this.services.shared.workspace.VersionSyncService.modelProduced(document, { text: newText });
|
|
324
315
|
}
|
|
325
316
|
}
|
|
326
317
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrity-service.js","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"integrity-service.js","sourceRoot":"","sources":["../../../src/langium/integrity/integrity-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
-
import { type
|
|
9
|
+
import { type BaseVersion, type MaybeObservableValue, type MaybePromise, ObservableValue, type TextVersion, type Tracer, type TransferElement } from '@hydranium/protocol';
|
|
10
10
|
import { type AstNode } from '@hydranium/langium';
|
|
11
11
|
import { type CancellationToken, type Disposable } from 'vscode-languageserver';
|
|
12
12
|
import { type AstDocument } from '../../documents/ast-document-manager.js';
|
|
@@ -21,11 +21,11 @@ export interface ClientSessionWriteArgs<TTransfer> {
|
|
|
21
21
|
/** The whole structured model root, or its serialised textual form. */
|
|
22
22
|
model: TTransfer | string;
|
|
23
23
|
/**
|
|
24
|
-
* The version the write was authored against, or `'
|
|
24
|
+
* The version the write was authored against, or `'any'` to write
|
|
25
25
|
* unconditionally. Required, so an ungated write is a decision the caller
|
|
26
26
|
* makes rather than a field it forgot.
|
|
27
27
|
*/
|
|
28
|
-
|
|
28
|
+
baseVersion: BaseVersion;
|
|
29
29
|
}
|
|
30
30
|
/** What a session's `updateAll` writes, all or none. */
|
|
31
31
|
export interface ClientSessionUpdateAllArgs<TTransfer> {
|
|
@@ -67,8 +67,12 @@ export interface ClientSession<TAst extends AstNode, TDiagnostic extends AstDiag
|
|
|
67
67
|
* disk on the first `save`. Fails when the file exists, any client has the
|
|
68
68
|
* URI open, or the URI waits out the revert grace, and of two creates of one
|
|
69
69
|
* URI at most one succeeds.
|
|
70
|
+
*
|
|
71
|
+
* Resolves with the version the created document took, which a write based
|
|
72
|
+
* on it names: once this resolves, the store's version may already be
|
|
73
|
+
* another client's write.
|
|
70
74
|
*/
|
|
71
|
-
create(uri: string, text: string): Promise<
|
|
75
|
+
create(uri: string, text: string): Promise<TextVersion>;
|
|
72
76
|
/**
|
|
73
77
|
* Write `args.model` into a document this session has open. Resolves to the
|
|
74
78
|
* rebuilt document once it is validated, in whichever build carried the
|
|
@@ -151,7 +155,7 @@ export declare class DefaultClientSession<TAst extends AstNode, TDiagnostic exte
|
|
|
151
155
|
constructor(services: ServerSharedServices, options: ClientSessionOptions);
|
|
152
156
|
open(uri: string, options?: TOpenOptions): Promise<void>;
|
|
153
157
|
openOptions(uri: string): TOpenOptions | undefined;
|
|
154
|
-
create(uri: string, text: string): Promise<
|
|
158
|
+
create(uri: string, text: string): Promise<TextVersion>;
|
|
155
159
|
update(args: ClientSessionWriteArgs<TTransfer>, cancelToken?: CancellationToken): Promise<AstDocument<TAst, TDiagnostic>>;
|
|
156
160
|
updateAll(args: ClientSessionUpdateAllArgs<TTransfer>, cancelToken?: CancellationToken): Promise<AstDocument<TAst, TDiagnostic>[]>;
|
|
157
161
|
save(args: ClientSessionWriteArgs<TTransfer>, cancelToken?: CancellationToken): Promise<AstDocument<TAst, TDiagnostic>>;
|
|
@@ -163,18 +167,18 @@ export declare class DefaultClientSession<TAst extends AstNode, TDiagnostic exte
|
|
|
163
167
|
/** Throw `DocumentNotOpenError` unless this session has `uri` open. */
|
|
164
168
|
protected assertOpen(uri: string): void;
|
|
165
169
|
/**
|
|
166
|
-
* Throw `ConflictError` when `
|
|
170
|
+
* Throw `ConflictError` when `baseVersion` names a version other than
|
|
167
171
|
* `currentVersion`. A write calls it at the door and again in the
|
|
168
172
|
* synchronous step that applies the text, and has to call it synchronously
|
|
169
173
|
* there: a check separated from the apply by an await lets two writes based
|
|
170
174
|
* on one version both apply.
|
|
171
175
|
*/
|
|
172
|
-
protected
|
|
176
|
+
protected assertBaseVersion(uri: string, baseVersion: BaseVersion, currentVersion: number): void;
|
|
173
177
|
/**
|
|
174
178
|
* Serialise `args.model`, apply it to the store under this session's id,
|
|
175
179
|
* rebuild, and resolve to the rebuilt document.
|
|
176
180
|
*
|
|
177
|
-
* The open check and the `
|
|
181
|
+
* The open check and the `baseVersion` gate run at the door, so a write that
|
|
178
182
|
* cannot land is refused before any adopter serialiser runs, and again in
|
|
179
183
|
* the synchronous step that applies the text: made only before the
|
|
180
184
|
* serialiser's await, a close during it lets the write land on a document
|
|
@@ -188,7 +192,7 @@ export declare class DefaultClientSession<TAst extends AstNode, TDiagnostic exte
|
|
|
188
192
|
protected updateDocument(args: ClientSessionWriteArgs<TTransfer>, cancelToken?: CancellationToken): Promise<AstDocument<TAst, TDiagnostic>>;
|
|
189
193
|
/**
|
|
190
194
|
* Write every document of `args.updates`, all or none: every model is
|
|
191
|
-
* serialised first, then every open check and `
|
|
195
|
+
* serialised first, then every open check and `baseVersion` gate runs and every
|
|
192
196
|
* text is applied in one synchronous step. Checked at the door as well, so
|
|
193
197
|
* a stale set is refused before any adopter serialiser runs.
|
|
194
198
|
*
|
|
@@ -223,7 +227,7 @@ export declare class DefaultClientSession<TAst extends AstNode, TDiagnostic exte
|
|
|
223
227
|
*/
|
|
224
228
|
protected registerOpen(uri: string, options: TOpenOptions | undefined): Promise<void>;
|
|
225
229
|
protected canonicalKey(uri: string): string;
|
|
226
|
-
protected createDocument(uri: string, text: string): Promise<
|
|
230
|
+
protected createDocument(uri: string, text: string): Promise<TextVersion>;
|
|
227
231
|
protected runWithOpen<T>(uri: string, fn: () => MaybePromise<T>): Promise<T>;
|
|
228
232
|
/**
|
|
229
233
|
* Undo an open that completed after the session ended, then fail it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-session.d.ts","sourceRoot":"","sources":["../../../src/langium/model-service/client-session.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,
|
|
1
|
+
{"version":3,"file":"client-session.d.ts","sourceRoot":"","sources":["../../../src/langium/model-service/client-session.ts"],"names":[],"mappings":"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"}
|