@metigan/angular 1.0.0

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 (48) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +581 -0
  3. package/dist/LICENSE +22 -0
  4. package/dist/README.md +581 -0
  5. package/dist/esm2022/metigan-angular.mjs +5 -0
  6. package/dist/esm2022/public-api.mjs +21 -0
  7. package/dist/esm2022/src/lib/audiences.service.mjs +157 -0
  8. package/dist/esm2022/src/lib/config.mjs +30 -0
  9. package/dist/esm2022/src/lib/contacts.service.mjs +267 -0
  10. package/dist/esm2022/src/lib/email.service.mjs +267 -0
  11. package/dist/esm2022/src/lib/errors.mjs +40 -0
  12. package/dist/esm2022/src/lib/forms.service.mjs +180 -0
  13. package/dist/esm2022/src/lib/http-client.service.mjs +111 -0
  14. package/dist/esm2022/src/lib/metigan.module.mjs +67 -0
  15. package/dist/esm2022/src/lib/metigan.service.mjs +72 -0
  16. package/dist/esm2022/src/lib/templates.service.mjs +85 -0
  17. package/dist/esm2022/src/lib/types.mjs +6 -0
  18. package/dist/fesm2022/metigan-angular.mjs +1241 -0
  19. package/dist/fesm2022/metigan-angular.mjs.map +1 -0
  20. package/dist/index.d.ts +5 -0
  21. package/dist/public-api.d.ts +15 -0
  22. package/dist/src/lib/audiences.service.d.ts +62 -0
  23. package/dist/src/lib/config.d.ts +28 -0
  24. package/dist/src/lib/contacts.service.d.ts +80 -0
  25. package/dist/src/lib/email.service.d.ts +44 -0
  26. package/dist/src/lib/errors.d.ts +24 -0
  27. package/dist/src/lib/forms.service.d.ts +67 -0
  28. package/dist/src/lib/http-client.service.d.ts +46 -0
  29. package/dist/src/lib/metigan.module.d.ts +27 -0
  30. package/dist/src/lib/metigan.service.d.ts +27 -0
  31. package/dist/src/lib/templates.service.d.ts +36 -0
  32. package/dist/src/lib/types.d.ts +329 -0
  33. package/examples/basic.component.ts +113 -0
  34. package/ng-package.json +8 -0
  35. package/package.json +68 -0
  36. package/public-api.ts +26 -0
  37. package/src/lib/audiences.service.ts +230 -0
  38. package/src/lib/config.ts +35 -0
  39. package/src/lib/contacts.service.ts +377 -0
  40. package/src/lib/email.service.ts +286 -0
  41. package/src/lib/errors.ts +45 -0
  42. package/src/lib/forms.service.ts +263 -0
  43. package/src/lib/http-client.service.ts +156 -0
  44. package/src/lib/metigan.module.ts +55 -0
  45. package/src/lib/metigan.service.ts +80 -0
  46. package/src/lib/templates.service.ts +103 -0
  47. package/src/lib/types.ts +398 -0
  48. package/tsconfig.json +38 -0
@@ -0,0 +1,111 @@
1
+ /**
2
+ * HTTP Client Service for Metigan SDK
3
+ * Wraps Angular HttpClient with retry logic and error handling
4
+ */
5
+ import { Injectable } from '@angular/core';
6
+ import { throwError, timer } from 'rxjs';
7
+ import { catchError, retryWhen, mergeMap, map } from 'rxjs/operators';
8
+ import { ApiError, MetiganError } from './errors';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common/http";
11
+ export class MetiganHttpClient {
12
+ http;
13
+ constructor(http) {
14
+ this.http = http;
15
+ }
16
+ /**
17
+ * Make GET request with retry logic
18
+ */
19
+ get(url, options, retryCount = 3, retryDelay = 1000) {
20
+ const opts = this.buildOptions(options);
21
+ return this.http.get(url, opts).pipe(map((response) => response), retryWhen(errors => errors.pipe(mergeMap((error, index) => {
22
+ if (index < retryCount && this.shouldRetry(error)) {
23
+ return timer(retryDelay * (index + 1));
24
+ }
25
+ return throwError(() => error);
26
+ }))), catchError(this.handleError));
27
+ }
28
+ /**
29
+ * Make POST request with retry logic
30
+ */
31
+ post(url, body, options, retryCount = 3, retryDelay = 1000) {
32
+ const opts = this.buildOptions(options);
33
+ return this.http.post(url, body, opts).pipe(map((response) => response), retryWhen(errors => errors.pipe(mergeMap((error, index) => {
34
+ if (index < retryCount && this.shouldRetry(error)) {
35
+ return timer(retryDelay * (index + 1));
36
+ }
37
+ return throwError(() => error);
38
+ }))), catchError(this.handleError));
39
+ }
40
+ /**
41
+ * Make PUT request with retry logic
42
+ */
43
+ put(url, body, options, retryCount = 3, retryDelay = 1000) {
44
+ const opts = this.buildOptions(options);
45
+ return this.http.put(url, body, opts).pipe(map((response) => response), retryWhen(errors => errors.pipe(mergeMap((error, index) => {
46
+ if (index < retryCount && this.shouldRetry(error)) {
47
+ return timer(retryDelay * (index + 1));
48
+ }
49
+ return throwError(() => error);
50
+ }))), catchError(this.handleError));
51
+ }
52
+ /**
53
+ * Make DELETE request with retry logic
54
+ */
55
+ delete(url, options, retryCount = 3, retryDelay = 1000) {
56
+ const opts = this.buildOptions(options);
57
+ return this.http.delete(url, opts).pipe(map((response) => response), retryWhen(errors => errors.pipe(mergeMap((error, index) => {
58
+ if (index < retryCount && this.shouldRetry(error)) {
59
+ return timer(retryDelay * (index + 1));
60
+ }
61
+ return throwError(() => error);
62
+ }))), catchError(this.handleError));
63
+ }
64
+ /**
65
+ * Build HTTP options with timeout
66
+ */
67
+ buildOptions(options) {
68
+ const opts = {
69
+ observe: 'body'
70
+ };
71
+ if (options?.headers) {
72
+ opts.headers = options.headers;
73
+ }
74
+ if (options?.params) {
75
+ opts.params = options.params;
76
+ }
77
+ // Angular HttpClient doesn't support timeout directly
78
+ // Timeout should be handled at the interceptor level if needed
79
+ return opts;
80
+ }
81
+ /**
82
+ * Determine if error should trigger retry
83
+ */
84
+ shouldRetry(error) {
85
+ // Retry on server errors (5xx) or network errors
86
+ return error.status >= 500 || error.status === 0 || !error.status;
87
+ }
88
+ /**
89
+ * Handle HTTP errors
90
+ */
91
+ handleError = (error) => {
92
+ if (error.error instanceof ErrorEvent) {
93
+ // Client-side error
94
+ return throwError(() => new MetiganError(`Network error: ${error.error.message}`));
95
+ }
96
+ else {
97
+ // Server-side error
98
+ const message = error.error?.message || error.error?.error || `Request failed with status ${error.status}`;
99
+ return throwError(() => new ApiError(message, error.status));
100
+ }
101
+ };
102
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganHttpClient, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
103
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganHttpClient, providedIn: 'root' });
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganHttpClient, decorators: [{
106
+ type: Injectable,
107
+ args: [{
108
+ providedIn: 'root'
109
+ }]
110
+ }], ctorParameters: () => [{ type: i1.HttpClient }] });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jbGllbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaHR0cC1jbGllbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBV2xELE1BQU0sT0FBTyxpQkFBaUI7SUFDUjtJQUFwQixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQUcsQ0FBQztJQUV4Qzs7T0FFRztJQUNILEdBQUcsQ0FBSSxHQUFXLEVBQUUsT0FBcUIsRUFBRSxhQUFxQixDQUFDLEVBQUUsYUFBcUIsSUFBSTtRQUMxRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXhDLE9BQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxFQUFFLElBQUksQ0FBbUIsQ0FBQyxJQUFJLENBQ3hELEdBQUcsQ0FBQyxDQUFDLFFBQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQzlCLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNqQixNQUFNLENBQUMsSUFBSSxDQUNULFFBQVEsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsS0FBYSxFQUFFLEVBQUU7WUFDbkQsSUFBSSxLQUFLLEdBQUcsVUFBVSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEQsT0FBTyxLQUFLLENBQUMsVUFB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QUFvQjtZQUNwQixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxrQkFBa0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQzthQUFNLENBQUM7WUFDTixvQkFBb0I7WUFDcEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksOEJBQThCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzRyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUMsQ0FBQzt3R0FySVMsaUJBQWlCOzRHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBIVFRQIENsaWVudCBTZXJ2aWNlIGZvciBNZXRpZ2FuIFNES1xyXG4gKiBXcmFwcyBBbmd1bGFyIEh0dHBDbGllbnQgd2l0aCByZXRyeSBsb2dpYyBhbmQgZXJyb3IgaGFuZGxpbmdcclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgcmV0cnlXaGVuLCBtZXJnZU1hcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcGlFcnJvciwgTWV0aWdhbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIdHRwT3B0aW9ucyB7XHJcbiAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwgeyBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9O1xyXG4gIHBhcmFtcz86IEh0dHBQYXJhbXMgfCB7IFtwYXJhbTogc3RyaW5nXTogYW55IH07XHJcbiAgdGltZW91dD86IG51bWJlcjtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWV0aWdhbkh0dHBDbGllbnQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogTWFrZSBHRVQgcmVxdWVzdCB3aXRoIHJldHJ5IGxvZ2ljXHJcbiAgICovXHJcbiAgZ2V0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzogSHR0cE9wdGlvbnMsIHJldHJ5Q291bnQ6IG51bWJlciA9IDMsIHJldHJ5RGVsYXk6IG51bWJlciA9IDEwMDApOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IG9wdHMgPSB0aGlzLmJ1aWxkT3B0aW9ucyhvcHRpb25zKTtcclxuICAgIFxyXG4gICAgcmV0dXJuICh0aGlzLmh0dHAuZ2V0PFQ+KHVybCwgb3B0cykgYXMgT2JzZXJ2YWJsZTxUPikucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogVCkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICByZXRyeVdoZW4oZXJyb3JzID0+XHJcbiAgICAgICAgZXJyb3JzLnBpcGUoXHJcbiAgICAgICAgICBtZXJnZU1hcCgoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA8IHJldHJ5Q291bnQgJiYgdGhpcy5zaG91bGRSZXRyeShlcnJvcikpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gdGltZXIocmV0cnlEZWxheSAqIChpbmRleCArIDEpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ha2UgUE9TVCByZXF1ZXN0IHdpdGggcmV0cnkgbG9naWNcclxuICAgKi9cclxuICBwb3N0PFQ+KHVybDogc3RyaW5nLCBib2R5OiBhbnksIG9wdGlvbnM/OiBIdHRwT3B0aW9ucywgcmV0cnlDb3VudDogbnVtYmVyID0gMywgcmV0cnlEZWxheTogbnVtYmVyID0gMTAwMCk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgY29uc3Qgb3B0cyA9IHRoaXMuYnVpbGRPcHRpb25zKG9wdGlvbnMpO1xyXG4gICAgXHJcbiAgICByZXR1cm4gKHRoaXMuaHR0cC5wb3N0PFQ+KHVybCwgYm9keSwgb3B0cykgYXMgT2JzZXJ2YWJsZTxUPikucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogVCkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICByZXRyeVdoZW4oZXJyb3JzID0+XHJcbiAgICAgICAgZXJyb3JzLnBpcGUoXHJcbiAgICAgICAgICBtZXJnZU1hcCgoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA8IHJldHJ5Q291bnQgJiYgdGhpcy5zaG91bGRSZXRyeShlcnJvcikpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gdGltZXIocmV0cnlEZWxheSAqIChpbmRleCArIDEpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ha2UgUFVUIHJlcXVlc3Qgd2l0aCByZXRyeSBsb2dpY1xyXG4gICAqL1xyXG4gIHB1dDxUPih1cmw6IHN0cmluZywgYm9keTogYW55LCBvcHRpb25zPzogSHR0cE9wdGlvbnMsIHJldHJ5Q291bnQ6IG51bWJlciA9IDMsIHJldHJ5RGVsYXk6IG51bWJlciA9IDEwMDApOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IG9wdHMgPSB0aGlzLmJ1aWxkT3B0aW9ucyhvcHRpb25zKTtcclxuICAgIFxyXG4gICAgcmV0dXJuICh0aGlzLmh0dHAucHV0PFQ+KHVybCwgYm9keSwgb3B0cykgYXMgT2JzZXJ2YWJsZTxUPikucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogVCkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICByZXRyeVdoZW4oZXJyb3JzID0+XHJcbiAgICAgICAgZXJyb3JzLnBpcGUoXHJcbiAgICAgICAgICBtZXJnZU1hcCgoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA8IHJldHJ5Q291bnQgJiYgdGhpcy5zaG91bGRSZXRyeShlcnJvcikpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gdGltZXIocmV0cnlEZWxheSAqIChpbmRleCArIDEpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ha2UgREVMRVRFIHJlcXVlc3Qgd2l0aCByZXRyeSBsb2dpY1xyXG4gICAqL1xyXG4gIGRlbGV0ZTxUPih1cmw6IHN0cmluZywgb3B0aW9ucz86IEh0dHBPcHRpb25zLCByZXRyeUNvdW50OiBudW1iZXIgPSAzLCByZXRyeURlbGF5OiBudW1iZXIgPSAxMDAwKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICBjb25zdCBvcHRzID0gdGhpcy5idWlsZE9wdGlvbnMob3B0aW9ucyk7XHJcbiAgICBcclxuICAgIHJldHVybiAodGhpcy5odHRwLmRlbGV0ZTxUPih1cmwsIG9wdHMpIGFzIE9ic2VydmFibGU8VD4pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IFQpID0+IHJlc3BvbnNlKSxcclxuICAgICAgcmV0cnlXaGVuKGVycm9ycyA9PlxyXG4gICAgICAgIGVycm9ycy5waXBlKFxyXG4gICAgICAgICAgbWVyZ2VNYXAoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggPCByZXRyeUNvdW50ICYmIHRoaXMuc2hvdWxkUmV0cnkoZXJyb3IpKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRpbWVyKHJldHJ5RGVsYXkgKiAoaW5kZXggKyAxKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICAgICksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCdWlsZCBIVFRQIG9wdGlvbnMgd2l0aCB0aW1lb3V0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBidWlsZE9wdGlvbnMob3B0aW9ucz86IEh0dHBPcHRpb25zKTogYW55IHtcclxuICAgIGNvbnN0IG9wdHM6IGFueSA9IHtcclxuICAgICAgb2JzZXJ2ZTogJ2JvZHknIGFzIGNvbnN0XHJcbiAgICB9O1xyXG4gICAgXHJcbiAgICBpZiAob3B0aW9ucz8uaGVhZGVycykge1xyXG4gICAgICBvcHRzLmhlYWRlcnMgPSBvcHRpb25zLmhlYWRlcnM7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmIChvcHRpb25zPy5wYXJhbXMpIHtcclxuICAgICAgb3B0cy5wYXJhbXMgPSBvcHRpb25zLnBhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICAvLyBBbmd1bGFyIEh0dHBDbGllbnQgZG9lc24ndCBzdXBwb3J0IHRpbWVvdXQgZGlyZWN0bHlcclxuICAgIC8vIFRpbWVvdXQgc2hvdWxkIGJlIGhhbmRsZWQgYXQgdGhlIGludGVyY2VwdG9yIGxldmVsIGlmIG5lZWRlZFxyXG4gICAgXHJcbiAgICByZXR1cm4gb3B0cztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZSBpZiBlcnJvciBzaG91bGQgdHJpZ2dlciByZXRyeVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2hvdWxkUmV0cnkoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogYm9vbGVhbiB7XHJcbiAgICAvLyBSZXRyeSBvbiBzZXJ2ZXIgZXJyb3JzICg1eHgpIG9yIG5ldHdvcmsgZXJyb3JzXHJcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID49IDUwMCB8fCBlcnJvci5zdGF0dXMgPT09IDAgfHwgIWVycm9yLnN0YXR1cztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSBIVFRQIGVycm9yc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IgPSAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxuZXZlcj4gPT4ge1xyXG4gICAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAvLyBDbGllbnQtc2lkZSBlcnJvclxyXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgTWV0aWdhbkVycm9yKGBOZXR3b3JrIGVycm9yOiAke2Vycm9yLmVycm9yLm1lc3NhZ2V9YCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gU2VydmVyLXNpZGUgZXJyb3JcclxuICAgICAgY29uc3QgbWVzc2FnZSA9IGVycm9yLmVycm9yPy5tZXNzYWdlIHx8IGVycm9yLmVycm9yPy5lcnJvciB8fCBgUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgJHtlcnJvci5zdGF0dXN9YDtcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEFwaUVycm9yKG1lc3NhZ2UsIGVycm9yLnN0YXR1cykpO1xyXG4gICAgfVxyXG4gIH07XHJcbn1cclxuXHJcbiJdfQ==
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Metigan Angular Module
3
+ * Import this module in your Angular app to use Metigan services
4
+ */
5
+ import { NgModule } from '@angular/core';
6
+ import { HttpClientModule } from '@angular/common/http';
7
+ import { MetiganService, METIGAN_CONFIG } from './metigan.service';
8
+ import { MetiganHttpClient } from './http-client.service';
9
+ import { MetiganEmailService } from './email.service';
10
+ import { MetiganFormsService } from './forms.service';
11
+ import { MetiganContactsService } from './contacts.service';
12
+ import { MetiganAudiencesService } from './audiences.service';
13
+ import { MetiganTemplatesService } from './templates.service';
14
+ import * as i0 from "@angular/core";
15
+ export class MetiganModule {
16
+ /**
17
+ * Configure Metigan with API key and options
18
+ * Call this in your root module's imports
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * imports: [
23
+ * MetiganModule.forRoot({
24
+ * apiKey: 'your-api-key'
25
+ * })
26
+ * ]
27
+ * ```
28
+ */
29
+ static forRoot(config) {
30
+ return {
31
+ ngModule: MetiganModule,
32
+ providers: [
33
+ {
34
+ provide: METIGAN_CONFIG,
35
+ useValue: config
36
+ }
37
+ ]
38
+ };
39
+ }
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
41
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: MetiganModule, imports: [HttpClientModule] });
42
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganModule, providers: [
43
+ MetiganHttpClient,
44
+ MetiganEmailService,
45
+ MetiganFormsService,
46
+ MetiganContactsService,
47
+ MetiganAudiencesService,
48
+ MetiganTemplatesService,
49
+ MetiganService
50
+ ], imports: [HttpClientModule] });
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganModule, decorators: [{
53
+ type: NgModule,
54
+ args: [{
55
+ imports: [HttpClientModule],
56
+ providers: [
57
+ MetiganHttpClient,
58
+ MetiganEmailService,
59
+ MetiganFormsService,
60
+ MetiganContactsService,
61
+ MetiganAudiencesService,
62
+ MetiganTemplatesService,
63
+ MetiganService
64
+ ]
65
+ }]
66
+ }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aWdhbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21ldGlnYW4ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBZTlELE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBNEI7UUFDekMsT0FBTztZQUNMLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsY0FBYztvQkFDdkIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzt3R0F4QlUsYUFBYTt5R0FBYixhQUFhLFlBWGQsZ0JBQWdCO3lHQVdmLGFBQWEsYUFWYjtZQUNULGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsdUJBQXVCO1lBQ3ZCLGNBQWM7U0FDZixZQVRTLGdCQUFnQjs7NEZBV2YsYUFBYTtrQkFaekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsU0FBUyxFQUFFO3dCQUNULGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGNBQWM7cUJBQ2Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogTWV0aWdhbiBBbmd1bGFyIE1vZHVsZVxyXG4gKiBJbXBvcnQgdGhpcyBtb2R1bGUgaW4geW91ciBBbmd1bGFyIGFwcCB0byB1c2UgTWV0aWdhbiBzZXJ2aWNlc1xyXG4gKi9cclxuXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE1ldGlnYW5TZXJ2aWNlLCBNRVRJR0FOX0NPTkZJRyB9IGZyb20gJy4vbWV0aWdhbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWV0aWdhbkh0dHBDbGllbnQgfSBmcm9tICcuL2h0dHAtY2xpZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXRpZ2FuRW1haWxTZXJ2aWNlIH0gZnJvbSAnLi9lbWFpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWV0aWdhbkZvcm1zU2VydmljZSB9IGZyb20gJy4vZm9ybXMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1ldGlnYW5Db250YWN0c1NlcnZpY2UgfSBmcm9tICcuL2NvbnRhY3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXRpZ2FuQXVkaWVuY2VzU2VydmljZSB9IGZyb20gJy4vYXVkaWVuY2VzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXRpZ2FuVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4vdGVtcGxhdGVzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXRpZ2FuQ2xpZW50T3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbSHR0cENsaWVudE1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNZXRpZ2FuSHR0cENsaWVudCxcclxuICAgIE1ldGlnYW5FbWFpbFNlcnZpY2UsXHJcbiAgICBNZXRpZ2FuRm9ybXNTZXJ2aWNlLFxyXG4gICAgTWV0aWdhbkNvbnRhY3RzU2VydmljZSxcclxuICAgIE1ldGlnYW5BdWRpZW5jZXNTZXJ2aWNlLFxyXG4gICAgTWV0aWdhblRlbXBsYXRlc1NlcnZpY2UsXHJcbiAgICBNZXRpZ2FuU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1ldGlnYW5Nb2R1bGUge1xyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyZSBNZXRpZ2FuIHdpdGggQVBJIGtleSBhbmQgb3B0aW9uc1xyXG4gICAqIENhbGwgdGhpcyBpbiB5b3VyIHJvb3QgbW9kdWxlJ3MgaW1wb3J0c1xyXG4gICAqIFxyXG4gICAqIEBleGFtcGxlXHJcbiAgICogYGBgdHlwZXNjcmlwdFxyXG4gICAqIGltcG9ydHM6IFtcclxuICAgKiAgIE1ldGlnYW5Nb2R1bGUuZm9yUm9vdCh7XHJcbiAgICogICAgIGFwaUtleTogJ3lvdXItYXBpLWtleSdcclxuICAgKiAgIH0pXHJcbiAgICogXVxyXG4gICAqIGBgYFxyXG4gICAqL1xyXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogTWV0aWdhbkNsaWVudE9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE1ldGlnYW5Nb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBNZXRpZ2FuTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBNRVRJR0FOX0NPTkZJRyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Main Metigan Service
3
+ * Unified service that provides access to all Metigan modules
4
+ */
5
+ import { Injectable, Inject, Optional } from '@angular/core';
6
+ import { MetiganError } from './errors';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./email.service";
9
+ import * as i2 from "./forms.service";
10
+ import * as i3 from "./contacts.service";
11
+ import * as i4 from "./audiences.service";
12
+ import * as i5 from "./templates.service";
13
+ export const METIGAN_CONFIG = 'METIGAN_CONFIG';
14
+ export class MetiganService {
15
+ email;
16
+ forms;
17
+ contacts;
18
+ audiences;
19
+ templates;
20
+ initialized = false;
21
+ constructor(emailService, formsService, contactsService, audiencesService, templatesService, config) {
22
+ this.email = emailService;
23
+ this.forms = formsService;
24
+ this.contacts = contactsService;
25
+ this.audiences = audiencesService;
26
+ this.templates = templatesService;
27
+ // Auto-initialize if config is provided via injection
28
+ if (config) {
29
+ this.initialize(config);
30
+ }
31
+ }
32
+ /**
33
+ * Initialize all services with API key and options
34
+ */
35
+ initialize(options) {
36
+ if (!options.apiKey) {
37
+ throw new MetiganError('API key is required');
38
+ }
39
+ const serviceOptions = {
40
+ apiUrl: options.apiUrl,
41
+ timeout: options.timeout,
42
+ retryCount: options.retryCount,
43
+ retryDelay: options.retryDelay
44
+ };
45
+ this.email.initialize(options.apiKey, serviceOptions);
46
+ this.forms.initialize(options.apiKey, serviceOptions);
47
+ this.contacts.initialize(options.apiKey, serviceOptions);
48
+ this.audiences.initialize(options.apiKey, serviceOptions);
49
+ this.templates.initialize(options.apiKey, serviceOptions);
50
+ this.initialized = true;
51
+ }
52
+ /**
53
+ * Check if services are initialized
54
+ */
55
+ isInitialized() {
56
+ return this.initialized;
57
+ }
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganService, deps: [{ token: i1.MetiganEmailService }, { token: i2.MetiganFormsService }, { token: i3.MetiganContactsService }, { token: i4.MetiganAudiencesService }, { token: i5.MetiganTemplatesService }, { token: METIGAN_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
59
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganService, providedIn: 'root' });
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganService, decorators: [{
62
+ type: Injectable,
63
+ args: [{
64
+ providedIn: 'root'
65
+ }]
66
+ }], ctorParameters: () => [{ type: i1.MetiganEmailService }, { type: i2.MetiganFormsService }, { type: i3.MetiganContactsService }, { type: i4.MetiganAudiencesService }, { type: i5.MetiganTemplatesService }, { type: undefined, decorators: [{
67
+ type: Optional
68
+ }, {
69
+ type: Inject,
70
+ args: [METIGAN_CONFIG]
71
+ }] }] });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aWdhbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXRpZ2FuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7Ozs7QUFHeEMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBSy9DLE1BQU0sT0FBTyxjQUFjO0lBQ1QsS0FBSyxDQUFzQjtJQUMzQixLQUFLLENBQXNCO0lBQzNCLFFBQVEsQ0FBeUI7SUFDakMsU0FBUyxDQUEwQjtJQUNuQyxTQUFTLENBQTBCO0lBRTNDLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFFckMsWUFDRSxZQUFpQyxFQUNqQyxZQUFpQyxFQUNqQyxlQUF1QyxFQUN2QyxnQkFBeUMsRUFDekMsZ0JBQXlDLEVBQ0wsTUFBNkI7UUFFakUsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDO1FBRWxDLHNEQUFzRDtRQUN0RCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVSxDQUFDLE9BQTZCO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRztZQUNyQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3hCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUM5QixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7U0FDL0IsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7d0dBMURVLGNBQWMsNE1BZUgsY0FBYzs0R0FmekIsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFnQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIE1haW4gTWV0aWdhbiBTZXJ2aWNlXHJcbiAqIFVuaWZpZWQgc2VydmljZSB0aGF0IHByb3ZpZGVzIGFjY2VzcyB0byBhbGwgTWV0aWdhbiBtb2R1bGVzXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRpZ2FuRW1haWxTZXJ2aWNlIH0gZnJvbSAnLi9lbWFpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWV0aWdhbkZvcm1zU2VydmljZSB9IGZyb20gJy4vZm9ybXMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1ldGlnYW5Db250YWN0c1NlcnZpY2UgfSBmcm9tICcuL2NvbnRhY3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXRpZ2FuQXVkaWVuY2VzU2VydmljZSB9IGZyb20gJy4vYXVkaWVuY2VzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXRpZ2FuVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4vdGVtcGxhdGVzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXRpZ2FuRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XHJcbmltcG9ydCB7IE1ldGlnYW5DbGllbnRPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XHJcblxyXG5leHBvcnQgY29uc3QgTUVUSUdBTl9DT05GSUcgPSAnTUVUSUdBTl9DT05GSUcnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWV0aWdhblNlcnZpY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBlbWFpbDogTWV0aWdhbkVtYWlsU2VydmljZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybXM6IE1ldGlnYW5Gb3Jtc1NlcnZpY2U7XHJcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRhY3RzOiBNZXRpZ2FuQ29udGFjdHNTZXJ2aWNlO1xyXG4gIHB1YmxpYyByZWFkb25seSBhdWRpZW5jZXM6IE1ldGlnYW5BdWRpZW5jZXNTZXJ2aWNlO1xyXG4gIHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZXM6IE1ldGlnYW5UZW1wbGF0ZXNTZXJ2aWNlO1xyXG5cclxuICBwcml2YXRlIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgZW1haWxTZXJ2aWNlOiBNZXRpZ2FuRW1haWxTZXJ2aWNlLFxyXG4gICAgZm9ybXNTZXJ2aWNlOiBNZXRpZ2FuRm9ybXNTZXJ2aWNlLFxyXG4gICAgY29udGFjdHNTZXJ2aWNlOiBNZXRpZ2FuQ29udGFjdHNTZXJ2aWNlLFxyXG4gICAgYXVkaWVuY2VzU2VydmljZTogTWV0aWdhbkF1ZGllbmNlc1NlcnZpY2UsXHJcbiAgICB0ZW1wbGF0ZXNTZXJ2aWNlOiBNZXRpZ2FuVGVtcGxhdGVzU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUVUSUdBTl9DT05GSUcpIGNvbmZpZz86IE1ldGlnYW5DbGllbnRPcHRpb25zXHJcbiAgKSB7XHJcbiAgICB0aGlzLmVtYWlsID0gZW1haWxTZXJ2aWNlO1xyXG4gICAgdGhpcy5mb3JtcyA9IGZvcm1zU2VydmljZTtcclxuICAgIHRoaXMuY29udGFjdHMgPSBjb250YWN0c1NlcnZpY2U7XHJcbiAgICB0aGlzLmF1ZGllbmNlcyA9IGF1ZGllbmNlc1NlcnZpY2U7XHJcbiAgICB0aGlzLnRlbXBsYXRlcyA9IHRlbXBsYXRlc1NlcnZpY2U7XHJcblxyXG4gICAgLy8gQXV0by1pbml0aWFsaXplIGlmIGNvbmZpZyBpcyBwcm92aWRlZCB2aWEgaW5qZWN0aW9uXHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZShjb25maWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSBhbGwgc2VydmljZXMgd2l0aCBBUEkga2V5IGFuZCBvcHRpb25zXHJcbiAgICovXHJcbiAgaW5pdGlhbGl6ZShvcHRpb25zOiBNZXRpZ2FuQ2xpZW50T3B0aW9ucyk6IHZvaWQge1xyXG4gICAgaWYgKCFvcHRpb25zLmFwaUtleSkge1xyXG4gICAgICB0aHJvdyBuZXcgTWV0aWdhbkVycm9yKCdBUEkga2V5IGlzIHJlcXVpcmVkJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VydmljZU9wdGlvbnMgPSB7XHJcbiAgICAgIGFwaVVybDogb3B0aW9ucy5hcGlVcmwsXHJcbiAgICAgIHRpbWVvdXQ6IG9wdGlvbnMudGltZW91dCxcclxuICAgICAgcmV0cnlDb3VudDogb3B0aW9ucy5yZXRyeUNvdW50LFxyXG4gICAgICByZXRyeURlbGF5OiBvcHRpb25zLnJldHJ5RGVsYXlcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5lbWFpbC5pbml0aWFsaXplKG9wdGlvbnMuYXBpS2V5LCBzZXJ2aWNlT3B0aW9ucyk7XHJcbiAgICB0aGlzLmZvcm1zLmluaXRpYWxpemUob3B0aW9ucy5hcGlLZXksIHNlcnZpY2VPcHRpb25zKTtcclxuICAgIHRoaXMuY29udGFjdHMuaW5pdGlhbGl6ZShvcHRpb25zLmFwaUtleSwgc2VydmljZU9wdGlvbnMpO1xyXG4gICAgdGhpcy5hdWRpZW5jZXMuaW5pdGlhbGl6ZShvcHRpb25zLmFwaUtleSwgc2VydmljZU9wdGlvbnMpO1xyXG4gICAgdGhpcy50ZW1wbGF0ZXMuaW5pdGlhbGl6ZShvcHRpb25zLmFwaUtleSwgc2VydmljZU9wdGlvbnMpO1xyXG5cclxuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgc2VydmljZXMgYXJlIGluaXRpYWxpemVkXHJcbiAgICovXHJcbiAgaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVkO1xyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Metigan Templates Service
3
+ * Service for managing email templates
4
+ */
5
+ import { Injectable } from '@angular/core';
6
+ import { throwError } from 'rxjs';
7
+ import { HttpParams } from '@angular/common/http';
8
+ import { API_URL, DEFAULT_TIMEOUT, DEFAULT_RETRY_COUNT, DEFAULT_RETRY_DELAY } from './config';
9
+ import { ValidationError, MetiganError } from './errors';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "./http-client.service";
12
+ export class MetiganTemplatesService {
13
+ http;
14
+ apiKey = '';
15
+ apiUrl = API_URL;
16
+ timeout = DEFAULT_TIMEOUT;
17
+ retryCount = DEFAULT_RETRY_COUNT;
18
+ retryDelay = DEFAULT_RETRY_DELAY;
19
+ constructor(http) {
20
+ this.http = http;
21
+ }
22
+ /**
23
+ * Initialize the service with API key and options
24
+ */
25
+ initialize(apiKey, options) {
26
+ if (!apiKey) {
27
+ throw new MetiganError('API key is required');
28
+ }
29
+ this.apiKey = apiKey;
30
+ this.apiUrl = options?.apiUrl || API_URL;
31
+ this.timeout = options?.timeout || DEFAULT_TIMEOUT;
32
+ this.retryCount = options?.retryCount || DEFAULT_RETRY_COUNT;
33
+ this.retryDelay = options?.retryDelay || DEFAULT_RETRY_DELAY;
34
+ }
35
+ /**
36
+ * Get default headers
37
+ */
38
+ getHeaders() {
39
+ return {
40
+ 'Content-Type': 'application/json',
41
+ 'x-api-key': this.apiKey,
42
+ 'User-Agent': 'AngularSDK/1.0'
43
+ };
44
+ }
45
+ /**
46
+ * List all templates
47
+ */
48
+ list(options) {
49
+ if (!this.apiKey) {
50
+ return throwError(() => new MetiganError('Service not initialized. Call initialize() first.'));
51
+ }
52
+ let params = new HttpParams();
53
+ if (options?.page) {
54
+ params = params.set('page', options.page.toString());
55
+ }
56
+ if (options?.limit) {
57
+ params = params.set('limit', options.limit.toString());
58
+ }
59
+ return this.http.get(`${this.apiUrl}/api/templates`, {
60
+ headers: this.getHeaders(),
61
+ params: params
62
+ }, this.retryCount, this.retryDelay);
63
+ }
64
+ /**
65
+ * Get template by ID
66
+ */
67
+ get(templateId) {
68
+ if (!this.apiKey) {
69
+ return throwError(() => new MetiganError('Service not initialized. Call initialize() first.'));
70
+ }
71
+ if (!templateId) {
72
+ return throwError(() => new ValidationError('Template ID is required'));
73
+ }
74
+ return this.http.get(`${this.apiUrl}/api/templates/${templateId}`, { headers: this.getHeaders() }, this.retryCount, this.retryDelay);
75
+ }
76
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganTemplatesService, deps: [{ token: i1.MetiganHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
77
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganTemplatesService, providedIn: 'root' });
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MetiganTemplatesService, decorators: [{
80
+ type: Injectable,
81
+ args: [{
82
+ providedIn: 'root'
83
+ }]
84
+ }], ctorParameters: () => [{ type: i1.MetiganHttpClient }] });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RlbXBsYXRlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQVV6RCxNQUFNLE9BQU8sdUJBQXVCO0lBT2Q7SUFOWixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLE1BQU0sR0FBVyxPQUFPLENBQUM7SUFDekIsT0FBTyxHQUFXLGVBQWUsQ0FBQztJQUNsQyxVQUFVLEdBQVcsbUJBQW1CLENBQUM7SUFDekMsVUFBVSxHQUFXLG1CQUFtQixDQUFDO0lBRWpELFlBQW9CLElBQXVCO1FBQXZCLFNBQUksR0FBSixJQUFJLENBQW1CO0lBQUcsQ0FBQztJQUUvQzs7T0FFRztJQUNILFVBQVUsQ0FBQyxNQUFjLEVBQUUsT0FBeUY7UUFDbEgsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxFQUFFLE9BQU8sSUFBSSxlQUFlLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLEVBQUUsVUFBVSxJQUFJLG1CQUFtQixDQUFDO1FBQzdELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxFQUFFLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxVQUFVO1FBQ2hCLE9BQU87WUFDTCxjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUN4QixZQUFZLEVBQUUsZ0JBQWdCO1NBQy9CLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLENBQUMsT0FBMkI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxtREFBbUQsQ0FBQyxDQUFDLENBQUM7UUFDakcsQ0FBQztRQUVELElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsSUFBSSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDbEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsTUFBTSxnQkFBZ0IsRUFDOUI7WUFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMxQixNQUFNLEVBQUUsTUFBTTtTQUNmLEVBQ0QsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLFVBQWtCO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsbURBQW1ELENBQUMsQ0FBQyxDQUFDO1FBQ2pHLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxlQUFlLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixHQUFHLElBQUksQ0FBQyxNQUFNLGtCQUFrQixVQUFVLEVBQUUsRUFDNUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQzlCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7d0dBaEZVLHVCQUF1Qjs0R0FBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogTWV0aWdhbiBUZW1wbGF0ZXMgU2VydmljZVxyXG4gKiBTZXJ2aWNlIGZvciBtYW5hZ2luZyBlbWFpbCB0ZW1wbGF0ZXNcclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTWV0aWdhbkh0dHBDbGllbnQgfSBmcm9tICcuL2h0dHAtY2xpZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBUElfVVJMLCBERUZBVUxUX1RJTUVPVVQsIERFRkFVTFRfUkVUUllfQ09VTlQsIERFRkFVTFRfUkVUUllfREVMQVkgfSBmcm9tICcuL2NvbmZpZyc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciwgTWV0aWdhbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xyXG5pbXBvcnQge1xyXG4gIEVtYWlsVGVtcGxhdGUsXHJcbiAgRW1haWxUZW1wbGF0ZUxpc3RSZXNwb25zZSxcclxuICBQYWdpbmF0aW9uT3B0aW9uc1xyXG59IGZyb20gJy4vdHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWV0aWdhblRlbXBsYXRlc1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgYXBpS2V5OiBzdHJpbmcgPSAnJztcclxuICBwcml2YXRlIGFwaVVybDogc3RyaW5nID0gQVBJX1VSTDtcclxuICBwcml2YXRlIHRpbWVvdXQ6IG51bWJlciA9IERFRkFVTFRfVElNRU9VVDtcclxuICBwcml2YXRlIHJldHJ5Q291bnQ6IG51bWJlciA9IERFRkFVTFRfUkVUUllfQ09VTlQ7XHJcbiAgcHJpdmF0ZSByZXRyeURlbGF5OiBudW1iZXIgPSBERUZBVUxUX1JFVFJZX0RFTEFZO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IE1ldGlnYW5IdHRwQ2xpZW50KSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoZSBzZXJ2aWNlIHdpdGggQVBJIGtleSBhbmQgb3B0aW9uc1xyXG4gICAqL1xyXG4gIGluaXRpYWxpemUoYXBpS2V5OiBzdHJpbmcsIG9wdGlvbnM/OiB7IGFwaVVybD86IHN0cmluZzsgdGltZW91dD86IG51bWJlcjsgcmV0cnlDb3VudD86IG51bWJlcjsgcmV0cnlEZWxheT86IG51bWJlciB9KTogdm9pZCB7XHJcbiAgICBpZiAoIWFwaUtleSkge1xyXG4gICAgICB0aHJvdyBuZXcgTWV0aWdhbkVycm9yKCdBUEkga2V5IGlzIHJlcXVpcmVkJyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcGlLZXkgPSBhcGlLZXk7XHJcbiAgICB0aGlzLmFwaVVybCA9IG9wdGlvbnM/LmFwaVVybCB8fCBBUElfVVJMO1xyXG4gICAgdGhpcy50aW1lb3V0ID0gb3B0aW9ucz8udGltZW91dCB8fCBERUZBVUxUX1RJTUVPVVQ7XHJcbiAgICB0aGlzLnJldHJ5Q291bnQgPSBvcHRpb25zPy5yZXRyeUNvdW50IHx8IERFRkFVTFRfUkVUUllfQ09VTlQ7XHJcbiAgICB0aGlzLnJldHJ5RGVsYXkgPSBvcHRpb25zPy5yZXRyeURlbGF5IHx8IERFRkFVTFRfUkVUUllfREVMQVk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgZGVmYXVsdCBoZWFkZXJzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgJ3gtYXBpLWtleSc6IHRoaXMuYXBpS2V5LFxyXG4gICAgICAnVXNlci1BZ2VudCc6ICdBbmd1bGFyU0RLLzEuMCdcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMaXN0IGFsbCB0ZW1wbGF0ZXNcclxuICAgKi9cclxuICBsaXN0KG9wdGlvbnM/OiBQYWdpbmF0aW9uT3B0aW9ucyk6IE9ic2VydmFibGU8RW1haWxUZW1wbGF0ZUxpc3RSZXNwb25zZT4ge1xyXG4gICAgaWYgKCF0aGlzLmFwaUtleSkge1xyXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgTWV0aWdhbkVycm9yKCdTZXJ2aWNlIG5vdCBpbml0aWFsaXplZC4gQ2FsbCBpbml0aWFsaXplKCkgZmlyc3QuJykpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgaWYgKG9wdGlvbnM/LnBhZ2UpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGFnZScsIG9wdGlvbnMucGFnZS50b1N0cmluZygpKTtcclxuICAgIH1cclxuICAgIGlmIChvcHRpb25zPy5saW1pdCkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsaW1pdCcsIG9wdGlvbnMubGltaXQudG9TdHJpbmcoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RW1haWxUZW1wbGF0ZUxpc3RSZXNwb25zZT4oXHJcbiAgICAgIGAke3RoaXMuYXBpVXJsfS9hcGkvdGVtcGxhdGVzYCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycygpLFxyXG4gICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgIH0sXHJcbiAgICAgIHRoaXMucmV0cnlDb3VudCxcclxuICAgICAgdGhpcy5yZXRyeURlbGF5XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRlbXBsYXRlIGJ5IElEXHJcbiAgICovXHJcbiAgZ2V0KHRlbXBsYXRlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RW1haWxUZW1wbGF0ZT4ge1xyXG4gICAgaWYgKCF0aGlzLmFwaUtleSkge1xyXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgTWV0aWdhbkVycm9yKCdTZXJ2aWNlIG5vdCBpbml0aWFsaXplZC4gQ2FsbCBpbml0aWFsaXplKCkgZmlyc3QuJykpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGVtcGxhdGVJZCkge1xyXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgVmFsaWRhdGlvbkVycm9yKCdUZW1wbGF0ZSBJRCBpcyByZXF1aXJlZCcpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFbWFpbFRlbXBsYXRlPihcclxuICAgICAgYCR7dGhpcy5hcGlVcmx9L2FwaS90ZW1wbGF0ZXMvJHt0ZW1wbGF0ZUlkfWAsXHJcbiAgICAgIHsgaGVhZGVyczogdGhpcy5nZXRIZWFkZXJzKCkgfSxcclxuICAgICAgdGhpcy5yZXRyeUNvdW50LFxyXG4gICAgICB0aGlzLnJldHJ5RGVsYXlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Type definitions for Metigan Angular SDK
3
+ * @version 1.0.0
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUeXBlIGRlZmluaXRpb25zIGZvciBNZXRpZ2FuIEFuZ3VsYXIgU0RLXHJcbiAqIEB2ZXJzaW9uIDEuMC4wXHJcbiAqL1xyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gRU1BSUwgVFlQRVNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8qKlxyXG4gKiBFbWFpbCBhdHRhY2htZW50IGludGVyZmFjZSBmb3IgQW5ndWxhclxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBFbWFpbEF0dGFjaG1lbnQge1xyXG4gIGNvbnRlbnQ6IEFycmF5QnVmZmVyIHwgVWludDhBcnJheSB8IHN0cmluZztcclxuICBmaWxlbmFtZTogc3RyaW5nO1xyXG4gIGNvbnRlbnRUeXBlOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBFbWFpbCBvcHRpb25zIGludGVyZmFjZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBFbWFpbE9wdGlvbnMge1xyXG4gIC8qKiBTZW5kZXIgZW1haWwgYWRkcmVzcyAob3IgTmFtZSA8ZW1haWw+KSAqL1xyXG4gIGZyb206IHN0cmluZztcclxuICAvKiogTGlzdCBvZiByZWNpcGllbnQgZW1haWwgYWRkcmVzc2VzICovXHJcbiAgcmVjaXBpZW50czogc3RyaW5nW107XHJcbiAgLyoqIEVtYWlsIHN1YmplY3QgKi9cclxuICBzdWJqZWN0OiBzdHJpbmc7XHJcbiAgLyoqIEVtYWlsIGNvbnRlbnQgKEhUTUwgc3VwcG9ydGVkKSAtIFJlcXVpcmVkIGlmIG5vdCB1c2luZyB0ZW1wbGF0ZUlkICovXHJcbiAgY29udGVudD86IHN0cmluZztcclxuICAvKiogVGVtcGxhdGUgSUQgZm9yIHVzaW5nIHByZS1jcmVhdGVkIHRlbXBsYXRlcyAob3B0aW9uYWwpICovXHJcbiAgdGVtcGxhdGVJZD86IHN0cmluZztcclxuICAvKiogT3B0aW9uYWwgZmlsZSBhdHRhY2htZW50cyAqL1xyXG4gIGF0dGFjaG1lbnRzPzogRmlsZVtdIHwgRW1haWxBdHRhY2htZW50W107XHJcbiAgLyoqIE9wdGlvbmFsIENDIHJlY2lwaWVudHMgKi9cclxuICBjYz86IHN0cmluZ1tdO1xyXG4gIC8qKiBPcHRpb25hbCBCQ0MgcmVjaXBpZW50cyAqL1xyXG4gIGJjYz86IHN0cmluZ1tdO1xyXG4gIC8qKiBPcHRpb25hbCByZXBseS10byBhZGRyZXNzICovXHJcbiAgcmVwbHlUbz86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIEFQSSByZXNwb25zZSBpbnRlcmZhY2UgZm9yIHN1Y2Nlc3NmdWwgZW1haWxcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxTdWNjZXNzUmVzcG9uc2Uge1xyXG4gIHN1Y2Nlc3M6IHRydWU7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIHN1Y2Nlc3NmdWxFbWFpbHM6IHtcclxuICAgIHJlY2lwaWVudDogc3RyaW5nO1xyXG4gICAgdHJhY2tpbmdJZDogc3RyaW5nO1xyXG4gIH1bXTtcclxuICBmYWlsZWRFbWFpbHM6IHtcclxuICAgIHJlY2lwaWVudDogc3RyaW5nO1xyXG4gICAgZXJyb3I6IHN0cmluZztcclxuICB9W107XHJcbiAgcmVjaXBpZW50Q291bnQ6IG51bWJlcjtcclxuICBlbWFpbHNSZW1haW5pbmc6IG51bWJlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFQSSBlcnJvciByZXNwb25zZSBpbnRlcmZhY2VzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsRXJyb3JSZXNwb25zZSB7XHJcbiAgZXJyb3I6IHN0cmluZztcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBVbmlvbiB0eXBlIGZvciBhbGwgcG9zc2libGUgQVBJIHJlc3BvbnNlc1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgRW1haWxBcGlSZXNwb25zZSA9IEVtYWlsU3VjY2Vzc1Jlc3BvbnNlIHwgRW1haWxFcnJvclJlc3BvbnNlO1xyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gRk9STSBUWVBFU1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLyoqXHJcbiAqIEZvcm0gZmllbGQgdHlwZXNcclxuICovXHJcbmV4cG9ydCB0eXBlIEZvcm1GaWVsZFR5cGUgPSBcclxuICB8ICd0ZXh0J1xyXG4gIHwgJ2VtYWlsJ1xyXG4gIHwgJ251bWJlcidcclxuICB8ICd0ZXh0YXJlYSdcclxuICB8ICdzZWxlY3QnXHJcbiAgfCAnY2hlY2tib3gnXHJcbiAgfCAncmFkaW8nXHJcbiAgfCAnZGF0ZSdcclxuICB8ICdwaG9uZSdcclxuICB8ICd1cmwnXHJcbiAgfCAnZmlsZSdcclxuICB8ICdzdGVwJ1xyXG4gIHwgJ3Bhc3N3b3JkJ1xyXG4gIHwgJ3JhdGluZydcclxuICB8ICdzbGlkZXInXHJcbiAgfCAnaGVhZGluZydcclxuICB8ICdpbWFnZS1jaG9pY2UnXHJcbiAgfCAnbWF0cml4JztcclxuXHJcbi8qKlxyXG4gKiBGb3JtIGZpZWxkIGNvbmZpZ3VyYXRpb25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUZpZWxkQ29uZmlnIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHR5cGU6IEZvcm1GaWVsZFR5cGU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgaGVscFRleHQ/OiBzdHJpbmc7XHJcbiAgb3B0aW9ucz86IHN0cmluZ1tdO1xyXG4gIGltYWdlVXJscz86IHN0cmluZ1tdO1xyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGb3JtIHNldHRpbmdzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TZXR0aW5ncyB7XHJcbiAgc3VjY2Vzc01lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgcHJvY2Vzc2luZ01lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgcmVkaXJlY3RVcmw/OiBzdHJpbmc7XHJcbiAgbm90aWZ5RW1haWw/OiBzdHJpbmc7XHJcbiAgZW5hYmxlQ2FwdGNoYT86IGJvb2xlYW47XHJcbiAgc3RvcmVSZXNwb25zZXM/OiBib29sZWFuO1xyXG4gIGFsbG93TXVsdGlwbGVTdWJtaXNzaW9ucz86IGJvb2xlYW47XHJcbiAgc2hvd1Byb2dyZXNzQmFyPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbXBsZXRlIGZvcm0gY29uZmlndXJhdGlvblxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtQ29uZmlnIHtcclxuICBpZD86IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gIGNvdmVySW1hZ2U/OiBzdHJpbmc7XHJcbiAgZmllbGRzOiBGb3JtRmllbGRDb25maWdbXTtcclxuICBhdWRpZW5jZUlkPzogc3RyaW5nO1xyXG4gIHNldHRpbmdzPzogRm9ybVNldHRpbmdzO1xyXG4gIHB1Ymxpc2hlZD86IGJvb2xlYW47XHJcbiAgcHVibGlzaGVkVXJsPzogc3RyaW5nO1xyXG4gIHNsdWc/OiBzdHJpbmc7XHJcbiAgYW5hbHl0aWNzPzoge1xyXG4gICAgdmlld3M6IG51bWJlcjtcclxuICAgIHN1Ym1pc3Npb25zOiBudW1iZXI7XHJcbiAgICBjb252ZXJzaW9uUmF0ZT86IG51bWJlcjtcclxuICB9O1xyXG4gIGNyZWF0ZWRBdD86IERhdGU7XHJcbiAgdXBkYXRlZEF0PzogRGF0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZvcm0gc3VibWlzc2lvbiBkYXRhXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TdWJtaXNzaW9uRGF0YSB7XHJcbiAgW2ZpZWxkSWQ6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZvcm0gc3VibWlzc2lvbiBvcHRpb25zXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TdWJtaXNzaW9uT3B0aW9ucyB7XHJcbiAgZm9ybUlkOiBzdHJpbmc7XHJcbiAgZGF0YTogRm9ybVN1Ym1pc3Npb25EYXRhO1xyXG59XHJcblxyXG4vKipcclxuICogRm9ybSBzdWJtaXNzaW9uIHJlc3BvbnNlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TdWJtaXNzaW9uUmVzcG9uc2Uge1xyXG4gIHN1Y2Nlc3M6IGJvb2xlYW47XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIHN1Ym1pc3Npb25JZD86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIEZvcm0gbGlzdCByZXNwb25zZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtTGlzdFJlc3BvbnNlIHtcclxuICBmb3JtczogRm9ybUNvbmZpZ1tdO1xyXG4gIHBhZ2luYXRpb246IHtcclxuICAgIHRvdGFsOiBudW1iZXI7XHJcbiAgICBwYWdlOiBudW1iZXI7XHJcbiAgICBsaW1pdDogbnVtYmVyO1xyXG4gICAgcGFnZXM6IG51bWJlcjtcclxuICB9O1xyXG59XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBDT05UQUNUIFRZUEVTXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vKipcclxuICogQ29udGFjdCBzdGF0dXNcclxuICovXHJcbmV4cG9ydCB0eXBlIENvbnRhY3RTdGF0dXMgPSAnc3Vic2NyaWJlZCcgfCAndW5zdWJzY3JpYmVkJyB8ICdwZW5kaW5nJyB8ICdib3VuY2VkJyB8ICdjb21wbGFpbmVkJztcclxuXHJcbi8qKlxyXG4gKiBDb250YWN0IGRhdGFcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdCB7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgZW1haWw6IHN0cmluZztcclxuICBmaXJzdE5hbWU/OiBzdHJpbmc7XHJcbiAgbGFzdE5hbWU/OiBzdHJpbmc7XHJcbiAgcGhvbmU/OiBzdHJpbmc7XHJcbiAgc3RhdHVzOiBDb250YWN0U3RhdHVzO1xyXG4gIGF1ZGllbmNlSWQ6IHN0cmluZztcclxuICB0YWdzPzogc3RyaW5nW107XHJcbiAgY3VzdG9tRmllbGRzPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICBjcmVhdGVkQXQ/OiBEYXRlO1xyXG4gIHVwZGF0ZWRBdD86IERhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb250YWN0IGNyZWF0aW9uIG9wdGlvbnNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQ29udGFjdE9wdGlvbnMge1xyXG4gIGVtYWlsOiBzdHJpbmc7XHJcbiAgZmlyc3ROYW1lPzogc3RyaW5nO1xyXG4gIGxhc3ROYW1lPzogc3RyaW5nO1xyXG4gIHBob25lPzogc3RyaW5nO1xyXG4gIGF1ZGllbmNlSWQ6IHN0cmluZztcclxuICB0YWdzPzogc3RyaW5nW107XHJcbiAgY3VzdG9tRmllbGRzPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICBzdGF0dXM/OiBDb250YWN0U3RhdHVzO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udGFjdCB1cGRhdGUgb3B0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVDb250YWN0T3B0aW9ucyB7XHJcbiAgZmlyc3ROYW1lPzogc3RyaW5nO1xyXG4gIGxhc3ROYW1lPzogc3RyaW5nO1xyXG4gIHBob25lPzogc3RyaW5nO1xyXG4gIHRhZ3M/OiBzdHJpbmdbXTtcclxuICBjdXN0b21GaWVsZHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIHN0YXR1cz86IENvbnRhY3RTdGF0dXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb250YWN0IGxpc3QgZmlsdGVyc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb250YWN0TGlzdEZpbHRlcnMge1xyXG4gIGF1ZGllbmNlSWQ/OiBzdHJpbmc7XHJcbiAgc3RhdHVzPzogQ29udGFjdFN0YXR1cztcclxuICB0YWc/OiBzdHJpbmc7XHJcbiAgc2VhcmNoPzogc3RyaW5nO1xyXG4gIHBhZ2U/OiBudW1iZXI7XHJcbiAgbGltaXQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb250YWN0IGxpc3QgcmVzcG9uc2VcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdExpc3RSZXNwb25zZSB7XHJcbiAgY29udGFjdHM6IENvbnRhY3RbXTtcclxuICBwYWdpbmF0aW9uOiB7XHJcbiAgICB0b3RhbDogbnVtYmVyO1xyXG4gICAgcGFnZTogbnVtYmVyO1xyXG4gICAgbGltaXQ6IG51bWJlcjtcclxuICAgIHBhZ2VzOiBudW1iZXI7XHJcbiAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEJ1bGsgY29udGFjdCBvcGVyYXRpb24gcmVzdWx0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEJ1bGtDb250YWN0UmVzdWx0IHtcclxuICBzdWNjZXNzOiBib29sZWFuO1xyXG4gIGltcG9ydGVkOiBudW1iZXI7XHJcbiAgZmFpbGVkOiBudW1iZXI7XHJcbiAgZXJyb3JzPzogeyBlbWFpbDogc3RyaW5nOyBlcnJvcjogc3RyaW5nIH1bXTtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gQVVESUVOQ0UgVFlQRVNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8qKlxyXG4gKiBBdWRpZW5jZSBkYXRhXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEF1ZGllbmNlIHtcclxuICBpZD86IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICBjcmVhdGVkQXQ/OiBEYXRlO1xyXG4gIHVwZGF0ZWRBdD86IERhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBdWRpZW5jZSBjcmVhdGlvbiBvcHRpb25zXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUF1ZGllbmNlT3B0aW9ucyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogQXVkaWVuY2UgdXBkYXRlIG9wdGlvbnNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQXVkaWVuY2VPcHRpb25zIHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogQXVkaWVuY2UgbGlzdCByZXNwb25zZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBdWRpZW5jZUxpc3RSZXNwb25zZSB7XHJcbiAgYXVkaWVuY2VzOiBBdWRpZW5jZVtdO1xyXG4gIHBhZ2luYXRpb246IHtcclxuICAgIHRvdGFsOiBudW1iZXI7XHJcbiAgICBwYWdlOiBudW1iZXI7XHJcbiAgICBsaW1pdDogbnVtYmVyO1xyXG4gICAgcGFnZXM6IG51bWJlcjtcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogQXVkaWVuY2Ugc3RhdGlzdGljc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBdWRpZW5jZVN0YXRzIHtcclxuICB0b3RhbDogbnVtYmVyO1xyXG4gIHN1YnNjcmliZWQ6IG51bWJlcjtcclxuICB1bnN1YnNjcmliZWQ6IG51bWJlcjtcclxuICBwZW5kaW5nOiBudW1iZXI7XHJcbiAgYm91bmNlZDogbnVtYmVyO1xyXG4gIGNvbXBsYWluZWQ6IG51bWJlcjtcclxuICBncm93dGhSYXRlPzogbnVtYmVyO1xyXG59XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBURU1QTEFURSBUWVBFU1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLyoqXHJcbiAqIEVtYWlsIHRlbXBsYXRlIGRhdGFcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxUZW1wbGF0ZSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgc3ViamVjdDogc3RyaW5nO1xyXG4gIGNvbXBvbmVudHM/OiBhbnlbXTtcclxuICBzdHlsZXM/OiBhbnk7XHJcbiAgY3JlYXRlZEF0PzogRGF0ZTtcclxuICB1cGRhdGVkQXQ/OiBEYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogRW1haWwgdGVtcGxhdGUgbGlzdCByZXNwb25zZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBFbWFpbFRlbXBsYXRlTGlzdFJlc3BvbnNlIHtcclxuICB0ZW1wbGF0ZXM6IEVtYWlsVGVtcGxhdGVbXTtcclxuICBwYWdpbmF0aW9uOiB7XHJcbiAgICB0b3RhbDogbnVtYmVyO1xyXG4gICAgcGFnZTogbnVtYmVyO1xyXG4gICAgbGltaXQ6IG51bWJlcjtcclxuICAgIHBhZ2VzOiBudW1iZXI7XHJcbiAgfTtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gQ09NTU9OIFRZUEVTXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vKipcclxuICogUGFnaW5hdGlvbiBvcHRpb25zXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25PcHRpb25zIHtcclxuICBwYWdlPzogbnVtYmVyO1xyXG4gIGxpbWl0PzogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogQ2xpZW50IG9wdGlvbnMgZm9yIE1ldGlnYW5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWV0aWdhbkNsaWVudE9wdGlvbnMge1xyXG4gIC8qKiBBUEkgS2V5ICovXHJcbiAgYXBpS2V5OiBzdHJpbmc7XHJcbiAgLyoqIFVzZXIgSUQgZm9yIGxvZ2dpbmcgKi9cclxuICB1c2VySWQ/OiBzdHJpbmc7XHJcbiAgLyoqIERpc2FibGUgbG9nZ2luZyAqL1xyXG4gIGRpc2FibGVMb2dzPzogYm9vbGVhbjtcclxuICAvKiogUmVxdWVzdCB0aW1lb3V0IGluIG1zICovXHJcbiAgdGltZW91dD86IG51bWJlcjtcclxuICAvKiogTnVtYmVyIG9mIHJldHJpZXMgKi9cclxuICByZXRyeUNvdW50PzogbnVtYmVyO1xyXG4gIC8qKiBEZWxheSBiZXR3ZWVuIHJldHJpZXMgaW4gbXMgKi9cclxuICByZXRyeURlbGF5PzogbnVtYmVyO1xyXG4gIC8qKiBFbmFibGUgZGVidWcgbW9kZSAqL1xyXG4gIGRlYnVnPzogYm9vbGVhbjtcclxuICAvKiogQ3VzdG9tIEFQSSBVUkwgKi9cclxuICBhcGlVcmw/OiBzdHJpbmc7XHJcbn1cclxuXHJcbiJdfQ==