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.
Files changed (127) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +66 -0
  3. package/dist/MAT/v1/BygningPaaFremmedGrundFlade/internal.d.ts +50 -0
  4. package/dist/MAT/v1/BygningPaaFremmedGrundFlade/internal.d.ts.map +1 -0
  5. package/dist/MAT/v1/BygningPaaFremmedGrundFlade/internal.js +10 -0
  6. package/dist/MAT/v1/BygningPaaFremmedGrundFlade/internal.js.map +1 -0
  7. package/dist/MAT/v1/Jordstykke/build.d.ts +7 -0
  8. package/dist/MAT/v1/Jordstykke/build.d.ts.map +1 -0
  9. package/dist/MAT/v1/Jordstykke/build.js +9 -0
  10. package/dist/MAT/v1/Jordstykke/build.js.map +1 -0
  11. package/dist/MAT/v1/Jordstykke/fetch.d.ts +10 -0
  12. package/dist/MAT/v1/Jordstykke/fetch.d.ts.map +1 -0
  13. package/dist/MAT/v1/Jordstykke/fetch.js +22 -0
  14. package/dist/MAT/v1/Jordstykke/fetch.js.map +1 -0
  15. package/dist/MAT/v1/Jordstykke/internal.d.ts +99 -0
  16. package/dist/MAT/v1/Jordstykke/internal.d.ts.map +1 -0
  17. package/dist/MAT/v1/Jordstykke/internal.js +10 -0
  18. package/dist/MAT/v1/Jordstykke/internal.js.map +1 -0
  19. package/dist/MAT/v1/Jordstykke/types.d.ts +85 -0
  20. package/dist/MAT/v1/Jordstykke/types.d.ts.map +1 -0
  21. package/dist/MAT/v1/Jordstykke/types.js +78 -0
  22. package/dist/MAT/v1/Jordstykke/types.js.map +1 -0
  23. package/dist/MAT/v1/MatrikulaerSag/build.d.ts +7 -0
  24. package/dist/MAT/v1/MatrikulaerSag/build.d.ts.map +1 -0
  25. package/dist/MAT/v1/MatrikulaerSag/build.js +9 -0
  26. package/dist/MAT/v1/MatrikulaerSag/build.js.map +1 -0
  27. package/dist/MAT/v1/MatrikulaerSag/fetch.d.ts +10 -0
  28. package/dist/MAT/v1/MatrikulaerSag/fetch.d.ts.map +1 -0
  29. package/dist/MAT/v1/MatrikulaerSag/fetch.js +23 -0
  30. package/dist/MAT/v1/MatrikulaerSag/fetch.js.map +1 -0
  31. package/dist/MAT/v1/MatrikulaerSag/internal.d.ts +61 -0
  32. package/dist/MAT/v1/MatrikulaerSag/internal.d.ts.map +1 -0
  33. package/dist/MAT/v1/MatrikulaerSag/internal.js +11 -0
  34. package/dist/MAT/v1/MatrikulaerSag/internal.js.map +1 -0
  35. package/dist/MAT/v1/MatrikulaerSag/types.d.ts +23 -0
  36. package/dist/MAT/v1/MatrikulaerSag/types.d.ts.map +1 -0
  37. package/dist/MAT/v1/MatrikulaerSag/types.js +20 -0
  38. package/dist/MAT/v1/MatrikulaerSag/types.js.map +1 -0
  39. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/build.d.ts +7 -0
  40. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/build.d.ts.map +1 -0
  41. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/build.js +9 -0
  42. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/build.js.map +1 -0
  43. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/fetch.d.ts +10 -0
  44. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/fetch.d.ts.map +1 -0
  45. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/fetch.js +18 -0
  46. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/fetch.js.map +1 -0
  47. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/internal.d.ts +16 -0
  48. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/internal.d.ts.map +1 -0
  49. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/internal.js +6 -0
  50. package/dist/MAT/v1/SAMLETFASTEJENDOM_X_JORDSTYKKE/internal.js.map +1 -0
  51. package/dist/MAT/v1/SamletFastEjendom/build.d.ts +7 -0
  52. package/dist/MAT/v1/SamletFastEjendom/build.d.ts.map +1 -0
  53. package/dist/MAT/v1/SamletFastEjendom/build.js +9 -0
  54. package/dist/MAT/v1/SamletFastEjendom/build.js.map +1 -0
  55. package/dist/MAT/v1/SamletFastEjendom/fetch.d.ts +10 -0
  56. package/dist/MAT/v1/SamletFastEjendom/fetch.d.ts.map +1 -0
  57. package/dist/MAT/v1/SamletFastEjendom/fetch.js +22 -0
  58. package/dist/MAT/v1/SamletFastEjendom/fetch.js.map +1 -0
  59. package/dist/MAT/v1/SamletFastEjendom/internal.d.ts +62 -0
  60. package/dist/MAT/v1/SamletFastEjendom/internal.d.ts.map +1 -0
  61. package/dist/MAT/v1/SamletFastEjendom/internal.js +10 -0
  62. package/dist/MAT/v1/SamletFastEjendom/internal.js.map +1 -0
  63. package/dist/MAT/v1/SamletFastEjendom/types.d.ts +3 -0
  64. package/dist/MAT/v1/SamletFastEjendom/types.d.ts.map +1 -0
  65. package/dist/MAT/v1/SamletFastEjendom/types.js +2 -0
  66. package/dist/MAT/v1/SamletFastEjendom/types.js.map +1 -0
  67. package/dist/MAT/v1/internal.d.ts +2 -0
  68. package/dist/MAT/v1/internal.d.ts.map +1 -0
  69. package/dist/MAT/v1/internal.js +2 -0
  70. package/dist/MAT/v1/internal.js.map +1 -0
  71. package/dist/MAT/v1/types.d.ts +69 -0
  72. package/dist/MAT/v1/types.d.ts.map +1 -0
  73. package/dist/MAT/v1/types.js +62 -0
  74. package/dist/MAT/v1/types.js.map +1 -0
  75. package/dist/events.d.ts +93 -0
  76. package/dist/events.d.ts.map +1 -0
  77. package/dist/events.js +120 -0
  78. package/dist/events.js.map +1 -0
  79. package/dist/internal/arguments.d.ts +14 -0
  80. package/dist/internal/arguments.d.ts.map +1 -0
  81. package/dist/internal/arguments.js +39 -0
  82. package/dist/internal/arguments.js.map +1 -0
  83. package/dist/internal/build.d.ts +14 -0
  84. package/dist/internal/build.d.ts.map +1 -0
  85. package/dist/internal/build.js +98 -0
  86. package/dist/internal/build.js.map +1 -0
  87. package/dist/internal/fetch.d.ts +93 -0
  88. package/dist/internal/fetch.d.ts.map +1 -0
  89. package/dist/internal/fetch.js +325 -0
  90. package/dist/internal/fetch.js.map +1 -0
  91. package/dist/internal/filters.d.ts +173 -0
  92. package/dist/internal/filters.d.ts.map +1 -0
  93. package/dist/internal/filters.js +26 -0
  94. package/dist/internal/filters.js.map +1 -0
  95. package/dist/internal/nodes.d.ts +43 -0
  96. package/dist/internal/nodes.d.ts.map +1 -0
  97. package/dist/internal/nodes.js +12 -0
  98. package/dist/internal/nodes.js.map +1 -0
  99. package/dist/internal/query.d.ts +7 -0
  100. package/dist/internal/query.d.ts.map +1 -0
  101. package/dist/internal/query.js +2 -0
  102. package/dist/internal/query.js.map +1 -0
  103. package/dist/internal/temporal.d.ts +25 -0
  104. package/dist/internal/temporal.d.ts.map +1 -0
  105. package/dist/internal/temporal.js +2 -0
  106. package/dist/internal/temporal.js.map +1 -0
  107. package/dist/internal/types.d.ts +48 -0
  108. package/dist/internal/types.d.ts.map +1 -0
  109. package/dist/internal/types.js +18 -0
  110. package/dist/internal/types.js.map +1 -0
  111. package/dist/internal/utils.d.ts +10 -0
  112. package/dist/internal/utils.d.ts.map +1 -0
  113. package/dist/internal/utils.js +14 -0
  114. package/dist/internal/utils.js.map +1 -0
  115. package/dist/internal/variables.d.ts +12 -0
  116. package/dist/internal/variables.d.ts.map +1 -0
  117. package/dist/internal/variables.js +17 -0
  118. package/dist/internal/variables.js.map +1 -0
  119. package/dist/types.d.ts +31 -0
  120. package/dist/types.d.ts.map +1 -0
  121. package/dist/types.js +16 -0
  122. package/dist/types.js.map +1 -0
  123. package/dist/variables.d.ts +57 -0
  124. package/dist/variables.d.ts.map +1 -0
  125. package/dist/variables.js +93 -0
  126. package/dist/variables.js.map +1 -0
  127. package/package.json +106 -0
@@ -0,0 +1,93 @@
1
+ import type { NodesDefinition, NodesAdaptedOutput, NodesInput } from "./internal/nodes.js";
2
+ import type { AsEnum } from "./internal/utils.js";
3
+ /**
4
+ * Liste af event typer man kan lytte efter.
5
+ */
6
+ export declare const EventType: {
7
+ /**
8
+ * Dette event sendes når klienten har påbegyndt et kald for at hente instanser ned.
9
+ * Det efterfølges altid af et event der sendes når klienten får svar tilbage fra datafordeleren.
10
+ */
11
+ readonly FetchStart: "fetchstart";
12
+ /**
13
+ * Dette event sendes når klienten har modtaget nye instanser fra datafordeleren.
14
+ */
15
+ readonly FetchComplete: "fetchcomplete";
16
+ /**
17
+ * Dette event sendes når klienten har forsøgt at hente nye instanser fra datafordeleren, men har fået en fejl tilbage.
18
+ * Fordi klienten ikke har ramt loftet for retries endnu, er dette ikke en endelig fejl. Den vil forsøge at lave det samme kald igen.
19
+ */
20
+ readonly FetchRetry: "fetchretry";
21
+ /**
22
+ * Dette event sendes når klienten har forsøgt at hente nye instanser fra datafordeleren, men har fået en fejl tilbage.
23
+ * Fordi klienten har ramt loftet for retries, er dette en uoprettelig fejl, og klienten vil ikke være i stand til at returnere de instanser den skulle.
24
+ */
25
+ readonly FetchError: "fetcherror";
26
+ };
27
+ export type EventType = AsEnum<typeof EventType>;
28
+ /**
29
+ * Det grundlæggende event for alle fetch-relaterede events.
30
+ */
31
+ export declare class FetchBaseEvent extends Event {
32
+ #private;
33
+ constructor(type: string, start: number, end: number, retries: number);
34
+ /**
35
+ * Indekset på den første instans der hentes ned.
36
+ */
37
+ get start(): number;
38
+ /**
39
+ * Indekset efter den sidste instans der hentes ned.
40
+ */
41
+ get end(): number;
42
+ /**
43
+ * Antallet af tidligere forsøg på at hente denne liste ned.
44
+ */
45
+ get retries(): number;
46
+ }
47
+ /**
48
+ * Dette event sendes når klienten har påbegyndt et kald for at hente instanser ned.
49
+ * Det efterfølges altid af et event der sendes når klienten får svar tilbage fra datafordeleren.
50
+ */
51
+ export declare class FetchStartEvent extends FetchBaseEvent {
52
+ constructor(start: number, end: number, retries: number);
53
+ }
54
+ /**
55
+ * Dette event sendes når klienten har modtaget nye instanser fra datafordeleren.
56
+ */
57
+ export declare class FetchCompleteEvent<O extends NodesAdaptedOutput<NodesDefinition, NodesInput<NodesDefinition>>> extends FetchBaseEvent {
58
+ #private;
59
+ constructor(start: number, end: number, retries: number, instances: O[]);
60
+ /**
61
+ * Liste over alle instances der er hentet ned. Hvis du kun vil se de nye, kan du hente dem sådan:
62
+ *
63
+ * ```ts
64
+ * const newInstances = event.instances.slice(event.start, event.end);
65
+ * ```
66
+ */
67
+ get instances(): O[];
68
+ }
69
+ /**
70
+ * Dette event sendes når klienten har forsøgt at hente nye instanser fra datafordeleren, men har fået en fejl tilbage.
71
+ * Fordi klienten ikke har ramt loftet for retries endnu, er dette ikke en endelig fejl. Den vil forsøge at lave det samme kald igen.
72
+ */
73
+ export declare class FetchRetryEvent extends FetchBaseEvent {
74
+ #private;
75
+ constructor(start: number, end: number, retries: number, error: Error);
76
+ /**
77
+ * Den fejl som gjorde at klienten må prøve at kalde igen.
78
+ */
79
+ get error(): Error;
80
+ }
81
+ /**
82
+ * Dette event sendes når klienten har forsøgt at hente nye instanser fra datafordeleren, men har fået en fejl tilbage.
83
+ * Fordi klienten har ramt loftet for retries, er dette en uoprettelig fejl, og klienten vil ikke være i stand til at returnere de instanser den skulle.
84
+ */
85
+ export declare class FetchErrorEvent extends FetchBaseEvent {
86
+ #private;
87
+ constructor(start: number, end: number, retries: number, error: Error);
88
+ /**
89
+ * Den underlæggende fejl som fik klienten til at fejle.
90
+ */
91
+ get error(): Error;
92
+ }
93
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,SAAS;IACrB;;;OAGG;;IAEH;;OAEG;;IAEH;;;OAGG;;IAEH;;;OAGG;;CAEM,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,SAAS,CAAC,CAAC;AAEjD;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;;gBAC5B,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMrE;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;CAED;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,cAAc;gBACtC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGvD;AAED;;GAEG;AACH,qBAAa,kBAAkB,CAC9B,CAAC,SAAS,kBAAkB,CAAC,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CACzE,SAAQ,cAAc;;gBACX,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;IAIvE;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,CAAC,EAAE,CAEnB;CAED;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,cAAc;;gBACtC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAIrE;;OAEG;IACH,IAAI,KAAK,IAAI,KAAK,CAEjB;CAED;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,cAAc;;gBACtC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAIrE;;OAEG;IACH,IAAI,KAAK,IAAI,KAAK,CAEjB;CAED"}
package/dist/events.js ADDED
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Liste af event typer man kan lytte efter.
3
+ */
4
+ export const EventType = {
5
+ /**
6
+ * Dette event sendes når klienten har påbegyndt et kald for at hente instanser ned.
7
+ * Det efterfølges altid af et event der sendes når klienten får svar tilbage fra datafordeleren.
8
+ */
9
+ FetchStart: "fetchstart",
10
+ /**
11
+ * Dette event sendes når klienten har modtaget nye instanser fra datafordeleren.
12
+ */
13
+ FetchComplete: "fetchcomplete",
14
+ /**
15
+ * Dette event sendes når klienten har forsøgt at hente nye instanser fra datafordeleren, men har fået en fejl tilbage.
16
+ * Fordi klienten ikke har ramt loftet for retries endnu, er dette ikke en endelig fejl. Den vil forsøge at lave det samme kald igen.
17
+ */
18
+ FetchRetry: "fetchretry",
19
+ /**
20
+ * Dette event sendes når klienten har forsøgt at hente nye instanser fra datafordeleren, men har fået en fejl tilbage.
21
+ * Fordi klienten har ramt loftet for retries, er dette en uoprettelig fejl, og klienten vil ikke være i stand til at returnere de instanser den skulle.
22
+ */
23
+ FetchError: "fetcherror",
24
+ };
25
+ /**
26
+ * Det grundlæggende event for alle fetch-relaterede events.
27
+ */
28
+ export class FetchBaseEvent extends Event {
29
+ constructor(type, start, end, retries) {
30
+ super(type);
31
+ this.#start = start;
32
+ this.#end = end;
33
+ this.#retries = retries;
34
+ }
35
+ /**
36
+ * Indekset på den første instans der hentes ned.
37
+ */
38
+ get start() {
39
+ return this.#start;
40
+ }
41
+ #start;
42
+ /**
43
+ * Indekset efter den sidste instans der hentes ned.
44
+ */
45
+ get end() {
46
+ return this.#end;
47
+ }
48
+ #end;
49
+ /**
50
+ * Antallet af tidligere forsøg på at hente denne liste ned.
51
+ */
52
+ get retries() {
53
+ return this.#retries;
54
+ }
55
+ #retries;
56
+ }
57
+ /**
58
+ * Dette event sendes når klienten har påbegyndt et kald for at hente instanser ned.
59
+ * Det efterfølges altid af et event der sendes når klienten får svar tilbage fra datafordeleren.
60
+ */
61
+ export class FetchStartEvent extends FetchBaseEvent {
62
+ constructor(start, end, retries) {
63
+ super(EventType.FetchStart, start, end, retries);
64
+ }
65
+ }
66
+ /**
67
+ * Dette event sendes når klienten har modtaget nye instanser fra datafordeleren.
68
+ */
69
+ export class FetchCompleteEvent extends FetchBaseEvent {
70
+ constructor(start, end, retries, instances) {
71
+ super(EventType.FetchComplete, start, end, retries);
72
+ this.#instances = instances;
73
+ }
74
+ /**
75
+ * Liste over alle instances der er hentet ned. Hvis du kun vil se de nye, kan du hente dem sådan:
76
+ *
77
+ * ```ts
78
+ * const newInstances = event.instances.slice(event.start, event.end);
79
+ * ```
80
+ */
81
+ get instances() {
82
+ return [...this.#instances];
83
+ }
84
+ #instances;
85
+ }
86
+ /**
87
+ * Dette event sendes når klienten har forsøgt at hente nye instanser fra datafordeleren, men har fået en fejl tilbage.
88
+ * Fordi klienten ikke har ramt loftet for retries endnu, er dette ikke en endelig fejl. Den vil forsøge at lave det samme kald igen.
89
+ */
90
+ export class FetchRetryEvent extends FetchBaseEvent {
91
+ constructor(start, end, retries, error) {
92
+ super(EventType.FetchRetry, start, end, retries);
93
+ this.#error = error;
94
+ }
95
+ /**
96
+ * Den fejl som gjorde at klienten må prøve at kalde igen.
97
+ */
98
+ get error() {
99
+ return this.#error;
100
+ }
101
+ #error;
102
+ }
103
+ /**
104
+ * Dette event sendes når klienten har forsøgt at hente nye instanser fra datafordeleren, men har fået en fejl tilbage.
105
+ * Fordi klienten har ramt loftet for retries, er dette en uoprettelig fejl, og klienten vil ikke være i stand til at returnere de instanser den skulle.
106
+ */
107
+ export class FetchErrorEvent extends FetchBaseEvent {
108
+ constructor(start, end, retries, error) {
109
+ super(EventType.FetchError, start, end, retries);
110
+ this.#error = error;
111
+ }
112
+ /**
113
+ * Den underlæggende fejl som fik klienten til at fejle.
114
+ */
115
+ get error() {
116
+ return this.#error;
117
+ }
118
+ #error;
119
+ }
120
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB;;;OAGG;IACH,UAAU,EAAE,YAAY;IACxB;;OAEG;IACH,aAAa,EAAE,eAAe;IAC9B;;;OAGG;IACH,UAAU,EAAE,YAAY;IACxB;;;OAGG;IACH,UAAU,EAAE,YAAY;CACf,CAAC;AAGX;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACxC,YAAY,IAAY,EAAE,KAAa,EAAE,GAAW,EAAE,OAAe;QACpE,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IACzB,CAAC;IACD;;OAEG;IACH,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IACQ,MAAM,CAAS;IACxB;;OAEG;IACH,IAAI,GAAG;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IACQ,IAAI,CAAS;IACtB;;OAEG;IACH,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IACQ,QAAQ,CAAS;CAC1B;AAED;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAClD,YAAY,KAAa,EAAE,GAAW,EAAE,OAAe;QACtD,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACD;AAED;;GAEG;AACH,MAAM,OAAO,kBAEX,SAAQ,cAAc;IACvB,YAAY,KAAa,EAAE,GAAW,EAAE,OAAe,EAAE,SAAc;QACtE,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,CAAC;IACD;;;;;;OAMG;IACH,IAAI,SAAS;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACQ,UAAU,CAAM;CACzB;AAED;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAClD,YAAY,KAAa,EAAE,GAAW,EAAE,OAAe,EAAE,KAAY;QACpE,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IACD;;OAEG;IACH,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IACQ,MAAM,CAAQ;CACvB;AAED;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAClD,YAAY,KAAa,EAAE,GAAW,EAAE,OAAe,EAAE,KAAY;QACpE,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IACD;;OAEG;IACH,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IACQ,MAAM,CAAQ;CACvB"}
@@ -0,0 +1,14 @@
1
+ import { type IInstant, type IPlainDate, type IPlainDateTime, type IZonedDateTime } from "./temporal.js";
2
+ export type DafDateTimeSendAdapter = (input: IInstant | IPlainDateTime | IZonedDateTime | Date) => string;
3
+ export declare const dafDateTimeSendAdapter: DafDateTimeSendAdapter;
4
+ export type OptionalDafDateTimeSendAdapter = (input: IInstant | IPlainDateTime | IZonedDateTime | Date | null) => string | null;
5
+ export declare const optionalDafDateTimeSendAdapter: OptionalDafDateTimeSendAdapter;
6
+ export type LocalDateSendAdapter = (input: IPlainDate | Date) => string;
7
+ export declare const localDateSendAdapter: LocalDateSendAdapter;
8
+ export type OptionalLocalDateSendAdapter = (input: IPlainDate | Date | null) => string | null;
9
+ export declare const optionalLocalDateSendAdapter: OptionalLocalDateSendAdapter;
10
+ export type BitemporalArguments = {
11
+ virkningstid?: IInstant | IPlainDateTime | IZonedDateTime | Date;
12
+ registreringstid?: IInstant | IPlainDateTime | IZonedDateTime | Date;
13
+ };
14
+ //# sourceMappingURL=arguments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arguments.d.ts","sourceRoot":"","sources":["../../src/internal/arguments.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,sBAAsB,GAAG,CACpC,KAAK,EAAE,QAAQ,GAAG,cAAc,GAAG,cAAc,GAAG,IAAI,KACpD,MAAM,CAAC;AACZ,eAAO,MAAM,sBAAsB,EAAE,sBACW,CAAC;AACjD,MAAM,MAAM,8BAA8B,GAAG,CAC5C,KAAK,EAAE,QAAQ,GAAG,cAAc,GAAG,cAAc,GAAG,IAAI,GAAG,IAAI,KAC3D,MAAM,GAAG,IAAI,CAAC;AACnB,eAAO,MAAM,8BAA8B,EAAE,8BAsB5C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,KAAK,MAAM,CAAC;AACxE,eAAO,MAAM,oBAAoB,EAAE,oBACW,CAAC;AAC/C,MAAM,MAAM,4BAA4B,GAAG,CAC1C,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,KAC3B,MAAM,GAAG,IAAI,CAAC;AACnB,eAAO,MAAM,4BAA4B,EAAE,4BAe1C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,YAAY,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,cAAc,GAAG,IAAI,CAAC;IACjE,gBAAgB,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,cAAc,GAAG,IAAI,CAAC;CACrE,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { timeZoneDenmark, } from "./temporal.js";
2
+ export const dafDateTimeSendAdapter = (input) => optionalDafDateTimeSendAdapter(input);
3
+ export const optionalDafDateTimeSendAdapter = (input) => {
4
+ // TODO: Når Temporal support er bedre, kan dette simplificeres med ZonedDateTime.from()
5
+ // Null support
6
+ if (input === null) {
7
+ return null;
8
+ }
9
+ // Date => ISO String
10
+ if (input instanceof Date) {
11
+ return input.toISOString();
12
+ }
13
+ // PlainDateTime => ZonedDateTime
14
+ if ("toZonedDateTime" in input) {
15
+ input = input.toZonedDateTime(timeZoneDenmark);
16
+ }
17
+ // Instant | ZonedDateTime => ISO String
18
+ return input.toString({
19
+ smallestUnit: "milliseconds",
20
+ calendarName: "never",
21
+ timeZoneName: "never",
22
+ });
23
+ };
24
+ export const localDateSendAdapter = (input) => optionalLocalDateSendAdapter(input);
25
+ export const optionalLocalDateSendAdapter = (input) => {
26
+ // TODO: Når Temporal support er bedre, kan dette simplificeres med PlainDate.from()
27
+ // Null support
28
+ if (input === null) {
29
+ return null;
30
+ }
31
+ // Date => ISO String
32
+ if (input instanceof Date) {
33
+ const pad = (i) => String(i).padStart(2, "0");
34
+ return `${input.getFullYear()}-${pad(input.getMonth() + 1)}-${pad(input.getDate())}`;
35
+ }
36
+ // PlainDate => ISO String
37
+ return input.toString({ calendarName: "never" });
38
+ };
39
+ //# sourceMappingURL=arguments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../src/internal/arguments.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,GAKf,MAAM,eAAe,CAAC;AAKvB,MAAM,CAAC,MAAM,sBAAsB,GAA2B,CAAC,KAAK,EAAE,EAAE,CACvE,8BAA8B,CAAC,KAAK,CAAW,CAAC;AAIjD,MAAM,CAAC,MAAM,8BAA8B,GAAmC,CAC7E,KAAK,EACJ,EAAE;IACH,wFAAwF;IACxF,eAAe;IACf,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,qBAAqB;IACrB,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IACD,iCAAiC;IACjC,IAAI,iBAAiB,IAAI,KAAK,EAAE,CAAC;QAChC,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAChD,CAAC;IACD,wCAAwC;IACxC,OAAO,KAAK,CAAC,QAAQ,CAAC;QACrB,YAAY,EAAE,cAAc;QAC5B,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,OAAO;KACrB,CAAC,CAAC;AACJ,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,oBAAoB,GAAyB,CAAC,KAAK,EAAE,EAAE,CACnE,4BAA4B,CAAC,KAAK,CAAW,CAAC;AAI/C,MAAM,CAAC,MAAM,4BAA4B,GAAiC,CACzE,KAAK,EACJ,EAAE;IACH,oFAAoF;IACpF,eAAe;IACf,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,qBAAqB;IACrB,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IACtF,CAAC;IACD,0BAA0B;IAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { FiltersInput, FiltersDefinition, FiltersSendAdapters, FiltersInputVariables } from "./filters.js";
2
+ import type { NodesDefinition, NodesAdaptedOutput, NodesInput } from "./nodes.js";
3
+ import type { Query } from "./query.js";
4
+ export type BaseQueryBuilderConfig<F extends FiltersDefinition> = {
5
+ name: string;
6
+ filterAdapters: FiltersSendAdapters<F>;
7
+ };
8
+ export type QueryBuilderInput<FI extends FiltersInput<FiltersDefinition>, NI extends NodesInput<NodesDefinition>> = {
9
+ filter: FI;
10
+ nodes: NI;
11
+ };
12
+ export type QueryBuilder<F extends FiltersDefinition, FI extends FiltersInput<F>, N extends NodesDefinition, NI extends NodesInput<N>> = (input: QueryBuilderInput<FI, NI>) => Query<FiltersInputVariables<FI>, NodesAdaptedOutput<N, NI>>;
13
+ export declare function buildQuery<F extends FiltersDefinition, FI extends FiltersInput<F>, N extends NodesDefinition, NI extends NodesInput<N>>(baseConfiguration: BaseQueryBuilderConfig<F>, input: QueryBuilderInput<FI, NI>): Query<FiltersInputVariables<FI>, NodesAdaptedOutput<N, NI>>;
14
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/internal/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EAErB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACX,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,KAAK,EAAsB,MAAM,YAAY,CAAC;AAI5D,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,iBAAiB,IAAI;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAC5B,EAAE,SAAS,YAAY,CAAC,iBAAiB,CAAC,EAC1C,EAAE,SAAS,UAAU,CAAC,eAAe,CAAC,IACnC;IACH,MAAM,EAAE,EAAE,CAAC;IACX,KAAK,EAAE,EAAE,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,YAAY,CACvB,CAAC,SAAS,iBAAiB,EAC3B,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAC1B,CAAC,SAAS,eAAe,EACzB,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,IACrB,CACH,KAAK,EAAE,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,KAC5B,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEjE,wBAAgB,UAAU,CACzB,CAAC,SAAS,iBAAiB,EAC3B,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAC1B,CAAC,SAAS,eAAe,EACzB,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAExB,iBAAiB,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAC5C,KAAK,EAAE,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,GAC9B,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAsB7D"}
@@ -0,0 +1,98 @@
1
+ import { findAdapter, isObject } from "./utils.js";
2
+ import { Variable } from "./variables.js";
3
+ export function buildQuery(baseConfiguration, input) {
4
+ const variableDeclarations = declareVariables(input.filter, baseConfiguration.filterAdapters);
5
+ let queryStr1 = "";
6
+ if (variableDeclarations.formatted !== "") {
7
+ queryStr1 += `query(${variableDeclarations.formatted})`;
8
+ }
9
+ queryStr1 += `{${baseConfiguration.name}(`;
10
+ let queryStr2 = "";
11
+ const filters = buildFilters(input.filter, baseConfiguration.filterAdapters);
12
+ if (filters) {
13
+ queryStr2 += `where:{${filters}}`;
14
+ }
15
+ queryStr2 += "){pageInfo{endCursor,hasNextPage}nodes{";
16
+ queryStr2 += buildNodes(input.nodes);
17
+ queryStr2 += "}}}";
18
+ return [queryStr1, queryStr2, variableDeclarations.adapterPaths];
19
+ }
20
+ function declareVariables(filter, adapters) {
21
+ const types = new Map();
22
+ const adapterPaths = new Map();
23
+ _declareVariables([], false, filter, adapters, types, adapterPaths);
24
+ return {
25
+ formatted: [...types.values()].join(","),
26
+ adapterPaths: Object.fromEntries(adapterPaths),
27
+ };
28
+ }
29
+ function _declareVariables(basePath, adapterPathFound, filter, adapters, types, adapterPaths) {
30
+ for (const [key, value] of Object.entries(filter)) {
31
+ const memberAdapterPath = [...basePath];
32
+ if (!adapterPathFound) {
33
+ memberAdapterPath.push(key);
34
+ }
35
+ const memberAdapterPathFound = typeof findAdapter(adapters, memberAdapterPath) === "function";
36
+ if (value instanceof Variable) {
37
+ let type = value.toString();
38
+ if (value.defaultValue !== undefined) {
39
+ if (memberAdapterPathFound) {
40
+ type += `=${JSON.stringify(findAdapter(adapters, memberAdapterPath)(value.defaultValue))}`;
41
+ }
42
+ else {
43
+ type += `=${JSON.stringify(value.defaultValue)}`;
44
+ }
45
+ }
46
+ if (!types.has(value.name)) {
47
+ types.set(value.name, type);
48
+ if (memberAdapterPathFound) {
49
+ adapterPaths.set(value.name, memberAdapterPath);
50
+ }
51
+ }
52
+ }
53
+ else if (Array.isArray(value)) {
54
+ for (const composedFilter of value) {
55
+ _declareVariables(memberAdapterPathFound ? memberAdapterPath : [], memberAdapterPathFound, composedFilter, adapters, types, adapterPaths);
56
+ }
57
+ }
58
+ else if (isObject(value)) {
59
+ _declareVariables(memberAdapterPath, memberAdapterPathFound, value, adapters, types, adapterPaths);
60
+ }
61
+ }
62
+ }
63
+ function buildFilters(filter, adapters) {
64
+ const queryParts = [];
65
+ for (const [key, value] of Object.entries(filter)) {
66
+ let trueValue;
67
+ if (value instanceof Variable) {
68
+ trueValue = `$${value.name}`;
69
+ }
70
+ else if (adapters[key] !== undefined && !isObject(adapters[key])) {
71
+ trueValue = adapters[key](value);
72
+ }
73
+ else if (isObject(value)) {
74
+ trueValue = `{${buildFilters(value, adapters[key] ?? {})}}`;
75
+ }
76
+ else {
77
+ trueValue = JSON.stringify(value);
78
+ }
79
+ queryParts.push(`${key}:${trueValue}`);
80
+ }
81
+ return queryParts.join(",");
82
+ }
83
+ function buildNodes(nodes) {
84
+ const queryParts = [];
85
+ for (const [key, value] of Object.entries(nodes)) {
86
+ if (!value) {
87
+ continue;
88
+ }
89
+ if (isObject(value)) {
90
+ queryParts.push(`${String(key)}{${buildNodes(value)}}`);
91
+ }
92
+ else {
93
+ queryParts.push(String(key));
94
+ }
95
+ }
96
+ return queryParts.join(",");
97
+ }
98
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/internal/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ import type { QueryInstanceType, Query, QueryVariableInputs } from "./query.js";
2
+ import type { FiltersDefinition, FiltersInput, FiltersInputVariables, FiltersSendAdapters } from "./filters.js";
3
+ import type { NodesDefinition, NodesAdaptedOutput, NodesInput, NodesReceiveAdapters, NodesTrueOutput } from "./nodes.js";
4
+ import { type BitemporalArguments } from "./arguments.js";
5
+ export type QueryFetchConfiguration = {
6
+ /**
7
+ * Du skal bruge en API-nøgle for at få adgang til datafordeleren.
8
+ * Den kan oprettes her: https://datafordeler.dk/konto/login-oversigt/
9
+ */
10
+ apiKey: string;
11
+ /**
12
+ * Base URL er "https://graphql.datafordeler.dk", men du kan ændre det til
13
+ * noget andet her hvis du fx skal forbinde til "https://test06-graphql.datafordeler.dk".
14
+ */
15
+ baseUrl?: URL | string;
16
+ /**
17
+ * Angiv et antal instanser der automatisk skal hentes ned før du beder om dem.
18
+ * Den kan sættes til `Infinity` for automatisk at hente alle instanser ned.
19
+ * Som standard er den sat til 0.
20
+ */
21
+ preload?: number;
22
+ /**
23
+ * Dette bestemmer det maksimale nummer af instanser som klienten vil anmode om per side.
24
+ * Denne værdi er som standard sat til 1000 da det er den største sidestørrelse datafordeleren tillader.
25
+ */
26
+ pageSize?: number;
27
+ /**
28
+ * Datafordeleren returnerer nogle gange tilfældige fejl selvom man har lavet et validt kald.
29
+ * Hvis klienten modtager en fejl, vil den gentage det samme kald op til 2 gange for at omgå dette problem.
30
+ * Du kan ændre antallet af gentagelser her. 0 betyder at klienten vil fejle med det samme uden at prøve igen.
31
+ */
32
+ retries?: number;
33
+ };
34
+ export type BaseQueryConfig<F extends FiltersDefinition, N extends NodesDefinition, I extends NodesInput<N>, D extends Record<K, I>, K extends keyof D> = {
35
+ name: K;
36
+ path: string;
37
+ filterAdapters: FiltersSendAdapters<F>;
38
+ nodeAdapters: NodesReceiveAdapters<N>;
39
+ };
40
+ export declare class FetchQuery<F extends FiltersDefinition, FI extends FiltersInput<F>, N extends NodesDefinition, I extends NodesInput<N>, O extends NodesAdaptedOutput<N, I>, D extends Record<K, I>, K extends keyof D, V extends FiltersInputVariables<FI>, Q extends Query<V, O>, B extends BitemporalArguments> extends EventTarget {
41
+ #private;
42
+ constructor(baseConfiguration: BaseQueryConfig<F, N, I, D, K>, configuration: QueryFetchConfiguration, query: Q, bitemporality: B, variables: QueryVariableInputs<Q>);
43
+ /**
44
+ * Downloader og returnerer alle instanser med indeks mellem `start` og `end`.
45
+ * Funktionen er modelleret efter `slice`, her er nogle eksempler:
46
+ *
47
+ * ```ts
48
+ * const insts = await q.getInstances() // hent alle instanser
49
+ * const insts = await q.getInstances(10) // hent alle instanser bortset fra de første 10
50
+ * const insts = await q.getInstances(0, 100) // hent de første 100 instanser
51
+ * const insts = await q.getInstances(4, 5) // hent instans nr. 4
52
+ * const insts = await q.getInstances(-100) // hent de sidste 100 instanser*
53
+ * const insts = await q.getInstances(0, -10) // hent alle instanser bortset fra de sidste 10*
54
+ * ```
55
+ *
56
+ * *ADVARSEL: Hvis du bruger negative værdier, skal klienten hente alle instanser ned for at beregne indekset.
57
+ *
58
+ * Læs mere om `slice` her: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
59
+ */
60
+ getInstances(start?: number, end?: number): Promise<QueryInstanceType<Q>[]>;
61
+ /**
62
+ * Downloader og returnerer løbende alle instanser med indeks mellem `start` og `end`.
63
+ * Funktionen er modelleret efter `slice`, her er nogle eksempler:
64
+ *
65
+ * ```ts
66
+ * for await (const inst of q.streamInstances()){} // loop over alle instanser
67
+ * for await (const inst of q.streamInstances(10)){} // loop over alle instanser bortset fra de første 10
68
+ * for await (const inst of q.streamInstances(0, 100)){} // loop over de første 100 instanser
69
+ * for await (const inst of q.streamInstances(0, -10)){} // loop over alle instanser bortset fra de sidste 10*
70
+ * ```
71
+ *
72
+ * *ADVARSEL: Hvis du bruger negative værdier, skal klienten hente alle instanser ned for at beregne indekset.
73
+ * Negative startværdier er ikke understøttet, da klienten ikke kan forudsige hvor mange instanser der er i alt.
74
+ *
75
+ * Læs mere om `slice` her: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
76
+ */
77
+ streamInstances(start?: number, end?: number): AsyncGenerator<QueryInstanceType<Q>>;
78
+ [Symbol.dispose](): void;
79
+ }
80
+ export type QueryFetcher<N extends NodesDefinition, I extends NodesInput<N>> = (configuration: QueryFetchConfiguration, query: string) => Promise<NodesAdaptedOutput<N, I>[]>;
81
+ export type QueryRawResponse<N extends NodesDefinition, I extends NodesInput<N>, D extends Record<K, I>, K extends keyof D> = {
82
+ data?: Record<K, {
83
+ pageInfo?: {
84
+ hasNextPage: boolean;
85
+ endCursor: string;
86
+ };
87
+ nodes?: NodesTrueOutput<N, I>[];
88
+ } | undefined>;
89
+ errors?: {
90
+ message?: string;
91
+ }[];
92
+ };
93
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/internal/fetch.ts"],"names":[],"mappings":"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"}