@vendasta/developer-training 0.18.0 → 0.21.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 (113) hide show
  1. package/esm2020/lib/_internal/a-olabenjo-todo-list.api.service.mjs +54 -0
  2. package/esm2020/lib/_internal/admin-library-user.api.service.mjs +65 -0
  3. package/esm2020/lib/_internal/book-master-data.api.service.mjs +70 -0
  4. package/esm2020/lib/_internal/book-transaction.api.service.mjs +75 -0
  5. package/esm2020/lib/_internal/business-qa.api.service.mjs +7 -8
  6. package/esm2020/lib/_internal/cceleokafor-to-do.api.service.mjs +55 -0
  7. package/esm2020/lib/_internal/enums/api.enum.mjs +22 -7
  8. package/esm2020/lib/_internal/enums/index.mjs +2 -2
  9. package/esm2020/lib/_internal/h-goyal-task.api.service.mjs +52 -0
  10. package/esm2020/lib/_internal/i-antosh-to-do-list.api.service.mjs +59 -0
  11. package/esm2020/lib/_internal/index.mjs +13 -13
  12. package/esm2020/lib/_internal/interfaces/aolabenjo.interface.mjs +8 -0
  13. package/esm2020/lib/_internal/interfaces/api.interface.mjs +1 -1
  14. package/esm2020/lib/_internal/interfaces/cceleokafor.interface.mjs +8 -0
  15. package/esm2020/lib/_internal/interfaces/hgoyal.interface.mjs +8 -0
  16. package/esm2020/lib/_internal/interfaces/iantosh.interface.mjs +8 -0
  17. package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
  18. package/esm2020/lib/_internal/interfaces/kodland.interface.mjs +8 -0
  19. package/esm2020/lib/_internal/interfaces/ksinghsandhu.interface.mjs +8 -0
  20. package/esm2020/lib/_internal/interfaces/ntamrazyan.interface.mjs +8 -0
  21. package/esm2020/lib/_internal/interfaces/sprajapati.interface.mjs +8 -0
  22. package/esm2020/lib/_internal/k-odland-task.api.service.mjs +50 -0
  23. package/esm2020/lib/_internal/k-singh-sandhu-todo.api.service.mjs +55 -0
  24. package/esm2020/lib/_internal/n-tamrazyan-to-do.api.service.mjs +59 -0
  25. package/esm2020/lib/_internal/objects/aolabenjo.mjs +200 -0
  26. package/esm2020/lib/_internal/objects/api.mjs +976 -510
  27. package/esm2020/lib/_internal/objects/cceleokafor.mjs +229 -0
  28. package/esm2020/lib/_internal/objects/hgoyal.mjs +160 -0
  29. package/esm2020/lib/_internal/objects/iantosh.mjs +243 -0
  30. package/esm2020/lib/_internal/objects/index.mjs +10 -5
  31. package/esm2020/lib/_internal/objects/kodland.mjs +174 -0
  32. package/esm2020/lib/_internal/objects/ksinghsandhu.mjs +229 -0
  33. package/esm2020/lib/_internal/objects/ntamrazyan.mjs +243 -0
  34. package/esm2020/lib/_internal/objects/sprajapati.mjs +238 -0
  35. package/esm2020/lib/_internal/s-prajapati-to-do.api.service.mjs +55 -0
  36. package/esm2020/lib/_internal/taxi-user-data.api.service.mjs +60 -0
  37. package/fesm2015/vendasta-developer-training.mjs +2584 -1046
  38. package/fesm2015/vendasta-developer-training.mjs.map +1 -1
  39. package/fesm2020/vendasta-developer-training.mjs +2584 -1046
  40. package/fesm2020/vendasta-developer-training.mjs.map +1 -1
  41. package/lib/_internal/a-olabenjo-todo-list.api.service.d.ts +17 -0
  42. package/lib/_internal/admin-library-user.api.service.d.ts +18 -0
  43. package/lib/_internal/book-master-data.api.service.d.ts +19 -0
  44. package/lib/_internal/book-transaction.api.service.d.ts +20 -0
  45. package/lib/_internal/business-qa.api.service.d.ts +3 -5
  46. package/lib/_internal/cceleokafor-to-do.api.service.d.ts +16 -0
  47. package/lib/_internal/enums/api.enum.d.ts +17 -4
  48. package/lib/_internal/enums/index.d.ts +1 -1
  49. package/lib/_internal/h-goyal-task.api.service.d.ts +17 -0
  50. package/lib/_internal/i-antosh-to-do-list.api.service.d.ts +17 -0
  51. package/lib/_internal/index.d.ts +12 -12
  52. package/lib/_internal/interfaces/aolabenjo.interface.d.ts +33 -0
  53. package/lib/_internal/interfaces/api.interface.d.ts +342 -224
  54. package/lib/_internal/interfaces/cceleokafor.interface.d.ts +33 -0
  55. package/lib/_internal/interfaces/hgoyal.interface.d.ts +24 -0
  56. package/lib/_internal/interfaces/iantosh.interface.d.ts +37 -0
  57. package/lib/_internal/interfaces/index.d.ts +9 -4
  58. package/lib/_internal/interfaces/kodland.interface.d.ts +27 -0
  59. package/lib/_internal/interfaces/ksinghsandhu.interface.d.ts +37 -0
  60. package/lib/_internal/interfaces/ntamrazyan.interface.d.ts +37 -0
  61. package/lib/_internal/interfaces/sprajapati.interface.d.ts +41 -0
  62. package/lib/_internal/k-odland-task.api.service.d.ts +15 -0
  63. package/lib/_internal/k-singh-sandhu-todo.api.service.d.ts +16 -0
  64. package/lib/_internal/n-tamrazyan-to-do.api.service.d.ts +17 -0
  65. package/lib/_internal/objects/aolabenjo.d.ts +59 -0
  66. package/lib/_internal/objects/api.d.ts +491 -373
  67. package/lib/_internal/objects/cceleokafor.d.ts +62 -0
  68. package/lib/_internal/objects/hgoyal.d.ts +44 -0
  69. package/lib/_internal/objects/iantosh.d.ts +69 -0
  70. package/lib/_internal/objects/index.d.ts +9 -4
  71. package/lib/_internal/objects/kodland.d.ts +50 -0
  72. package/lib/_internal/objects/ksinghsandhu.d.ts +66 -0
  73. package/lib/_internal/objects/ntamrazyan.d.ts +69 -0
  74. package/lib/_internal/objects/sprajapati.d.ts +70 -0
  75. package/lib/_internal/s-prajapati-to-do.api.service.d.ts +16 -0
  76. package/lib/_internal/taxi-user-data.api.service.d.ts +17 -0
  77. package/package.json +1 -1
  78. package/esm2020/lib/_internal/a-hundal-to-do-project.api.service.mjs +0 -61
  79. package/esm2020/lib/_internal/e-currie-list.api.service.mjs +0 -50
  80. package/esm2020/lib/_internal/hdo-todo.api.service.mjs +0 -60
  81. package/esm2020/lib/_internal/i-olaleye-to-do-qa.api.service.mjs +0 -61
  82. package/esm2020/lib/_internal/interfaces/klutodo.interface.mjs +0 -8
  83. package/esm2020/lib/_internal/interfaces/lfossenier-todo.interface.mjs +0 -8
  84. package/esm2020/lib/_internal/interfaces/tkabakovtodo.interface.mjs +0 -8
  85. package/esm2020/lib/_internal/k-lu-todo.api.service.mjs +0 -60
  86. package/esm2020/lib/_internal/karishma-list.api.service.mjs +0 -50
  87. package/esm2020/lib/_internal/l-fossenier-todo.api.service.mjs +0 -53
  88. package/esm2020/lib/_internal/m-mugot-list-qa.api.service.mjs +0 -60
  89. package/esm2020/lib/_internal/n-valle-todo.api.service.mjs +0 -41
  90. package/esm2020/lib/_internal/objects/klutodo.mjs +0 -269
  91. package/esm2020/lib/_internal/objects/lfossenier-todo.mjs +0 -145
  92. package/esm2020/lib/_internal/objects/tkabakovtodo.mjs +0 -286
  93. package/esm2020/lib/_internal/s-bueckert-to-do-list.api.service.mjs +0 -63
  94. package/esm2020/lib/_internal/t-kabakov-to-do.api.service.mjs +0 -61
  95. package/esm2020/lib/_internal/w-horrell-to-do.api.service.mjs +0 -58
  96. package/lib/_internal/a-hundal-to-do-project.api.service.d.ts +0 -20
  97. package/lib/_internal/e-currie-list.api.service.d.ts +0 -18
  98. package/lib/_internal/hdo-todo.api.service.d.ts +0 -20
  99. package/lib/_internal/i-olaleye-to-do-qa.api.service.d.ts +0 -20
  100. package/lib/_internal/interfaces/klutodo.interface.d.ts +0 -39
  101. package/lib/_internal/interfaces/lfossenier-todo.interface.d.ts +0 -23
  102. package/lib/_internal/interfaces/tkabakovtodo.interface.d.ts +0 -42
  103. package/lib/_internal/k-lu-todo.api.service.d.ts +0 -20
  104. package/lib/_internal/karishma-list.api.service.d.ts +0 -18
  105. package/lib/_internal/l-fossenier-todo.api.service.d.ts +0 -19
  106. package/lib/_internal/m-mugot-list-qa.api.service.d.ts +0 -20
  107. package/lib/_internal/n-valle-todo.api.service.d.ts +0 -16
  108. package/lib/_internal/objects/klutodo.d.ts +0 -74
  109. package/lib/_internal/objects/lfossenier-todo.d.ts +0 -43
  110. package/lib/_internal/objects/tkabakovtodo.d.ts +0 -80
  111. package/lib/_internal/s-bueckert-to-do-list.api.service.d.ts +0 -21
  112. package/lib/_internal/t-kabakov-to-do.api.service.d.ts +0 -20
  113. package/lib/_internal/w-horrell-to-do.api.service.d.ts +0 -20
@@ -0,0 +1,59 @@
1
+ // *********************************
2
+ // Code generated by sdkgen
3
+ // DO NOT EDIT!.
4
+ //
5
+ // API Service.
6
+ // *********************************
7
+ import { Injectable } from '@angular/core';
8
+ import { NTamrazyanCreateToDoItemRequest, NTamrazyanCreateToDoItemResponse, NTamrazyanGetToDoItemResponse, NTamrazyanListToDoItemsResponse, NTamrazyanRemoveToDoItemRequest, NTamrazyanRemoveToDoItemResponse, NTamrazyanUpdateToDoItemRequest, NTamrazyanUpdateToDoItemResponse, NTarmazyanGetToDoItemRequest, } from './objects/';
9
+ import { HttpHeaders, HttpClient } from '@angular/common/http';
10
+ import { inject } from '@angular/core';
11
+ import { HostService } from '../_generated/host.service';
12
+ import { map } from 'rxjs/operators';
13
+ import * as i0 from "@angular/core";
14
+ export class NTamrazyanToDoApiService {
15
+ constructor() {
16
+ this.hostService = inject(HostService);
17
+ this.http = inject(HttpClient);
18
+ this._host = this.hostService.hostWithScheme;
19
+ }
20
+ apiOptions() {
21
+ return {
22
+ headers: new HttpHeaders({
23
+ 'Content-Type': 'application/json'
24
+ }),
25
+ withCredentials: true
26
+ };
27
+ }
28
+ createNTamrazyanToDoItem(r) {
29
+ const request = (r.toApiJson) ? r : new NTamrazyanCreateToDoItemRequest(r);
30
+ return this.http.post(this._host + "/developertraining.v1.NTamrazyanToDoService/CreateNTamrazyanToDoItem", request.toApiJson(), this.apiOptions())
31
+ .pipe(map(resp => NTamrazyanCreateToDoItemResponse.fromProto(resp)));
32
+ }
33
+ removeNTamrazyanToDoItem(r) {
34
+ const request = (r.toApiJson) ? r : new NTamrazyanRemoveToDoItemRequest(r);
35
+ return this.http.post(this._host + "/developertraining.v1.NTamrazyanToDoService/RemoveNTamrazyanToDoItem", request.toApiJson(), this.apiOptions())
36
+ .pipe(map(resp => NTamrazyanRemoveToDoItemResponse.fromProto(resp)));
37
+ }
38
+ listNTamrazyanToDoItems() {
39
+ return this.http.post(this._host + "/developertraining.v1.NTamrazyanToDoService/ListNTamrazyanToDoItems", {}, this.apiOptions())
40
+ .pipe(map(resp => NTamrazyanListToDoItemsResponse.fromProto(resp)));
41
+ }
42
+ getNTamrazyanToDoItem(r) {
43
+ const request = (r.toApiJson) ? r : new NTarmazyanGetToDoItemRequest(r);
44
+ return this.http.post(this._host + "/developertraining.v1.NTamrazyanToDoService/GetNTamrazyanToDoItem", request.toApiJson(), this.apiOptions())
45
+ .pipe(map(resp => NTamrazyanGetToDoItemResponse.fromProto(resp)));
46
+ }
47
+ updateNTamrazyanToDoItem(r) {
48
+ const request = (r.toApiJson) ? r : new NTamrazyanUpdateToDoItemRequest(r);
49
+ return this.http.post(this._host + "/developertraining.v1.NTamrazyanToDoService/UpdateNTamrazyanToDoItem", request.toApiJson(), this.apiOptions())
50
+ .pipe(map(resp => NTamrazyanUpdateToDoItemResponse.fromProto(resp)));
51
+ }
52
+ }
53
+ NTamrazyanToDoApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NTamrazyanToDoApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
54
+ NTamrazyanToDoApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NTamrazyanToDoApiService, providedIn: 'root' });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NTamrazyanToDoApiService, decorators: [{
56
+ type: Injectable,
57
+ args: [{ providedIn: 'root' }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibi10YW1yYXp5YW4tdG8tZG8uYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9kZXZlbG9wZXJfdHJhaW5pbmdfc2RrL3NyYy9saWIvX2ludGVybmFsL24tdGFtcmF6eWFuLXRvLWRvLmFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixlQUFlO0FBQ2Ysb0NBQW9DO0FBQ3BDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNDLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMsNkJBQTZCLEVBQzdCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMsNEJBQTRCLEdBQ25DLE1BQU0sWUFBWSxDQUFDO0FBWXBCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUduQyxNQUFNLE9BQU8sd0JBQXdCO0lBRHJDO1FBRXFCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0tBOENuRDtJQTVDVyxVQUFVO1FBQ2QsT0FBTztZQUNILE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDckIsY0FBYyxFQUFFLGtCQUFrQjthQUNyQyxDQUFDO1lBQ0YsZUFBZSxF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RUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgTlRhbXJhenlhbkNyZWF0ZVRvRG9JdGVtUmVxdWVzdCxcbiAgICAgICAgTlRhbXJhenlhbkNyZWF0ZVRvRG9JdGVtUmVzcG9uc2UsXG4gICAgICAgIE5UYW1yYXp5YW5HZXRUb0RvSXRlbVJlc3BvbnNlLFxuICAgICAgICBOVGFtcmF6eWFuTGlzdFRvRG9JdGVtc1Jlc3BvbnNlLFxuICAgICAgICBOVGFtcmF6eWFuUmVtb3ZlVG9Eb0l0ZW1SZXF1ZXN0LFxuICAgICAgICBOVGFtcmF6eWFuUmVtb3ZlVG9Eb0l0ZW1SZXNwb25zZSxcbiAgICAgICAgTlRhbXJhenlhblVwZGF0ZVRvRG9JdGVtUmVxdWVzdCxcbiAgICAgICAgTlRhbXJhenlhblVwZGF0ZVRvRG9JdGVtUmVzcG9uc2UsXG4gICAgICAgIE5UYXJtYXp5YW5HZXRUb0RvSXRlbVJlcXVlc3QsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgTlRhbXJhenlhbkNyZWF0ZVRvRG9JdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTlRhbXJhenlhbkNyZWF0ZVRvRG9JdGVtUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIE5UYW1yYXp5YW5HZXRUb0RvSXRlbVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBOVGFtcmF6eWFuTGlzdFRvRG9JdGVtc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBOVGFtcmF6eWFuUmVtb3ZlVG9Eb0l0ZW1SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBOVGFtcmF6eWFuUmVtb3ZlVG9Eb0l0ZW1SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTlRhbXJhenlhblVwZGF0ZVRvRG9JdGVtUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTlRhbXJhenlhblVwZGF0ZVRvRG9JdGVtUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIE5UYXJtYXp5YW5HZXRUb0RvSXRlbVJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTlRhbXJhenlhblRvRG9BcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RTZXJ2aWNlID0gaW5qZWN0KEhvc3RTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjcmVhdGVOVGFtcmF6eWFuVG9Eb0l0ZW0ocjogTlRhbXJhenlhbkNyZWF0ZVRvRG9JdGVtUmVxdWVzdCB8IE5UYW1yYXp5YW5DcmVhdGVUb0RvSXRlbVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPE5UYW1yYXp5YW5DcmVhdGVUb0RvSXRlbVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxOVGFtcmF6eWFuQ3JlYXRlVG9Eb0l0ZW1SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPE5UYW1yYXp5YW5DcmVhdGVUb0RvSXRlbVJlcXVlc3Q+cikgOiBuZXcgTlRhbXJhenlhbkNyZWF0ZVRvRG9JdGVtUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5UYW1yYXp5YW5DcmVhdGVUb0RvSXRlbVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvZGV2ZWxvcGVydHJhaW5pbmcudjEuTlRhbXJhenlhblRvRG9TZXJ2aWNlL0NyZWF0ZU5UYW1yYXp5YW5Ub0RvSXRlbVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IE5UYW1yYXp5YW5DcmVhdGVUb0RvSXRlbVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHJlbW92ZU5UYW1yYXp5YW5Ub0RvSXRlbShyOiBOVGFtcmF6eWFuUmVtb3ZlVG9Eb0l0ZW1SZXF1ZXN0IHwgTlRhbXJhenlhblJlbW92ZVRvRG9JdGVtUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TlRhbXJhenlhblJlbW92ZVRvRG9JdGVtUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPE5UYW1yYXp5YW5SZW1vdmVUb0RvSXRlbVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TlRhbXJhenlhblJlbW92ZVRvRG9JdGVtUmVxdWVzdD5yKSA6IG5ldyBOVGFtcmF6eWFuUmVtb3ZlVG9Eb0l0ZW1SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TlRhbXJhenlhblJlbW92ZVRvRG9JdGVtUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9kZXZlbG9wZXJ0cmFpbmluZy52MS5OVGFtcmF6eWFuVG9Eb1NlcnZpY2UvUmVtb3ZlTlRhbXJhenlhblRvRG9JdGVtXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTlRhbXJhenlhblJlbW92ZVRvRG9JdGVtUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdE5UYW1yYXp5YW5Ub0RvSXRlbXMoKTogT2JzZXJ2YWJsZTxOVGFtcmF6eWFuTGlzdFRvRG9JdGVtc1Jlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOVGFtcmF6eWFuTGlzdFRvRG9JdGVtc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvZGV2ZWxvcGVydHJhaW5pbmcudjEuTlRhbXJhenlhblRvRG9TZXJ2aWNlL0xpc3ROVGFtcmF6eWFuVG9Eb0l0ZW1zXCIsIHt9LCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IE5UYW1yYXp5YW5MaXN0VG9Eb0l0ZW1zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TlRhbXJhenlhblRvRG9JdGVtKHI6IE5UYXJtYXp5YW5HZXRUb0RvSXRlbVJlcXVlc3QgfCBOVGFybWF6eWFuR2V0VG9Eb0l0ZW1SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxOVGFtcmF6eWFuR2V0VG9Eb0l0ZW1SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TlRhcm1henlhbkdldFRvRG9JdGVtUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxOVGFybWF6eWFuR2V0VG9Eb0l0ZW1SZXF1ZXN0PnIpIDogbmV3IE5UYXJtYXp5YW5HZXRUb0RvSXRlbVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOVGFtcmF6eWFuR2V0VG9Eb0l0ZW1SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2RldmVsb3BlcnRyYWluaW5nLnYxLk5UYW1yYXp5YW5Ub0RvU2VydmljZS9HZXROVGFtcmF6eWFuVG9Eb0l0ZW1cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBOVGFtcmF6eWFuR2V0VG9Eb0l0ZW1SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVOVGFtcmF6eWFuVG9Eb0l0ZW0ocjogTlRhbXJhenlhblVwZGF0ZVRvRG9JdGVtUmVxdWVzdCB8IE5UYW1yYXp5YW5VcGRhdGVUb0RvSXRlbVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPE5UYW1yYXp5YW5VcGRhdGVUb0RvSXRlbVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxOVGFtcmF6eWFuVXBkYXRlVG9Eb0l0ZW1SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPE5UYW1yYXp5YW5VcGRhdGVUb0RvSXRlbVJlcXVlc3Q+cikgOiBuZXcgTlRhbXJhenlhblVwZGF0ZVRvRG9JdGVtUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5UYW1yYXp5YW5VcGRhdGVUb0RvSXRlbVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvZGV2ZWxvcGVydHJhaW5pbmcudjEuTlRhbXJhenlhblRvRG9TZXJ2aWNlL1VwZGF0ZU5UYW1yYXp5YW5Ub0RvSXRlbVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IE5UYW1yYXp5YW5VcGRhdGVUb0RvSXRlbVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIFxufVxuIl19
@@ -0,0 +1,200 @@
1
+ export function enumStringToValue(enumRef, value) {
2
+ if (typeof value === 'number') {
3
+ return value;
4
+ }
5
+ return enumRef[value];
6
+ }
7
+ export class AOlabenjoAddTodoItemRequest {
8
+ static fromProto(proto) {
9
+ let m = new AOlabenjoAddTodoItemRequest();
10
+ m = Object.assign(m, proto);
11
+ return m;
12
+ }
13
+ constructor(kwargs) {
14
+ if (!kwargs) {
15
+ return;
16
+ }
17
+ Object.assign(this, kwargs);
18
+ }
19
+ toApiJson() {
20
+ const toReturn = {};
21
+ if (typeof this.title !== 'undefined') {
22
+ toReturn['title'] = this.title;
23
+ }
24
+ if (typeof this.description !== 'undefined') {
25
+ toReturn['description'] = this.description;
26
+ }
27
+ if (typeof this.dueDate !== 'undefined') {
28
+ toReturn['dueDate'] = this.dueDate;
29
+ }
30
+ return toReturn;
31
+ }
32
+ }
33
+ export class AOlabenjoAddTodoItemResponse {
34
+ static fromProto(proto) {
35
+ let m = new AOlabenjoAddTodoItemResponse();
36
+ m = Object.assign(m, proto);
37
+ return m;
38
+ }
39
+ constructor(kwargs) {
40
+ if (!kwargs) {
41
+ return;
42
+ }
43
+ Object.assign(this, kwargs);
44
+ }
45
+ toApiJson() {
46
+ const toReturn = {};
47
+ if (typeof this.additemStatus !== 'undefined') {
48
+ toReturn['additemStatus'] = this.additemStatus;
49
+ }
50
+ if (typeof this.id !== 'undefined') {
51
+ toReturn['id'] = this.id;
52
+ }
53
+ return toReturn;
54
+ }
55
+ }
56
+ export class AOlabenjoDeleteTodoItemRequest {
57
+ static fromProto(proto) {
58
+ let m = new AOlabenjoDeleteTodoItemRequest();
59
+ m = Object.assign(m, proto);
60
+ return m;
61
+ }
62
+ constructor(kwargs) {
63
+ if (!kwargs) {
64
+ return;
65
+ }
66
+ Object.assign(this, kwargs);
67
+ }
68
+ toApiJson() {
69
+ const toReturn = {};
70
+ if (typeof this.id !== 'undefined') {
71
+ toReturn['id'] = this.id;
72
+ }
73
+ return toReturn;
74
+ }
75
+ }
76
+ export class AOlabenjoListTodoItemsRequest {
77
+ static fromProto(proto) {
78
+ let m = new AOlabenjoListTodoItemsRequest();
79
+ m = Object.assign(m, proto);
80
+ return m;
81
+ }
82
+ constructor(kwargs) {
83
+ if (!kwargs) {
84
+ return;
85
+ }
86
+ Object.assign(this, kwargs);
87
+ }
88
+ toApiJson() {
89
+ const toReturn = {};
90
+ return toReturn;
91
+ }
92
+ }
93
+ export class AOlabenjoListTodoItemsResponse {
94
+ static fromProto(proto) {
95
+ let m = new AOlabenjoListTodoItemsResponse();
96
+ m = Object.assign(m, proto);
97
+ if (proto.listtodoItems) {
98
+ m.listtodoItems = proto.listtodoItems.map(AOlabenjoToDoItem.fromProto);
99
+ }
100
+ return m;
101
+ }
102
+ constructor(kwargs) {
103
+ if (!kwargs) {
104
+ return;
105
+ }
106
+ Object.assign(this, kwargs);
107
+ }
108
+ toApiJson() {
109
+ const toReturn = {};
110
+ if (typeof this.listtodoItems !== 'undefined' && this.listtodoItems !== null) {
111
+ toReturn['listtodoItems'] = 'toApiJson' in this.listtodoItems ? this.listtodoItems.toApiJson() : this.listtodoItems;
112
+ }
113
+ return toReturn;
114
+ }
115
+ }
116
+ export class AOlabenjoToDoItem {
117
+ static fromProto(proto) {
118
+ let m = new AOlabenjoToDoItem();
119
+ m = Object.assign(m, proto);
120
+ return m;
121
+ }
122
+ constructor(kwargs) {
123
+ if (!kwargs) {
124
+ return;
125
+ }
126
+ Object.assign(this, kwargs);
127
+ }
128
+ toApiJson() {
129
+ const toReturn = {};
130
+ if (typeof this.id !== 'undefined') {
131
+ toReturn['id'] = this.id;
132
+ }
133
+ if (typeof this.title !== 'undefined') {
134
+ toReturn['title'] = this.title;
135
+ }
136
+ if (typeof this.description !== 'undefined') {
137
+ toReturn['description'] = this.description;
138
+ }
139
+ if (typeof this.dueDate !== 'undefined') {
140
+ toReturn['dueDate'] = this.dueDate;
141
+ }
142
+ if (typeof this.completed !== 'undefined') {
143
+ toReturn['completed'] = this.completed;
144
+ }
145
+ if (typeof this.deleted !== 'undefined') {
146
+ toReturn['deleted'] = this.deleted;
147
+ }
148
+ return toReturn;
149
+ }
150
+ }
151
+ export class AOlabenjoUpdateTodoItemRequest {
152
+ static fromProto(proto) {
153
+ let m = new AOlabenjoUpdateTodoItemRequest();
154
+ m = Object.assign(m, proto);
155
+ if (proto.todoItem) {
156
+ m.todoItem = AOlabenjoToDoItem.fromProto(proto.todoItem);
157
+ }
158
+ return m;
159
+ }
160
+ constructor(kwargs) {
161
+ if (!kwargs) {
162
+ return;
163
+ }
164
+ Object.assign(this, kwargs);
165
+ }
166
+ toApiJson() {
167
+ const toReturn = {};
168
+ if (typeof this.id !== 'undefined') {
169
+ toReturn['id'] = this.id;
170
+ }
171
+ if (typeof this.todoItem !== 'undefined' && this.todoItem !== null) {
172
+ toReturn['todoItem'] = 'toApiJson' in this.todoItem ? this.todoItem.toApiJson() : this.todoItem;
173
+ }
174
+ return toReturn;
175
+ }
176
+ }
177
+ export class AOlabenjoUpdateTodoItemResponse {
178
+ static fromProto(proto) {
179
+ let m = new AOlabenjoUpdateTodoItemResponse();
180
+ m = Object.assign(m, proto);
181
+ return m;
182
+ }
183
+ constructor(kwargs) {
184
+ if (!kwargs) {
185
+ return;
186
+ }
187
+ Object.assign(this, kwargs);
188
+ }
189
+ toApiJson() {
190
+ const toReturn = {};
191
+ if (typeof this.status !== 'undefined') {
192
+ toReturn['status'] = this.status;
193
+ }
194
+ if (typeof this.id !== 'undefined') {
195
+ toReturn['id'] = this.id;
196
+ }
197
+ return toReturn;
198
+ }
199
+ }
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW9sYWJlbmpvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGV2ZWxvcGVyX3RyYWluaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2FvbGFiZW5qby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sMkJBQTJCO0lBS3BDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLDJCQUEyQixFQUFFLENBQUM7UUFDMUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBK0M7UUFDdkQsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBQztRQUN4RSxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUFDO1FBQzFGLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFL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LENBQUM7U0FBQztRQUMzRSxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUFDO1FBQy9ELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtU3RyaW5nVG9WYWx1ZTxFPihlbnVtUmVmOiBhbnksIHZhbHVlOiBzdHJpbmcpOiBFIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGVudW1SZWZbdmFsdWVdO1xufVxuXG5leHBvcnQgY2xhc3MgQU9sYWJlbmpvQWRkVG9kb0l0ZW1SZXF1ZXN0IGltcGxlbWVudHMgaS5BT2xhYmVuam9BZGRUb2RvSXRlbVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBkdWVEYXRlOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBT2xhYmVuam9BZGRUb2RvSXRlbVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBBT2xhYmVuam9BZGRUb2RvSXRlbVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkFPbGFiZW5qb0FkZFRvZG9JdGVtUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpdGxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aXRsZSddID0gdGhpcy50aXRsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZXNjcmlwdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGVzY3JpcHRpb24nXSA9IHRoaXMuZGVzY3JpcHRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZHVlRGF0ZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZHVlRGF0ZSddID0gdGhpcy5kdWVEYXRlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFPbGFiZW5qb0FkZFRvZG9JdGVtUmVzcG9uc2UgaW1wbGVtZW50cyBpLkFPbGFiZW5qb0FkZFRvZG9JdGVtUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGFkZGl0ZW1TdGF0dXM6IGJvb2xlYW47XG4gICAgaWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFPbGFiZW5qb0FkZFRvZG9JdGVtUmVzcG9uc2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBBT2xhYmVuam9BZGRUb2RvSXRlbVJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BT2xhYmVuam9BZGRUb2RvSXRlbVJlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWRkaXRlbVN0YXR1cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYWRkaXRlbVN0YXR1cyddID0gdGhpcy5hZGRpdGVtU3RhdHVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBT2xhYmVuam9EZWxldGVUb2RvSXRlbVJlcXVlc3QgaW1wbGVtZW50cyBpLkFPbGFiZW5qb0RlbGV0ZVRvZG9JdGVtUmVxdWVzdEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFPbGFiZW5qb0RlbGV0ZVRvZG9JdGVtUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IEFPbGFiZW5qb0RlbGV0ZVRvZG9JdGVtUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQU9sYWJlbmpvRGVsZXRlVG9kb0l0ZW1SZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFPbGFiZW5qb0xpc3RUb2RvSXRlbXNSZXF1ZXN0IGltcGxlbWVudHMgaS5BT2xhYmVuam9MaXN0VG9kb0l0ZW1zUmVxdWVzdEludGVyZmFjZSB7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBT2xhYmVuam9MaXN0VG9kb0l0ZW1zUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IEFPbGFiZW5qb0xpc3RUb2RvSXRlbXNSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BT2xhYmVuam9MaXN0VG9kb0l0ZW1zUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFPbGFiZW5qb0xpc3RUb2RvSXRlbXNSZXNwb25zZSBpbXBsZW1lbnRzIGkuQU9sYWJlbmpvTGlzdFRvZG9JdGVtc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBsaXN0dG9kb0l0ZW1zOiBBT2xhYmVuam9Ub0RvSXRlbVtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQU9sYWJlbmpvTGlzdFRvZG9JdGVtc1Jlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQU9sYWJlbmpvTGlzdFRvZG9JdGVtc1Jlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmxpc3R0b2RvSXRlbXMpIHttLmxpc3R0b2RvSXRlbXMgPSBwcm90by5saXN0dG9kb0l0ZW1zLm1hcChBT2xhYmVuam9Ub0RvSXRlbS5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BT2xhYmVuam9MaXN0VG9kb0l0ZW1zUmVzcG9uc2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5saXN0dG9kb0l0ZW1zICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmxpc3R0b2RvSXRlbXMgIT09IG51bGwpIHt0b1JldHVyblsnbGlzdHRvZG9JdGVtcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5saXN0dG9kb0l0ZW1zID8gKHRoaXMubGlzdHRvZG9JdGVtcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5saXN0dG9kb0l0ZW1zO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFPbGFiZW5qb1RvRG9JdGVtIGltcGxlbWVudHMgaS5BT2xhYmVuam9Ub0RvSXRlbUludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgZHVlRGF0ZTogc3RyaW5nO1xuICAgIGNvbXBsZXRlZDogYm9vbGVhbjtcbiAgICBkZWxldGVkOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQU9sYWJlbmpvVG9Eb0l0ZW0ge1xuICAgICAgICBsZXQgbSA9IG5ldyBBT2xhYmVuam9Ub0RvSXRlbSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQU9sYWJlbmpvVG9Eb0l0ZW1JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGl0bGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RpdGxlJ10gPSB0aGlzLnRpdGxlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc2NyaXB0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZXNjcmlwdGlvbiddID0gdGhpcy5kZXNjcmlwdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kdWVEYXRlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkdWVEYXRlJ10gPSB0aGlzLmR1ZURhdGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29tcGxldGVkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb21wbGV0ZWQnXSA9IHRoaXMuY29tcGxldGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlbGV0ZWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2RlbGV0ZWQnXSA9IHRoaXMuZGVsZXRlZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBT2xhYmVuam9VcGRhdGVUb2RvSXRlbVJlcXVlc3QgaW1wbGVtZW50cyBpLkFPbGFiZW5qb1VwZGF0ZVRvZG9JdGVtUmVxdWVzdEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0b2RvSXRlbTogQU9sYWJlbmpvVG9Eb0l0ZW07XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBT2xhYmVuam9VcGRhdGVUb2RvSXRlbVJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBBT2xhYmVuam9VcGRhdGVUb2RvSXRlbVJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udG9kb0l0ZW0pIHttLnRvZG9JdGVtID0gQU9sYWJlbmpvVG9Eb0l0ZW0uZnJvbVByb3RvKHByb3RvLnRvZG9JdGVtKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQU9sYWJlbmpvVXBkYXRlVG9kb0l0ZW1SZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRvZG9JdGVtICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRvZG9JdGVtICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RvZG9JdGVtJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRvZG9JdGVtID8gKHRoaXMudG9kb0l0ZW0gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudG9kb0l0ZW07fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQU9sYWJlbmpvVXBkYXRlVG9kb0l0ZW1SZXNwb25zZSBpbXBsZW1lbnRzIGkuQU9sYWJlbmpvVXBkYXRlVG9kb0l0ZW1SZXNwb25zZUludGVyZmFjZSB7XG4gICAgc3RhdHVzOiBib29sZWFuO1xuICAgIGlkOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBT2xhYmVuam9VcGRhdGVUb2RvSXRlbVJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQU9sYWJlbmpvVXBkYXRlVG9kb0l0ZW1SZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQU9sYWJlbmpvVXBkYXRlVG9kb0l0ZW1SZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN0YXR1cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3RhdHVzJ10gPSB0aGlzLnN0YXR1czt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=