@uk-open-data-connectors/uk-sources 0.1.0 → 0.1.2

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 (101) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +110 -192
  3. package/dist/ancientWoodland.d.ts.map +1 -1
  4. package/dist/ancientWoodland.js +2 -4
  5. package/dist/ancientWoodland.js.map +1 -1
  6. package/dist/apiKey.d.ts +11 -0
  7. package/dist/apiKey.d.ts.map +1 -0
  8. package/dist/apiKey.js +17 -0
  9. package/dist/apiKey.js.map +1 -0
  10. package/dist/bankRate.d.ts.map +1 -1
  11. package/dist/bankRate.js +3 -5
  12. package/dist/bankRate.js.map +1 -1
  13. package/dist/carbonIntensity.d.ts +4 -1
  14. package/dist/carbonIntensity.d.ts.map +1 -1
  15. package/dist/carbonIntensity.js +6 -2
  16. package/dist/carbonIntensity.js.map +1 -1
  17. package/dist/errors.d.ts +12 -2
  18. package/dist/errors.d.ts.map +1 -1
  19. package/dist/errors.js +8 -4
  20. package/dist/errors.js.map +1 -1
  21. package/dist/exploreEducationStatistics.d.ts +72 -0
  22. package/dist/exploreEducationStatistics.d.ts.map +1 -0
  23. package/dist/exploreEducationStatistics.js +108 -0
  24. package/dist/exploreEducationStatistics.js.map +1 -0
  25. package/dist/findATender.d.ts +76 -0
  26. package/dist/findATender.d.ts.map +1 -0
  27. package/dist/findATender.js +107 -0
  28. package/dist/findATender.js.map +1 -0
  29. package/dist/fingertipsIndicators.d.ts +67 -0
  30. package/dist/fingertipsIndicators.d.ts.map +1 -0
  31. package/dist/fingertipsIndicators.js +92 -0
  32. package/dist/fingertipsIndicators.js.map +1 -0
  33. package/dist/floodMonitoring.d.ts.map +1 -1
  34. package/dist/floodMonitoring.js +4 -9
  35. package/dist/floodMonitoring.js.map +1 -1
  36. package/dist/foodHygiene.d.ts.map +1 -1
  37. package/dist/foodHygiene.js +4 -5
  38. package/dist/foodHygiene.js.map +1 -1
  39. package/dist/http.d.ts +34 -0
  40. package/dist/http.d.ts.map +1 -0
  41. package/dist/http.js +83 -0
  42. package/dist/http.js.map +1 -0
  43. package/dist/index.d.ts +56 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +28 -0
  46. package/dist/index.js.map +1 -1
  47. package/dist/londonDatastore.d.ts +46 -0
  48. package/dist/londonDatastore.d.ts.map +1 -0
  49. package/dist/londonDatastore.js +64 -0
  50. package/dist/londonDatastore.js.map +1 -0
  51. package/dist/nesoGenerationMix.d.ts +128 -0
  52. package/dist/nesoGenerationMix.d.ts.map +1 -0
  53. package/dist/nesoGenerationMix.js +241 -0
  54. package/dist/nesoGenerationMix.js.map +1 -0
  55. package/dist/nhsbsaCkan.d.ts +43 -0
  56. package/dist/nhsbsaCkan.d.ts.map +1 -0
  57. package/dist/nhsbsaCkan.js +59 -0
  58. package/dist/nhsbsaCkan.js.map +1 -0
  59. package/dist/nomis.d.ts +71 -0
  60. package/dist/nomis.d.ts.map +1 -0
  61. package/dist/nomis.js +124 -0
  62. package/dist/nomis.js.map +1 -0
  63. package/dist/onsDatasets.d.ts.map +1 -1
  64. package/dist/onsDatasets.js +3 -5
  65. package/dist/onsDatasets.js.map +1 -1
  66. package/dist/parliamentSeats.d.ts.map +1 -1
  67. package/dist/parliamentSeats.js +6 -5
  68. package/dist/parliamentSeats.js.map +1 -1
  69. package/dist/planningDatasets.d.ts.map +1 -1
  70. package/dist/planningDatasets.js +3 -5
  71. package/dist/planningDatasets.js.map +1 -1
  72. package/dist/policeCrimes.d.ts.map +1 -1
  73. package/dist/policeCrimes.js +5 -8
  74. package/dist/policeCrimes.js.map +1 -1
  75. package/dist/postcodeLookup.d.ts +55 -0
  76. package/dist/postcodeLookup.d.ts.map +1 -0
  77. package/dist/postcodeLookup.js +89 -0
  78. package/dist/postcodeLookup.js.map +1 -0
  79. package/dist/publicHealthScotland.d.ts +43 -0
  80. package/dist/publicHealthScotland.d.ts.map +1 -0
  81. package/dist/publicHealthScotland.js +59 -0
  82. package/dist/publicHealthScotland.js.map +1 -0
  83. package/dist/registry.d.ts.map +1 -1
  84. package/dist/registry.js +24 -0
  85. package/dist/registry.js.map +1 -1
  86. package/dist/tflBikePoints.d.ts.map +1 -1
  87. package/dist/tflBikePoints.js +6 -6
  88. package/dist/tflBikePoints.js.map +1 -1
  89. package/dist/tflLineStatus.d.ts +59 -0
  90. package/dist/tflLineStatus.d.ts.map +1 -0
  91. package/dist/tflLineStatus.js +91 -0
  92. package/dist/tflLineStatus.js.map +1 -0
  93. package/dist/tnaDiscovery.d.ts +76 -0
  94. package/dist/tnaDiscovery.d.ts.map +1 -0
  95. package/dist/tnaDiscovery.js +100 -0
  96. package/dist/tnaDiscovery.js.map +1 -0
  97. package/dist/ukhsaDashboard.d.ts +92 -0
  98. package/dist/ukhsaDashboard.d.ts.map +1 -0
  99. package/dist/ukhsaDashboard.js +134 -0
  100. package/dist/ukhsaDashboard.js.map +1 -0
  101. package/package.json +13 -4
@@ -0,0 +1,92 @@
1
+ import { z } from 'zod';
2
+ import { UkSourceParseError } from './errors.js';
3
+ import { httpGet } from './http.js';
4
+ import { readFixtureJson } from './fixtures.js';
5
+ /**
6
+ * The Office for Health Improvement and Disparities public health profiles,
7
+ * published by Fingertips. Keyless, under the Open Government Licence v3.
8
+ */
9
+ export const FINGERTIPS_INDICATORS_SOURCE_ID = 'fingertips-indicators';
10
+ /** Base URL for the Fingertips indicator metadata call. */
11
+ export const FINGERTIPS_INDICATOR_METADATA_URL = 'https://fingertips.phe.org.uk/api/indicator_metadata/by_indicator_id';
12
+ /** The indicator the adapter reads when the caller does not name one. */
13
+ export const DEFAULT_FINGERTIPS_INDICATOR_IDS = [90366];
14
+ const FINGERTIPS_INDICATOR_SCHEMA = z.object({
15
+ IID: z.number(),
16
+ LatestChangeTimestampOverride: z.string().nullable().optional(),
17
+ Unit: z.object({ Label: z.string() }).nullable().optional(),
18
+ YearType: z.object({ Name: z.string() }).nullable().optional(),
19
+ ValueType: z.object({ Name: z.string() }).nullable().optional(),
20
+ Descriptive: z
21
+ .object({ Name: z.string(), DataSource: z.string().nullable().optional() })
22
+ .nullable()
23
+ .optional(),
24
+ DataChange: z.object({ LastUploadedAt: z.string().nullable().optional() }).nullable().optional(),
25
+ });
26
+ /** Indicator metadata keyed by indicator id, as Fingertips returns it. */
27
+ const FINGERTIPS_INDICATORS_SCHEMA = z.record(z.string(), FINGERTIPS_INDICATOR_SCHEMA);
28
+ /**
29
+ * Builds the Fingertips indicator metadata URL for a set of indicator ids.
30
+ *
31
+ * @param indicatorIds - the indicator ids to read
32
+ * @returns the metadata URL, ids comma-separated
33
+ */
34
+ export function buildFingertipsIndicatorUrl(indicatorIds) {
35
+ return `${FINGERTIPS_INDICATOR_METADATA_URL}?indicator_ids=${indicatorIds.join(',')}`;
36
+ }
37
+ /**
38
+ * Parses a Fingertips indicator metadata payload.
39
+ *
40
+ * @param payload - the raw JSON body from the metadata endpoint
41
+ * @returns one entry per indicator the payload carries
42
+ */
43
+ export function parseFingertipsIndicators(payload) {
44
+ const parsed = FINGERTIPS_INDICATORS_SCHEMA.safeParse(payload);
45
+ if (!parsed.success) {
46
+ throw new UkSourceParseError('fingertips-indicators', parsed.error.message);
47
+ }
48
+ return Object.values(parsed.data).map((indicator) => ({
49
+ indicatorId: indicator.IID,
50
+ name: indicator.Descriptive?.Name ?? '',
51
+ dataSource: indicator.Descriptive?.DataSource ?? '',
52
+ unitLabel: indicator.Unit?.Label ?? '',
53
+ valueType: indicator.ValueType?.Name ?? '',
54
+ yearType: indicator.YearType?.Name ?? '',
55
+ lastUploadedAt: indicator.DataChange?.LastUploadedAt ?? '',
56
+ latestChangeTimestampOverride: indicator.LatestChangeTimestampOverride ?? '',
57
+ }));
58
+ }
59
+ /**
60
+ * Sums the indicators a call returns.
61
+ *
62
+ * @param indicators - indicators from {@link parseFingertipsIndicators}
63
+ * @returns the indicator count and the distinct data sources behind them
64
+ */
65
+ export function summarizeFingertipsIndicators(indicators) {
66
+ const dataSources = [...new Set(indicators.map((indicator) => indicator.dataSource))]
67
+ .filter((dataSource) => dataSource !== '')
68
+ .sort((left, right) => left.localeCompare(right));
69
+ return { indicatorCount: indicators.length, dataSources };
70
+ }
71
+ /**
72
+ * Reads metadata for a set of Fingertips public health indicators.
73
+ *
74
+ * @param options - indicator ids and an optional fetch implementation
75
+ * @returns the indicator metadata the endpoint returns
76
+ */
77
+ export async function fetchFingertipsIndicators(options = {}) {
78
+ const { indicatorIds = DEFAULT_FINGERTIPS_INDICATOR_IDS, fetchImpl = globalThis.fetch } = options;
79
+ const response = await httpGet('fingertips-indicators', buildFingertipsIndicatorUrl(indicatorIds), { fetchImpl });
80
+ return parseFingertipsIndicators(await response.json());
81
+ }
82
+ /** Fingertips public health indicator metadata, keyless. */
83
+ export const fingertipsIndicatorsAdapter = {
84
+ id: FINGERTIPS_INDICATORS_SOURCE_ID,
85
+ name: 'Office for Health Improvement and Disparities Fingertips indicators',
86
+ auth: 'none',
87
+ description: 'Metadata for the public health indicators Fingertips publishes, with their sources.',
88
+ fetchLive: (options) => fetchFingertipsIndicators(options?.fetchImpl === undefined ? {} : { fetchImpl: options.fetchImpl }),
89
+ parse: parseFingertipsIndicators,
90
+ loadFixture: () => parseFingertipsIndicators(readFixtureJson('fingertips-indicators-2026-10-05.json')),
91
+ };
92
+ //# sourceMappingURL=fingertipsIndicators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingertipsIndicators.js","sourceRoot":"","sources":["../src/fingertipsIndicators.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"floodMonitoring.d.ts","sourceRoot":"","sources":["../src/floodMonitoring.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gFAAgF;IAChF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;CACpD;AAED;;;GAGG;AACH,eAAO,MAAM,+BAA+B,WAAW,CAAC;AAoDxD,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE,CAsBnE;AAED,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE,CAUnE;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,mBAAmB,CA8BpF;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAO,GACpE,OAAO,CAAC,YAAY,EAAE,CAAC,CASzB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,gBAAgB,GAAE,MAAwC,EAC1D,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAO,GACpE,OAAO,CAAC,YAAY,EAAE,CAAC,CAUzB;AAED,sDAAsD;AACtD,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,YAAY,EAAE,CAS9D,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,YAAY,EAAE,CAY9D,CAAC"}
1
+ {"version":3,"file":"floodMonitoring.d.ts","sourceRoot":"","sources":["../src/floodMonitoring.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gFAAgF;IAChF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;CACpD;AAED;;;GAGG;AACH,eAAO,MAAM,+BAA+B,WAAW,CAAC;AAoDxD,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE,CAsBnE;AAED,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE,CAUnE;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,mBAAmB,CA8BpF;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAO,GACpE,OAAO,CAAC,YAAY,EAAE,CAAC,CAQzB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,gBAAgB,GAAE,MAAwC,EAC1D,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAO,GACpE,OAAO,CAAC,YAAY,EAAE,CAAC,CAOzB;AAED,sDAAsD;AACtD,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,YAAY,EAAE,CAS9D,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,YAAY,EAAE,CAY9D,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { UkSourceApiError, UkSourceParseError } from './errors.js';
2
+ import { UkSourceParseError } from './errors.js';
3
+ import { httpGet } from './http.js';
3
4
  import { readFixtureJson } from './fixtures.js';
4
5
  /**
5
6
  * Station the readings adapter probes by default: Bourton Dickler on the
@@ -121,10 +122,7 @@ export function summarizeFloodReadings(readings) {
121
122
  */
122
123
  export async function fetchFloodStations(options = {}) {
123
124
  const { limit = 25, fetchImpl = globalThis.fetch } = options;
124
- const response = await fetchImpl(`https://environment.data.gov.uk/flood-monitoring/id/stations?_limit=${limit}`);
125
- if (!response.ok) {
126
- throw new UkSourceApiError('flood-monitoring', `HTTP ${response.status} listing stations`);
127
- }
125
+ const response = await httpGet('flood-monitoring', `https://environment.data.gov.uk/flood-monitoring/id/stations?_limit=${limit}`, { fetchImpl });
128
126
  return parseFloodStations(await response.json());
129
127
  }
130
128
  /**
@@ -135,10 +133,7 @@ export async function fetchFloodStationReadings(stationReference = DEFAULT_FLOOD
135
133
  const { limit = 96, fetchImpl = globalThis.fetch } = options;
136
134
  const url = `https://environment.data.gov.uk/flood-monitoring/id/stations/${stationReference}` +
137
135
  `/readings?_limit=${limit}&_sorted`;
138
- const response = await fetchImpl(url);
139
- if (!response.ok) {
140
- throw new UkSourceApiError('flood-monitoring', `HTTP ${response.status} reading station`);
141
- }
136
+ const response = await httpGet('flood-monitoring', url, { fetchImpl });
142
137
  return parseFloodReadings(await response.json());
143
138
  }
144
139
  /** Flood-monitoring station list adapter, keyless. */
@@ -1 +1 @@
1
- {"version":3,"file":"floodMonitoring.js","sourceRoot":"","sources":["../src/floodMonitoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"floodMonitoring.js","sourceRoot":"","sources":["../src/floodMonitoring.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"foodHygiene.d.ts","sourceRoot":"","sources":["../src/foodHygiene.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,sDAAsD,CAAC;AAEvF,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,+EAA+E;AAC/E,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,sEAAsE;AACtE,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,wEAAwE;AACxE,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kDAAkD;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,gEAAgE;AAChE,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,kBAAkB,EAAE,oBAAoB,EAAE,CAAC;CAC5C;AA6BD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAYpF;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,oBAAoB,EAAE,EACnC,qBAAqB,GAAE,MAAwC,GAC9D,kBAAkB,CAmBpB;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAO,GACpD,OAAO,CAAC,oBAAoB,EAAE,CAAC,CASjC;AAED,oEAAoE;AACpE,eAAO,MAAM,6BAA6B,EAAE,aAAa,CAAC,oBAAoB,EAAE,CAW/E,CAAC"}
1
+ {"version":3,"file":"foodHygiene.d.ts","sourceRoot":"","sources":["../src/foodHygiene.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,sDAAsD,CAAC;AAEvF,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,+EAA+E;AAC/E,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,sEAAsE;AACtE,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,wEAAwE;AACxE,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kDAAkD;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,gEAAgE;AAChE,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,kBAAkB,EAAE,oBAAoB,EAAE,CAAC;CAC5C;AA6BD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAYpF;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,oBAAoB,EAAE,EACnC,qBAAqB,GAAE,MAAwC,GAC9D,kBAAkB,CAmBpB;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAO,GACpD,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAOjC;AAED,oEAAoE;AACpE,eAAO,MAAM,6BAA6B,EAAE,aAAa,CAAC,oBAAoB,EAAE,CAW/E,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { UkSourceApiError, UkSourceParseError } from './errors.js';
2
+ import { UkSourceParseError } from './errors.js';
3
+ import { httpGet } from './http.js';
3
4
  import { readFixtureJson } from './fixtures.js';
4
5
  /**
5
6
  * The Food Standards Agency food hygiene register list. Keyless, published by
@@ -82,12 +83,10 @@ export function summarizeFoodHygieneAuthorities(authorities, largestAuthorityLim
82
83
  */
83
84
  export async function fetchFoodHygieneAuthorities(options = {}) {
84
85
  const { fetchImpl = globalThis.fetch } = options;
85
- const response = await fetchImpl(FSA_AUTHORITIES_URL, {
86
+ const response = await httpGet('fsa-food-hygiene', FSA_AUTHORITIES_URL, {
87
+ fetchImpl,
86
88
  headers: { [FSA_API_VERSION_HEADER]: FSA_API_VERSION },
87
89
  });
88
- if (!response.ok) {
89
- throw new UkSourceApiError('fsa-food-hygiene', `HTTP ${response.status} listing registers`);
90
- }
91
90
  return parseFoodHygieneAuthorities(await response.json());
92
91
  }
93
92
  /** Food Standards Agency food hygiene register adapter, keyless. */
@@ -1 +1 @@
1
- {"version":3,"file":"foodHygiene.js","sourceRoot":"","sources":["../src/foodHygiene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foodHygiene.js","sourceRoot":"","sources":["../src/foodHygiene.ts"],"names":[],"mappings":"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"}
package/dist/http.d.ts ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Identifies this client to the public APIs it calls.
3
+ *
4
+ * Several UK government endpoints ask callers to identify themselves, and
5
+ * some rate-limit or block clients they cannot place, so every adapter sends
6
+ * this. The string carries no version, so it cannot go stale between releases.
7
+ */
8
+ export declare const USER_AGENT = "uk-open-data-connectors (Language=TypeScript)";
9
+ /** Per-request timeout in milliseconds, applied to every adapter. */
10
+ export declare const DEFAULT_TIMEOUT_MS = 30000;
11
+ /** Options shared by the shared HTTP helpers. */
12
+ export interface HttpGetOptions {
13
+ /** Fetch implementation override, used by tests. */
14
+ fetchImpl?: typeof globalThis.fetch | undefined;
15
+ /** Extra request headers, merged over the defaults. */
16
+ headers?: Record<string, string> | undefined;
17
+ /** Overrides {@link DEFAULT_TIMEOUT_MS}. */
18
+ timeoutMs?: number | undefined;
19
+ }
20
+ /**
21
+ * Issues a GET through the shared HTTP layer.
22
+ *
23
+ * Every adapter goes through here so that three things happen the same way
24
+ * for all 23 sources: a `user-agent` identifies the client, a timeout aborts
25
+ * a request that hangs, and a failure carries whether retrying is worthwhile.
26
+ *
27
+ * @param source - Source name used in the error message, e.g. "flood-monitoring".
28
+ * @param url - Absolute URL or URL object to fetch.
29
+ * @param options - Fetch override, extra headers, and timeout.
30
+ * @returns The response, already checked for a successful status.
31
+ * @throws {UkSourceApiError} On a non-2xx status, an abort, or a network error.
32
+ */
33
+ export declare function httpGet(source: string, url: string | URL, options?: HttpGetOptions): Promise<Response>;
34
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,kDAAkD,CAAC;AAE1E,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAQzC,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;IAChD,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC7C,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAyBD;;;;;;;;;;;;GAYG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,QAAQ,CAAC,CA8BnB"}
package/dist/http.js ADDED
@@ -0,0 +1,83 @@
1
+ import { UkSourceApiError } from './errors.js';
2
+ /**
3
+ * Identifies this client to the public APIs it calls.
4
+ *
5
+ * Several UK government endpoints ask callers to identify themselves, and
6
+ * some rate-limit or block clients they cannot place, so every adapter sends
7
+ * this. The string carries no version, so it cannot go stale between releases.
8
+ */
9
+ export const USER_AGENT = 'uk-open-data-connectors (Language=TypeScript)';
10
+ /** Per-request timeout in milliseconds, applied to every adapter. */
11
+ export const DEFAULT_TIMEOUT_MS = 30_000;
12
+ /** The one status code worth retrying: the server is asking us to slow down. */
13
+ const HTTP_TOO_MANY_REQUESTS = 429;
14
+ /** The lowest status code that means the server failed rather than the request. */
15
+ const HTTP_INTERNAL_SERVER_ERROR = 500;
16
+ /**
17
+ * Builds the request headers, letting a caller replace the User-Agent.
18
+ *
19
+ * Most adapters send only the default identity. A few sources (the SEC and
20
+ * the National Weather Service, for example) ask for a more descriptive
21
+ * User-Agent of their own, and that one wins. Other headers merge over the
22
+ * defaults.
23
+ *
24
+ * @param extra - Headers supplied by the adapter.
25
+ * @returns The headers for one request.
26
+ */
27
+ function buildRequestHeaders(extra) {
28
+ const headers = { 'user-agent': USER_AGENT };
29
+ for (const [name, value] of Object.entries(extra ?? {})) {
30
+ if (name.toLowerCase() === 'user-agent') {
31
+ headers['user-agent'] = value;
32
+ }
33
+ else {
34
+ headers[name] = value;
35
+ }
36
+ }
37
+ return headers;
38
+ }
39
+ /**
40
+ * Issues a GET through the shared HTTP layer.
41
+ *
42
+ * Every adapter goes through here so that three things happen the same way
43
+ * for all 23 sources: a `user-agent` identifies the client, a timeout aborts
44
+ * a request that hangs, and a failure carries whether retrying is worthwhile.
45
+ *
46
+ * @param source - Source name used in the error message, e.g. "flood-monitoring".
47
+ * @param url - Absolute URL or URL object to fetch.
48
+ * @param options - Fetch override, extra headers, and timeout.
49
+ * @returns The response, already checked for a successful status.
50
+ * @throws {UkSourceApiError} On a non-2xx status, an abort, or a network error.
51
+ */
52
+ export async function httpGet(source, url, options = {}) {
53
+ const doFetch = options.fetchImpl ?? globalThis.fetch;
54
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
55
+ const controller = new AbortController();
56
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
57
+ let response;
58
+ try {
59
+ response = await doFetch(url, {
60
+ headers: buildRequestHeaders(options.headers),
61
+ signal: controller.signal,
62
+ });
63
+ }
64
+ catch (error) {
65
+ if (controller.signal.aborted) {
66
+ throw new UkSourceApiError(source, `request timed out after ${timeoutMs}ms`, {
67
+ retryable: true,
68
+ });
69
+ }
70
+ throw new UkSourceApiError(source, `request failed: ${String(error)}`, { retryable: true });
71
+ }
72
+ finally {
73
+ clearTimeout(timer);
74
+ }
75
+ if (!response.ok) {
76
+ throw new UkSourceApiError(source, `HTTP ${response.status}`, {
77
+ status: response.status,
78
+ retryable: response.status === HTTP_TOO_MANY_REQUESTS || response.status >= HTTP_INTERNAL_SERVER_ERROR,
79
+ });
80
+ }
81
+ return response;
82
+ }
83
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,+CAA+C,CAAC;AAE1E,qEAAqE;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAEzC,gFAAgF;AAChF,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,mFAAmF;AACnF,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAYvC;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAAC,KAAyC;IACpE,MAAM,OAAO,GAA2B,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACrE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACxD,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;YACxC,OAAO,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAc,EACd,GAAiB,EACjB,UAA0B,EAAE;IAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC;IACtD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;YAC5B,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC;YAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,SAAS,IAAI,EAAE;gBAC3E,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9F,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE;YAC5D,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EACP,QAAQ,CAAC,MAAM,KAAK,sBAAsB,IAAI,QAAQ,CAAC,MAAM,IAAI,0BAA0B;SAC9F,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -10,8 +10,22 @@ export type { BankRateObservation, BankRateSpell, BankRateSummary } from './bank
10
10
  export { buildCarbonIntensityWindowUrl, carbonIntensityAdapter, CARBON_INTENSITY_API_BASE_URL, CARBON_INTENSITY_INDEX_BANDS, CARBON_INTENSITY_MAX_WINDOW_DAYS, CARBON_INTENSITY_PERIOD_MINUTES, CARBON_INTENSITY_RANGE_URL, CARBON_INTENSITY_SOURCE_ID, DEFAULT_CARBON_INTENSITY_WINDOW_DAYS, fetchCarbonIntensityWindow, formatCarbonIntensityInstant, parseCarbonIntensityWindow, resolveCarbonIntensityWindow, } from './carbonIntensity.js';
11
11
  /** Carbon intensity types. */
12
12
  export type { CarbonIntensityBandCount, CarbonIntensityIndex, CarbonIntensityPeriod, CarbonIntensityWindow, } from './carbonIntensity.js';
13
+ /** Department for Education Explore Education Statistics publications (keyless). */
14
+ export { buildExploreEducationPublicationsUrl, EXPLORE_EDUCATION_PUBLICATIONS_PAGE_SIZE, EXPLORE_EDUCATION_PUBLICATIONS_URL, EXPLORE_EDUCATION_STATISTICS_SOURCE_ID, exploreEducationStatisticsAdapter, fetchExploreEducationPublications, parseExploreEducationPublications, summarizeExploreEducationPublications, } from './exploreEducationStatistics.js';
15
+ /** Explore Education Statistics types. */
16
+ export type { ExploreEducationPublication, ExploreEducationPublicationsPage, ExploreEducationPublicationsSummary, } from './exploreEducationStatistics.js';
13
17
  /** Errors shared by every UK source adapter. */
14
18
  export { UkSourceApiError, UkSourceError, UkSourceParseError } from './errors.js';
19
+ /** API error detail type. */
20
+ export type { UkSourceApiErrorDetails } from './errors.js';
21
+ /** Find a Tender procurement notices, published by the Crown Commercial Service (keyless). */
22
+ export { FIND_A_TENDER_RELEASE_LIMIT, FIND_A_TENDER_RELEASE_PACKAGES_URL, FIND_A_TENDER_SOURCE_ID, fetchFindATenderReleases, findATenderAdapter, parseFindATenderReleases, summarizeFindATenderReleases, } from './findATender.js';
23
+ /** Find a Tender types. */
24
+ export type { FindATenderRelease, FindATenderReleasePage, FindATenderStatusCount, FindATenderSummary, } from './findATender.js';
25
+ /** Fingertips public health indicator metadata, published by OHID (keyless). */
26
+ export { buildFingertipsIndicatorUrl, DEFAULT_FINGERTIPS_INDICATOR_IDS, fetchFingertipsIndicators, FINGERTIPS_INDICATOR_METADATA_URL, FINGERTIPS_INDICATORS_SOURCE_ID, fingertipsIndicatorsAdapter, parseFingertipsIndicators, summarizeFingertipsIndicators, } from './fingertipsIndicators.js';
27
+ /** Fingertips indicator types. */
28
+ export type { FingertipsIndicatorMetadata, FingertipsIndicatorsSummary, } from './fingertipsIndicators.js';
15
29
  /** Environment Agency flood-monitoring stations and readings (keyless). */
16
30
  export { DEFAULT_FLOOD_STATION_REFERENCE, fetchFloodStationReadings, fetchFloodStations, floodReadingsAdapter, floodStationsAdapter, parseFloodReadings, parseFloodStations, summarizeFloodReadings, } from './floodMonitoring.js';
17
31
  /** Flood-monitoring types. */
@@ -20,6 +34,22 @@ export type { FloodMeasure, FloodReading, FloodReadingSummary, FloodStation, } f
20
34
  export { DEFAULT_LARGEST_AUTHORITY_LIMIT, fetchFoodHygieneAuthorities, foodHygieneAuthoritiesAdapter, FSA_API_VERSION, FSA_API_VERSION_HEADER, FSA_AUTHORITIES_URL, parseFoodHygieneAuthorities, summarizeFoodHygieneAuthorities, } from './foodHygiene.js';
21
35
  /** Food hygiene register types. */
22
36
  export type { FoodHygieneAuthority, FoodHygieneScheme, FoodHygieneSummary } from './foodHygiene.js';
37
+ /** London Datastore catalogue, published by the Greater London Authority (keyless). */
38
+ export { fetchLondonDatastorePackages, LONDON_DATASTORE_PACKAGE_LIST_URL, LONDON_DATASTORE_SOURCE_ID, londonDatastoreAdapter, parseLondonDatastorePackages, summarizeLondonDatastorePackages, } from './londonDatastore.js';
39
+ /** London Datastore types. */
40
+ export type { LondonDatastorePackage, LondonDatastoreSummary } from './londonDatastore.js';
41
+ /** National Energy System Operator half-hourly generation mix (keyless). */
42
+ export { buildNesoGenerationMixUrl, DEFAULT_NESO_GENERATION_MIX_HALF_HOURS, fetchNesoGenerationMixWindow, MAX_NESO_GENERATION_MIX_HALF_HOURS, NESO_DATA_PORTAL_API_BASE_URL, NESO_DATASTORE_SEARCH_URL, NESO_GENERATION_FUELS, NESO_GENERATION_MIX_RESOURCE_ID, NESO_GENERATION_MIX_SOURCE_ID, nesoGenerationMixAdapter, parseNesoGenerationMix, } from './nesoGenerationMix.js';
43
+ /** Generation mix types. */
44
+ export type { NesoGenerationFuel, NesoGenerationFuelReading, NesoGenerationFuelShare, NesoGenerationHalfHour, NesoGenerationMixWindow, } from './nesoGenerationMix.js';
45
+ /** NHS Business Services Authority open data catalogue (keyless). */
46
+ export { fetchNhsbsaCkanPackages, NHSBSA_CKAN_PACKAGE_LIST_URL, NHSBSA_CKAN_SOURCE_ID, nhsbsaCkanAdapter, parseNhsbsaCkanPackages, summarizeNhsbsaCkanPackages, } from './nhsbsaCkan.js';
47
+ /** NHSBSA catalogue types. */
48
+ export type { NhsbsaCkanSummary, NhsbsaDataset } from './nhsbsaCkan.js';
49
+ /** Nomis SDMX dataset catalogue, run by the ONS (keyless). */
50
+ export { fetchNomisDatasetDefinitions, NOMIS_DATASET_DEFINITIONS_URL, NOMIS_KEYWORDS_ANNOTATION, NOMIS_LAST_UPDATED_ANNOTATION, NOMIS_SOURCE_ID, NOMIS_STATUS_ANNOTATION, NOMIS_UNITS_ANNOTATION, nomisAdapter, parseNomisDatasetDefinitions, summarizeNomisDatasetDefinitions, } from './nomis.js';
51
+ /** Nomis catalogue types. */
52
+ export type { NomisCatalogSummary, NomisDatasetDefinition, NomisStatusCount } from './nomis.js';
23
53
  /** Office for National Statistics dataset catalogue (keyless). */
24
54
  export { fetchOnsDatasets, onsDatasetsAdapter, ONS_DATASETS_LIMIT, ONS_DATASETS_URL, parseOnsDatasets, summarizeOnsDatasets, } from './onsDatasets.js';
25
55
  /** ONS catalogue types. */
@@ -36,12 +66,38 @@ export type { PlanningDataset, PlanningDatasetSummary } from './planningDatasets
36
66
  export { buildPoliceStreetCrimesUrl, DEFAULT_POLICE_CRIME_LOCATION, DEFAULT_POLICE_CRIME_MONTH_COUNT, fetchPoliceCrimeCategories, fetchPoliceCrimeMonths, fetchPoliceCrimeSummary, parsePoliceCrimeSummary, policeCrimesAdapter, POLICE_API_BASE_URL, POLICE_CRIME_CATEGORIES_URL, POLICE_CRIMES_SOURCE_ID, POLICE_STREET_CRIMES_RADIUS_MILES, POLICE_STREET_CRIMES_URL, POLICE_STREET_DATES_URL, } from './policeCrimes.js';
37
67
  /** Recorded crime types. */
38
68
  export type { PoliceCategoryCount, PoliceCrimeCategory, PoliceCrimeLocation, PoliceCrimeResponses, PoliceCrimeSummary, PoliceMonthCount, PoliceOutcomeCount, } from './policeCrimes.js';
69
+ /** postcodes.io single postcode lookup (keyless, third-party service, OGL data). */
70
+ export { buildPostcodeLookupUrl, DEFAULT_POSTCODE_QUERY, fetchPostcodeLookup, parsePostcodeLookup, POSTCODE_LOOKUP_SOURCE_ID, POSTCODES_IO_BASE_URL, postcodeLookupAdapter, } from './postcodeLookup.js';
71
+ /** Postcode lookup types. */
72
+ export type { PostcodeLookupRecord } from './postcodeLookup.js';
73
+ /** Public Health Scotland open data catalogue (keyless). */
74
+ export { fetchPublicHealthScotlandDatasets, PUBLIC_HEALTH_SCOTLAND_PACKAGE_LIST_URL, PUBLIC_HEALTH_SCOTLAND_SOURCE_ID, parsePublicHealthScotlandDatasets, publicHealthScotlandAdapter, summarizePublicHealthScotlandDatasets, } from './publicHealthScotland.js';
75
+ /** Public Health Scotland catalogue types. */
76
+ export type { PublicHealthScotlandDataset, PublicHealthScotlandSummary, } from './publicHealthScotland.js';
39
77
  /** Transport for London Santander Cycles docking stations (keyless). */
40
78
  export { DEFAULT_LARGEST_STATION_LIMIT, fetchTflBikePoints, parseTflBikePoints, summarizeTflBikePoints, tflBikePointsAdapter, TFL_BIKE_POINTS_URL, } from './tflBikePoints.js';
41
79
  /** Docking station types. */
42
80
  export type { DockingStation, DockingStationSummary } from './tflBikePoints.js';
81
+ /** Transport for London Tube line status (keyless). */
82
+ export { fetchTflLineStatuses, parseTflLineStatuses, summarizeTflLineStatuses, TFL_LINE_STATUS_GOOD_SERVICE_SEVERITY, TFL_LINE_STATUS_SOURCE_ID, TFL_LINE_STATUS_URL, tflLineStatusAdapter, } from './tflLineStatus.js';
83
+ /** Tube line status types. */
84
+ export type { TflLineStatus, TflLineStatusSummary } from './tflLineStatus.js';
85
+ /** The National Archives Discovery catalogue search (keyless). */
86
+ export { buildTnaDiscoverySearchUrl, DEFAULT_TNA_DISCOVERY_QUERY, fetchTnaDiscoveryRecords, parseTnaDiscoveryRecords, summarizeTnaDiscoverySearch, TNA_DISCOVERY_ACCEPT_HEADER, TNA_DISCOVERY_SEARCH_URL, TNA_DISCOVERY_SOURCE_ID, tnaDiscoveryAdapter, } from './tnaDiscovery.js';
87
+ /** Discovery search types. */
88
+ export type { TnaDiscoveryRecord, TnaDiscoverySearchResult, TnaDiscoverySearchSummary, } from './tnaDiscovery.js';
89
+ /** UK Health Security Agency data dashboard metric points (keyless). */
90
+ export { buildUkhsaMetricUrl, fetchUkhsaMetricPoints, parseUkhsaMetricPoints, summarizeUkhsaMetricPoints, UKHSA_DASHBOARD_API_BASE_URL, UKHSA_DASHBOARD_METRIC_PATH, UKHSA_DASHBOARD_PAGE_SIZE, UKHSA_DASHBOARD_SOURCE_ID, ukhsaDashboardAdapter, } from './ukhsaDashboard.js';
91
+ /** UKHSA dashboard types. */
92
+ export type { UkhsaMetricPage, UkhsaMetricPoint, UkhsaMetricSummary } from './ukhsaDashboard.js';
43
93
  /** The uniform adapter registry and probe helpers. */
44
94
  export { UK_DATA_SOURCES, getUkDataSource, probeAllUkDataSources, probeUkDataSource, } from './registry.js';
45
95
  /** Shared adapter contract types. */
46
96
  export type { UkDataAdapter, UkFetchOptions, UkSourceAuth, UkSourceProbe } from './types.js';
97
+ /** API key normalization shared by adapters, the API, and the CLI. */
98
+ export { normalizeSourceApiKey } from './apiKey.js';
99
+ /** The shared HTTP layer every adapter fetch goes through. */
100
+ export { httpGet, USER_AGENT, DEFAULT_TIMEOUT_MS } from './http.js';
101
+ /** Shared HTTP layer types. */
102
+ export type { HttpGetOptions } from './http.js';
47
103
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,8BAA8B;AAC9B,YAAY,EACV,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,sBAAsB,CAAC;AAC9B,+EAA+E;AAC/E,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,uBAAuB;AACvB,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACzF,8EAA8E;AAC9E,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,0BAA0B,EAC1B,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,8BAA8B;AAC9B,YAAY,EACV,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,gDAAgD;AAChD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClF,2EAA2E;AAC3E,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,8BAA8B;AAC9B,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,8DAA8D;AAC9D,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAC1B,mCAAmC;AACnC,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACpG,kEAAkE;AAClE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,2BAA2B;AAC3B,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACjG,iFAAiF;AACjF,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,+BAA+B,EAC/B,0BAA0B,EAC1B,gCAAgC,EAChC,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,6BAA6B;AAC7B,YAAY,EACV,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,8EAA8E;AAC9E,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,8BAA8B;AAC9B,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACrF,mEAAmE;AACnE,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,gCAAgC,EAChC,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACvB,iCAAiC,EACjC,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,4BAA4B;AAC5B,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,wEAAwE;AACxE,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,6BAA6B;AAC7B,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChF,sDAAsD;AACtD,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,qCAAqC;AACrC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,12 +4,26 @@ export { ANCIENT_WOODLAND_CATEGORIES, ANCIENT_WOODLAND_DATASET_URL, ANCIENT_WOOD
4
4
  export { bankRateAdapter, BANK_RATE_CSV_URL, BANK_RATE_FIRST_QUERY_DATE, BANK_RATE_SERIES_CODE, BANK_RATE_SOURCE_ID, buildBankRateCsvUrl, buildBankRateSpells, fetchBankRateObservations, formatBankRateQueryDate, parseBankRateCsv, summarizeBankRateSeries, } from './bankRate.js';
5
5
  /** National Energy System Operator half-hourly carbon intensity (keyless). */
6
6
  export { buildCarbonIntensityWindowUrl, carbonIntensityAdapter, CARBON_INTENSITY_API_BASE_URL, CARBON_INTENSITY_INDEX_BANDS, CARBON_INTENSITY_MAX_WINDOW_DAYS, CARBON_INTENSITY_PERIOD_MINUTES, CARBON_INTENSITY_RANGE_URL, CARBON_INTENSITY_SOURCE_ID, DEFAULT_CARBON_INTENSITY_WINDOW_DAYS, fetchCarbonIntensityWindow, formatCarbonIntensityInstant, parseCarbonIntensityWindow, resolveCarbonIntensityWindow, } from './carbonIntensity.js';
7
+ /** Department for Education Explore Education Statistics publications (keyless). */
8
+ export { buildExploreEducationPublicationsUrl, EXPLORE_EDUCATION_PUBLICATIONS_PAGE_SIZE, EXPLORE_EDUCATION_PUBLICATIONS_URL, EXPLORE_EDUCATION_STATISTICS_SOURCE_ID, exploreEducationStatisticsAdapter, fetchExploreEducationPublications, parseExploreEducationPublications, summarizeExploreEducationPublications, } from './exploreEducationStatistics.js';
7
9
  /** Errors shared by every UK source adapter. */
8
10
  export { UkSourceApiError, UkSourceError, UkSourceParseError } from './errors.js';
11
+ /** Find a Tender procurement notices, published by the Crown Commercial Service (keyless). */
12
+ export { FIND_A_TENDER_RELEASE_LIMIT, FIND_A_TENDER_RELEASE_PACKAGES_URL, FIND_A_TENDER_SOURCE_ID, fetchFindATenderReleases, findATenderAdapter, parseFindATenderReleases, summarizeFindATenderReleases, } from './findATender.js';
13
+ /** Fingertips public health indicator metadata, published by OHID (keyless). */
14
+ export { buildFingertipsIndicatorUrl, DEFAULT_FINGERTIPS_INDICATOR_IDS, fetchFingertipsIndicators, FINGERTIPS_INDICATOR_METADATA_URL, FINGERTIPS_INDICATORS_SOURCE_ID, fingertipsIndicatorsAdapter, parseFingertipsIndicators, summarizeFingertipsIndicators, } from './fingertipsIndicators.js';
9
15
  /** Environment Agency flood-monitoring stations and readings (keyless). */
10
16
  export { DEFAULT_FLOOD_STATION_REFERENCE, fetchFloodStationReadings, fetchFloodStations, floodReadingsAdapter, floodStationsAdapter, parseFloodReadings, parseFloodStations, summarizeFloodReadings, } from './floodMonitoring.js';
11
17
  /** Food Standards Agency food hygiene registers (keyless). */
12
18
  export { DEFAULT_LARGEST_AUTHORITY_LIMIT, fetchFoodHygieneAuthorities, foodHygieneAuthoritiesAdapter, FSA_API_VERSION, FSA_API_VERSION_HEADER, FSA_AUTHORITIES_URL, parseFoodHygieneAuthorities, summarizeFoodHygieneAuthorities, } from './foodHygiene.js';
19
+ /** London Datastore catalogue, published by the Greater London Authority (keyless). */
20
+ export { fetchLondonDatastorePackages, LONDON_DATASTORE_PACKAGE_LIST_URL, LONDON_DATASTORE_SOURCE_ID, londonDatastoreAdapter, parseLondonDatastorePackages, summarizeLondonDatastorePackages, } from './londonDatastore.js';
21
+ /** National Energy System Operator half-hourly generation mix (keyless). */
22
+ export { buildNesoGenerationMixUrl, DEFAULT_NESO_GENERATION_MIX_HALF_HOURS, fetchNesoGenerationMixWindow, MAX_NESO_GENERATION_MIX_HALF_HOURS, NESO_DATA_PORTAL_API_BASE_URL, NESO_DATASTORE_SEARCH_URL, NESO_GENERATION_FUELS, NESO_GENERATION_MIX_RESOURCE_ID, NESO_GENERATION_MIX_SOURCE_ID, nesoGenerationMixAdapter, parseNesoGenerationMix, } from './nesoGenerationMix.js';
23
+ /** NHS Business Services Authority open data catalogue (keyless). */
24
+ export { fetchNhsbsaCkanPackages, NHSBSA_CKAN_PACKAGE_LIST_URL, NHSBSA_CKAN_SOURCE_ID, nhsbsaCkanAdapter, parseNhsbsaCkanPackages, summarizeNhsbsaCkanPackages, } from './nhsbsaCkan.js';
25
+ /** Nomis SDMX dataset catalogue, run by the ONS (keyless). */
26
+ export { fetchNomisDatasetDefinitions, NOMIS_DATASET_DEFINITIONS_URL, NOMIS_KEYWORDS_ANNOTATION, NOMIS_LAST_UPDATED_ANNOTATION, NOMIS_SOURCE_ID, NOMIS_STATUS_ANNOTATION, NOMIS_UNITS_ANNOTATION, nomisAdapter, parseNomisDatasetDefinitions, summarizeNomisDatasetDefinitions, } from './nomis.js';
13
27
  /** Office for National Statistics dataset catalogue (keyless). */
14
28
  export { fetchOnsDatasets, onsDatasetsAdapter, ONS_DATASETS_LIMIT, ONS_DATASETS_URL, parseOnsDatasets, summarizeOnsDatasets, } from './onsDatasets.js';
15
29
  /** UK Parliament state of the parties in the Commons and the Lords (keyless). */
@@ -18,8 +32,22 @@ export { buildParliamentSeatsUrl, fetchParliamentSeats, formatParliamentQueryDat
18
32
  export { DEFAULT_LARGEST_DATASET_LIMIT, fetchPlanningDatasets, parsePlanningDatasets, planningDatasetsAdapter, PLANNING_DATASET_REALM, PLANNING_DATASETS_URL, summarizePlanningDatasets, } from './planningDatasets.js';
19
33
  /** Home Office police.uk street-level recorded crime (keyless). */
20
34
  export { buildPoliceStreetCrimesUrl, DEFAULT_POLICE_CRIME_LOCATION, DEFAULT_POLICE_CRIME_MONTH_COUNT, fetchPoliceCrimeCategories, fetchPoliceCrimeMonths, fetchPoliceCrimeSummary, parsePoliceCrimeSummary, policeCrimesAdapter, POLICE_API_BASE_URL, POLICE_CRIME_CATEGORIES_URL, POLICE_CRIMES_SOURCE_ID, POLICE_STREET_CRIMES_RADIUS_MILES, POLICE_STREET_CRIMES_URL, POLICE_STREET_DATES_URL, } from './policeCrimes.js';
35
+ /** postcodes.io single postcode lookup (keyless, third-party service, OGL data). */
36
+ export { buildPostcodeLookupUrl, DEFAULT_POSTCODE_QUERY, fetchPostcodeLookup, parsePostcodeLookup, POSTCODE_LOOKUP_SOURCE_ID, POSTCODES_IO_BASE_URL, postcodeLookupAdapter, } from './postcodeLookup.js';
37
+ /** Public Health Scotland open data catalogue (keyless). */
38
+ export { fetchPublicHealthScotlandDatasets, PUBLIC_HEALTH_SCOTLAND_PACKAGE_LIST_URL, PUBLIC_HEALTH_SCOTLAND_SOURCE_ID, parsePublicHealthScotlandDatasets, publicHealthScotlandAdapter, summarizePublicHealthScotlandDatasets, } from './publicHealthScotland.js';
21
39
  /** Transport for London Santander Cycles docking stations (keyless). */
22
40
  export { DEFAULT_LARGEST_STATION_LIMIT, fetchTflBikePoints, parseTflBikePoints, summarizeTflBikePoints, tflBikePointsAdapter, TFL_BIKE_POINTS_URL, } from './tflBikePoints.js';
41
+ /** Transport for London Tube line status (keyless). */
42
+ export { fetchTflLineStatuses, parseTflLineStatuses, summarizeTflLineStatuses, TFL_LINE_STATUS_GOOD_SERVICE_SEVERITY, TFL_LINE_STATUS_SOURCE_ID, TFL_LINE_STATUS_URL, tflLineStatusAdapter, } from './tflLineStatus.js';
43
+ /** The National Archives Discovery catalogue search (keyless). */
44
+ export { buildTnaDiscoverySearchUrl, DEFAULT_TNA_DISCOVERY_QUERY, fetchTnaDiscoveryRecords, parseTnaDiscoveryRecords, summarizeTnaDiscoverySearch, TNA_DISCOVERY_ACCEPT_HEADER, TNA_DISCOVERY_SEARCH_URL, TNA_DISCOVERY_SOURCE_ID, tnaDiscoveryAdapter, } from './tnaDiscovery.js';
45
+ /** UK Health Security Agency data dashboard metric points (keyless). */
46
+ export { buildUkhsaMetricUrl, fetchUkhsaMetricPoints, parseUkhsaMetricPoints, summarizeUkhsaMetricPoints, UKHSA_DASHBOARD_API_BASE_URL, UKHSA_DASHBOARD_METRIC_PATH, UKHSA_DASHBOARD_PAGE_SIZE, UKHSA_DASHBOARD_SOURCE_ID, ukhsaDashboardAdapter, } from './ukhsaDashboard.js';
23
47
  /** The uniform adapter registry and probe helpers. */
24
48
  export { UK_DATA_SOURCES, getUkDataSource, probeAllUkDataSources, probeUkDataSource, } from './registry.js';
49
+ /** API key normalization shared by adapters, the API, and the CLI. */
50
+ export { normalizeSourceApiKey } from './apiKey.js';
51
+ /** The shared HTTP layer every adapter fetch goes through. */
52
+ export { httpGet, USER_AGENT, DEFAULT_TIMEOUT_MS } from './http.js';
25
53
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAU9B,+EAA+E;AAC/E,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAGvB,8EAA8E;AAC9E,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,0BAA0B,EAC1B,oCAAoC,EACpC,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAQ9B,gDAAgD;AAChD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClF,2EAA2E;AAC3E,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAQ9B,8DAA8D;AAC9D,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAG1B,kEAAkE;AAClE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,iFAAiF;AACjF,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,+BAA+B,EAC/B,0BAA0B,EAC1B,gCAAgC,EAChC,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAQ9B,8EAA8E;AAC9E,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,mEAAmE;AACnE,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,gCAAgC,EAChC,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACvB,iCAAiC,EACjC,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAW3B,wEAAwE;AACxE,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAG5B,sDAAsD;AACtD,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { UkDataAdapter } from './types.js';
2
+ /**
3
+ * The London Datastore, the Greater London Authority's open data catalogue,
4
+ * served by CKAN. Keyless, published under the Open Government Licence v3.
5
+ */
6
+ export declare const LONDON_DATASTORE_SOURCE_ID = "london-datastore";
7
+ /**
8
+ * The CKAN package_list call. The service answers a 307 redirect from this
9
+ * path to /api/action/package_list, which fetch follows on its own.
10
+ */
11
+ export declare const LONDON_DATASTORE_PACKAGE_LIST_URL = "https://data.london.gov.uk/api/3/action/package_list";
12
+ /** One dataset in the London Datastore catalogue. */
13
+ export interface LondonDatastorePackage {
14
+ /** CKAN package name, the identifier used in every other CKAN call. */
15
+ name: string;
16
+ }
17
+ /** Rolled-up view of the London Datastore catalogue. */
18
+ export interface LondonDatastoreSummary {
19
+ packageCount: number;
20
+ }
21
+ /**
22
+ * Parses a London Datastore package_list payload.
23
+ *
24
+ * @param payload - the raw JSON body from the CKAN package_list call
25
+ * @returns one entry per dataset in the catalogue
26
+ */
27
+ export declare function parseLondonDatastorePackages(payload: unknown): LondonDatastorePackage[];
28
+ /**
29
+ * Counts the London Datastore catalogue.
30
+ *
31
+ * @param packages - package names from {@link parseLondonDatastorePackages}
32
+ * @returns the number of datasets listed
33
+ */
34
+ export declare function summarizeLondonDatastorePackages(packages: LondonDatastorePackage[]): LondonDatastoreSummary;
35
+ /**
36
+ * Lists every dataset in the London Datastore catalogue.
37
+ *
38
+ * @param options - an optional fetch implementation
39
+ * @returns the package names the catalogue returns
40
+ */
41
+ export declare function fetchLondonDatastorePackages(options?: {
42
+ fetchImpl?: typeof globalThis.fetch;
43
+ }): Promise<LondonDatastorePackage[]>;
44
+ /** London Datastore catalogue, keyless. */
45
+ export declare const londonDatastoreAdapter: UkDataAdapter<LondonDatastorePackage[]>;
46
+ //# sourceMappingURL=londonDatastore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"londonDatastore.d.ts","sourceRoot":"","sources":["../src/londonDatastore.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,iCAAiC,yDACU,CAAC;AAEzD,qDAAqD;AACrD,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wDAAwD;AACxD,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB;AAOD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,sBAAsB,EAAE,CAMvF;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,sBAAsB,EAAE,GACjC,sBAAsB,CAExB;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAAO,GACpD,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAMnC;AAED,2CAA2C;AAC3C,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,sBAAsB,EAAE,CAY1E,CAAC"}