@vendasta/meetings 0.73.1 → 0.74.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.
- package/esm2020/lib/_generated/host.service.mjs +25 -0
- package/esm2020/lib/_internal/enums/dayofweek.enum.mjs +18 -0
- package/esm2020/lib/_internal/enums/index.mjs +11 -0
- package/esm2020/lib/_internal/enums/meeting-source.enum.mjs +20 -0
- package/esm2020/lib/_internal/enums/shared.enum.mjs +21 -0
- package/{esm2015/lib/_internal/enums/zoom.enum.js → esm2020/lib/_internal/enums/zoom.enum.mjs} +1 -1
- package/esm2020/lib/_internal/google-meet.api.service.mjs +41 -0
- package/esm2020/lib/_internal/index.mjs +15 -0
- package/esm2020/lib/_internal/interfaces/date-range.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/datetime.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/dayofweek.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/google-meet.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/meeting-guest.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/meeting-host.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/meeting-source.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/meeting-type.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/shared.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/timeofday.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/zoom.interface.mjs +8 -0
- package/esm2020/lib/_internal/meeting-guest.api.service.mjs +84 -0
- package/esm2020/lib/_internal/meeting-host.api.service.mjs +170 -0
- package/esm2020/lib/_internal/meeting-source-api.api.service.mjs +41 -0
- package/esm2020/lib/_internal/objects/date-range.mjs +36 -0
- package/esm2020/lib/_internal/objects/datetime.mjs +77 -0
- package/esm2020/lib/_internal/objects/dayofweek.mjs +7 -0
- package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
- package/esm2020/lib/_internal/objects/google-meet.mjs +539 -0
- package/esm2020/lib/_internal/objects/index.mjs +18 -0
- package/esm2020/lib/_internal/objects/meeting-guest.mjs +511 -0
- package/esm2020/lib/_internal/objects/meeting-host.mjs +1485 -0
- package/esm2020/lib/_internal/objects/meeting-source.mjs +121 -0
- package/esm2020/lib/_internal/objects/meeting-type.mjs +119 -0
- package/esm2020/lib/_internal/objects/shared.mjs +426 -0
- package/esm2020/lib/_internal/objects/timeofday.mjs +36 -0
- package/esm2020/lib/_internal/objects/zoom.mjs +377 -0
- package/esm2020/lib/_internal/zoom.api.service.mjs +41 -0
- package/esm2020/lib/guest/guest.service.mjs +86 -0
- package/esm2020/lib/guest/index.mjs +2 -0
- package/esm2020/lib/host/host.service.mjs +308 -0
- package/esm2020/lib/host/url.mjs +39 -0
- package/esm2020/lib/index.mjs +8 -0
- package/esm2020/lib/meetings.service.mjs +168 -0
- package/esm2020/lib/shared/availability.mjs +2 -0
- package/esm2020/lib/shared/calendar.mjs +29 -0
- package/esm2020/lib/shared/duration.mjs +41 -0
- package/esm2020/lib/shared/environment.mjs +17 -0
- package/esm2020/lib/shared/fieldmask.mjs +6 -0
- package/esm2020/lib/shared/host-id.mjs +20 -0
- package/esm2020/lib/shared/host-url-map.mjs +2 -0
- package/esm2020/lib/shared/host-user.mjs +8 -0
- package/esm2020/lib/shared/host.mjs +8 -0
- package/esm2020/lib/shared/index.mjs +14 -0
- package/esm2020/lib/shared/meeting-type.mjs +60 -0
- package/esm2020/lib/shared/meeting.mjs +89 -0
- package/esm2020/lib/shared/paged-response.mjs +8 -0
- package/esm2020/lib/shared/preferences.mjs +12 -0
- package/esm2020/lib/shared/time-span.mjs +7 -0
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/vendasta-meetings.mjs +5 -0
- package/fesm2015/{vendasta-meetings.js → vendasta-meetings.mjs} +487 -519
- package/fesm2015/vendasta-meetings.mjs.map +1 -0
- package/fesm2020/vendasta-meetings.mjs +5086 -0
- package/fesm2020/vendasta-meetings.mjs.map +1 -0
- package/lib/_generated/host.service.d.ts +5 -9
- package/lib/_internal/google-meet.api.service.d.ts +4 -0
- package/lib/_internal/meeting-guest.api.service.d.ts +4 -0
- package/lib/_internal/meeting-host.api.service.d.ts +4 -0
- package/lib/_internal/meeting-source-api.api.service.d.ts +4 -0
- package/lib/_internal/zoom.api.service.d.ts +4 -0
- package/lib/guest/guest.service.d.ts +4 -3
- package/lib/host/host.service.d.ts +4 -3
- package/lib/host/url.d.ts +1 -1
- package/lib/meetings.service.d.ts +3 -0
- package/lib/shared/environment.d.ts +8 -0
- package/lib/shared/meeting-type.d.ts +1 -1
- package/package.json +26 -15
- package/src/README.md +12 -0
- package/vendasta-meetings.d.ts +1 -0
- package/bundles/vendasta-meetings.umd.js +0 -5517
- package/bundles/vendasta-meetings.umd.js.map +0 -1
- package/bundles/vendasta-meetings.umd.min.js +0 -16
- package/bundles/vendasta-meetings.umd.min.js.map +0 -1
- package/esm2015/lib/_generated/host.service.js +0 -65
- package/esm2015/lib/_internal/enums/dayofweek.enum.js +0 -18
- package/esm2015/lib/_internal/enums/index.js +0 -11
- package/esm2015/lib/_internal/enums/meeting-source.enum.js +0 -20
- package/esm2015/lib/_internal/enums/shared.enum.js +0 -21
- package/esm2015/lib/_internal/google-meet.api.service.js +0 -42
- package/esm2015/lib/_internal/index.js +0 -15
- package/esm2015/lib/_internal/interfaces/date-range.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/datetime.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/dayofweek.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/google-meet.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/index.js +0 -2
- package/esm2015/lib/_internal/interfaces/meeting-guest.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/meeting-host.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/meeting-source.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/meeting-type.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/shared.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/timeofday.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/zoom.interface.js +0 -8
- package/esm2015/lib/_internal/meeting-guest.api.service.js +0 -85
- package/esm2015/lib/_internal/meeting-host.api.service.js +0 -171
- package/esm2015/lib/_internal/meeting-source-api.api.service.js +0 -42
- package/esm2015/lib/_internal/objects/date-range.js +0 -36
- package/esm2015/lib/_internal/objects/datetime.js +0 -77
- package/esm2015/lib/_internal/objects/dayofweek.js +0 -7
- package/esm2015/lib/_internal/objects/field-mask.js +0 -27
- package/esm2015/lib/_internal/objects/google-meet.js +0 -539
- package/esm2015/lib/_internal/objects/index.js +0 -18
- package/esm2015/lib/_internal/objects/meeting-guest.js +0 -511
- package/esm2015/lib/_internal/objects/meeting-host.js +0 -1485
- package/esm2015/lib/_internal/objects/meeting-source.js +0 -121
- package/esm2015/lib/_internal/objects/meeting-type.js +0 -119
- package/esm2015/lib/_internal/objects/shared.js +0 -426
- package/esm2015/lib/_internal/objects/timeofday.js +0 -36
- package/esm2015/lib/_internal/objects/zoom.js +0 -377
- package/esm2015/lib/_internal/zoom.api.service.js +0 -42
- package/esm2015/lib/guest/guest.service.js +0 -86
- package/esm2015/lib/guest/index.js +0 -2
- package/esm2015/lib/host/host.service.js +0 -287
- package/esm2015/lib/host/url.js +0 -39
- package/esm2015/lib/index.js +0 -8
- package/esm2015/lib/meetings.service.js +0 -170
- package/esm2015/lib/shared/availability.js +0 -2
- package/esm2015/lib/shared/calendar.js +0 -29
- package/esm2015/lib/shared/duration.js +0 -41
- package/esm2015/lib/shared/fieldmask.js +0 -6
- package/esm2015/lib/shared/host-id.js +0 -20
- package/esm2015/lib/shared/host-url-map.js +0 -2
- package/esm2015/lib/shared/host-user.js +0 -8
- package/esm2015/lib/shared/host.js +0 -8
- package/esm2015/lib/shared/index.js +0 -14
- package/esm2015/lib/shared/meeting-type.js +0 -52
- package/esm2015/lib/shared/meeting.js +0 -89
- package/esm2015/lib/shared/paged-response.js +0 -8
- package/esm2015/lib/shared/preferences.js +0 -12
- package/esm2015/lib/shared/time-span.js +0 -7
- package/esm2015/public_api.js +0 -2
- package/esm2015/vendasta-meetings.js +0 -5
- package/fesm2015/vendasta-meetings.js.map +0 -1
- package/vendasta-meetings.metadata.json +0 -1
|
@@ -1,426 +0,0 @@
|
|
|
1
|
-
import { TimeOfDay } from './timeofday';
|
|
2
|
-
import { TimeZone } from './datetime';
|
|
3
|
-
import * as e from '../enums';
|
|
4
|
-
export function enumStringToValue(enumRef, value) {
|
|
5
|
-
if (typeof value === 'number') {
|
|
6
|
-
return value;
|
|
7
|
-
}
|
|
8
|
-
return enumRef[value];
|
|
9
|
-
}
|
|
10
|
-
export class Answer {
|
|
11
|
-
constructor(kwargs) {
|
|
12
|
-
if (!kwargs) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
Object.assign(this, kwargs);
|
|
16
|
-
}
|
|
17
|
-
static fromProto(proto) {
|
|
18
|
-
let m = new Answer();
|
|
19
|
-
m = Object.assign(m, proto);
|
|
20
|
-
if (proto.type) {
|
|
21
|
-
m.type = enumStringToValue(e.FormFieldType, proto.type);
|
|
22
|
-
}
|
|
23
|
-
return m;
|
|
24
|
-
}
|
|
25
|
-
toApiJson() {
|
|
26
|
-
const toReturn = {};
|
|
27
|
-
if (typeof this.id !== 'undefined') {
|
|
28
|
-
toReturn['id'] = this.id;
|
|
29
|
-
}
|
|
30
|
-
if (typeof this.label !== 'undefined') {
|
|
31
|
-
toReturn['label'] = this.label;
|
|
32
|
-
}
|
|
33
|
-
if (typeof this.type !== 'undefined') {
|
|
34
|
-
toReturn['type'] = this.type;
|
|
35
|
-
}
|
|
36
|
-
if (typeof this.answer !== 'undefined') {
|
|
37
|
-
toReturn['answer'] = this.answer;
|
|
38
|
-
}
|
|
39
|
-
return toReturn;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
export class Answers {
|
|
43
|
-
constructor(kwargs) {
|
|
44
|
-
if (!kwargs) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
Object.assign(this, kwargs);
|
|
48
|
-
}
|
|
49
|
-
static fromProto(proto) {
|
|
50
|
-
let m = new Answers();
|
|
51
|
-
m = Object.assign(m, proto);
|
|
52
|
-
if (proto.formAnswers) {
|
|
53
|
-
m.formAnswers = proto.formAnswers.map(Answer.fromProto);
|
|
54
|
-
}
|
|
55
|
-
return m;
|
|
56
|
-
}
|
|
57
|
-
toApiJson() {
|
|
58
|
-
const toReturn = {};
|
|
59
|
-
if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {
|
|
60
|
-
toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? this.formAnswers.toApiJson() : this.formAnswers;
|
|
61
|
-
}
|
|
62
|
-
return toReturn;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
export class CalendarApplicationContextEntry {
|
|
66
|
-
constructor(kwargs) {
|
|
67
|
-
if (!kwargs) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
Object.assign(this, kwargs);
|
|
71
|
-
}
|
|
72
|
-
static fromProto(proto) {
|
|
73
|
-
let m = new CalendarApplicationContextEntry();
|
|
74
|
-
m = Object.assign(m, proto);
|
|
75
|
-
return m;
|
|
76
|
-
}
|
|
77
|
-
toApiJson() {
|
|
78
|
-
const toReturn = {};
|
|
79
|
-
if (typeof this.key !== 'undefined') {
|
|
80
|
-
toReturn['key'] = this.key;
|
|
81
|
-
}
|
|
82
|
-
if (typeof this.value !== 'undefined') {
|
|
83
|
-
toReturn['value'] = this.value;
|
|
84
|
-
}
|
|
85
|
-
return toReturn;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
export class Attachment {
|
|
89
|
-
constructor(kwargs) {
|
|
90
|
-
if (!kwargs) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
Object.assign(this, kwargs);
|
|
94
|
-
}
|
|
95
|
-
static fromProto(proto) {
|
|
96
|
-
let m = new Attachment();
|
|
97
|
-
m = Object.assign(m, proto);
|
|
98
|
-
return m;
|
|
99
|
-
}
|
|
100
|
-
toApiJson() {
|
|
101
|
-
const toReturn = {};
|
|
102
|
-
if (typeof this.fileTitle !== 'undefined') {
|
|
103
|
-
toReturn['fileTitle'] = this.fileTitle;
|
|
104
|
-
}
|
|
105
|
-
if (typeof this.fileUrl !== 'undefined') {
|
|
106
|
-
toReturn['fileUrl'] = this.fileUrl;
|
|
107
|
-
}
|
|
108
|
-
if (typeof this.fileType !== 'undefined') {
|
|
109
|
-
toReturn['fileType'] = this.fileType;
|
|
110
|
-
}
|
|
111
|
-
return toReturn;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
export class Attendee {
|
|
115
|
-
constructor(kwargs) {
|
|
116
|
-
if (!kwargs) {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
Object.assign(this, kwargs);
|
|
120
|
-
}
|
|
121
|
-
static fromProto(proto) {
|
|
122
|
-
let m = new Attendee();
|
|
123
|
-
m = Object.assign(m, proto);
|
|
124
|
-
return m;
|
|
125
|
-
}
|
|
126
|
-
toApiJson() {
|
|
127
|
-
const toReturn = {};
|
|
128
|
-
if (typeof this.firstName !== 'undefined') {
|
|
129
|
-
toReturn['firstName'] = this.firstName;
|
|
130
|
-
}
|
|
131
|
-
if (typeof this.lastName !== 'undefined') {
|
|
132
|
-
toReturn['lastName'] = this.lastName;
|
|
133
|
-
}
|
|
134
|
-
if (typeof this.email !== 'undefined') {
|
|
135
|
-
toReturn['email'] = this.email;
|
|
136
|
-
}
|
|
137
|
-
if (typeof this.phoneNumber !== 'undefined') {
|
|
138
|
-
toReturn['phoneNumber'] = this.phoneNumber;
|
|
139
|
-
}
|
|
140
|
-
if (typeof this.timeZone !== 'undefined') {
|
|
141
|
-
toReturn['timeZone'] = this.timeZone;
|
|
142
|
-
}
|
|
143
|
-
if (typeof this.isPrimary !== 'undefined') {
|
|
144
|
-
toReturn['isPrimary'] = this.isPrimary;
|
|
145
|
-
}
|
|
146
|
-
return toReturn;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
export class Calendar {
|
|
150
|
-
constructor(kwargs) {
|
|
151
|
-
if (!kwargs) {
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
Object.assign(this, kwargs);
|
|
155
|
-
}
|
|
156
|
-
static fromProto(proto) {
|
|
157
|
-
let m = new Calendar();
|
|
158
|
-
m = Object.assign(m, proto);
|
|
159
|
-
if (proto.applicationContext) {
|
|
160
|
-
m.applicationContext = Object.keys(proto.applicationContext).reduce((obj, k) => { obj[k] = proto.applicationContext[k]; return obj; }, {});
|
|
161
|
-
}
|
|
162
|
-
if (proto.calendarType) {
|
|
163
|
-
m.calendarType = enumStringToValue(e.CalendarType, proto.calendarType);
|
|
164
|
-
}
|
|
165
|
-
return m;
|
|
166
|
-
}
|
|
167
|
-
toApiJson() {
|
|
168
|
-
const toReturn = {};
|
|
169
|
-
if (typeof this.id !== 'undefined') {
|
|
170
|
-
toReturn['id'] = this.id;
|
|
171
|
-
}
|
|
172
|
-
if (typeof this.displayName !== 'undefined') {
|
|
173
|
-
toReturn['displayName'] = this.displayName;
|
|
174
|
-
}
|
|
175
|
-
if (typeof this.displayProfileUrl !== 'undefined') {
|
|
176
|
-
toReturn['displayProfileUrl'] = this.displayProfileUrl;
|
|
177
|
-
}
|
|
178
|
-
if (typeof this.displayLogoUrl !== 'undefined') {
|
|
179
|
-
toReturn['displayLogoUrl'] = this.displayLogoUrl;
|
|
180
|
-
}
|
|
181
|
-
if (typeof this.bookingUrl !== 'undefined') {
|
|
182
|
-
toReturn['bookingUrl'] = this.bookingUrl;
|
|
183
|
-
}
|
|
184
|
-
if (typeof this.slug !== 'undefined') {
|
|
185
|
-
toReturn['slug'] = this.slug;
|
|
186
|
-
}
|
|
187
|
-
if (typeof this.externalId !== 'undefined') {
|
|
188
|
-
toReturn['externalId'] = this.externalId;
|
|
189
|
-
}
|
|
190
|
-
if (typeof this.creatorUserId !== 'undefined') {
|
|
191
|
-
toReturn['creatorUserId'] = this.creatorUserId;
|
|
192
|
-
}
|
|
193
|
-
if (typeof this.hostUserIds !== 'undefined') {
|
|
194
|
-
toReturn['hostUserIds'] = this.hostUserIds;
|
|
195
|
-
}
|
|
196
|
-
if (typeof this.applicationContext !== 'undefined' && this.applicationContext !== null) {
|
|
197
|
-
toReturn['applicationContext'] = 'toApiJson' in this.applicationContext ? this.applicationContext.toApiJson() : this.applicationContext;
|
|
198
|
-
}
|
|
199
|
-
if (typeof this.calendarType !== 'undefined') {
|
|
200
|
-
toReturn['calendarType'] = this.calendarType;
|
|
201
|
-
}
|
|
202
|
-
return toReturn;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
export class Contact {
|
|
206
|
-
constructor(kwargs) {
|
|
207
|
-
if (!kwargs) {
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
Object.assign(this, kwargs);
|
|
211
|
-
}
|
|
212
|
-
static fromProto(proto) {
|
|
213
|
-
let m = new Contact();
|
|
214
|
-
m = Object.assign(m, proto);
|
|
215
|
-
if (proto.timeZone) {
|
|
216
|
-
m.timeZone = TimeZone.fromProto(proto.timeZone);
|
|
217
|
-
}
|
|
218
|
-
return m;
|
|
219
|
-
}
|
|
220
|
-
toApiJson() {
|
|
221
|
-
const toReturn = {};
|
|
222
|
-
if (typeof this.firstName !== 'undefined') {
|
|
223
|
-
toReturn['firstName'] = this.firstName;
|
|
224
|
-
}
|
|
225
|
-
if (typeof this.lastName !== 'undefined') {
|
|
226
|
-
toReturn['lastName'] = this.lastName;
|
|
227
|
-
}
|
|
228
|
-
if (typeof this.phoneNumber !== 'undefined') {
|
|
229
|
-
toReturn['phoneNumber'] = this.phoneNumber;
|
|
230
|
-
}
|
|
231
|
-
if (typeof this.email !== 'undefined') {
|
|
232
|
-
toReturn['email'] = this.email;
|
|
233
|
-
}
|
|
234
|
-
if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {
|
|
235
|
-
toReturn['timeZone'] = 'toApiJson' in this.timeZone ? this.timeZone.toApiJson() : this.timeZone;
|
|
236
|
-
}
|
|
237
|
-
if (typeof this.isPrimary !== 'undefined') {
|
|
238
|
-
toReturn['isPrimary'] = this.isPrimary;
|
|
239
|
-
}
|
|
240
|
-
return toReturn;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
export class Host {
|
|
244
|
-
constructor(kwargs) {
|
|
245
|
-
if (!kwargs) {
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
Object.assign(this, kwargs);
|
|
249
|
-
}
|
|
250
|
-
static fromProto(proto) {
|
|
251
|
-
let m = new Host();
|
|
252
|
-
m = Object.assign(m, proto);
|
|
253
|
-
return m;
|
|
254
|
-
}
|
|
255
|
-
toApiJson() {
|
|
256
|
-
const toReturn = {};
|
|
257
|
-
if (typeof this.id !== 'undefined') {
|
|
258
|
-
toReturn['id'] = this.id;
|
|
259
|
-
}
|
|
260
|
-
if (typeof this.displayName !== 'undefined') {
|
|
261
|
-
toReturn['displayName'] = this.displayName;
|
|
262
|
-
}
|
|
263
|
-
if (typeof this.displayProfileUrl !== 'undefined') {
|
|
264
|
-
toReturn['displayProfileUrl'] = this.displayProfileUrl;
|
|
265
|
-
}
|
|
266
|
-
if (typeof this.displayLogoUrl !== 'undefined') {
|
|
267
|
-
toReturn['displayLogoUrl'] = this.displayLogoUrl;
|
|
268
|
-
}
|
|
269
|
-
return toReturn;
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
export class HostUser {
|
|
273
|
-
constructor(kwargs) {
|
|
274
|
-
if (!kwargs) {
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
Object.assign(this, kwargs);
|
|
278
|
-
}
|
|
279
|
-
static fromProto(proto) {
|
|
280
|
-
let m = new HostUser();
|
|
281
|
-
m = Object.assign(m, proto);
|
|
282
|
-
return m;
|
|
283
|
-
}
|
|
284
|
-
toApiJson() {
|
|
285
|
-
const toReturn = {};
|
|
286
|
-
if (typeof this.userId !== 'undefined') {
|
|
287
|
-
toReturn['userId'] = this.userId;
|
|
288
|
-
}
|
|
289
|
-
if (typeof this.displayName !== 'undefined') {
|
|
290
|
-
toReturn['displayName'] = this.displayName;
|
|
291
|
-
}
|
|
292
|
-
if (typeof this.isConfigured !== 'undefined') {
|
|
293
|
-
toReturn['isConfigured'] = this.isConfigured;
|
|
294
|
-
}
|
|
295
|
-
return toReturn;
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
export class PagedRequestOptions {
|
|
299
|
-
constructor(kwargs) {
|
|
300
|
-
if (!kwargs) {
|
|
301
|
-
return;
|
|
302
|
-
}
|
|
303
|
-
Object.assign(this, kwargs);
|
|
304
|
-
}
|
|
305
|
-
static fromProto(proto) {
|
|
306
|
-
let m = new PagedRequestOptions();
|
|
307
|
-
m = Object.assign(m, proto);
|
|
308
|
-
if (proto.pageSize) {
|
|
309
|
-
m.pageSize = parseInt(proto.pageSize, 10);
|
|
310
|
-
}
|
|
311
|
-
return m;
|
|
312
|
-
}
|
|
313
|
-
toApiJson() {
|
|
314
|
-
const toReturn = {};
|
|
315
|
-
if (typeof this.cursor !== 'undefined') {
|
|
316
|
-
toReturn['cursor'] = this.cursor;
|
|
317
|
-
}
|
|
318
|
-
if (typeof this.pageSize !== 'undefined') {
|
|
319
|
-
toReturn['pageSize'] = this.pageSize;
|
|
320
|
-
}
|
|
321
|
-
return toReturn;
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
export class PagedResponseMetadata {
|
|
325
|
-
constructor(kwargs) {
|
|
326
|
-
if (!kwargs) {
|
|
327
|
-
return;
|
|
328
|
-
}
|
|
329
|
-
Object.assign(this, kwargs);
|
|
330
|
-
}
|
|
331
|
-
static fromProto(proto) {
|
|
332
|
-
let m = new PagedResponseMetadata();
|
|
333
|
-
m = Object.assign(m, proto);
|
|
334
|
-
return m;
|
|
335
|
-
}
|
|
336
|
-
toApiJson() {
|
|
337
|
-
const toReturn = {};
|
|
338
|
-
if (typeof this.nextCursor !== 'undefined') {
|
|
339
|
-
toReturn['nextCursor'] = this.nextCursor;
|
|
340
|
-
}
|
|
341
|
-
if (typeof this.hasMore !== 'undefined') {
|
|
342
|
-
toReturn['hasMore'] = this.hasMore;
|
|
343
|
-
}
|
|
344
|
-
return toReturn;
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
export class Preferences {
|
|
348
|
-
constructor(kwargs) {
|
|
349
|
-
if (!kwargs) {
|
|
350
|
-
return;
|
|
351
|
-
}
|
|
352
|
-
Object.assign(this, kwargs);
|
|
353
|
-
}
|
|
354
|
-
static fromProto(proto) {
|
|
355
|
-
let m = new Preferences();
|
|
356
|
-
m = Object.assign(m, proto);
|
|
357
|
-
if (proto.timezone) {
|
|
358
|
-
m.timezone = TimeZone.fromProto(proto.timezone);
|
|
359
|
-
}
|
|
360
|
-
if (proto.meetingIntegration) {
|
|
361
|
-
m.meetingIntegration = enumStringToValue(e.MeetingSource, proto.meetingIntegration);
|
|
362
|
-
}
|
|
363
|
-
if (proto.availabilityIncrement) {
|
|
364
|
-
m.availabilityIncrement = parseInt(proto.availabilityIncrement, 10);
|
|
365
|
-
}
|
|
366
|
-
if (proto.bufferDurationAfterMeeting) {
|
|
367
|
-
m.bufferDurationAfterMeeting = parseInt(proto.bufferDurationAfterMeeting, 10);
|
|
368
|
-
}
|
|
369
|
-
if (proto.noticeTime) {
|
|
370
|
-
m.noticeTime = parseInt(proto.noticeTime, 10);
|
|
371
|
-
}
|
|
372
|
-
return m;
|
|
373
|
-
}
|
|
374
|
-
toApiJson() {
|
|
375
|
-
const toReturn = {};
|
|
376
|
-
if (typeof this.timezone !== 'undefined' && this.timezone !== null) {
|
|
377
|
-
toReturn['timezone'] = 'toApiJson' in this.timezone ? this.timezone.toApiJson() : this.timezone;
|
|
378
|
-
}
|
|
379
|
-
if (typeof this.meetingIntegration !== 'undefined') {
|
|
380
|
-
toReturn['meetingIntegration'] = this.meetingIntegration;
|
|
381
|
-
}
|
|
382
|
-
if (typeof this.availabilityIncrement !== 'undefined') {
|
|
383
|
-
toReturn['availabilityIncrement'] = this.availabilityIncrement;
|
|
384
|
-
}
|
|
385
|
-
if (typeof this.bufferDurationAfterMeeting !== 'undefined') {
|
|
386
|
-
toReturn['bufferDurationAfterMeeting'] = this.bufferDurationAfterMeeting;
|
|
387
|
-
}
|
|
388
|
-
if (typeof this.noticeTime !== 'undefined') {
|
|
389
|
-
toReturn['noticeTime'] = this.noticeTime;
|
|
390
|
-
}
|
|
391
|
-
if (typeof this.calendarSlug !== 'undefined') {
|
|
392
|
-
toReturn['calendarSlug'] = this.calendarSlug;
|
|
393
|
-
}
|
|
394
|
-
return toReturn;
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
export class TimeRange {
|
|
398
|
-
constructor(kwargs) {
|
|
399
|
-
if (!kwargs) {
|
|
400
|
-
return;
|
|
401
|
-
}
|
|
402
|
-
Object.assign(this, kwargs);
|
|
403
|
-
}
|
|
404
|
-
static fromProto(proto) {
|
|
405
|
-
let m = new TimeRange();
|
|
406
|
-
m = Object.assign(m, proto);
|
|
407
|
-
if (proto.from) {
|
|
408
|
-
m.from = TimeOfDay.fromProto(proto.from);
|
|
409
|
-
}
|
|
410
|
-
if (proto.to) {
|
|
411
|
-
m.to = TimeOfDay.fromProto(proto.to);
|
|
412
|
-
}
|
|
413
|
-
return m;
|
|
414
|
-
}
|
|
415
|
-
toApiJson() {
|
|
416
|
-
const toReturn = {};
|
|
417
|
-
if (typeof this.from !== 'undefined' && this.from !== null) {
|
|
418
|
-
toReturn['from'] = 'toApiJson' in this.from ? this.from.toApiJson() : this.from;
|
|
419
|
-
}
|
|
420
|
-
if (typeof this.to !== 'undefined' && this.to !== null) {
|
|
421
|
-
toReturn['to'] = 'toApiJson' in this.to ? this.to.toApiJson() : this.to;
|
|
422
|
-
}
|
|
423
|
-
return toReturn;
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6Ii9jb2RlZnJlc2gvdm9sdW1lL21lZXRpbmdzL3Nka3MvdHlwZXNjcmlwdC9zcmMvbWVldGluZ3Nfc2RrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9faW50ZXJuYWwvb2JqZWN0cy9zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTlCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sT0FBTyxNQUFNO0lBYWYsWUFBWSxNQUEwQjtRQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQVpELE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFBQyxDQUFDLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFrQixDQUFDLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUFDO1FBQzNGLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQVNELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixF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TSxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxJQUFZLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FBQztRQUN2SixJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxFQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FBQztRQUMzSSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUaW1lT2ZEYXkgfSBmcm9tICcuL3RpbWVvZmRheSc7XG5pbXBvcnQgeyBUaW1lWm9uZSB9IGZyb20gJy4vZGF0ZXRpbWUnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtU3RyaW5nVG9WYWx1ZTxFPihlbnVtUmVmOiBhbnksIHZhbHVlOiBzdHJpbmcpOiBFIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGVudW1SZWZbdmFsdWVdO1xufVxuXG5leHBvcnQgY2xhc3MgQW5zd2VyIGltcGxlbWVudHMgaS5BbnN3ZXJJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB0eXBlOiBlLkZvcm1GaWVsZFR5cGU7XG4gICAgYW5zd2VyOiBzdHJpbmdbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFuc3dlciB7XG4gICAgICAgIGxldCBtID0gbmV3IEFuc3dlcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by50eXBlKSB7bS50eXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5Gb3JtRmllbGRUeXBlPihlLkZvcm1GaWVsZFR5cGUsIHByb3RvLnR5cGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BbnN3ZXJJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubGFiZWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2xhYmVsJ10gPSB0aGlzLmxhYmVsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3R5cGUnXSA9IHRoaXMudHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hbnN3ZXIgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Fuc3dlciddID0gdGhpcy5hbnN3ZXI7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQW5zd2VycyBpbXBsZW1lbnRzIGkuQW5zd2Vyc0ludGVyZmFjZSB7XG4gICAgZm9ybUFuc3dlcnM6IEFuc3dlcltdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQW5zd2VycyB7XG4gICAgICAgIGxldCBtID0gbmV3IEFuc3dlcnMoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZm9ybUFuc3dlcnMpIHttLmZvcm1BbnN3ZXJzID0gcHJvdG8uZm9ybUFuc3dlcnMubWFwKEFuc3dlci5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BbnN3ZXJzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZm9ybUFuc3dlcnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZm9ybUFuc3dlcnMgIT09IG51bGwpIHt0b1JldHVyblsnZm9ybUFuc3dlcnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZm9ybUFuc3dlcnMgPyAodGhpcy5mb3JtQW5zd2VycyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5mb3JtQW5zd2Vyczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYWxlbmRhckFwcGxpY2F0aW9uQ29udGV4dEVudHJ5IGltcGxlbWVudHMgaS5DYWxlbmRhckFwcGxpY2F0aW9uQ29udGV4dEVudHJ5SW50ZXJmYWNlIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ2FsZW5kYXJBcHBsaWNhdGlvbkNvbnRleHRFbnRyeSB7XG4gICAgICAgIGxldCBtID0gbmV3IENhbGVuZGFyQXBwbGljYXRpb25Db250ZXh0RW50cnkoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNhbGVuZGFyQXBwbGljYXRpb25Db250ZXh0RW50cnlJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5rZXkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2tleSddID0gdGhpcy5rZXk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZhbHVlJ10gPSB0aGlzLnZhbHVlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEF0dGFjaG1lbnQgaW1wbGVtZW50cyBpLkF0dGFjaG1lbnRJbnRlcmZhY2Uge1xuICAgIGZpbGVUaXRsZTogc3RyaW5nO1xuICAgIGZpbGVVcmw6IHN0cmluZztcbiAgICBmaWxlVHlwZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQXR0YWNobWVudCB7XG4gICAgICAgIGxldCBtID0gbmV3IEF0dGFjaG1lbnQoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkF0dGFjaG1lbnRJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWxlVGl0bGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpbGVUaXRsZSddID0gdGhpcy5maWxlVGl0bGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmlsZVVybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmlsZVVybCddID0gdGhpcy5maWxlVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpbGVUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaWxlVHlwZSddID0gdGhpcy5maWxlVHlwZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBdHRlbmRlZSBpbXBsZW1lbnRzIGkuQXR0ZW5kZWVJbnRlcmZhY2Uge1xuICAgIGZpcnN0TmFtZTogc3RyaW5nO1xuICAgIGxhc3ROYW1lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBwaG9uZU51bWJlcjogc3RyaW5nO1xuICAgIHRpbWVab25lOiBzdHJpbmc7XG4gICAgaXNQcmltYXJ5OiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQXR0ZW5kZWUge1xuICAgICAgICBsZXQgbSA9IG5ldyBBdHRlbmRlZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXR0ZW5kZWVJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maXJzdE5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpcnN0TmFtZSddID0gdGhpcy5maXJzdE5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubGFzdE5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2xhc3ROYW1lJ10gPSB0aGlzLmxhc3ROYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVtYWlsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydlbWFpbCddID0gdGhpcy5lbWFpbDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5waG9uZU51bWJlciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGhvbmVOdW1iZXInXSA9IHRoaXMucGhvbmVOdW1iZXI7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGltZVpvbmUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RpbWVab25lJ10gPSB0aGlzLnRpbWVab25lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlzUHJpbWFyeSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaXNQcmltYXJ5J10gPSB0aGlzLmlzUHJpbWFyeTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYWxlbmRhciBpbXBsZW1lbnRzIGkuQ2FsZW5kYXJJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBkaXNwbGF5UHJvZmlsZVVybDogc3RyaW5nO1xuICAgIGRpc3BsYXlMb2dvVXJsOiBzdHJpbmc7XG4gICAgYm9va2luZ1VybDogc3RyaW5nO1xuICAgIHNsdWc6IHN0cmluZztcbiAgICBleHRlcm5hbElkOiBzdHJpbmc7XG4gICAgY3JlYXRvclVzZXJJZDogc3RyaW5nO1xuICAgIGhvc3RVc2VySWRzOiBzdHJpbmdbXTtcbiAgICBhcHBsaWNhdGlvbkNvbnRleHQ6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xuICAgIGNhbGVuZGFyVHlwZTogZS5DYWxlbmRhclR5cGU7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDYWxlbmRhciB7XG4gICAgICAgIGxldCBtID0gbmV3IENhbGVuZGFyKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmFwcGxpY2F0aW9uQ29udGV4dCkge20uYXBwbGljYXRpb25Db250ZXh0ID0gT2JqZWN0LmtleXMocHJvdG8uYXBwbGljYXRpb25Db250ZXh0KS5yZWR1Y2U8YW55Pigob2JqLCBrKSA9PiB7IG9ialtrXSA9IHByb3RvLmFwcGxpY2F0aW9uQ29udGV4dFtrXTsgcmV0dXJuIG9iajsgfSwge30pO31cbiAgICAgICAgaWYgKHByb3RvLmNhbGVuZGFyVHlwZSkge20uY2FsZW5kYXJUeXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5DYWxlbmRhclR5cGU+KGUuQ2FsZW5kYXJUeXBlLCBwcm90by5jYWxlbmRhclR5cGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DYWxlbmRhckludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kaXNwbGF5TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGlzcGxheU5hbWUnXSA9IHRoaXMuZGlzcGxheU5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGlzcGxheVByb2ZpbGVVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rpc3BsYXlQcm9maWxlVXJsJ10gPSB0aGlzLmRpc3BsYXlQcm9maWxlVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRpc3BsYXlMb2dvVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkaXNwbGF5TG9nb1VybCddID0gdGhpcy5kaXNwbGF5TG9nb1VybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5ib29raW5nVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydib29raW5nVXJsJ10gPSB0aGlzLmJvb2tpbmdVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2x1ZyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc2x1ZyddID0gdGhpcy5zbHVnO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmV4dGVybmFsSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2V4dGVybmFsSWQnXSA9IHRoaXMuZXh0ZXJuYWxJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdG9yVXNlcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjcmVhdG9yVXNlcklkJ10gPSB0aGlzLmNyZWF0b3JVc2VySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaG9zdFVzZXJJZHMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2hvc3RVc2VySWRzJ10gPSB0aGlzLmhvc3RVc2VySWRzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFwcGxpY2F0aW9uQ29udGV4dCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hcHBsaWNhdGlvbkNvbnRleHQgIT09IG51bGwpIHt0b1JldHVyblsnYXBwbGljYXRpb25Db250ZXh0J10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmFwcGxpY2F0aW9uQ29udGV4dCA/ICh0aGlzLmFwcGxpY2F0aW9uQ29udGV4dCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hcHBsaWNhdGlvbkNvbnRleHQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2FsZW5kYXJUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjYWxlbmRhclR5cGUnXSA9IHRoaXMuY2FsZW5kYXJUeXBlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbnRhY3QgaW1wbGVtZW50cyBpLkNvbnRhY3RJbnRlcmZhY2Uge1xuICAgIGZpcnN0TmFtZTogc3RyaW5nO1xuICAgIGxhc3ROYW1lOiBzdHJpbmc7XG4gICAgcGhvbmVOdW1iZXI6IHN0cmluZztcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHRpbWVab25lOiBUaW1lWm9uZTtcbiAgICBpc1ByaW1hcnk6IGJvb2xlYW47XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDb250YWN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ29udGFjdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by50aW1lWm9uZSkge20udGltZVpvbmUgPSBUaW1lWm9uZS5mcm9tUHJvdG8ocHJvdG8udGltZVpvbmUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db250YWN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmlyc3ROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaXJzdE5hbWUnXSA9IHRoaXMuZmlyc3ROYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmxhc3ROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydsYXN0TmFtZSddID0gdGhpcy5sYXN0TmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5waG9uZU51bWJlciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGhvbmVOdW1iZXInXSA9IHRoaXMucGhvbmVOdW1iZXI7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZW1haWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VtYWlsJ10gPSB0aGlzLmVtYWlsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpbWVab25lICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRpbWVab25lICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RpbWVab25lJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRpbWVab25lID8gKHRoaXMudGltZVpvbmUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudGltZVpvbmU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXNQcmltYXJ5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpc1ByaW1hcnknXSA9IHRoaXMuaXNQcmltYXJ5O31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEhvc3QgaW1wbGVtZW50cyBpLkhvc3RJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBkaXNwbGF5UHJvZmlsZVVybDogc3RyaW5nO1xuICAgIGRpc3BsYXlMb2dvVXJsOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBIb3N0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgSG9zdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuSG9zdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kaXNwbGF5TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGlzcGxheU5hbWUnXSA9IHRoaXMuZGlzcGxheU5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGlzcGxheVByb2ZpbGVVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rpc3BsYXlQcm9maWxlVXJsJ10gPSB0aGlzLmRpc3BsYXlQcm9maWxlVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRpc3BsYXlMb2dvVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkaXNwbGF5TG9nb1VybCddID0gdGhpcy5kaXNwbGF5TG9nb1VybDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBIb3N0VXNlciBpbXBsZW1lbnRzIGkuSG9zdFVzZXJJbnRlcmZhY2Uge1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgaXNDb25maWd1cmVkOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogSG9zdFVzZXIge1xuICAgICAgICBsZXQgbSA9IG5ldyBIb3N0VXNlcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuSG9zdFVzZXJJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJJZCddID0gdGhpcy51c2VySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGlzcGxheU5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rpc3BsYXlOYW1lJ10gPSB0aGlzLmRpc3BsYXlOYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlzQ29uZmlndXJlZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaXNDb25maWd1cmVkJ10gPSB0aGlzLmlzQ29uZmlndXJlZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQYWdlZFJlcXVlc3RPcHRpb25zIGltcGxlbWVudHMgaS5QYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlIHtcbiAgICBjdXJzb3I6IHN0cmluZztcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUGFnZWRSZXF1ZXN0T3B0aW9ucyB7XG4gICAgICAgIGxldCBtID0gbmV3IFBhZ2VkUmVxdWVzdE9wdGlvbnMoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ucGFnZVNpemUpIHttLnBhZ2VTaXplID0gcGFyc2VJbnQocHJvdG8ucGFnZVNpemUsIDEwKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmN1cnNvciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3Vyc29yJ10gPSB0aGlzLmN1cnNvcjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYWdlU2l6ZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFnZVNpemUnXSA9IHRoaXMucGFnZVNpemU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGFnZWRSZXNwb25zZU1ldGFkYXRhIGltcGxlbWVudHMgaS5QYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2Uge1xuICAgIG5leHRDdXJzb3I6IHN0cmluZztcbiAgICBoYXNNb3JlOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUGFnZWRSZXNwb25zZU1ldGFkYXRhIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUGFnZWRSZXNwb25zZU1ldGFkYXRhKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5QYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uZXh0Q3Vyc29yICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduZXh0Q3Vyc29yJ10gPSB0aGlzLm5leHRDdXJzb3I7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaGFzTW9yZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaGFzTW9yZSddID0gdGhpcy5oYXNNb3JlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByZWZlcmVuY2VzIGltcGxlbWVudHMgaS5QcmVmZXJlbmNlc0ludGVyZmFjZSB7XG4gICAgdGltZXpvbmU6IFRpbWVab25lO1xuICAgIG1lZXRpbmdJbnRlZ3JhdGlvbjogZS5NZWV0aW5nU291cmNlO1xuICAgIGF2YWlsYWJpbGl0eUluY3JlbWVudDogbnVtYmVyO1xuICAgIGJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nOiBudW1iZXI7XG4gICAgbm90aWNlVGltZTogbnVtYmVyO1xuICAgIGNhbGVuZGFyU2x1Zzogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUHJlZmVyZW5jZXMge1xuICAgICAgICBsZXQgbSA9IG5ldyBQcmVmZXJlbmNlcygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by50aW1lem9uZSkge20udGltZXpvbmUgPSBUaW1lWm9uZS5mcm9tUHJvdG8ocHJvdG8udGltZXpvbmUpO31cbiAgICAgICAgaWYgKHByb3RvLm1lZXRpbmdJbnRlZ3JhdGlvbikge20ubWVldGluZ0ludGVncmF0aW9uID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5NZWV0aW5nU291cmNlPihlLk1lZXRpbmdTb3VyY2UsIHByb3RvLm1lZXRpbmdJbnRlZ3JhdGlvbik7fVxuICAgICAgICBpZiAocHJvdG8uYXZhaWxhYmlsaXR5SW5jcmVtZW50KSB7bS5hdmFpbGFiaWxpdHlJbmNyZW1lbnQgPSBwYXJzZUludChwcm90by5hdmFpbGFiaWxpdHlJbmNyZW1lbnQsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by5idWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZykge20uYnVmZmVyRHVyYXRpb25BZnRlck1lZXRpbmcgPSBwYXJzZUludChwcm90by5idWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZywgMTApO31cbiAgICAgICAgaWYgKHByb3RvLm5vdGljZVRpbWUpIHttLm5vdGljZVRpbWUgPSBwYXJzZUludChwcm90by5ub3RpY2VUaW1lLCAxMCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlByZWZlcmVuY2VzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGltZXpvbmUgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudGltZXpvbmUgIT09IG51bGwpIHt0b1JldHVyblsndGltZXpvbmUnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudGltZXpvbmUgPyAodGhpcy50aW1lem9uZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy50aW1lem9uZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZWV0aW5nSW50ZWdyYXRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lZXRpbmdJbnRlZ3JhdGlvbiddID0gdGhpcy5tZWV0aW5nSW50ZWdyYXRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXZhaWxhYmlsaXR5SW5jcmVtZW50ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdmFpbGFiaWxpdHlJbmNyZW1lbnQnXSA9IHRoaXMuYXZhaWxhYmlsaXR5SW5jcmVtZW50O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydidWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZyddID0gdGhpcy5idWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5ub3RpY2VUaW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydub3RpY2VUaW1lJ10gPSB0aGlzLm5vdGljZVRpbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2FsZW5kYXJTbHVnICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjYWxlbmRhclNsdWcnXSA9IHRoaXMuY2FsZW5kYXJTbHVnO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRpbWVSYW5nZSBpbXBsZW1lbnRzIGkuVGltZVJhbmdlSW50ZXJmYWNlIHtcbiAgICBmcm9tOiBUaW1lT2ZEYXk7XG4gICAgdG86IFRpbWVPZkRheTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRpbWVSYW5nZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFRpbWVSYW5nZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5mcm9tKSB7bS5mcm9tID0gVGltZU9mRGF5LmZyb21Qcm90byhwcm90by5mcm9tKTt9XG4gICAgICAgIGlmIChwcm90by50bykge20udG8gPSBUaW1lT2ZEYXkuZnJvbVByb3RvKHByb3RvLnRvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVGltZVJhbmdlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZnJvbSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5mcm9tICE9PSBudWxsKSB7dG9SZXR1cm5bJ2Zyb20nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZnJvbSA/ICh0aGlzLmZyb20gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZnJvbTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50byAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50byAhPT0gbnVsbCkge3RvUmV0dXJuWyd0byddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50byA/ICh0aGlzLnRvIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRvO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export function enumStringToValue(enumRef, value) {
|
|
2
|
-
if (typeof value === 'number') {
|
|
3
|
-
return value;
|
|
4
|
-
}
|
|
5
|
-
return enumRef[value];
|
|
6
|
-
}
|
|
7
|
-
export class TimeOfDay {
|
|
8
|
-
constructor(kwargs) {
|
|
9
|
-
if (!kwargs) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
Object.assign(this, kwargs);
|
|
13
|
-
}
|
|
14
|
-
static fromProto(proto) {
|
|
15
|
-
let m = new TimeOfDay();
|
|
16
|
-
m = Object.assign(m, proto);
|
|
17
|
-
return m;
|
|
18
|
-
}
|
|
19
|
-
toApiJson() {
|
|
20
|
-
const toReturn = {};
|
|
21
|
-
if (typeof this.hours !== 'undefined') {
|
|
22
|
-
toReturn['hours'] = this.hours;
|
|
23
|
-
}
|
|
24
|
-
if (typeof this.minutes !== 'undefined') {
|
|
25
|
-
toReturn['minutes'] = this.minutes;
|
|
26
|
-
}
|
|
27
|
-
if (typeof this.seconds !== 'undefined') {
|
|
28
|
-
toReturn['seconds'] = this.seconds;
|
|
29
|
-
}
|
|
30
|
-
if (typeof this.nanos !== 'undefined') {
|
|
31
|
-
toReturn['nanos'] = this.nanos;
|
|
32
|
-
}
|
|
33
|
-
return toReturn;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW9mZGF5LmpzIiwic291cmNlUm9vdCI6Ii9jb2RlZnJlc2gvdm9sdW1lL21lZXRpbmdzL3Nka3MvdHlwZXNjcmlwdC9zcmMvbWVldGluZ3Nfc2RrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9faW50ZXJuYWwvb2JqZWN0cy90aW1lb2ZkYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxVQUFVLGlCQUFpQixDQUFJLE9BQVksRUFBRSxLQUFhO0lBQzlELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxPQUFPLFNBQVM7SUFZbEIsWUFBWSxNQUE2QjtRQUNyQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQVhELE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3hCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFTRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBQztRQUN4RSxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUFDO1FBQzlFLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQUM7UUFDOUUsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBQztRQUN4RSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIFRpbWVPZkRheSBpbXBsZW1lbnRzIGkuVGltZU9mRGF5SW50ZXJmYWNlIHtcbiAgICBob3VyczogbnVtYmVyO1xuICAgIG1pbnV0ZXM6IG51bWJlcjtcbiAgICBzZWNvbmRzOiBudW1iZXI7XG4gICAgbmFub3M6IG51bWJlcjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRpbWVPZkRheSB7XG4gICAgICAgIGxldCBtID0gbmV3IFRpbWVPZkRheSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVGltZU9mRGF5SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaG91cnMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2hvdXJzJ10gPSB0aGlzLmhvdXJzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1pbnV0ZXMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21pbnV0ZXMnXSA9IHRoaXMubWludXRlczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zZWNvbmRzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzZWNvbmRzJ10gPSB0aGlzLnNlY29uZHM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFub3MgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25hbm9zJ10gPSB0aGlzLm5hbm9zO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
|