angular-odata 0.127.0 → 0.130.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/README.md +27 -244
- package/esm2022/lib/annotations.mjs +146 -0
- package/esm2022/lib/api.mjs +238 -173
- package/esm2022/lib/cache/cache.mjs +3 -1
- package/esm2022/lib/cache/memory.mjs +1 -1
- package/esm2022/lib/cache/storage.mjs +3 -1
- package/esm2022/lib/client.mjs +10 -47
- package/esm2022/lib/constants.mjs +4 -1
- package/esm2022/lib/helper.mjs +9 -1
- package/esm2022/lib/index.mjs +4 -1
- package/esm2022/lib/loaders.mjs +27 -17
- package/esm2022/lib/metadata/csdl/csdl-annotation.mjs +273 -0
- package/esm2022/lib/metadata/csdl/csdl-entity-container.mjs +59 -0
- package/esm2022/lib/metadata/csdl/csdl-entity-set.mjs +50 -0
- package/esm2022/lib/metadata/csdl/csdl-enum-type.mjs +74 -0
- package/esm2022/lib/metadata/csdl/csdl-function-action.mjs +204 -0
- package/esm2022/lib/metadata/csdl/csdl-navigation-property-binding.mjs +15 -0
- package/esm2022/lib/metadata/csdl/csdl-reference.mjs +76 -0
- package/esm2022/lib/metadata/csdl/csdl-schema.mjs +87 -0
- package/esm2022/lib/metadata/csdl/csdl-singleton.mjs +37 -0
- package/esm2022/lib/metadata/csdl/csdl-structural-property.mjs +145 -0
- package/esm2022/lib/metadata/csdl/csdl-structured-type.mjs +159 -0
- package/esm2022/lib/metadata/csdl/csdl-type-definition.mjs +46 -0
- package/esm2022/lib/metadata/index.mjs +3 -0
- package/esm2022/lib/metadata/metadata.mjs +41 -0
- package/esm2022/lib/metadata/parser.mjs +564 -0
- package/esm2022/lib/models/collection.mjs +115 -155
- package/esm2022/lib/models/model.mjs +71 -54
- package/esm2022/lib/models/options.mjs +194 -136
- package/esm2022/lib/module.mjs +7 -7
- package/esm2022/lib/options.mjs +57 -2
- package/esm2022/lib/resources/index.mjs +2 -2
- package/esm2022/lib/resources/options.mjs +66 -0
- package/esm2022/lib/resources/path/handlers.mjs +16 -4
- package/esm2022/lib/resources/path/segments.mjs +7 -4
- package/esm2022/lib/resources/query/builder.mjs +17 -8
- package/esm2022/lib/resources/query/expressions/apply.mjs +83 -14
- package/esm2022/lib/resources/query/expressions/base.mjs +2 -1
- package/esm2022/lib/resources/query/expressions/compute.mjs +3 -2
- package/esm2022/lib/resources/query/expressions/count.mjs +3 -1
- package/esm2022/lib/resources/query/expressions/expand.mjs +8 -1
- package/esm2022/lib/resources/query/expressions/filter.mjs +3 -1
- package/esm2022/lib/resources/query/expressions/orderby.mjs +4 -2
- package/esm2022/lib/resources/query/expressions/search.mjs +4 -1
- package/esm2022/lib/resources/query/expressions/select.mjs +8 -2
- package/esm2022/lib/resources/query/expressions/syntax.mjs +37 -7
- package/esm2022/lib/resources/query/handlers.mjs +4 -1
- package/esm2022/lib/resources/query/options.mjs +2 -1
- package/esm2022/lib/resources/request.mjs +19 -5
- package/esm2022/lib/resources/resource.mjs +115 -85
- package/esm2022/lib/resources/response.mjs +180 -0
- package/esm2022/lib/resources/types/action.mjs +31 -26
- package/esm2022/lib/resources/types/batch.mjs +7 -7
- package/esm2022/lib/resources/types/count.mjs +7 -7
- package/esm2022/lib/resources/types/entity-set.mjs +37 -24
- package/esm2022/lib/resources/types/entity.mjs +14 -11
- package/esm2022/lib/resources/types/function.mjs +28 -28
- package/esm2022/lib/resources/types/metadata.mjs +9 -5
- package/esm2022/lib/resources/types/navigation-property.mjs +36 -40
- package/esm2022/lib/resources/types/property.mjs +31 -59
- package/esm2022/lib/resources/types/reference.mjs +3 -4
- package/esm2022/lib/resources/types/singleton.mjs +11 -12
- package/esm2022/lib/resources/types/value.mjs +16 -12
- package/esm2022/lib/schema/annotation.mjs +8 -1
- package/esm2022/lib/schema/callable.mjs +13 -10
- package/esm2022/lib/schema/element.mjs +18 -9
- package/esm2022/lib/schema/entity-container.mjs +6 -2
- package/esm2022/lib/schema/entity-set.mjs +3 -1
- package/esm2022/lib/schema/enum-type.mjs +11 -11
- package/esm2022/lib/schema/index.mjs +2 -1
- package/esm2022/lib/schema/parsers/callable.mjs +23 -7
- package/esm2022/lib/schema/parsers/edm.mjs +6 -4
- package/esm2022/lib/schema/parsers/enum-type.mjs +48 -30
- package/esm2022/lib/schema/parsers/structured-type.mjs +61 -27
- package/esm2022/lib/schema/schema.mjs +25 -34
- package/esm2022/lib/schema/singleton.mjs +11 -0
- package/esm2022/lib/schema/structured-type.mjs +27 -25
- package/esm2022/lib/services/base.mjs +4 -1
- package/esm2022/lib/services/entity-set.mjs +18 -2
- package/esm2022/lib/services/entity.mjs +2 -2
- package/esm2022/lib/services/factory.mjs +16 -10
- package/esm2022/lib/services/singleton.mjs +9 -2
- package/esm2022/lib/settings.mjs +8 -99
- package/esm2022/lib/types.mjs +1 -1
- package/esm2022/lib/utils/arraybuffers.mjs +1 -1
- package/esm2022/lib/utils/dates.mjs +1 -1
- package/esm2022/lib/utils/durations.mjs +1 -1
- package/esm2022/lib/utils/enums.mjs +1 -1
- package/esm2022/lib/utils/http.mjs +1 -1
- package/esm2022/lib/utils/objects.mjs +1 -1
- package/esm2022/lib/utils/odata.mjs +1 -1
- package/esm2022/lib/utils/types.mjs +1 -1
- package/fesm2022/angular-odata.mjs +3476 -2075
- package/fesm2022/angular-odata.mjs.map +1 -1
- package/lib/{resources/responses/annotations.d.ts → annotations.d.ts} +2 -2
- package/lib/api.d.ts +29 -26
- package/lib/cache/memory.d.ts +1 -1
- package/lib/client.d.ts +0 -20
- package/lib/constants.d.ts +3 -0
- package/lib/index.d.ts +2 -0
- package/lib/loaders.d.ts +7 -1
- package/lib/metadata/csdl/csdl-annotation.d.ts +159 -0
- package/lib/metadata/csdl/csdl-entity-container.d.ts +31 -0
- package/lib/metadata/csdl/csdl-entity-set.d.ts +25 -0
- package/lib/metadata/csdl/csdl-enum-type.d.ts +37 -0
- package/lib/metadata/csdl/csdl-function-action.d.ts +148 -0
- package/lib/metadata/csdl/csdl-navigation-property-binding.d.ts +12 -0
- package/lib/metadata/csdl/csdl-reference.d.ts +53 -0
- package/lib/metadata/csdl/csdl-schema.d.ts +37 -0
- package/lib/metadata/csdl/csdl-singleton.d.ts +21 -0
- package/lib/metadata/csdl/csdl-structural-property.d.ts +86 -0
- package/lib/metadata/csdl/csdl-structured-type.d.ts +94 -0
- package/lib/metadata/csdl/csdl-type-definition.d.ts +25 -0
- package/lib/metadata/index.d.ts +2 -0
- package/lib/metadata/metadata.d.ts +23 -0
- package/lib/{resources/responses/metadata.d.ts → metadata/parser.d.ts} +19 -7
- package/lib/models/collection.d.ts +6 -4
- package/lib/models/model.d.ts +20 -27
- package/lib/models/options.d.ts +46 -25
- package/lib/resources/index.d.ts +1 -1
- package/lib/resources/{responses/options.d.ts → options.d.ts} +2 -2
- package/lib/resources/path/handlers.d.ts +4 -2
- package/lib/resources/path/segments.d.ts +6 -4
- package/lib/resources/query/builder.d.ts +3 -2
- package/lib/resources/query/expressions/apply.d.ts +37 -15
- package/lib/resources/query/expressions/base.d.ts +1 -1
- package/lib/resources/query/expressions/compute.d.ts +2 -2
- package/lib/resources/query/expressions/count.d.ts +1 -1
- package/lib/resources/query/expressions/expand.d.ts +3 -1
- package/lib/resources/query/expressions/filter.d.ts +1 -1
- package/lib/resources/query/expressions/orderby.d.ts +5 -4
- package/lib/resources/query/expressions/search.d.ts +1 -1
- package/lib/resources/query/expressions/select.d.ts +2 -1
- package/lib/resources/query/expressions/syntax.d.ts +8 -5
- package/lib/resources/query/options.d.ts +3 -3
- package/lib/resources/resource.d.ts +56 -16
- package/lib/resources/{responses/response.d.ts → response.d.ts} +17 -5
- package/lib/resources/types/action.d.ts +12 -10
- package/lib/resources/types/batch.d.ts +3 -2
- package/lib/resources/types/count.d.ts +1 -5
- package/lib/resources/types/entity-set.d.ts +25 -11
- package/lib/resources/types/entity.d.ts +8 -5
- package/lib/resources/types/function.d.ts +12 -12
- package/lib/resources/types/metadata.d.ts +1 -1
- package/lib/resources/types/navigation-property.d.ts +23 -8
- package/lib/resources/types/property.d.ts +27 -9
- package/lib/resources/types/reference.d.ts +2 -4
- package/lib/resources/types/singleton.d.ts +9 -7
- package/lib/resources/types/value.d.ts +2 -6
- package/lib/schema/callable.d.ts +5 -7
- package/lib/schema/element.d.ts +11 -4
- package/lib/schema/entity-container.d.ts +2 -0
- package/lib/schema/enum-type.d.ts +13 -16
- package/lib/schema/index.d.ts +1 -0
- package/lib/schema/parsers/callable.d.ts +7 -8
- package/lib/schema/parsers/enum-type.d.ts +16 -18
- package/lib/schema/parsers/structured-type.d.ts +11 -10
- package/lib/schema/schema.d.ts +6 -9
- package/lib/schema/singleton.d.ts +10 -0
- package/lib/schema/structured-type.d.ts +10 -10
- package/lib/services/entity-set.d.ts +11 -4
- package/lib/services/factory.d.ts +14 -2
- package/lib/services/singleton.d.ts +4 -2
- package/lib/settings.d.ts +0 -10
- package/lib/types.d.ts +32 -12
- package/lib/utils/enums.d.ts +12 -12
- package/lib/utils/http.d.ts +1 -1
- package/lib/utils/objects.d.ts +1 -1
- package/lib/utils/strings.d.ts +2 -2
- package/package.json +5 -1
- package/schematics/apigen/angular/api-config.d.ts +15 -0
- package/schematics/apigen/angular/api-config.js +40 -0
- package/schematics/apigen/angular/api-config.js.map +1 -0
- package/schematics/apigen/angular/base.d.ts +71 -0
- package/schematics/apigen/angular/base.js +240 -0
- package/schematics/apigen/angular/base.js.map +1 -0
- package/schematics/apigen/angular/entity.d.ts +24 -0
- package/schematics/apigen/angular/entity.js +77 -0
- package/schematics/apigen/angular/entity.js.map +1 -0
- package/schematics/apigen/angular/enum.d.ts +25 -0
- package/schematics/apigen/angular/enum.js +57 -0
- package/schematics/apigen/angular/enum.js.map +1 -0
- package/schematics/apigen/angular/import.d.ts +6 -0
- package/schematics/apigen/angular/import.js +18 -0
- package/schematics/apigen/angular/import.js.map +1 -0
- package/schematics/apigen/angular/module.d.ts +18 -0
- package/schematics/apigen/angular/module.js +41 -0
- package/schematics/apigen/angular/module.js.map +1 -0
- package/schematics/apigen/angular/service.d.ts +20 -0
- package/schematics/apigen/angular/service.js +77 -0
- package/schematics/apigen/angular/service.js.map +1 -0
- package/schematics/apigen/files/api-config/__fileName__.ts +11 -0
- package/schematics/apigen/files/entity/__fileName__.ts +7 -0
- package/schematics/apigen/files/entitycontainer-service/__fileName__.ts +18 -0
- package/schematics/apigen/files/entityset-service/__fileName__.ts +27 -0
- package/schematics/apigen/files/enum/__fileName__.ts +4 -0
- package/schematics/apigen/files/index/__fileName__.ts +2 -0
- package/schematics/apigen/files/metadata/metadata.json +1 -0
- package/schematics/apigen/files/module/__fileName__.ts +9 -0
- package/schematics/apigen/files/singleton-service/__fileName__.ts +18 -0
- package/schematics/apigen/index.d.ts +3 -0
- package/schematics/apigen/index.js +150 -0
- package/schematics/apigen/index.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-annotation.d.ts +153 -0
- package/schematics/apigen/metadata/csdl/csdl-annotation.js +228 -0
- package/schematics/apigen/metadata/csdl/csdl-annotation.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-container.d.ts +29 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-container.js +49 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-container.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-set.d.ts +23 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-set.js +37 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-set.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-enum-type.d.ts +34 -0
- package/schematics/apigen/metadata/csdl/csdl-enum-type.js +50 -0
- package/schematics/apigen/metadata/csdl/csdl-enum-type.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-function-action.d.ts +140 -0
- package/schematics/apigen/metadata/csdl/csdl-function-action.js +136 -0
- package/schematics/apigen/metadata/csdl/csdl-function-action.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.d.ts +12 -0
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js +17 -0
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-reference.d.ts +42 -0
- package/schematics/apigen/metadata/csdl/csdl-reference.js +53 -0
- package/schematics/apigen/metadata/csdl/csdl-reference.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-schema.d.ts +35 -0
- package/schematics/apigen/metadata/csdl/csdl-schema.js +63 -0
- package/schematics/apigen/metadata/csdl/csdl-schema.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-singleton.d.ts +21 -0
- package/schematics/apigen/metadata/csdl/csdl-singleton.js +33 -0
- package/schematics/apigen/metadata/csdl/csdl-singleton.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-structural-property.d.ts +79 -0
- package/schematics/apigen/metadata/csdl/csdl-structural-property.js +103 -0
- package/schematics/apigen/metadata/csdl/csdl-structural-property.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-structured-type.d.ts +83 -0
- package/schematics/apigen/metadata/csdl/csdl-structured-type.js +116 -0
- package/schematics/apigen/metadata/csdl/csdl-structured-type.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-type-definition.d.ts +25 -0
- package/schematics/apigen/metadata/csdl/csdl-type-definition.js +38 -0
- package/schematics/apigen/metadata/csdl/csdl-type-definition.js.map +1 -0
- package/schematics/apigen/metadata/index.d.ts +1 -0
- package/schematics/apigen/metadata/index.js +18 -0
- package/schematics/apigen/metadata/index.js.map +1 -0
- package/schematics/apigen/metadata/metadata.d.ts +21 -0
- package/schematics/apigen/metadata/metadata.js +36 -0
- package/schematics/apigen/metadata/metadata.js.map +1 -0
- package/schematics/apigen/metadata/parser.d.ts +110 -0
- package/schematics/apigen/metadata/parser.js +568 -0
- package/schematics/apigen/metadata/parser.js.map +1 -0
- package/schematics/apigen/schema.d.ts +9 -0
- package/schematics/apigen/schema.js +3 -0
- package/schematics/apigen/schema.js.map +1 -0
- package/schematics/apigen/schema.json +37 -0
- package/schematics/apigen/utils.d.ts +2 -0
- package/schematics/apigen/utils.js +99 -0
- package/schematics/apigen/utils.js.map +1 -0
- package/schematics/collection.json +14 -0
- package/schematics/ng-add/index.d.ts +2 -0
- package/schematics/ng-add/index.js +12 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/random.d.ts +1 -0
- package/schematics/random.js +604 -0
- package/schematics/random.js.map +1 -0
- package/esm2022/lib/resources/responses/annotations.mjs +0 -140
- package/esm2022/lib/resources/responses/csdl/csdl-annotation.mjs +0 -33
- package/esm2022/lib/resources/responses/csdl/csdl-entity-container.mjs +0 -11
- package/esm2022/lib/resources/responses/csdl/csdl-entity-set.mjs +0 -9
- package/esm2022/lib/resources/responses/csdl/csdl-enum-type.mjs +0 -15
- package/esm2022/lib/resources/responses/csdl/csdl-function-action.mjs +0 -56
- package/esm2022/lib/resources/responses/csdl/csdl-navigation-property-binding.mjs +0 -7
- package/esm2022/lib/resources/responses/csdl/csdl-reference.mjs +0 -23
- package/esm2022/lib/resources/responses/csdl/csdl-schema.mjs +0 -18
- package/esm2022/lib/resources/responses/csdl/csdl-singleton.mjs +0 -8
- package/esm2022/lib/resources/responses/csdl/csdl-structural-property.mjs +0 -39
- package/esm2022/lib/resources/responses/csdl/csdl-structured-type.mjs +0 -34
- package/esm2022/lib/resources/responses/csdl/csdl-type-definition.mjs +0 -14
- package/esm2022/lib/resources/responses/index.mjs +0 -5
- package/esm2022/lib/resources/responses/metadata.mjs +0 -547
- package/esm2022/lib/resources/responses/options.mjs +0 -56
- package/esm2022/lib/resources/responses/response.mjs +0 -174
- package/esm2022/lib/resources/responses/types.mjs +0 -2
- package/lib/resources/responses/csdl/csdl-annotation.d.ts +0 -27
- package/lib/resources/responses/csdl/csdl-entity-container.d.ts +0 -12
- package/lib/resources/responses/csdl/csdl-entity-set.d.ts +0 -8
- package/lib/resources/responses/csdl/csdl-enum-type.d.ts +0 -12
- package/lib/resources/responses/csdl/csdl-function-action.d.ts +0 -49
- package/lib/resources/responses/csdl/csdl-navigation-property-binding.d.ts +0 -5
- package/lib/resources/responses/csdl/csdl-reference.d.ts +0 -18
- package/lib/resources/responses/csdl/csdl-schema.d.ts +0 -20
- package/lib/resources/responses/csdl/csdl-singleton.d.ts +0 -7
- package/lib/resources/responses/csdl/csdl-structural-property.d.ts +0 -31
- package/lib/resources/responses/csdl/csdl-structured-type.d.ts +0 -27
- package/lib/resources/responses/csdl/csdl-type-definition.d.ts +0 -11
- package/lib/resources/responses/index.d.ts +0 -4
- package/lib/resources/responses/types.d.ts +0 -13
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { raw } from '../../resources/query';
|
|
1
|
+
import { raw, isRawType } from '../../resources/query';
|
|
2
2
|
import { EdmType } from '../../types';
|
|
3
3
|
import { ArrayBuffers } from '../../utils/arraybuffers';
|
|
4
4
|
import { Durations } from '../../utils/durations';
|
|
@@ -16,8 +16,10 @@ const EdmParser = (_d, _s, _e) => ({
|
|
|
16
16
|
},
|
|
17
17
|
encode(value, options) {
|
|
18
18
|
return Array.isArray(value)
|
|
19
|
-
? value.map((v) => _e(v, options))
|
|
20
|
-
:
|
|
19
|
+
? value.map((v) => (!isRawType(v) ? _e(v, options) : v))
|
|
20
|
+
: !isRawType(value)
|
|
21
|
+
? _e(value, options)
|
|
22
|
+
: value;
|
|
21
23
|
},
|
|
22
24
|
});
|
|
23
25
|
const Identity = (v) => v;
|
|
@@ -96,4 +98,4 @@ Edm.GeometryMultiLineString Collection of line strings in a flat-earth coordinat
|
|
|
96
98
|
Edm.GeometryMultiPolygon Collection of polygons in a flat-earth coordinate system
|
|
97
99
|
Edm.GeometryCollection Collection of arbitrary Geometry values
|
|
98
100
|
*/
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9wYXJzZXJzL2VkbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBMkMsTUFBTSxhQUFhLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCw0QkFBNEI7QUFDNUIsTUFBTSxTQUFTLEdBQUcsQ0FDaEIsRUFBZ0QsRUFDaEQsRUFBa0QsRUFDbEQsRUFBa0QsRUFDNUIsRUFBRSxDQUFDLENBQUM7SUFDMUIsV0FBVyxDQUFDLEtBQVUsRUFBRSxPQUFtQztRQUN6RCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxTQUFTLENBQUMsS0FBVSxFQUFFLE9BQW1DO1FBQ3ZELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDekIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFVLEVBQUUs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QyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQzFEO0lBQ0QseUVBQXlFO0lBQ3pFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsQ0FDekIsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBRSxDQUFZLENBQUMsRUFDcEQsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDM0MsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUMxRDtJQUNELHdCQUF3QjtJQUN4QixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLENBQ3pCLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUM1QyxDQUFDLENBQWMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFDNUMsQ0FBQyxDQUFjLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2xEO0NBQ0YsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFrQkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByYXcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcXVlcnknO1xuaW1wb3J0IHsgRWRtVHlwZSwgRmllbGRQYXJzZXIsIFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQXJyYXlCdWZmZXJzIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJyYXlidWZmZXJzJztcbmltcG9ydCB7IER1cmF0aW9uLCBEdXJhdGlvbnMgfSBmcm9tICcuLi8uLi91dGlscy9kdXJhdGlvbnMnO1xuXG4vLyBDb3JlIEVkbVR5cGVQYXJzZXJCdWlsZGVyXG5jb25zdCBFZG1QYXJzZXIgPSA8VD4oXG4gIF9kOiAodjogYW55LCBvOiBTdHJ1Y3R1cmVkVHlwZUZpZWxkT3B0aW9ucykgPT4gVCxcbiAgX3M6ICh2OiBhbnksIG86IFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zKSA9PiBhbnksXG4gIF9lOiAodjogYW55LCBvOiBTdHJ1Y3R1cmVkVHlwZUZpZWxkT3B0aW9ucykgPT4gYW55LFxuKTogRmllbGRQYXJzZXI8VCB8IFRbXT4gPT4gKHtcbiAgZGVzZXJpYWxpemUodmFsdWU6IGFueSwgb3B0aW9uczogU3RydWN0dXJlZFR5cGVGaWVsZE9wdGlvbnMpOiBUIHwgVFtdIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSlcbiAgICAgID8gdmFsdWUubWFwKCh2KSA9PiBfZCh2LCBvcHRpb25zKSlcbiAgICAgIDogX2QodmFsdWUsIG9wdGlvbnMpO1xuICB9LFxuICBzZXJpYWxpemUodmFsdWU6IGFueSwgb3B0aW9uczogU3RydWN0dXJlZFR5cGVGaWVsZE9wdGlvbnMpOiBhbnkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgPyB2YWx1ZS5tYXAoKHYpID0+IF9zKHYsIG9wdGlvbnMpKVxuICAgICAgOiBfcyh2YWx1ZSwgb3B0aW9ucyk7XG4gIH0sXG4gIGVuY29kZSh2YWx1ZTogYW55LCBvcHRpb25zOiBTdHJ1Y3R1cmVkVHlwZUZpZWxkT3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICA/IHZhbHVlLm1hcCgodikgPT4gX2Uodiwgb3B0aW9ucykpXG4gICAgICA6IF9lKHZhbHVlLCBvcHRpb25zKTtcbiAgfSxcbn0pO1xuXG5jb25zdCBJZGVudGl0eSA9ICh2OiBhbnkpID0+IHY7XG5jb25zdCB0b051bWJlciA9ICh2OiBhbnkpID0+IE51bWJlcih2KTtcbmNvbnN0IHRvU3RyaW5nID0gKHY6IGFueSkgPT4gdi50b1N0cmluZygpO1xuY29uc3QgdG9Cb29sZWFuID0gKHY6IGFueSkgPT4gQm9vbGVhbih2KTtcbmNvbnN0IHRvRGF0ZSA9ICh2OiBhbnkpID0+IG5ldyBEYXRlKHYpO1xuXG5leHBvcnQgY29uc3QgRURNX1BBUlNFUlM6IHsgW3R5cGU6IHN0cmluZ106IEZpZWxkUGFyc2VyPGFueT4gfSA9IHtcbiAgLy9FZG0uR3VpZCAxNi1ieXRlICgxMjgtYml0KSB1bmlxdWUgaWRlbnRpZmllclxuICBbRWRtVHlwZS5HdWlkXTogRWRtUGFyc2VyPHN0cmluZz4oSWRlbnRpdHksIElkZW50aXR5LCAodjogc3RyaW5nKSA9PiByYXcodikpLFxuICAvL0VkbS5JbnQxNiBTaWduZWQgMTYtYml0IGludGVnZXJcbiAgW0VkbVR5cGUuSW50MTZdOiBFZG1QYXJzZXI8bnVtYmVyPih0b051bWJlciwgdG9OdW1iZXIsIHRvTnVtYmVyKSxcbiAgLy9FZG0uU3RyaW5nIFNlcXVlbmNlIG9mIFVURi04IGNoYXJhY3RlcnNcbiAgW0VkbVR5cGUuU3RyaW5nXTogRWRtUGFyc2VyPHN0cmluZz4odG9TdHJpbmcsIHRvU3RyaW5nLCB0b1N0cmluZyksXG4gIC8vRWRtLkJvb2xlYW4gQmluYXJ5LXZhbHVlZCBsb2dpY1xuICBbRWRtVHlwZS5Cb29sZWFuXTogRWRtUGFyc2VyPGJvb2xlYW4+KHRvQm9vbGVhbiwgdG9Cb29sZWFuLCB0b0Jvb2xlYW4pLFxuICAvL0VkbS5CeXRlIFVuc2lnbmVkIDgtYml0IGludGVnZXJcbiAgW0VkbVR5cGUuQnl0ZV06IEVkbVBhcnNlcjxudW1iZXI+KHRvTnVtYmVyLCB0b051bWJlciwgdG9OdW1iZXIpLFxuICAvL0VkbS5TQnl0ZSBTaWduZWQgOC1iaXQgaW50ZWdlclxuICBbRWRtVHlwZS5TQnl0ZV06IEVkbVBhcnNlcjxudW1iZXI+KHRvTnVtYmVyLCB0b051bWJlciwgdG9OdW1iZXIpLFxuICAvL0VkbS5JbnQzMiBTaWduZWQgMTYtYml0IGludGVnZXJcbiAgW0VkbVR5cGUuSW50MzJdOiBFZG1QYXJzZXI8bnVtYmVyPih0b051bWJlciwgdG9OdW1iZXIsIHRvTnVtYmVyKSxcbiAgLy9FZG0uSW50NjQgU2lnbmVkIDE2LWJpdCBpbnRlZ2VyXG4gIFtFZG1UeXBlLkludDY0XTogRWRtUGFyc2VyPG51bWJlcj4odG9OdW1iZXIsIHRvTnVtYmVyLCB0b051bWJlciksXG4gIC8vRWRtLkRhdGUgRGF0ZSB3aXRob3V0IGEgdGltZS16b25lIG9mZnNldFxuICBbRWRtVHlwZS5EYXRlXTogRWRtUGFyc2VyPERhdGU+KFxuICAgICh2OiBhbnkpID0+IG5ldyBEYXRlKGAke3Z9VDAwOjAwOjAwLjAwMFpgKSxcbiAgICAodjogYW55KSA9PiB0b0RhdGUodikudG9JU09TdHJpbmcoKS5zdWJzdHJpbmcoMCwgMTApLFxuICAgICh2OiBhbnkpID0+IHJhdyh0b0RhdGUodikudG9JU09TdHJpbmcoKS5zdWJzdHJpbmcoMCwgMTApKSxcbiAgKSxcbiAgLy9FZG0uVGltZU9mRGF5IENsb2NrIHRpbWUgMDA6MDAtMjM6NTk6NTkuOTk5OTk5OTk5OTk5XG4gIFtFZG1UeXBlLlRpbWVPZkRheV06IEVkbVBhcnNlcjxEYXRlPihcbiAgICAodjogYW55KSA9PiBuZXcgRGF0ZShgMTk3MC0wMS0wMVQke3Z9WmApLFxuICAgICh2OiBhbnkpID0+IHRvRGF0ZSh2KS50b0lTT1N0cmluZygpLnN1YnN0cmluZygxMSwgMjMpLFxuICAgICh2OiBhbnkpID0+IHJhdyh0b0RhdGUodikudG9JU09TdHJpbmcoKS5zdWJzdHJpbmcoMTEsIDIzKSksXG4gICksXG4gIC8vRWRtLkRhdGVUaW1lT2Zmc2V0IERhdGUgYW5kIHRpbWUgd2l0aCBhIHRpbWUtem9uZSBvZmZzZXQsIG5vIGxlYXAgc2Vjb25kc1xuICBbRWRtVHlwZS5EYXRlVGltZU9mZnNldF06IEVkbVBhcnNlcjxEYXRlPihcbiAgICB0b0RhdGUsXG4gICAgKHY6IGFueSkgPT4gdG9EYXRlKHYpLnRvSVNPU3RyaW5nKCksXG4gICAgKHY6IGFueSkgPT4gcmF3KHRvRGF0ZSh2KS50b0lTT1N0cmluZygpKSxcbiAgKSxcbiAgLy9FZG0uRHVyYXRpb24gU2lnbmVkIGR1cmF0aW9uIGluIGRheXMsIGhvdXJzLCBtaW51dGVzLCBhbmQgKHN1YilzZWNvbmRzXG4gIFtFZG1UeXBlLkR1cmF0aW9uXTogRWRtUGFyc2VyPER1cmF0aW9uPihcbiAgICAodjogYW55KSA9PiBEdXJhdGlvbnMudG9EdXJhdGlvbih2KSxcbiAgICAodjogRHVyYXRpb24pID0+IER1cmF0aW9ucy50b1N0cmluZyh2KSxcbiAgICAodjogRHVyYXRpb24pID0+IHJhdyhEdXJhdGlvbnMudG9TdHJpbmcodikpLFxuICApLFxuICAvL0VkbS5EZWNpbWFsIE51bWVyaWMgdmFsdWVzIHdpdGggZml4ZWQgcHJlY2lzaW9uIGFuZCBzY2FsZVxuICBbRWRtVHlwZS5EZWNpbWFsXTogRWRtUGFyc2VyPG51bWJlcj4oXG4gICAgdG9OdW1iZXIsXG4gICAgKHY6IG51bWJlciwgbzogU3RydWN0dXJlZFR5cGVGaWVsZE9wdGlvbnMpID0+IHtcbiAgICAgIGlmIChvLmllZWU3NTRDb21wYXRpYmxlKSB7XG4gICAgICAgIGxldCB2c3RyID0gdi50b1ByZWNpc2lvbihvLmZpZWxkLnByZWNpc2lvbik7XG4gICAgICAgIGlmICh0eXBlb2Ygby5maWVsZC5zY2FsZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICB2c3RyID0gcGFyc2VGbG9hdCh2c3RyKS50b0ZpeGVkKG8uZmllbGQuc2NhbGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2c3RyO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHY7XG4gICAgfSxcbiAgICAodjogbnVtYmVyLCBvOiBTdHJ1Y3R1cmVkVHlwZUZpZWxkT3B0aW9ucykgPT4ge1xuICAgICAgaWYgKG8uaWVlZTc1NENvbXBhdGlibGUpIHtcbiAgICAgICAgbGV0IHZzdHIgPSB2LnRvUHJlY2lzaW9uKG8uZmllbGQucHJlY2lzaW9uKTtcbiAgICAgICAgaWYgKHR5cGVvZiBvLmZpZWxkLnNjYWxlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHZzdHIgPSBwYXJzZUZsb2F0KHZzdHIpLnRvRml4ZWQoby5maWVsZC5zY2FsZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJhdyh2c3RyKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2O1xuICAgIH0sXG4gICksXG4gIC8vRWRtLkRvdWJsZSBJRUVFIDc1NCBiaW5hcnk2NCBmbG9hdGluZy1wb2ludCBudW1iZXIgKDE1LTE3IGRlY2ltYWwgZGlnaXRzKVxuICBbRWRtVHlwZS5Eb3VibGVdOiBFZG1QYXJzZXI8bnVtYmVyPihcbiAgICAodjogYW55KSA9PiAodiA9PT0gJ0lORicgPyBJbmZpbml0eSA6ICh2IGFzIG51bWJlcikpLFxuICAgICh2OiBudW1iZXIpID0+ICh2ID09PSBJbmZpbml0eSA/ICdJTkYnIDogdiksXG4gICAgKHY6IG51bWJlcikgPT4gcmF3KHYgPT09IEluZmluaXR5ID8gJ0lORicgOiB2LnRvU3RyaW5nKCkpLFxuICApLFxuICAvL0VkbS5TaW5nbGUgSUVFRSA3NTQgYmluYXJ5MzIgZmxvYXRpbmctcG9pbnQgbnVtYmVyICg2LTkgZGVjaW1hbCBkaWdpdHMpXG4gIFtFZG1UeXBlLlNpbmdsZV06IEVkbVBhcnNlcjxudW1iZXI+KFxuICAgICh2OiBhbnkpID0+ICh2ID09PSAnSU5GJyA/IEluZmluaXR5IDogKHYgYXMgbnVtYmVyKSksXG4gICAgKHY6IG51bWJlcikgPT4gKHYgPT09IEluZmluaXR5ID8gJ0lORicgOiB2KSxcbiAgICAodjogbnVtYmVyKSA9PiByYXcodiA9PT0gSW5maW5pdHkgPyAnSU5GJyA6IHYudG9TdHJpbmcoKSksXG4gICksXG4gIC8vRWRtLkJpbmFyeSBCaW5hcnkgZGF0YVxuICBbRWRtVHlwZS5CaW5hcnldOiBFZG1QYXJzZXI8QXJyYXlCdWZmZXI+KFxuICAgICh2OiBzdHJpbmcpID0+IEFycmF5QnVmZmVycy50b0FycmF5QnVmZmVyKHYpLFxuICAgICh2OiBBcnJheUJ1ZmZlcikgPT4gQXJyYXlCdWZmZXJzLnRvU3RyaW5nKHYpLFxuICAgICh2OiBBcnJheUJ1ZmZlcikgPT4gcmF3KEFycmF5QnVmZmVycy50b1N0cmluZyh2KSksXG4gICksXG59O1xuXG4vKlxuRWRtLlN0cmVhbSBCaW5hcnkgZGF0YSBzdHJlYW1cbkVkbS5HZW9ncmFwaHkgQWJzdHJhY3QgYmFzZSB0eXBlIGZvciBhbGwgR2VvZ3JhcGh5IHR5cGVzXG5FZG0uR2VvZ3JhcGh5UG9pbnQgQSBwb2ludCBpbiBhIHJvdW5kLWVhcnRoIGNvb3JkaW5hdGUgc3lzdGVtXG5FZG0uR2VvZ3JhcGh5TGluZVN0cmluZyBMaW5lIHN0cmluZyBpbiBhIHJvdW5kLWVhcnRoIGNvb3JkaW5hdGUgc3lzdGVtXG5FZG0uR2VvZ3JhcGh5UG9seWdvbiBQb2x5Z29uIGluIGEgcm91bmQtZWFydGggY29vcmRpbmF0ZSBzeXN0ZW1cbkVkbS5HZW9ncmFwaHlNdWx0aVBvaW50IENvbGxlY3Rpb24gb2YgcG9pbnRzIGluIGEgcm91bmQtZWFydGggY29vcmRpbmF0ZSBzeXN0ZW1cbkVkbS5HZW9ncmFwaHlNdWx0aUxpbmVTdHJpbmcgQ29sbGVjdGlvbiBvZiBsaW5lIHN0cmluZ3MgaW4gYSByb3VuZC1lYXJ0aCBjb29yZGluYXRlIHN5c3RlbVxuRWRtLkdlb2dyYXBoeU11bHRpUG9seWdvbiBDb2xsZWN0aW9uIG9mIHBvbHlnb25zIGluIGEgcm91bmQtZWFydGggY29vcmRpbmF0ZSBzeXN0ZW1cbkVkbS5HZW9ncmFwaHlDb2xsZWN0aW9uIENvbGxlY3Rpb24gb2YgYXJiaXRyYXJ5IEdlb2dyYXBoeSB2YWx1ZXNcbkVkbS5HZW9tZXRyeSBBYnN0cmFjdCBiYXNlIHR5cGUgZm9yIGFsbCBHZW9tZXRyeSB0eXBlc1xuRWRtLkdlb21ldHJ5UG9pbnQgUG9pbnQgaW4gYSBmbGF0LWVhcnRoIGNvb3JkaW5hdGUgc3lzdGVtXG5FZG0uR2VvbWV0cnlMaW5lU3RyaW5nIExpbmUgc3RyaW5nIGluIGEgZmxhdC1lYXJ0aCBjb29yZGluYXRlIHN5c3RlbVxuRWRtLkdlb21ldHJ5UG9seWdvbiBQb2x5Z29uIGluIGEgZmxhdC1lYXJ0aCBjb29yZGluYXRlIHN5c3RlbVxuRWRtLkdlb21ldHJ5TXVsdGlQb2ludCBDb2xsZWN0aW9uIG9mIHBvaW50cyBpbiBhIGZsYXQtZWFydGggY29vcmRpbmF0ZSBzeXN0ZW1cbkVkbS5HZW9tZXRyeU11bHRpTGluZVN0cmluZyBDb2xsZWN0aW9uIG9mIGxpbmUgc3RyaW5ncyBpbiBhIGZsYXQtZWFydGggY29vcmRpbmF0ZSBzeXN0ZW1cbkVkbS5HZW9tZXRyeU11bHRpUG9seWdvbiBDb2xsZWN0aW9uIG9mIHBvbHlnb25zIGluIGEgZmxhdC1lYXJ0aCBjb29yZGluYXRlIHN5c3RlbVxuRWRtLkdlb21ldHJ5Q29sbGVjdGlvbiBDb2xsZWN0aW9uIG9mIGFyYml0cmFyeSBHZW9tZXRyeSB2YWx1ZXNcbiovXG4iXX0=
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9wYXJzZXJzL2VkbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQTJDLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQVksU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsNEJBQTRCO0FBQzVCLE1BQU0sU0FBUyxHQUFHLENBQ2hCLEVBQWdELEVBQ2hELEVBQWtELEVBQ2xELEVBQWtELEVBQzVCLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLFdBQVcsQ0FBQyxLQUFVLEVBQUUsT0FBbUM7UUFDekQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN6QixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsU0FBUyxDQUFDLEtBQVUsRUFBRSxPQUFtQztRQUN2RCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxNQUFNLENBQUMs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Q0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDMUQ7SUFDRCxzREFBc0Q7SUFDdEQsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUM1QixDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUN4QyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQ3JELENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDM0Q7SUFDRCwyRUFBMkU7SUFDM0UsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsU0FBUyxDQUNqQyxNQUFNLEVBQ04sQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDbkMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDekM7SUFDRCx3RUFBd0U7SUFDeEUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUMzQixDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFDbkMsQ0FBQyxDQUFXLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ3RDLENBQUMsQ0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUM1QztJQUNELDJEQUEyRDtJQUMzRCxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxT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QkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByYXcsIGlzUmF3VHlwZSB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9xdWVyeSc7XG5pbXBvcnQgeyBFZG1UeXBlLCBGaWVsZFBhcnNlciwgU3RydWN0dXJlZFR5cGVGaWVsZE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBBcnJheUJ1ZmZlcnMgfSBmcm9tICcuLi8uLi91dGlscy9hcnJheWJ1ZmZlcnMnO1xuaW1wb3J0IHsgRHVyYXRpb24sIER1cmF0aW9ucyB9IGZyb20gJy4uLy4uL3V0aWxzL2R1cmF0aW9ucyc7XG5cbi8vIENvcmUgRWRtVHlwZVBhcnNlckJ1aWxkZXJcbmNvbnN0IEVkbVBhcnNlciA9IDxUPihcbiAgX2Q6ICh2OiBhbnksIG86IFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zKSA9PiBULFxuICBfczogKHY6IGFueSwgbzogU3RydWN0dXJlZFR5cGVGaWVsZE9wdGlvbnMpID0+IGFueSxcbiAgX2U6ICh2OiBhbnksIG86IFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zKSA9PiBhbnksXG4pOiBGaWVsZFBhcnNlcjxUIHwgVFtdPiA9PiAoe1xuICBkZXNlcmlhbGl6ZSh2YWx1ZTogYW55LCBvcHRpb25zOiBTdHJ1Y3R1cmVkVHlwZUZpZWxkT3B0aW9ucyk6IFQgfCBUW10ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgPyB2YWx1ZS5tYXAoKHYpID0+IF9kKHYsIG9wdGlvbnMpKVxuICAgICAgOiBfZCh2YWx1ZSwgb3B0aW9ucyk7XG4gIH0sXG4gIHNlcmlhbGl6ZSh2YWx1ZTogYW55LCBvcHRpb25zOiBTdHJ1Y3R1cmVkVHlwZUZpZWxkT3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICA/IHZhbHVlLm1hcCgodikgPT4gX3Modiwgb3B0aW9ucykpXG4gICAgICA6IF9zKHZhbHVlLCBvcHRpb25zKTtcbiAgfSxcbiAgZW5jb2RlKHZhbHVlOiBhbnksIG9wdGlvbnM6IFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zKTogYW55IHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSlcbiAgICAgID8gdmFsdWUubWFwKCh2KSA9PiAoIWlzUmF3VHlwZSh2KSA/IF9lKHYsIG9wdGlvbnMpIDogdikpXG4gICAgICA6ICFpc1Jhd1R5cGUodmFsdWUpXG4gICAgICAgID8gX2UodmFsdWUsIG9wdGlvbnMpXG4gICAgICAgIDogdmFsdWU7XG4gIH0sXG59KTtcblxuY29uc3QgSWRlbnRpdHkgPSAodjogYW55KSA9PiB2O1xuY29uc3QgdG9OdW1iZXIgPSAodjogYW55KSA9PiBOdW1iZXIodik7XG5jb25zdCB0b1N0cmluZyA9ICh2OiBhbnkpID0+IHYudG9TdHJpbmcoKTtcbmNvbnN0IHRvQm9vbGVhbiA9ICh2OiBhbnkpID0+IEJvb2xlYW4odik7XG5jb25zdCB0b0RhdGUgPSAodjogYW55KSA9PiBuZXcgRGF0ZSh2KTtcblxuZXhwb3J0IGNvbnN0IEVETV9QQVJTRVJTOiB7IFt0eXBlOiBzdHJpbmddOiBGaWVsZFBhcnNlcjxhbnk+IH0gPSB7XG4gIC8vRWRtLkd1aWQgMTYtYnl0ZSAoMTI4LWJpdCkgdW5pcXVlIGlkZW50aWZpZXJcbiAgW0VkbVR5cGUuR3VpZF06IEVkbVBhcnNlcjxzdHJpbmc+KElkZW50aXR5LCBJZGVudGl0eSwgKHY6IHN0cmluZykgPT4gcmF3KHYpKSxcbiAgLy9FZG0uSW50MTYgU2lnbmVkIDE2LWJpdCBpbnRlZ2VyXG4gIFtFZG1UeXBlLkludDE2XTogRWRtUGFyc2VyPG51bWJlcj4odG9OdW1iZXIsIHRvTnVtYmVyLCB0b051bWJlciksXG4gIC8vRWRtLlN0cmluZyBTZXF1ZW5jZSBvZiBVVEYtOCBjaGFyYWN0ZXJzXG4gIFtFZG1UeXBlLlN0cmluZ106IEVkbVBhcnNlcjxzdHJpbmc+KHRvU3RyaW5nLCB0b1N0cmluZywgdG9TdHJpbmcpLFxuICAvL0VkbS5Cb29sZWFuIEJpbmFyeS12YWx1ZWQgbG9naWNcbiAgW0VkbVR5cGUuQm9vbGVhbl06IEVkbVBhcnNlcjxib29sZWFuPih0b0Jvb2xlYW4sIHRvQm9vbGVhbiwgdG9Cb29sZWFuKSxcbiAgLy9FZG0uQnl0ZSBVbnNpZ25lZCA4LWJpdCBpbnRlZ2VyXG4gIFtFZG1UeXBlLkJ5dGVdOiBFZG1QYXJzZXI8bnVtYmVyPih0b051bWJlciwgdG9OdW1iZXIsIHRvTnVtYmVyKSxcbiAgLy9FZG0uU0J5dGUgU2lnbmVkIDgtYml0IGludGVnZXJcbiAgW0VkbVR5cGUuU0J5dGVdOiBFZG1QYXJzZXI8bnVtYmVyPih0b051bWJlciwgdG9OdW1iZXIsIHRvTnVtYmVyKSxcbiAgLy9FZG0uSW50MzIgU2lnbmVkIDE2LWJpdCBpbnRlZ2VyXG4gIFtFZG1UeXBlLkludDMyXTogRWRtUGFyc2VyPG51bWJlcj4odG9OdW1iZXIsIHRvTnVtYmVyLCB0b051bWJlciksXG4gIC8vRWRtLkludDY0IFNpZ25lZCAxNi1iaXQgaW50ZWdlclxuICBbRWRtVHlwZS5JbnQ2NF06IEVkbVBhcnNlcjxudW1iZXI+KHRvTnVtYmVyLCB0b051bWJlciwgdG9OdW1iZXIpLFxuICAvL0VkbS5EYXRlIERhdGUgd2l0aG91dCBhIHRpbWUtem9uZSBvZmZzZXRcbiAgW0VkbVR5cGUuRGF0ZV06IEVkbVBhcnNlcjxEYXRlPihcbiAgICAodjogYW55KSA9PiBuZXcgRGF0ZShgJHt2fVQwMDowMDowMC4wMDBaYCksXG4gICAgKHY6IGFueSkgPT4gdG9EYXRlKHYpLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDEwKSxcbiAgICAodjogYW55KSA9PiByYXcodG9EYXRlKHYpLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDEwKSksXG4gICksXG4gIC8vRWRtLlRpbWVPZkRheSBDbG9jayB0aW1lIDAwOjAwLTIzOjU5OjU5Ljk5OTk5OTk5OTk5OVxuICBbRWRtVHlwZS5UaW1lT2ZEYXldOiBFZG1QYXJzZXI8RGF0ZT4oXG4gICAgKHY6IGFueSkgPT4gbmV3IERhdGUoYDE5NzAtMDEtMDFUJHt2fVpgKSxcbiAgICAodjogYW55KSA9PiB0b0RhdGUodikudG9JU09TdHJpbmcoKS5zdWJzdHJpbmcoMTEsIDIzKSxcbiAgICAodjogYW55KSA9PiByYXcodG9EYXRlKHYpLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDExLCAyMykpLFxuICApLFxuICAvL0VkbS5EYXRlVGltZU9mZnNldCBEYXRlIGFuZCB0aW1lIHdpdGggYSB0aW1lLXpvbmUgb2Zmc2V0LCBubyBsZWFwIHNlY29uZHNcbiAgW0VkbVR5cGUuRGF0ZVRpbWVPZmZzZXRdOiBFZG1QYXJzZXI8RGF0ZT4oXG4gICAgdG9EYXRlLFxuICAgICh2OiBhbnkpID0+IHRvRGF0ZSh2KS50b0lTT1N0cmluZygpLFxuICAgICh2OiBhbnkpID0+IHJhdyh0b0RhdGUodikudG9JU09TdHJpbmcoKSksXG4gICksXG4gIC8vRWRtLkR1cmF0aW9uIFNpZ25lZCBkdXJhdGlvbiBpbiBkYXlzLCBob3VycywgbWludXRlcywgYW5kIChzdWIpc2Vjb25kc1xuICBbRWRtVHlwZS5EdXJhdGlvbl06IEVkbVBhcnNlcjxEdXJhdGlvbj4oXG4gICAgKHY6IGFueSkgPT4gRHVyYXRpb25zLnRvRHVyYXRpb24odiksXG4gICAgKHY6IER1cmF0aW9uKSA9PiBEdXJhdGlvbnMudG9TdHJpbmcodiksXG4gICAgKHY6IER1cmF0aW9uKSA9PiByYXcoRHVyYXRpb25zLnRvU3RyaW5nKHYpKSxcbiAgKSxcbiAgLy9FZG0uRGVjaW1hbCBOdW1lcmljIHZhbHVlcyB3aXRoIGZpeGVkIHByZWNpc2lvbiBhbmQgc2NhbGVcbiAgW0VkbVR5cGUuRGVjaW1hbF06IEVkbVBhcnNlcjxudW1iZXI+KFxuICAgIHRvTnVtYmVyLFxuICAgICh2OiBudW1iZXIsIG86IFN0cnVjdHVyZWRUeXBlRmllbGRPcHRpb25zKSA9PiB7XG4gICAgICBpZiAoby5pZWVlNzU0Q29tcGF0aWJsZSkge1xuICAgICAgICBsZXQgdnN0ciA9IHYudG9QcmVjaXNpb24oby5maWVsZC5wcmVjaXNpb24pO1xuICAgICAgICBpZiAodHlwZW9mIG8uZmllbGQuc2NhbGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgdnN0ciA9IHBhcnNlRmxvYXQodnN0cikudG9GaXhlZChvLmZpZWxkLnNjYWxlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdnN0cjtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2O1xuICAgIH0sXG4gICAgKHY6IG51bWJlciwgbzogU3RydWN0dXJlZFR5cGVGaWVsZE9wdGlvbnMpID0+IHtcbiAgICAgIGlmIChvLmllZWU3NTRDb21wYXRpYmxlKSB7XG4gICAgICAgIGxldCB2c3RyID0gdi50b1ByZWNpc2lvbihvLmZpZWxkLnByZWNpc2lvbik7XG4gICAgICAgIGlmICh0eXBlb2Ygby5maWVsZC5zY2FsZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICB2c3RyID0gcGFyc2VGbG9hdCh2c3RyKS50b0ZpeGVkKG8uZmllbGQuc2NhbGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByYXcodnN0cik7XG4gICAgICB9XG4gICAgICByZXR1cm4gdjtcbiAgICB9LFxuICApLFxuICAvL0VkbS5Eb3VibGUgSUVFRSA3NTQgYmluYXJ5NjQgZmxvYXRpbmctcG9pbnQgbnVtYmVyICgxNS0xNyBkZWNpbWFsIGRpZ2l0cylcbiAgW0VkbVR5cGUuRG91YmxlXTogRWRtUGFyc2VyPG51bWJlcj4oXG4gICAgKHY6IGFueSkgPT4gKHYgPT09ICdJTkYnID8gSW5maW5pdHkgOiAodiBhcyBudW1iZXIpKSxcbiAgICAodjogbnVtYmVyKSA9PiAodiA9PT0gSW5maW5pdHkgPyAnSU5GJyA6IHYpLFxuICAgICh2OiBudW1iZXIpID0+IHJhdyh2ID09PSBJbmZpbml0eSA/ICdJTkYnIDogdi50b1N0cmluZygpKSxcbiAgKSxcbiAgLy9FZG0uU2luZ2xlIElFRUUgNzU0IGJpbmFyeTMyIGZsb2F0aW5nLXBvaW50IG51bWJlciAoNi05IGRlY2ltYWwgZGlnaXRzKVxuICBbRWRtVHlwZS5TaW5nbGVdOiBFZG1QYXJzZXI8bnVtYmVyPihcbiAgICAodjogYW55KSA9PiAodiA9PT0gJ0lORicgPyBJbmZpbml0eSA6ICh2IGFzIG51bWJlcikpLFxuICAgICh2OiBudW1iZXIpID0+ICh2ID09PSBJbmZpbml0eSA/ICdJTkYnIDogdiksXG4gICAgKHY6IG51bWJlcikgPT4gcmF3KHYgPT09IEluZmluaXR5ID8gJ0lORicgOiB2LnRvU3RyaW5nKCkpLFxuICApLFxuICAvL0VkbS5CaW5hcnkgQmluYXJ5IGRhdGFcbiAgW0VkbVR5cGUuQmluYXJ5XTogRWRtUGFyc2VyPEFycmF5QnVmZmVyPihcbiAgICAodjogc3RyaW5nKSA9PiBBcnJheUJ1ZmZlcnMudG9BcnJheUJ1ZmZlcih2KSxcbiAgICAodjogQXJyYXlCdWZmZXIpID0+IEFycmF5QnVmZmVycy50b1N0cmluZyh2KSxcbiAgICAodjogQXJyYXlCdWZmZXIpID0+IHJhdyhBcnJheUJ1ZmZlcnMudG9TdHJpbmcodikpLFxuICApLFxufTtcblxuLypcbkVkbS5TdHJlYW0gQmluYXJ5IGRhdGEgc3RyZWFtXG5FZG0uR2VvZ3JhcGh5IEFic3RyYWN0IGJhc2UgdHlwZSBmb3IgYWxsIEdlb2dyYXBoeSB0eXBlc1xuRWRtLkdlb2dyYXBoeVBvaW50IEEgcG9pbnQgaW4gYSByb3VuZC1lYXJ0aCBjb29yZGluYXRlIHN5c3RlbVxuRWRtLkdlb2dyYXBoeUxpbmVTdHJpbmcgTGluZSBzdHJpbmcgaW4gYSByb3VuZC1lYXJ0aCBjb29yZGluYXRlIHN5c3RlbVxuRWRtLkdlb2dyYXBoeVBvbHlnb24gUG9seWdvbiBpbiBhIHJvdW5kLWVhcnRoIGNvb3JkaW5hdGUgc3lzdGVtXG5FZG0uR2VvZ3JhcGh5TXVsdGlQb2ludCBDb2xsZWN0aW9uIG9mIHBvaW50cyBpbiBhIHJvdW5kLWVhcnRoIGNvb3JkaW5hdGUgc3lzdGVtXG5FZG0uR2VvZ3JhcGh5TXVsdGlMaW5lU3RyaW5nIENvbGxlY3Rpb24gb2YgbGluZSBzdHJpbmdzIGluIGEgcm91bmQtZWFydGggY29vcmRpbmF0ZSBzeXN0ZW1cbkVkbS5HZW9ncmFwaHlNdWx0aVBvbHlnb24gQ29sbGVjdGlvbiBvZiBwb2x5Z29ucyBpbiBhIHJvdW5kLWVhcnRoIGNvb3JkaW5hdGUgc3lzdGVtXG5FZG0uR2VvZ3JhcGh5Q29sbGVjdGlvbiBDb2xsZWN0aW9uIG9mIGFyYml0cmFyeSBHZW9ncmFwaHkgdmFsdWVzXG5FZG0uR2VvbWV0cnkgQWJzdHJhY3QgYmFzZSB0eXBlIGZvciBhbGwgR2VvbWV0cnkgdHlwZXNcbkVkbS5HZW9tZXRyeVBvaW50IFBvaW50IGluIGEgZmxhdC1lYXJ0aCBjb29yZGluYXRlIHN5c3RlbVxuRWRtLkdlb21ldHJ5TGluZVN0cmluZyBMaW5lIHN0cmluZyBpbiBhIGZsYXQtZWFydGggY29vcmRpbmF0ZSBzeXN0ZW1cbkVkbS5HZW9tZXRyeVBvbHlnb24gUG9seWdvbiBpbiBhIGZsYXQtZWFydGggY29vcmRpbmF0ZSBzeXN0ZW1cbkVkbS5HZW9tZXRyeU11bHRpUG9pbnQgQ29sbGVjdGlvbiBvZiBwb2ludHMgaW4gYSBmbGF0LWVhcnRoIGNvb3JkaW5hdGUgc3lzdGVtXG5FZG0uR2VvbWV0cnlNdWx0aUxpbmVTdHJpbmcgQ29sbGVjdGlvbiBvZiBsaW5lIHN0cmluZ3MgaW4gYSBmbGF0LWVhcnRoIGNvb3JkaW5hdGUgc3lzdGVtXG5FZG0uR2VvbWV0cnlNdWx0aVBvbHlnb24gQ29sbGVjdGlvbiBvZiBwb2x5Z29ucyBpbiBhIGZsYXQtZWFydGggY29vcmRpbmF0ZSBzeXN0ZW1cbkVkbS5HZW9tZXRyeUNvbGxlY3Rpb24gQ29sbGVjdGlvbiBvZiBhcmJpdHJhcnkgR2VvbWV0cnkgdmFsdWVzXG4qL1xuIl19
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { raw } from '../../resources/query';
|
|
2
|
-
import { JsonType } from '../../types';
|
|
3
|
-
import { Enums } from '../../utils';
|
|
2
|
+
import { JsonType, } from '../../types';
|
|
4
3
|
import { ODataAnnotatable } from '../annotation';
|
|
5
4
|
export class ODataEnumTypeFieldParser extends ODataAnnotatable {
|
|
5
|
+
name;
|
|
6
|
+
value;
|
|
6
7
|
constructor(name, field) {
|
|
7
8
|
super(field);
|
|
8
9
|
this.name = name;
|
|
@@ -13,6 +14,13 @@ export class ODataEnumTypeFieldParser extends ODataAnnotatable {
|
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
export class ODataEnumTypeParser extends ODataAnnotatable {
|
|
17
|
+
name;
|
|
18
|
+
namespace;
|
|
19
|
+
alias;
|
|
20
|
+
flags;
|
|
21
|
+
members;
|
|
22
|
+
_fields;
|
|
23
|
+
parserOptions;
|
|
16
24
|
constructor(config, namespace, alias) {
|
|
17
25
|
super(config);
|
|
18
26
|
this.name = config.name;
|
|
@@ -22,7 +30,7 @@ export class ODataEnumTypeParser extends ODataAnnotatable {
|
|
|
22
30
|
this.members = config.members;
|
|
23
31
|
this._fields = Object.entries(config.fields).map(([name, f]) => new ODataEnumTypeFieldParser(name, f));
|
|
24
32
|
}
|
|
25
|
-
configure({ options
|
|
33
|
+
configure({ options }) {
|
|
26
34
|
this.parserOptions = options;
|
|
27
35
|
}
|
|
28
36
|
isTypeOf(type) {
|
|
@@ -31,16 +39,28 @@ export class ODataEnumTypeParser extends ODataAnnotatable {
|
|
|
31
39
|
names.push(`${this.alias}.${this.name}`);
|
|
32
40
|
return names.indexOf(type) !== -1;
|
|
33
41
|
}
|
|
34
|
-
fields(
|
|
35
|
-
|
|
36
|
-
...this._fields
|
|
37
|
-
|
|
42
|
+
fields(namesValue) {
|
|
43
|
+
if (namesValue === undefined)
|
|
44
|
+
return [...this._fields];
|
|
45
|
+
if (Array.isArray(namesValue))
|
|
46
|
+
return [...this._fields.filter((f) => namesValue.includes(f.value))];
|
|
47
|
+
if (typeof namesValue === 'number') {
|
|
48
|
+
return [
|
|
49
|
+
...this._fields.filter((f) => (this.flags && Boolean(f.value & namesValue)) ||
|
|
50
|
+
f.value === namesValue),
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
if (typeof namesValue === 'string') {
|
|
54
|
+
const names = namesValue.split(',').map((o) => o.trim());
|
|
55
|
+
return this._fields.filter((f) => names.includes(f.name));
|
|
56
|
+
}
|
|
57
|
+
return [];
|
|
38
58
|
}
|
|
39
59
|
field(nameValue) {
|
|
40
|
-
|
|
60
|
+
const field = this.fields().find((f) => f.name === nameValue || f.value === nameValue);
|
|
41
61
|
//Throw error if not found
|
|
42
|
-
if (field === undefined)
|
|
43
|
-
|
|
62
|
+
//if (field === undefined)
|
|
63
|
+
// throw new Error(`${this.name} has no field for ${nameValue}`);
|
|
44
64
|
return field;
|
|
45
65
|
}
|
|
46
66
|
/**
|
|
@@ -56,10 +76,10 @@ export class ODataEnumTypeParser extends ODataAnnotatable {
|
|
|
56
76
|
// string -> number
|
|
57
77
|
const parserOptions = { ...this.parserOptions, ...options };
|
|
58
78
|
if (this.flags) {
|
|
59
|
-
return
|
|
79
|
+
return this.fields(value).reduce((acc, f) => acc | f.value, 0);
|
|
60
80
|
}
|
|
61
81
|
else {
|
|
62
|
-
return
|
|
82
|
+
return this.field(value)?.value;
|
|
63
83
|
}
|
|
64
84
|
}
|
|
65
85
|
// Serialize
|
|
@@ -68,7 +88,7 @@ export class ODataEnumTypeParser extends ODataAnnotatable {
|
|
|
68
88
|
// string | number -> string
|
|
69
89
|
const parserOptions = { ...this.parserOptions, ...options };
|
|
70
90
|
if (this.flags) {
|
|
71
|
-
let names =
|
|
91
|
+
let names = this.fields(value).map((f) => f.name);
|
|
72
92
|
if (names.length === 0)
|
|
73
93
|
names = [`${value}`];
|
|
74
94
|
return !parserOptions?.stringAsEnum
|
|
@@ -76,7 +96,7 @@ export class ODataEnumTypeParser extends ODataAnnotatable {
|
|
|
76
96
|
: names.join(', ');
|
|
77
97
|
}
|
|
78
98
|
else {
|
|
79
|
-
let name =
|
|
99
|
+
let name = this.field(value)?.name;
|
|
80
100
|
if (name === undefined)
|
|
81
101
|
name = `${value}`;
|
|
82
102
|
return !parserOptions?.stringAsEnum
|
|
@@ -96,35 +116,33 @@ export class ODataEnumTypeParser extends ODataAnnotatable {
|
|
|
96
116
|
}
|
|
97
117
|
// Json Schema
|
|
98
118
|
toJsonSchema() {
|
|
99
|
-
return
|
|
100
|
-
|
|
119
|
+
return this.flags
|
|
120
|
+
? {
|
|
101
121
|
title: this.name,
|
|
102
122
|
type: JsonType.array,
|
|
103
123
|
items: {
|
|
104
124
|
type: JsonType.integer,
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
125
|
+
},
|
|
126
|
+
}
|
|
127
|
+
: {
|
|
108
128
|
type: JsonType.integer,
|
|
109
|
-
enum: this._fields.map((f) => f.value)
|
|
110
|
-
}
|
|
129
|
+
enum: this._fields.map((f) => f.value),
|
|
130
|
+
};
|
|
111
131
|
}
|
|
112
|
-
validate(
|
|
132
|
+
validate(value, { method, navigation = false, } = {}) {
|
|
113
133
|
if (this.flags) {
|
|
114
|
-
let
|
|
115
|
-
return
|
|
116
|
-
? ['mismatch']
|
|
117
|
-
: undefined;
|
|
134
|
+
let fields = this.fields(value);
|
|
135
|
+
return value && fields.length === 0 ? ['mismatch'] : undefined;
|
|
118
136
|
}
|
|
119
137
|
else {
|
|
120
|
-
return
|
|
138
|
+
return this.fields(value).length !== 1 ? ['mismatch'] : undefined;
|
|
121
139
|
}
|
|
122
140
|
}
|
|
123
141
|
unpack(value) {
|
|
124
|
-
return
|
|
142
|
+
return this.fields(value).map((f) => f.value);
|
|
125
143
|
}
|
|
126
144
|
pack(value) {
|
|
127
|
-
return
|
|
145
|
+
return this.fields(value).reduce((acc, v) => acc | v.value, 0);
|
|
128
146
|
}
|
|
129
147
|
}
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9wYXJzZXJzL2VudW0tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUMsT0FBTyxFQU1MLFFBQVEsRUFDVCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxNQUFNLE9BQU8sd0JBQTRCLFNBQVEsZ0JBQWdCO0lBSS9ELFlBQVksSUFBWSxFQUFFLEtBQTZCO1FBQ3JELEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQXNCO1FBQzdCLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDMUQsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLG1CQUNYLFNBQVEsZ0JBQWdCO0lBV3hCLFlBQVksTUFBeUIsRUFBRSxTQUFpQixFQUFFLEtBQWM7UUFDdEUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQzlDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksd0JBQXdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUNSLE9BQU8sRUFDUCxhQUFhLEVBQ2Isa0JBQWtCLEdBS25CO1FBQ0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ25CLElBQUksS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN6RCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFTO1FBQ2QsT0FBTztZQUNMLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ3BCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBTyxDQUFDLENBQUMsS0FBTSxHQUFTLEtBQU0sQ0FBQyxDQUNyRTtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQXFCO1FBQ3pCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQzVCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FDckQsQ0FBQztRQUNGLDBCQUEwQjtRQUMxQixJQUFJLEtBQUssS0FBSyxTQUFTO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSx1QkFBdUIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFJLE1BQWlEO1FBQzVELE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVcsQ0FBQyxLQUFhLEVBQUUsT0FBdUI7UUFDaEQsbUJBQW1CO1FBQ25CLE1BQU0sYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUNwRCxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQ25CLENBQUMsQ0FDSyxDQUFDO1NBQ1Y7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBTSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBUSxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELFlBQVk7SUFDWixTQUFTLENBQUMsS0FBUSxFQUFFLE9BQXVCO1FBQ3pDLDJCQUEyQjtRQUMzQiw0QkFBNEI7UUFDNUIsTUFBTSxhQUFhLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUM1RCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0MsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsS0FBSyxHQUFHLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsWUFBWTtnQkFDakMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQ3ZELENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RCO2FBQU07WUFDTCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0MsSUFBSSxJQUFJLEtBQUssU0FBUztnQkFBRSxJQUFJLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQztZQUMxQyxPQUFPLENBQUMsYUFBYSxFQUFFLFlBQVk7Z0JBQ2pDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUc7Z0JBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDVjtJQUNILENBQUM7SUFFRCxRQUFRO0lBQ1IsTUFBTSxDQUFDLEtBQVEsRUFBRSxPQUF1QjtRQUN0QyxNQUFNLGFBQWEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQzVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3hELElBQUksVUFBVSxLQUFLLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUMvQyxPQUFPLGFBQWEsRUFBRSxZQUFZO1lBQ2hDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxVQUFVLEdBQUcsQ0FBQztZQUN4QixDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFBWTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNuQixDQUFDO2dCQUNDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDaEIsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNwQixLQUFLLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPO2lCQUN2QjthQUNGLENBQUMsQ0FBQyxDQUFDO1lBQ0osQ0FBQztnQkFDQyxJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU87Z0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzthQUN2QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUSxDQUNOLE1BQXVCLEVBQ3ZCLEVBQ0UsTUFBTSxFQUNOLFVBQVUsR0FBRyxLQUFLLE1BSWhCLEVBQUU7UUFFTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbkQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUNkLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDZjthQUFNO1lBQ0wsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFRO1FBQ2IsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFlO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FDL0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUNuQixDQUFDLENBQ0ssQ0FBQztJQUNYLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJhdyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9xdWVyeSc7XG5pbXBvcnQge1xuICBFbnVtVHlwZUNvbmZpZyxcbiAgRW51bVR5cGVGaWVsZENvbmZpZyxcbiAgUGFyc2VyT3B0aW9ucyxcbiAgUGFyc2VyLFxuICBGaWVsZFBhcnNlcixcbiAgSnNvblR5cGVcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRW51bXMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBPRGF0YUFubm90YXRhYmxlIH0gZnJvbSAnLi4vYW5ub3RhdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YUVudW1UeXBlRmllbGRQYXJzZXI8RT4gZXh0ZW5kcyBPRGF0YUFubm90YXRhYmxlIHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZTogRTtcblxuICBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcsIGZpZWxkOiBFbnVtVHlwZUZpZWxkQ29uZmlnPEU+KSB7XG4gICAgc3VwZXIoZmllbGQpO1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy52YWx1ZSA9IGZpZWxkLnZhbHVlO1xuICB9XG5cbiAgdGl0bGVpemUodGVybT86IHN0cmluZyB8IFJlZ0V4cCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0ZXJtICYmIHRoaXMuYW5ub3RhdGVkVmFsdWUodGVybSkpIHx8IHRoaXMubmFtZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgT0RhdGFFbnVtVHlwZVBhcnNlcjxFPlxuICBleHRlbmRzIE9EYXRhQW5ub3RhdGFibGVcbiAgaW1wbGVtZW50cyBGaWVsZFBhcnNlcjxFPlxue1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBhbGlhcz86IHN0cmluZztcbiAgZmxhZ3M/OiBib29sZWFuO1xuICBtZW1iZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBFIH0gfCB7IFt2YWx1ZTogbnVtYmVyXTogc3RyaW5nIH07XG4gIHByaXZhdGUgX2ZpZWxkczogT0RhdGFFbnVtVHlwZUZpZWxkUGFyc2VyPEU+W107XG4gIHBhcnNlck9wdGlvbnM/OiBQYXJzZXJPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRW51bVR5cGVDb25maWc8RT4sIG5hbWVzcGFjZTogc3RyaW5nLCBhbGlhcz86IHN0cmluZykge1xuICAgIHN1cGVyKGNvbmZpZyk7XG4gICAgdGhpcy5uYW1lID0gY29uZmlnLm5hbWU7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBuYW1lc3BhY2U7XG4gICAgdGhpcy5hbGlhcyA9IGFsaWFzO1xuICAgIHRoaXMuZmxhZ3MgPSBjb25maWcuZmxhZ3M7XG4gICAgdGhpcy5tZW1iZXJzID0gY29uZmlnLm1lbWJlcnM7XG4gICAgdGhpcy5fZmllbGRzID0gT2JqZWN0LmVudHJpZXMoY29uZmlnLmZpZWxkcykubWFwKFxuICAgICAgKFtuYW1lLCBmXSkgPT4gbmV3IE9EYXRhRW51bVR5cGVGaWVsZFBhcnNlcihuYW1lLCBmKSxcbiAgICApO1xuICB9XG5cbiAgY29uZmlndXJlKHtcbiAgICBvcHRpb25zLFxuICAgIHBhcnNlckZvclR5cGUsXG4gICAgZmluZE9wdGlvbnNGb3JUeXBlLFxuICB9OiB7XG4gICAgb3B0aW9uczogUGFyc2VyT3B0aW9ucztcbiAgICBwYXJzZXJGb3JUeXBlOiAodHlwZTogc3RyaW5nKSA9PiBQYXJzZXI8YW55PjtcbiAgICBmaW5kT3B0aW9uc0ZvclR5cGU6ICh0eXBlOiBzdHJpbmcpID0+IGFueTtcbiAgfSkge1xuICAgIHRoaXMucGFyc2VyT3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICBpc1R5cGVPZih0eXBlOiBzdHJpbmcpIHtcbiAgICB2YXIgbmFtZXMgPSBbYCR7dGhpcy5uYW1lc3BhY2V9LiR7dGhpcy5uYW1lfWBdO1xuICAgIGlmICh0aGlzLmFsaWFzKSBuYW1lcy5wdXNoKGAke3RoaXMuYWxpYXN9LiR7dGhpcy5uYW1lfWApO1xuICAgIHJldHVybiBuYW1lcy5pbmRleE9mKHR5cGUpICE9PSAtMTtcbiAgfVxuXG4gIGZpZWxkcyh2YWx1ZT86IEUpOiBPRGF0YUVudW1UeXBlRmllbGRQYXJzZXI8RT5bXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnRoaXMuX2ZpZWxkcy5maWx0ZXIoXG4gICAgICAgIChmKSA9PiB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IEJvb2xlYW4oKDxhbnk+Zi52YWx1ZSkgJiAoPGFueT52YWx1ZSkpLFxuICAgICAgKSxcbiAgICBdO1xuICB9XG5cbiAgZmllbGQobmFtZVZhbHVlOiBzdHJpbmcgfCBFKSB7XG4gICAgbGV0IGZpZWxkID0gdGhpcy5maWVsZHMoKS5maW5kKFxuICAgICAgKGYpID0+IGYubmFtZSA9PT0gbmFtZVZhbHVlIHx8IGYudmFsdWUgPT09IG5hbWVWYWx1ZSxcbiAgICApO1xuICAgIC8vVGhyb3cgZXJyb3IgaWYgbm90IGZvdW5kXG4gICAgaWYgKGZpZWxkID09PSB1bmRlZmluZWQpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dGhpcy5uYW1lfSBoYXMgbm8gZmllbGQgbmFtZWQgJHtTdHJpbmcobmFtZSl9YCk7XG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcCB0aGUgZmllbGRzIG9mIHRoZSBlbnVtIHR5cGUuXG4gICAqIEBwYXJhbSBtYXBwZXIgRnVuY3Rpb24gdGhhdCBtYXBzIHRoZSB2YWx1ZSB0byB0aGUgbmV3IHZhbHVlXG4gICAqIEByZXR1cm5zIFRoZSBmaWVsZHMgbWFwcGVkIGJ5IHRoZSBtYXBwZXJcbiAgICovXG4gIG1hcEZpZWxkczxSPihtYXBwZXI6IChmaWVsZDogT0RhdGFFbnVtVHlwZUZpZWxkUGFyc2VyPEU+KSA9PiBSKSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRzKCkubWFwKG1hcHBlcik7XG4gIH1cblxuICAvLyBEZXNlcmlhbGl6ZVxuICBkZXNlcmlhbGl6ZSh2YWx1ZTogc3RyaW5nLCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IEUge1xuICAgIC8vIHN0cmluZyAtPiBudW1iZXJcbiAgICBjb25zdCBwYXJzZXJPcHRpb25zID0geyAuLi50aGlzLnBhcnNlck9wdGlvbnMsIC4uLm9wdGlvbnMgfTtcbiAgICBpZiAodGhpcy5mbGFncykge1xuICAgICAgcmV0dXJuIEVudW1zLnRvVmFsdWVzPGFueT4odGhpcy5tZW1iZXJzLCB2YWx1ZSkucmVkdWNlKFxuICAgICAgICAoYWNjLCB2KSA9PiBhY2MgfCB2LFxuICAgICAgICAwLFxuICAgICAgKSBhcyBhbnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBFbnVtcy50b1ZhbHVlPGFueT4odGhpcy5tZW1iZXJzLCB2YWx1ZSkgYXMgYW55O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNlcmlhbGl6ZVxuICBzZXJpYWxpemUodmFsdWU6IEUsIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBFbnVtIGFyZSBzdHJpbmcgfCBudW1iZXJcbiAgICAvLyBzdHJpbmcgfCBudW1iZXIgLT4gc3RyaW5nXG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IHsgLi4udGhpcy5wYXJzZXJPcHRpb25zLCAuLi5vcHRpb25zIH07XG4gICAgaWYgKHRoaXMuZmxhZ3MpIHtcbiAgICAgIGxldCBuYW1lcyA9IEVudW1zLnRvRmxhZ3ModGhpcy5tZW1iZXJzLCB2YWx1ZSk7XG4gICAgICBpZiAobmFtZXMubGVuZ3RoID09PSAwKSBuYW1lcyA9IFtgJHt2YWx1ZX1gXTtcbiAgICAgIHJldHVybiAhcGFyc2VyT3B0aW9ucz8uc3RyaW5nQXNFbnVtXG4gICAgICAgID8gYCR7dGhpcy5uYW1lc3BhY2V9LiR7dGhpcy5uYW1lfScke25hbWVzLmpvaW4oJywgJyl9J2BcbiAgICAgICAgOiBuYW1lcy5qb2luKCcsICcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbmFtZSA9IEVudW1zLnRvTmFtZSh0aGlzLm1lbWJlcnMsIHZhbHVlKTtcbiAgICAgIGlmIChuYW1lID09PSB1bmRlZmluZWQpIG5hbWUgPSBgJHt2YWx1ZX1gO1xuICAgICAgcmV0dXJuICFwYXJzZXJPcHRpb25zPy5zdHJpbmdBc0VudW1cbiAgICAgICAgPyBgJHt0aGlzLm5hbWVzcGFjZX0uJHt0aGlzLm5hbWV9JyR7bmFtZX0nYFxuICAgICAgICA6IG5hbWU7XG4gICAgfVxuICB9XG5cbiAgLy9FbmNvZGVcbiAgZW5jb2RlKHZhbHVlOiBFLCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IHsgLi4udGhpcy5wYXJzZXJPcHRpb25zLCAuLi5vcHRpb25zIH07XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHRoaXMuc2VyaWFsaXplKHZhbHVlLCBwYXJzZXJPcHRpb25zKTtcbiAgICBpZiAoc2VyaWFsaXplZCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiBwYXJzZXJPcHRpb25zPy5zdHJpbmdBc0VudW1cbiAgICAgID8gcmF3KGAnJHtzZXJpYWxpemVkfSdgKVxuICAgICAgOiByYXcoc2VyaWFsaXplZCk7XG4gIH1cblxuICAvLyBKc29uIFNjaGVtYVxuICB0b0pzb25TY2hlbWEoKSB7XG4gICAgcmV0dXJuICh0aGlzLmZsYWdzKSA/XG4gICAgICAoe1xuICAgICAgICB0aXRsZTogdGhpcy5uYW1lLFxuICAgICAgICB0eXBlOiBKc29uVHlwZS5hcnJheSxcbiAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICB0eXBlOiBKc29uVHlwZS5pbnRlZ2VyLFxuICAgICAgICB9XG4gICAgICB9KSA6XG4gICAgICAoe1xuICAgICAgICB0eXBlOiBKc29uVHlwZS5pbnRlZ2VyLFxuICAgICAgICBlbnVtOiB0aGlzLl9maWVsZHMubWFwKChmKSA9PiBmLnZhbHVlKVxuICAgICAgfSk7XG4gIH1cblxuICB2YWxpZGF0ZShcbiAgICBtZW1iZXI6IHN0cmluZyB8IG51bWJlcixcbiAgICB7XG4gICAgICBtZXRob2QsXG4gICAgICBuYXZpZ2F0aW9uID0gZmFsc2UsXG4gICAgfToge1xuICAgICAgbWV0aG9kPzogJ2NyZWF0ZScgfCAndXBkYXRlJyB8ICdtb2RpZnknO1xuICAgICAgbmF2aWdhdGlvbj86IGJvb2xlYW47XG4gICAgfSA9IHt9LFxuICApOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuZmxhZ3MpIHtcbiAgICAgIGxldCBtZW1iZXJzID0gRW51bXMudG9WYWx1ZXModGhpcy5tZW1iZXJzLCBtZW1iZXIpO1xuICAgICAgcmV0dXJuIG1lbWJlcnMuc29tZSgobWVtYmVyKSA9PiAhKG1lbWJlciBpbiB0aGlzLm1lbWJlcnMpKVxuICAgICAgICA/IFsnbWlzbWF0Y2gnXVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICEobWVtYmVyIGluIHRoaXMubWVtYmVycykgPyBbJ21pc21hdGNoJ10gOiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgdW5wYWNrKHZhbHVlOiBFKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBFbnVtcy50b1ZhbHVlcyh0aGlzLm1lbWJlcnMsIHZhbHVlKTtcbiAgfVxuXG4gIHBhY2sodmFsdWU6IG51bWJlcltdKTogRSB7XG4gICAgcmV0dXJuIEVudW1zLnRvVmFsdWVzKHRoaXMubWVtYmVycywgdmFsdWUpLnJlZHVjZShcbiAgICAgIChhY2MsIHYpID0+IGFjYyB8IHYsXG4gICAgICAwLFxuICAgICkgYXMgYW55O1xuICB9XG59XG4iXX0=
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9wYXJzZXJzL2VudW0tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUMsT0FBTyxFQUtMLFFBQVEsR0FDVCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdCQUFnQjtJQUM1RCxJQUFJLENBQVM7SUFDYixLQUFLLENBQVM7SUFFZCxZQUFZLElBQVksRUFBRSxLQUEwQjtRQUNsRCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFzQjtRQUM3QixPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzFELENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxtQkFDWCxTQUFRLGdCQUFnQjtJQUd4QixJQUFJLENBQVM7SUFDYixTQUFTLENBQVM7SUFDbEIsS0FBSyxDQUFVO0lBQ2YsS0FBSyxDQUFXO0lBQ2hCLE9BQU8sQ0FBMkQ7SUFDMUQsT0FBTyxDQUE2QjtJQUM1QyxhQUFhLENBQWlCO0lBRTlCLFlBQVksTUFBc0IsRUFBRSxTQUFpQixFQUFFLEtBQWM7UUFDbkUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUks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LENBQVEsQ0FBQztJQUN4RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByYXcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcXVlcnknO1xuaW1wb3J0IHtcbiAgRW51bVR5cGVDb25maWcsXG4gIEVudW1UeXBlRmllbGRDb25maWcsXG4gIFBhcnNlck9wdGlvbnMsXG4gIEZpZWxkUGFyc2VyLFxuICBKc29uVHlwZSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgT0RhdGFBbm5vdGF0YWJsZSB9IGZyb20gJy4uL2Fubm90YXRpb24nO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFFbnVtVHlwZUZpZWxkUGFyc2VyIGV4dGVuZHMgT0RhdGFBbm5vdGF0YWJsZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcsIGZpZWxkOiBFbnVtVHlwZUZpZWxkQ29uZmlnKSB7XG4gICAgc3VwZXIoZmllbGQpO1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy52YWx1ZSA9IGZpZWxkLnZhbHVlO1xuICB9XG5cbiAgdGl0bGVpemUodGVybT86IHN0cmluZyB8IFJlZ0V4cCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0ZXJtICYmIHRoaXMuYW5ub3RhdGVkVmFsdWUodGVybSkpIHx8IHRoaXMubmFtZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgT0RhdGFFbnVtVHlwZVBhcnNlcjxFPlxuICBleHRlbmRzIE9EYXRhQW5ub3RhdGFibGVcbiAgaW1wbGVtZW50cyBGaWVsZFBhcnNlcjxFPlxue1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBhbGlhcz86IHN0cmluZztcbiAgZmxhZ3M/OiBib29sZWFuO1xuICBtZW1iZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBudW1iZXIgfSB8IHsgW3ZhbHVlOiBudW1iZXJdOiBzdHJpbmcgfTtcbiAgcHJpdmF0ZSBfZmllbGRzOiBPRGF0YUVudW1UeXBlRmllbGRQYXJzZXJbXTtcbiAgcGFyc2VyT3B0aW9ucz86IFBhcnNlck9wdGlvbnM7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBFbnVtVHlwZUNvbmZpZywgbmFtZXNwYWNlOiBzdHJpbmcsIGFsaWFzPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29uZmlnKTtcbiAgICB0aGlzLm5hbWUgPSBjb25maWcubmFtZTtcbiAgICB0aGlzLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTtcbiAgICB0aGlzLmFsaWFzID0gYWxpYXM7XG4gICAgdGhpcy5mbGFncyA9IGNvbmZpZy5mbGFncztcbiAgICB0aGlzLm1lbWJlcnMgPSBjb25maWcubWVtYmVycztcbiAgICB0aGlzLl9maWVsZHMgPSBPYmplY3QuZW50cmllcyhjb25maWcuZmllbGRzKS5tYXAoXG4gICAgICAoW25hbWUsIGZdKSA9PiBuZXcgT0RhdGFFbnVtVHlwZUZpZWxkUGFyc2VyKG5hbWUsIGYpLFxuICAgICk7XG4gIH1cblxuICBjb25maWd1cmUoeyBvcHRpb25zIH06IHsgb3B0aW9uczogUGFyc2VyT3B0aW9ucyB9KSB7XG4gICAgdGhpcy5wYXJzZXJPcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIGlzVHlwZU9mKHR5cGU6IHN0cmluZykge1xuICAgIHZhciBuYW1lcyA9IFtgJHt0aGlzLm5hbWVzcGFjZX0uJHt0aGlzLm5hbWV9YF07XG4gICAgaWYgKHRoaXMuYWxpYXMpIG5hbWVzLnB1c2goYCR7dGhpcy5hbGlhc30uJHt0aGlzLm5hbWV9YCk7XG4gICAgcmV0dXJuIG5hbWVzLmluZGV4T2YodHlwZSkgIT09IC0xO1xuICB9XG5cbiAgZmllbGRzKG5hbWVzVmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBudW1iZXJbXSk6IE9EYXRhRW51bVR5cGVGaWVsZFBhcnNlcltdIHtcbiAgICBpZiAobmFtZXNWYWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gWy4uLnRoaXMuX2ZpZWxkc107XG4gICAgaWYgKEFycmF5LmlzQXJyYXkobmFtZXNWYWx1ZSkpXG4gICAgICByZXR1cm4gWy4uLnRoaXMuX2ZpZWxkcy5maWx0ZXIoKGYpID0+IG5hbWVzVmFsdWUuaW5jbHVkZXMoZi52YWx1ZSkpXTtcbiAgICBpZiAodHlwZW9mIG5hbWVzVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi50aGlzLl9maWVsZHMuZmlsdGVyKFxuICAgICAgICAgIChmKSA9PlxuICAgICAgICAgICAgKHRoaXMuZmxhZ3MgJiYgQm9vbGVhbigoPGFueT5mLnZhbHVlKSAmICg8YW55Pm5hbWVzVmFsdWUpKSkgfHxcbiAgICAgICAgICAgIGYudmFsdWUgPT09IG5hbWVzVmFsdWUsXG4gICAgICAgICksXG4gICAgICBdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIG5hbWVzVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBuYW1lcyA9IG5hbWVzVmFsdWUuc3BsaXQoJywnKS5tYXAoKG8pID0+IG8udHJpbSgpKTtcbiAgICAgIHJldHVybiB0aGlzLl9maWVsZHMuZmlsdGVyKChmKSA9PiBuYW1lcy5pbmNsdWRlcyhmLm5hbWUpKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgZmllbGQobmFtZVZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGRzKCkuZmluZChcbiAgICAgIChmKSA9PiBmLm5hbWUgPT09IG5hbWVWYWx1ZSB8fCBmLnZhbHVlID09PSBuYW1lVmFsdWUsXG4gICAgKTtcbiAgICAvL1Rocm93IGVycm9yIGlmIG5vdCBmb3VuZFxuICAgIC8vaWYgKGZpZWxkID09PSB1bmRlZmluZWQpXG4gICAgLy8gIHRocm93IG5ldyBFcnJvcihgJHt0aGlzLm5hbWV9IGhhcyBubyBmaWVsZCBmb3IgJHtuYW1lVmFsdWV9YCk7XG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcCB0aGUgZmllbGRzIG9mIHRoZSBlbnVtIHR5cGUuXG4gICAqIEBwYXJhbSBtYXBwZXIgRnVuY3Rpb24gdGhhdCBtYXBzIHRoZSB2YWx1ZSB0byB0aGUgbmV3IHZhbHVlXG4gICAqIEByZXR1cm5zIFRoZSBmaWVsZHMgbWFwcGVkIGJ5IHRoZSBtYXBwZXJcbiAgICovXG4gIG1hcEZpZWxkczxSPihtYXBwZXI6IChmaWVsZDogT0RhdGFFbnVtVHlwZUZpZWxkUGFyc2VyKSA9PiBSKSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRzKCkubWFwKG1hcHBlcik7XG4gIH1cblxuICAvLyBEZXNlcmlhbGl6ZVxuICBkZXNlcmlhbGl6ZSh2YWx1ZTogc3RyaW5nLCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IEUge1xuICAgIC8vIHN0cmluZyAtPiBudW1iZXJcbiAgICBjb25zdCBwYXJzZXJPcHRpb25zID0geyAuLi50aGlzLnBhcnNlck9wdGlvbnMsIC4uLm9wdGlvbnMgfTtcbiAgICBpZiAodGhpcy5mbGFncykge1xuICAgICAgcmV0dXJuIHRoaXMuZmllbGRzKHZhbHVlKS5yZWR1Y2UoKGFjYywgZikgPT4gYWNjIHwgZi52YWx1ZSwgMCkgYXMgRTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZmllbGQodmFsdWUpPy52YWx1ZSBhcyBFO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNlcmlhbGl6ZVxuICBzZXJpYWxpemUodmFsdWU6IG51bWJlciwgb3B0aW9ucz86IFBhcnNlck9wdGlvbnMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIEVudW0gYXJlIHN0cmluZyB8IG51bWJlclxuICAgIC8vIHN0cmluZyB8IG51bWJlciAtPiBzdHJpbmdcbiAgICBjb25zdCBwYXJzZXJPcHRpb25zID0geyAuLi50aGlzLnBhcnNlck9wdGlvbnMsIC4uLm9wdGlvbnMgfTtcbiAgICBpZiAodGhpcy5mbGFncykge1xuICAgICAgbGV0IG5hbWVzID0gdGhpcy5maWVsZHModmFsdWUpLm1hcCgoZikgPT4gZi5uYW1lKTtcbiAgICAgIGlmIChuYW1lcy5sZW5ndGggPT09IDApIG5hbWVzID0gW2Ake3ZhbHVlfWBdO1xuICAgICAgcmV0dXJuICFwYXJzZXJPcHRpb25zPy5zdHJpbmdBc0VudW1cbiAgICAgICAgPyBgJHt0aGlzLm5hbWVzcGFjZX0uJHt0aGlzLm5hbWV9JyR7bmFtZXMuam9pbignLCAnKX0nYFxuICAgICAgICA6IG5hbWVzLmpvaW4oJywgJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBuYW1lID0gdGhpcy5maWVsZCh2YWx1ZSk/Lm5hbWU7XG4gICAgICBpZiAobmFtZSA9PT0gdW5kZWZpbmVkKSBuYW1lID0gYCR7dmFsdWV9YDtcbiAgICAgIHJldHVybiAhcGFyc2VyT3B0aW9ucz8uc3RyaW5nQXNFbnVtXG4gICAgICAgID8gYCR7dGhpcy5uYW1lc3BhY2V9LiR7dGhpcy5uYW1lfScke25hbWV9J2BcbiAgICAgICAgOiBuYW1lO1xuICAgIH1cbiAgfVxuXG4gIC8vRW5jb2RlXG4gIGVuY29kZSh2YWx1ZTogbnVtYmVyLCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IGFueSB7XG4gICAgY29uc3QgcGFyc2VyT3B0aW9ucyA9IHsgLi4udGhpcy5wYXJzZXJPcHRpb25zLCAuLi5vcHRpb25zIH07XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHRoaXMuc2VyaWFsaXplKHZhbHVlLCBwYXJzZXJPcHRpb25zKTtcbiAgICBpZiAoc2VyaWFsaXplZCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiBwYXJzZXJPcHRpb25zPy5zdHJpbmdBc0VudW1cbiAgICAgID8gcmF3KGAnJHtzZXJpYWxpemVkfSdgKVxuICAgICAgOiByYXcoc2VyaWFsaXplZCk7XG4gIH1cblxuICAvLyBKc29uIFNjaGVtYVxuICB0b0pzb25TY2hlbWEoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3NcbiAgICAgID8ge1xuICAgICAgICAgIHRpdGxlOiB0aGlzLm5hbWUsXG4gICAgICAgICAgdHlwZTogSnNvblR5cGUuYXJyYXksXG4gICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgIHR5cGU6IEpzb25UeXBlLmludGVnZXIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgdHlwZTogSnNvblR5cGUuaW50ZWdlcixcbiAgICAgICAgICBlbnVtOiB0aGlzLl9maWVsZHMubWFwKChmKSA9PiBmLnZhbHVlKSxcbiAgICAgICAgfTtcbiAgfVxuXG4gIHZhbGlkYXRlKFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsXG4gICAge1xuICAgICAgbWV0aG9kLFxuICAgICAgbmF2aWdhdGlvbiA9IGZhbHNlLFxuICAgIH06IHtcbiAgICAgIG1ldGhvZD86ICdjcmVhdGUnIHwgJ3VwZGF0ZScgfCAnbW9kaWZ5JztcbiAgICAgIG5hdmlnYXRpb24/OiBib29sZWFuO1xuICAgIH0gPSB7fSxcbiAgKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmZsYWdzKSB7XG4gICAgICBsZXQgZmllbGRzID0gdGhpcy5maWVsZHModmFsdWUpO1xuICAgICAgcmV0dXJuIHZhbHVlICYmIGZpZWxkcy5sZW5ndGggPT09IDAgPyBbJ21pc21hdGNoJ10gOiB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmZpZWxkcyh2YWx1ZSkubGVuZ3RoICE9PSAxID8gWydtaXNtYXRjaCddIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHVucGFjayh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogbnVtYmVyW10ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkcyh2YWx1ZSkubWFwKChmKSA9PiBmLnZhbHVlKTtcbiAgfVxuXG4gIHBhY2sodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bWJlcltdKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZHModmFsdWUpLnJlZHVjZSgoYWNjLCB2KSA9PiBhY2MgfCB2LnZhbHVlLCAwKSBhcyBhbnk7XG4gIH1cbn1cbiJdfQ==
|