alinea 2.0.0-preview.7 → 2.0.0-preview.9
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/dist/.init/content/pages/welcome.json +1 -1
- package/dist/LICENSES.md +103 -103
- package/dist/adapter/next/cms.d.ts +18 -4
- package/dist/adapter/next/cms.js +141 -36
- package/dist/adapter/next/handler.d.ts +5 -1
- package/dist/adapter/next/handler.js +77 -17
- package/dist/adapter/next/node.d.ts +5 -0
- package/dist/adapter/next/node.js +16 -0
- package/dist/adapter/next/previews.d.ts +4 -1
- package/dist/adapter/next/previews.js +13 -1
- package/dist/adapter/next/renderStats.d.ts +45 -0
- package/dist/adapter/next/renderStats.js +142 -0
- package/dist/adapter/next/syncCheck.d.ts +8 -2
- package/dist/adapter/next/syncCheck.js +5 -11
- package/dist/adapter/next/with-alinea.js +6 -20
- package/dist/backend/HandleAction.d.ts +1 -1
- package/dist/backend/HandleAction.js +1 -1
- package/dist/backend/Handler.d.ts +2 -2
- package/dist/backend/Handler.js +45 -47
- package/dist/backend/api/CreateBackend.js +15 -3
- package/dist/backend/api/DatabaseApi.js +22 -135
- package/dist/backend/api/ProxyMedia.d.ts +2 -3
- package/dist/backend/api/ProxyMedia.js +7 -22
- package/dist/backend/api/database.js +15 -3
- package/dist/backend/resolver/ParsePreview.d.ts +2 -2
- package/dist/backend/router/NodeHandler.js +2 -0
- package/dist/backend/store/GeneratedDatabase.d.ts +8 -0
- package/dist/backend/store/GeneratedDatabase.js +33 -0
- package/dist/backend/store/GeneratedDatabaseNode.d.ts +4 -0
- package/dist/backend/store/GeneratedDatabaseNode.js +35 -0
- package/dist/backend/util/ORM.js +4 -2
- package/dist/bundled.d.ts +1565 -468
- package/dist/chunks/bun-sqlite-5SHXN3AT.js +18 -0
- package/dist/chunks/chunk-2BJ2IFQM.js +1085 -0
- package/dist/chunks/chunk-2PIFHEYR.js +364 -0
- package/dist/chunks/chunk-66YZ47TY.js +94 -0
- package/dist/chunks/chunk-76VMZTLN.js +55 -0
- package/dist/chunks/chunk-AIU6CMVT.js +495 -0
- package/dist/chunks/chunk-ASYKC6IE.js +103 -0
- package/dist/chunks/chunk-ATF42T2B.js +35 -0
- package/dist/chunks/{chunk-6P4UVRPH.js → chunk-DWR5A5KL.js} +6 -1
- package/dist/chunks/{chunk-NWQXN4SB.js → chunk-ETBQTP2S.js} +40 -29
- package/dist/chunks/chunk-ETWOY4AL.js +100 -0
- package/dist/chunks/chunk-K62JP6HR.js +22 -0
- package/dist/chunks/chunk-MOWR65LM.js +610 -0
- package/dist/chunks/chunk-N47Y62CI.js +396 -0
- package/dist/chunks/chunk-QBPYWU6C.js +24 -0
- package/dist/chunks/{chunk-X47OVDF3.js → chunk-QJGGYF6E.js} +356 -1000
- package/dist/chunks/chunk-QSN6RH6X.js +94 -0
- package/dist/chunks/{chunk-I4GC3E65.js → chunk-UPY2RUZF.js} +0 -1
- package/dist/chunks/chunk-XCZXR3C2.js +112 -0
- package/dist/chunks/chunk-XTWYBWP2.js +81 -0
- package/dist/chunks/node-sqlite-XVNTNMCY.js +18 -0
- package/dist/cli/Generate.js +74 -64
- package/dist/cli/Serve.js +1 -1
- package/dist/cli/bin.js +6 -1
- package/dist/cli/generate/CopyStaticFiles.js +17 -14
- package/dist/cli/generate/DevDB.d.ts +22 -5
- package/dist/cli/generate/DevDB.js +138 -24
- package/dist/cli/serve/CreateLocalServer.js +22 -4
- package/dist/cli/serve/DevServer.d.ts +2 -0
- package/dist/cli/serve/DevServer.js +7 -2
- package/dist/cli/serve/LiveReload.d.ts +1 -1
- package/dist/cli/serve/LiveReload.js +3 -0
- package/dist/cloud/CloudRemote.js +2 -1
- package/dist/components/Breadcrumbs.js +2 -2
- package/dist/components/Calendar.js +7 -7
- package/dist/components/Checkbox.js +1 -1
- package/dist/components/ColorSwatchPicker.js +2 -2
- package/dist/components/ComboBox.js +14 -14
- package/dist/components/DateField.js +1 -1
- package/dist/components/DatePicker.js +6 -6
- package/dist/components/DateRangePicker.js +4 -4
- package/dist/components/Disclosure.js +8 -8
- package/dist/components/Label.js +6 -6
- package/dist/components/List.js +33 -33
- package/dist/components/Menu.js +2 -2
- package/dist/components/Modal.js +2 -2
- package/dist/components/MultipleSelect.js +23 -23
- package/dist/components/NumberField.js +6 -6
- package/dist/components/ProgressCircle.js +3 -3
- package/dist/components/SearchField.js +8 -8
- package/dist/components/Select.js +8 -8
- package/dist/components/Surface.js +3 -3
- package/dist/components/Switch.js +2 -2
- package/dist/components/Table.js +7 -7
- package/dist/components/Tabs.js +2 -2
- package/dist/components/TagGroup.js +2 -2
- package/dist/components/TextField.js +2 -2
- package/dist/components/TimeField.js +3 -3
- package/dist/components/Toolbar.js +2 -2
- package/dist/components/Tooltip.js +4 -4
- package/dist/components/Tree.d.ts +2 -1
- package/dist/components/Tree.js +6 -6
- package/dist/core/Client.d.ts +1 -4
- package/dist/core/Client.js +5 -7
- package/dist/core/Connection.d.ts +4 -1
- package/dist/core/Connection.js +3 -1
- package/dist/core/Document.js +15 -3
- package/dist/core/Entry.d.ts +3 -0
- package/dist/core/Entry.js +4 -0
- package/dist/core/EntrySeed.d.ts +19 -0
- package/dist/core/EntrySeed.js +136 -0
- package/dist/core/Field.d.ts +7 -0
- package/dist/core/Field.js +4 -0
- package/dist/core/Filter.d.ts +40 -2
- package/dist/core/Filter.js +145 -0
- package/dist/core/Graph.d.ts +9 -0
- package/dist/core/ListRow.d.ts +1 -0
- package/dist/core/ListRow.js +1 -0
- package/dist/core/Reference.d.ts +1 -0
- package/dist/core/Root.js +1 -1
- package/dist/core/Scope.d.ts +2 -0
- package/dist/core/Scope.js +16 -1
- package/dist/core/Type.d.ts +2 -1
- package/dist/core/Type.js +13 -1
- package/dist/core/db/EntryAliases.js +1 -11
- package/dist/core/db/EntryReference.d.ts +0 -6
- package/dist/core/db/IndexEvent.d.ts +2 -1
- package/dist/core/db/IndexEvent.js +11 -3
- package/dist/core/db/LinkResolver.d.ts +6 -6
- package/dist/core/db/LinkResolver.js +0 -52
- package/dist/core/db/LocalStore.d.ts +27 -0
- package/dist/core/field/ListField.js +19 -0
- package/dist/core/field/RecordField.js +8 -0
- package/dist/core/field/RichTextField.js +42 -0
- package/dist/core/field/UnionField.js +8 -0
- package/dist/core/source/FSSource.d.ts +14 -2
- package/dist/core/source/FSSource.js +58 -13
- package/dist/core/source/GitUtils.d.ts +4 -0
- package/dist/core/source/GitUtils.js +9 -10
- package/dist/core/source/GithubSource.js +60 -21
- package/dist/core/source/IndexedDBSource.d.ts +2 -1
- package/dist/core/source/IndexedDBSource.js +67 -53
- package/dist/core/source/MemorySource.js +5 -3
- package/dist/core/source/OverlaySource.d.ts +5 -2
- package/dist/core/source/OverlaySource.js +31 -3
- package/dist/core/source/Source.d.ts +3 -0
- package/dist/core/source/Source.js +15 -2
- package/dist/core/source/Tree.d.ts +10 -7
- package/dist/core/source/Tree.js +118 -70
- package/dist/core/source/Utils.js +6 -3
- package/dist/core/util/Arrays.d.ts +1 -0
- package/dist/core/util/Arrays.js +10 -0
- package/dist/core/util/Async.d.ts +7 -0
- package/dist/core/util/Async.js +15 -0
- package/dist/core/util/Checks.js +1 -1
- package/dist/core/util/EntryFilenames.d.ts +22 -1
- package/dist/core/util/EntryFilenames.js +56 -2
- package/dist/core/util/IndexedDB.d.ts +4 -0
- package/dist/core/util/IndexedDB.js +20 -0
- package/dist/core/util/Paths.js +5 -1
- package/dist/dashboard/App.js +3 -3
- package/dist/dashboard/ViewKeys.d.ts +1 -0
- package/dist/dashboard/ViewKeys.js +1 -0
- package/dist/dashboard/app/AccessDenied.js +2 -2
- package/dist/dashboard/app/ActivityStatus.js +14 -14
- package/dist/dashboard/app/AppShell.js +2 -2
- package/dist/dashboard/app/AuthView.js +12 -12
- package/dist/dashboard/app/CompactField.js +11 -11
- package/dist/dashboard/app/DashboardErrorBoundary.js +6 -6
- package/dist/dashboard/app/DashboardLayout.js +3 -3
- package/dist/dashboard/app/EntryHeader.js +8 -8
- package/dist/dashboard/app/EntryReferences.js +8 -8
- package/dist/dashboard/app/EntrySidebar.js +15 -15
- package/dist/dashboard/app/EntrySidebarPreview.js +7 -7
- package/dist/dashboard/app/EntryTranslationBanner.js +5 -5
- package/dist/dashboard/app/Explorer.js +39 -39
- package/dist/dashboard/app/ExplorerCards.js +31 -31
- package/dist/dashboard/app/ExplorerFileCard.js +19 -19
- package/dist/dashboard/app/ExplorerList.js +10 -10
- package/dist/dashboard/app/ExplorerModal.js +5 -5
- package/dist/dashboard/app/ExplorerTable.js +47 -47
- package/dist/dashboard/app/LinkPicker.js +5 -5
- package/dist/dashboard/app/LocaleMenu.js +4 -4
- package/dist/dashboard/app/SidebarTree.js +76 -40
- package/dist/dashboard/app/WorkspaceMenu.js +9 -9
- package/dist/dashboard/app/WorkspaceRoots.js +22 -22
- package/dist/dashboard/app/editor/FileEditor.js +28 -28
- package/dist/dashboard/app/editor/FilePreview.js +6 -6
- package/dist/dashboard/app/modals/CreateEntry.js +3 -3
- package/dist/dashboard/app/pages/EntryPage.js +18 -18
- package/dist/dashboard/app/pages/RootPage.js +3 -3
- package/dist/dashboard/app/pages/SplashPage.js +45 -45
- package/dist/dashboard/app/pages/UsersPage.js +34 -34
- package/dist/dashboard/app/ui/DashboardModal.js +18 -18
- package/dist/dashboard/app/ui/Rail.js +5 -5
- package/dist/dashboard/app/ui/Sidebar.js +2 -2
- package/dist/dashboard/atoms/config.d.ts +4 -4
- package/dist/dashboard/atoms/entry.d.ts +8 -9
- package/dist/dashboard/atoms/entry.js +34 -4
- package/dist/dashboard/atoms/explorer.d.ts +2 -0
- package/dist/dashboard/atoms/explorer.js +7 -2
- package/dist/dashboard/boot/Boot.js +2 -3
- package/dist/dashboard/boot/DashboardWorker.d.ts +3 -3
- package/dist/dashboard/boot/DashboardWorker.js +82 -27
- package/dist/dashboard/boot/LoadWorker.js +2 -3
- package/dist/dashboard/boot/WorkerDB.d.ts +2 -2
- package/dist/dashboard/icons.d.ts +2 -0
- package/dist/dashboard/icons.js +40 -0
- package/dist/dashboard/plugins/alineaFixturePlugin.js +14 -3
- package/dist/database/BrowserEntryStore.d.ts +42 -0
- package/dist/database/BrowserEntryStore.js +182 -0
- package/dist/database/DatabaseSource.d.ts +13 -0
- package/dist/database/DatabaseSource.js +25 -0
- package/dist/database/DatabaseTables.d.ts +38 -0
- package/dist/database/DatabaseTables.js +53 -0
- package/dist/database/EntryDatabase.d.ts +97 -0
- package/dist/database/EntryDatabase.js +528 -0
- package/dist/database/EntryStore.d.ts +58 -0
- package/dist/database/EntryStore.js +230 -0
- package/dist/database/EntryTransaction.d.ts +33 -0
- package/dist/database/EntryTransaction.js +907 -0
- package/dist/database/EntryUrlAliases.d.ts +2 -0
- package/dist/database/EntryUrlAliases.js +69 -0
- package/dist/database/LocalDB.d.ts +39 -0
- package/dist/database/LocalDB.js +79 -0
- package/dist/database/Version.d.ts +9 -0
- package/dist/database/Version.js +13 -0
- package/dist/database/driver/DatabaseHandle.d.ts +17 -0
- package/dist/database/driver/DatabaseHandle.js +0 -0
- package/dist/database/driver/OverlayExtension.browser.d.ts +2 -0
- package/dist/database/driver/OverlayExtension.browser.js +9 -0
- package/dist/database/driver/OverlayExtension.d.ts +1 -0
- package/dist/database/driver/OverlayExtension.js +7 -0
- package/dist/database/driver/RuntimeDatabase.d.ts +13 -0
- package/dist/database/driver/RuntimeDatabase.js +77 -0
- package/dist/database/driver/WasmDatabase.d.ts +29 -0
- package/dist/database/driver/WasmDatabase.js +46 -0
- package/dist/database/entry/EntryData.d.ts +13 -0
- package/dist/database/entry/EntryData.js +51 -0
- package/dist/database/entry/EntryTable.d.ts +189 -0
- package/dist/database/entry/EntryTable.js +186 -0
- package/dist/database/query/Condition.d.ts +8 -0
- package/dist/database/query/Condition.js +117 -0
- package/dist/database/query/EntryQuery.d.ts +44 -0
- package/dist/database/query/EntryQuery.js +412 -0
- package/dist/database/query/EntryReferences.d.ts +5 -0
- package/dist/database/query/EntryReferences.js +70 -0
- package/dist/database/query/Relation.d.ts +11 -0
- package/dist/database/query/Relation.js +113 -0
- package/dist/database/query/ResolveQuery.d.ts +12 -0
- package/dist/database/query/ResolveQuery.js +189 -0
- package/dist/database/query/Search.d.ts +38 -0
- package/dist/database/query/Search.js +149 -0
- package/dist/database/sync/Derive.d.ts +8 -0
- package/dist/database/sync/Derive.js +270 -0
- package/dist/database/sync/EntryParser.d.ts +8 -0
- package/dist/database/sync/EntryParser.js +90 -0
- package/dist/database/sync/EntrySyncer.d.ts +25 -0
- package/dist/database/sync/EntrySyncer.js +89 -0
- package/dist/database/sync/Ingest.d.ts +21 -0
- package/dist/database/sync/Ingest.js +145 -0
- package/dist/database/sync/SyncQueries.d.ts +160 -0
- package/dist/database/sync/SyncQueries.js +216 -0
- package/dist/field/check/CheckField.view.js +2 -2
- package/dist/field/code/CodeField.view.js +10 -10
- package/dist/field/link/LinkField.js +23 -0
- package/dist/field/link/LinkField.view.js +42 -41
- package/dist/field/list/ListField.view.js +172 -150
- package/dist/field/metadata/MetadataField.d.ts +28 -3
- package/dist/field/metadata/MetadataField.js +44 -7
- package/dist/field/metadata/MetadataField.view.d.ts +5 -0
- package/dist/field/metadata/MetadataField.view.js +31 -16
- package/dist/field/richtext/RichTextDocument.js +4 -3
- package/dist/field/richtext/RichTextExtensions.d.ts +1 -1
- package/dist/field/richtext/RichTextExtensions.js +33 -29
- package/dist/field/richtext/RichTextField.view.js +17 -8
- package/dist/field/richtext/RichTextInsertMenu.js +2 -2
- package/dist/field/views.js +2 -0
- package/dist/next.cjs +6 -20
- package/dist/next.d.ts +4 -3
- package/dist/next.edge.d.ts +1 -1
- package/dist/next.js +1 -2
- package/dist/picker/entry/EntryPicker.js +2 -1
- package/dist/picker/url/UrlPicker.js +1 -0
- package/dist/preview/widget.d.ts +45 -0
- package/dist/preview/widget.js +96 -1
- package/dist/query.d.ts +28 -0
- package/package.json +6 -1
- package/dist/adapter/next/DevRemote.d.ts +0 -3
- package/dist/adapter/next/DevRemote.js +0 -45
- package/dist/backend/store/GeneratedSource.d.ts +0 -2
- package/dist/backend/store/GeneratedSource.js +0 -21
- package/dist/chunks/chunk-G6E35DMJ.js +0 -1997
- package/dist/core/db/EntryDB.d.ts +0 -19
- package/dist/core/db/EntryDB.js +0 -48
- package/dist/core/db/EntryIndex.d.ts +0 -143
- package/dist/core/db/EntryIndex.js +0 -2773
- package/dist/core/db/EntryReferenceIndex.d.ts +0 -21
- package/dist/core/db/EntryReferenceIndex.js +0 -131
- package/dist/core/db/EntryResolver.d.ts +0 -56
- package/dist/core/db/EntryResolver.js +0 -699
- package/dist/core/db/EntryTarget.d.ts +0 -5
- package/dist/core/db/EntryTransaction.d.ts +0 -31
- package/dist/core/db/EntryTransaction.js +0 -956
- package/dist/core/db/LocalDB.d.ts +0 -42
- package/dist/core/db/LocalDB.js +0 -127
- package/dist/core/db/TestDB.d.ts +0 -19
- package/dist/core/db/TestDB.js +0 -50
- /package/dist/core/db/{EntryTarget.js → LocalStore.js} +0 -0
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { Config } from 'alinea/core/Config';
|
|
2
|
-
import type { EntryCondition } from 'alinea/core/db/EntryIndex';
|
|
3
|
-
import { type EntryReference, type EntryReferenceQuery, type EntryReferenceResult, type EntryReferenceScan } from 'alinea/core/db/EntryReference';
|
|
4
|
-
import type { Entry } from 'alinea/core/Entry';
|
|
5
|
-
export interface EntryReferenceGraph {
|
|
6
|
-
config: Config;
|
|
7
|
-
filter(filter: EntryCondition): Iterable<Entry>;
|
|
8
|
-
}
|
|
9
|
-
export interface EntryReferenceBuildOptions {
|
|
10
|
-
onProgress?: (scan: EntryReferenceScan) => void;
|
|
11
|
-
}
|
|
12
|
-
export declare class EntryReferenceIndex {
|
|
13
|
-
#private;
|
|
14
|
-
static build(graph: EntryReferenceGraph, options?: EntryReferenceBuildOptions): Promise<EntryReferenceIndex>;
|
|
15
|
-
constructor(config: Config);
|
|
16
|
-
referencesTo(query: EntryReferenceQuery): EntryReferenceResult;
|
|
17
|
-
referencesFrom(sourceId: string): Array<EntryReference>;
|
|
18
|
-
replaceEntry(entry: Entry): Set<string>;
|
|
19
|
-
removeFile(filePath: string): Set<string>;
|
|
20
|
-
replaceFile(filePath: string, references: Array<EntryReference>): Set<string>;
|
|
21
|
-
}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import "../../chunks/chunk-CQ52GEHY.js";
|
|
2
|
-
|
|
3
|
-
// src/core/db/EntryReferenceIndex.ts
|
|
4
|
-
import { Type } from "alinea/core/Type";
|
|
5
|
-
var EntryReferenceIndex = class _EntryReferenceIndex {
|
|
6
|
-
#config;
|
|
7
|
-
#refsByFilePath = /* @__PURE__ */ new Map();
|
|
8
|
-
#refsBySourceId = /* @__PURE__ */ new Map();
|
|
9
|
-
#refsByTargetId = /* @__PURE__ */ new Map();
|
|
10
|
-
#indexedFilePaths = /* @__PURE__ */ new Set();
|
|
11
|
-
static async build(graph, options = {}) {
|
|
12
|
-
const index = new _EntryReferenceIndex(graph.config);
|
|
13
|
-
const entries = Array.from(graph.filter({}));
|
|
14
|
-
let scanned = 0;
|
|
15
|
-
options.onProgress?.({
|
|
16
|
-
scanned,
|
|
17
|
-
total: entries.length,
|
|
18
|
-
complete: entries.length === 0
|
|
19
|
-
});
|
|
20
|
-
for (const entry of entries) {
|
|
21
|
-
index.replaceEntry(entry);
|
|
22
|
-
scanned += 1;
|
|
23
|
-
options.onProgress?.({
|
|
24
|
-
scanned,
|
|
25
|
-
total: entries.length,
|
|
26
|
-
complete: scanned === entries.length
|
|
27
|
-
});
|
|
28
|
-
if (scanned % 100 === 0) await Promise.resolve();
|
|
29
|
-
}
|
|
30
|
-
return index;
|
|
31
|
-
}
|
|
32
|
-
constructor(config) {
|
|
33
|
-
this.#config = config;
|
|
34
|
-
}
|
|
35
|
-
referencesTo(query) {
|
|
36
|
-
const all = this.#refsByTargetId.get(query.targetId) ?? [];
|
|
37
|
-
const filtered = all.filter((ref) => matchesReferenceQuery(ref, query));
|
|
38
|
-
return {
|
|
39
|
-
references: filtered,
|
|
40
|
-
total: filtered.length,
|
|
41
|
-
scan: {
|
|
42
|
-
scanned: this.#indexedFilePaths.size,
|
|
43
|
-
total: this.#indexedFilePaths.size,
|
|
44
|
-
complete: true
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
referencesFrom(sourceId) {
|
|
49
|
-
return [...this.#refsBySourceId.get(sourceId) ?? []];
|
|
50
|
-
}
|
|
51
|
-
replaceEntry(entry) {
|
|
52
|
-
this.#indexedFilePaths.add(entry.filePath);
|
|
53
|
-
return this.replaceFile(
|
|
54
|
-
entry.filePath,
|
|
55
|
-
entryReferences(this.#config, entry)
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
removeFile(filePath) {
|
|
59
|
-
this.#indexedFilePaths.delete(filePath);
|
|
60
|
-
return this.replaceFile(filePath, []);
|
|
61
|
-
}
|
|
62
|
-
replaceFile(filePath, references) {
|
|
63
|
-
const affected = /* @__PURE__ */ new Set();
|
|
64
|
-
const previous = this.#refsByFilePath.get(filePath) ?? [];
|
|
65
|
-
for (const reference of previous) {
|
|
66
|
-
affected.add(reference.targetId);
|
|
67
|
-
removeReference(this.#refsBySourceId, reference.sourceId, reference);
|
|
68
|
-
removeReference(this.#refsByTargetId, reference.targetId, reference);
|
|
69
|
-
}
|
|
70
|
-
if (references.length > 0) this.#refsByFilePath.set(filePath, references);
|
|
71
|
-
else this.#refsByFilePath.delete(filePath);
|
|
72
|
-
for (const reference of references) {
|
|
73
|
-
affected.add(reference.targetId);
|
|
74
|
-
addReference(this.#refsBySourceId, reference.sourceId, reference);
|
|
75
|
-
addReference(this.#refsByTargetId, reference.targetId, reference);
|
|
76
|
-
}
|
|
77
|
-
return affected;
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
function entryReferences(config, entry) {
|
|
81
|
-
const type = config.schema[entry.type];
|
|
82
|
-
if (!type) return [];
|
|
83
|
-
return Type.references(type, entry.data).map((target) => {
|
|
84
|
-
return entryReference(entry, target);
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
function entryReference(entry, target) {
|
|
88
|
-
return {
|
|
89
|
-
...target,
|
|
90
|
-
sourceId: entry.id,
|
|
91
|
-
sourceFilePath: entry.filePath,
|
|
92
|
-
sourceType: entry.type,
|
|
93
|
-
sourceLocale: entry.locale,
|
|
94
|
-
sourceStatus: entry.status,
|
|
95
|
-
sourceActive: entry.active,
|
|
96
|
-
sourceMain: entry.main
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
function addReference(map, key, reference) {
|
|
100
|
-
const references = map.get(key);
|
|
101
|
-
if (references) references.push(reference);
|
|
102
|
-
else map.set(key, [reference]);
|
|
103
|
-
}
|
|
104
|
-
function removeReference(map, key, reference) {
|
|
105
|
-
const current = map.get(key);
|
|
106
|
-
if (!current) return;
|
|
107
|
-
const next = current.filter((item) => item !== reference);
|
|
108
|
-
if (next.length > 0) map.set(key, next);
|
|
109
|
-
else map.delete(key);
|
|
110
|
-
}
|
|
111
|
-
function matchesReferenceQuery(reference, query) {
|
|
112
|
-
if (query.locale !== void 0 && reference.sourceLocale !== query.locale)
|
|
113
|
-
return false;
|
|
114
|
-
switch (query.status ?? "published") {
|
|
115
|
-
case "published":
|
|
116
|
-
return reference.sourceStatus === "published";
|
|
117
|
-
case "draft":
|
|
118
|
-
return reference.sourceStatus === "draft";
|
|
119
|
-
case "archived":
|
|
120
|
-
return reference.sourceStatus === "archived";
|
|
121
|
-
case "preferDraft":
|
|
122
|
-
return reference.sourceActive;
|
|
123
|
-
case "preferPublished":
|
|
124
|
-
return reference.sourceMain;
|
|
125
|
-
case "all":
|
|
126
|
-
return true;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
export {
|
|
130
|
-
EntryReferenceIndex
|
|
131
|
-
};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import type { Config } from 'alinea/core/Config';
|
|
2
|
-
import { Entry as EntryExprs, type Entry } from 'alinea/core/Entry';
|
|
3
|
-
import type { Expr } from 'alinea/core/Expr';
|
|
4
|
-
import { Field } from 'alinea/core/Field';
|
|
5
|
-
import type { Filter } from 'alinea/core/Filter';
|
|
6
|
-
import { type AnyQueryResult, type Edge, type EdgeQuery, type GraphQuery, type Projection, type Status } from 'alinea/core/Graph';
|
|
7
|
-
import { type HasExpr } from 'alinea/core/Internal';
|
|
8
|
-
import type { Resolver } from 'alinea/core/Resolver';
|
|
9
|
-
import type { Type } from 'alinea';
|
|
10
|
-
import { type EntryCondition, type EntryFilter, type EntryGraph, type EntryIndex } from './EntryIndex.js';
|
|
11
|
-
import { LinkResolver } from './LinkResolver.js';
|
|
12
|
-
type Interim = any;
|
|
13
|
-
export interface PostContext {
|
|
14
|
-
linkResolver: LinkResolver;
|
|
15
|
-
}
|
|
16
|
-
export declare class EntryResolver implements Resolver {
|
|
17
|
-
#private;
|
|
18
|
-
config: Config;
|
|
19
|
-
index: EntryIndex;
|
|
20
|
-
constructor(config: Config, index: EntryIndex);
|
|
21
|
-
call(ctx: ResolveContext, entry: Entry, internal: {
|
|
22
|
-
method: string;
|
|
23
|
-
args: Array<Expr>;
|
|
24
|
-
}): unknown;
|
|
25
|
-
field(entry: Entry, field: Expr): unknown;
|
|
26
|
-
expr(ctx: ResolveContext, entry: Entry, expr: Expr): unknown;
|
|
27
|
-
projectTypes(types: Array<Type>): Array<[string, Expr]>;
|
|
28
|
-
projection(query: GraphQuery<Projection>): Projection;
|
|
29
|
-
sourceFilter(ctx: ResolveContext, entry: Entry, query: EdgeQuery): EntryCondition;
|
|
30
|
-
selectProjection(ctx: ResolveContext, entry: Entry, value: Projection): unknown;
|
|
31
|
-
select(ctx: ResolveContext, entry: Entry | null, query: GraphQuery<Projection>): unknown;
|
|
32
|
-
condition(ctx: ResolveContext, query: EdgeQuery): EntryFilter;
|
|
33
|
-
isSingleResult(query: GraphQuery & Partial<Edge>): boolean;
|
|
34
|
-
query(ctx: ResolveContext, query: GraphQuery<Projection>, preFilter?: EntryCondition): {
|
|
35
|
-
entries: EntryExprs<Record<string, unknown>>[];
|
|
36
|
-
getUnprocessed: () => unknown;
|
|
37
|
-
getProcessed: () => Promise<any>;
|
|
38
|
-
};
|
|
39
|
-
postField(ctx: PostContext, interim: Interim, field: Field): Promise<unknown>;
|
|
40
|
-
postExpr(ctx: PostContext, interim: Interim, expr: HasExpr): Promise<unknown>;
|
|
41
|
-
postRow(ctx: PostContext, interim: Interim, query: GraphQuery<Projection>): Promise<unknown>;
|
|
42
|
-
post(ctx: PostContext, interim: Interim, input: EdgeQuery<Projection>): Promise<unknown>;
|
|
43
|
-
resolve<Query extends GraphQuery>(query: Query): Promise<AnyQueryResult<Query>>;
|
|
44
|
-
}
|
|
45
|
-
export interface ResolveContext {
|
|
46
|
-
status: Status;
|
|
47
|
-
locale?: string | null;
|
|
48
|
-
graph: EntryGraph;
|
|
49
|
-
searchTerms?: string;
|
|
50
|
-
}
|
|
51
|
-
export declare function statusChecker(status: Status): Check;
|
|
52
|
-
interface Check {
|
|
53
|
-
(input: Entry): boolean;
|
|
54
|
-
}
|
|
55
|
-
export declare function filterChecker(filter: Filter, getField?: (input: any, name: string) => any): Check;
|
|
56
|
-
export {};
|