daf-graphql-client 0.1.0
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/LICENSE +21 -0
- package/README.md +66 -0
- package/dist/MAT/v1/BygningPaaFremmedGrundFlade/internal.d.ts +50 -0
- package/dist/MAT/v1/BygningPaaFremmedGrundFlade/internal.d.ts.map +1 -0
- package/dist/MAT/v1/BygningPaaFremmedGrundFlade/internal.js +10 -0
- package/dist/MAT/v1/BygningPaaFremmedGrundFlade/internal.js.map +1 -0
- package/dist/MAT/v1/Jordstykke/build.d.ts +7 -0
- package/dist/MAT/v1/Jordstykke/build.d.ts.map +1 -0
- package/dist/MAT/v1/Jordstykke/build.js +9 -0
- package/dist/MAT/v1/Jordstykke/build.js.map +1 -0
- package/dist/MAT/v1/Jordstykke/fetch.d.ts +10 -0
- package/dist/MAT/v1/Jordstykke/fetch.d.ts.map +1 -0
- package/dist/MAT/v1/Jordstykke/fetch.js +22 -0
- package/dist/MAT/v1/Jordstykke/fetch.js.map +1 -0
- package/dist/MAT/v1/Jordstykke/internal.d.ts +99 -0
- package/dist/MAT/v1/Jordstykke/internal.d.ts.map +1 -0
- package/dist/MAT/v1/Jordstykke/internal.js +10 -0
- package/dist/MAT/v1/Jordstykke/internal.js.map +1 -0
- package/dist/MAT/v1/Jordstykke/types.d.ts +85 -0
- package/dist/MAT/v1/Jordstykke/types.d.ts.map +1 -0
- package/dist/MAT/v1/Jordstykke/types.js +78 -0
- package/dist/MAT/v1/Jordstykke/types.js.map +1 -0
- package/dist/MAT/v1/MatrikulaerSag/build.d.ts +7 -0
- package/dist/MAT/v1/MatrikulaerSag/build.d.ts.map +1 -0
- package/dist/MAT/v1/MatrikulaerSag/build.js +9 -0
- package/dist/MAT/v1/MatrikulaerSag/build.js.map +1 -0
- package/dist/MAT/v1/MatrikulaerSag/fetch.d.ts +10 -0
- package/dist/MAT/v1/MatrikulaerSag/fetch.d.ts.map +1 -0
- package/dist/MAT/v1/MatrikulaerSag/fetch.js +23 -0
- package/dist/MAT/v1/MatrikulaerSag/fetch.js.map +1 -0
- package/dist/MAT/v1/MatrikulaerSag/internal.d.ts +61 -0
- package/dist/MAT/v1/MatrikulaerSag/internal.d.ts.map +1 -0
- package/dist/MAT/v1/MatrikulaerSag/internal.js +11 -0
- package/dist/MAT/v1/MatrikulaerSag/internal.js.map +1 -0
- package/dist/MAT/v1/MatrikulaerSag/types.d.ts +23 -0
- package/dist/MAT/v1/MatrikulaerSag/types.d.ts.map +1 -0
- package/dist/MAT/v1/MatrikulaerSag/types.js +20 -0
- package/dist/MAT/v1/MatrikulaerSag/types.js.map +1 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/build.d.ts +7 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/build.d.ts.map +1 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/build.js +9 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/build.js.map +1 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/fetch.d.ts +10 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/fetch.d.ts.map +1 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/fetch.js +18 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/fetch.js.map +1 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/internal.d.ts +16 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/internal.d.ts.map +1 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/internal.js +6 -0
- package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/internal.js.map +1 -0
- package/dist/MAT/v1/SamletFastEjendom/build.d.ts +7 -0
- package/dist/MAT/v1/SamletFastEjendom/build.d.ts.map +1 -0
- package/dist/MAT/v1/SamletFastEjendom/build.js +9 -0
- package/dist/MAT/v1/SamletFastEjendom/build.js.map +1 -0
- package/dist/MAT/v1/SamletFastEjendom/fetch.d.ts +10 -0
- package/dist/MAT/v1/SamletFastEjendom/fetch.d.ts.map +1 -0
- package/dist/MAT/v1/SamletFastEjendom/fetch.js +22 -0
- package/dist/MAT/v1/SamletFastEjendom/fetch.js.map +1 -0
- package/dist/MAT/v1/SamletFastEjendom/internal.d.ts +62 -0
- package/dist/MAT/v1/SamletFastEjendom/internal.d.ts.map +1 -0
- package/dist/MAT/v1/SamletFastEjendom/internal.js +10 -0
- package/dist/MAT/v1/SamletFastEjendom/internal.js.map +1 -0
- package/dist/MAT/v1/SamletFastEjendom/types.d.ts +3 -0
- package/dist/MAT/v1/SamletFastEjendom/types.d.ts.map +1 -0
- package/dist/MAT/v1/SamletFastEjendom/types.js +2 -0
- package/dist/MAT/v1/SamletFastEjendom/types.js.map +1 -0
- package/dist/MAT/v1/internal.d.ts +2 -0
- package/dist/MAT/v1/internal.d.ts.map +1 -0
- package/dist/MAT/v1/internal.js +2 -0
- package/dist/MAT/v1/internal.js.map +1 -0
- package/dist/MAT/v1/types.d.ts +69 -0
- package/dist/MAT/v1/types.d.ts.map +1 -0
- package/dist/MAT/v1/types.js +62 -0
- package/dist/MAT/v1/types.js.map +1 -0
- package/dist/events.d.ts +93 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +120 -0
- package/dist/events.js.map +1 -0
- package/dist/internal/arguments.d.ts +14 -0
- package/dist/internal/arguments.d.ts.map +1 -0
- package/dist/internal/arguments.js +39 -0
- package/dist/internal/arguments.js.map +1 -0
- package/dist/internal/build.d.ts +14 -0
- package/dist/internal/build.d.ts.map +1 -0
- package/dist/internal/build.js +98 -0
- package/dist/internal/build.js.map +1 -0
- package/dist/internal/fetch.d.ts +93 -0
- package/dist/internal/fetch.d.ts.map +1 -0
- package/dist/internal/fetch.js +325 -0
- package/dist/internal/fetch.js.map +1 -0
- package/dist/internal/filters.d.ts +173 -0
- package/dist/internal/filters.d.ts.map +1 -0
- package/dist/internal/filters.js +26 -0
- package/dist/internal/filters.js.map +1 -0
- package/dist/internal/nodes.d.ts +43 -0
- package/dist/internal/nodes.d.ts.map +1 -0
- package/dist/internal/nodes.js +12 -0
- package/dist/internal/nodes.js.map +1 -0
- package/dist/internal/query.d.ts +7 -0
- package/dist/internal/query.d.ts.map +1 -0
- package/dist/internal/query.js +2 -0
- package/dist/internal/query.js.map +1 -0
- package/dist/internal/temporal.d.ts +25 -0
- package/dist/internal/temporal.d.ts.map +1 -0
- package/dist/internal/temporal.js +2 -0
- package/dist/internal/temporal.js.map +1 -0
- package/dist/internal/types.d.ts +48 -0
- package/dist/internal/types.d.ts.map +1 -0
- package/dist/internal/types.js +18 -0
- package/dist/internal/types.js.map +1 -0
- package/dist/internal/utils.d.ts +10 -0
- package/dist/internal/utils.d.ts.map +1 -0
- package/dist/internal/utils.js +14 -0
- package/dist/internal/utils.js.map +1 -0
- package/dist/internal/variables.d.ts +12 -0
- package/dist/internal/variables.d.ts.map +1 -0
- package/dist/internal/variables.js +17 -0
- package/dist/internal/variables.js.map +1 -0
- package/dist/types.d.ts +31 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +16 -0
- package/dist/types.js.map +1 -0
- package/dist/variables.d.ts +57 -0
- package/dist/variables.d.ts.map +1 -0
- package/dist/variables.js +93 -0
- package/dist/variables.js.map +1 -0
- package/package.json +106 -0
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
import { dafDateTimeSendAdapter, optionalDafDateTimeSendAdapter, } from "./arguments.js";
|
|
2
|
+
import { EventType, FetchCompleteEvent, FetchErrorEvent, FetchRetryEvent, FetchStartEvent, } from "../events.js";
|
|
3
|
+
import { findAdapter } from "./utils.js";
|
|
4
|
+
const defaultBaseUrl = "https://graphql.datafordeler.dk";
|
|
5
|
+
const defaultPageSize = 1000;
|
|
6
|
+
const defaultRetries = 2;
|
|
7
|
+
const _requestIdleCallback = "requestIdleCallback" in globalThis
|
|
8
|
+
? globalThis.requestIdleCallback
|
|
9
|
+
: (callback) => globalThis.setTimeout(callback, 0);
|
|
10
|
+
const _cancelIdleCallback = "requestIdleCallback" in globalThis
|
|
11
|
+
? globalThis.cancelIdleCallback
|
|
12
|
+
: globalThis.clearTimeout;
|
|
13
|
+
Symbol.dispose ??= Symbol("Symbol.dispose");
|
|
14
|
+
export class FetchQuery extends EventTarget {
|
|
15
|
+
constructor(baseConfiguration, configuration, query, bitemporality, variables) {
|
|
16
|
+
super();
|
|
17
|
+
this.#baseConfiguration = baseConfiguration;
|
|
18
|
+
this.#maxPageSize = Math.max(configuration.pageSize ?? defaultPageSize, 1);
|
|
19
|
+
this.#maxRetries = Math.max(configuration.retries ?? defaultRetries, 0);
|
|
20
|
+
this.#query = structuredClone(query);
|
|
21
|
+
try {
|
|
22
|
+
this.#url = new URL(this.#baseConfiguration.path, configuration.baseUrl ?? defaultBaseUrl);
|
|
23
|
+
this.#url.searchParams.set("apiKey", configuration.apiKey);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
this[Symbol.dispose]();
|
|
27
|
+
throw new Error(`Failed to generate URL for GraphQL query ${String(this.#baseConfiguration.name)}: ${stringifyError(error)}. This usually happens because the base URL in the configuration object is bad.`, { cause: error });
|
|
28
|
+
}
|
|
29
|
+
const bitemporalModifiers = [];
|
|
30
|
+
if (bitemporality.registreringstid) {
|
|
31
|
+
bitemporalModifiers.push(`registreringstid:${JSON.stringify(optionalDafDateTimeSendAdapter(bitemporality.registreringstid))}`);
|
|
32
|
+
}
|
|
33
|
+
if (bitemporality.virkningstid) {
|
|
34
|
+
bitemporalModifiers.push(`virkningstid:${JSON.stringify(dafDateTimeSendAdapter(bitemporality.virkningstid))}`);
|
|
35
|
+
}
|
|
36
|
+
this.#query[1] = `${bitemporalModifiers.join(",")},${this.#query[1]}`;
|
|
37
|
+
try {
|
|
38
|
+
if (variables && Object.values(variables).length > 0) {
|
|
39
|
+
const trueVariables = {};
|
|
40
|
+
for (const [key, value] of Object.entries(variables)) {
|
|
41
|
+
if (this.#query[2][key]) {
|
|
42
|
+
const adapter = findAdapter(this.#baseConfiguration.filterAdapters, this.#query[2][key]);
|
|
43
|
+
trueVariables[key] = JSON.parse(adapter({ eq: value }).slice(4, -1));
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
trueVariables[key] = value;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
this.#url.searchParams.set("variables", JSON.stringify(trueVariables));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
this[Symbol.dispose]();
|
|
54
|
+
throw new Error(`Failed to insert variables for GraphQL query ${String(this.#baseConfiguration.name)}: ${stringifyError(error)}.`, { cause: error });
|
|
55
|
+
}
|
|
56
|
+
if ((configuration.preload ?? 0) > 0) {
|
|
57
|
+
this.getInstances(0, configuration.preload);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
#baseConfiguration;
|
|
61
|
+
#maxPageSize;
|
|
62
|
+
#maxRetries;
|
|
63
|
+
#query;
|
|
64
|
+
#url;
|
|
65
|
+
#instances = [];
|
|
66
|
+
#cursor;
|
|
67
|
+
#fetchFinished = false;
|
|
68
|
+
#orders = [];
|
|
69
|
+
/**
|
|
70
|
+
* Downloader og returnerer alle instanser med indeks mellem `start` og `end`.
|
|
71
|
+
* Funktionen er modelleret efter `slice`, her er nogle eksempler:
|
|
72
|
+
*
|
|
73
|
+
* ```ts
|
|
74
|
+
* const insts = await q.getInstances() // hent alle instanser
|
|
75
|
+
* const insts = await q.getInstances(10) // hent alle instanser bortset fra de første 10
|
|
76
|
+
* const insts = await q.getInstances(0, 100) // hent de første 100 instanser
|
|
77
|
+
* const insts = await q.getInstances(4, 5) // hent instans nr. 4
|
|
78
|
+
* const insts = await q.getInstances(-100) // hent de sidste 100 instanser*
|
|
79
|
+
* const insts = await q.getInstances(0, -10) // hent alle instanser bortset fra de sidste 10*
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* *ADVARSEL: Hvis du bruger negative værdier, skal klienten hente alle instanser ned for at beregne indekset.
|
|
83
|
+
*
|
|
84
|
+
* Læs mere om `slice` her: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
|
|
85
|
+
*/
|
|
86
|
+
getInstances(start = 0, end = Infinity) {
|
|
87
|
+
// Ensure somewhat sane numbers
|
|
88
|
+
if (isNaN(start))
|
|
89
|
+
start = 0;
|
|
90
|
+
if (isNaN(end))
|
|
91
|
+
end = 0;
|
|
92
|
+
start = Math.trunc(start);
|
|
93
|
+
end = Math.trunc(end);
|
|
94
|
+
// Early return for inputs that will always result in an empty array
|
|
95
|
+
if ((((start >= 0 && end >= 0) || (start < 0 && end < 0)) &&
|
|
96
|
+
start >= end) ||
|
|
97
|
+
start === Infinity ||
|
|
98
|
+
end === -Infinity ||
|
|
99
|
+
end === 0) {
|
|
100
|
+
return Promise.resolve([]);
|
|
101
|
+
}
|
|
102
|
+
const orderSize = start < 0 || end < 0 ? Infinity : end;
|
|
103
|
+
return new Promise((resolve, reject) => {
|
|
104
|
+
this.#orders.push([
|
|
105
|
+
orderSize,
|
|
106
|
+
() => resolve(this.#instances.slice(start, end)),
|
|
107
|
+
reject,
|
|
108
|
+
]);
|
|
109
|
+
this.#tick();
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Downloader og returnerer løbende alle instanser med indeks mellem `start` og `end`.
|
|
114
|
+
* Funktionen er modelleret efter `slice`, her er nogle eksempler:
|
|
115
|
+
*
|
|
116
|
+
* ```ts
|
|
117
|
+
* for await (const inst of q.streamInstances()){} // loop over alle instanser
|
|
118
|
+
* for await (const inst of q.streamInstances(10)){} // loop over alle instanser bortset fra de første 10
|
|
119
|
+
* for await (const inst of q.streamInstances(0, 100)){} // loop over de første 100 instanser
|
|
120
|
+
* for await (const inst of q.streamInstances(0, -10)){} // loop over alle instanser bortset fra de sidste 10*
|
|
121
|
+
* ```
|
|
122
|
+
*
|
|
123
|
+
* *ADVARSEL: Hvis du bruger negative værdier, skal klienten hente alle instanser ned for at beregne indekset.
|
|
124
|
+
* Negative startværdier er ikke understøttet, da klienten ikke kan forudsige hvor mange instanser der er i alt.
|
|
125
|
+
*
|
|
126
|
+
* Læs mere om `slice` her: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
|
|
127
|
+
*/
|
|
128
|
+
async *streamInstances(start = 0, end = Infinity) {
|
|
129
|
+
// Ensure somewhat sane numbers
|
|
130
|
+
if (isNaN(start))
|
|
131
|
+
start = 0;
|
|
132
|
+
if (isNaN(end))
|
|
133
|
+
end = 0;
|
|
134
|
+
start = Math.trunc(start);
|
|
135
|
+
end = Math.trunc(end);
|
|
136
|
+
if (start < 0) {
|
|
137
|
+
throw new RangeError("Negative start indexes are not supported when streaming instances");
|
|
138
|
+
}
|
|
139
|
+
let offset = 0;
|
|
140
|
+
if (end < 0) {
|
|
141
|
+
offset = -end;
|
|
142
|
+
end = Infinity;
|
|
143
|
+
}
|
|
144
|
+
else if (end <= start) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
this.#orders.push([end]);
|
|
148
|
+
this.#tick();
|
|
149
|
+
let index = start + offset;
|
|
150
|
+
for (; index < end && index < this.#instances.length; index++) {
|
|
151
|
+
yield this.#instances[index - offset];
|
|
152
|
+
}
|
|
153
|
+
while (index < end && !this.#fetchFinished) {
|
|
154
|
+
await new Promise((resolve) => this.addEventListener(EventType.FetchComplete, resolve, {
|
|
155
|
+
once: true,
|
|
156
|
+
}));
|
|
157
|
+
for (; index < end && index < this.#instances.length; index++) {
|
|
158
|
+
yield this.#instances[index - offset];
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
[Symbol.dispose]() {
|
|
163
|
+
this.#fetchFinished = true;
|
|
164
|
+
this.#orders = [];
|
|
165
|
+
this.#tick();
|
|
166
|
+
}
|
|
167
|
+
#fetchingPages = false;
|
|
168
|
+
#idleCallbackHandle;
|
|
169
|
+
#tick = () => {
|
|
170
|
+
if (this.#fetchFinished) {
|
|
171
|
+
if (this.#idleCallbackHandle !== undefined) {
|
|
172
|
+
_cancelIdleCallback(this.#idleCallbackHandle);
|
|
173
|
+
this.#idleCallbackHandle = undefined;
|
|
174
|
+
}
|
|
175
|
+
this.#fulfillOrders();
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if (!this.#fetchingPages && this.#idleCallbackHandle === undefined) {
|
|
179
|
+
this.#idleCallbackHandle = _requestIdleCallback(this.#fetchPages, {
|
|
180
|
+
timeout: 50,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
#fetchPages = async () => {
|
|
185
|
+
if (this.#idleCallbackHandle !== undefined) {
|
|
186
|
+
_cancelIdleCallback(this.#idleCallbackHandle);
|
|
187
|
+
this.#idleCallbackHandle = undefined;
|
|
188
|
+
}
|
|
189
|
+
if (this.#fetchingPages || this.#fetchFinished)
|
|
190
|
+
return;
|
|
191
|
+
this.#fetchingPages = true;
|
|
192
|
+
let pageSize = 0;
|
|
193
|
+
for (const order of this.#orders) {
|
|
194
|
+
if (order[0] >= this.#maxPageSize) {
|
|
195
|
+
pageSize = this.#maxPageSize;
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
pageSize = Math.max(pageSize, order[0]);
|
|
199
|
+
}
|
|
200
|
+
if (pageSize === 0) {
|
|
201
|
+
this.#fulfillOrders();
|
|
202
|
+
this.#fetchingPages = false;
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
let mods = `first:${pageSize}`;
|
|
206
|
+
if (this.#cursor)
|
|
207
|
+
mods += `,after:"${this.#cursor}"`;
|
|
208
|
+
mods += ",";
|
|
209
|
+
const modifiedQuery = this.#query[0] + mods + this.#query[1];
|
|
210
|
+
//console.log(modifiedQuery);
|
|
211
|
+
const modifiedUrl = new URL(this.#url);
|
|
212
|
+
modifiedUrl.searchParams.set("query", modifiedQuery);
|
|
213
|
+
//console.log(decodeURI(modifiedUrl.href));
|
|
214
|
+
const startIndex = this.#instances.length - 1;
|
|
215
|
+
let fetchSuccesful = false;
|
|
216
|
+
let fetchRetries = 0;
|
|
217
|
+
let fetchError;
|
|
218
|
+
while (!fetchSuccesful && fetchRetries <= this.#maxRetries) {
|
|
219
|
+
try {
|
|
220
|
+
let rawNetworkResponse;
|
|
221
|
+
let rawGraphQLResponse;
|
|
222
|
+
let unexpectedError;
|
|
223
|
+
try {
|
|
224
|
+
const fetchPromise = fetch(modifiedUrl, {
|
|
225
|
+
headers: {
|
|
226
|
+
Accept: "application/graphql-response+json",
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
this.dispatchEvent(new FetchStartEvent(startIndex, startIndex + pageSize, fetchRetries));
|
|
230
|
+
rawNetworkResponse = await fetchPromise;
|
|
231
|
+
rawGraphQLResponse = await rawNetworkResponse.json();
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
unexpectedError = error;
|
|
235
|
+
}
|
|
236
|
+
if (rawGraphQLResponse?.errors) {
|
|
237
|
+
throw this.#generateFetchError(`The server says: ${rawGraphQLResponse.errors.map((error) => error.message).join(" ")}`, modifiedUrl, rawGraphQLResponse.errors);
|
|
238
|
+
}
|
|
239
|
+
if (rawNetworkResponse?.ok === false) {
|
|
240
|
+
throw this.#generateFetchError(`The server responded with HTTP status ${rawNetworkResponse.status} ${rawNetworkResponse.statusText}`, modifiedUrl, rawNetworkResponse);
|
|
241
|
+
}
|
|
242
|
+
if (unexpectedError !== undefined) {
|
|
243
|
+
throw this.#generateFetchError(`Encountered an unexpected error: ${stringifyError(unexpectedError)}`, modifiedUrl, unexpectedError);
|
|
244
|
+
}
|
|
245
|
+
const trueResponse = rawGraphQLResponse?.data?.[this.#baseConfiguration.name];
|
|
246
|
+
if (!trueResponse || !trueResponse.nodes) {
|
|
247
|
+
throw this.#generateFetchError(`The server did not indicate an error, but it did not send any data`, modifiedUrl, rawNetworkResponse);
|
|
248
|
+
}
|
|
249
|
+
if (!trueResponse.pageInfo) {
|
|
250
|
+
throw this.#generateFetchError(`The server did not send paging information`, modifiedUrl, rawNetworkResponse);
|
|
251
|
+
}
|
|
252
|
+
this.#cursor = trueResponse.pageInfo.endCursor;
|
|
253
|
+
for (const trueNode of trueResponse.nodes) {
|
|
254
|
+
const adaptedNode = {};
|
|
255
|
+
for (const [key, value] of Object.entries(trueNode)) {
|
|
256
|
+
const adapter = this.#baseConfiguration.nodeAdapters[key];
|
|
257
|
+
if (adapter === undefined) {
|
|
258
|
+
adaptedNode[key] = value;
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
adaptedNode[key] = adapter(value);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
deepFreeze(adaptedNode);
|
|
265
|
+
this.#instances.push(adaptedNode);
|
|
266
|
+
}
|
|
267
|
+
this.dispatchEvent(new FetchCompleteEvent(startIndex, this.#instances.length, fetchRetries, this.#instances));
|
|
268
|
+
if (!trueResponse.pageInfo.hasNextPage) {
|
|
269
|
+
this.#fetchFinished = true;
|
|
270
|
+
}
|
|
271
|
+
this.#fulfillOrders();
|
|
272
|
+
fetchSuccesful = true;
|
|
273
|
+
}
|
|
274
|
+
catch (_error) {
|
|
275
|
+
const error = _error instanceof Error
|
|
276
|
+
? _error
|
|
277
|
+
: new Error(String(_error), { cause: _error });
|
|
278
|
+
fetchError = error;
|
|
279
|
+
fetchRetries += 1;
|
|
280
|
+
this.dispatchEvent(new FetchRetryEvent(startIndex, startIndex + pageSize, fetchRetries, error));
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
if (fetchError) {
|
|
284
|
+
this.dispatchEvent(new FetchErrorEvent(startIndex, startIndex + pageSize, fetchRetries, fetchError));
|
|
285
|
+
for (const order of this.#orders) {
|
|
286
|
+
order[2]?.(fetchError);
|
|
287
|
+
}
|
|
288
|
+
this[Symbol.dispose]();
|
|
289
|
+
}
|
|
290
|
+
this.#fetchingPages = false;
|
|
291
|
+
this.#tick();
|
|
292
|
+
};
|
|
293
|
+
#generateFetchError(message, url, cause) {
|
|
294
|
+
return new Error(`Failed to fetch GraphQL query ${String(this.#baseConfiguration.name)}: ${message} (url: ${url.origin}${url.pathname}, query: ${url.searchParams.get("query")}, variables: ${url.searchParams.get("variables")}).`, { cause });
|
|
295
|
+
}
|
|
296
|
+
#fulfillOrders() {
|
|
297
|
+
this.#orders = this.#orders.filter((order) => {
|
|
298
|
+
if (this.#fetchFinished || order[0] <= this.#instances.length) {
|
|
299
|
+
order[1]?.();
|
|
300
|
+
return false;
|
|
301
|
+
}
|
|
302
|
+
return true;
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
function deepFreeze(object) {
|
|
307
|
+
Object.freeze(object);
|
|
308
|
+
for (const member of Object.values(object)) {
|
|
309
|
+
if (typeof member === "object" && member !== null) {
|
|
310
|
+
deepFreeze(member);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
function stringifyError(error) {
|
|
315
|
+
if (error instanceof Error) {
|
|
316
|
+
return error.message;
|
|
317
|
+
}
|
|
318
|
+
try {
|
|
319
|
+
return JSON.stringify(error, null, 2);
|
|
320
|
+
}
|
|
321
|
+
catch {
|
|
322
|
+
return String(error);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/internal/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import type { SpatialCoordinateReferenceSystem } from "../types.js";
|
|
2
|
+
import { Variable } from "./variables.js";
|
|
3
|
+
import type { IInstant, IPlainDate, IPlainDateTime, IZonedDateTime } from "./temporal.js";
|
|
4
|
+
import { GraphQLNamedTypes, type AdaptedType, type IntEnumTrueType, type StringTrueType, type TrueType, type TrueTypeTSValue, type AnyTrueType, type ExtractTSValue } from "./types.js";
|
|
5
|
+
import type { CombineMemberValues, MergeObjects } from "./utils.js";
|
|
6
|
+
/**
|
|
7
|
+
* Base definitions
|
|
8
|
+
*/
|
|
9
|
+
type AdapterFilter<T> = {
|
|
10
|
+
[key: string]: T | AdapterFilter<T> | AdapterFilter<T>[];
|
|
11
|
+
};
|
|
12
|
+
export type AdaptedTypeFilter<A extends AdaptedType> = AdapterFilter<A>;
|
|
13
|
+
export type TrueTypeFilter<T extends AnyTrueType> = AdapterFilter<T>;
|
|
14
|
+
export type TypeSendAdapter<A extends AdaptedTypeFilter<AdaptedType>> = (input: A) => string;
|
|
15
|
+
export type AnyTypeSendAdapter = (input: any) => string;
|
|
16
|
+
export type IsTypeSendAdapter<T> = T extends AnyTypeSendAdapter ? true : false;
|
|
17
|
+
export type BaseFilterType = AnyTrueType | AnyTypeSendAdapter;
|
|
18
|
+
export type FiltersDefinition = {
|
|
19
|
+
[key: string]: BaseFilterType | FiltersDefinition | FiltersDefinition[];
|
|
20
|
+
};
|
|
21
|
+
export type DefineFilters<D extends FiltersDefinition> = D;
|
|
22
|
+
/**
|
|
23
|
+
* Definition transformers
|
|
24
|
+
*/
|
|
25
|
+
export type ExtractTrueType<D extends AnyTrueType | TrueTypeFilter<AnyTrueType> | AnyTypeSendAdapter> = D extends AnyTrueType ? D : D extends TrueTypeFilter<infer T> ? T : never;
|
|
26
|
+
export type ExtractTrueTsType<D extends AnyTrueType | AnyTypeSendAdapter> = ExtractTrueType<D> extends TrueType<infer T, GraphQLNamedTypes, AnyTrueType | undefined> ? T : never;
|
|
27
|
+
export type ExtractTrueFilterType<D extends TrueTypeFilter<AnyTrueType>> = D extends TrueTypeFilter<infer T> ? {
|
|
28
|
+
[K in keyof D]: D[K] extends AnyTrueType ? ExtractTrueTsType<D[K]> : D[K] extends (infer F extends AdapterFilter<T>)[] ? ExtractTrueFilterType<F>[] : D[K] extends AdapterFilter<T> ? ExtractTrueFilterType<D[K]> : never;
|
|
29
|
+
} : never;
|
|
30
|
+
export type ExtractTrueNamedType<D extends AnyTrueType | AnyTypeSendAdapter> = ExtractTrueType<D> extends TrueType<TrueTypeTSValue, infer N, AnyTrueType> ? N : never;
|
|
31
|
+
export type ExtractAdaptedType<D extends AnyTrueType | AdaptedTypeFilter<AdaptedType> | AnyTypeSendAdapter> = D extends TrueType<infer A, GraphQLNamedTypes, AnyTrueType | undefined> ? A : D extends AdaptedTypeFilter<infer A> ? A : D extends TypeSendAdapter<infer F> ? ExtractAdaptedType<F> : never;
|
|
32
|
+
type ContainsSendAdapter<D extends AnyTrueType | AnyTypeSendAdapter | FiltersDefinition | FiltersDefinition[]> = D extends AnyTrueType ? false : D extends AnyTypeSendAdapter ? true : D extends (infer F extends FiltersDefinition)[] ? ContainsSendAdapter<F> : D extends FiltersDefinition ? {
|
|
33
|
+
[K in keyof D]: ContainsSendAdapter<D[K]>;
|
|
34
|
+
}[keyof D] extends true ? true : false : never;
|
|
35
|
+
export type FiltersSendAdapters<D extends FiltersDefinition> = {
|
|
36
|
+
[K in keyof D as ContainsSendAdapter<D[K]> extends true ? K : never]: D[K] extends AnyTypeSendAdapter ? D[K] : D[K] extends FiltersDefinition ? FiltersSendAdapters<D[K]> : never;
|
|
37
|
+
};
|
|
38
|
+
export type FiltersInput<F extends BaseFilterType | FiltersDefinition | FiltersDefinition[] | AdaptedTypeFilter<AdaptedType>> = F extends TrueType<infer V extends TrueTypeTSValue, GraphQLNamedTypes, AnyTrueType | undefined> ? V | Variable<F, string, any> : F extends TypeSendAdapter<infer A extends AdaptedTypeFilter<AdaptedType>> ? FiltersInput<A> : F extends (infer V extends BaseFilterType | FiltersDefinition | FiltersDefinition[])[] ? FiltersInput<V>[] : F extends FiltersDefinition ? {
|
|
39
|
+
[K in keyof F]?: FiltersInput<F[K]>;
|
|
40
|
+
} : F extends AdaptedTypeFilter<AdaptedType> ? {
|
|
41
|
+
[K in keyof F]?: F[K];
|
|
42
|
+
} : never;
|
|
43
|
+
export type FiltersInputVariables<I extends FiltersInput<FiltersDefinition | FiltersDefinition[]>> = MergeObjects<CombineMemberValues<{
|
|
44
|
+
[K in keyof I as I[K] extends Variable<AnyTrueType, string, any> | FiltersInput<FiltersDefinition | FiltersDefinition[]> ? K : never]: I[K] extends Variable<infer T, infer N, undefined> ? {
|
|
45
|
+
[P in N]: ExtractTSValue<T>;
|
|
46
|
+
} : I[K] extends Variable<infer T, infer N, any> ? {
|
|
47
|
+
[P in N]?: ExtractTSValue<T>;
|
|
48
|
+
} : I[K] extends FiltersInput<FiltersDefinition | FiltersDefinition[]> ? FiltersInputVariables<I[K]> : never;
|
|
49
|
+
}>>;
|
|
50
|
+
/**
|
|
51
|
+
* Custom definitions
|
|
52
|
+
*/
|
|
53
|
+
export type AndComposable<D extends FiltersDefinition> = D & {
|
|
54
|
+
and?: D[];
|
|
55
|
+
};
|
|
56
|
+
export type AndOrComposable<D extends FiltersDefinition> = D & {
|
|
57
|
+
and?: D[];
|
|
58
|
+
or?: D[];
|
|
59
|
+
};
|
|
60
|
+
type SpatialGeometry = {
|
|
61
|
+
crs: IntEnumTrueType<SpatialCoordinateReferenceSystem>;
|
|
62
|
+
wkt: StringTrueType;
|
|
63
|
+
};
|
|
64
|
+
export type SpatialFilter = AndOrComposable<{
|
|
65
|
+
/**
|
|
66
|
+
* Den angivne geometri skal være inde i, eller ligge på kanten af, instansens geometri.
|
|
67
|
+
*
|
|
68
|
+
* Læs mere: https://postgis.net/docs/ST_Covers.html
|
|
69
|
+
*/
|
|
70
|
+
covers: SpatialGeometry;
|
|
71
|
+
/**
|
|
72
|
+
* Instansens geometri skal være inde i, eller ligge på kanten af, den angivne geometri.
|
|
73
|
+
*
|
|
74
|
+
* Læs mere: https://postgis.net/docs/ST_CoveredBy.html
|
|
75
|
+
*/
|
|
76
|
+
coveredBy: SpatialGeometry;
|
|
77
|
+
/**
|
|
78
|
+
* Den angivne geometri skal være inde i instansens geometri. Den angivne geometri kan ligge delvist på kanten af instansens geometri, men den kan ikke udelukkende ligge på kanten.
|
|
79
|
+
*
|
|
80
|
+
* Læs mere: https://postgis.net/docs/ST_Contains.html
|
|
81
|
+
*/
|
|
82
|
+
contains: SpatialGeometry;
|
|
83
|
+
/**
|
|
84
|
+
* Instansens geometri skal være inde i den angivne geometri. Instansens geometri kan ligge delvist på kanten af den angivne geometri, men den kan ikke udelukkende ligge på kanten.
|
|
85
|
+
*
|
|
86
|
+
* Læs mere: https://postgis.net/docs/ST_Within.html
|
|
87
|
+
*/
|
|
88
|
+
within: SpatialGeometry;
|
|
89
|
+
/**
|
|
90
|
+
* Instansens geometri skal delvist dække den angivne geometri. Begge geometrier skal være af den samme dimension (punkt, linje, polygon).
|
|
91
|
+
*
|
|
92
|
+
* Læs mere: https://postgis.net/docs/ST_Overlaps.html
|
|
93
|
+
*/
|
|
94
|
+
overlaps: SpatialGeometry;
|
|
95
|
+
/**
|
|
96
|
+
* En af geometrierne skal være en linje der krydser hen over den anden geometri, eller bestå af flere punkter hvoraf nogle af punkterne er inde i den anden geometri.
|
|
97
|
+
*
|
|
98
|
+
* Læs mere: https://postgis.net/docs/ST_Crosses.html
|
|
99
|
+
*/
|
|
100
|
+
crosses: SpatialGeometry;
|
|
101
|
+
/**
|
|
102
|
+
* Kanten af instansens geometri skal røre ved den angivne geometri, men uden at dække den.
|
|
103
|
+
*
|
|
104
|
+
* Læs mere: https://postgis.net/docs/ST_Touches.html
|
|
105
|
+
*/
|
|
106
|
+
touches: SpatialGeometry;
|
|
107
|
+
/**
|
|
108
|
+
* Instansens geometri skal have mindst ét punk til fælles med den angivne geometri.
|
|
109
|
+
*
|
|
110
|
+
* Læs mere: https://postgis.net/docs/ST_Intersects.html
|
|
111
|
+
*/
|
|
112
|
+
intersects: SpatialGeometry;
|
|
113
|
+
}>;
|
|
114
|
+
/**
|
|
115
|
+
* https://confluence.sdfi.dk/pages/viewpage.action?pageId=187105434#GraphQLp%C3%A5Datafordeleren-Standardfiltrering
|
|
116
|
+
*/
|
|
117
|
+
type EqualityFilter<T> = {
|
|
118
|
+
/**
|
|
119
|
+
* Lig med (==)
|
|
120
|
+
*/
|
|
121
|
+
eq: T;
|
|
122
|
+
};
|
|
123
|
+
type InequalityFilter<T> = {
|
|
124
|
+
/**
|
|
125
|
+
* Ikke lig med (!=)
|
|
126
|
+
*/
|
|
127
|
+
neq: T;
|
|
128
|
+
};
|
|
129
|
+
type InclusionFilter<T extends TrueType<TrueTypeTSValue, GraphQLNamedTypes, AnyTrueType>> = T extends TrueType<TrueTypeTSValue, GraphQLNamedTypes, infer R extends AnyTrueType> ? {
|
|
130
|
+
/**
|
|
131
|
+
* Lig med en af værdierne i listen
|
|
132
|
+
*/
|
|
133
|
+
in: R;
|
|
134
|
+
} : never;
|
|
135
|
+
type RelationalFilter<T> = EqualityFilter<T> & {
|
|
136
|
+
/**
|
|
137
|
+
* Større end (>)
|
|
138
|
+
*/
|
|
139
|
+
gt: T;
|
|
140
|
+
/**
|
|
141
|
+
* Større end eller lig med (=>)
|
|
142
|
+
*/
|
|
143
|
+
gte: T;
|
|
144
|
+
/**
|
|
145
|
+
* Mindre end (<)
|
|
146
|
+
*/
|
|
147
|
+
lt: T;
|
|
148
|
+
/**
|
|
149
|
+
* Mindre end eller lig med (=<)
|
|
150
|
+
*/
|
|
151
|
+
lte: T;
|
|
152
|
+
};
|
|
153
|
+
export type DafFloatFilter<T extends TrueType<TrueTypeTSValue, GraphQLNamedTypes, AnyTrueType>> = InclusionFilter<T> & RelationalFilter<T>;
|
|
154
|
+
export type DafIntFilter<T extends TrueType<TrueTypeTSValue, GraphQLNamedTypes, AnyTrueType>> = InclusionFilter<T> & RelationalFilter<T>;
|
|
155
|
+
export type DafLongFilter<T extends TrueType<TrueTypeTSValue, GraphQLNamedTypes, AnyTrueType>> = InclusionFilter<T> & RelationalFilter<T>;
|
|
156
|
+
export type DafShortFilter<T extends TrueType<TrueTypeTSValue, GraphQLNamedTypes, AnyTrueType>> = InclusionFilter<T> & RelationalFilter<T>;
|
|
157
|
+
export type DafDateTimeFilter<T> = EqualityFilter<T> & RelationalFilter<T>;
|
|
158
|
+
export type DafLocalDateFilter<T> = EqualityFilter<T> & RelationalFilter<T>;
|
|
159
|
+
export type DafStringFilter<T extends TrueType<TrueTypeTSValue, GraphQLNamedTypes, AnyTrueType>> = EqualityFilter<T> & InclusionFilter<T>;
|
|
160
|
+
export type DafBooleanFilter<T> = EqualityFilter<T> & InequalityFilter<T>;
|
|
161
|
+
/**
|
|
162
|
+
* Custom adapters
|
|
163
|
+
*/
|
|
164
|
+
export type DafDateTimeFilterSendAdapter = TypeSendAdapter<DafDateTimeFilter<IInstant | IPlainDateTime | IZonedDateTime | Date>>;
|
|
165
|
+
export declare const dafDateTimeFilterSendAdapter: DafDateTimeFilterSendAdapter;
|
|
166
|
+
export type DafOptionalDateTimeFilterSendAdapter = TypeSendAdapter<DafDateTimeFilter<IInstant | IPlainDateTime | IZonedDateTime | Date | null>>;
|
|
167
|
+
export declare const optionalDafDateTimeFilterSendAdapter: DafOptionalDateTimeFilterSendAdapter;
|
|
168
|
+
export type DafLocalDateFilterSendAdapter = TypeSendAdapter<DafLocalDateFilter<IPlainDate | Date>>;
|
|
169
|
+
export declare const localDateFilterSendAdapter: DafLocalDateFilterSendAdapter;
|
|
170
|
+
export type DafOptionalLocalDateFilterSendAdapter = TypeSendAdapter<DafLocalDateFilter<IPlainDate | Date | null>>;
|
|
171
|
+
export declare const optionalLocalDateFilterSendAdapter: DafOptionalLocalDateFilterSendAdapter;
|
|
172
|
+
export {};
|
|
173
|
+
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/internal/filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Variable } from "./variables.js";
|
|
2
|
+
import { GraphQLNamedTypes, } from "./types.js";
|
|
3
|
+
import { optionalDafDateTimeSendAdapter, optionalLocalDateSendAdapter, } from "./arguments.js";
|
|
4
|
+
export const dafDateTimeFilterSendAdapter = (filterInput) => optionalDafDateTimeFilterSendAdapter(filterInput);
|
|
5
|
+
export const optionalDafDateTimeFilterSendAdapter = (filterInput) => {
|
|
6
|
+
const entries = [];
|
|
7
|
+
for (const [key, input] of Object.entries(filterInput)) {
|
|
8
|
+
const trueValue = input instanceof Variable
|
|
9
|
+
? `$${input.name}`
|
|
10
|
+
: `${JSON.stringify(optionalDafDateTimeSendAdapter(input))}`;
|
|
11
|
+
entries.push(`${key}:${trueValue}`);
|
|
12
|
+
}
|
|
13
|
+
return `{${entries.join(",")}}`;
|
|
14
|
+
};
|
|
15
|
+
export const localDateFilterSendAdapter = (filterInput) => optionalLocalDateFilterSendAdapter(filterInput);
|
|
16
|
+
export const optionalLocalDateFilterSendAdapter = (filterInput) => {
|
|
17
|
+
const entries = [];
|
|
18
|
+
for (const [key, input] of Object.entries(filterInput)) {
|
|
19
|
+
const trueValue = input instanceof Variable
|
|
20
|
+
? `$${input.name}`
|
|
21
|
+
: `${JSON.stringify(optionalLocalDateSendAdapter(input))}`;
|
|
22
|
+
entries.push(`${key}:${trueValue}`);
|
|
23
|
+
}
|
|
24
|
+
return `{${entries.join(",")}}`;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/internal/filters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO1C,OAAO,EACN,iBAAiB,GAQjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,8BAA8B,EAC9B,4BAA4B,GAC5B,MAAM,gBAAgB,CAAC;AAgTxB,MAAM,CAAC,MAAM,4BAA4B,GAAiC,CACzE,WAAW,EACV,EAAE,CAAC,oCAAoC,CAAC,WAAW,CAAC,CAAC;AAIvD,MAAM,CAAC,MAAM,oCAAoC,GAChD,CAAC,WAAW,EAAE,EAAE;IACf,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,MAAM,SAAS,GACd,KAAK,YAAY,QAAQ;YACxB,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE;YAClB,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACjC,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,0BAA0B,GAAkC,CACxE,WAAW,EACV,EAAE,CAAC,kCAAkC,CAAC,WAAW,CAAC,CAAC;AAIrD,MAAM,CAAC,MAAM,kCAAkC,GAC9C,CAAC,WAAW,EAAE,EAAE;IACf,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,MAAM,SAAS,GACd,KAAK,YAAY,QAAQ;YACxB,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE;YAClB,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACjC,CAAC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Temporal } from "@js-temporal/polyfill";
|
|
2
|
+
import type { AdaptedType, DafDateTimeTrueType, GraphQLNamedTypes, OptionalDafDateTimeTrueType, TrueType, AnyTrueType, LocalDateTrueType, OptionalLocalDateTrueType } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Base definitions
|
|
5
|
+
*/
|
|
6
|
+
export type TypeReceiveAdapter<A extends AdaptedType, T extends AnyTrueType> = (input: ExtractTrueTsType<T>) => A;
|
|
7
|
+
export type AnyTypeReceiveAdapter = (input: any) => AdaptedType;
|
|
8
|
+
type BaseNodeType = AnyTrueType | AnyTypeReceiveAdapter;
|
|
9
|
+
export type NodesDefinition = {
|
|
10
|
+
[K: string]: BaseNodeType | NodesDefinition;
|
|
11
|
+
};
|
|
12
|
+
export type DefineNodes<D extends NodesDefinition> = D;
|
|
13
|
+
/**
|
|
14
|
+
* Definition transformers
|
|
15
|
+
*/
|
|
16
|
+
export type ExtractAdaptedType<D extends AnyTrueType | AnyTypeReceiveAdapter> = D extends TrueType<infer A, GraphQLNamedTypes, AnyTrueType | undefined> ? A : D extends TypeReceiveAdapter<infer A, AnyTrueType> ? A : never;
|
|
17
|
+
export type ExtractTrueType<D extends AnyTrueType | AnyTypeReceiveAdapter> = D extends AnyTrueType ? D : D extends TypeReceiveAdapter<AdaptedType, infer T> ? T : never;
|
|
18
|
+
export type ExtractTrueTsType<D extends AnyTrueType | AnyTypeReceiveAdapter> = ExtractTrueType<D> extends TrueType<infer T, GraphQLNamedTypes, AnyTrueType | undefined> ? T : never;
|
|
19
|
+
type ContainsReceiveAdapter<D extends AnyTrueType | AnyTypeReceiveAdapter | NodesDefinition> = D extends AnyTrueType ? false : D extends AnyTypeReceiveAdapter ? true : D extends NodesDefinition ? {
|
|
20
|
+
[K in keyof D]: ContainsReceiveAdapter<D[K]>;
|
|
21
|
+
}[keyof D] extends true ? true : false : never;
|
|
22
|
+
export type NodesReceiveAdapters<D extends NodesDefinition> = {
|
|
23
|
+
[K in keyof D as ContainsReceiveAdapter<D[K]> extends true ? K : never]: D[K] extends AnyTypeReceiveAdapter ? D[K] : D[K] extends NodesDefinition ? NodesReceiveAdapters<D[K]> : never;
|
|
24
|
+
};
|
|
25
|
+
export type NodesInput<D extends NodesDefinition> = {
|
|
26
|
+
[K in keyof D]?: D[K] extends BaseNodeType ? boolean | undefined : D[K] extends NodesDefinition ? NodesInput<D[K]> : never;
|
|
27
|
+
};
|
|
28
|
+
export type NodesTrueOutput<D extends NodesDefinition, I extends NodesInput<D>> = {
|
|
29
|
+
[K in keyof D as K extends keyof I ? I[K] extends true | NodesInput<any> ? K : never : never]: K extends keyof I ? I[K] extends true ? D[K] extends BaseNodeType ? ExtractTrueTsType<D[K]> : never : D[K] extends NodesDefinition ? I[K] extends NodesInput<D[K]> ? NodesTrueOutput<D[K], I[K]> : never : never : never;
|
|
30
|
+
};
|
|
31
|
+
export type NodesAdaptedOutput<D extends NodesDefinition, I extends NodesInput<D>> = {
|
|
32
|
+
[K in keyof D as K extends keyof I ? I[K] extends true | NodesInput<any> ? K : never : never]: K extends keyof I ? I[K] extends true ? D[K] extends BaseNodeType ? ExtractAdaptedType<D[K]> : never : D[K] extends NodesDefinition ? I[K] extends NodesInput<D[K]> ? NodesAdaptedOutput<D[K], I[K]> : never : never : never;
|
|
33
|
+
};
|
|
34
|
+
export type DafDateTimeReceiveAdapter = TypeReceiveAdapter<InstanceType<typeof Temporal.ZonedDateTime>, DafDateTimeTrueType>;
|
|
35
|
+
export declare const dafDateTimeReceiveAdapter: DafDateTimeReceiveAdapter;
|
|
36
|
+
export type OptionalDafDateTimeReceiveAdapter = TypeReceiveAdapter<InstanceType<typeof Temporal.ZonedDateTime> | null, OptionalDafDateTimeTrueType>;
|
|
37
|
+
export declare const optionalDafDateTimeReceiveAdapter: OptionalDafDateTimeReceiveAdapter;
|
|
38
|
+
export type LocalDateReceiveAdapter = TypeReceiveAdapter<InstanceType<typeof Temporal.PlainDate>, LocalDateTrueType>;
|
|
39
|
+
export declare const localDateReceiveAdapter: LocalDateReceiveAdapter;
|
|
40
|
+
export type OptionalLocalDateReceiveAdapter = TypeReceiveAdapter<InstanceType<typeof Temporal.PlainDate> | null, OptionalLocalDateTrueType>;
|
|
41
|
+
export declare const optionalLocalDateReceiveAdapter: OptionalLocalDateReceiveAdapter;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=nodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/internal/nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { timeZoneDenmark } from "./temporal.js";
|
|
2
|
+
/**
|
|
3
|
+
* Custom adapters
|
|
4
|
+
*/
|
|
5
|
+
const _Temporal = "Temporal" in globalThis
|
|
6
|
+
? globalThis.Temporal
|
|
7
|
+
: (await import("@js-temporal/polyfill")).Temporal;
|
|
8
|
+
export const dafDateTimeReceiveAdapter = (input) => _Temporal.Instant.from(input).toZonedDateTimeISO(timeZoneDenmark);
|
|
9
|
+
export const optionalDafDateTimeReceiveAdapter = (input) => (input === null ? input : dafDateTimeReceiveAdapter(input));
|
|
10
|
+
export const localDateReceiveAdapter = (input) => _Temporal.PlainDate.from(input);
|
|
11
|
+
export const optionalLocalDateReceiveAdapter = (input) => (input === null ? input : localDateReceiveAdapter(input));
|
|
12
|
+
//# sourceMappingURL=nodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/internal/nodes.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAwHhD;;GAEG;AAEH,MAAM,SAAS,GACd,UAAU,IAAI,UAAU;IACvB,CAAC,CAAE,UAAuD,CAAC,QAAQ;IACnE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC;AAMrD,MAAM,CAAC,MAAM,yBAAyB,GAA8B,CAAC,KAAK,EAAE,EAAE,CAC7E,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;AAKnE,MAAM,CAAC,MAAM,iCAAiC,GAC7C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;AAMxE,MAAM,CAAC,MAAM,uBAAuB,GAA4B,CAAC,KAAK,EAAE,EAAE,CACzE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAKjC,MAAM,CAAC,MAAM,+BAA+B,GAC3C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC"}
|