@acorex/core 18.5.14 → 18.5.16

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,11 +1,23 @@
1
1
  import { HttpRequest, HttpClient } from '@angular/common/http';
2
- import { inject, Injectable } from '@angular/core';
2
+ import { inject, Injectable, signal } from '@angular/core';
3
3
  import { AXDownloadTask } from './download-task';
4
4
  import { AXUploadTask } from './upload-task';
5
+ import { fromEvent, map, merge, startWith } from 'rxjs';
6
+ import { isBrowser } from '@acorex/core/platform';
5
7
  import * as i0 from "@angular/core";
6
8
  export class AXNetworkService {
7
9
  constructor() {
8
10
  this.http = inject(HttpClient);
11
+ this._status = signal(true);
12
+ this.status = this._status.asReadonly();
13
+ if (isBrowser()) {
14
+ // Only subscribe to these events if on the browser platform
15
+ const onlineEvent = fromEvent(window, 'online').pipe(map(() => true));
16
+ const offlineEvent = fromEvent(window, 'offline').pipe(map(() => false));
17
+ merge(onlineEvent, offlineEvent).pipe(startWith(navigator.onLine)).subscribe(c => {
18
+ this._status.set(c);
19
+ });
20
+ }
9
21
  }
10
22
  // Unified method handling both types of inputs
11
23
  upload(arg1, arg2) {
@@ -68,5 +80,5 @@ export class AXNetworkService {
68
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNetworkService, decorators: [{
69
81
  type: Injectable,
70
82
  args: [{ providedIn: 'root' }]
71
- }] });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25ldHdvcmsvc3JjL2xpYi9uZXR3b3JrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLN0MsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUdZLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FzRXJDO0lBaEVHLCtDQUErQztJQUMvQyxNQUFNLENBQUksSUFBK0IsRUFBRSxJQUFlO1FBQ3RELElBQUksT0FBeUIsQ0FBQztRQUM5QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFFdkIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxZQUFZLFFBQVEsRUFBRSxDQUFDO1lBQ3ZELDRCQUE0QjtZQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ25CLElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO29CQUN4QixjQUFjLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDakMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO2dCQUMxQyxjQUFjLEVBQUUsSUFBSTtnQkFDcEIsWUFBWSxFQUFFLE1BQU07YUFDdkIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLElBQUksSUFBSSxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLElBQUksWUFBWSxRQUFRLEVBQUUsQ0FBQztnQkFDaEMsNEJBQTRCO2dCQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUN4QixJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUUsQ0FBQzt3QkFDeEIsY0FBYyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQ2pDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ2pCLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksSUFBSSxNQUFNO2FBQzVDLENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBSSxPQUFPLENBQUMsQ0FBQztRQUM3QyxPQUFPLElBQUksWUFBWSxDQUFJLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBUUQsK0NBQStDO0lBQy9DLFFBQVEsQ0FBQyxHQUErQjtRQUNwQyxJQUFJLE9BQTBCLENBQUM7UUFFL0IsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMxQixPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDbEMsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLFlBQVksRUFBRSxNQUFNO2FBQ3ZCLENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFO2dCQUNyRCxHQUFHLEdBQUc7Z0JBQ04sY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLFlBQVksRUFBRSxNQUFNO2FBQ3ZCLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBTyxPQUFPLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBdEVRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTs7MkZBQ25CLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCwgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhEb3dubG9hZFRhc2sgfSBmcm9tICcuL2Rvd25sb2FkLXRhc2snO1xuaW1wb3J0IHsgQVhVcGxvYWRUYXNrIH0gZnJvbSAnLi91cGxvYWQtdGFzayc7XG5cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYTmV0d29ya1NlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gICAgLy8gT3ZlcmxvYWQgc2lnbmF0dXJlc1xuICAgIHVwbG9hZDxUPih1cmw6IHN0cmluZywgZm9ybURhdGE6IEZvcm1EYXRhKTogQVhVcGxvYWRUYXNrPFQ+O1xuICAgIHVwbG9hZDxUPihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogQVhVcGxvYWRUYXNrPFQ+O1xuXG4gICAgLy8gVW5pZmllZCBtZXRob2QgaGFuZGxpbmcgYm90aCB0eXBlcyBvZiBpbnB1dHNcbiAgICB1cGxvYWQ8VD4oYXJnMTogc3RyaW5nIHwgSHR0cFJlcXVlc3Q8YW55PiwgYXJnMj86IEZvcm1EYXRhKTogQVhVcGxvYWRUYXNrPFQ+IHtcbiAgICAgICAgbGV0IHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT47XG4gICAgICAgIGxldCB0b3RhbEZpbGVzU2l6ZSA9IDA7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhcmcxID09PSAnc3RyaW5nJyAmJiBhcmcyIGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICAgICAgICAgIC8vIENhbGN1bGF0ZSB0b3RhbCBmaWxlIHNpemVcbiAgICAgICAgICAgIGFyZzIuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvdGFsRmlsZXNTaXplICs9IHZhbHVlLnNpemU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXF1ZXN0ID0gbmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgYXJnMSwgYXJnMiwge1xuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChhcmcxIGluc3RhbmNlb2YgSHR0cFJlcXVlc3QpIHtcbiAgICAgICAgICAgIGlmIChhcmcxLmJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgICAgICAgICAgICAgIC8vIENhbGN1bGF0ZSB0b3RhbCBmaWxlIHNpemVcbiAgICAgICAgICAgICAgICBhcmcxLmJvZHkuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxGaWxlc1NpemUgKz0gdmFsdWUuc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVxdWVzdCA9IGFyZzEuY2xvbmUoe1xuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogYXJnMS5yZXNwb25zZVR5cGUgfHwgJ2pzb24nXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgYXJndW1lbnRzIGZvciB1cGxvYWQgbWV0aG9kLlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGV2ZW50cyA9IHRoaXMuaHR0cC5yZXF1ZXN0PFQ+KHJlcXVlc3QpO1xuICAgICAgICByZXR1cm4gbmV3IEFYVXBsb2FkVGFzazxUPihldmVudHMsIHRvdGFsRmlsZXNTaXplKTtcbiAgICB9XG5cblxuXG4gICAgLy8gT3ZlcmxvYWQgc2lnbmF0dXJlc1xuICAgIGRvd25sb2FkKHVybDogc3RyaW5nKTogQVhEb3dubG9hZFRhc2s7XG4gICAgZG93bmxvYWQocmVxdWVzdDogSHR0cFJlcXVlc3Q8QmxvYj4pOiBBWERvd25sb2FkVGFzaztcblxuICAgIC8vIFVuaWZpZWQgbWV0aG9kIGhhbmRsaW5nIGJvdGggdHlwZXMgb2YgaW5wdXRzXG4gICAgZG93bmxvYWQoYXJnOiBzdHJpbmcgfCBIdHRwUmVxdWVzdDxCbG9iPik6IEFYRG93bmxvYWRUYXNrIHtcbiAgICAgICAgbGV0IHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PEJsb2I+O1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXJnID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmVxdWVzdCA9IG5ldyBIdHRwUmVxdWVzdCgnR0VUJywgYXJnLCB7XG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3QoYXJnLm1ldGhvZCwgYXJnLnVybCwgYXJnLmJvZHksIHtcbiAgICAgICAgICAgICAgICAuLi5hcmcsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGV2ZW50cyA9IHRoaXMuaHR0cC5yZXF1ZXN0PEJsb2I+KHJlcXVlc3QpO1xuICAgICAgICByZXR1cm4gbmV3IEFYRG93bmxvYWRUYXNrKGV2ZW50cyk7XG4gICAgfVxuXG59Il19
83
+ }], ctorParameters: () => [] });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25ldHdvcmsvc3JjL2xpYi9uZXR3b3JrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBS2xELE1BQU0sT0FBTyxnQkFBZ0I7SUFRekI7UUFOUSxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTFCLFlBQU8sR0FBRyxNQUFNLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFeEIsV0FBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFHL0MsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ2QsNERBQTREO1lBQzVELE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBRXpF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OzsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0LCBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRG93bmxvYWRUYXNrIH0gZnJvbSAnLi9kb3dubG9hZC10YXNrJztcbmltcG9ydCB7IEFYVXBsb2FkVGFzayB9IGZyb20gJy4vdXBsb2FkLXRhc2snO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtYXAsIG1lcmdlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYTmV0d29ya1NlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gICAgcHJpdmF0ZSBfc3RhdHVzID0gc2lnbmFsPGJvb2xlYW4+KHRydWUpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHN0YXR1cyA9IHRoaXMuX3N0YXR1cy5hc1JlYWRvbmx5KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgaWYgKGlzQnJvd3NlcigpKSB7XG4gICAgICAgICAgICAvLyBPbmx5IHN1YnNjcmliZSB0byB0aGVzZSBldmVudHMgaWYgb24gdGhlIGJyb3dzZXIgcGxhdGZvcm1cbiAgICAgICAgICAgIGNvbnN0IG9ubGluZUV2ZW50ID0gZnJvbUV2ZW50KHdpbmRvdywgJ29ubGluZScpLnBpcGUobWFwKCgpID0+IHRydWUpKTtcbiAgICAgICAgICAgIGNvbnN0IG9mZmxpbmVFdmVudCA9IGZyb21FdmVudCh3aW5kb3csICdvZmZsaW5lJykucGlwZShtYXAoKCkgPT4gZmFsc2UpKTtcblxuICAgICAgICAgICAgbWVyZ2Uob25saW5lRXZlbnQsIG9mZmxpbmVFdmVudCkucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobmF2aWdhdG9yLm9uTGluZSlcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKGMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3N0YXR1cy5zZXQoYyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE92ZXJsb2FkIHNpZ25hdHVyZXNcbiAgICB1cGxvYWQ8VD4odXJsOiBzdHJpbmcsIGZvcm1EYXRhOiBGb3JtRGF0YSk6IEFYVXBsb2FkVGFzazxUPjtcbiAgICB1cGxvYWQ8VD4ocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEFYVXBsb2FkVGFzazxUPjtcblxuICAgIC8vIFVuaWZpZWQgbWV0aG9kIGhhbmRsaW5nIGJvdGggdHlwZXMgb2YgaW5wdXRzXG4gICAgdXBsb2FkPFQ+KGFyZzE6IHN0cmluZyB8IEh0dHBSZXF1ZXN0PGFueT4sIGFyZzI/OiBGb3JtRGF0YSk6IEFYVXBsb2FkVGFzazxUPiB7XG4gICAgICAgIGxldCByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+O1xuICAgICAgICBsZXQgdG90YWxGaWxlc1NpemUgPSAwO1xuXG4gICAgICAgIGlmICh0eXBlb2YgYXJnMSA9PT0gJ3N0cmluZycgJiYgYXJnMiBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgICAgICAgICAvLyBDYWxjdWxhdGUgdG90YWwgZmlsZSBzaXplXG4gICAgICAgICAgICBhcmcyLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRmlsZSkge1xuICAgICAgICAgICAgICAgICAgICB0b3RhbEZpbGVzU2l6ZSArPSB2YWx1ZS5zaXplO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVxdWVzdCA9IG5ldyBIdHRwUmVxdWVzdCgnUE9TVCcsIGFyZzEsIGFyZzIsIHtcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoYXJnMSBpbnN0YW5jZW9mIEh0dHBSZXF1ZXN0KSB7XG4gICAgICAgICAgICBpZiAoYXJnMS5ib2R5IGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgdG90YWwgZmlsZSBzaXplXG4gICAgICAgICAgICAgICAgYXJnMS5ib2R5LmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsRmlsZXNTaXplICs9IHZhbHVlLnNpemU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlcXVlc3QgPSBhcmcxLmNsb25lKHtcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6IGFyZzEucmVzcG9uc2VUeXBlIHx8ICdqc29uJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGFyZ3VtZW50cyBmb3IgdXBsb2FkIG1ldGhvZC5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBldmVudHMgPSB0aGlzLmh0dHAucmVxdWVzdDxUPihyZXF1ZXN0KTtcbiAgICAgICAgcmV0dXJuIG5ldyBBWFVwbG9hZFRhc2s8VD4oZXZlbnRzLCB0b3RhbEZpbGVzU2l6ZSk7XG4gICAgfVxuXG5cblxuICAgIC8vIE92ZXJsb2FkIHNpZ25hdHVyZXNcbiAgICBkb3dubG9hZCh1cmw6IHN0cmluZyk6IEFYRG93bmxvYWRUYXNrO1xuICAgIGRvd25sb2FkKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PEJsb2I+KTogQVhEb3dubG9hZFRhc2s7XG5cbiAgICAvLyBVbmlmaWVkIG1ldGhvZCBoYW5kbGluZyBib3RoIHR5cGVzIG9mIGlucHV0c1xuICAgIGRvd25sb2FkKGFyZzogc3RyaW5nIHwgSHR0cFJlcXVlc3Q8QmxvYj4pOiBBWERvd25sb2FkVGFzayB7XG4gICAgICAgIGxldCByZXF1ZXN0OiBIdHRwUmVxdWVzdDxCbG9iPjtcblxuICAgICAgICBpZiAodHlwZW9mIGFyZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3QoJ0dFVCcsIGFyZywge1xuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXF1ZXN0ID0gbmV3IEh0dHBSZXF1ZXN0KGFyZy5tZXRob2QsIGFyZy51cmwsIGFyZy5ib2R5LCB7XG4gICAgICAgICAgICAgICAgLi4uYXJnLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBldmVudHMgPSB0aGlzLmh0dHAucmVxdWVzdDxCbG9iPihyZXF1ZXN0KTtcbiAgICAgICAgcmV0dXJuIG5ldyBBWERvd25sb2FkVGFzayhldmVudHMpO1xuICAgIH1cblxufSJdfQ==
@@ -12,4 +12,4 @@ export var AXDownloadStatus;
12
12
  AXDownloadStatus["StartingDownload"] = "Starting download";
13
13
  AXDownloadStatus["DownloadFailed"] = "Download failed";
14
14
  })(AXDownloadStatus || (AXDownloadStatus = {}));
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXR3b3JrL3NyYy9saWIvbmV0d29yay50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQUtYO0FBTEQsV0FBWSxjQUFjO0lBQ3RCLDRDQUEwQixDQUFBO0lBQzFCLG9EQUFrQyxDQUFBO0lBQ2xDLG9EQUFrQyxDQUFBO0lBQ2xDLGdEQUE4QixDQUFBO0FBQ2xDLENBQUMsRUFMVyxjQUFjLEtBQWQsY0FBYyxRQUt6QjtBQVVELE1BQU0sQ0FBTixJQUFZLGdCQUtYO0FBTEQsV0FBWSxnQkFBZ0I7SUFDeEIsa0RBQThCLENBQUE7SUFDOUIsMERBQXNDLENBQUE7SUFDdEMsMERBQXNDLENBQUE7SUFDdEMsc0RBQWtDLENBQUE7QUFDdEMsQ0FBQyxFQUxXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFLM0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBWFVwbG9hZFN0YXR1cyB7XG4gICAgVXBsb2FkaW5nID0gXCJVcGxvYWRpbmcuLi5cIixcbiAgICBVcGxvYWRDb21wbGV0ZSA9IFwiVXBsb2FkIGNvbXBsZXRlXCIsXG4gICAgU3RhcnRpbmdVcGxvYWQgPSBcIlN0YXJ0aW5nIHVwbG9hZFwiLFxuICAgIFVwbG9hZEZhaWxlZCA9IFwiVXBsb2FkIGZhaWxlZFwiXG59XG5cbmV4cG9ydCB0eXBlIEFYVXBsb2FkUmVzcG9uc2U8VD4gPSB7XG4gICAgcHJvZ3Jlc3M6IG51bWJlcjtcbiAgICBieXRlc1RyYW5zZmVycmVkOiBudW1iZXI7XG4gICAgdG90YWxCeXRlczogbnVtYmVyO1xuICAgIHN0YXR1czogQVhVcGxvYWRTdGF0dXM7XG4gICAgcmVzdWx0PzogVDtcbn07XG5cbmV4cG9ydCBlbnVtIEFYRG93bmxvYWRTdGF0dXMge1xuICAgIERvd25sb2FkaW5nID0gXCJEb3dubG9hZGluZy4uLlwiLFxuICAgIERvd25sb2FkQ29tcGxldGUgPSBcIkRvd25sb2FkIGNvbXBsZXRlXCIsXG4gICAgU3RhcnRpbmdEb3dubG9hZCA9IFwiU3RhcnRpbmcgZG93bmxvYWRcIixcbiAgICBEb3dubG9hZEZhaWxlZCA9IFwiRG93bmxvYWQgZmFpbGVkXCJcbn1cblxuZXhwb3J0IHR5cGUgQVhEb3dubG9hZFJlc3BvbnNlID0ge1xuICAgIHByb2dyZXNzOiBudW1iZXI7XG4gICAgYnl0ZXNSZWNlaXZlZDogbnVtYmVyO1xuICAgIHRvdGFsQnl0ZXM6IG51bWJlcjtcbiAgICBzdGF0dXM6IEFYRG93bmxvYWRTdGF0dXM7XG4gICAgZGF0YT86IEJsb2I7IC8vIG9yIGFueSBhcHByb3ByaWF0ZSB0eXBlIGJhc2VkIG9uIHlvdXIgc3BlY2lmaWMgdXNlIGNhc2Vcbn07Il19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXR3b3JrL3NyYy9saWIvbmV0d29yay50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQUtYO0FBTEQsV0FBWSxjQUFjO0lBQ3RCLDRDQUEwQixDQUFBO0lBQzFCLG9EQUFrQyxDQUFBO0lBQ2xDLG9EQUFrQyxDQUFBO0lBQ2xDLGdEQUE4QixDQUFBO0FBQ2xDLENBQUMsRUFMVyxjQUFjLEtBQWQsY0FBYyxRQUt6QjtBQVVELE1BQU0sQ0FBTixJQUFZLGdCQUtYO0FBTEQsV0FBWSxnQkFBZ0I7SUFDeEIsa0RBQThCLENBQUE7SUFDOUIsMERBQXNDLENBQUE7SUFDdEMsMERBQXNDLENBQUE7SUFDdEMsc0RBQWtDLENBQUE7QUFDdEMsQ0FBQyxFQUxXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFLM0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBWFVwbG9hZFN0YXR1cyB7XG4gICAgVXBsb2FkaW5nID0gXCJVcGxvYWRpbmcuLi5cIixcbiAgICBVcGxvYWRDb21wbGV0ZSA9IFwiVXBsb2FkIGNvbXBsZXRlXCIsXG4gICAgU3RhcnRpbmdVcGxvYWQgPSBcIlN0YXJ0aW5nIHVwbG9hZFwiLFxuICAgIFVwbG9hZEZhaWxlZCA9IFwiVXBsb2FkIGZhaWxlZFwiXG59XG5cbmV4cG9ydCB0eXBlIEFYVXBsb2FkUmVzcG9uc2U8VD4gPSB7XG4gICAgcHJvZ3Jlc3M6IG51bWJlcjtcbiAgICBieXRlc1RyYW5zZmVycmVkOiBudW1iZXI7XG4gICAgdG90YWxCeXRlczogbnVtYmVyO1xuICAgIHN0YXR1czogQVhVcGxvYWRTdGF0dXM7XG4gICAgcmVzdWx0PzogVDtcbn07XG5cbmV4cG9ydCBlbnVtIEFYRG93bmxvYWRTdGF0dXMge1xuICAgIERvd25sb2FkaW5nID0gXCJEb3dubG9hZGluZy4uLlwiLFxuICAgIERvd25sb2FkQ29tcGxldGUgPSBcIkRvd25sb2FkIGNvbXBsZXRlXCIsXG4gICAgU3RhcnRpbmdEb3dubG9hZCA9IFwiU3RhcnRpbmcgZG93bmxvYWRcIixcbiAgICBEb3dubG9hZEZhaWxlZCA9IFwiRG93bmxvYWQgZmFpbGVkXCJcbn1cblxuZXhwb3J0IHR5cGUgQVhEb3dubG9hZFJlc3BvbnNlID0ge1xuICAgIHByb2dyZXNzOiBudW1iZXI7XG4gICAgYnl0ZXNSZWNlaXZlZDogbnVtYmVyO1xuICAgIHRvdGFsQnl0ZXM6IG51bWJlcjtcbiAgICBzdGF0dXM6IEFYRG93bmxvYWRTdGF0dXM7XG4gICAgZGF0YT86IEJsb2I7IC8vIG9yIGFueSBhcHByb3ByaWF0ZSB0eXBlIGJhc2VkIG9uIHlvdXIgc3BlY2lmaWMgdXNlIGNhc2Vcbn07XG4iXX0=
@@ -1,8 +1,9 @@
1
- import { Subject } from 'rxjs';
1
+ import { Subject, fromEvent, map as map$1, merge, startWith } from 'rxjs';
2
2
  import { takeUntil, map } from 'rxjs/operators';
3
3
  import { HttpEventType, HttpClient, HttpRequest } from '@angular/common/http';
4
4
  import * as i0 from '@angular/core';
5
- import { inject, Injectable } from '@angular/core';
5
+ import { inject, signal, Injectable } from '@angular/core';
6
+ import { isBrowser } from '@acorex/core/platform';
6
7
 
7
8
  var AXUploadStatus;
8
9
  (function (AXUploadStatus) {
@@ -109,6 +110,16 @@ class AXDownloadTask {
109
110
  class AXNetworkService {
110
111
  constructor() {
111
112
  this.http = inject(HttpClient);
113
+ this._status = signal(true);
114
+ this.status = this._status.asReadonly();
115
+ if (isBrowser()) {
116
+ // Only subscribe to these events if on the browser platform
117
+ const onlineEvent = fromEvent(window, 'online').pipe(map$1(() => true));
118
+ const offlineEvent = fromEvent(window, 'offline').pipe(map$1(() => false));
119
+ merge(onlineEvent, offlineEvent).pipe(startWith(navigator.onLine)).subscribe(c => {
120
+ this._status.set(c);
121
+ });
122
+ }
112
123
  }
113
124
  // Unified method handling both types of inputs
114
125
  upload(arg1, arg2) {
@@ -171,7 +182,7 @@ class AXNetworkService {
171
182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNetworkService, decorators: [{
172
183
  type: Injectable,
173
184
  args: [{ providedIn: 'root' }]
174
- }] });
185
+ }], ctorParameters: () => [] });
175
186
 
176
187
  /**
177
188
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-network.mjs","sources":["../../../../libs/core/network/src/lib/network.types.ts","../../../../libs/core/network/src/lib/upload-task.ts","../../../../libs/core/network/src/lib/download-task.ts","../../../../libs/core/network/src/lib/network.service.ts","../../../../libs/core/network/src/acorex-core-network.ts"],"sourcesContent":["export enum AXUploadStatus {\n Uploading = \"Uploading...\",\n UploadComplete = \"Upload complete\",\n StartingUpload = \"Starting upload\",\n UploadFailed = \"Upload failed\"\n}\n\nexport type AXUploadResponse<T> = {\n progress: number;\n bytesTransferred: number;\n totalBytes: number;\n status: AXUploadStatus;\n result?: T;\n};\n\nexport enum AXDownloadStatus {\n Downloading = \"Downloading...\",\n DownloadComplete = \"Download complete\",\n StartingDownload = \"Starting download\",\n DownloadFailed = \"Download failed\"\n}\n\nexport type AXDownloadResponse = {\n progress: number;\n bytesReceived: number;\n totalBytes: number;\n status: AXDownloadStatus;\n data?: Blob; // or any appropriate type based on your specific use case\n};","import { Observable, Subject } from 'rxjs';\nimport { takeUntil, map } from 'rxjs/operators';\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\nimport { AXUploadResponse, AXUploadStatus } from './network.types'; // Ensure correct import path\n\nexport class AXUploadTask<T> {\n private cancelSignal = new Subject<void>();\n\n constructor(private observable: Observable<HttpEvent<T>>, private totalFileSize: number) { }\n\n get events(): Observable<AXUploadResponse<T>> {\n return this.observable.pipe(\n takeUntil(this.cancelSignal),\n map(event => this.handleEvent(event))\n );\n }\n\n private handleEvent(event: HttpEvent<any>): AXUploadResponse<T> {\n switch (event.type) {\n case HttpEventType.UploadProgress:\n {\n const percentDone = Math.round(100 * event.loaded / (this.totalFileSize || event.total));\n return {\n progress: percentDone,\n bytesTransferred: event.loaded,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.Uploading\n };\n }\n\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesTransferred: this.totalFileSize,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadComplete,\n result: event.body\n };\n\n default:\n return {\n progress: 0,\n bytesTransferred: 0,\n totalBytes: 0,\n status: AXUploadStatus.StartingUpload\n };\n }\n }\n\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil, map } from 'rxjs/operators';\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\nimport { AXDownloadResponse, AXDownloadStatus } from './network.types'; // Ensure correct import path\n\nexport class AXDownloadTask {\n private cancelSignal = new Subject<void>();\n\n constructor(private observable: Observable<HttpEvent<any>>) { }\n\n get events(): Observable<AXDownloadResponse> {\n return this.observable.pipe(\n takeUntil(this.cancelSignal),\n map(event => this.handleEvent(event)),\n );\n }\n\n private handleEvent(event: HttpEvent<any>): AXDownloadResponse {\n switch (event.type) {\n case HttpEventType.DownloadProgress:\n {\n const percentDone = Math.round(100 * event.loaded / (event.total ?? event.loaded));\n return {\n progress: percentDone,\n bytesReceived: event.loaded,\n totalBytes: event.total ?? 0,\n status: AXDownloadStatus.Downloading\n };\n }\n\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesReceived: event.body.size,\n totalBytes: event.body.size,\n status: AXDownloadStatus.DownloadComplete,\n data: event.body\n };\n\n default:\n return {\n progress: 0,\n bytesReceived: 0,\n totalBytes: 0,\n status: AXDownloadStatus.StartingDownload\n };\n }\n }\n\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n}\n","import { HttpRequest, HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { AXDownloadTask } from './download-task';\nimport { AXUploadTask } from './upload-task';\n\n\n\n@Injectable({ providedIn: 'root' })\nexport class AXNetworkService {\n\n private http = inject(HttpClient);\n\n // Overload signatures\n upload<T>(url: string, formData: FormData): AXUploadTask<T>;\n upload<T>(request: HttpRequest<any>): AXUploadTask<T>;\n\n // Unified method handling both types of inputs\n upload<T>(arg1: string | HttpRequest<any>, arg2?: FormData): AXUploadTask<T> {\n let request: HttpRequest<any>;\n let totalFilesSize = 0;\n\n if (typeof arg1 === 'string' && arg2 instanceof FormData) {\n // Calculate total file size\n arg2.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n request = new HttpRequest('POST', arg1, arg2, {\n reportProgress: true,\n responseType: 'json'\n });\n } else if (arg1 instanceof HttpRequest) {\n if (arg1.body instanceof FormData) {\n // Calculate total file size\n arg1.body.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n }\n request = arg1.clone({\n reportProgress: true,\n responseType: arg1.responseType || 'json'\n });\n } else {\n throw new Error(\"Invalid arguments for upload method.\");\n }\n\n const events = this.http.request<T>(request);\n return new AXUploadTask<T>(events, totalFilesSize);\n }\n\n\n\n // Overload signatures\n download(url: string): AXDownloadTask;\n download(request: HttpRequest<Blob>): AXDownloadTask;\n\n // Unified method handling both types of inputs\n download(arg: string | HttpRequest<Blob>): AXDownloadTask {\n let request: HttpRequest<Blob>;\n\n if (typeof arg === 'string') {\n request = new HttpRequest('GET', arg, {\n reportProgress: true,\n responseType: 'blob',\n });\n } else {\n request = new HttpRequest(arg.method, arg.url, arg.body, {\n ...arg,\n reportProgress: true,\n responseType: 'blob',\n });\n }\n\n const events = this.http.request<Blob>(request);\n return new AXDownloadTask(events);\n }\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-network.mjs","sources":["../../../../libs/core/network/src/lib/network.types.ts","../../../../libs/core/network/src/lib/upload-task.ts","../../../../libs/core/network/src/lib/download-task.ts","../../../../libs/core/network/src/lib/network.service.ts","../../../../libs/core/network/src/acorex-core-network.ts"],"sourcesContent":["export enum AXUploadStatus {\n Uploading = \"Uploading...\",\n UploadComplete = \"Upload complete\",\n StartingUpload = \"Starting upload\",\n UploadFailed = \"Upload failed\"\n}\n\nexport type AXUploadResponse<T> = {\n progress: number;\n bytesTransferred: number;\n totalBytes: number;\n status: AXUploadStatus;\n result?: T;\n};\n\nexport enum AXDownloadStatus {\n Downloading = \"Downloading...\",\n DownloadComplete = \"Download complete\",\n StartingDownload = \"Starting download\",\n DownloadFailed = \"Download failed\"\n}\n\nexport type AXDownloadResponse = {\n progress: number;\n bytesReceived: number;\n totalBytes: number;\n status: AXDownloadStatus;\n data?: Blob; // or any appropriate type based on your specific use case\n};\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil, map } from 'rxjs/operators';\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\nimport { AXUploadResponse, AXUploadStatus } from './network.types'; // Ensure correct import path\n\nexport class AXUploadTask<T> {\n private cancelSignal = new Subject<void>();\n\n constructor(private observable: Observable<HttpEvent<T>>, private totalFileSize: number) { }\n\n get events(): Observable<AXUploadResponse<T>> {\n return this.observable.pipe(\n takeUntil(this.cancelSignal),\n map(event => this.handleEvent(event))\n );\n }\n\n private handleEvent(event: HttpEvent<any>): AXUploadResponse<T> {\n switch (event.type) {\n case HttpEventType.UploadProgress:\n {\n const percentDone = Math.round(100 * event.loaded / (this.totalFileSize || event.total));\n return {\n progress: percentDone,\n bytesTransferred: event.loaded,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.Uploading\n };\n }\n\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesTransferred: this.totalFileSize,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadComplete,\n result: event.body\n };\n\n default:\n return {\n progress: 0,\n bytesTransferred: 0,\n totalBytes: 0,\n status: AXUploadStatus.StartingUpload\n };\n }\n }\n\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n}\n","import { Observable, Subject } from 'rxjs';\nimport { takeUntil, map } from 'rxjs/operators';\nimport { HttpEvent, HttpEventType } from '@angular/common/http';\nimport { AXDownloadResponse, AXDownloadStatus } from './network.types'; // Ensure correct import path\n\nexport class AXDownloadTask {\n private cancelSignal = new Subject<void>();\n\n constructor(private observable: Observable<HttpEvent<any>>) { }\n\n get events(): Observable<AXDownloadResponse> {\n return this.observable.pipe(\n takeUntil(this.cancelSignal),\n map(event => this.handleEvent(event)),\n );\n }\n\n private handleEvent(event: HttpEvent<any>): AXDownloadResponse {\n switch (event.type) {\n case HttpEventType.DownloadProgress:\n {\n const percentDone = Math.round(100 * event.loaded / (event.total ?? event.loaded));\n return {\n progress: percentDone,\n bytesReceived: event.loaded,\n totalBytes: event.total ?? 0,\n status: AXDownloadStatus.Downloading\n };\n }\n\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesReceived: event.body.size,\n totalBytes: event.body.size,\n status: AXDownloadStatus.DownloadComplete,\n data: event.body\n };\n\n default:\n return {\n progress: 0,\n bytesReceived: 0,\n totalBytes: 0,\n status: AXDownloadStatus.StartingDownload\n };\n }\n }\n\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n}\n","import { HttpRequest, HttpClient } from '@angular/common/http';\nimport { inject, Injectable, signal } from '@angular/core';\nimport { AXDownloadTask } from './download-task';\nimport { AXUploadTask } from './upload-task';\nimport { fromEvent, map, merge, startWith } from 'rxjs';\nimport { isBrowser } from '@acorex/core/platform';\n\n\n\n@Injectable({ providedIn: 'root' })\nexport class AXNetworkService {\n\n private http = inject(HttpClient);\n\n private _status = signal<boolean>(true);\n\n public readonly status = this._status.asReadonly();\n\n constructor() {\n if (isBrowser()) {\n // Only subscribe to these events if on the browser platform\n const onlineEvent = fromEvent(window, 'online').pipe(map(() => true));\n const offlineEvent = fromEvent(window, 'offline').pipe(map(() => false));\n\n merge(onlineEvent, offlineEvent).pipe(\n startWith(navigator.onLine)\n ).subscribe(c => {\n this._status.set(c);\n });\n }\n }\n\n // Overload signatures\n upload<T>(url: string, formData: FormData): AXUploadTask<T>;\n upload<T>(request: HttpRequest<any>): AXUploadTask<T>;\n\n // Unified method handling both types of inputs\n upload<T>(arg1: string | HttpRequest<any>, arg2?: FormData): AXUploadTask<T> {\n let request: HttpRequest<any>;\n let totalFilesSize = 0;\n\n if (typeof arg1 === 'string' && arg2 instanceof FormData) {\n // Calculate total file size\n arg2.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n request = new HttpRequest('POST', arg1, arg2, {\n reportProgress: true,\n responseType: 'json'\n });\n } else if (arg1 instanceof HttpRequest) {\n if (arg1.body instanceof FormData) {\n // Calculate total file size\n arg1.body.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n }\n request = arg1.clone({\n reportProgress: true,\n responseType: arg1.responseType || 'json'\n });\n } else {\n throw new Error(\"Invalid arguments for upload method.\");\n }\n\n const events = this.http.request<T>(request);\n return new AXUploadTask<T>(events, totalFilesSize);\n }\n\n\n\n // Overload signatures\n download(url: string): AXDownloadTask;\n download(request: HttpRequest<Blob>): AXDownloadTask;\n\n // Unified method handling both types of inputs\n download(arg: string | HttpRequest<Blob>): AXDownloadTask {\n let request: HttpRequest<Blob>;\n\n if (typeof arg === 'string') {\n request = new HttpRequest('GET', arg, {\n reportProgress: true,\n responseType: 'blob',\n });\n } else {\n request = new HttpRequest(arg.method, arg.url, arg.body, {\n ...arg,\n reportProgress: true,\n responseType: 'blob',\n });\n }\n\n const events = this.http.request<Blob>(request);\n return new AXDownloadTask(events);\n }\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map"],"mappings":"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"}
@@ -4,6 +4,9 @@ import { AXUploadTask } from './upload-task';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AXNetworkService {
6
6
  private http;
7
+ private _status;
8
+ readonly status: import("@angular/core").Signal<boolean>;
9
+ constructor();
7
10
  upload<T>(url: string, formData: FormData): AXUploadTask<T>;
8
11
  upload<T>(request: HttpRequest<any>): AXUploadTask<T>;
9
12
  download(url: string): AXDownloadTask;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/core",
3
- "version": "18.5.14",
3
+ "version": "18.5.16",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.0.0",
6
6
  "@angular/core": ">=18.0.0",
@@ -32,23 +32,17 @@
32
32
  "esm": "./esm2022/common/acorex-core-common.mjs",
33
33
  "default": "./fesm2022/acorex-core-common.mjs"
34
34
  },
35
- "./events": {
36
- "types": "./events/index.d.ts",
37
- "esm2022": "./esm2022/events/acorex-core-events.mjs",
38
- "esm": "./esm2022/events/acorex-core-events.mjs",
39
- "default": "./fesm2022/acorex-core-events.mjs"
40
- },
41
35
  "./config": {
42
36
  "types": "./config/index.d.ts",
43
37
  "esm2022": "./esm2022/config/acorex-core-config.mjs",
44
38
  "esm": "./esm2022/config/acorex-core-config.mjs",
45
39
  "default": "./fesm2022/acorex-core-config.mjs"
46
40
  },
47
- "./format": {
48
- "types": "./format/index.d.ts",
49
- "esm2022": "./esm2022/format/acorex-core-format.mjs",
50
- "esm": "./esm2022/format/acorex-core-format.mjs",
51
- "default": "./fesm2022/acorex-core-format.mjs"
41
+ "./events": {
42
+ "types": "./events/index.d.ts",
43
+ "esm2022": "./esm2022/events/acorex-core-events.mjs",
44
+ "esm": "./esm2022/events/acorex-core-events.mjs",
45
+ "default": "./fesm2022/acorex-core-events.mjs"
52
46
  },
53
47
  "./file": {
54
48
  "types": "./file/index.d.ts",
@@ -56,6 +50,12 @@
56
50
  "esm": "./esm2022/file/acorex-core-file.mjs",
57
51
  "default": "./fesm2022/acorex-core-file.mjs"
58
52
  },
53
+ "./format": {
54
+ "types": "./format/index.d.ts",
55
+ "esm2022": "./esm2022/format/acorex-core-format.mjs",
56
+ "esm": "./esm2022/format/acorex-core-format.mjs",
57
+ "default": "./fesm2022/acorex-core-format.mjs"
58
+ },
59
59
  "./date-time": {
60
60
  "types": "./date-time/index.d.ts",
61
61
  "esm2022": "./esm2022/date-time/acorex-core-date-time.mjs",
@@ -98,6 +98,12 @@
98
98
  "esm": "./esm2022/storage/acorex-core-storage.mjs",
99
99
  "default": "./fesm2022/acorex-core-storage.mjs"
100
100
  },
101
+ "./utils": {
102
+ "types": "./utils/index.d.ts",
103
+ "esm2022": "./esm2022/utils/acorex-core-utils.mjs",
104
+ "esm": "./esm2022/utils/acorex-core-utils.mjs",
105
+ "default": "./fesm2022/acorex-core-utils.mjs"
106
+ },
101
107
  "./translation": {
102
108
  "types": "./translation/index.d.ts",
103
109
  "esm2022": "./esm2022/translation/acorex-core-translation.mjs",
@@ -110,12 +116,6 @@
110
116
  "esm": "./esm2022/types/acorex-core-types.mjs",
111
117
  "default": "./fesm2022/acorex-core-types.mjs"
112
118
  },
113
- "./utils": {
114
- "types": "./utils/index.d.ts",
115
- "esm2022": "./esm2022/utils/acorex-core-utils.mjs",
116
- "esm": "./esm2022/utils/acorex-core-utils.mjs",
117
- "default": "./fesm2022/acorex-core-utils.mjs"
118
- },
119
119
  "./validation": {
120
120
  "types": "./validation/index.d.ts",
121
121
  "esm2022": "./esm2022/validation/acorex-core-validation.mjs",