siar-client 0.0.1

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 (46) hide show
  1. package/README.md +19 -0
  2. package/dist/client/data/DataService.d.ts +72 -0
  3. package/dist/client/data/DataService.d.ts.map +1 -0
  4. package/dist/client/data/DataService.js +136 -0
  5. package/dist/client/data/DataService.js.map +1 -0
  6. package/dist/client/information/InformationService.d.ts +52 -0
  7. package/dist/client/information/InformationService.d.ts.map +1 -0
  8. package/dist/client/information/InformationService.js +126 -0
  9. package/dist/client/information/InformationService.js.map +1 -0
  10. package/dist/index.d.ts +4 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +3 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/internal/Models.d.ts +10 -0
  15. package/dist/internal/Models.d.ts.map +1 -0
  16. package/dist/internal/Models.js +2 -0
  17. package/dist/internal/Models.js.map +1 -0
  18. package/dist/internal/data/Models.d.ts +179 -0
  19. package/dist/internal/data/Models.d.ts.map +1 -0
  20. package/dist/internal/data/Models.js +2 -0
  21. package/dist/internal/data/Models.js.map +1 -0
  22. package/dist/internal/information/Models.d.ts +69 -0
  23. package/dist/internal/information/Models.d.ts.map +1 -0
  24. package/dist/internal/information/Models.js +2 -0
  25. package/dist/internal/information/Models.js.map +1 -0
  26. package/dist/mappers/Mappers.d.ts +37 -0
  27. package/dist/mappers/Mappers.d.ts.map +1 -0
  28. package/dist/mappers/Mappers.js +160 -0
  29. package/dist/mappers/Mappers.js.map +1 -0
  30. package/dist/public/Models.d.ts +5 -0
  31. package/dist/public/Models.d.ts.map +1 -0
  32. package/dist/public/Models.js +2 -0
  33. package/dist/public/Models.js.map +1 -0
  34. package/dist/public/SIARClient.d.ts +55 -0
  35. package/dist/public/SIARClient.d.ts.map +1 -0
  36. package/dist/public/SIARClient.js +73 -0
  37. package/dist/public/SIARClient.js.map +1 -0
  38. package/dist/public/data/Models.d.ts +196 -0
  39. package/dist/public/data/Models.d.ts.map +1 -0
  40. package/dist/public/data/Models.js +20 -0
  41. package/dist/public/data/Models.js.map +1 -0
  42. package/dist/public/information/Models.d.ts +78 -0
  43. package/dist/public/information/Models.d.ts.map +1 -0
  44. package/dist/public/information/Models.js +11 -0
  45. package/dist/public/information/Models.js.map +1 -0
  46. package/package.json +40 -0
package/README.md ADDED
@@ -0,0 +1,19 @@
1
+ # siar-client
2
+
3
+ ## What is this?
4
+
5
+ A client for the [SIAR platform](https://servicio.mapa.gob.es/websiar/Inicio.aspx) to ease the use of it written in typescript.
6
+
7
+ # How do I install it?
8
+
9
+ Working on it...
10
+
11
+ It is planned to provide it through npm.
12
+
13
+ # How do I use it?
14
+
15
+ Working on it...
16
+
17
+ # What’s supported?
18
+
19
+ Working on it...
@@ -0,0 +1,72 @@
1
+ import { Scope, type HourlyData, type DailyData, type WeeklyData, type MonthlyData } from "../../public/data/Models.js";
2
+ import type { GeneralResponse } from "../../public/Models.js";
3
+ /**
4
+ * Parámetros para realizar una petición de datos
5
+ */
6
+ export interface DataPetitionParams {
7
+ /** Identificadores de ámbito (pueden ser uno o varios) */
8
+ ids: string[];
9
+ /** Fecha inicial en formato AAAA-MM-DD */
10
+ startDate: string;
11
+ /** Fecha final en formato AAAA-MM-DD */
12
+ endDate: string;
13
+ /** OPCIONAL: Fecha de última modificación en formato AAAA-MM-DD */
14
+ lastModifiedDate?: string;
15
+ }
16
+ /**
17
+ * Servicio para realizar peticiones de datos a la Web API SIAR
18
+ */
19
+ export declare class DataPetitionService {
20
+ private baseUrl;
21
+ private apiKey;
22
+ /**
23
+ * Constructor del servicio
24
+ * @param apiKey Clave de cliente API de 50 caracteres
25
+ */
26
+ constructor(apiKey: string);
27
+ /**
28
+ * Construye la URL completa para una petición de datos
29
+ * @param tipoDatos Tipo de datos a solicitar
30
+ * @param ambito Ámbito de la petición
31
+ * @param params Parámetros de la petición
32
+ * @returns URL completa para la petición
33
+ */
34
+ private buildUrl;
35
+ /**
36
+ * Realiza una petición de datos a la API
37
+ * @param tipoDatos Tipo de datos a solicitar
38
+ * @param ambito Ámbito de la petición
39
+ * @param params Parámetros de la petición
40
+ * @returns Promesa con la respuesta de la API
41
+ */
42
+ private fetchData;
43
+ /**
44
+ * Obtiene datos horarios (se registra cada media hora, 48 datos por día)
45
+ * @param scope Ámbito de la petición (CCAA, Provincia, Estacion)
46
+ * @param params Parámetros de la petición
47
+ * @returns Promesa con los datos horarios
48
+ */
49
+ fetchHourlyData(scope: Scope, params: DataPetitionParams): Promise<GeneralResponse<HourlyData[]>>;
50
+ /**
51
+ * Obtiene datos diarios
52
+ * @param ambito Ámbito de la petición (CCAA, Provincia, Estacion)
53
+ * @param params Parámetros de la petición
54
+ * @returns Promesa con los datos diarios
55
+ */
56
+ fetchDailyData(ambito: Scope, params: DataPetitionParams): Promise<GeneralResponse<DailyData[]>>;
57
+ /**
58
+ * Obtiene datos semanales
59
+ * @param ambito Ámbito de la petición (CCAA, Provincia, Estacion)
60
+ * @param params Parámetros de la petición
61
+ * @returns Promesa con los datos semanales
62
+ */
63
+ fetchWeeklyData(ambito: Scope, params: DataPetitionParams): Promise<GeneralResponse<WeeklyData[]>>;
64
+ /**
65
+ * Obtiene datos mensuales
66
+ * @param ambito Ámbito de la petición (CCAA, Provincia, Estacion)
67
+ * @param params Parámetros de la petición
68
+ * @returns Promesa con los datos mensuales
69
+ */
70
+ fetchMonthlyData(ambito: Scope, params: DataPetitionParams): Promise<GeneralResponse<MonthlyData[]>>;
71
+ }
72
+ //# sourceMappingURL=DataService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataService.d.ts","sourceRoot":"","sources":["../../../src/client/data/DataService.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,EAEL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CACyC;IACxD,OAAO,CAAC,MAAM,CAAS;IAEvB;;;OAGG;gBACS,MAAM,EAAE,MAAM;IAI1B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IA2BhB;;;;;;OAMG;YACW,SAAS;IAuCvB;;;;;OAKG;IACG,eAAe,CACnB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;IAezC;;;;;OAKG;IACG,cAAc,CAClB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;IAexC;;;;;OAKG;IACG,eAAe,CACnB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;IAezC;;;;;OAKG;IACG,gBAAgB,CACpB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;CAc3C"}
@@ -0,0 +1,136 @@
1
+ import { mapDatoHorarioToHourlyData, mapDatoDiarioToDailyData, mapDatoSemanalToWeeklyData, mapDatoMensualToMonthlyData, } from "../../mappers/Mappers.js";
2
+ import { Scope, DataType, } from "../../public/data/Models.js";
3
+ /**
4
+ * Servicio para realizar peticiones de datos a la Web API SIAR
5
+ */
6
+ export class DataPetitionService {
7
+ baseUrl = "https://servicio.mapama.gob.es/apisiar/API/v1/Datos";
8
+ apiKey;
9
+ /**
10
+ * Constructor del servicio
11
+ * @param apiKey Clave de cliente API de 50 caracteres
12
+ */
13
+ constructor(apiKey) {
14
+ this.apiKey = apiKey;
15
+ }
16
+ /**
17
+ * Construye la URL completa para una petición de datos
18
+ * @param tipoDatos Tipo de datos a solicitar
19
+ * @param ambito Ámbito de la petición
20
+ * @param params Parámetros de la petición
21
+ * @returns URL completa para la petición
22
+ */
23
+ buildUrl(tipoDatos, ambito, params) {
24
+ const { ids, startDate, endDate, lastModifiedDate } = params;
25
+ // Construir la URL base con tipo de datos y ámbito
26
+ let url = `${this.baseUrl}/${tipoDatos}/${ambito}?`;
27
+ // Agregar los identificadores
28
+ const idParams = ids.map((id) => `Id=${encodeURIComponent(id)}`).join("&");
29
+ url += idParams;
30
+ // Agregar fechas y clave API
31
+ url += `&FechaInicial=${startDate}`;
32
+ url += `&FechaFinal=${endDate}`;
33
+ url += `&ClaveAPI=${this.apiKey}`;
34
+ // Agregar fecha de última modificación si está presente
35
+ if (lastModifiedDate) {
36
+ url += `&FechaUltModificacion=${lastModifiedDate}`;
37
+ }
38
+ return url;
39
+ }
40
+ /**
41
+ * Realiza una petición de datos a la API
42
+ * @param tipoDatos Tipo de datos a solicitar
43
+ * @param ambito Ámbito de la petición
44
+ * @param params Parámetros de la petición
45
+ * @returns Promesa con la respuesta de la API
46
+ */
47
+ async fetchData(tipoDatos, ambito, params) {
48
+ const url = this.buildUrl(tipoDatos, ambito, params);
49
+ try {
50
+ const response = await fetch(url, {
51
+ method: "GET",
52
+ headers: {
53
+ Accept: "application/json",
54
+ },
55
+ });
56
+ if (!response.ok) {
57
+ return {
58
+ MensajeRespuesta: null,
59
+ error: {
60
+ type: "http",
61
+ statusCode: response.status,
62
+ details: `HTTP error! status: ${response.status}`,
63
+ },
64
+ };
65
+ }
66
+ const data = await response.json();
67
+ return data;
68
+ }
69
+ catch (error) {
70
+ return {
71
+ MensajeRespuesta: null,
72
+ error: {
73
+ type: error instanceof TypeError ? "network" : "parse",
74
+ details: error instanceof Error ? error.message : String(error),
75
+ },
76
+ };
77
+ }
78
+ }
79
+ /**
80
+ * Obtiene datos horarios (se registra cada media hora, 48 datos por día)
81
+ * @param scope Ámbito de la petición (CCAA, Provincia, Estacion)
82
+ * @param params Parámetros de la petición
83
+ * @returns Promesa con los datos horarios
84
+ */
85
+ async fetchHourlyData(scope, params) {
86
+ const response = await this.fetchData(DataType.Hourly, scope, params);
87
+ const mappedData = response.Datos?.map(mapDatoHorarioToHourlyData) ?? [];
88
+ return {
89
+ data: mappedData,
90
+ message: response.MensajeRespuesta,
91
+ };
92
+ }
93
+ /**
94
+ * Obtiene datos diarios
95
+ * @param ambito Ámbito de la petición (CCAA, Provincia, Estacion)
96
+ * @param params Parámetros de la petición
97
+ * @returns Promesa con los datos diarios
98
+ */
99
+ async fetchDailyData(ambito, params) {
100
+ const response = await this.fetchData(DataType.Daily, ambito, params);
101
+ const mappedData = response.Datos?.map(mapDatoDiarioToDailyData) ?? [];
102
+ return {
103
+ data: mappedData,
104
+ message: response.MensajeRespuesta,
105
+ };
106
+ }
107
+ /**
108
+ * Obtiene datos semanales
109
+ * @param ambito Ámbito de la petición (CCAA, Provincia, Estacion)
110
+ * @param params Parámetros de la petición
111
+ * @returns Promesa con los datos semanales
112
+ */
113
+ async fetchWeeklyData(ambito, params) {
114
+ const response = await this.fetchData(DataType.Weekly, ambito, params);
115
+ const mappedData = response.Datos?.map(mapDatoSemanalToWeeklyData) ?? [];
116
+ return {
117
+ data: mappedData,
118
+ message: response.MensajeRespuesta,
119
+ };
120
+ }
121
+ /**
122
+ * Obtiene datos mensuales
123
+ * @param ambito Ámbito de la petición (CCAA, Provincia, Estacion)
124
+ * @param params Parámetros de la petición
125
+ * @returns Promesa con los datos mensuales
126
+ */
127
+ async fetchMonthlyData(ambito, params) {
128
+ const response = await this.fetchData(DataType.Monthly, ambito, params);
129
+ const mappedData = response.Datos?.map(mapDatoMensualToMonthlyData) ?? [];
130
+ return {
131
+ data: mappedData,
132
+ message: response.MensajeRespuesta,
133
+ };
134
+ }
135
+ }
136
+ //# sourceMappingURL=DataService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataService.js","sourceRoot":"","sources":["../../../src/client/data/DataService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { type AutonomousCommunity, type Province, type Station, type AccessInformation } from "../../public/information/Models.js";
2
+ import type { GeneralResponse } from "../../public/Models.js";
3
+ /**
4
+ * Servicio para obtener información de permisos y accesos en la Web API SIAR
5
+ */
6
+ export declare class InformationService {
7
+ private baseUrl;
8
+ private apiKey;
9
+ /**
10
+ * Constructor del servicio
11
+ * @param apiKey Clave de cliente API de 50 caracteres
12
+ */
13
+ constructor(apiKey: string);
14
+ /**
15
+ * Construye la URL completa para una petición de información
16
+ * @param tipoInformacion Tipo de información a solicitar
17
+ * @returns URL completa para la petición
18
+ */
19
+ private buildUrl;
20
+ /**
21
+ * Realiza una petición de información a la API
22
+ * @param tipoInformacion Tipo de información a solicitar
23
+ * @returns Promesa con la respuesta de la API
24
+ */
25
+ private fetchInformation;
26
+ /**
27
+ * Obtiene los identificadores y descripciones de las comunidades autónomas
28
+ * sobre cuyos datos tiene autorización el cliente
29
+ * @returns Promesa con la lista de comunidades autónomas
30
+ */
31
+ fetchAutonomousCommunities(): Promise<GeneralResponse<AutonomousCommunity[]>>;
32
+ /**
33
+ * Obtiene los identificadores y descripciones de las provincias
34
+ * sobre cuyos datos tiene autorización el cliente
35
+ * @returns Promesa con la lista de provincias
36
+ */
37
+ fetchProvinces(): Promise<GeneralResponse<Province[]>>;
38
+ /**
39
+ * Obtiene los identificadores y descripciones de las estaciones
40
+ * sobre cuyos datos tiene autorización el cliente
41
+ * @returns Promesa con la lista de estaciones
42
+ */
43
+ fetchStations(): Promise<GeneralResponse<Station[]>>;
44
+ /**
45
+ * Obtiene información acerca de las limitaciones en el número de accesos
46
+ * máximos a realizar por minuto y por día así como la cifra real de accesos
47
+ * realizados por el cliente
48
+ * @returns Promesa con la información de accesos
49
+ */
50
+ fetchAccessData(): Promise<GeneralResponse<AccessInformation>>;
51
+ }
52
+ //# sourceMappingURL=InformationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InformationService.d.ts","sourceRoot":"","sources":["../../../src/client/information/InformationService.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CACwC;IACvD,OAAO,CAAC,MAAM,CAAS;IAEvB;;;OAGG;gBACS,MAAM,EAAE,MAAM;IAI1B;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;;OAIG;YACW,gBAAgB;IAsC9B;;;;OAIG;IACG,0BAA0B,IAAI,OAAO,CACzC,eAAe,CAAC,mBAAmB,EAAE,CAAC,CACvC;IAWD;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;IAa5D;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAa1D;;;;;OAKG;IACG,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;CAuBrE"}
@@ -0,0 +1,126 @@
1
+ import { mapCCAA, mapProvincia, mapEstacion, mapInformacionAccesos, } from "../../mappers/Mappers.js";
2
+ import { TipoInformacion, } from "../../public/information/Models.js";
3
+ /**
4
+ * Servicio para obtener información de permisos y accesos en la Web API SIAR
5
+ */
6
+ export class InformationService {
7
+ baseUrl = "https://servicio.mapama.gob.es/apisiar/API/v1/Info";
8
+ apiKey;
9
+ /**
10
+ * Constructor del servicio
11
+ * @param apiKey Clave de cliente API de 50 caracteres
12
+ */
13
+ constructor(apiKey) {
14
+ this.apiKey = apiKey;
15
+ }
16
+ /**
17
+ * Construye la URL completa para una petición de información
18
+ * @param tipoInformacion Tipo de información a solicitar
19
+ * @returns URL completa para la petición
20
+ */
21
+ buildUrl(tipoInformacion) {
22
+ return `${this.baseUrl}/${tipoInformacion}?ClaveAPI=${this.apiKey}`;
23
+ }
24
+ /**
25
+ * Realiza una petición de información a la API
26
+ * @param tipoInformacion Tipo de información a solicitar
27
+ * @returns Promesa con la respuesta de la API
28
+ */
29
+ async fetchInformation(tipoInformacion) {
30
+ const url = this.buildUrl(tipoInformacion);
31
+ try {
32
+ const response = await fetch(url, {
33
+ method: "GET",
34
+ headers: {
35
+ Accept: "application/json",
36
+ },
37
+ });
38
+ if (!response.ok) {
39
+ return {
40
+ MensajeRespuesta: null,
41
+ error: {
42
+ type: "http",
43
+ statusCode: response.status,
44
+ details: `HTTP error! status: ${response.status}`,
45
+ },
46
+ };
47
+ }
48
+ const data = await response.json();
49
+ return data;
50
+ }
51
+ catch (error) {
52
+ return {
53
+ MensajeRespuesta: null,
54
+ error: {
55
+ type: error instanceof TypeError ? "network" : "parse",
56
+ details: error instanceof Error ? error.message : String(error),
57
+ },
58
+ };
59
+ }
60
+ }
61
+ /**
62
+ * Obtiene los identificadores y descripciones de las comunidades autónomas
63
+ * sobre cuyos datos tiene autorización el cliente
64
+ * @returns Promesa con la lista de comunidades autónomas
65
+ */
66
+ async fetchAutonomousCommunities() {
67
+ const response = await this.fetchInformation(TipoInformacion.CCAA);
68
+ const mappedData = response.Datos?.map(mapCCAA) ?? [];
69
+ return {
70
+ data: mappedData,
71
+ message: response.MensajeRespuesta,
72
+ };
73
+ }
74
+ /**
75
+ * Obtiene los identificadores y descripciones de las provincias
76
+ * sobre cuyos datos tiene autorización el cliente
77
+ * @returns Promesa con la lista de provincias
78
+ */
79
+ async fetchProvinces() {
80
+ const response = await this.fetchInformation(TipoInformacion.Provincias);
81
+ const mappedData = response.Datos?.map(mapProvincia) ?? [];
82
+ return {
83
+ data: mappedData,
84
+ message: response.MensajeRespuesta,
85
+ };
86
+ }
87
+ /**
88
+ * Obtiene los identificadores y descripciones de las estaciones
89
+ * sobre cuyos datos tiene autorización el cliente
90
+ * @returns Promesa con la lista de estaciones
91
+ */
92
+ async fetchStations() {
93
+ const response = await this.fetchInformation(TipoInformacion.Estaciones);
94
+ const mappedData = response.Datos?.map(mapEstacion) ?? [];
95
+ return {
96
+ data: mappedData,
97
+ message: response.MensajeRespuesta,
98
+ };
99
+ }
100
+ /**
101
+ * Obtiene información acerca de las limitaciones en el número de accesos
102
+ * máximos a realizar por minuto y por día así como la cifra real de accesos
103
+ * realizados por el cliente
104
+ * @returns Promesa con la información de accesos
105
+ */
106
+ async fetchAccessData() {
107
+ const response = await this.fetchInformation(TipoInformacion.Accesos);
108
+ const mappedData = response.Datos
109
+ ? mapInformacionAccesos(response.Datos)
110
+ : {
111
+ accessesCurrentMinute: 0,
112
+ maxAccessesPerMinute: 0,
113
+ accessesCurrentDay: 0,
114
+ maxAccessesPerDay: 0,
115
+ recordsCurrentMinute: 0,
116
+ maxRecordsPerMinute: 0,
117
+ recordsCurrentDay: 0,
118
+ maxRecordsPerDay: 0,
119
+ };
120
+ return {
121
+ data: mappedData,
122
+ message: response.MensajeRespuesta,
123
+ };
124
+ }
125
+ }
126
+ //# sourceMappingURL=InformationService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InformationService.js","sourceRoot":"","sources":["../../../src/client/information/InformationService.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,OAAO,EACP,YAAY,EACZ,WAAW,EACX,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,GAKhB,MAAM,oCAAoC,CAAC;AAG5C;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACrB,OAAO,GACb,oDAAoD,CAAC;IAC/C,MAAM,CAAS;IAEvB;;;OAGG;IACH,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACK,QAAQ,CAAC,eAAgC;QAC/C,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,eAAe,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAC5B,eAAgC;QAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,MAAM,EAAE,kBAAkB;iBAC3B;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO;oBACL,gBAAgB,EAAE,IAAI;oBACtB,KAAK,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,UAAU,EAAE,QAAQ,CAAC,MAAM;wBAC3B,OAAO,EAAE,uBAAuB,QAAQ,CAAC,MAAM,EAAE;qBAClD;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GACR,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,gBAAgB,EAAE,IAAI;gBACtB,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,YAAY,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oBACtD,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAChE;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,0BAA0B;QAG9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAS,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3E,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEtD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,QAAQ,CAAC,gBAAgB;SACnC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC1C,eAAe,CAAC,UAAU,CAC3B,CAAC;QAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAE3D,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,QAAQ,CAAC,gBAAgB;SACnC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC1C,eAAe,CAAC,UAAU,CAC3B,CAAC;QAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAE1D,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,QAAQ,CAAC,gBAAgB;SACnC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC1C,eAAe,CAAC,OAAO,CACxB,CAAC;QAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK;YAC/B,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC;YACvC,CAAC,CAAC;gBACE,qBAAqB,EAAE,CAAC;gBACxB,oBAAoB,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC;gBACrB,iBAAiB,EAAE,CAAC;gBACpB,oBAAoB,EAAE,CAAC;gBACvB,mBAAmB,EAAE,CAAC;gBACtB,iBAAiB,EAAE,CAAC;gBACpB,gBAAgB,EAAE,CAAC;aACpB,CAAC;QAEN,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,QAAQ,CAAC,gBAAgB;SACnC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export type { HourlyData, DailyData, WeeklyData, MonthlyData, } from "./public/data/Models.js";
2
+ export { DataType, Scope } from "./public/data/Models.js";
3
+ export { SIARClient } from "./public/SIARClient.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { DataType, Scope } from "./public/data/Models.js";
2
+ export { SIARClient } from "./public/SIARClient.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface RespuestaGeneral<T> {
2
+ Datos?: T;
3
+ MensajeRespuesta: string | null;
4
+ error?: {
5
+ type: "network" | "http" | "parse";
6
+ statusCode?: number;
7
+ details: string;
8
+ };
9
+ }
10
+ //# sourceMappingURL=Models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../src/internal/Models.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;QACnC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Models.js","sourceRoot":"","sources":["../../src/internal/Models.ts"],"names":[],"mappings":""}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Datos horarios - Se registra cada media hora (48 datos por día)
3
+ */
4
+ export interface DatoHorario {
5
+ /** Hora y minutos (0-30) */
6
+ HoraMin: number;
7
+ /** Temperatura media en °C */
8
+ TempMedia: number;
9
+ /** Humedad media en % */
10
+ HumedadMedia: number;
11
+ /** Velocidad del viento en m/s */
12
+ VelViento: number;
13
+ /** Dirección del viento en grados */
14
+ DirViento: number;
15
+ /** Radiación solar en MJ/m² */
16
+ Radiacion: number;
17
+ /** Precipitación en mm */
18
+ Precipitacion: number;
19
+ /** Temperatura del suelo 1 en °C (puede ser null) */
20
+ TempSuelo1: number | null;
21
+ /** Temperatura del suelo 2 en °C (puede ser null) */
22
+ TempSuelo2: number | null;
23
+ /** Código de la estación */
24
+ Estacion: string;
25
+ /** Fecha del dato (formato ISO 8601) */
26
+ Fecha: string;
27
+ }
28
+ /**
29
+ * Datos diarios
30
+ */
31
+ export interface DatoDiario {
32
+ /** Temperatura media en °C */
33
+ TempMedia: number;
34
+ /** Temperatura máxima en °C */
35
+ TempMax: number;
36
+ /** Hora y minuto de la temperatura máxima (formato HHMM) */
37
+ HorMinTempMax: number;
38
+ /** Temperatura mínima en °C */
39
+ TempMin: number;
40
+ /** Hora y minuto de la temperatura mínima (formato HHMM) */
41
+ HorMinTempMin: number;
42
+ /** Humedad media en % */
43
+ HumedadMedia: number;
44
+ /** Humedad máxima en % */
45
+ HumedadMax: number;
46
+ /** Hora y minuto de la humedad máxima (formato HHMM) */
47
+ HorMinHumMax: number;
48
+ /** Humedad mínima en % */
49
+ HumedadMin: number;
50
+ /** Hora y minuto de la humedad mínima (formato HHMM) */
51
+ HorMinHumMin: number;
52
+ /** Velocidad media del viento en m/s */
53
+ VelViento: number;
54
+ /** Dirección media del viento en grados */
55
+ DirViento: number;
56
+ /** Velocidad máxima del viento en m/s */
57
+ VelVientoMax: number;
58
+ /** Hora y minuto de la velocidad máxima del viento (formato HHMM) */
59
+ HorMinVelMax: number;
60
+ /** Dirección del viento a velocidad máxima en grados */
61
+ DirVientoVelMax: number;
62
+ /** Radiación solar en MJ/m² */
63
+ Radiacion: number;
64
+ /** Precipitación en mm */
65
+ Precipitacion: number;
66
+ /** Temperatura del suelo 1 en °C (puede ser null) */
67
+ TempSuelo1: number | null;
68
+ /** Temperatura del suelo 2 en °C (puede ser null) */
69
+ TempSuelo2: number | null;
70
+ /** Evapotranspiración de referencia método Penman-Monteith en mm */
71
+ EtPMon: number;
72
+ /** Precipitación efectiva método Penman-Monteith en mm */
73
+ PePMon: number;
74
+ /** Código de la estación */
75
+ Estacion: string;
76
+ /** Fecha del dato (formato ISO 8601) */
77
+ Fecha: string;
78
+ }
79
+ /**
80
+ * Datos semanales
81
+ */
82
+ export interface DatoSemanal {
83
+ /** Año */
84
+ Año: number;
85
+ /** Número de semana */
86
+ Semana: number;
87
+ /** Temperatura media en °C */
88
+ TempMedia: number;
89
+ /** Temperatura máxima en °C */
90
+ TempMax: number;
91
+ /** Día, hora y minuto de la temperatura máxima (formato ISO 8601) */
92
+ DiaHorMinTempMax: string;
93
+ /** Temperatura mínima en °C */
94
+ TempMin: number;
95
+ /** Día, hora y minuto de la temperatura mínima (formato ISO 8601) */
96
+ DiaHorMinTempMin: string;
97
+ /** Humedad media en % */
98
+ HumedadMedia: number;
99
+ /** Humedad máxima en % */
100
+ HumedadMax: number;
101
+ /** Día, hora y minuto de la humedad máxima (formato ISO 8601) */
102
+ DiaHorMinHumMax: string;
103
+ /** Humedad mínima en % */
104
+ HumedadMin: number;
105
+ /** Día, hora y minuto de la humedad mínima (formato ISO 8601) */
106
+ DiaHorMinHumMin: string;
107
+ /** Velocidad media del viento en m/s */
108
+ VelViento: number;
109
+ /** Dirección media del viento en grados */
110
+ DirViento: number;
111
+ /** Velocidad máxima del viento en m/s */
112
+ VelVientoMax: number;
113
+ /** Día, hora y minuto de la velocidad máxima del viento (formato ISO 8601) */
114
+ DiaHorMinVelMax: string;
115
+ /** Dirección del viento a velocidad máxima en grados */
116
+ DirVientoVelMax: number;
117
+ /** Radiación solar en MJ/m² */
118
+ Radiacion: number;
119
+ /** Precipitación en mm */
120
+ Precipitacion: number;
121
+ /** Evapotranspiración de referencia método Penman-Monteith en mm */
122
+ EtPMon: number;
123
+ /** Precipitación efectiva método Penman-Monteith en mm */
124
+ PePMon: number;
125
+ /** Código de la estación */
126
+ Estacion: string;
127
+ }
128
+ /**
129
+ * Datos mensuales
130
+ */
131
+ export interface DatoMensual {
132
+ /** Año */
133
+ Año: number;
134
+ /** Mes (1-12) */
135
+ Mes: number;
136
+ /** Número de días del mes */
137
+ NumDias: number;
138
+ /** Temperatura media en °C */
139
+ TempMedia: number;
140
+ /** Temperatura máxima en °C */
141
+ TempMax: number;
142
+ /** Día, hora y minuto de la temperatura máxima (formato ISO 8601) */
143
+ DiaHorMinTempMax: string;
144
+ /** Temperatura mínima en °C */
145
+ TempMin: number;
146
+ /** Día, hora y minuto de la temperatura mínima (formato ISO 8601) */
147
+ DiaHorMinTempMin: string;
148
+ /** Humedad media en % */
149
+ HumedadMedia: number;
150
+ /** Humedad máxima en % */
151
+ HumedadMax: number;
152
+ /** Día, hora y minuto de la humedad máxima (formato ISO 8601) */
153
+ DiaHorMinHumMax: string;
154
+ /** Humedad mínima en % */
155
+ HumedadMin: number;
156
+ /** Día, hora y minuto de la humedad mínima (formato ISO 8601) */
157
+ DiaHorMinHumMin: string;
158
+ /** Velocidad media del viento en m/s */
159
+ VelViento: number;
160
+ /** Dirección media del viento en grados */
161
+ DirViento: number;
162
+ /** Velocidad máxima del viento en m/s */
163
+ VelVientoMax: number;
164
+ /** Día, hora y minuto de la velocidad máxima del viento (formato ISO 8601) */
165
+ DiaHorMinVelMax: string;
166
+ /** Dirección del viento a velocidad máxima en grados */
167
+ DirVientoVelMax: number;
168
+ /** Radiación solar en MJ/m² */
169
+ Radiacion: number;
170
+ /** Precipitación en mm */
171
+ Precipitacion: number;
172
+ /** Evapotranspiración de referencia método Penman-Monteith en mm */
173
+ EtPMon: number;
174
+ /** Precipitación efectiva método Penman-Monteith en mm */
175
+ PePMon: number;
176
+ /** Código de la estación */
177
+ Estacion: string;
178
+ }
179
+ //# sourceMappingURL=Models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Models.d.ts","sourceRoot":"","sources":["../../../src/internal/data/Models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Models.js.map