@digitraffic/common 2022.10.6-1 → 2022.10.10-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +54 -0
  2. package/aws/index.d.ts +1 -0
  3. package/aws/index.js +18 -0
  4. package/aws/infra/api/index.d.ts +1 -0
  5. package/aws/infra/api/index.js +18 -0
  6. package/aws/infra/api/responses.js +1 -1
  7. package/aws/infra/stack/lambda-configs.js +1 -1
  8. package/aws/infra/stack/rest_apis.d.ts +1 -0
  9. package/aws/infra/stack/rest_apis.js +8 -2
  10. package/aws/infra/stack/stack-checking-aspect.d.ts +4 -3
  11. package/aws/infra/stack/stack-checking-aspect.js +8 -7
  12. package/aws/infra/stack/stack.d.ts +4 -1
  13. package/aws/infra/stack/stack.js +1 -1
  14. package/aws/infra/usage-plans.js +1 -1
  15. package/aws/types/errors.js +1 -1
  16. package/aws/types/tags.js +1 -1
  17. package/database/last-updated.js +10 -10
  18. package/package.json +3 -2
  19. package/test/httpserver.js +1 -1
  20. package/types/index.d.ts +1 -0
  21. package/types/index.js +18 -0
  22. package/types/language.js +1 -1
  23. package/utils/geometry.js +1 -1
  24. package/src/aws/infra/api/integration.js +0 -52
  25. package/src/aws/infra/api/response.js +0 -61
  26. package/src/aws/infra/api/responses.js +0 -79
  27. package/src/aws/infra/api/static-integration.js +0 -54
  28. package/src/aws/infra/canaries/canary-alarm.js +0 -26
  29. package/src/aws/infra/canaries/canary-parameters.js +0 -3
  30. package/src/aws/infra/canaries/canary-role.js +0 -46
  31. package/src/aws/infra/canaries/canary.js +0 -29
  32. package/src/aws/infra/canaries/database-canary.js +0 -55
  33. package/src/aws/infra/canaries/database-checker.js +0 -109
  34. package/src/aws/infra/canaries/url-canary.js +0 -46
  35. package/src/aws/infra/canaries/url-checker.js +0 -238
  36. package/src/aws/infra/documentation.js +0 -95
  37. package/src/aws/infra/scheduler.js +0 -31
  38. package/src/aws/infra/security-rule.js +0 -39
  39. package/src/aws/infra/sqs-integration.js +0 -93
  40. package/src/aws/infra/sqs-queue.js +0 -130
  41. package/src/aws/infra/stack/lambda-configs.js +0 -93
  42. package/src/aws/infra/stack/monitoredfunction.js +0 -135
  43. package/src/aws/infra/stack/rest_apis.js +0 -179
  44. package/src/aws/infra/stack/stack-checking-aspect.js +0 -163
  45. package/src/aws/infra/stack/stack.js +0 -58
  46. package/src/aws/infra/stack/subscription.js +0 -41
  47. package/src/aws/infra/usage-plans.js +0 -42
  48. package/src/aws/runtime/apikey.js +0 -13
  49. package/src/aws/runtime/digitraffic-integration-response.js +0 -26
  50. package/src/aws/runtime/messaging.js +0 -31
  51. package/src/aws/runtime/s3.js +0 -30
  52. package/src/aws/runtime/secrets/dbsecret.js +0 -96
  53. package/src/aws/runtime/secrets/proxy-holder.js +0 -26
  54. package/src/aws/runtime/secrets/rds-holder.js +0 -26
  55. package/src/aws/runtime/secrets/secret-holder.js +0 -73
  56. package/src/aws/runtime/secrets/secret.js +0 -43
  57. package/src/aws/types/errors.js +0 -9
  58. package/src/aws/types/lambda-response.js +0 -28
  59. package/src/aws/types/mediatypes.js +0 -15
  60. package/src/aws/types/model-with-reference.js +0 -3
  61. package/src/aws/types/proxytypes.js +0 -3
  62. package/src/aws/types/tags.js +0 -7
  63. package/src/database/cached.js +0 -32
  64. package/src/database/database.js +0 -62
  65. package/src/database/last-updated.js +0 -54
  66. package/src/marine/id_utils.js +0 -33
  67. package/src/marine/rtz.js +0 -3
  68. package/src/test/asserter.js +0 -45
  69. package/src/test/db-testutils.js +0 -31
  70. package/src/test/httpserver.js +0 -67
  71. package/src/test/secret.js +0 -25
  72. package/src/test/secrets-manager.js +0 -59
  73. package/src/test/testutils.js +0 -44
  74. package/src/types/input-error.js +0 -7
  75. package/src/types/language.js +0 -10
  76. package/src/types/traffictype.js +0 -13
  77. package/src/types/validator.js +0 -14
  78. package/src/utils/api-model.js +0 -129
  79. package/src/utils/base64.js +0 -21
  80. package/src/utils/date-utils.js +0 -34
  81. package/src/utils/geojson-types.js +0 -18
  82. package/src/utils/geometry.js +0 -140
  83. package/src/utils/retry.js +0 -50
  84. package/src/utils/slack.js +0 -25
  85. package/src/utils/utils.js +0 -40
  86. package/test/marine/id_utils.test.js +0 -69
  87. package/test/promise/promise.test.js +0 -125
  88. package/test/secrets/dbsecret.test.js +0 -71
  89. package/test/secrets/secret-holder.test.js +0 -124
  90. package/test/secrets/secret.test.js +0 -66
  91. package/test/test/httpserver.test.js +0 -87
  92. package/test/utils/date-utils.test.js +0 -51
  93. package/test/utils/geometry.test.js +0 -49
  94. package/test/utils/utils.test.js +0 -49
  95. package/yarn.lock +0 -3200
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Language = void 0;
4
- var Language;
5
- (function (Language) {
6
- Language["FI"] = "fi";
7
- Language["EN"] = "en";
8
- Language["SV"] = "sv";
9
- })(Language = exports.Language || (exports.Language = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvbGFuZ3VhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxRQUVYO0FBRkQsV0FBWSxRQUFRO0lBQ2hCLHFCQUFTLENBQUE7SUFBRSxxQkFBUyxDQUFBO0lBQUUscUJBQVMsQ0FBQTtBQUNuQyxDQUFDLEVBRlcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFFbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBMYW5ndWFnZSB7XHJcbiAgICBGSSA9ICdmaScsIEVOID0gJ2VuJywgU1YgPSAnc3YnXHJcbn1cclxuIl19
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TrafficType = void 0;
4
- var TrafficType;
5
- (function (TrafficType) {
6
- TrafficType["ROAD"] = "Road";
7
- TrafficType["MARINE"] = "Marine";
8
- TrafficType["RAIL"] = "Rail";
9
- TrafficType["AVIATION"] = "Aviation";
10
- TrafficType["MCP"] = "MCP";
11
- TrafficType["OTHER"] = "Other";
12
- })(TrafficType = exports.TrafficType || (exports.TrafficType = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZmZpY3R5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvdHJhZmZpY3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxXQU9YO0FBUEQsV0FBWSxXQUFXO0lBQ25CLDRCQUFhLENBQUE7SUFDYixnQ0FBaUIsQ0FBQTtJQUNqQiw0QkFBYSxDQUFBO0lBQ2Isb0NBQXFCLENBQUE7SUFDckIsMEJBQVcsQ0FBQTtJQUNYLDhCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQVBXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBT3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVHJhZmZpY1R5cGUge1xuICAgIFJPQUQgPSAnUm9hZCcsXG4gICAgTUFSSU5FID0gJ01hcmluZScsXG4gICAgUkFJTCA9ICdSYWlsJyxcbiAgICBBVklBVElPTiA9ICdBdmlhdGlvbicsXG4gICAgTUNQID0gJ01DUCcsXG4gICAgT1RIRVIgPSAnT3RoZXInXG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateMonth = exports.validateYear = exports.MAX_YEAR = exports.MIN_YEAR = void 0;
4
- exports.MIN_YEAR = 1900;
5
- exports.MAX_YEAR = 2100;
6
- function validateYear(year, minYear = exports.MIN_YEAR, maxYear = exports.MAX_YEAR) {
7
- return year >= minYear && year <= maxYear;
8
- }
9
- exports.validateYear = validateYear;
10
- function validateMonth(month) {
11
- return month > 0 && month < 13;
12
- }
13
- exports.validateMonth = validateMonth;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLFFBQVEsR0FBRyxJQUFJLENBQUM7QUFDaEIsUUFBQSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBRTdCLFNBQWdCLFlBQVksQ0FBQyxJQUFZLEVBQUUsT0FBTyxHQUFHLGdCQUFRLEVBQUUsT0FBTyxHQUFHLGdCQUFRO0lBQzdFLE9BQU8sSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDO0FBQzlDLENBQUM7QUFGRCxvQ0FFQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxLQUFhO0lBQ3ZDLE9BQU8sS0FBSyxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBQ25DLENBQUM7QUFGRCxzQ0FFQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBNSU5fWUVBUiA9IDE5MDA7XG5leHBvcnQgY29uc3QgTUFYX1lFQVIgPSAyMTAwO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVZZWFyKHllYXI6IG51bWJlciwgbWluWWVhciA9IE1JTl9ZRUFSLCBtYXhZZWFyID0gTUFYX1lFQVIpIHtcbiAgICByZXR1cm4geWVhciA+PSBtaW5ZZWFyICYmIHllYXIgPD0gbWF4WWVhcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTW9udGgobW9udGg6IG51bWJlcikge1xuICAgIHJldHVybiBtb250aCA+IDAgJiYgbW9udGggPCAxMztcbn1cbiJdfQ==
@@ -1,129 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.geojsonSchema = exports.featureSchema = exports.createArraySchema = exports.addSimpleServiceModel = exports.addServiceModel = exports.addDefaultValidator = exports.getModelReference = void 0;
4
- const aws_apigateway_1 = require("aws-cdk-lib/aws-apigateway");
5
- /**
6
- * Get a reference to an OpenAPI model object in a REST API.
7
- * Can be used to supply a reference to properties of a GeoJSON feature.
8
- * @param modelId Id of the referenced object
9
- * @param restApiId Id of the REST API
10
- */
11
- function getModelReference(modelId, restApiId) {
12
- return `https://apigateway.amazonaws.com/restapis/${restApiId}/models/${modelId}`;
13
- }
14
- exports.getModelReference = getModelReference;
15
- /**
16
- * Adds a request validator to a REST API to enforce request parameters/body requirements.
17
- * https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html
18
- * @param api REST API
19
- */
20
- function addDefaultValidator(api) {
21
- return api.addRequestValidator('DefaultValidator', {
22
- validateRequestParameters: true,
23
- validateRequestBody: true,
24
- });
25
- }
26
- exports.addDefaultValidator = addDefaultValidator;
27
- /**
28
- * Adds a JSON Schema model to an API Gateway API. Can be used later to generate OpenAPI specifications.
29
- * This method adds a schema for _a single object._
30
- * @param name Name of the model
31
- * @param api REST API
32
- * @param schema JSON Schema
33
- * @return ModelWithReference A model object with a reference to an API Gateway model object.
34
- */
35
- function addServiceModel(modelName, api, schema) {
36
- const mwr = api.addModel(modelName, {
37
- contentType: 'application/json',
38
- modelName,
39
- schema,
40
- });
41
- mwr.modelReference = getModelReference(mwr.modelId, api.restApiId);
42
- return mwr;
43
- }
44
- exports.addServiceModel = addServiceModel;
45
- /**
46
- * Add an empty JSON schema model to an API Gateway API.
47
- * Usable for example if the incoming data is in XML format but some template transformation is necessary.
48
- * @param modelName
49
- * @param api
50
- * @param contentType
51
- */
52
- function addSimpleServiceModel(modelName, api, contentType = 'application/xml') {
53
- return api.addModel(modelName, {
54
- contentType,
55
- modelName,
56
- schema: {},
57
- });
58
- }
59
- exports.addSimpleServiceModel = addSimpleServiceModel;
60
- /**
61
- * Adds a JSON Schema model to an API Gateway API. Can be used later to generate OpenAPI specifications.
62
- * This method adds a schema for _an array._
63
- * @param model
64
- * @param api
65
- */
66
- function createArraySchema(model, api) {
67
- return {
68
- type: aws_apigateway_1.JsonSchemaType.ARRAY,
69
- items: {
70
- ref: getModelReference(model.modelId, api.restApiId),
71
- },
72
- };
73
- }
74
- exports.createArraySchema = createArraySchema;
75
- /**
76
- * Creates a JSON Schema for a GeoJSON Feature. Can be used to generate OpenAPI descriptions.
77
- * @param modelReference Reference to a model object
78
- */
79
- function featureSchema(modelReference) {
80
- return {
81
- schema: aws_apigateway_1.JsonSchemaVersion.DRAFT4,
82
- type: aws_apigateway_1.JsonSchemaType.OBJECT,
83
- description: 'GeoJson Feature',
84
- required: ['type', 'properties', 'geometry'],
85
- properties: {
86
- type: {
87
- type: aws_apigateway_1.JsonSchemaType.STRING,
88
- description: 'Feature',
89
- enum: ['Feature'],
90
- },
91
- properties: {
92
- ref: modelReference,
93
- },
94
- geometry: {
95
- type: aws_apigateway_1.JsonSchemaType.OBJECT,
96
- description: 'GeoJSON geometry',
97
- },
98
- },
99
- };
100
- }
101
- exports.featureSchema = featureSchema;
102
- /**
103
- *
104
- * Creates a JSON Schema for a GeoJSON Feature Collection. Can be used to generate OpenAPI descriptions.
105
- * @param modelReference Reference to a model object, in this case Features.
106
- */
107
- function geojsonSchema(modelReference) {
108
- return {
109
- schema: aws_apigateway_1.JsonSchemaVersion.DRAFT4,
110
- type: aws_apigateway_1.JsonSchemaType.OBJECT,
111
- description: 'GeoJson FeatureCollection',
112
- required: ['type', 'features'],
113
- properties: {
114
- type: {
115
- type: aws_apigateway_1.JsonSchemaType.STRING,
116
- description: 'FeatureCollection',
117
- enum: ['FeatureCollection'],
118
- },
119
- features: {
120
- type: aws_apigateway_1.JsonSchemaType.ARRAY,
121
- items: {
122
- ref: modelReference,
123
- },
124
- },
125
- },
126
- };
127
- }
128
- exports.geojsonSchema = geojsonSchema;
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2FwaS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFPb0M7QUFHcEM7Ozs7O0dBS0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxPQUFlLEVBQUUsU0FBaUI7SUFDaEUsT0FBTyw2Q0FBNkMsU0FBUyxXQUFXLE9BQU8sRUFBRSxDQUFDO0FBQ3RGLENBQUM7QUFGRCw4Q0FFQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxHQUFZO0lBQzVDLE9BQU8sR0FBRyxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFO1FBQy9DLHlCQUF5QixFQUFFLElBQUk7UUFDL0IsbUJBQW1CLEVBQUUsSUFBSTtLQUM1QixDQUFDLENBQUM7QUFDUCxDQUFDO0FBTEQsa0RBS0M7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLFNBQWlCLEVBQUUsR0FBWSxFQUFFLE1BQWtCO0lBQy9FLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFO1FBQ2hDLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsU0FBUztRQUNULE1BQU07S0FDVCxDQUF1QixDQUFDO0lBQ3pCLEdBQUcsQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkUsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBUkQsMENBUUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxTQUFpQixFQUFFLEdBQVksRUFBRSxXQUFXLEdBQUcsaUJBQWlCO0lBQ2xHLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7UUFDM0IsV0FBVztRQUNYLFNBQVM7UUFDVCxNQUFNLEVBQUUsRUFBRTtLQUNiLENBQUMsQ0FBQztBQUNQLENBQUM7QUFORCxzREFNQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsS0FBWSxFQUFFLEdBQVk7SUFDeEQsT0FBTztRQUNILElBQUksRUFBRSwrQkFBYyxDQUFDLEtBQUs7UUFDMUIsS0FBSyxFQUFFO1lBQ0gsR0FBRyxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQztTQUN2RDtLQUNKLENBQUM7QUFDTixDQUFDO0FBUEQsOENBT0M7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixhQUFhLENBQUMsY0FBc0I7SUFDaEQsT0FBTztRQUNILE1BQU0sRUFBRSxrQ0FBaUIsQ0FBQyxNQUFNO1FBQ2hDLElBQUksRUFBRSwrQkFBYyxDQUFDLE1BQU07UUFDM0IsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQztRQUM1QyxVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLCtCQUFjLENBQUMsTUFBTTtnQkFDM0IsV0FBVyxFQUFFLFNBQVM7Z0JBQ3RCLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQzthQUNwQjtZQUNELFVBQVUsRUFBRTtnQkFDUixHQUFHLEVBQUUsY0FBYzthQUN0QjtZQUNELFFBQVEsRUFBRTtnQkFDTixJQUFJLEVBQUUsK0JBQWMsQ0FBQyxNQUFNO2dCQUMzQixXQUFXLEVBQUUsa0JBQWtCO2FBQ2xDO1NBQ0o7S0FDSixDQUFDO0FBQ04sQ0FBQztBQXJCRCxzQ0FxQkM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLGNBQXNCO0lBQ2hELE9BQU87UUFDSCxNQUFNLEVBQUUsa0NBQWlCLENBQUMsTUFBTTtRQUNoQyxJQUFJLEVBQUUsK0JBQWMsQ0FBQyxNQUFNO1FBQzNCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztRQUM5QixVQUFVLEVBQUU7WUFDUixJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLCtCQUFjLENBQUMsTUFBTTtnQkFDM0IsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsSUFBSSxFQUFFLENBQUMsbUJBQW1CLENBQUM7YUFDOUI7WUFDRCxRQUFRLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLCtCQUFjLENBQUMsS0FBSztnQkFDMUIsS0FBSyxFQUFFO29CQUNILEdBQUcsRUFBRSxjQUFjO2lCQUN0QjthQUNKO1NBQ0o7S0FDSixDQUFDO0FBQ04sQ0FBQztBQXBCRCxzQ0FvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFJlc3RBcGksXG4gICAgTW9kZWwsXG4gICAgSnNvblNjaGVtYSxcbiAgICBSZXF1ZXN0VmFsaWRhdG9yLFxuICAgIEpzb25TY2hlbWFUeXBlLFxuICAgIEpzb25TY2hlbWFWZXJzaW9uLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheSc7XG5pbXBvcnQge01vZGVsV2l0aFJlZmVyZW5jZX0gZnJvbSBcIi4uL2F3cy90eXBlcy9tb2RlbC13aXRoLXJlZmVyZW5jZVwiO1xuXG4vKipcbiAqIEdldCBhIHJlZmVyZW5jZSB0byBhbiBPcGVuQVBJIG1vZGVsIG9iamVjdCBpbiBhIFJFU1QgQVBJLlxuICogQ2FuIGJlIHVzZWQgdG8gc3VwcGx5IGEgcmVmZXJlbmNlIHRvIHByb3BlcnRpZXMgb2YgYSBHZW9KU09OIGZlYXR1cmUuXG4gKiBAcGFyYW0gbW9kZWxJZCBJZCBvZiB0aGUgcmVmZXJlbmNlZCBvYmplY3RcbiAqIEBwYXJhbSByZXN0QXBpSWQgSWQgb2YgdGhlIFJFU1QgQVBJXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2RlbFJlZmVyZW5jZShtb2RlbElkOiBzdHJpbmcsIHJlc3RBcGlJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGBodHRwczovL2FwaWdhdGV3YXkuYW1hem9uYXdzLmNvbS9yZXN0YXBpcy8ke3Jlc3RBcGlJZH0vbW9kZWxzLyR7bW9kZWxJZH1gO1xufVxuXG4vKipcbiAqIEFkZHMgYSByZXF1ZXN0IHZhbGlkYXRvciB0byBhIFJFU1QgQVBJIHRvIGVuZm9yY2UgcmVxdWVzdCBwYXJhbWV0ZXJzL2JvZHkgcmVxdWlyZW1lbnRzLlxuICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwaWdhdGV3YXkvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2FwaS1nYXRld2F5LW1ldGhvZC1yZXF1ZXN0LXZhbGlkYXRpb24uaHRtbFxuICogQHBhcmFtIGFwaSBSRVNUIEFQSVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkRGVmYXVsdFZhbGlkYXRvcihhcGk6IFJlc3RBcGkpOiBSZXF1ZXN0VmFsaWRhdG9yIHtcbiAgICByZXR1cm4gYXBpLmFkZFJlcXVlc3RWYWxpZGF0b3IoJ0RlZmF1bHRWYWxpZGF0b3InLCB7XG4gICAgICAgIHZhbGlkYXRlUmVxdWVzdFBhcmFtZXRlcnM6IHRydWUsXG4gICAgICAgIHZhbGlkYXRlUmVxdWVzdEJvZHk6IHRydWUsXG4gICAgfSk7XG59XG5cbi8qKlxuICogQWRkcyBhIEpTT04gU2NoZW1hIG1vZGVsIHRvIGFuIEFQSSBHYXRld2F5IEFQSS4gQ2FuIGJlIHVzZWQgbGF0ZXIgdG8gZ2VuZXJhdGUgT3BlbkFQSSBzcGVjaWZpY2F0aW9ucy5cbiAqIFRoaXMgbWV0aG9kIGFkZHMgYSBzY2hlbWEgZm9yIF9hIHNpbmdsZSBvYmplY3QuX1xuICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgbW9kZWxcbiAqIEBwYXJhbSBhcGkgUkVTVCBBUElcbiAqIEBwYXJhbSBzY2hlbWEgSlNPTiBTY2hlbWFcbiAqIEByZXR1cm4gTW9kZWxXaXRoUmVmZXJlbmNlIEEgbW9kZWwgb2JqZWN0IHdpdGggYSByZWZlcmVuY2UgdG8gYW4gQVBJIEdhdGV3YXkgbW9kZWwgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkU2VydmljZU1vZGVsKG1vZGVsTmFtZTogc3RyaW5nLCBhcGk6IFJlc3RBcGksIHNjaGVtYTogSnNvblNjaGVtYSk6IE1vZGVsV2l0aFJlZmVyZW5jZSB7XG4gICAgY29uc3QgbXdyID0gYXBpLmFkZE1vZGVsKG1vZGVsTmFtZSwge1xuICAgICAgICBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICBtb2RlbE5hbWUsXG4gICAgICAgIHNjaGVtYSxcbiAgICB9KSBhcyBNb2RlbFdpdGhSZWZlcmVuY2U7XG4gICAgbXdyLm1vZGVsUmVmZXJlbmNlID0gZ2V0TW9kZWxSZWZlcmVuY2UobXdyLm1vZGVsSWQsIGFwaS5yZXN0QXBpSWQpO1xuICAgIHJldHVybiBtd3I7XG59XG5cbi8qKlxuICogQWRkIGFuIGVtcHR5IEpTT04gc2NoZW1hIG1vZGVsIHRvIGFuIEFQSSBHYXRld2F5IEFQSS5cbiAqIFVzYWJsZSBmb3IgZXhhbXBsZSBpZiB0aGUgaW5jb21pbmcgZGF0YSBpcyBpbiBYTUwgZm9ybWF0IGJ1dCBzb21lIHRlbXBsYXRlIHRyYW5zZm9ybWF0aW9uIGlzIG5lY2Vzc2FyeS5cbiAqIEBwYXJhbSBtb2RlbE5hbWVcbiAqIEBwYXJhbSBhcGlcbiAqIEBwYXJhbSBjb250ZW50VHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkU2ltcGxlU2VydmljZU1vZGVsKG1vZGVsTmFtZTogc3RyaW5nLCBhcGk6IFJlc3RBcGksIGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL3htbCcpOiBNb2RlbCB7XG4gICAgcmV0dXJuIGFwaS5hZGRNb2RlbChtb2RlbE5hbWUsIHtcbiAgICAgICAgY29udGVudFR5cGUsXG4gICAgICAgIG1vZGVsTmFtZSxcbiAgICAgICAgc2NoZW1hOiB7fSxcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBBZGRzIGEgSlNPTiBTY2hlbWEgbW9kZWwgdG8gYW4gQVBJIEdhdGV3YXkgQVBJLiBDYW4gYmUgdXNlZCBsYXRlciB0byBnZW5lcmF0ZSBPcGVuQVBJIHNwZWNpZmljYXRpb25zLlxuICogVGhpcyBtZXRob2QgYWRkcyBhIHNjaGVtYSBmb3IgX2FuIGFycmF5Ll9cbiAqIEBwYXJhbSBtb2RlbFxuICogQHBhcmFtIGFwaVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQXJyYXlTY2hlbWEobW9kZWw6IE1vZGVsLCBhcGk6IFJlc3RBcGkpOiBKc29uU2NoZW1hIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBKc29uU2NoZW1hVHlwZS5BUlJBWSxcbiAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgIHJlZjogZ2V0TW9kZWxSZWZlcmVuY2UobW9kZWwubW9kZWxJZCwgYXBpLnJlc3RBcGlJZCksXG4gICAgICAgIH0sXG4gICAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgSlNPTiBTY2hlbWEgZm9yIGEgR2VvSlNPTiBGZWF0dXJlLiBDYW4gYmUgdXNlZCB0byBnZW5lcmF0ZSBPcGVuQVBJIGRlc2NyaXB0aW9ucy5cbiAqIEBwYXJhbSBtb2RlbFJlZmVyZW5jZSBSZWZlcmVuY2UgdG8gYSBtb2RlbCBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZlYXR1cmVTY2hlbWEobW9kZWxSZWZlcmVuY2U6IHN0cmluZykge1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjaGVtYTogSnNvblNjaGVtYVZlcnNpb24uRFJBRlQ0LFxuICAgICAgICB0eXBlOiBKc29uU2NoZW1hVHlwZS5PQkpFQ1QsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnR2VvSnNvbiBGZWF0dXJlJyxcbiAgICAgICAgcmVxdWlyZWQ6IFsndHlwZScsICdwcm9wZXJ0aWVzJywgJ2dlb21ldHJ5J10sXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBKc29uU2NoZW1hVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdGZWF0dXJlJyxcbiAgICAgICAgICAgICAgICBlbnVtOiBbJ0ZlYXR1cmUnXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgcmVmOiBtb2RlbFJlZmVyZW5jZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZW9tZXRyeToge1xuICAgICAgICAgICAgICAgIHR5cGU6IEpzb25TY2hlbWFUeXBlLk9CSkVDVCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0dlb0pTT04gZ2VvbWV0cnknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9O1xufVxuXG4vKipcbiAqXG4gKiBDcmVhdGVzIGEgSlNPTiBTY2hlbWEgZm9yIGEgR2VvSlNPTiBGZWF0dXJlIENvbGxlY3Rpb24uIENhbiBiZSB1c2VkIHRvIGdlbmVyYXRlIE9wZW5BUEkgZGVzY3JpcHRpb25zLlxuICogQHBhcmFtIG1vZGVsUmVmZXJlbmNlIFJlZmVyZW5jZSB0byBhIG1vZGVsIG9iamVjdCwgaW4gdGhpcyBjYXNlIEZlYXR1cmVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VvanNvblNjaGVtYShtb2RlbFJlZmVyZW5jZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NoZW1hOiBKc29uU2NoZW1hVmVyc2lvbi5EUkFGVDQsXG4gICAgICAgIHR5cGU6IEpzb25TY2hlbWFUeXBlLk9CSkVDVCxcbiAgICAgICAgZGVzY3JpcHRpb246ICdHZW9Kc29uIEZlYXR1cmVDb2xsZWN0aW9uJyxcbiAgICAgICAgcmVxdWlyZWQ6IFsndHlwZScsICdmZWF0dXJlcyddLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICB0eXBlOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogSnNvblNjaGVtYVR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRmVhdHVyZUNvbGxlY3Rpb24nLFxuICAgICAgICAgICAgICAgIGVudW06IFsnRmVhdHVyZUNvbGxlY3Rpb24nXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmZWF0dXJlczoge1xuICAgICAgICAgICAgICAgIHR5cGU6IEpzb25TY2hlbWFUeXBlLkFSUkFZLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIHJlZjogbW9kZWxSZWZlcmVuY2UsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfTtcbn1cbiJdfQ==
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.decodeBase64 = exports.decodeBase64ToAscii = void 0;
4
- /**
5
- * Decode given string from base64 to ascii
6
- * @param str string
7
- */
8
- function decodeBase64ToAscii(str) {
9
- return decodeBase64(str, 'ascii');
10
- }
11
- exports.decodeBase64ToAscii = decodeBase64ToAscii;
12
- /**
13
- * Decode given string from base64 to given encoding
14
- * @param str
15
- * @param encoding
16
- */
17
- function decodeBase64(str, encoding) {
18
- return Buffer.from(str, 'base64').toString(encoding);
19
- }
20
- exports.decodeBase64 = decodeBase64;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZTY0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2Jhc2U2NC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7O0dBR0c7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxHQUFXO0lBQzNDLE9BQU8sWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRkQsa0RBRUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLEdBQVcsRUFBRSxRQUF3QjtJQUM5RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRkQsb0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlY29kZSBnaXZlbiBzdHJpbmcgZnJvbSBiYXNlNjQgdG8gYXNjaWlcbiAqIEBwYXJhbSBzdHIgc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVCYXNlNjRUb0FzY2lpKHN0cjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGRlY29kZUJhc2U2NChzdHIsICdhc2NpaScpO1xufVxuXG4vKipcbiAqIERlY29kZSBnaXZlbiBzdHJpbmcgZnJvbSBiYXNlNjQgdG8gZ2l2ZW4gZW5jb2RpbmdcbiAqIEBwYXJhbSBzdHJcbiAqIEBwYXJhbSBlbmNvZGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlQmFzZTY0KHN0cjogc3RyaW5nLCBlbmNvZGluZzogQnVmZmVyRW5jb2RpbmcpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oc3RyLCAnYmFzZTY0JykudG9TdHJpbmcoZW5jb2RpbmcpO1xufVxuIl19
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dateFromIsoString = exports.countDiffInSeconds = exports.countDiffMs = void 0;
4
- /**
5
- * Counts difference in milliseconds between dates.
6
- * @param start
7
- * @param end
8
- */
9
- function countDiffMs(start, end) {
10
- return end.getTime() - start.getTime();
11
- }
12
- exports.countDiffMs = countDiffMs;
13
- /**
14
- * Counts difference in seconds between dates.
15
- * @param start
16
- * @param end
17
- */
18
- function countDiffInSeconds(start, end) {
19
- return countDiffMs(start, end) / 1000;
20
- }
21
- exports.countDiffInSeconds = countDiffInSeconds;
22
- /**
23
- * Converts ISO 8601 date-time -string to Date object
24
- * @param isoString to convert
25
- */
26
- function dateFromIsoString(isoString) {
27
- const parsed = new Date(isoString);
28
- if (!(parsed instanceof Date) || isNaN(parsed.getTime())) {
29
- throw new Error(`Invalid ISO-DATE -string: ${isoString}`);
30
- }
31
- return parsed;
32
- }
33
- exports.dateFromIsoString = dateFromIsoString;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9kYXRlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBOzs7O0dBSUc7QUFDSCxTQUFnQixXQUFXLENBQUMsS0FBVyxFQUFFLEdBQVM7SUFDOUMsT0FBTyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQzNDLENBQUM7QUFGRCxrQ0FFQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFXLEVBQUUsR0FBUztJQUNyRCxPQUFPLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUMsSUFBSSxDQUFDO0FBQ3hDLENBQUM7QUFGRCxnREFFQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLFNBQWlCO0lBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLElBQUksQ0FBQyxDQUFDLE1BQU0sWUFBWSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFDdEQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsU0FBUyxFQUFFLENBQUMsQ0FBQztLQUM3RDtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFORCw4Q0FNQyIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBDb3VudHMgZGlmZmVyZW5jZSBpbiBtaWxsaXNlY29uZHMgYmV0d2VlbiBkYXRlcy5cbiAqIEBwYXJhbSBzdGFydFxuICogQHBhcmFtIGVuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY291bnREaWZmTXMoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGVuZC5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCk7XG59XG5cbi8qKlxuICogQ291bnRzIGRpZmZlcmVuY2UgaW4gc2Vjb25kcyBiZXR3ZWVuIGRhdGVzLlxuICogQHBhcmFtIHN0YXJ0XG4gKiBAcGFyYW0gZW5kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3VudERpZmZJblNlY29uZHMoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNvdW50RGlmZk1zKHN0YXJ0LCBlbmQpLzEwMDA7XG59XG5cbi8qKlxuICogQ29udmVydHMgSVNPIDg2MDEgZGF0ZS10aW1lIC1zdHJpbmcgdG8gRGF0ZSBvYmplY3RcbiAqIEBwYXJhbSBpc29TdHJpbmcgdG8gY29udmVydFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGF0ZUZyb21Jc29TdHJpbmcoaXNvU3RyaW5nOiBzdHJpbmcpOiBEYXRlIHtcbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShpc29TdHJpbmcpO1xuICAgIGlmICghKHBhcnNlZCBpbnN0YW5jZW9mIERhdGUpIHx8IGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBJU08tREFURSAtc3RyaW5nOiAke2lzb1N0cmluZ31gKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnNlZDtcbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GeoJsonLineString = exports.GeoJsonPoint = void 0;
4
- class GeoJsonPoint {
5
- constructor(coordinates) {
6
- this.type = "Point";
7
- this.coordinates = coordinates;
8
- }
9
- }
10
- exports.GeoJsonPoint = GeoJsonPoint;
11
- class GeoJsonLineString {
12
- constructor(coordinates) {
13
- this.type = "LineString";
14
- this.coordinates = coordinates;
15
- }
16
- }
17
- exports.GeoJsonLineString = GeoJsonLineString;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvanNvbi10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9nZW9qc29uLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLE1BQWEsWUFBWTtJQUlyQixZQUFZLFdBQXFCO1FBSHhCLFNBQUksR0FBRyxPQUFPLENBQUM7UUFJcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkMsQ0FBQztDQUNKO0FBUEQsb0NBT0M7QUFFRCxNQUFhLGlCQUFpQjtJQUkxQixZQUFZLFdBQXVCO1FBSDFCLFNBQUksR0FBRyxZQUFZLENBQUM7UUFJekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkMsQ0FBQztDQUNKO0FBUEQsOENBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlb0pTT04gdHlwZXNcbiAqL1xuaW1wb3J0IHtMaW5lU3RyaW5nLCBQb2ludCwgUG9zaXRpb259IGZyb20gXCJnZW9qc29uXCI7XG5cbmV4cG9ydCBjbGFzcyBHZW9Kc29uUG9pbnQgaW1wbGVtZW50cyBQb2ludCB7XG4gICAgcmVhZG9ubHkgdHlwZSA9IFwiUG9pbnRcIjtcbiAgICByZWFkb25seSBjb29yZGluYXRlczogUG9zaXRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihjb29yZGluYXRlczogUG9zaXRpb24pIHtcbiAgICAgICAgdGhpcy5jb29yZGluYXRlcyA9IGNvb3JkaW5hdGVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdlb0pzb25MaW5lU3RyaW5nIGltcGxlbWVudHMgTGluZVN0cmluZyB7XG4gICAgcmVhZG9ubHkgdHlwZSA9IFwiTGluZVN0cmluZ1wiO1xuICAgIHJlYWRvbmx5IGNvb3JkaW5hdGVzOiBQb3NpdGlvbltdO1xuXG4gICAgY29uc3RydWN0b3IoY29vcmRpbmF0ZXM6IFBvc2l0aW9uW10pIHtcbiAgICAgICAgdGhpcy5jb29yZGluYXRlcyA9IGNvb3JkaW5hdGVzO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,140 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.positionToList = exports.createGmlLineString = exports.distanceBetweenPositionsInM = exports.areDistinctPositions = exports.distanceBetweenPositionsInKm = exports.isFeatureCollection = exports.isValidGeoJson = exports.createFeatureCollection = exports.createGeometry = exports.SRID_WGS84 = void 0;
4
- exports.SRID_WGS84 = 4326;
5
- /**
6
- * Creates WKT geometry from GeoJSON geometry
7
- * @param geometry GeoJson geometry to convert to WKT
8
- */
9
- function createGeometry(geometry) {
10
- if (geometry.type === 'LineString') {
11
- const coordinates = linestring(geometry.coordinates);
12
- return `LINESTRING(${coordinates})`;
13
- }
14
- else if (geometry.type === 'Point') {
15
- const coordinates = coordinatePair(geometry.coordinates);
16
- return `POINT(${coordinates})`;
17
- }
18
- else if (geometry.type === 'Polygon') {
19
- const coordinates = polygon(geometry.coordinates);
20
- return `POLYGON(${coordinates})`;
21
- }
22
- else if (geometry.type === 'MultiPolygon') {
23
- const coordinates = multiPolygon(geometry.coordinates);
24
- return `MULTIPOLYGON(${coordinates})`;
25
- }
26
- console.error("unsupported locationType=%s", geometry.type);
27
- return "POLYGON EMPTY";
28
- }
29
- exports.createGeometry = createGeometry;
30
- function linestring(coordinates) {
31
- return coordinates.map((c) => coordinatePair(c)).join(',');
32
- }
33
- function polygon(coordinates) {
34
- const list = coordinates.map((c) => linestring(c)).join(',');
35
- return `(${list})`;
36
- }
37
- function multiPolygon(coordinates) {
38
- const list = coordinates.map((c) => polygon(c)).join(',');
39
- return `(${list})`;
40
- }
41
- function coordinatePair(coordinate) {
42
- return `${coordinate[0]} ${coordinate[1]}`;
43
- }
44
- /**
45
- * Create a GeoJSON FeatureCollection from a list of GeoJSON features with a 'last updated' property
46
- * @param features List of Features
47
- * @param lastUpdated Last updated date
48
- */
49
- function createFeatureCollection(features, lastUpdated) {
50
- return {
51
- type: "FeatureCollection",
52
- lastUpdated: lastUpdated,
53
- features: features,
54
- };
55
- }
56
- exports.createFeatureCollection = createFeatureCollection;
57
- // eslint-disable-next-line @typescript-eslint/no-var-requires
58
- const geoJsonValidator = require('geojson-validation');
59
- function isValidGeoJson(json) {
60
- return geoJsonValidator.valid(json);
61
- }
62
- exports.isValidGeoJson = isValidGeoJson;
63
- function isFeatureCollection(json) {
64
- return geoJsonValidator.isFeatureCollection(json);
65
- }
66
- exports.isFeatureCollection = isFeatureCollection;
67
- const DEGREES_TO_RADIANS = 0.017453292519943295; // = Math.PI / 180
68
- const EARTH_RADIUS_KM = 6371;
69
- /**
70
- * Returns the distance between this and given GeoJSON point in kilometers. Doesn't take in account altitude.
71
- * Based on the following Stack Overflow question:
72
- * http://stackoverflow.com/questions/27928/calculate-distance-between-two-latitude-longitude-points-haversine-formula,
73
- * which is based on https://en.wikipedia.org/wiki/Haversine_formula (error rate: ~0.55%).
74
- */
75
- function distanceBetweenWGS84PointsInKm(fromXLon, fromYLat, toXLon, toYLat) {
76
- const diffLat = toRadians(toYLat - fromYLat);
77
- const diffLon = toRadians(toXLon - fromXLon);
78
- const a = Math.sin(diffLat / 2) * Math.sin(diffLat / 2) +
79
- Math.cos(toRadians(fromYLat)) * Math.cos(toRadians(toYLat)) *
80
- Math.sin(diffLon / 2) * Math.sin(diffLon / 2);
81
- const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
82
- return EARTH_RADIUS_KM * c;
83
- }
84
- /**
85
- * Calculates distance between two GeoJSON points (WGS84)
86
- * @param pos1
87
- * @param pos2
88
- */
89
- function distanceBetweenPositionsInKm(pos1, pos2) {
90
- return distanceBetweenWGS84PointsInKm(pos1[0], pos1[1], pos2[0], pos2[1]);
91
- }
92
- exports.distanceBetweenPositionsInKm = distanceBetweenPositionsInKm;
93
- function areDistinctPositions(previous, next) {
94
- return previous[0] !== next[0] || previous[1] !== next[1];
95
- }
96
- exports.areDistinctPositions = areDistinctPositions;
97
- /**
98
- * Calculates distance between two GeoJSON points (WGS84)
99
- * @param pos1
100
- * @param pos2
101
- */
102
- function distanceBetweenPositionsInM(pos1, pos2) {
103
- return distanceBetweenPositionsInKm(pos1, pos2) * 1000; // km -> m
104
- }
105
- exports.distanceBetweenPositionsInM = distanceBetweenPositionsInM;
106
- function createGmlLineString(geometry, srsName = 'EPSG:4326') {
107
- const posList = createPosList(geometry);
108
- return {
109
- srsName,
110
- posList,
111
- };
112
- }
113
- exports.createGmlLineString = createGmlLineString;
114
- function createPosList(geometry) {
115
- if (geometry.type === 'Point') {
116
- return positionToList(geometry.coordinates);
117
- }
118
- else if (geometry.type === 'LineString') {
119
- return lineStringToList(geometry.coordinates);
120
- }
121
- else if (geometry.type === 'Polygon') {
122
- return polygonToList(geometry.coordinates);
123
- }
124
- throw new Error("unknown geometry type " + JSON.stringify(geometry));
125
- }
126
- function polygonToList(positions, precision = 8) {
127
- return positions.map(p => lineStringToList(p, precision)).join(' ');
128
- }
129
- function lineStringToList(positions, precision = 8) {
130
- return positions.map(p => positionToList(p, precision)).join(' ');
131
- }
132
- function positionToList(position, precision = 8) {
133
- return position.map(n => n.toPrecision(precision)).join(' ');
134
- }
135
- exports.positionToList = positionToList;
136
- // Converts numeric degrees to radians
137
- function toRadians(angdeg) {
138
- return angdeg * DEGREES_TO_RADIANS;
139
- }
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS2EsUUFBQSxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBRS9COzs7R0FHRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxRQUFrQjtJQUM3QyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFckQsT0FBTyxjQUFjLFdBQVcsR0FBRyxDQUFDO0tBQ3ZDO1NBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtRQUNsQyxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXpELE9BQU8sU0FBUyxXQUFXLEdBQUcsQ0FBQztLQUNsQztTQUFNLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDcEMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVsRCxPQUFPLFdBQVcsV0FBVyxHQUFHLENBQUM7S0FDcEM7U0FBTSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdkQsT0FBTyxnQkFBZ0IsV0FBVyxHQUFHLENBQUM7S0FDekM7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxPQUFPLGVBQWUsQ0FBQztBQUMzQixDQUFDO0FBckJELHdDQXFCQztBQUVELFNBQVMsVUFBVSxDQUFDLFdBQXVCO0lBQ3ZDLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQVcs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QzlDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLFNBQXVCLEVBQUUsU0FBUyxHQUFHLENBQUM7SUFDekQsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hFLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLFNBQXFCLEVBQUUsU0FBUyxHQUFHLENBQUM7SUFDMUQsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLFFBQWtCLEVBQUUsU0FBUyxHQUFHLENBQUM7SUFDNUQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRkQsd0NBRUM7QUFFRCxzQ0FBc0M7QUFDdEMsU0FBUyxTQUFTLENBQUMsTUFBYTtJQUM1QixPQUFPLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEdlb0pTT04gZnVuY3Rpb25zIGFuZCB0b29sc1xyXG4gKi9cclxuaW1wb3J0IHtGZWF0dXJlLCBGZWF0dXJlQ29sbGVjdGlvbiwgR2VvbWV0cnksIFBvc2l0aW9ufSBmcm9tIFwiZ2VvanNvblwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNSSURfV0dTODQgPSA0MzI2O1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgV0tUIGdlb21ldHJ5IGZyb20gR2VvSlNPTiBnZW9tZXRyeVxyXG4gKiBAcGFyYW0gZ2VvbWV0cnkgR2VvSnNvbiBnZW9tZXRyeSB0byBjb252ZXJ0IHRvIFdLVFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUdlb21ldHJ5KGdlb21ldHJ5OiBHZW9tZXRyeSk6IHN0cmluZyB7XHJcbiAgICBpZiAoZ2VvbWV0cnkudHlwZSA9PT0gJ0xpbmVTdHJpbmcnKSB7XHJcbiAgICAgICAgY29uc3QgY29vcmRpbmF0ZXMgPSBsaW5lc3RyaW5nKGdlb21ldHJ5LmNvb3JkaW5hdGVzKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGBMSU5FU1RSSU5HKCR7Y29vcmRpbmF0ZXN9KWA7XHJcbiAgICB9IGVsc2UgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcclxuICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IGNvb3JkaW5hdGVQYWlyKGdlb21ldHJ5LmNvb3JkaW5hdGVzKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGBQT0lOVCgke2Nvb3JkaW5hdGVzfSlgO1xyXG4gICAgfSBlbHNlIGlmIChnZW9tZXRyeS50eXBlID09PSAnUG9seWdvbicpIHtcclxuICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IHBvbHlnb24oZ2VvbWV0cnkuY29vcmRpbmF0ZXMpO1xyXG5cclxuICAgICAgICByZXR1cm4gYFBPTFlHT04oJHtjb29yZGluYXRlc30pYDtcclxuICAgIH0gZWxzZSBpZiAoZ2VvbWV0cnkudHlwZSA9PT0gJ011bHRpUG9seWdvbicpIHtcclxuICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IG11bHRpUG9seWdvbihnZW9tZXRyeS5jb29yZGluYXRlcyk7XHJcblxyXG4gICAgICAgIHJldHVybiBgTVVMVElQT0xZR09OKCR7Y29vcmRpbmF0ZXN9KWA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc29sZS5lcnJvcihcInVuc3VwcG9ydGVkIGxvY2F0aW9uVHlwZT0lc1wiLCBnZW9tZXRyeS50eXBlKTtcclxuICAgIHJldHVybiBcIlBPTFlHT04gRU1QVFlcIjtcclxufVxyXG5cclxuZnVuY3Rpb24gbGluZXN0cmluZyhjb29yZGluYXRlczogUG9zaXRpb25bXSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gY29vcmRpbmF0ZXMubWFwKChjOiBQb3NpdGlvbikgPT4gIGNvb3JkaW5hdGVQYWlyKGMpKS5qb2luKCcsJyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBvbHlnb24oY29vcmRpbmF0ZXM6IFBvc2l0aW9uW11bXSk6c3RyaW5nIHtcclxuICAgIGNvbnN0IGxpc3QgPSBjb29yZGluYXRlcy5tYXAoKGM6IFBvc2l0aW9uW10pID0+IGxpbmVzdHJpbmcoYykpLmpvaW4oJywnKTtcclxuICAgIHJldHVybiBgKCR7bGlzdH0pYDtcclxufVxyXG5cclxuZnVuY3Rpb24gbXVsdGlQb2x5Z29uKGNvb3JkaW5hdGVzOiBQb3NpdGlvbltdW11bXSk6c3RyaW5nIHtcclxuICAgIGNvbnN0IGxpc3QgPSBjb29yZGluYXRlcy5tYXAoKGM6IFBvc2l0aW9uW11bXSkgPT4gcG9seWdvbihjKSkuam9pbignLCcpO1xyXG4gICAgcmV0dXJuIGAoJHtsaXN0fSlgO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjb29yZGluYXRlUGFpcihjb29yZGluYXRlOiBQb3NpdGlvbik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7Y29vcmRpbmF0ZVswXX0gJHtjb29yZGluYXRlWzFdfWA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGUgYSBHZW9KU09OIEZlYXR1cmVDb2xsZWN0aW9uIGZyb20gYSBsaXN0IG9mIEdlb0pTT04gZmVhdHVyZXMgd2l0aCBhICdsYXN0IHVwZGF0ZWQnIHByb3BlcnR5XHJcbiAqIEBwYXJhbSBmZWF0dXJlcyBMaXN0IG9mIEZlYXR1cmVzXHJcbiAqIEBwYXJhbSBsYXN0VXBkYXRlZCBMYXN0IHVwZGF0ZWQgZGF0ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZlYXR1cmVDb2xsZWN0aW9uKGZlYXR1cmVzOiBGZWF0dXJlW10sIGxhc3RVcGRhdGVkOiBEYXRlIHwgbnVsbCk6IEZlYXR1cmVDb2xsZWN0aW9uIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgdHlwZTogXCJGZWF0dXJlQ29sbGVjdGlvblwiLFxyXG4gICAgICAgIGxhc3RVcGRhdGVkOiBsYXN0VXBkYXRlZCxcclxuICAgICAgICBmZWF0dXJlczogZmVhdHVyZXMsXHJcbiAgICB9IGFzIEZlYXR1cmVDb2xsZWN0aW9uO1xyXG59XHJcblxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xyXG5jb25zdCBnZW9Kc29uVmFsaWRhdG9yID0gcmVxdWlyZSgnZ2VvanNvbi12YWxpZGF0aW9uJyk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEdlb0pzb248VD4oanNvbjogVCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGdlb0pzb25WYWxpZGF0b3IudmFsaWQoanNvbik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0ZlYXR1cmVDb2xsZWN0aW9uPFQ+KGpzb246IFQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBnZW9Kc29uVmFsaWRhdG9yLmlzRmVhdHVyZUNvbGxlY3Rpb24oanNvbik7XHJcbn1cclxuXHJcbmNvbnN0IERFR1JFRVNfVE9fUkFESUFOUyA9IDAuMDE3NDUzMjkyNTE5OTQzMjk1OyAvLyA9IE1hdGguUEkgLyAxODBcclxuY29uc3QgRUFSVEhfUkFESVVTX0tNID0gNjM3MTtcclxuXHJcblxyXG4vKipcclxuICogUmV0dXJucyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGlzIGFuZCBnaXZlbiBHZW9KU09OIHBvaW50IGluIGtpbG9tZXRlcnMuIERvZXNuJ3QgdGFrZSBpbiBhY2NvdW50IGFsdGl0dWRlLlxyXG4gKiBCYXNlZCBvbiB0aGUgZm9sbG93aW5nIFN0YWNrIE92ZXJmbG93IHF1ZXN0aW9uOlxyXG4gKiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzI3OTI4L2NhbGN1bGF0ZS1kaXN0YW5jZS1iZXR3ZWVuLXR3by1sYXRpdHVkZS1sb25naXR1ZGUtcG9pbnRzLWhhdmVyc2luZS1mb3JtdWxhLFxyXG4gKiB3aGljaCBpcyBiYXNlZCBvbiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9IYXZlcnNpbmVfZm9ybXVsYSAoZXJyb3IgcmF0ZTogfjAuNTUlKS5cclxuICovXHJcbmZ1bmN0aW9uIGRpc3RhbmNlQmV0d2VlbldHUzg0UG9pbnRzSW5LbShmcm9tWExvbjpudW1iZXIsIGZyb21ZTGF0Om51bWJlciwgdG9YTG9uOm51bWJlciwgdG9ZTGF0Om51bWJlcik6IG51bWJlciAge1xyXG5cclxuICAgIGNvbnN0IGRpZmZMYXQgPSB0b1JhZGlhbnModG9ZTGF0IC0gZnJvbVlMYXQpO1xyXG4gICAgY29uc3QgZGlmZkxvbiA9IHRvUmFkaWFucyh0b1hMb24gLSBmcm9tWExvbik7XHJcblxyXG4gICAgY29uc3QgYSA9XHJcbiAgICAgICAgTWF0aC5zaW4oZGlmZkxhdCAvIDIpICogTWF0aC5zaW4oZGlmZkxhdCAvIDIpICtcclxuICAgICAgICBNYXRoLmNvcyh0b1JhZGlhbnMoZnJvbVlMYXQpKSAqIE1hdGguY29zKHRvUmFkaWFucyh0b1lMYXQpKSAqXHJcbiAgICAgICAgTWF0aC5zaW4oZGlmZkxvbiAvIDIpICogTWF0aC5zaW4oZGlmZkxvbiAvIDIpO1xyXG4gICAgY29uc3QgYyA9IDIgKiBNYXRoLmF0YW4yKE1hdGguc3FydChhKSwgTWF0aC5zcXJ0KDEgLSBhKSk7XHJcbiAgICByZXR1cm4gRUFSVEhfUkFESVVTX0tNICogYztcclxufVxyXG5cclxuLyoqXHJcbiAqIENhbGN1bGF0ZXMgZGlzdGFuY2UgYmV0d2VlbiB0d28gR2VvSlNPTiBwb2ludHMgKFdHUzg0KVxyXG4gKiBAcGFyYW0gcG9zMVxyXG4gKiBAcGFyYW0gcG9zMlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGRpc3RhbmNlQmV0d2VlblBvc2l0aW9uc0luS20ocG9zMTogUG9zaXRpb24sIHBvczI6IFBvc2l0aW9uKSB7XHJcbiAgICByZXR1cm4gZGlzdGFuY2VCZXR3ZWVuV0dTODRQb2ludHNJbkttKHBvczFbMF0sIHBvczFbMV0sIHBvczJbMF0sIHBvczJbMV0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYXJlRGlzdGluY3RQb3NpdGlvbnMocHJldmlvdXM6IFBvc2l0aW9uLCBuZXh0OiBQb3NpdGlvbikge1xyXG4gICAgcmV0dXJuIHByZXZpb3VzWzBdICE9PSBuZXh0WzBdIHx8IHByZXZpb3VzWzFdICE9PSBuZXh0WzFdO1xyXG59XHJcblxyXG4vKipcclxuICogQ2FsY3VsYXRlcyBkaXN0YW5jZSBiZXR3ZWVuIHR3byBHZW9KU09OIHBvaW50cyAoV0dTODQpXHJcbiAqIEBwYXJhbSBwb3MxXHJcbiAqIEBwYXJhbSBwb3MyXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGlzdGFuY2VCZXR3ZWVuUG9zaXRpb25zSW5NKHBvczE6IFBvc2l0aW9uLCBwb3MyOiBQb3NpdGlvbikge1xyXG4gICAgcmV0dXJuIGRpc3RhbmNlQmV0d2VlblBvc2l0aW9uc0luS20ocG9zMSwgcG9zMikgKiAxMDAwOyAvLyBrbSAtPiBtXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHbWxMaW5lU3RyaW5nKGdlb21ldHJ5OiBHZW9tZXRyeSwgc3JzTmFtZSA9ICdFUFNHOjQzMjYnKSB7XHJcbiAgICBjb25zdCBwb3NMaXN0ID0gY3JlYXRlUG9zTGlzdChnZW9tZXRyeSk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBzcnNOYW1lLFxyXG4gICAgICAgIHBvc0xpc3QsXHJcbiAgICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVQb3NMaXN0KGdlb21ldHJ5OiBHZW9tZXRyeSkge1xyXG4gICAgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcclxuICAgICAgICByZXR1cm4gcG9zaXRpb25Ub0xpc3QoZ2VvbWV0cnkuY29vcmRpbmF0ZXMpO1xyXG4gICAgfSBlbHNlIGlmIChnZW9tZXRyeS50eXBlID09PSAnTGluZVN0cmluZycpIHtcclxuICAgICAgICByZXR1cm4gbGluZVN0cmluZ1RvTGlzdChnZW9tZXRyeS5jb29yZGluYXRlcyk7XHJcbiAgICB9IGVsc2UgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdQb2x5Z29uJykge1xyXG4gICAgICAgIHJldHVybiBwb2x5Z29uVG9MaXN0KGdlb21ldHJ5LmNvb3JkaW5hdGVzKTtcclxuICAgIH1cclxuXHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1bmtub3duIGdlb21ldHJ5IHR5cGUgXCIgKyBKU09OLnN0cmluZ2lmeShnZW9tZXRyeSkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBwb2x5Z29uVG9MaXN0KHBvc2l0aW9uczogUG9zaXRpb25bXVtdLCBwcmVjaXNpb24gPSA4KSB7XHJcbiAgICByZXR1cm4gcG9zaXRpb25zLm1hcChwID0+IGxpbmVTdHJpbmdUb0xpc3QocCwgcHJlY2lzaW9uKSkuam9pbignICcpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBsaW5lU3RyaW5nVG9MaXN0KHBvc2l0aW9uczogUG9zaXRpb25bXSwgcHJlY2lzaW9uID0gOCkge1xyXG4gICAgcmV0dXJuIHBvc2l0aW9ucy5tYXAocCA9PiBwb3NpdGlvblRvTGlzdChwLCBwcmVjaXNpb24pKS5qb2luKCcgJyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwb3NpdGlvblRvTGlzdChwb3NpdGlvbjogUG9zaXRpb24sIHByZWNpc2lvbiA9IDgpIHtcclxuICAgIHJldHVybiBwb3NpdGlvbi5tYXAobiA9PiBuLnRvUHJlY2lzaW9uKHByZWNpc2lvbikpLmpvaW4oJyAnKTtcclxufVxyXG5cclxuLy8gQ29udmVydHMgbnVtZXJpYyBkZWdyZWVzIHRvIHJhZGlhbnNcclxuZnVuY3Rpb24gdG9SYWRpYW5zKGFuZ2RlZzpudW1iZXIpIHtcclxuICAgIHJldHVybiBhbmdkZWcgKiBERUdSRUVTX1RPX1JBRElBTlM7XHJcbn1cclxuIl19
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.retry = exports.RetryLogError = void 0;
4
- var RetryLogError;
5
- (function (RetryLogError) {
6
- RetryLogError[RetryLogError["LOG_ALL_AS_ERRORS"] = 0] = "LOG_ALL_AS_ERRORS";
7
- RetryLogError[RetryLogError["LOG_LAST_RETRY_AS_ERROR_OTHERS_AS_WARNS"] = 1] = "LOG_LAST_RETRY_AS_ERROR_OTHERS_AS_WARNS";
8
- RetryLogError[RetryLogError["NO_LOGGING"] = 2] = "NO_LOGGING";
9
- })(RetryLogError = exports.RetryLogError || (exports.RetryLogError = {}));
10
- /**
11
- * Utility function for retrying async functions.
12
- * @param asyncFn Function
13
- * @param retries Amount of retries, default is 3. If set to <= 0, no retries will be done. Using non-finite numbers will throw an error. The maximum allowed retry count is 100.
14
- * @param logError Logging options
15
- * @return Promise return value
16
- */
17
- async function retry(asyncFn, retries = 3, logError = RetryLogError.LOG_LAST_RETRY_AS_ERROR_OTHERS_AS_WARNS) {
18
- if (!isFinite(retries)) {
19
- throw new Error('Only finite numbers are supported');
20
- }
21
- if (retries > 100) {
22
- throw new Error('Exceeded the maximum retry count of 100');
23
- }
24
- try {
25
- return await asyncFn();
26
- }
27
- catch (error) {
28
- const remainingRetries = retries - 1;
29
- const errorMessage = 'method=retry error';
30
- if (logError === RetryLogError.LOG_ALL_AS_ERRORS) {
31
- console.error(errorMessage, error);
32
- }
33
- else if (logError === RetryLogError.LOG_LAST_RETRY_AS_ERROR_OTHERS_AS_WARNS) {
34
- if (remainingRetries < 0) {
35
- console.error(errorMessage, error);
36
- }
37
- else {
38
- console.warn(errorMessage, error);
39
- }
40
- }
41
- if (remainingRetries < 0) {
42
- console.warn('method=retry no retries left');
43
- throw new Error('No retries left');
44
- }
45
- console.warn('method=retry invocation failed, retrying with remaining retries %d', remainingRetries);
46
- return retry(asyncFn, remainingRetries, logError);
47
- }
48
- }
49
- exports.retry = retry;
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvcmV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3JCLDJFQUFpQixDQUFBO0lBQ2pCLHVIQUF1QyxDQUFBO0lBQ3ZDLDZEQUFVLENBQUE7QUFDZCxDQUFDLEVBSlcsYUFBYSxHQUFiLHFCQUFhLEtBQWIscUJBQWEsUUFJeEI7QUFFRDs7Ozs7O0dBTUc7QUFDSSxLQUFLLFVBQVUsS0FBSyxDQUFJLE9BQXlCLEVBQ3BELE9BQU8sR0FBRyxDQUFDLEVBQ1gsUUFBUSxHQUFHLGFBQWEsQ0FBQyx1Q0FBdUM7SUFFaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7S0FDeEQ7SUFDRCxJQUFJLE9BQU8sR0FBRyxHQUFHLEVBQUU7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7S0FDOUQ7SUFDRCxJQUFJO1FBQ0EsT0FBTyxNQUFNLE9BQU8sRUFBRSxDQUFDO0tBQzFCO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDWixNQUFNLGdCQUFnQixHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFFckMsTUFBTSxZQUFZLEdBQUcsb0JBQW9CLENBQUM7UUFDMUMsSUFBSSxRQUFRLEtBQUssYUFBYSxDQUFDLGlCQUFpQixFQUFFO1lBQzlDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3RDO2FBQU0sSUFBSSxRQUFRLEtBQUssYUFBYSxDQUFDLHVDQUF1QyxFQUFFO1lBQzNFLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxFQUFFO2dCQUN0QixPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN0QztpQkFBTTtnQkFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNyQztTQUNKO1FBRUQsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUN0QztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsb0VBQW9FLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNyRyxPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQ2hCLGdCQUFnQixFQUNoQixRQUFRLENBQUMsQ0FBQztLQUNqQjtBQUNMLENBQUM7QUFuQ0Qsc0JBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUmV0cnlMb2dFcnJvciB7XG4gICAgTE9HX0FMTF9BU19FUlJPUlMsXG4gICAgTE9HX0xBU1RfUkVUUllfQVNfRVJST1JfT1RIRVJTX0FTX1dBUk5TLFxuICAgIE5PX0xPR0dJTkdcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIGZvciByZXRyeWluZyBhc3luYyBmdW5jdGlvbnMuXG4gKiBAcGFyYW0gYXN5bmNGbiBGdW5jdGlvblxuICogQHBhcmFtIHJldHJpZXMgQW1vdW50IG9mIHJldHJpZXMsIGRlZmF1bHQgaXMgMy4gSWYgc2V0IHRvIDw9IDAsIG5vIHJldHJpZXMgd2lsbCBiZSBkb25lLiBVc2luZyBub24tZmluaXRlIG51bWJlcnMgd2lsbCB0aHJvdyBhbiBlcnJvci4gVGhlIG1heGltdW0gYWxsb3dlZCByZXRyeSBjb3VudCBpcyAxMDAuXG4gKiBAcGFyYW0gbG9nRXJyb3IgTG9nZ2luZyBvcHRpb25zXG4gKiBAcmV0dXJuIFByb21pc2UgcmV0dXJuIHZhbHVlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXRyeTxUPihhc3luY0ZuOiAoKSA9PiBQcm9taXNlPFQ+LFxuICAgIHJldHJpZXMgPSAzLFxuICAgIGxvZ0Vycm9yID0gUmV0cnlMb2dFcnJvci5MT0dfTEFTVF9SRVRSWV9BU19FUlJPUl9PVEhFUlNfQVNfV0FSTlMpOiBQcm9taXNlPFQ+IHtcblxuICAgIGlmICghaXNGaW5pdGUocmV0cmllcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdPbmx5IGZpbml0ZSBudW1iZXJzIGFyZSBzdXBwb3J0ZWQnKTtcbiAgICB9XG4gICAgaWYgKHJldHJpZXMgPiAxMDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeGNlZWRlZCB0aGUgbWF4aW11bSByZXRyeSBjb3VudCBvZiAxMDAnKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGFzeW5jRm4oKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zdCByZW1haW5pbmdSZXRyaWVzID0gcmV0cmllcyAtIDE7XG5cbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gJ21ldGhvZD1yZXRyeSBlcnJvcic7XG4gICAgICAgIGlmIChsb2dFcnJvciA9PT0gUmV0cnlMb2dFcnJvci5MT0dfQUxMX0FTX0VSUk9SUykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvck1lc3NhZ2UsIGVycm9yKTtcbiAgICAgICAgfSBlbHNlIGlmIChsb2dFcnJvciA9PT0gUmV0cnlMb2dFcnJvci5MT0dfTEFTVF9SRVRSWV9BU19FUlJPUl9PVEhFUlNfQVNfV0FSTlMpIHtcbiAgICAgICAgICAgIGlmIChyZW1haW5pbmdSZXRyaWVzIDwgMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JNZXNzYWdlLCBlcnJvcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnJvck1lc3NhZ2UsIGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZW1haW5pbmdSZXRyaWVzIDwgMCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdtZXRob2Q9cmV0cnkgbm8gcmV0cmllcyBsZWZ0Jyk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHJldHJpZXMgbGVmdCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUud2FybignbWV0aG9kPXJldHJ5IGludm9jYXRpb24gZmFpbGVkLCByZXRyeWluZyB3aXRoIHJlbWFpbmluZyByZXRyaWVzICVkJywgcmVtYWluaW5nUmV0cmllcyk7XG4gICAgICAgIHJldHVybiByZXRyeShhc3luY0ZuLFxuICAgICAgICAgICAgcmVtYWluaW5nUmV0cmllcyxcbiAgICAgICAgICAgIGxvZ0Vycm9yKTtcbiAgICB9XG59XG4iXX0=
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SlackApi = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- class SlackApi {
9
- constructor(url) {
10
- this.url = url;
11
- }
12
- async notify(text) {
13
- try {
14
- console.info('method=notify Notifying Slack');
15
- await axios_1.default.post(this.url, {
16
- text,
17
- });
18
- }
19
- catch (error) {
20
- console.error('method=notify Slack notify failed!');
21
- }
22
- }
23
- }
24
- exports.SlackApi = SlackApi;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvc2xhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBRTFCLE1BQWEsUUFBUTtJQUlqQixZQUFZLEdBQVc7UUFDbkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBWTtRQUNyQixJQUFJO1lBQ0EsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sZUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUN2QixJQUFJO2FBQ1AsQ0FBQyxDQUFDO1NBQ047UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztTQUN2RDtJQUNMLENBQUM7Q0FFSjtBQW5CRCw0QkFtQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XG5cbmV4cG9ydCBjbGFzcyBTbGFja0FwaSB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IodXJsIDpzdHJpbmcpIHtcbiAgICAgICAgdGhpcy51cmwgPSB1cmw7XG4gICAgfVxuXG4gICAgYXN5bmMgbm90aWZ5KHRleHQ6IHN0cmluZykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdtZXRob2Q9bm90aWZ5IE5vdGlmeWluZyBTbGFjaycpO1xuICAgICAgICAgICAgYXdhaXQgYXhpb3MucG9zdCh0aGlzLnVybCwge1xuICAgICAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ21ldGhvZD1ub3RpZnkgU2xhY2sgbm90aWZ5IGZhaWxlZCEnKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bothArraysHasSameValues = void 0;
4
- /**
5
- * Check if arrays have only elements that also exists also in other array.
6
- * Individual element count doesn't matter.
7
- * Function works only for primitive types and for other it just checks the reference to object.
8
- *
9
- * Some examples
10
- * bothArraysHasSameValues( [a, b], [b, a] ) => true
11
- * bothArraysHasSameValues( [a, a], [a, a, a] ) => true
12
- * bothArraysHasSameValues( [a, b], [a] ) => false
13
- *
14
- * Object references:
15
- * const o1 = { a: 1, b: 2};
16
- * const o2 = { a: 1, b: 2};
17
- * // Arrays has references to same objects
18
- * bothArraysHasSameValues([o1], [o1])) => true
19
- * Arrays have references to different objects
20
- * bothArraysHasSameValues([o1], [o2])) => false
21
- *
22
- * @param a first array to compare
23
- * @param b second array to compare
24
- */
25
- function bothArraysHasSameValues(a, b) {
26
- if ((a && !b) || (!a && b)) {
27
- return false;
28
- }
29
- else if (!a && !b) {
30
- return true;
31
- }
32
- const aSet = new Set(a);
33
- const bSet = new Set(b);
34
- if (aSet.size !== bSet.size) {
35
- return false;
36
- }
37
- return Array.from(aSet).every(value => bSet.has(value));
38
- }
39
- exports.bothArraysHasSameValues = bothArraysHasSameValues;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsQ0FBMkIsRUFBRSxDQUEyQjtJQUM1RixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtRQUN4QixPQUFPLEtBQUssQ0FBQztLQUNoQjtTQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7UUFDakIsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ3pCLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBQ0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBWkQsMERBWUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENoZWNrIGlmIGFycmF5cyBoYXZlIG9ubHkgZWxlbWVudHMgdGhhdCBhbHNvIGV4aXN0cyBhbHNvIGluIG90aGVyIGFycmF5LlxuICogSW5kaXZpZHVhbCBlbGVtZW50IGNvdW50IGRvZXNuJ3QgbWF0dGVyLlxuICogRnVuY3Rpb24gd29ya3Mgb25seSBmb3IgcHJpbWl0aXZlIHR5cGVzIGFuZCBmb3Igb3RoZXIgaXQganVzdCBjaGVja3MgdGhlIHJlZmVyZW5jZSB0byBvYmplY3QuXG4gKlxuICogU29tZSBleGFtcGxlc1xuICogYm90aEFycmF5c0hhc1NhbWVWYWx1ZXMoIFthLCBiXSwgW2IsIGFdICkgICAgPT4gdHJ1ZVxuICogYm90aEFycmF5c0hhc1NhbWVWYWx1ZXMoIFthLCBhXSwgW2EsIGEsIGFdICkgPT4gdHJ1ZVxuICogYm90aEFycmF5c0hhc1NhbWVWYWx1ZXMoIFthLCBiXSwgW2FdICkgICAgICAgPT4gZmFsc2VcbiAqXG4gKiBPYmplY3QgcmVmZXJlbmNlczpcbiAqIGNvbnN0IG8xID0geyBhOiAxLCBiOiAyfTtcbiAqIGNvbnN0IG8yID0geyBhOiAxLCBiOiAyfTtcbiAqIC8vIEFycmF5cyBoYXMgcmVmZXJlbmNlcyB0byBzYW1lIG9iamVjdHNcbiAqIGJvdGhBcnJheXNIYXNTYW1lVmFsdWVzKFtvMV0sIFtvMV0pKSAgICAgICAgID0+IHRydWVcbiAqIEFycmF5cyBoYXZlIHJlZmVyZW5jZXMgdG8gZGlmZmVyZW50IG9iamVjdHNcbiAqIGJvdGhBcnJheXNIYXNTYW1lVmFsdWVzKFtvMV0sIFtvMl0pKSAgICAgICAgID0+IGZhbHNlXG4gKlxuICogQHBhcmFtIGEgZmlyc3QgYXJyYXkgdG8gY29tcGFyZVxuICogQHBhcmFtIGIgc2Vjb25kIGFycmF5IHRvIGNvbXBhcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvdGhBcnJheXNIYXNTYW1lVmFsdWVzKGE6IG51bGx8dW5kZWZpbmVkfHVua25vd25bXSwgYjogbnVsbHx1bmRlZmluZWR8dW5rbm93bltdKTogYm9vbGVhbiB7XG4gICAgaWYgKChhICYmICFiKSB8fCAoIWEgJiYgYikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIWEgJiYgIWIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGFTZXQgPSBuZXcgU2V0KGEpO1xuICAgIGNvbnN0IGJTZXQgPSBuZXcgU2V0KGIpO1xuICAgIGlmIChhU2V0LnNpemUgIT09IGJTZXQuc2l6ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBBcnJheS5mcm9tKGFTZXQpLmV2ZXJ5KHZhbHVlID0+IGJTZXQuaGFzKHZhbHVlKSk7XG59XG4iXX0=