@veloceapps/sdk 3.1.22 → 3.1.24
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/bundles/veloce-sdk-core.umd.js +26 -0
- package/bundles/veloce-sdk-core.umd.js.map +1 -1
- package/cms/vendor-map.d.ts +124 -116
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +2 -0
- package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +19 -1
- package/esm2015/core/utils/line-item.utils.js +3 -1
- package/fesm2015/veloce-sdk-core.js +19 -0
- package/fesm2015/veloce-sdk-core.js.map +1 -1
- package/package.json +1 -1
package/cms/vendor-map.d.ts
CHANGED
@@ -259,8 +259,8 @@ export declare const vendorMap: {
|
|
259
259
|
forEachRight<TString_1 extends string | null | undefined>(collection: TString_1, iteratee?: lodash.StringIterator<any> | undefined): TString_1;
|
260
260
|
forEachRight<T_95, TList_2 extends lodash.List<T_95> | null | undefined>(collection: TList_2 & (lodash.List<T_95> | null | undefined), iteratee?: lodash.ListIterator<T_95, any> | undefined): TList_2;
|
261
261
|
forEachRight<T_96 extends object>(collection: T_96 | null | undefined, iteratee?: lodash.ObjectIterator<T_96, any> | undefined): T_96 | null | undefined;
|
262
|
-
groupBy<T_120>(collection: lodash.List<T_120> | null | undefined, iteratee?: lodash.ValueIteratee<T_120> | undefined): lodash.Dictionary<
|
263
|
-
groupBy<T_121 extends object>(collection: T_121 | null | undefined, iteratee?: lodash.ValueIteratee<T_121[keyof T_121]> | undefined): lodash.Dictionary<
|
262
|
+
groupBy<T_120>(collection: lodash.List<T_120> | null | undefined, iteratee?: lodash.ValueIteratee<T_120> | undefined): lodash.Dictionary<T_120[]>;
|
263
|
+
groupBy<T_121 extends object>(collection: T_121 | null | undefined, iteratee?: lodash.ValueIteratee<T_121[keyof T_121]> | undefined): lodash.Dictionary<T_121[keyof T_121][]>;
|
264
264
|
includes<T_122>(collection: lodash.Dictionary<T_122> | lodash.NumericDictionary<T_122> | null | undefined, target: T_122, fromIndex?: number | undefined): boolean;
|
265
265
|
invokeMap(collection: object | null | undefined, methodName: string, ...args: any[]): any[];
|
266
266
|
invokeMap<TResult_13>(collection: object | null | undefined, method: (...args: any[]) => TResult_13, ...args: any[]): TResult_13[];
|
@@ -314,51 +314,52 @@ export declare const vendorMap: {
|
|
314
314
|
bindKey: lodash.FunctionBindKey;
|
315
315
|
curry: lodash.Curry;
|
316
316
|
curryRight: lodash.CurryRight;
|
317
|
-
debounce<T_163 extends (...args: any) => any>(func: T_163, wait
|
317
|
+
debounce<T_163 extends (...args: any) => any>(func: T_163, wait: number | undefined, options: lodash.DebounceSettingsLeading): lodash.DebouncedFuncLeading<T_163>;
|
318
|
+
debounce<T_164 extends (...args: any) => any>(func: T_164, wait?: number | undefined, options?: lodash.DebounceSettings | undefined): lodash.DebouncedFunc<T_164>;
|
318
319
|
defer(func: (...args: any[]) => any, ...args: any[]): number;
|
319
320
|
delay(func: (...args: any[]) => any, wait: number, ...args: any[]): number;
|
320
|
-
flip<
|
321
|
+
flip<T_165 extends (...args: any) => any>(func: T_165): T_165;
|
321
322
|
memoize: {
|
322
|
-
<
|
323
|
+
<T_166 extends (...args: any) => any>(func: T_166, resolver?: ((...args: Parameters<T_166>) => any) | undefined): T_166 & lodash.MemoizedFunction;
|
323
324
|
Cache: lodash.MapCacheConstructor;
|
324
325
|
};
|
325
|
-
negate<
|
326
|
-
once<
|
326
|
+
negate<T_167 extends any[]>(predicate: (...args: T_167) => boolean): (...args: T_167) => boolean;
|
327
|
+
once<T_168 extends (...args: any) => any>(func: T_168): T_168;
|
327
328
|
overArgs(func: (...args: any[]) => any, ...transforms: lodash.Many<(...args: any[]) => any>[]): (...args: any[]) => any;
|
328
329
|
partial: lodash.Partial;
|
329
330
|
partialRight: lodash.PartialRight;
|
330
331
|
rearg(func: (...args: any[]) => any, ...indexes: lodash.Many<number>[]): (...args: any[]) => any;
|
331
332
|
rest(func: (...args: any[]) => any, start?: number | undefined): (...args: any[]) => any;
|
332
333
|
spread<TResult_23>(func: (...args: any[]) => TResult_23, start?: number | undefined): (...args: any[]) => TResult_23;
|
333
|
-
throttle<
|
334
|
-
unary<
|
335
|
-
wrap<
|
336
|
-
castArray<
|
337
|
-
clone<
|
338
|
-
cloneDeep<
|
339
|
-
cloneDeepWith<
|
340
|
-
cloneDeepWith<
|
341
|
-
cloneWith<
|
342
|
-
cloneWith<
|
343
|
-
cloneWith<
|
344
|
-
conformsTo<
|
334
|
+
throttle<T_169 extends (...args: any) => any>(func: T_169, wait?: number | undefined, options?: lodash.ThrottleSettings | undefined): lodash.DebouncedFunc<T_169>;
|
335
|
+
unary<T_170, TResult_24>(func: (arg1: T_170, ...args: any[]) => TResult_24): (arg1: T_170) => TResult_24;
|
336
|
+
wrap<T_171, TArgs, TResult_25>(value: T_171, wrapper: (value: T_171, ...args: TArgs[]) => TResult_25): (...args: TArgs[]) => TResult_25;
|
337
|
+
castArray<T_172>(value?: lodash.Many<T_172> | undefined): T_172[];
|
338
|
+
clone<T_173>(value: T_173): T_173;
|
339
|
+
cloneDeep<T_174>(value: T_174): T_174;
|
340
|
+
cloneDeepWith<T_175>(value: T_175, customizer: lodash.CloneDeepWithCustomizer<T_175>): any;
|
341
|
+
cloneDeepWith<T_176>(value: T_176): T_176;
|
342
|
+
cloneWith<T_177, TResult_26 extends string | number | boolean | object | null>(value: T_177, customizer: lodash.CloneWithCustomizer<T_177, TResult_26>): TResult_26;
|
343
|
+
cloneWith<T_178, TResult_27>(value: T_178, customizer: lodash.CloneWithCustomizer<T_178, TResult_27 | undefined>): T_178 | TResult_27;
|
344
|
+
cloneWith<T_179>(value: T_179): T_179;
|
345
|
+
conformsTo<T_180>(object: T_180, source: lodash.ConformsPredicateObject<T_180>): boolean;
|
345
346
|
eq(value: any, other: any): boolean;
|
346
347
|
gt(value: any, other: any): boolean;
|
347
348
|
gte(value: any, other: any): boolean;
|
348
349
|
isArguments(value?: any): value is IArguments;
|
349
350
|
isArray(value?: any): value is any[];
|
350
|
-
isArray<
|
351
|
+
isArray<T_181>(value?: any): value is any[];
|
351
352
|
isArrayBuffer(value?: any): value is ArrayBuffer;
|
352
|
-
isArrayLike<
|
353
|
+
isArrayLike<T_182 extends {
|
353
354
|
__lodashAnyHack: any;
|
354
|
-
}>(t:
|
355
|
+
}>(t: T_182): boolean;
|
355
356
|
isArrayLike(value: ((...args: any[]) => any) | null | undefined): value is never;
|
356
357
|
isArrayLike(value: any): value is {
|
357
358
|
length: number;
|
358
359
|
};
|
359
|
-
isArrayLikeObject<
|
360
|
+
isArrayLikeObject<T_183 extends {
|
360
361
|
__lodashAnyHack: any;
|
361
|
-
}>(value:
|
362
|
+
}>(value: T_183): boolean;
|
362
363
|
isArrayLikeObject(value: string | number | boolean | Function | ((...args: any[]) => any) | null | undefined): value is never;
|
363
364
|
isArrayLikeObject(value: any): value is object & {
|
364
365
|
length: number;
|
@@ -367,6 +368,12 @@ export declare const vendorMap: {
|
|
367
368
|
isBuffer(value?: any): boolean;
|
368
369
|
isDate(value?: any): value is Date;
|
369
370
|
isElement(value?: any): boolean;
|
371
|
+
isEmpty<T_184 extends {
|
372
|
+
__trapAny: any;
|
373
|
+
}>(value?: T_184 | undefined): boolean;
|
374
|
+
isEmpty(value: string): value is "";
|
375
|
+
isEmpty(value: lodash.List<any> | Map<any, any> | Set<any> | null | undefined): boolean;
|
376
|
+
isEmpty<T_185 extends object>(value: T_185 | null | undefined): value is lodash.EmptyObjectOf<T_185> | null | undefined;
|
370
377
|
isEmpty(value?: any): boolean;
|
371
378
|
isEqual(value: any, other: any): boolean;
|
372
379
|
isEqualWith(value: any, other: any, customizer?: lodash.IsEqualCustomizer | undefined): boolean;
|
@@ -397,8 +404,8 @@ export declare const vendorMap: {
|
|
397
404
|
isWeakSet(value?: any): value is WeakSet<object>;
|
398
405
|
lt(value: any, other: any): boolean;
|
399
406
|
lte(value: any, other: any): boolean;
|
400
|
-
toArray<
|
401
|
-
toArray<
|
407
|
+
toArray<T_186>(value: lodash.Dictionary<T_186> | lodash.NumericDictionary<T_186> | null | undefined): T_186[];
|
408
|
+
toArray<T_187>(value: T_187): T_187[keyof T_187][];
|
402
409
|
toArray(): any[];
|
403
410
|
toFinite(value: any): number;
|
404
411
|
toInteger(value: any): number;
|
@@ -411,17 +418,17 @@ export declare const vendorMap: {
|
|
411
418
|
ceil(n: number, precision?: number | undefined): number;
|
412
419
|
divide(dividend: number, divisor: number): number;
|
413
420
|
floor(n: number, precision?: number | undefined): number;
|
414
|
-
max<
|
415
|
-
maxBy<
|
421
|
+
max<T_188>(collection: lodash.List<T_188> | null | undefined): T_188 | undefined;
|
422
|
+
maxBy<T_189>(collection: lodash.List<T_189> | null | undefined, iteratee?: lodash.ValueIteratee<T_189> | undefined): T_189 | undefined;
|
416
423
|
mean(collection: lodash.List<any> | null | undefined): number;
|
417
|
-
meanBy<
|
418
|
-
min<
|
419
|
-
minBy<
|
424
|
+
meanBy<T_190>(collection: lodash.List<T_190> | null | undefined, iteratee?: lodash.ValueIteratee<T_190> | undefined): number;
|
425
|
+
min<T_191>(collection: lodash.List<T_191> | null | undefined): T_191 | undefined;
|
426
|
+
minBy<T_192>(collection: lodash.List<T_192> | null | undefined, iteratee?: lodash.ValueIteratee<T_192> | undefined): T_192 | undefined;
|
420
427
|
multiply(multiplier: number, multiplicand: number): number;
|
421
428
|
round(n: number, precision?: number | undefined): number;
|
422
429
|
subtract(minuend: number, subtrahend: number): number;
|
423
430
|
sum(collection: lodash.List<any> | null | undefined): number;
|
424
|
-
sumBy<
|
431
|
+
sumBy<T_193>(collection: lodash.List<T_193> | null | undefined, iteratee?: string | ((value: T_193) => number) | undefined): number;
|
425
432
|
clamp(number: number, lower: number, upper: number): number;
|
426
433
|
clamp(number: number, upper: number): number;
|
427
434
|
inRange(n: number, start: number, end?: number | undefined): boolean;
|
@@ -453,9 +460,9 @@ export declare const vendorMap: {
|
|
453
460
|
assignWith<TObject_18, TSource1_11, TSource2_11, TSource3_7, TSource4_3>(object: TObject_18, source1: TSource1_11, source2: TSource2_11, source3: TSource3_7, source4: TSource4_3, customizer: lodash.AssignCustomizer): TObject_18 & TSource1_11 & TSource2_11 & TSource3_7 & TSource4_3;
|
454
461
|
assignWith<TObject_19>(object: TObject_19): TObject_19;
|
455
462
|
assignWith<TResult_30>(object: any, ...otherArgs: any[]): TResult_30;
|
456
|
-
at<
|
457
|
-
at<
|
458
|
-
create<
|
463
|
+
at<T_194>(object: lodash.Dictionary<T_194> | lodash.NumericDictionary<T_194> | null | undefined, ...props: lodash.PropertyPath[]): T_194[];
|
464
|
+
at<T_195 extends object>(object: T_195 | null | undefined, ...props: lodash.Many<keyof T_195>[]): T_195[keyof T_195][];
|
465
|
+
create<T_196 extends object, U_3 extends object>(prototype: T_196, properties?: U_3 | undefined): T_196 & U_3;
|
459
466
|
defaults<TObject_20, TSource_4>(object: TObject_20, source: TSource_4): NonNullable<TSource_4 & TObject_20>;
|
460
467
|
defaults<TObject_21, TSource1_12, TSource2_12>(object: TObject_21, source1: TSource1_12, source2: TSource2_12): NonNullable<TSource2_12 & TSource1_12 & TObject_21>;
|
461
468
|
defaults<TObject_22, TSource1_13, TSource2_13, TSource3_8>(object: TObject_22, source1: TSource1_13, source2: TSource2_13, source3: TSource3_8): NonNullable<TSource3_8 & TSource2_13 & TSource1_13 & TObject_22>;
|
@@ -463,9 +470,9 @@ export declare const vendorMap: {
|
|
463
470
|
defaults<TObject_24>(object: TObject_24): NonNullable<TObject_24>;
|
464
471
|
defaults(object: any, ...sources: any[]): any;
|
465
472
|
defaultsDeep(object: any, ...sources: any[]): any;
|
466
|
-
entries<
|
473
|
+
entries<T_197>(object?: lodash.Dictionary<T_197> | lodash.NumericDictionary<T_197> | undefined): [string, T_197][];
|
467
474
|
entries(object?: object | undefined): [string, any][];
|
468
|
-
entriesIn<
|
475
|
+
entriesIn<T_198>(object?: lodash.Dictionary<T_198> | lodash.NumericDictionary<T_198> | undefined): [string, T_198][];
|
469
476
|
entriesIn(object?: object | undefined): [string, any][];
|
470
477
|
extend<TObject_25, TSource_5>(object: TObject_25, source: TSource_5): TObject_25 & TSource_5;
|
471
478
|
extend<TObject_26, TSource1_15, TSource2_15>(object: TObject_26, source1: TSource1_15, source2: TSource2_15): TObject_26 & TSource1_15 & TSource2_15;
|
@@ -479,18 +486,18 @@ export declare const vendorMap: {
|
|
479
486
|
extendWith<TObject_33, TSource1_20, TSource2_20, TSource3_13, TSource4_6>(object: TObject_33, source1: TSource1_20, source2: TSource2_20, source3: TSource3_13, source4: TSource4_6, customizer: lodash.AssignCustomizer): TObject_33 & TSource1_20 & TSource2_20 & TSource3_13 & TSource4_6;
|
480
487
|
extendWith<TObject_34>(object: TObject_34): TObject_34;
|
481
488
|
extendWith<TResult_32>(object: any, ...otherArgs: any[]): TResult_32;
|
482
|
-
findKey<
|
483
|
-
findLastKey<
|
484
|
-
forIn<
|
485
|
-
forIn<
|
486
|
-
forInRight<
|
487
|
-
forInRight<
|
488
|
-
forOwn<
|
489
|
-
forOwn<
|
490
|
-
forOwnRight<
|
491
|
-
forOwnRight<
|
489
|
+
findKey<T_199>(object: T_199 | null | undefined, predicate?: lodash.ObjectIteratee<T_199> | undefined): string | undefined;
|
490
|
+
findLastKey<T_200>(object: T_200 | null | undefined, predicate?: lodash.ObjectIteratee<T_200> | undefined): string | undefined;
|
491
|
+
forIn<T_201>(object: T_201, iteratee?: lodash.ObjectIterator<T_201, any> | undefined): T_201;
|
492
|
+
forIn<T_202>(object: T_202 | null | undefined, iteratee?: lodash.ObjectIterator<T_202, any> | undefined): T_202 | null | undefined;
|
493
|
+
forInRight<T_203>(object: T_203, iteratee?: lodash.ObjectIterator<T_203, any> | undefined): T_203;
|
494
|
+
forInRight<T_204>(object: T_204 | null | undefined, iteratee?: lodash.ObjectIterator<T_204, any> | undefined): T_204 | null | undefined;
|
495
|
+
forOwn<T_205>(object: T_205, iteratee?: lodash.ObjectIterator<T_205, any> | undefined): T_205;
|
496
|
+
forOwn<T_206>(object: T_206 | null | undefined, iteratee?: lodash.ObjectIterator<T_206, any> | undefined): T_206 | null | undefined;
|
497
|
+
forOwnRight<T_207>(object: T_207, iteratee?: lodash.ObjectIterator<T_207, any> | undefined): T_207;
|
498
|
+
forOwnRight<T_208>(object: T_208 | null | undefined, iteratee?: lodash.ObjectIterator<T_208, any> | undefined): T_208 | null | undefined;
|
492
499
|
functions(object: any): string[];
|
493
|
-
functionsIn<
|
500
|
+
functionsIn<T_209 extends {}>(object: any): string[];
|
494
501
|
get<TObject_35 extends object, TKey extends keyof TObject_35>(object: TObject_35, path: TKey | [TKey]): TObject_35[TKey];
|
495
502
|
get<TObject_36 extends object, TKey_1 extends keyof TObject_36>(object: TObject_36 | null | undefined, path: TKey_1 | [TKey_1]): TObject_36[TKey_1] | undefined;
|
496
503
|
get<TObject_37 extends object, TKey_2 extends keyof TObject_37, TDefault>(object: TObject_37 | null | undefined, path: TKey_2 | [TKey_2], defaultValue: TDefault): TDefault | Exclude<TObject_37[TKey_2], undefined>;
|
@@ -503,33 +510,33 @@ export declare const vendorMap: {
|
|
503
510
|
get<TObject_44 extends object, TKey1_6 extends keyof TObject_44, TKey2_6 extends keyof TObject_44[TKey1_6], TKey3_3 extends keyof TObject_44[TKey1_6][TKey2_6], TKey4 extends keyof TObject_44[TKey1_6][TKey2_6][TKey3_3]>(object: TObject_44, path: [TKey1_6, TKey2_6, TKey3_3, TKey4]): TObject_44[TKey1_6][TKey2_6][TKey3_3][TKey4];
|
504
511
|
get<TObject_45 extends object, TKey1_7 extends keyof TObject_45, TKey2_7 extends keyof TObject_45[TKey1_7], TKey3_4 extends keyof TObject_45[TKey1_7][TKey2_7], TKey4_1 extends keyof TObject_45[TKey1_7][TKey2_7][TKey3_4]>(object: TObject_45 | null | undefined, path: [TKey1_7, TKey2_7, TKey3_4, TKey4_1]): TObject_45[TKey1_7][TKey2_7][TKey3_4][TKey4_1] | undefined;
|
505
512
|
get<TObject_46 extends object, TKey1_8 extends keyof TObject_46, TKey2_8 extends keyof TObject_46[TKey1_8], TKey3_5 extends keyof TObject_46[TKey1_8][TKey2_8], TKey4_2 extends keyof TObject_46[TKey1_8][TKey2_8][TKey3_5], TDefault_3>(object: TObject_46 | null | undefined, path: [TKey1_8, TKey2_8, TKey3_5, TKey4_2], defaultValue: TDefault_3): TDefault_3 | Exclude<TObject_46[TKey1_8][TKey2_8][TKey3_5][TKey4_2], undefined>;
|
506
|
-
get<
|
507
|
-
get<
|
508
|
-
get<
|
513
|
+
get<T_210>(object: lodash.NumericDictionary<T_210>, path: number): T_210;
|
514
|
+
get<T_211>(object: lodash.NumericDictionary<T_211> | null | undefined, path: number): T_211 | undefined;
|
515
|
+
get<T_212, TDefault_4>(object: lodash.NumericDictionary<T_212> | null | undefined, path: number, defaultValue: TDefault_4): T_212 | TDefault_4;
|
509
516
|
get<TDefault_5>(object: null | undefined, path: lodash.PropertyPath, defaultValue: TDefault_5): TDefault_5;
|
510
517
|
get(object: null | undefined, path: lodash.PropertyPath): undefined;
|
511
518
|
get(object: any, path: lodash.PropertyPath, defaultValue?: any): any;
|
512
|
-
has<
|
513
|
-
hasIn<
|
519
|
+
has<T_213>(object: T_213, path: lodash.PropertyPath): boolean;
|
520
|
+
hasIn<T_214>(object: T_214, path: lodash.PropertyPath): boolean;
|
514
521
|
invert(object: object): lodash.Dictionary<string>;
|
515
|
-
invertBy<
|
516
|
-
invertBy<
|
522
|
+
invertBy<T_215>(object: lodash.Dictionary<T_215> | lodash.NumericDictionary<T_215> | null | undefined, interatee?: lodash.ValueIteratee<T_215> | undefined): lodash.Dictionary<string[]>;
|
523
|
+
invertBy<T_216 extends object>(object: T_216 | null | undefined, interatee?: lodash.ValueIteratee<T_216[keyof T_216]> | undefined): lodash.Dictionary<string[]>;
|
517
524
|
invoke(object: any, path: lodash.PropertyPath, ...args: any[]): any;
|
518
525
|
keys(object?: any): string[];
|
519
526
|
keysIn(object?: any): string[];
|
520
|
-
mapKeys<
|
521
|
-
mapKeys<
|
527
|
+
mapKeys<T_217>(object: lodash.List<T_217> | null | undefined, iteratee?: lodash.ListIteratee<T_217> | undefined): lodash.Dictionary<T_217>;
|
528
|
+
mapKeys<T_218 extends object>(object: T_218 | null | undefined, iteratee?: lodash.ObjectIteratee<T_218> | undefined): lodash.Dictionary<T_218[keyof T_218]>;
|
522
529
|
mapValues<TResult_33>(obj: string | null | undefined, callback: lodash.StringIterator<TResult_33>): lodash.NumericDictionary<TResult_33>;
|
523
|
-
mapValues<
|
524
|
-
mapValues<
|
525
|
-
mapValues<
|
526
|
-
mapValues<
|
527
|
-
mapValues<
|
528
|
-
mapValues<
|
530
|
+
mapValues<T_219 extends object, TResult_34>(obj: T_219 | null | undefined, callback: lodash.ObjectIterator<T_219, TResult_34>): { [P in keyof T_219]: TResult_34; };
|
531
|
+
mapValues<T_220>(obj: lodash.Dictionary<T_220> | lodash.NumericDictionary<T_220> | null | undefined, iteratee: object): lodash.Dictionary<boolean>;
|
532
|
+
mapValues<T_221 extends object>(obj: T_221 | null | undefined, iteratee: object): { [P_1 in keyof T_221]: boolean; };
|
533
|
+
mapValues<T_222, TKey_3 extends keyof T_222>(obj: lodash.Dictionary<T_222> | lodash.NumericDictionary<T_222> | null | undefined, iteratee: TKey_3): lodash.Dictionary<T_222[TKey_3]>;
|
534
|
+
mapValues<T_223>(obj: lodash.Dictionary<T_223> | lodash.NumericDictionary<T_223> | null | undefined, iteratee: string): lodash.Dictionary<any>;
|
535
|
+
mapValues<T_224 extends object>(obj: T_224 | null | undefined, iteratee: string): { [P_2 in keyof T_224]: any; };
|
529
536
|
mapValues(obj: string | null | undefined): lodash.NumericDictionary<string>;
|
530
|
-
mapValues<
|
531
|
-
mapValues<
|
532
|
-
mapValues<
|
537
|
+
mapValues<T_225>(obj: lodash.Dictionary<T_225> | lodash.NumericDictionary<T_225> | null | undefined): lodash.Dictionary<T_225>;
|
538
|
+
mapValues<T_226 extends object>(obj: T_226): T_226;
|
539
|
+
mapValues<T_227 extends object>(obj: T_227 | null | undefined): Partial<T_227>;
|
533
540
|
merge<TObject_47, TSource_7>(object: TObject_47, source: TSource_7): TObject_47 & TSource_7;
|
534
541
|
merge<TObject_48, TSource1_21, TSource2_21>(object: TObject_48, source1: TSource1_21, source2: TSource2_21): TObject_48 & TSource1_21 & TSource2_21;
|
535
542
|
merge<TObject_49, TSource1_22, TSource2_22, TSource3_14>(object: TObject_49, source1: TSource1_22, source2: TSource2_22, source3: TSource3_14): TObject_49 & TSource1_22 & TSource2_22 & TSource3_14;
|
@@ -540,54 +547,54 @@ export declare const vendorMap: {
|
|
540
547
|
mergeWith<TObject_53, TSource1_25, TSource2_25, TSource3_16>(object: TObject_53, source1: TSource1_25, source2: TSource2_25, source3: TSource3_16, customizer: (value: any, srcValue: any, key: string, object: any, source: any) => any): TObject_53 & TSource1_25 & TSource2_25 & TSource3_16;
|
541
548
|
mergeWith<TObject_54, TSource1_26, TSource2_26, TSource3_17, TSource4_8>(object: TObject_54, source1: TSource1_26, source2: TSource2_26, source3: TSource3_17, source4: TSource4_8, customizer: (value: any, srcValue: any, key: string, object: any, source: any) => any): TObject_54 & TSource1_26 & TSource2_26 & TSource3_17 & TSource4_8;
|
542
549
|
mergeWith(object: any, ...otherArgs: any[]): any;
|
543
|
-
omit<
|
544
|
-
omit<
|
545
|
-
omit<
|
546
|
-
omitBy<
|
547
|
-
omitBy<
|
548
|
-
omitBy<
|
549
|
-
pick<
|
550
|
-
pick<
|
551
|
-
pickBy<
|
552
|
-
pickBy<
|
553
|
-
pickBy<
|
554
|
-
pickBy<
|
555
|
-
pickBy<
|
550
|
+
omit<T_228 extends object, K_1 extends lodash.PropertyName[]>(object: T_228 | null | undefined, ...paths: K_1): Pick<T_228, Exclude<keyof T_228, K_1[number]>>;
|
551
|
+
omit<T_229 extends object, K_2 extends keyof T_229>(object: T_229 | null | undefined, ...paths: lodash.Many<K_2>[]): lodash.Omit<T_229, K_2>;
|
552
|
+
omit<T_230 extends object>(object: T_230 | null | undefined, ...paths: lodash.Many<lodash.PropertyName>[]): Partial<T_230>;
|
553
|
+
omitBy<T_231>(object: lodash.Dictionary<T_231> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_231> | undefined): lodash.Dictionary<T_231>;
|
554
|
+
omitBy<T_232>(object: lodash.NumericDictionary<T_232> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_232> | undefined): lodash.NumericDictionary<T_232>;
|
555
|
+
omitBy<T_233 extends object>(object: T_233 | null | undefined, predicate: lodash.ValueKeyIteratee<T_233[keyof T_233]>): Partial<T_233>;
|
556
|
+
pick<T_234 extends object, U_4 extends keyof T_234>(object: T_234, ...props: lodash.Many<U_4>[]): Pick<T_234, U_4>;
|
557
|
+
pick<T_235>(object: T_235 | null | undefined, ...props: lodash.PropertyPath[]): Partial<T_235>;
|
558
|
+
pickBy<T_236, S_6 extends T_236>(object: lodash.Dictionary<T_236> | null | undefined, predicate: lodash.ValueKeyIterateeTypeGuard<T_236, S_6>): lodash.Dictionary<S_6>;
|
559
|
+
pickBy<T_237, S_7 extends T_237>(object: lodash.NumericDictionary<T_237> | null | undefined, predicate: lodash.ValueKeyIterateeTypeGuard<T_237, S_7>): lodash.NumericDictionary<S_7>;
|
560
|
+
pickBy<T_238>(object: lodash.Dictionary<T_238> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_238> | undefined): lodash.Dictionary<T_238>;
|
561
|
+
pickBy<T_239>(object: lodash.NumericDictionary<T_239> | null | undefined, predicate?: lodash.ValueKeyIteratee<T_239> | undefined): lodash.NumericDictionary<T_239>;
|
562
|
+
pickBy<T_240 extends object>(object: T_240 | null | undefined, predicate?: lodash.ValueKeyIteratee<T_240[keyof T_240]> | undefined): Partial<T_240>;
|
556
563
|
result<TResult_35>(object: any, path: lodash.PropertyPath, defaultValue?: TResult_35 | ((...args: any[]) => TResult_35) | undefined): TResult_35;
|
557
|
-
set<
|
564
|
+
set<T_241 extends object>(object: T_241, path: lodash.PropertyPath, value: any): T_241;
|
558
565
|
set<TResult_36>(object: object, path: lodash.PropertyPath, value: any): TResult_36;
|
559
|
-
setWith<
|
560
|
-
setWith<
|
561
|
-
toPairs<
|
566
|
+
setWith<T_242 extends object>(object: T_242, path: lodash.PropertyPath, value: any, customizer?: lodash.SetWithCustomizer<T_242> | undefined): T_242;
|
567
|
+
setWith<T_243 extends object, TResult_37>(object: T_243, path: lodash.PropertyPath, value: any, customizer?: lodash.SetWithCustomizer<T_243> | undefined): TResult_37;
|
568
|
+
toPairs<T_244>(object?: lodash.Dictionary<T_244> | lodash.NumericDictionary<T_244> | undefined): [string, T_244][];
|
562
569
|
toPairs(object?: object | undefined): [string, any][];
|
563
|
-
toPairsIn<
|
570
|
+
toPairsIn<T_245>(object?: lodash.Dictionary<T_245> | lodash.NumericDictionary<T_245> | undefined): [string, T_245][];
|
564
571
|
toPairsIn(object?: object | undefined): [string, any][];
|
565
|
-
transform<
|
566
|
-
transform<
|
567
|
-
transform<
|
572
|
+
transform<T_246, TResult_38>(object: readonly T_246[], iteratee: lodash.MemoVoidArrayIterator<T_246, TResult_38>, accumulator?: TResult_38 | undefined): TResult_38;
|
573
|
+
transform<T_247, TResult_39>(object: lodash.Dictionary<T_247>, iteratee: lodash.MemoVoidDictionaryIterator<T_247, string, TResult_39>, accumulator?: TResult_39 | undefined): TResult_39;
|
574
|
+
transform<T_248 extends object, TResult_40>(object: T_248, iteratee: lodash.MemoVoidDictionaryIterator<T_248[keyof T_248], keyof T_248, TResult_40>, accumulator?: TResult_40 | undefined): TResult_40;
|
568
575
|
transform(object: any[]): any[];
|
569
576
|
transform(object: object): lodash.Dictionary<any>;
|
570
577
|
unset(object: any, path: lodash.PropertyPath): boolean;
|
571
578
|
update(object: object, path: lodash.PropertyPath, updater: (value: any) => any): any;
|
572
|
-
updateWith<
|
573
|
-
updateWith<
|
574
|
-
values<
|
575
|
-
values<
|
579
|
+
updateWith<T_249 extends object>(object: T_249, path: lodash.PropertyPath, updater: (oldValue: any) => any, customizer?: lodash.SetWithCustomizer<T_249> | undefined): T_249;
|
580
|
+
updateWith<T_250 extends object, TResult_41>(object: T_250, path: lodash.PropertyPath, updater: (oldValue: any) => any, customizer?: lodash.SetWithCustomizer<T_250> | undefined): TResult_41;
|
581
|
+
values<T_251>(object: lodash.Dictionary<T_251> | lodash.NumericDictionary<T_251> | lodash.List<T_251> | null | undefined): T_251[];
|
582
|
+
values<T_252 extends object>(object: T_252 | null | undefined): T_252[keyof T_252][];
|
576
583
|
values(object: any): any[];
|
577
|
-
valuesIn<
|
578
|
-
valuesIn<
|
584
|
+
valuesIn<T_253>(object: lodash.Dictionary<T_253> | lodash.NumericDictionary<T_253> | lodash.List<T_253> | null | undefined): T_253[];
|
585
|
+
valuesIn<T_254 extends object>(object: T_254 | null | undefined): T_254[keyof T_254][];
|
579
586
|
chain<TrapAny extends {
|
580
587
|
__lodashAnyHack: any;
|
581
588
|
}>(value: TrapAny): lodash.CollectionChain<any> & lodash.FunctionChain<any> & lodash.ObjectChain<any> & lodash.PrimitiveChain<any> & lodash.StringChain;
|
582
|
-
chain<
|
589
|
+
chain<T_255 extends null | undefined>(value: T_255): lodash.PrimitiveChain<T_255>;
|
583
590
|
chain(value: string): lodash.StringChain;
|
584
591
|
chain(value: string | null | undefined): lodash.StringNullableChain;
|
585
|
-
chain<
|
586
|
-
chain<
|
587
|
-
chain<
|
588
|
-
chain<
|
589
|
-
tap<
|
590
|
-
thru<
|
592
|
+
chain<T_256 extends (...args: any[]) => any>(value: T_256): lodash.FunctionChain<T_256>;
|
593
|
+
chain<T_257 = any>(value: lodash.List<T_257> | null | undefined): lodash.CollectionChain<T_257>;
|
594
|
+
chain<T_258 extends object>(value: T_258 | null | undefined): lodash.ObjectChain<T_258>;
|
595
|
+
chain<T_259>(value: T_259): lodash.PrimitiveChain<T_259>;
|
596
|
+
tap<T_260>(value: T_260, interceptor: (value: T_260) => void): T_260;
|
597
|
+
thru<T_261, TResult_42>(value: T_261, interceptor: (value: T_261) => TResult_42): TResult_42;
|
591
598
|
camelCase(string?: string | undefined): string;
|
592
599
|
capitalize(string?: string | undefined): string;
|
593
600
|
deburr(string?: string | undefined): string;
|
@@ -625,12 +632,13 @@ export declare const vendorMap: {
|
|
625
632
|
words(string?: string | undefined, pattern?: string | RegExp | undefined): string[];
|
626
633
|
words(string: string, index: string | number, guard: object): string[];
|
627
634
|
attempt<TResult_43>(func: (...args: any[]) => TResult_43, ...args: any[]): Error | TResult_43;
|
628
|
-
bindAll<
|
629
|
-
cond<
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
defaultTo<
|
635
|
+
bindAll<T_262>(object: T_262, ...methodNames: lodash.Many<string>[]): T_262;
|
636
|
+
cond<R>(pairs: lodash.CondPairNullary<R>[]): () => R;
|
637
|
+
cond<T_263, R_1>(pairs: lodash.CondPairUnary<T_263, R_1>[]): (Target: T_263) => R_1;
|
638
|
+
conforms<T_264>(source: lodash.ConformsPredicateObject<T_264>): (value: T_264) => boolean;
|
639
|
+
constant<T_265>(value: T_265): () => T_265;
|
640
|
+
defaultTo<T_266>(value: T_266 | null | undefined, defaultValue: T_266): T_266;
|
641
|
+
defaultTo<T_267, TDefault_6>(value: T_267 | null | undefined, defaultValue: TDefault_6): T_267 | TDefault_6;
|
634
642
|
flow<A extends any[], R1, R2, R3, R4, R5, R6, R7>(f1: (...args: A) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (...args: A) => R7;
|
635
643
|
flow<A_1 extends any[], R1_1, R2_1, R3_1, R4_1, R5_1, R6_1, R7_1>(f1: (...args: A_1) => R1_1, f2: (a: R1_1) => R2_1, f3: (a: R2_1) => R3_1, f4: (a: R3_1) => R4_1, f5: (a: R4_1) => R5_1, f6: (a: R5_1) => R6_1, f7: (a: R6_1) => R7_1, ...func: lodash.Many<(a: any) => any>[]): (...args: A_1) => any;
|
636
644
|
flow<A_2 extends any[], R1_2, R2_2, R3_2, R4_2, R5_2, R6_2>(f1: (...args: A_2) => R1_2, f2: (a: R1_2) => R2_2, f3: (a: R2_2) => R3_2, f4: (a: R3_2) => R4_2, f5: (a: R4_2) => R5_2, f6: (a: R5_2) => R6_2): (...args: A_2) => R6_2;
|
@@ -646,14 +654,14 @@ export declare const vendorMap: {
|
|
646
654
|
flowRight<A_11 extends any[], R1_11, R2_11, R3_10>(f3: (a: R2_11) => R3_10, f2: (a: R1_11) => R2_11, f1: (...args: A_11) => R1_11): (...args: A_11) => R3_10;
|
647
655
|
flowRight<A_12 extends any[], R1_12, R2_12>(f2: (a: R1_12) => R2_12, f1: (...args: A_12) => R1_12): (...args: A_12) => R2_12;
|
648
656
|
flowRight(...func: lodash.Many<(...args: any[]) => any>[]): (...args: any[]) => any;
|
649
|
-
identity<
|
657
|
+
identity<T_268>(value: T_268): T_268;
|
650
658
|
identity(): undefined;
|
651
659
|
iteratee<TFunction extends (...args: any[]) => any>(func: TFunction): TFunction;
|
652
660
|
iteratee(func: string | number | symbol | object): (...args: any[]) => any;
|
653
|
-
matches<
|
654
|
-
matches<
|
655
|
-
matchesProperty<
|
656
|
-
matchesProperty<
|
661
|
+
matches<T_269>(source: T_269): (value: any) => boolean;
|
662
|
+
matches<T_270, V>(source: T_270): (value: V) => boolean;
|
663
|
+
matchesProperty<T_271>(path: lodash.PropertyPath, srcValue: T_271): (value: any) => boolean;
|
664
|
+
matchesProperty<T_272, V_1>(path: lodash.PropertyPath, srcValue: T_272): (value: V_1) => boolean;
|
657
665
|
method(path: lodash.PropertyPath, ...args: any[]): (object: any) => any;
|
658
666
|
methodOf(object: object, ...args: any[]): (path: lodash.PropertyPath) => any;
|
659
667
|
mixin<TObject_55>(object: TObject_55, source: lodash.Dictionary<(...args: any[]) => any>, options?: lodash.MixinOptions | undefined): TObject_55;
|
@@ -662,12 +670,12 @@ export declare const vendorMap: {
|
|
662
670
|
noop(...args: any[]): void;
|
663
671
|
nthArg(n?: number | undefined): (...args: any[]) => any;
|
664
672
|
over<TResult_45>(...iteratees: lodash.Many<(...args: any[]) => TResult_45>[]): (...args: any[]) => TResult_45[];
|
665
|
-
overEvery<
|
666
|
-
overEvery<
|
667
|
-
overSome<
|
668
|
-
overSome<
|
673
|
+
overEvery<T_273, Result1 extends T_273, Result2 extends T_273>(predicates_0: (arg: T_273) => arg is Result1, predicates_1: (arg: T_273) => arg is Result2): (arg: T_273) => arg is Result1 & Result2;
|
674
|
+
overEvery<T_274>(...predicates: lodash.Many<(...args: T_274[]) => boolean>[]): (...args: T_274[]) => boolean;
|
675
|
+
overSome<T_275, Result1_1 extends T_275, Result2_1 extends T_275>(predicates_0: (arg: T_275) => arg is Result1_1, predicates_1: (arg: T_275) => arg is Result2_1): (arg: T_275) => arg is Result1_1 | Result2_1;
|
676
|
+
overSome<T_276>(...predicates: lodash.Many<(...args: T_276[]) => boolean>[]): (...args: T_276[]) => boolean;
|
669
677
|
property<TObj, TResult_46>(path: lodash.PropertyPath): (obj: TObj) => TResult_46;
|
670
|
-
propertyOf<
|
678
|
+
propertyOf<T_277 extends {}>(object: T_277): (path: lodash.PropertyPath) => any;
|
671
679
|
range(start: number, end?: number | undefined, step?: number | undefined): number[];
|
672
680
|
range(end: number, index: string | number, guard: object): number[];
|
673
681
|
rangeRight(start: number, end?: number | undefined, step?: number | undefined): number[];
|
@@ -18,6 +18,8 @@ export declare class FlowConfigurationService {
|
|
18
18
|
calculate(): void;
|
19
19
|
update$(updates: FlowUpdateParams[]): Observable<QuoteDraft | null>;
|
20
20
|
update(updates: FlowUpdateParams[]): void;
|
21
|
+
revert$(lineItemId: string): Observable<QuoteDraft | null>;
|
22
|
+
revert(lineItemId: string): void;
|
21
23
|
delete$(ids: string[]): Observable<QuoteDraft | null>;
|
22
24
|
delete(ids: string[]): void;
|
23
25
|
addTerm$(term: LineItem): Observable<QuoteDraft | null>;
|
@@ -35,6 +35,24 @@ export class FlowConfigurationService {
|
|
35
35
|
update(updates) {
|
36
36
|
this.update$(updates).subscribe();
|
37
37
|
}
|
38
|
+
revert$(lineItemId) {
|
39
|
+
const initialState = this.quoteDraftService.activeInitialState;
|
40
|
+
const currentState = this.quoteDraftService.activeCurrentState;
|
41
|
+
const currentLineItemIndex = currentState.findIndex(({ id }) => id === lineItemId);
|
42
|
+
const currentLineItem = currentState[currentLineItemIndex];
|
43
|
+
const initialLineItem = initialState.find(({ integrationId }) => integrationId === (currentLineItem === null || currentLineItem === void 0 ? void 0 : currentLineItem.integrationId));
|
44
|
+
if (!currentLineItem || !initialLineItem) {
|
45
|
+
return of(null);
|
46
|
+
}
|
47
|
+
const updatedState = cloneDeep(currentState);
|
48
|
+
updatedState.splice(currentLineItemIndex, 1, initialLineItem);
|
49
|
+
return of([]).pipe(tap(() => {
|
50
|
+
this.quoteDraftService.setCurrentLineItemState(updatedState);
|
51
|
+
}), switchMap(() => this.calculate$()), map(() => this.quoteDraftService.quoteDraft), this.handleErrorAndBounceBack(currentState));
|
52
|
+
}
|
53
|
+
revert(lineItemId) {
|
54
|
+
this.revert$(lineItemId).subscribe();
|
55
|
+
}
|
38
56
|
delete$(ids) {
|
39
57
|
const currentState = this.quoteDraftService.currentState;
|
40
58
|
return of([]).pipe(tap(() => {
|
@@ -89,4 +107,4 @@ FlowConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
|
|
89
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService, decorators: [{
|
90
108
|
type: Injectable
|
91
109
|
}], ctorParameters: function () { return [{ type: i1.ProceduresApiService }, { type: i2.ContextService }, { type: i2.QuoteDraftService }, { type: i3.FlowUpdateService }, { type: i4.ConfigurationService }]; } });
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLFFBQVEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBT3RHLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsWUFDVSxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsaUJBQW9DLEVBQ3BDLGFBQWdDLEVBQ2hDLG9CQUEwQztRQUoxQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO0lBQ2pELENBQUM7SUFFRyxVQUFVO1FBQ2YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztRQUVyRCxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDbEQsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEI7UUFFRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENB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Q0FBRSxPQUFPLG1DQUFJLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU8sd0JBQXdCLENBQUMsY0FBMEI7UUFDekQsT0FBTyxDQUFJLE9BQXNCLEVBQWlCLEVBQUU7WUFDbEQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRXJCLCtDQUErQztnQkFDL0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUUvRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7c0hBN0hVLHdCQUF3QjswSEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9jZWR1cmVzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Db250ZXh0LCBMaW5lSXRlbSwgUHJpY2VQbGFuQ2hhcmdlLCBRdW90ZURyYWZ0IH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIG5vb3AsIE9ic2VydmFibGUsIG9mLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBRdW90ZURyYWZ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBGbG93VXBkYXRlUGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMvdXBkYXRlLnR5cGVzJztcbmltcG9ydCB7IEZsb3dVcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi9mbG93LXVwZGF0ZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJvY2VkdXJlc0FwaVNlcnZpY2U6IFByb2NlZHVyZXNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXBkYXRlU2VydmljZTogRmxvd1VwZGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgY2FsY3VsYXRlJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0IHx8ICFxdW90ZURyYWZ0LmN1cnJlbnRTdGF0ZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZXNBcGlTZXJ2aWNlLmFwcGx5JChxdW90ZURyYWZ0KS5waXBlKFxuICAgICAgdGFwKHJlc3VsdCA9PiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnVwZGF0ZVF1b3RlRHJhZnQocmVzdWx0KSksXG4gICAgICBtYXAobm9vcCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjYWxjdWxhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxjdWxhdGUkKCkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlJCh1cGRhdGVzOiBGbG93VXBkYXRlUGFyYW1zW10pOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQgfCBudWxsPiB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5jdXJyZW50U3RhdGU7XG5cbiAgICByZXR1cm4gb2YoW10pLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVkU3RhdGUgPSBjbG9uZURlZXAoY3VycmVudFN0YXRlKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZXJ2aWNlLnVwZGF0ZSh1cGRhdGVkU3RhdGUsIHVwZGF0ZXMpO1xuICAgICAgICB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnNldEN1cnJlbnRMaW5lSXRlbVN0YXRlKHVwZGF0ZWRTdGF0ZSk7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNhbGN1bGF0ZSQoKSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0KSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKGN1cnJlbnRTdGF0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGUodXBkYXRlczogRmxvd1VwZGF0ZVBhcmFtc1tdKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGUkKHVwZGF0ZXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZSQoaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmN1cnJlbnRTdGF0ZTtcblxuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRTdGF0ZSA9IGlkcy5yZWR1Y2UoKHJlc3VsdCwgaWQpID0+IHRoaXMudXBkYXRlU2VydmljZS5kZWxldGUocmVzdWx0LCBpZCksIGN1cnJlbnRTdGF0ZSk7XG4gICAgICAgIHRoaXMucXVvdGVEcmFmdFNlcnZpY2Uuc2V0Q3VycmVudExpbmVJdGVtU3RhdGUodXBkYXRlZFN0YXRlKTtcbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY2FsY3VsYXRlJCgpKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvckFuZEJvdW5jZUJhY2soY3VycmVudFN0YXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZShpZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5kZWxldGUkKGlkcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgYWRkVGVybSQodGVybTogTGluZUl0ZW0pOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQgfCBudWxsPiB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5jdXJyZW50U3RhdGU7XG5cbiAgICByZXR1cm4gb2YoW10pLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5zZXRDdXJyZW50TGluZUl0ZW1TdGF0ZShbLi4uY3VycmVudFN0YXRlLCB0ZXJtXSkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY2FsY3VsYXRlJCgpKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvckFuZEJvdW5jZUJhY2soY3VycmVudFN0YXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFkZFRvQ2FydCQocHJvZHVjdElkOiBzdHJpbmcsIHF0eT86IG51bWJlcik6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmN1cnJlbnRTdGF0ZTtcblxuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmNvbmZpZ3VyZUV4dGVybmFsJChwcm9kdWN0SWQsIHF0eSkucGlwZShcbiAgICAgIHRhcChsaW5lSXRlbSA9PiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnNldEN1cnJlbnRMaW5lSXRlbVN0YXRlKFsuLi5jdXJyZW50U3RhdGUsIGxpbmVJdGVtXSkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY2FsY3VsYXRlJCgpKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvckFuZEJvdW5jZUJhY2soY3VycmVudFN0YXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0JC5waXBlKFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuYWN0aXZlQ3VycmVudFN0YXRlKSxcbiAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTbmFwc2hvdCgpOiBMaW5lSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZT8uY3VycmVudFN0YXRlLnNsaWNlKCkgPz8gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXMkKCk6IE9ic2VydmFibGU8RGljdGlvbmFyeTxQcmljZVBsYW5DaGFyZ2U+PiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCQucGlwZShtYXAoKHsgY2hhcmdlcyB9KSA9PiBjaGFyZ2VzKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXNTbmFwc2hvdCgpOiBEaWN0aW9uYXJ5PFByaWNlUGxhbkNoYXJnZT4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQ/LmNoYXJnZXMgPz8ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHRTbmFwc2hvdCgpOiBDb25maWd1cmF0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0JCgpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSQoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKHN0YXRlVG9SZXN0b3JlOiBMaW5lSXRlbVtdKSB7XG4gICAgcmV0dXJuIDxUPihzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiA9PiB7XG4gICAgICByZXR1cm4gc291cmNlJC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICAgIC8vIGJvdW5jZSBiYWNrIGlmIGNvbmZpZ3VyYXRpb24gY2FsbCBoYXMgZmFpbGVkXG4gICAgICAgICAgdGhpcy5xdW90ZURyYWZ0U2VydmljZS5zZXRDdXJyZW50TGluZUl0ZW1TdGF0ZShzdGF0ZVRvUmVzdG9yZSk7XG5cbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLFFBQVEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBT3RHLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsWUFDVSxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsaUJBQW9DLEVBQ3BDLGFBQWdDLEVBQ2hDLG9CQUEwQztRQUoxQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO0lBQ2pELENBQUM7SUFFRyxVQUFVO1FBQ2YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztRQUVyRCxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDbEQsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEI7UUFFRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENB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LEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQVcsZUFBZTs7UUFDeEIsT0FBTyxNQUFBLE1BQUEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsMENBQUUsT0FBTyxtQ0FBSSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLHdCQUF3QixDQUFDLGNBQTBCO1FBQ3pELE9BQU8sQ0FBSSxPQUFzQixFQUFpQixFQUFFO1lBQ2xELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVyQiwrQ0FBK0M7Z0JBQy9DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFFL0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNKLENBQUM7O3NIQTNKVSx3QkFBd0I7MEhBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvY2VkdXJlc0FwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL2FwaSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQ29udGV4dCwgTGluZUl0ZW0sIFByaWNlUGxhbkNoYXJnZSwgUXVvdGVEcmFmdCB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBub29wLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgUXVvdGVEcmFmdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgRmxvd1VwZGF0ZVBhcmFtcyB9IGZyb20gJy4uL3R5cGVzL3VwZGF0ZS50eXBlcyc7XG5pbXBvcnQgeyBGbG93VXBkYXRlU2VydmljZSB9IGZyb20gJy4vZmxvdy11cGRhdGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbG93Q29uZmlndXJhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb2NlZHVyZXNBcGlTZXJ2aWNlOiBQcm9jZWR1cmVzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHF1b3RlRHJhZnRTZXJ2aWNlOiBRdW90ZURyYWZ0U2VydmljZSxcbiAgICBwcml2YXRlIHVwZGF0ZVNlcnZpY2U6IEZsb3dVcGRhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGNhbGN1bGF0ZSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdDtcblxuICAgIGlmICghcXVvdGVEcmFmdCB8fCAhcXVvdGVEcmFmdC5jdXJyZW50U3RhdGUubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wcm9jZWR1cmVzQXBpU2VydmljZS5hcHBseSQocXVvdGVEcmFmdCkucGlwZShcbiAgICAgIHRhcChyZXN1bHQgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS51cGRhdGVRdW90ZURyYWZ0KHJlc3VsdCkpLFxuICAgICAgbWFwKG5vb3ApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2FsY3VsYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FsY3VsYXRlJCgpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZSQodXBkYXRlczogRmxvd1VwZGF0ZVBhcmFtc1tdKTogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0IHwgbnVsbD4ge1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuY3VycmVudFN0YXRlO1xuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZFN0YXRlID0gY2xvbmVEZWVwKGN1cnJlbnRTdGF0ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VydmljZS51cGRhdGUodXBkYXRlZFN0YXRlLCB1cGRhdGVzKTtcbiAgICAgICAgdGhpcy5xdW90ZURyYWZ0U2VydmljZS5zZXRDdXJyZW50TGluZUl0ZW1TdGF0ZSh1cGRhdGVkU3RhdGUpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jYWxjdWxhdGUkKCkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yQW5kQm91bmNlQmFjayhjdXJyZW50U3RhdGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlKHVwZGF0ZXM6IEZsb3dVcGRhdGVQYXJhbXNbXSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlJCh1cGRhdGVzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXZlcnQkKGxpbmVJdGVtSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UXVvdGVEcmFmdCB8IG51bGw+IHtcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmFjdGl2ZUluaXRpYWxTdGF0ZTtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmFjdGl2ZUN1cnJlbnRTdGF0ZTtcblxuICAgIGNvbnN0IGN1cnJlbnRMaW5lSXRlbUluZGV4ID0gY3VycmVudFN0YXRlLmZpbmRJbmRleCgoeyBpZCB9KSA9PiBpZCA9PT0gbGluZUl0ZW1JZCk7XG4gICAgY29uc3QgY3VycmVudExpbmVJdGVtID0gY3VycmVudFN0YXRlW2N1cnJlbnRMaW5lSXRlbUluZGV4XTtcblxuICAgIGNvbnN0IGluaXRpYWxMaW5lSXRlbSA9IGluaXRpYWxTdGF0ZS5maW5kKCh7IGludGVncmF0aW9uSWQgfSkgPT4gaW50ZWdyYXRpb25JZCA9PT0gY3VycmVudExpbmVJdGVtPy5pbnRlZ3JhdGlvbklkKTtcblxuICAgIGlmICghY3VycmVudExpbmVJdGVtIHx8ICFpbml0aWFsTGluZUl0ZW0pIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVkU3RhdGUgPSBjbG9uZURlZXAoY3VycmVudFN0YXRlKTtcbiAgICB1cGRhdGVkU3RhdGUuc3BsaWNlKGN1cnJlbnRMaW5lSXRlbUluZGV4LCAxLCBpbml0aWFsTGluZUl0ZW0pO1xuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5xdW90ZURyYWZ0U2VydmljZS5zZXRDdXJyZW50TGluZUl0ZW1TdGF0ZSh1cGRhdGVkU3RhdGUpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jYWxjdWxhdGUkKCkpLFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yQW5kQm91bmNlQmFjayhjdXJyZW50U3RhdGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmV2ZXJ0KGxpbmVJdGVtSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmV2ZXJ0JChsaW5lSXRlbUlkKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUkKGlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQgfCBudWxsPiB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5jdXJyZW50U3RhdGU7XG5cbiAgICByZXR1cm4gb2YoW10pLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVkU3RhdGUgPSBpZHMucmVkdWNlKChyZXN1bHQsIGlkKSA9PiB0aGlzLnVwZGF0ZVNlcnZpY2UuZGVsZXRlKHJlc3VsdCwgaWQpLCBjdXJyZW50U3RhdGUpO1xuICAgICAgICB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnNldEN1cnJlbnRMaW5lSXRlbVN0YXRlKHVwZGF0ZWRTdGF0ZSk7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNhbGN1bGF0ZSQoKSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0KSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKGN1cnJlbnRTdGF0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUoaWRzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuZGVsZXRlJChpZHMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGFkZFRlcm0kKHRlcm06IExpbmVJdGVtKTogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0IHwgbnVsbD4ge1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucXVvdGVEcmFmdFNlcnZpY2UuY3VycmVudFN0YXRlO1xuXG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMucXVvdGVEcmFmdFNlcnZpY2Uuc2V0Q3VycmVudExpbmVJdGVtU3RhdGUoWy4uLmN1cnJlbnRTdGF0ZSwgdGVybV0pKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNhbGN1bGF0ZSQoKSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0KSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKGN1cnJlbnRTdGF0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUb0NhcnQkKHByb2R1Y3RJZDogc3RyaW5nLCBxdHk/OiBudW1iZXIpOiBPYnNlcnZhYmxlPFF1b3RlRHJhZnQgfCBudWxsPiB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5jdXJyZW50U3RhdGU7XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5jb25maWd1cmVFeHRlcm5hbCQocHJvZHVjdElkLCBxdHkpLnBpcGUoXG4gICAgICB0YXAobGluZUl0ZW0gPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5zZXRDdXJyZW50TGluZUl0ZW1TdGF0ZShbLi4uY3VycmVudFN0YXRlLCBsaW5lSXRlbV0pKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNhbGN1bGF0ZSQoKSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0KSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JBbmRCb3VuY2VCYWNrKGN1cnJlbnRTdGF0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2UucXVvdGVEcmFmdCQucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmFjdGl2ZUN1cnJlbnRTdGF0ZSksXG4gICAgICBzaGFyZVJlcGxheSgpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U25hcHNob3QoKTogTGluZUl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdFNlcnZpY2U/LmN1cnJlbnRTdGF0ZS5zbGljZSgpID8/IFtdO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPj4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnF1b3RlRHJhZnQkLnBpcGUobWFwKCh7IGNoYXJnZXMgfSkgPT4gY2hhcmdlcykpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzU25hcHNob3QoKTogRGljdGlvbmFyeTxQcmljZVBsYW5DaGFyZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZURyYWZ0Py5jaGFyZ2VzID8/IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0U25hcHNob3QoKTogQ29uZmlndXJhdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCQoKTogT2JzZXJ2YWJsZTxDb25maWd1cmF0aW9uQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUkKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yQW5kQm91bmNlQmFjayhzdGF0ZVRvUmVzdG9yZTogTGluZUl0ZW1bXSkge1xuICAgIHJldHVybiA8VD4oc291cmNlJDogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4gPT4ge1xuICAgICAgcmV0dXJuIHNvdXJjZSQucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAvLyBib3VuY2UgYmFjayBpZiBjb25maWd1cmF0aW9uIGNhbGwgaGFzIGZhaWxlZFxuICAgICAgICAgIHRoaXMucXVvdGVEcmFmdFNlcnZpY2Uuc2V0Q3VycmVudExpbmVJdGVtU3RhdGUoc3RhdGVUb1Jlc3RvcmUpO1xuXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfTtcbiAgfVxufVxuIl19
|