@ayasofyazilim/saas 0.0.39 → 0.0.41

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.
@@ -0,0 +1,110 @@
1
+ import type { BaseHttpRequest } from './core/BaseHttpRequest';
2
+ import type { OpenAPIConfig } from './core/OpenAPI';
3
+ import { Interceptors } from './core/OpenAPI';
4
+ import { FetchHttpRequest } from './core/FetchHttpRequest';
5
+
6
+ import { AbpApiDefinitionService } from './services.gen';
7
+ import { AbpApplicationConfigurationService } from './services.gen';
8
+ import { AbpApplicationLocalizationService } from './services.gen';
9
+ import { AddressService } from './services.gen';
10
+ import { CityService } from './services.gen';
11
+ import { CountryService } from './services.gen';
12
+ import { CountryContinentEnumService } from './services.gen';
13
+ import { CountryCurrencyService } from './services.gen';
14
+ import { CountryCurrencyDigitGroupingEnumService } from './services.gen';
15
+ import { CountryCurrencyNegativeCurrencyFormatEnumService } from './services.gen';
16
+ import { CountryCurrencyPositiveCurrencyFormatEnumService } from './services.gen';
17
+ import { CountryDateService } from './services.gen';
18
+ import { CountryDateCalendarTypeEnumService } from './services.gen';
19
+ import { CountryDateFirstDayOfWeekEnumService } from './services.gen';
20
+ import { CountryNumberService } from './services.gen';
21
+ import { CountryNumberDigitGroupingEnumService } from './services.gen';
22
+ import { CountryNumberMeasurementSystemEnumService } from './services.gen';
23
+ import { CountryNumberNegativeNumberFormatEnumService } from './services.gen';
24
+ import { CountryNumberStandardDigitsEnumService } from './services.gen';
25
+ import { CountryNumberUseNativeDigitsEnumService } from './services.gen';
26
+ import { CountryTimeService } from './services.gen';
27
+ import { DistrictService } from './services.gen';
28
+ import { EnumsService } from './services.gen';
29
+ import { NeighborhoodService } from './services.gen';
30
+ import { RegionService } from './services.gen';
31
+ import { RegionalSettingService } from './services.gen';
32
+
33
+ type HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;
34
+
35
+ export class LocationServiceClient {
36
+
37
+ public readonly abpApiDefinition: AbpApiDefinitionService;
38
+ public readonly abpApplicationConfiguration: AbpApplicationConfigurationService;
39
+ public readonly abpApplicationLocalization: AbpApplicationLocalizationService;
40
+ public readonly address: AddressService;
41
+ public readonly city: CityService;
42
+ public readonly country: CountryService;
43
+ public readonly countryContinentEnum: CountryContinentEnumService;
44
+ public readonly countryCurrency: CountryCurrencyService;
45
+ public readonly countryCurrencyDigitGroupingEnum: CountryCurrencyDigitGroupingEnumService;
46
+ public readonly countryCurrencyNegativeCurrencyFormatEnum: CountryCurrencyNegativeCurrencyFormatEnumService;
47
+ public readonly countryCurrencyPositiveCurrencyFormatEnum: CountryCurrencyPositiveCurrencyFormatEnumService;
48
+ public readonly countryDate: CountryDateService;
49
+ public readonly countryDateCalendarTypeEnum: CountryDateCalendarTypeEnumService;
50
+ public readonly countryDateFirstDayOfWeekEnum: CountryDateFirstDayOfWeekEnumService;
51
+ public readonly countryNumber: CountryNumberService;
52
+ public readonly countryNumberDigitGroupingEnum: CountryNumberDigitGroupingEnumService;
53
+ public readonly countryNumberMeasurementSystemEnum: CountryNumberMeasurementSystemEnumService;
54
+ public readonly countryNumberNegativeNumberFormatEnum: CountryNumberNegativeNumberFormatEnumService;
55
+ public readonly countryNumberStandardDigitsEnum: CountryNumberStandardDigitsEnumService;
56
+ public readonly countryNumberUseNativeDigitsEnum: CountryNumberUseNativeDigitsEnumService;
57
+ public readonly countryTime: CountryTimeService;
58
+ public readonly district: DistrictService;
59
+ public readonly enums: EnumsService;
60
+ public readonly neighborhood: NeighborhoodService;
61
+ public readonly region: RegionService;
62
+ public readonly regionalSetting: RegionalSettingService;
63
+
64
+ public readonly request: BaseHttpRequest;
65
+
66
+ constructor(config?: Partial<OpenAPIConfig>, HttpRequest: HttpRequestConstructor = FetchHttpRequest) {
67
+ this.request = new HttpRequest({
68
+ BASE: config?.BASE ?? '',
69
+ VERSION: config?.VERSION ?? '1',
70
+ WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,
71
+ CREDENTIALS: config?.CREDENTIALS ?? 'include',
72
+ TOKEN: config?.TOKEN,
73
+ USERNAME: config?.USERNAME,
74
+ PASSWORD: config?.PASSWORD,
75
+ HEADERS: config?.HEADERS,
76
+ ENCODE_PATH: config?.ENCODE_PATH,
77
+ interceptors: {
78
+ request: config?.interceptors?.request ?? new Interceptors(),
79
+ response: config?.interceptors?.response ?? new Interceptors(),
80
+ },
81
+ });
82
+
83
+ this.abpApiDefinition = new AbpApiDefinitionService(this.request);
84
+ this.abpApplicationConfiguration = new AbpApplicationConfigurationService(this.request);
85
+ this.abpApplicationLocalization = new AbpApplicationLocalizationService(this.request);
86
+ this.address = new AddressService(this.request);
87
+ this.city = new CityService(this.request);
88
+ this.country = new CountryService(this.request);
89
+ this.countryContinentEnum = new CountryContinentEnumService(this.request);
90
+ this.countryCurrency = new CountryCurrencyService(this.request);
91
+ this.countryCurrencyDigitGroupingEnum = new CountryCurrencyDigitGroupingEnumService(this.request);
92
+ this.countryCurrencyNegativeCurrencyFormatEnum = new CountryCurrencyNegativeCurrencyFormatEnumService(this.request);
93
+ this.countryCurrencyPositiveCurrencyFormatEnum = new CountryCurrencyPositiveCurrencyFormatEnumService(this.request);
94
+ this.countryDate = new CountryDateService(this.request);
95
+ this.countryDateCalendarTypeEnum = new CountryDateCalendarTypeEnumService(this.request);
96
+ this.countryDateFirstDayOfWeekEnum = new CountryDateFirstDayOfWeekEnumService(this.request);
97
+ this.countryNumber = new CountryNumberService(this.request);
98
+ this.countryNumberDigitGroupingEnum = new CountryNumberDigitGroupingEnumService(this.request);
99
+ this.countryNumberMeasurementSystemEnum = new CountryNumberMeasurementSystemEnumService(this.request);
100
+ this.countryNumberNegativeNumberFormatEnum = new CountryNumberNegativeNumberFormatEnumService(this.request);
101
+ this.countryNumberStandardDigitsEnum = new CountryNumberStandardDigitsEnumService(this.request);
102
+ this.countryNumberUseNativeDigitsEnum = new CountryNumberUseNativeDigitsEnumService(this.request);
103
+ this.countryTime = new CountryTimeService(this.request);
104
+ this.district = new DistrictService(this.request);
105
+ this.enums = new EnumsService(this.request);
106
+ this.neighborhood = new NeighborhoodService(this.request);
107
+ this.region = new RegionService(this.request);
108
+ this.regionalSetting = new RegionalSettingService(this.request);
109
+ }
110
+ }
@@ -0,0 +1,21 @@
1
+ import type { ApiRequestOptions } from './ApiRequestOptions';
2
+ import type { ApiResult } from './ApiResult';
3
+
4
+ export class ApiError extends Error {
5
+ public readonly url: string;
6
+ public readonly status: number;
7
+ public readonly statusText: string;
8
+ public readonly body: unknown;
9
+ public readonly request: ApiRequestOptions;
10
+
11
+ constructor(request: ApiRequestOptions, response: ApiResult, message: string) {
12
+ super(message);
13
+
14
+ this.name = 'ApiError';
15
+ this.url = response.url;
16
+ this.status = response.status;
17
+ this.statusText = response.statusText;
18
+ this.body = response.body;
19
+ this.request = request;
20
+ }
21
+ }
@@ -0,0 +1,13 @@
1
+ export type ApiRequestOptions = {
2
+ readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';
3
+ readonly url: string;
4
+ readonly path?: Record<string, unknown>;
5
+ readonly cookies?: Record<string, unknown>;
6
+ readonly headers?: Record<string, unknown>;
7
+ readonly query?: Record<string, unknown>;
8
+ readonly formData?: Record<string, unknown>;
9
+ readonly body?: any;
10
+ readonly mediaType?: string;
11
+ readonly responseHeader?: string;
12
+ readonly errors?: Record<number, string>;
13
+ };
@@ -0,0 +1,7 @@
1
+ export type ApiResult<TData = any> = {
2
+ readonly body: TData;
3
+ readonly ok: boolean;
4
+ readonly status: number;
5
+ readonly statusText: string;
6
+ readonly url: string;
7
+ };
@@ -0,0 +1,10 @@
1
+ import type { ApiRequestOptions } from './ApiRequestOptions';
2
+ import type { CancelablePromise } from './CancelablePromise';
3
+ import type { OpenAPIConfig } from './OpenAPI';
4
+
5
+ export abstract class BaseHttpRequest {
6
+
7
+ constructor(public readonly config: OpenAPIConfig) {}
8
+
9
+ public abstract request<T>(options: ApiRequestOptions): CancelablePromise<T>;
10
+ }
@@ -0,0 +1,126 @@
1
+ export class CancelError extends Error {
2
+ constructor(message: string) {
3
+ super(message);
4
+ this.name = 'CancelError';
5
+ }
6
+
7
+ public get isCancelled(): boolean {
8
+ return true;
9
+ }
10
+ }
11
+
12
+ export interface OnCancel {
13
+ readonly isResolved: boolean;
14
+ readonly isRejected: boolean;
15
+ readonly isCancelled: boolean;
16
+
17
+ (cancelHandler: () => void): void;
18
+ }
19
+
20
+ export class CancelablePromise<T> implements Promise<T> {
21
+ private _isResolved: boolean;
22
+ private _isRejected: boolean;
23
+ private _isCancelled: boolean;
24
+ readonly cancelHandlers: (() => void)[];
25
+ readonly promise: Promise<T>;
26
+ private _resolve?: (value: T | PromiseLike<T>) => void;
27
+ private _reject?: (reason?: unknown) => void;
28
+
29
+ constructor(
30
+ executor: (
31
+ resolve: (value: T | PromiseLike<T>) => void,
32
+ reject: (reason?: unknown) => void,
33
+ onCancel: OnCancel
34
+ ) => void
35
+ ) {
36
+ this._isResolved = false;
37
+ this._isRejected = false;
38
+ this._isCancelled = false;
39
+ this.cancelHandlers = [];
40
+ this.promise = new Promise<T>((resolve, reject) => {
41
+ this._resolve = resolve;
42
+ this._reject = reject;
43
+
44
+ const onResolve = (value: T | PromiseLike<T>): void => {
45
+ if (this._isResolved || this._isRejected || this._isCancelled) {
46
+ return;
47
+ }
48
+ this._isResolved = true;
49
+ if (this._resolve) this._resolve(value);
50
+ };
51
+
52
+ const onReject = (reason?: unknown): void => {
53
+ if (this._isResolved || this._isRejected || this._isCancelled) {
54
+ return;
55
+ }
56
+ this._isRejected = true;
57
+ if (this._reject) this._reject(reason);
58
+ };
59
+
60
+ const onCancel = (cancelHandler: () => void): void => {
61
+ if (this._isResolved || this._isRejected || this._isCancelled) {
62
+ return;
63
+ }
64
+ this.cancelHandlers.push(cancelHandler);
65
+ };
66
+
67
+ Object.defineProperty(onCancel, 'isResolved', {
68
+ get: (): boolean => this._isResolved,
69
+ });
70
+
71
+ Object.defineProperty(onCancel, 'isRejected', {
72
+ get: (): boolean => this._isRejected,
73
+ });
74
+
75
+ Object.defineProperty(onCancel, 'isCancelled', {
76
+ get: (): boolean => this._isCancelled,
77
+ });
78
+
79
+ return executor(onResolve, onReject, onCancel as OnCancel);
80
+ });
81
+ }
82
+
83
+ get [Symbol.toStringTag]() {
84
+ return "Cancellable Promise";
85
+ }
86
+
87
+ public then<TResult1 = T, TResult2 = never>(
88
+ onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,
89
+ onRejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null
90
+ ): Promise<TResult1 | TResult2> {
91
+ return this.promise.then(onFulfilled, onRejected);
92
+ }
93
+
94
+ public catch<TResult = never>(
95
+ onRejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null
96
+ ): Promise<T | TResult> {
97
+ return this.promise.catch(onRejected);
98
+ }
99
+
100
+ public finally(onFinally?: (() => void) | null): Promise<T> {
101
+ return this.promise.finally(onFinally);
102
+ }
103
+
104
+ public cancel(): void {
105
+ if (this._isResolved || this._isRejected || this._isCancelled) {
106
+ return;
107
+ }
108
+ this._isCancelled = true;
109
+ if (this.cancelHandlers.length) {
110
+ try {
111
+ for (const cancelHandler of this.cancelHandlers) {
112
+ cancelHandler();
113
+ }
114
+ } catch (error) {
115
+ console.warn('Cancellation threw an error', error);
116
+ return;
117
+ }
118
+ }
119
+ this.cancelHandlers.length = 0;
120
+ if (this._reject) this._reject(new CancelError('Request aborted'));
121
+ }
122
+
123
+ public get isCancelled(): boolean {
124
+ return this._isCancelled;
125
+ }
126
+ }
@@ -0,0 +1,22 @@
1
+ import type { ApiRequestOptions } from './ApiRequestOptions';
2
+ import { BaseHttpRequest } from './BaseHttpRequest';
3
+ import type { CancelablePromise } from './CancelablePromise';
4
+ import type { OpenAPIConfig } from './OpenAPI';
5
+ import { request as __request } from './request';
6
+
7
+ export class FetchHttpRequest extends BaseHttpRequest {
8
+
9
+ constructor(config: OpenAPIConfig) {
10
+ super(config);
11
+ }
12
+
13
+ /**
14
+ * Request method
15
+ * @param options The request options from the service
16
+ * @returns CancelablePromise<T>
17
+ * @throws ApiError
18
+ */
19
+ public override request<T>(options: ApiRequestOptions): CancelablePromise<T> {
20
+ return __request(this.config, options);
21
+ }
22
+ }
@@ -0,0 +1,56 @@
1
+ import type { ApiRequestOptions } from './ApiRequestOptions';
2
+
3
+ type Headers = Record<string, string>;
4
+ type Middleware<T> = (value: T) => T | Promise<T>;
5
+ type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
6
+
7
+ export class Interceptors<T> {
8
+ _fns: Middleware<T>[];
9
+
10
+ constructor() {
11
+ this._fns = [];
12
+ }
13
+
14
+ eject(fn: Middleware<T>) {
15
+ const index = this._fns.indexOf(fn);
16
+ if (index !== -1) {
17
+ this._fns = [...this._fns.slice(0, index), ...this._fns.slice(index + 1)];
18
+ }
19
+ }
20
+
21
+ use(fn: Middleware<T>) {
22
+ this._fns = [...this._fns, fn];
23
+ }
24
+ }
25
+
26
+ export type OpenAPIConfig = {
27
+ BASE: string;
28
+ CREDENTIALS: 'include' | 'omit' | 'same-origin';
29
+ ENCODE_PATH?: ((path: string) => string) | undefined;
30
+ HEADERS?: Headers | Resolver<Headers> | undefined;
31
+ PASSWORD?: string | Resolver<string> | undefined;
32
+ TOKEN?: string | Resolver<string> | undefined;
33
+ USERNAME?: string | Resolver<string> | undefined;
34
+ VERSION: string;
35
+ WITH_CREDENTIALS: boolean;
36
+ interceptors: {
37
+ request: Interceptors<RequestInit>;
38
+ response: Interceptors<Response>;
39
+ };
40
+ };
41
+
42
+ export const OpenAPI: OpenAPIConfig = {
43
+ BASE: '',
44
+ CREDENTIALS: 'include',
45
+ ENCODE_PATH: undefined,
46
+ HEADERS: undefined,
47
+ PASSWORD: undefined,
48
+ TOKEN: undefined,
49
+ USERNAME: undefined,
50
+ VERSION: '1',
51
+ WITH_CREDENTIALS: false,
52
+ interceptors: {
53
+ request: new Interceptors(),
54
+ response: new Interceptors(),
55
+ },
56
+ };