@acorex-platform/extension-weather-core-gateway 0.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +26 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +3 -0
- package/src/index.js.map +1 -0
- package/src/lib/weather-api.abstract.d.ts +9 -0
- package/src/lib/weather-api.abstract.js +18 -0
- package/src/lib/weather-api.abstract.js.map +1 -0
- package/src/lib/weather-gateway.service.d.ts +9 -0
- package/src/lib/weather-gateway.service.js +38 -0
- package/src/lib/weather-gateway.service.js.map +1 -0
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@acorex-platform/extension-weather-core-gateway",
|
|
3
|
+
"version": "0.0.24",
|
|
4
|
+
"sideEffects": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./src/index.js",
|
|
7
|
+
"types": "./src/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./src/index.d.ts",
|
|
11
|
+
"import": "./src/index.js",
|
|
12
|
+
"default": "./src/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"peerDependencies": {
|
|
16
|
+
"@acorex-platform/extension-weather-core-client": "0.0.24",
|
|
17
|
+
"@acorex-platform/framework-client": "0.0.24",
|
|
18
|
+
"@acorex-platform/framework-shared": "0.0.24",
|
|
19
|
+
"@angular/core": "^21.0.0",
|
|
20
|
+
"rxjs": "^7.8.0"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"tslib": "^2.3.0"
|
|
24
|
+
},
|
|
25
|
+
"module": "./src/index.js"
|
|
26
|
+
}
|
package/src/index.d.ts
ADDED
package/src/index.js
ADDED
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/extensions/weather/core/gateway/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { type AXPWeatherData, type AXPWeatherForecastRequest, type AXPWeatherRequestOptions } from '@acorex-platform/extension-weather-core-client/contracts';
|
|
3
|
+
export declare abstract class AXPWeatherApiAbstract {
|
|
4
|
+
getCondition(id: string): import("@acorex-platform/extension-weather-core-client/contracts").AXPWeatherConditionDisplay;
|
|
5
|
+
resolveConditionIcon(conditionId: string): string;
|
|
6
|
+
abstract getWeather(options: AXPWeatherRequestOptions): Observable<AXPWeatherData>;
|
|
7
|
+
abstract getForecast(options: AXPWeatherForecastRequest): Observable<AXPWeatherData>;
|
|
8
|
+
abstract setApiKey(key: string): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { getWeatherCondition, resolveWeatherConditionIcon, } from '@acorex-platform/extension-weather-core-client/contracts';
|
|
4
|
+
//#region ---- Client weather API abstract ----
|
|
5
|
+
let AXPWeatherApiAbstract = class AXPWeatherApiAbstract {
|
|
6
|
+
getCondition(id) {
|
|
7
|
+
return getWeatherCondition(id);
|
|
8
|
+
}
|
|
9
|
+
resolveConditionIcon(conditionId) {
|
|
10
|
+
return resolveWeatherConditionIcon(conditionId);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
AXPWeatherApiAbstract = __decorate([
|
|
14
|
+
Injectable()
|
|
15
|
+
], AXPWeatherApiAbstract);
|
|
16
|
+
export { AXPWeatherApiAbstract };
|
|
17
|
+
//#endregion
|
|
18
|
+
//# sourceMappingURL=weather-api.abstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weather-api.abstract.js","sourceRoot":"","sources":["../../../../../../../../libs/extensions/weather/core/gateway/src/lib/weather-api.abstract.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EACL,mBAAmB,EACnB,2BAA2B,GAI5B,MAAM,mDAAmD,CAAC;AAE3D,+CAA+C;AAGxC,IAAe,qBAAqB,GAApC,MAAe,qBAAqB;IACzC,YAAY,CAAC,EAAU;QACrB,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,oBAAoB,CAAC,WAAmB;QACtC,OAAO,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CAOF,CAAA;AAdqB,qBAAqB;IAD1C,UAAU,EAAE;GACS,qBAAqB,CAc1C;;AAED,YAAY"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type AXPWeatherData, type AXPWeatherForecastRequest, type AXPWeatherRequestOptions } from '@acorex-platform/extension-weather-core-client/contracts';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { AXPWeatherApiAbstract } from './weather-api.abstract';
|
|
4
|
+
export declare class AXEWeatherGatewayService extends AXPWeatherApiAbstract {
|
|
5
|
+
private readonly queryService;
|
|
6
|
+
setApiKey(_key: string): void;
|
|
7
|
+
getWeather(options: AXPWeatherRequestOptions): Observable<AXPWeatherData>;
|
|
8
|
+
getForecast(options: AXPWeatherForecastRequest): Observable<AXPWeatherData>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { AXPQueryService } from '@acorex-platform/framework-client/runtime';
|
|
3
|
+
import { AXEWeatherQueryKeys, } from '@acorex-platform/extension-weather-core-client/contracts';
|
|
4
|
+
import { runtimeQueryPayloadData } from '@acorex-platform/framework-shared/core';
|
|
5
|
+
import { inject, Injectable } from '@angular/core';
|
|
6
|
+
import { from, catchError, switchMap, of, throwError } from 'rxjs';
|
|
7
|
+
import { AXPWeatherApiAbstract } from './weather-api.abstract';
|
|
8
|
+
//#region ---- Gateway weather API service ----
|
|
9
|
+
let AXEWeatherGatewayService = class AXEWeatherGatewayService extends AXPWeatherApiAbstract {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.queryService = inject(AXPQueryService);
|
|
13
|
+
}
|
|
14
|
+
setApiKey(_key) {
|
|
15
|
+
// API keys are managed via Integrations settings on the server.
|
|
16
|
+
}
|
|
17
|
+
getWeather(options) {
|
|
18
|
+
return this.getForecast(Object.assign(Object.assign({}, options), { days: 1 }));
|
|
19
|
+
}
|
|
20
|
+
getForecast(options) {
|
|
21
|
+
return from(this.queryService.fetch(AXEWeatherQueryKeys.GetForecast, options)).pipe(switchMap((result) => {
|
|
22
|
+
const data = runtimeQueryPayloadData(result);
|
|
23
|
+
if (!data) {
|
|
24
|
+
return throwError(() => new Error('Failed to fetch weather data'));
|
|
25
|
+
}
|
|
26
|
+
return of(data);
|
|
27
|
+
}), catchError((error) => {
|
|
28
|
+
const message = (error === null || error === void 0 ? void 0 : error.message) || 'Failed to fetch weather data';
|
|
29
|
+
return throwError(() => new Error(message));
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
AXEWeatherGatewayService = __decorate([
|
|
34
|
+
Injectable()
|
|
35
|
+
], AXEWeatherGatewayService);
|
|
36
|
+
export { AXEWeatherGatewayService };
|
|
37
|
+
//#endregion
|
|
38
|
+
//# sourceMappingURL=weather-gateway.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weather-gateway.service.js","sourceRoot":"","sources":["../../../../../../../../libs/extensions/weather/core/gateway/src/lib/weather-gateway.service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EACL,mBAAmB,GAIpB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAc,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,+CAA+C;AAGxC,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,qBAAqB;IAA5D;;QACY,iBAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IA2B1D,CAAC;IAzBU,SAAS,CAAC,IAAY;QAC7B,gEAAgE;IAClE,CAAC;IAEQ,UAAU,CAAC,OAAiC;QACnD,OAAO,IAAI,CAAC,WAAW,iCAAM,OAAO,KAAE,IAAI,EAAE,CAAC,IAAG,CAAC;IACnD,CAAC;IAEQ,WAAW,CAAC,OAAkC;QACrD,OAAO,IAAI,CACT,IAAI,CAAC,YAAY,CAAC,KAAK,CAA4C,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAC7G,CAAC,IAAI,CACJ,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YACnB,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,EACF,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,MAAM,OAAO,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,8BAA8B,CAAC;YACjE,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA5BY,wBAAwB;IADpC,UAAU,EAAE;GACA,wBAAwB,CA4BpC;;AAED,YAAY"}
|