@smess/networking 1.0.4 → 1.0.6

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 (45) hide show
  1. package/dist/index.d.ts +9 -9
  2. package/dist/index.js +11 -31
  3. package/dist/scripts/real-test.js +60 -65
  4. package/dist/src/core/axios.d.ts +5 -12
  5. package/dist/src/core/axios.js +21 -24
  6. package/dist/src/core/axios.observable.d.ts +2 -2
  7. package/dist/src/core/axios.observable.js +14 -17
  8. package/dist/src/core/base.provider.advanced.test.js +3 -5
  9. package/dist/src/core/base.provider.d.ts +1 -1
  10. package/dist/src/core/base.provider.js +6 -6
  11. package/dist/src/core/base.provider.test.js +3 -5
  12. package/dist/src/core/base.service.wrapper.advanced.test.js +9 -11
  13. package/dist/src/core/base.service.wrapper.d.ts +1 -1
  14. package/dist/src/core/base.service.wrapper.js +3 -7
  15. package/dist/src/core/base.service.wrapper.test.js +6 -8
  16. package/dist/src/core/rx.http.service.d.ts +5 -12
  17. package/dist/src/core/rx.http.service.js +21 -24
  18. package/dist/src/services/auth.service.d.ts +2 -2
  19. package/dist/src/services/auth.service.js +10 -15
  20. package/dist/src/services/auth.service.test.js +37 -39
  21. package/dist/src/services/customer.service.d.ts +2 -2
  22. package/dist/src/services/customer.service.js +9 -14
  23. package/dist/src/services/customer.service.test.js +23 -25
  24. package/dist/src/services/logger.service.js +4 -8
  25. package/dist/src/services/logger.service.test.js +16 -18
  26. package/dist/src/services/order.service.d.ts +2 -2
  27. package/dist/src/services/order.service.js +9 -14
  28. package/dist/src/services/order.service.test.js +41 -43
  29. package/dist/src/services/product.service.d.ts +6 -6
  30. package/dist/src/services/product.service.js +4 -9
  31. package/dist/src/services/product.service.test.js +20 -21
  32. package/dist/src/services/smess.service.d.ts +2 -2
  33. package/dist/src/services/smess.service.js +26 -34
  34. package/dist/src/services/smess.service.test.js +21 -24
  35. package/dist/src/services/store.service.d.ts +2 -2
  36. package/dist/src/services/store.service.js +9 -14
  37. package/dist/src/services/store.service.test.js +35 -37
  38. package/dist/src/services/user.service.d.ts +5 -5
  39. package/dist/src/services/user.service.js +4 -9
  40. package/dist/src/services/user.service.test.js +17 -18
  41. package/dist/src/types/types.js +6 -13
  42. package/dist/src/types/types.test.js +5 -7
  43. package/dist/src/utils/networking-import.js +3 -43
  44. package/dist/src/utils/rxjs-import.js +5 -34
  45. package/package.json +1 -1
@@ -1,9 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /* eslint-disable @typescript-eslint/no-explicit-any -- Required for test mocks */
4
- const smess_service_1 = require("./smess.service");
5
- const types_1 = require("../types/types");
6
- const rxjs_1 = require("rxjs");
2
+ import { SmessService } from './smess.service.js';
3
+ import { NetworkingUIEventWrapped } from '../types/types.js';
4
+ import { of, throwError } from 'rxjs';
7
5
  describe('SmessService', () => {
8
6
  const config = {
9
7
  baseUrl: 'https://api.example.com',
@@ -19,16 +17,16 @@ describe('SmessService', () => {
19
17
  getPath: () => '/resource',
20
18
  };
21
19
  it('should return succeeded for GET', done => {
22
- const service = new smess_service_1.SmessService(provider);
20
+ const service = new SmessService(provider);
23
21
  service['httpService'] = {
24
- get: jest.fn(() => (0, rxjs_1.of)({ data: { foo: 'bar' } })),
22
+ get: jest.fn(() => of({ data: { foo: 'bar' } })),
25
23
  post: jest.fn(),
26
24
  patch: jest.fn(),
27
25
  put: jest.fn(),
28
26
  request: jest.fn(),
29
27
  interceptors: { response: { use: jest.fn() } },
30
28
  };
31
- service.request().subscribe(result => {
29
+ service.request().subscribe((result) => {
32
30
  if (result.hasSuccess) {
33
31
  expect(result.response).toEqual({ foo: 'bar' });
34
32
  done();
@@ -36,17 +34,17 @@ describe('SmessService', () => {
36
34
  });
37
35
  });
38
36
  it('should return succeeded for POST', done => {
39
- const postProvider = Object.assign(Object.assign({}, provider), { method: 'POST' });
40
- const service = new smess_service_1.SmessService(postProvider);
37
+ const postProvider = { ...provider, method: 'POST' };
38
+ const service = new SmessService(postProvider);
41
39
  service['httpService'] = {
42
40
  get: jest.fn(),
43
- post: jest.fn(() => (0, rxjs_1.of)({ data: { foo: 'baz' } })),
41
+ post: jest.fn(() => of({ data: { foo: 'baz' } })),
44
42
  patch: jest.fn(),
45
43
  put: jest.fn(),
46
44
  request: jest.fn(),
47
45
  interceptors: { response: { use: jest.fn() } },
48
46
  };
49
- service.request({ some: 'data' }).subscribe(result => {
47
+ service.request({ some: 'data' }).subscribe((result) => {
50
48
  if (result.hasSuccess) {
51
49
  expect(result.response).toEqual({ foo: 'baz' });
52
50
  done();
@@ -54,45 +52,44 @@ describe('SmessService', () => {
54
52
  });
55
53
  });
56
54
  it('should handle error', done => {
57
- const service = new smess_service_1.SmessService(provider);
55
+ const service = new SmessService(provider);
58
56
  service['httpService'] = {
59
- get: jest.fn(() => (0, rxjs_1.throwError)(() => new Error('Test error'))),
57
+ get: jest.fn(() => throwError(() => new Error('Test error'))),
60
58
  post: jest.fn(),
61
59
  patch: jest.fn(),
62
60
  put: jest.fn(),
63
61
  request: jest.fn(),
64
62
  interceptors: { response: { use: jest.fn() } },
65
63
  };
66
- service.request().subscribe(result => {
67
- var _a;
64
+ service.request().subscribe((result) => {
68
65
  if (result.hasFailed) {
69
- expect(result).toBeInstanceOf(types_1.NetworkingUIEventWrapped);
66
+ expect(result).toBeInstanceOf(NetworkingUIEventWrapped);
70
67
  expect(result.hasFailed).toBe(true);
71
68
  expect(result.alertModel).toBeTruthy();
72
- expect((_a = result.alertModel) === null || _a === void 0 ? void 0 : _a.message).toBe('Test error');
69
+ expect(result.alertModel?.message).toBe('Test error');
73
70
  done();
74
71
  }
75
72
  });
76
73
  });
77
74
  it('should return mock response if provided', done => {
78
- const service = new smess_service_1.SmessService(provider);
75
+ const service = new SmessService(provider);
79
76
  service['httpService'] = {
80
- get: jest.fn(() => (0, rxjs_1.throwError)(() => new Error('Test error'))),
77
+ get: jest.fn(() => throwError(() => new Error('Test error'))),
81
78
  post: jest.fn(),
82
79
  patch: jest.fn(),
83
80
  put: jest.fn(),
84
81
  request: jest.fn((payload, mockResponse) => {
85
82
  if (payload === 'error') {
86
- return (0, rxjs_1.throwError)(() => new Error('Test error'));
83
+ return throwError(() => new Error('Test error'));
87
84
  }
88
85
  if (mockResponse !== undefined) {
89
- return (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.succeeded(mockResponse));
86
+ return of(NetworkingUIEventWrapped.succeeded(mockResponse));
90
87
  }
91
- return (0, rxjs_1.of)({ data: { foo: 'mock' } });
88
+ return of({ data: { foo: 'mock' } });
92
89
  }),
93
90
  interceptors: { response: { use: jest.fn() } },
94
91
  };
95
- service.request(undefined, { foo: 'mock' }).subscribe(result => {
92
+ service.request(undefined, { foo: 'mock' }).subscribe((result) => {
96
93
  if (result.hasSuccess) {
97
94
  expect(result.response).toEqual({ foo: 'mock' });
98
95
  done();
@@ -1,5 +1,5 @@
1
- import { ProviderType, NetworkingConfig, NetworkingUIEventWrapped, HttpResponse } from '../types/types';
2
- import { SmessService } from './smess.service';
1
+ import { ProviderType, NetworkingConfig, NetworkingUIEventWrapped, HttpResponse } from '../types/types.js';
2
+ import { SmessService } from './smess.service.js';
3
3
  import { BehaviorSubject, Observable } from 'rxjs';
4
4
  export type StoreTarget = 'store-get' | 'store-list' | 'store-product-category-list' | 'store-product-collection' | 'store-featured-product-list';
5
5
  export interface ProductCollectionRequest {
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StoreService = exports.StoreProvider = void 0;
4
- const smess_service_1 = require("./smess.service");
5
- class StoreProvider {
1
+ import { Accept, SMESSHeader, SmessService } from './smess.service.js';
2
+ export class StoreProvider {
6
3
  constructor(config, target, $authToken) {
7
4
  this.config = config;
8
5
  this.target = target;
@@ -31,33 +28,32 @@ class StoreProvider {
31
28
  return 'GET';
32
29
  }
33
30
  get headers() {
34
- let headers = smess_service_1.SmessService.getHeaders(smess_service_1.Accept.V1, this.$authToken.value);
31
+ let headers = SmessService.getHeaders(Accept.V1, this.$authToken.value);
35
32
  if (this.config.clientId) {
36
- headers[smess_service_1.SMESSHeader.ClientId] = this.config.clientId;
33
+ headers[SMESSHeader.ClientId] = this.config.clientId;
37
34
  }
38
35
  if (this.config.apiKey) {
39
- headers[smess_service_1.SMESSHeader.ApiKey] = this.config.apiKey;
36
+ headers[SMESSHeader.ApiKey] = this.config.apiKey;
40
37
  }
41
- return smess_service_1.SmessService.filterHeaders(headers);
38
+ return SmessService.filterHeaders(headers);
42
39
  }
43
40
  getPath(...queryParams) {
44
41
  let definedPath = this.path;
45
42
  const params = definedPath.match(/\$\{(.+?)\}/g);
46
- params === null || params === void 0 ? void 0 : params.forEach((value, index) => {
43
+ params?.forEach((value, index) => {
47
44
  definedPath = definedPath.replace(value, String(queryParams[index]));
48
45
  });
49
46
  return definedPath;
50
47
  }
51
48
  }
52
- exports.StoreProvider = StoreProvider;
53
- class StoreService {
49
+ export class StoreService {
54
50
  constructor(config, $authToken) {
55
51
  this.config = config;
56
52
  this.$authToken = $authToken;
57
53
  }
58
54
  provider(target) {
59
55
  const targetWrapper = new StoreProvider(this.config, target, this.$authToken);
60
- return new smess_service_1.SmessService(targetWrapper);
56
+ return new SmessService(targetWrapper);
61
57
  }
62
58
  get(id) {
63
59
  return this.provider('store-get').request(null, undefined, id);
@@ -75,4 +71,3 @@ class StoreService {
75
71
  return this.provider('store-featured-product-list').request(null, undefined, id);
76
72
  }
77
73
  }
78
- exports.StoreService = StoreService;
@@ -1,8 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const store_service_1 = require("./store.service");
4
- const types_1 = require("../types/types");
5
- const rxjs_1 = require("rxjs");
1
+ import { StoreService } from './store.service.js';
2
+ import { NetworkingUIEventWrapped, AlertModel } from '../types/types.js';
3
+ import { of, BehaviorSubject } from 'rxjs';
6
4
  describe('StoreService', () => {
7
5
  const config = {
8
6
  baseUrl: 'https://api.example.com',
@@ -13,94 +11,94 @@ describe('StoreService', () => {
13
11
  let service;
14
12
  let $authToken;
15
13
  beforeEach(() => {
16
- $authToken = new rxjs_1.BehaviorSubject(null);
17
- service = new store_service_1.StoreService(config, $authToken);
14
+ $authToken = new BehaviorSubject(null);
15
+ service = new StoreService(config, $authToken);
18
16
  });
19
17
  it('get success', async () => {
20
18
  const response = { data: { id: '1', name: 'Store' } };
21
19
  jest.spyOn(service, 'provider').mockReturnValue({
22
- request: (_payload, _mockResponse, id) => (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.succeeded(response)),
20
+ request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.succeeded(response)),
23
21
  });
24
22
  const result = await service.get('1').toPromise();
25
- expect(result === null || result === void 0 ? void 0 : result.hasSuccess).toBe(true);
26
- expect(result === null || result === void 0 ? void 0 : result.response).toEqual(response);
23
+ expect(result?.hasSuccess).toBe(true);
24
+ expect(result?.response).toEqual(response);
27
25
  });
28
26
  it('get error', async () => {
29
27
  jest.spyOn(service, 'provider').mockReturnValue({
30
- request: (_payload, _mockResponse, id) => (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.failed(types_1.AlertModel.default())),
28
+ request: (_payload, _mockResponse, id) => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
31
29
  });
32
30
  const result = await service.get('1').toPromise();
33
- expect(result === null || result === void 0 ? void 0 : result.hasFailed).toBe(true);
34
- expect(result === null || result === void 0 ? void 0 : result.alertModel).toBeInstanceOf(types_1.AlertModel);
31
+ expect(result?.hasFailed).toBe(true);
32
+ expect(result?.alertModel).toBeInstanceOf(AlertModel);
35
33
  });
36
34
  it('list success', async () => {
37
35
  const response = { data: [{ id: '1', name: 'Store' }] };
38
36
  jest.spyOn(service, 'provider').mockReturnValue({
39
- request: () => (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.succeeded(response)),
37
+ request: () => of(NetworkingUIEventWrapped.succeeded(response)),
40
38
  });
41
39
  const result = await service.list().toPromise();
42
- expect(result === null || result === void 0 ? void 0 : result.hasSuccess).toBe(true);
43
- expect(result === null || result === void 0 ? void 0 : result.response).toEqual(response);
40
+ expect(result?.hasSuccess).toBe(true);
41
+ expect(result?.response).toEqual(response);
44
42
  });
45
43
  it('list error', async () => {
46
44
  jest.spyOn(service, 'provider').mockReturnValue({
47
- request: () => (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.failed(types_1.AlertModel.default())),
45
+ request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
48
46
  });
49
47
  const result = await service.list().toPromise();
50
- expect(result === null || result === void 0 ? void 0 : result.hasFailed).toBe(true);
51
- expect(result === null || result === void 0 ? void 0 : result.alertModel).toBeInstanceOf(types_1.AlertModel);
48
+ expect(result?.hasFailed).toBe(true);
49
+ expect(result?.alertModel).toBeInstanceOf(AlertModel);
52
50
  });
53
51
  it('productCategoryList success', async () => {
54
52
  const response = { data: [{ id: 'cat1', name: 'Category' }] };
55
53
  jest.spyOn(service, 'provider').mockReturnValue({
56
- request: () => (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.succeeded(response)),
54
+ request: () => of(NetworkingUIEventWrapped.succeeded(response)),
57
55
  });
58
56
  const result = await service.productCategoryList().toPromise();
59
- expect(result === null || result === void 0 ? void 0 : result.hasSuccess).toBe(true);
60
- expect(result === null || result === void 0 ? void 0 : result.response).toEqual(response);
57
+ expect(result?.hasSuccess).toBe(true);
58
+ expect(result?.response).toEqual(response);
61
59
  });
62
60
  it('productCategoryList error', async () => {
63
61
  jest.spyOn(service, 'provider').mockReturnValue({
64
- request: () => (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.failed(types_1.AlertModel.default())),
62
+ request: () => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
65
63
  });
66
64
  const result = await service.productCategoryList().toPromise();
67
- expect(result === null || result === void 0 ? void 0 : result.hasFailed).toBe(true);
68
- expect(result === null || result === void 0 ? void 0 : result.alertModel).toBeInstanceOf(types_1.AlertModel);
65
+ expect(result?.hasFailed).toBe(true);
66
+ expect(result?.alertModel).toBeInstanceOf(AlertModel);
69
67
  });
70
68
  it('productCollection success', async () => {
71
69
  const response = { data: [{ id: 'prod1', name: 'Product' }] };
72
70
  const payload = { page: 1, per_page: 10 };
73
71
  jest.spyOn(service, 'provider').mockReturnValue({
74
- request: (payload, _mockResponse, id) => (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.succeeded(response)),
72
+ request: (payload, _mockResponse, id) => of(NetworkingUIEventWrapped.succeeded(response)),
75
73
  });
76
74
  const result = await service.productCollection('1', payload).toPromise();
77
- expect(result === null || result === void 0 ? void 0 : result.hasSuccess).toBe(true);
78
- expect(result === null || result === void 0 ? void 0 : result.response).toEqual(response);
75
+ expect(result?.hasSuccess).toBe(true);
76
+ expect(result?.response).toEqual(response);
79
77
  });
80
78
  it('productCollection error', async () => {
81
79
  const payload = { page: 1, per_page: 10 };
82
80
  jest.spyOn(service, 'provider').mockReturnValue({
83
- request: (payload, _mockResponse, id) => (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.failed(types_1.AlertModel.default())),
81
+ request: (payload, _mockResponse, id) => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
84
82
  });
85
83
  const result = await service.productCollection('1', payload).toPromise();
86
- expect(result === null || result === void 0 ? void 0 : result.hasFailed).toBe(true);
87
- expect(result === null || result === void 0 ? void 0 : result.alertModel).toBeInstanceOf(types_1.AlertModel);
84
+ expect(result?.hasFailed).toBe(true);
85
+ expect(result?.alertModel).toBeInstanceOf(AlertModel);
88
86
  });
89
87
  it('featuredProductList success', async () => {
90
88
  const response = { data: [{ id: 'feat1', name: 'Featured' }] };
91
89
  jest.spyOn(service, 'provider').mockReturnValue({
92
- request: (_payload, _mockResponse, storeId) => (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.succeeded(response)),
90
+ request: (_payload, _mockResponse, storeId) => of(NetworkingUIEventWrapped.succeeded(response)),
93
91
  });
94
92
  const result = await service.featuredProductList('1').toPromise();
95
- expect(result === null || result === void 0 ? void 0 : result.hasSuccess).toBe(true);
96
- expect(result === null || result === void 0 ? void 0 : result.response).toEqual(response);
93
+ expect(result?.hasSuccess).toBe(true);
94
+ expect(result?.response).toEqual(response);
97
95
  });
98
96
  it('featuredProductList error', async () => {
99
97
  jest.spyOn(service, 'provider').mockReturnValue({
100
- request: (_payload, _mockResponse, storeId) => (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.failed(types_1.AlertModel.default())),
98
+ request: (_payload, _mockResponse, storeId) => of(NetworkingUIEventWrapped.failed(AlertModel.default())),
101
99
  });
102
100
  const result = await service.featuredProductList('1').toPromise();
103
- expect(result === null || result === void 0 ? void 0 : result.hasFailed).toBe(true);
104
- expect(result === null || result === void 0 ? void 0 : result.alertModel).toBeInstanceOf(types_1.AlertModel);
101
+ expect(result?.hasFailed).toBe(true);
102
+ expect(result?.alertModel).toBeInstanceOf(AlertModel);
105
103
  });
106
104
  });
@@ -1,6 +1,6 @@
1
- import { BaseProvider } from '../core/base.provider';
2
- import { BaseServiceWrapper } from '../core/base.service.wrapper';
3
- import { NetworkingConfig } from '../types/types';
1
+ import { BaseProvider } from '../core/base.provider.js';
2
+ import { BaseServiceWrapper } from '../core/base.service.wrapper.js';
3
+ import { NetworkingConfig } from '../types/types.js';
4
4
  export interface User {
5
5
  id: number;
6
6
  name: string;
@@ -11,6 +11,6 @@ export declare class UserProvider extends BaseProvider {
11
11
  }
12
12
  export declare class UserService extends BaseServiceWrapper<UserProvider> {
13
13
  constructor(config: NetworkingConfig, userId?: number);
14
- fetchUserById(id: number): import("rxjs").Observable<import("../types/types").NetworkingUIEventWrapped<User>>;
15
- fetchAllUsers(): import("rxjs").Observable<import("../types/types").NetworkingUIEventWrapped<User[]>>;
14
+ fetchUserById(id: number): import("rxjs").Observable<import("../types/types.js").NetworkingUIEventWrapped<User>>;
15
+ fetchAllUsers(): import("rxjs").Observable<import("../types/types.js").NetworkingUIEventWrapped<User[]>>;
16
16
  }
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserService = exports.UserProvider = void 0;
4
- const base_provider_1 = require("../core/base.provider");
5
- const base_service_wrapper_1 = require("../core/base.service.wrapper");
1
+ import { BaseProvider } from '../core/base.provider.js';
2
+ import { BaseServiceWrapper } from '../core/base.service.wrapper.js';
6
3
  // UserProvider implements ProviderType for user endpoints
7
- class UserProvider extends base_provider_1.BaseProvider {
4
+ export class UserProvider extends BaseProvider {
8
5
  constructor(config, userId) {
9
6
  super({
10
7
  config,
@@ -15,9 +12,8 @@ class UserProvider extends base_provider_1.BaseProvider {
15
12
  });
16
13
  }
17
14
  }
18
- exports.UserProvider = UserProvider;
19
15
  // UserService provides high-level methods for user API
20
- class UserService extends base_service_wrapper_1.BaseServiceWrapper {
16
+ export class UserService extends BaseServiceWrapper {
21
17
  constructor(config, userId) {
22
18
  super(new UserProvider(config, userId));
23
19
  }
@@ -32,7 +28,6 @@ class UserService extends base_service_wrapper_1.BaseServiceWrapper {
32
28
  return this.request();
33
29
  }
34
30
  }
35
- exports.UserService = UserService;
36
31
  // Example usage:
37
32
  // setNetworkingConfig({ baseUrl: 'https://jsonplaceholder.typicode.com', isProd: false });
38
33
  // const userService = new UserService();
@@ -1,9 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const user_service_1 = require("./user.service");
4
- const types_1 = require("../types/types");
5
- const rxjs_1 = require("rxjs");
6
- const base_service_wrapper_1 = require("../core/base.service.wrapper");
1
+ import { UserService } from './user.service.js';
2
+ import { NetworkingUIEventWrapped } from '../types/types.js';
3
+ import { of, throwError } from 'rxjs';
4
+ import { BaseServiceWrapper } from '../core/base.service.wrapper.js';
7
5
  describe('UserService', () => {
8
6
  const config = {
9
7
  baseUrl: 'https://jsonplaceholder.typicode.com',
@@ -14,30 +12,31 @@ describe('UserService', () => {
14
12
  const user = { id: 1, name: 'Test', email: 'test@example.com' };
15
13
  let requestSpy;
16
14
  beforeEach(() => {
17
- requestSpy = jest.spyOn(base_service_wrapper_1.BaseServiceWrapper.prototype, 'request').mockImplementation(() => (0, rxjs_1.of)(types_1.NetworkingUIEventWrapped.succeeded(user)));
15
+ requestSpy = jest.spyOn(BaseServiceWrapper.prototype, 'request').mockImplementation(() => of(NetworkingUIEventWrapped.succeeded(user)));
18
16
  });
19
17
  afterEach(() => {
20
18
  requestSpy.mockRestore();
21
19
  });
22
- it('fetchUserById should return user (success)', done => {
23
- const service = new user_service_1.UserService(config);
24
- service.fetchUserById(1).subscribe(result => {
20
+ it('fetchUserById should return user (success)', (done) => {
21
+ const service = new UserService(config);
22
+ service.fetchUserById(1).subscribe((result) => {
25
23
  expect(result.response).toEqual(user);
26
24
  done();
27
25
  });
28
26
  });
29
- it('fetchAllUsers should return users (success)', done => {
30
- const service = new user_service_1.UserService(config);
31
- service.fetchAllUsers().subscribe(result => {
27
+ it('fetchAllUsers should return users (success)', (done) => {
28
+ const service = new UserService(config);
29
+ service.fetchAllUsers().subscribe((result) => {
32
30
  expect(result.response).toEqual(user);
33
31
  done();
34
32
  });
35
33
  });
36
- it('request should handle error', done => {
37
- requestSpy.mockImplementationOnce(() => (0, rxjs_1.throwError)(() => new Error('Test error')));
38
- const service = new user_service_1.UserService(config);
39
- service.request('error').subscribe({
40
- error: err => {
34
+ it('request should handle error', (done) => {
35
+ requestSpy.mockImplementationOnce(() => throwError(() => new Error('Test error')));
36
+ const service = new UserService(config);
37
+ // Simulate error by calling a method that uses request
38
+ service.fetchUserById(1).subscribe({
39
+ error: (err) => {
41
40
  expect(err).toBeInstanceOf(Error);
42
41
  expect(err.message).toBe('Test error');
43
42
  done();
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NetworkingUIEventWrapped = exports.NetworkingUIEvent = exports.ValidationErrorMessage = exports.AlertModel = exports.AlertButtonModel = void 0;
4
- class AlertButtonModel {
1
+ export class AlertButtonModel {
5
2
  constructor(title, handler) {
6
3
  this.title = title;
7
4
  this.handler = handler;
@@ -13,8 +10,7 @@ class AlertButtonModel {
13
10
  return new AlertButtonModel('No', handler);
14
11
  }
15
12
  }
16
- exports.AlertButtonModel = AlertButtonModel;
17
- class AlertModel {
13
+ export class AlertModel {
18
14
  constructor(message, httpErrorCode, isDisplayable = false, title, data, buttons) {
19
15
  this.message = message;
20
16
  this.httpErrorCode = httpErrorCode;
@@ -35,20 +31,18 @@ class AlertModel {
35
31
  ]);
36
32
  }
37
33
  }
38
- exports.AlertModel = AlertModel;
39
- class ValidationErrorMessage {
34
+ export class ValidationErrorMessage {
40
35
  constructor(message) {
41
36
  this.message = message;
42
37
  }
43
38
  }
44
- exports.ValidationErrorMessage = ValidationErrorMessage;
45
- var NetworkingUIEvent;
39
+ export var NetworkingUIEvent;
46
40
  (function (NetworkingUIEvent) {
47
41
  NetworkingUIEvent["waiting"] = "waiting";
48
42
  NetworkingUIEvent["succeeded"] = "succeeded";
49
43
  NetworkingUIEvent["failed"] = "failed";
50
- })(NetworkingUIEvent || (exports.NetworkingUIEvent = NetworkingUIEvent = {}));
51
- class NetworkingUIEventWrapped {
44
+ })(NetworkingUIEvent || (NetworkingUIEvent = {}));
45
+ export class NetworkingUIEventWrapped {
52
46
  constructor(event, succeeded, failed) {
53
47
  this.event = event;
54
48
  this.succeeded = succeeded;
@@ -86,4 +80,3 @@ class NetworkingUIEventWrapped {
86
80
  });
87
81
  }
88
82
  }
89
- exports.NetworkingUIEventWrapped = NetworkingUIEventWrapped;
@@ -1,17 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const types_1 = require("./types");
1
+ import { NetworkingUIEventWrapped, AlertModel } from './types.js';
4
2
  describe('NetworkingUIEventWrapped', () => {
5
3
  it('should wrap succeeded response', () => {
6
- const wrap = types_1.NetworkingUIEventWrapped.succeeded({ foo: 'bar' });
4
+ const wrap = NetworkingUIEventWrapped.succeeded({ foo: 'bar' });
7
5
  expect(wrap.response).toEqual({ foo: 'bar' });
8
6
  expect(wrap.hasSuccess).toBe(true);
9
7
  expect(wrap.hasFailed).toBe(false);
10
8
  expect(wrap.isWaiting).toBe(false);
11
9
  });
12
10
  it('should wrap failed response and set alertModel', () => {
13
- const alert = new types_1.AlertModel('err', 500, true, 'Error', { detail: 'fail' });
14
- const wrap = types_1.NetworkingUIEventWrapped.failed(alert);
11
+ const alert = new AlertModel('err', 500, true, 'Error', { detail: 'fail' });
12
+ const wrap = NetworkingUIEventWrapped.failed(alert);
15
13
  expect(wrap.response).toBeNull();
16
14
  expect(wrap.hasSuccess).toBe(false);
17
15
  expect(wrap.hasFailed).toBe(true);
@@ -19,7 +17,7 @@ describe('NetworkingUIEventWrapped', () => {
19
17
  expect(wrap.alertModel).toBe(alert);
20
18
  });
21
19
  it('should wrap waiting state', () => {
22
- const wrap = types_1.NetworkingUIEventWrapped.waiting();
20
+ const wrap = NetworkingUIEventWrapped.waiting();
23
21
  expect(wrap.isWaiting).toBe(true);
24
22
  expect(wrap.hasSuccess).toBe(false);
25
23
  expect(wrap.hasFailed).toBe(false);
@@ -1,43 +1,3 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
- };
21
- var __importStar = (this && this.__importStar) || (function () {
22
- var ownKeys = function(o) {
23
- ownKeys = Object.getOwnPropertyNames || function (o) {
24
- var ar = [];
25
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
- return ar;
27
- };
28
- return ownKeys(o);
29
- };
30
- return function (mod) {
31
- if (mod && mod.__esModule) return mod;
32
- var result = {};
33
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
- __setModuleDefault(result, mod);
35
- return result;
36
- };
37
- })();
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.HttpStatusCode = exports.axios = void 0;
40
- __exportStar(require("axios"), exports);
41
- const axios_1 = __importStar(require("axios"));
42
- exports.axios = axios_1.default;
43
- Object.defineProperty(exports, "HttpStatusCode", { enumerable: true, get: function () { return axios_1.HttpStatusCode; } });
1
+ export * from 'axios';
2
+ import axios, { HttpStatusCode } from 'axios';
3
+ export { axios, HttpStatusCode };
@@ -1,34 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.throwError = exports.catchError = exports.filter = exports.shareReplay = exports.NEVER = exports.takeUntil = exports.retry = exports.timeout = exports.delay = exports.debounceTime = exports.combineLatestWith = exports.merge = exports.combineLatest = exports.concatMap = exports.map = exports.interval = exports.mergeMap = exports.of = exports.distinctUntilChanged = exports.pipe = exports.tap = exports.fromEvent = exports.from = exports.firstValueFrom = exports.startWith = exports.Subscriber = exports.Subscription = exports.BehaviorSubject = exports.Subject = exports.Observable = void 0;
4
- const rxjs_1 = require("rxjs");
5
- Object.defineProperty(exports, "BehaviorSubject", { enumerable: true, get: function () { return rxjs_1.BehaviorSubject; } });
6
- Object.defineProperty(exports, "Observable", { enumerable: true, get: function () { return rxjs_1.Observable; } });
7
- Object.defineProperty(exports, "Subject", { enumerable: true, get: function () { return rxjs_1.Subject; } });
8
- Object.defineProperty(exports, "Subscription", { enumerable: true, get: function () { return rxjs_1.Subscription; } });
9
- Object.defineProperty(exports, "Subscriber", { enumerable: true, get: function () { return rxjs_1.Subscriber; } });
10
- Object.defineProperty(exports, "catchError", { enumerable: true, get: function () { return rxjs_1.catchError; } });
11
- Object.defineProperty(exports, "combineLatest", { enumerable: true, get: function () { return rxjs_1.combineLatest; } });
12
- Object.defineProperty(exports, "concatMap", { enumerable: true, get: function () { return rxjs_1.concatMap; } });
13
- Object.defineProperty(exports, "distinctUntilChanged", { enumerable: true, get: function () { return rxjs_1.distinctUntilChanged; } });
14
- Object.defineProperty(exports, "filter", { enumerable: true, get: function () { return rxjs_1.filter; } });
15
- Object.defineProperty(exports, "firstValueFrom", { enumerable: true, get: function () { return rxjs_1.firstValueFrom; } });
16
- Object.defineProperty(exports, "from", { enumerable: true, get: function () { return rxjs_1.from; } });
17
- Object.defineProperty(exports, "fromEvent", { enumerable: true, get: function () { return rxjs_1.fromEvent; } });
18
- Object.defineProperty(exports, "merge", { enumerable: true, get: function () { return rxjs_1.merge; } });
19
- Object.defineProperty(exports, "NEVER", { enumerable: true, get: function () { return rxjs_1.NEVER; } });
20
- Object.defineProperty(exports, "interval", { enumerable: true, get: function () { return rxjs_1.interval; } });
21
- Object.defineProperty(exports, "map", { enumerable: true, get: function () { return rxjs_1.map; } });
22
- Object.defineProperty(exports, "mergeMap", { enumerable: true, get: function () { return rxjs_1.mergeMap; } });
23
- Object.defineProperty(exports, "of", { enumerable: true, get: function () { return rxjs_1.of; } });
24
- Object.defineProperty(exports, "pipe", { enumerable: true, get: function () { return rxjs_1.pipe; } });
25
- Object.defineProperty(exports, "shareReplay", { enumerable: true, get: function () { return rxjs_1.shareReplay; } });
26
- Object.defineProperty(exports, "startWith", { enumerable: true, get: function () { return rxjs_1.startWith; } });
27
- Object.defineProperty(exports, "tap", { enumerable: true, get: function () { return rxjs_1.tap; } });
28
- Object.defineProperty(exports, "timeout", { enumerable: true, get: function () { return rxjs_1.timeout; } });
29
- Object.defineProperty(exports, "retry", { enumerable: true, get: function () { return rxjs_1.retry; } });
30
- Object.defineProperty(exports, "throwError", { enumerable: true, get: function () { return rxjs_1.throwError; } });
31
- Object.defineProperty(exports, "combineLatestWith", { enumerable: true, get: function () { return rxjs_1.combineLatestWith; } });
32
- Object.defineProperty(exports, "debounceTime", { enumerable: true, get: function () { return rxjs_1.debounceTime; } });
33
- Object.defineProperty(exports, "delay", { enumerable: true, get: function () { return rxjs_1.delay; } });
34
- Object.defineProperty(exports, "takeUntil", { enumerable: true, get: function () { return rxjs_1.takeUntil; } });
1
+ import { BehaviorSubject, Observable, Subject, Subscription, Subscriber, catchError, combineLatest, concatMap, distinctUntilChanged, filter, firstValueFrom, from, fromEvent, merge, NEVER, interval, map, mergeMap, of, pipe, shareReplay, startWith, tap, timeout, retry, throwError, combineLatestWith, debounceTime, delay, takeUntil } from 'rxjs';
2
+ export { Observable, Subject, BehaviorSubject, Subscription, Subscriber };
3
+ export { startWith, firstValueFrom, from, fromEvent, tap, pipe, distinctUntilChanged, of, mergeMap, interval, map, concatMap, combineLatest, merge, combineLatestWith, debounceTime, delay, timeout, retry, takeUntil, NEVER };
4
+ export { shareReplay, filter };
5
+ export { catchError, throwError };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smess/networking",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "Networking utilities and services for SMESS platform.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",