@stemy/backend 3.5.16 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/commands/clear-command.d.ts +6 -0
  2. package/commands/fixtures-command.d.ts +9 -0
  3. package/commands/index.d.ts +2 -0
  4. package/common-types.d.ts +29 -7
  5. package/esm2020/commands/clear-command.mjs +17 -0
  6. package/esm2020/commands/fixtures-command.mjs +23 -0
  7. package/esm2020/commands/index.mjs +7 -0
  8. package/esm2020/common-types.mjs +21 -0
  9. package/esm2020/public_api.mjs +379 -0
  10. package/esm2020/requests/asset-image-params.mjs +53 -0
  11. package/esm2020/rest-controllers/assets.controller.mjs +126 -0
  12. package/esm2020/rest-controllers/auth.controller.mjs +46 -0
  13. package/esm2020/rest-controllers/gallery.controller.mjs +21 -0
  14. package/esm2020/rest-controllers/progresses.controller.mjs +29 -0
  15. package/esm2020/rest-controllers/terminal-styles.mjs +67 -0
  16. package/esm2020/rest-controllers/terminal.controller.mjs +125 -0
  17. package/esm2020/rest-middlewares/container.middleware.mjs +20 -0
  18. package/esm2020/rest-middlewares/error-handler.middleware.mjs +74 -0
  19. package/esm2020/rest-middlewares/language.middleware.mjs +18 -0
  20. package/esm2020/rest-middlewares/request-ended.middleware.mjs +23 -0
  21. package/esm2020/rest-middlewares/request-started.middleware.mjs +22 -0
  22. package/esm2020/services/asset-processor.mjs +90 -0
  23. package/esm2020/services/asset-resolver.mjs +31 -0
  24. package/esm2020/services/assets.mjs +140 -0
  25. package/esm2020/services/backend-provider.mjs +22 -0
  26. package/esm2020/services/cache-processor.mjs +16 -0
  27. package/esm2020/services/cache.mjs +62 -0
  28. package/esm2020/services/configuration.mjs +65 -0
  29. package/esm2020/services/endpoint-provider.mjs +13 -0
  30. package/esm2020/services/entities/asset.mjs +43 -0
  31. package/esm2020/services/entities/base-entity.mjs +26 -0
  32. package/esm2020/services/entities/lazy-asset.mjs +73 -0
  33. package/esm2020/services/entities/progress.mjs +176 -0
  34. package/esm2020/services/entities/temp-asset.mjs +45 -0
  35. package/esm2020/services/fixtures.mjs +26 -0
  36. package/esm2020/services/gallery-cache.mjs +27 -0
  37. package/esm2020/services/gallery-image.mjs +37 -0
  38. package/esm2020/services/gallery.mjs +116 -0
  39. package/esm2020/services/id-generator.mjs +42 -0
  40. package/esm2020/services/job-manager.mjs +187 -0
  41. package/esm2020/services/lazy-assets.mjs +48 -0
  42. package/esm2020/services/logger.mjs +21 -0
  43. package/esm2020/services/mail-sender.mjs +36 -0
  44. package/esm2020/services/memory-cache.mjs +57 -0
  45. package/esm2020/services/mongo-connector.mjs +37 -0
  46. package/esm2020/services/open-api.mjs +114 -0
  47. package/esm2020/services/progresses.mjs +86 -0
  48. package/esm2020/services/template-renderer.mjs +64 -0
  49. package/esm2020/services/terminal-manager.mjs +77 -0
  50. package/esm2020/services/token-generator.mjs +35 -0
  51. package/esm2020/services/translation-provider.mjs +34 -0
  52. package/esm2020/services/translator.mjs +63 -0
  53. package/esm2020/services/user-manager.mjs +27 -0
  54. package/esm2020/socket-controllers/progress.controller.mjs +52 -0
  55. package/esm2020/socket-controllers/terminal.controller.mjs +48 -0
  56. package/esm2020/socket-controllers/terminal.mjs +85 -0
  57. package/esm2020/socket-middlewares/compression.middleware.mjs +14 -0
  58. package/esm2020/static.mjs +23 -0
  59. package/esm2020/utilities/decorators.mjs +52 -0
  60. package/esm2020/utilities/di-container.mjs +83 -0
  61. package/esm2020/utilities/empty-job.mjs +13 -0
  62. package/esm2020/utilities/lazy-asset-generator.mjs +35 -0
  63. package/esm2020/utilities/mongoose.mjs +216 -0
  64. package/esm2020/utils.mjs +693 -0
  65. package/esm2020/validators.mjs +46 -0
  66. package/fesm2015/{stemy-backend.js → stemy-backend.mjs} +1923 -2220
  67. package/fesm2015/stemy-backend.mjs.map +1 -0
  68. package/fesm2020/stemy-backend.mjs +4202 -0
  69. package/fesm2020/stemy-backend.mjs.map +1 -0
  70. package/{stemy-backend.d.ts → index.d.ts} +1 -0
  71. package/package.json +36 -23
  72. package/public_api.d.ts +3 -2
  73. package/rest-controllers/terminal-styles.d.ts +2 -0
  74. package/rest-controllers/terminal.controller.d.ts +10 -0
  75. package/services/asset-processor.d.ts +0 -3
  76. package/services/assets.d.ts +1 -0
  77. package/services/configuration.d.ts +2 -1
  78. package/services/entities/asset.d.ts +1 -0
  79. package/services/entities/temp-asset.d.ts +1 -0
  80. package/services/fixtures.d.ts +2 -2
  81. package/services/terminal-manager.d.ts +15 -0
  82. package/socket-controllers/terminal.controller.d.ts +13 -0
  83. package/socket-controllers/terminal.d.ts +20 -0
  84. package/utils.d.ts +7 -1
  85. package/bundles/stemy-backend.umd.js +0 -7081
  86. package/bundles/stemy-backend.umd.js.map +0 -1
  87. package/esm2015/common-types.js +0 -19
  88. package/esm2015/public_api.js +0 -359
  89. package/esm2015/requests/asset-image-params.js +0 -70
  90. package/esm2015/rest-controllers/assets.controller.js +0 -180
  91. package/esm2015/rest-controllers/auth.controller.js +0 -76
  92. package/esm2015/rest-controllers/gallery.controller.js +0 -37
  93. package/esm2015/rest-controllers/progresses.controller.js +0 -57
  94. package/esm2015/rest-middlewares/container.middleware.js +0 -32
  95. package/esm2015/rest-middlewares/error-handler.middleware.js +0 -99
  96. package/esm2015/rest-middlewares/language.middleware.js +0 -28
  97. package/esm2015/rest-middlewares/request-ended.middleware.js +0 -33
  98. package/esm2015/rest-middlewares/request-started.middleware.js +0 -32
  99. package/esm2015/rest-openapi.js +0 -44
  100. package/esm2015/services/asset-processor.js +0 -129
  101. package/esm2015/services/asset-resolver.js +0 -53
  102. package/esm2015/services/assets.js +0 -181
  103. package/esm2015/services/backend-provider.js +0 -32
  104. package/esm2015/services/cache-processor.js +0 -34
  105. package/esm2015/services/cache.js +0 -93
  106. package/esm2015/services/configuration.js +0 -69
  107. package/esm2015/services/endpoint-provider.js +0 -29
  108. package/esm2015/services/entities/asset.js +0 -60
  109. package/esm2015/services/entities/base-entity.js +0 -37
  110. package/esm2015/services/entities/lazy-asset.js +0 -90
  111. package/esm2015/services/entities/progress.js +0 -213
  112. package/esm2015/services/entities/temp-asset.js +0 -64
  113. package/esm2015/services/fixtures.js +0 -45
  114. package/esm2015/services/gallery-cache.js +0 -36
  115. package/esm2015/services/gallery-image.js +0 -48
  116. package/esm2015/services/gallery.js +0 -138
  117. package/esm2015/services/id-generator.js +0 -63
  118. package/esm2015/services/job-manager.js +0 -221
  119. package/esm2015/services/lazy-assets.js +0 -83
  120. package/esm2015/services/logger.js +0 -31
  121. package/esm2015/services/mail-sender.js +0 -58
  122. package/esm2015/services/memory-cache.js +0 -84
  123. package/esm2015/services/mongo-connector.js +0 -58
  124. package/esm2015/services/open-api.js +0 -140
  125. package/esm2015/services/progresses.js +0 -118
  126. package/esm2015/services/template-renderer.js +0 -89
  127. package/esm2015/services/token-generator.js +0 -55
  128. package/esm2015/services/translation-provider.js +0 -54
  129. package/esm2015/services/translator.js +0 -84
  130. package/esm2015/services/user-manager.js +0 -47
  131. package/esm2015/socket-controllers/progress.controller.js +0 -82
  132. package/esm2015/socket-middlewares/compression.middleware.js +0 -19
  133. package/esm2015/static.js +0 -33
  134. package/esm2015/utilities/decorators.js +0 -54
  135. package/esm2015/utilities/di-container.js +0 -84
  136. package/esm2015/utilities/empty-job.js +0 -29
  137. package/esm2015/utilities/lazy-asset-generator.js +0 -46
  138. package/esm2015/utilities/mongoose.js +0 -225
  139. package/esm2015/utils.js +0 -672
  140. package/esm2015/validators.js +0 -51
  141. package/fesm2015/stemy-backend.js.map +0 -1
  142. package/rest-openapi.d.ts +0 -3
  143. package/stemy-backend.metadata.json +0 -1
  144. /package/{esm2015/stemy-backend.js → esm2020/stemy-backend.mjs} +0 -0
  145. /package/{esm2015/utilities/base-doc.js → esm2020/utilities/base-doc.mjs} +0 -0
  146. /package/{esm2015/utilities/tree.js → esm2020/utilities/tree.mjs} +0 -0
@@ -1,32 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { injectable } from "tsyringe";
11
- import { Middleware } from "routing-controllers";
12
- import { ObjectId } from "bson";
13
- import moment from "moment";
14
- import { Logger } from "../services/logger";
15
- let RequestStartedMiddleware = class RequestStartedMiddleware {
16
- constructor(logger) {
17
- this.logger = logger;
18
- }
19
- use(request, response, next) {
20
- request.id = new ObjectId().toHexString();
21
- request.started = moment();
22
- this.logger.log("request-time", `Request '${request.id}' started at: ${request.started.format("YYYY-MM-DD HH:mm:ss")} [${request.method}] ${request.url}`);
23
- next(null);
24
- }
25
- };
26
- RequestStartedMiddleware = __decorate([
27
- injectable(),
28
- Middleware({ type: "before" }),
29
- __metadata("design:paramtypes", [Logger])
30
- ], RequestStartedMiddleware);
31
- export { RequestStartedMiddleware };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1zdGFydGVkLm1pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzdC1taWRkbGV3YXJlcy9yZXF1ZXN0LXN0YXJ0ZWQubWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBNkIsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLG9CQUFvQixDQUFDO0lBSTdCLHdCQUF3QixTQUF4Qix3QkFBd0I7SUFFakMsWUFBcUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDbkMsQ0FBQztJQUVELEdBQUcsQ0FBQyxPQUFpQixFQUFFLFFBQWEsRUFBRSxJQUF3QjtRQUMxRCxPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDWCxjQUFjLEVBQ2QsWUFBWSxPQUFPLENBQUMsRUFBRSxpQkFBaUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FDNUgsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FFSixDQUFBO0FBZlksd0JBQXdCO0lBRnBDLFVBQVUsRUFBRTtJQUNaLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztxQ0FHRSxNQUFNO0dBRjFCLHdCQUF3QixDQWVwQztTQWZZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZX0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7RXhwcmVzc01pZGRsZXdhcmVJbnRlcmZhY2UsIE1pZGRsZXdhcmV9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzXCI7XHJcbmltcG9ydCB7T2JqZWN0SWR9IGZyb20gXCJic29uXCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQge0lSZXF1ZXN0fSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7TG9nZ2VyfSBmcm9tIFwiLi4vc2VydmljZXMvbG9nZ2VyXCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBNaWRkbGV3YXJlKHsgdHlwZTogXCJiZWZvcmVcIiB9KVxyXG5leHBvcnQgY2xhc3MgUmVxdWVzdFN0YXJ0ZWRNaWRkbGV3YXJlIGltcGxlbWVudHMgRXhwcmVzc01pZGRsZXdhcmVJbnRlcmZhY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgdXNlKHJlcXVlc3Q6IElSZXF1ZXN0LCByZXNwb25zZTogYW55LCBuZXh0OiAoZXJyPzogYW55KSA9PiBhbnkpOiB2b2lkIHtcclxuICAgICAgICByZXF1ZXN0LmlkID0gbmV3IE9iamVjdElkKCkudG9IZXhTdHJpbmcoKTtcclxuICAgICAgICByZXF1ZXN0LnN0YXJ0ZWQgPSBtb21lbnQoKTtcclxuICAgICAgICB0aGlzLmxvZ2dlci5sb2coXHJcbiAgICAgICAgICAgIFwicmVxdWVzdC10aW1lXCIsXHJcbiAgICAgICAgICAgIGBSZXF1ZXN0ICcke3JlcXVlc3QuaWR9JyBzdGFydGVkIGF0OiAke3JlcXVlc3Quc3RhcnRlZC5mb3JtYXQoXCJZWVlZLU1NLUREIEhIOm1tOnNzXCIpfSBbJHtyZXF1ZXN0Lm1ldGhvZH1dICR7cmVxdWVzdC51cmx9YFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbmV4dChudWxsKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
@@ -1,44 +0,0 @@
1
- import { getMetadataArgsStorage } from "routing-controllers";
2
- import { routingControllersToSpec } from "routing-controllers-openapi";
3
- import { defaultMetadataStorage } from "class-transformer/storage";
4
- import { ValidationTypes } from "class-validator";
5
- import { validationMetadatasToSchemas } from "class-validator-jsonschema";
6
- import { isFunction } from "./utils";
7
- import { IsFile, IsObjectId } from "./validators";
8
- let apiDocs = null;
9
- export function getApiDocs(customValidation) {
10
- if (apiDocs)
11
- return apiDocs;
12
- const storage = getMetadataArgsStorage();
13
- const spec = routingControllersToSpec(storage);
14
- spec.basePath = "/api/";
15
- spec.definitions = validationMetadatasToSchemas({
16
- classTransformerMetadataStorage: defaultMetadataStorage,
17
- additionalConverters: {
18
- [ValidationTypes.CUSTOM_VALIDATION]: (meta, options) => {
19
- const res = isFunction(customValidation) ? customValidation(meta, options) : customValidation;
20
- if (!!res)
21
- return res;
22
- const constraints = meta.constraints || [];
23
- if (meta.constraintCls === IsFile) {
24
- return {
25
- multi: constraints[0] || false,
26
- type: "file"
27
- };
28
- }
29
- if (meta.constraintCls === IsObjectId) {
30
- return {
31
- endpoint: constraints[0] || false,
32
- multi: constraints[1] || false,
33
- type: "list"
34
- };
35
- }
36
- return null;
37
- }
38
- }
39
- });
40
- spec.components.schemas = spec.definitions;
41
- apiDocs = JSON.stringify(spec);
42
- return apiDocs;
43
- }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1vcGVuYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jlc3Qtb3BlbmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUJBQWlCLENBQUE7QUFDL0MsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sNEJBQTRCLENBQUE7QUFFdkUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUVoRCxJQUFJLE9BQU8sR0FBVyxJQUFJLENBQUM7QUFFM0IsTUFBTSxVQUFVLFVBQVUsQ0FBQyxnQkFBZ0Q7SUFDdkUsSUFBSSxPQUFPO1FBQUUsT0FBTyxPQUFPLENBQUM7SUFDNUIsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxNQUFNLElBQUksR0FBa0Isd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyw0QkFBNEIsQ0FBQztRQUM1QywrQkFBK0IsRUFBRSxzQkFBc0I7UUFDdkQsb0JBQW9CLEVBQUU7WUFDbEIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtnQkFDbkQsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzlGLElBQUksQ0FBQyxDQUFDLEdBQUc7b0JBQUUsT0FBTyxHQUFHLENBQUM7Z0JBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO2dCQUMzQyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssTUFBTSxFQUFFO29CQUMvQixPQUFPO3dCQUNILEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSzt3QkFDOUIsSUFBSSxFQUFFLE1BQU07cUJBQ2YsQ0FBQTtpQkFDSjtnQkFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVSxFQUFFO29CQUNuQyxPQUFPO3dCQUNILFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSzt3QkFDakMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLO3dCQUM5QixJQUFJLEVBQUUsTUFBTTtxQkFDZixDQUFBO2lCQUNKO2dCQUNELE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7U0FDSjtLQUNKLENBQUMsQ0FBQztJQUNILElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDM0MsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z2V0TWV0YWRhdGFBcmdzU3RvcmFnZX0gZnJvbSBcInJvdXRpbmctY29udHJvbGxlcnNcIjtcclxuaW1wb3J0IHtyb3V0aW5nQ29udHJvbGxlcnNUb1NwZWN9IGZyb20gXCJyb3V0aW5nLWNvbnRyb2xsZXJzLW9wZW5hcGlcIjtcclxuaW1wb3J0IHtPcGVuQVBJT2JqZWN0LCBTY2hlbWFPYmplY3R9IGZyb20gXCJvcGVuYXBpMy10c1wiO1xyXG5pbXBvcnQge2RlZmF1bHRNZXRhZGF0YVN0b3JhZ2V9IGZyb20gXCJjbGFzcy10cmFuc2Zvcm1lci9zdG9yYWdlXCI7XHJcbmltcG9ydCB7VmFsaWRhdGlvblR5cGVzfSBmcm9tIFwiY2xhc3MtdmFsaWRhdG9yXCJcclxuaW1wb3J0IHt2YWxpZGF0aW9uTWV0YWRhdGFzVG9TY2hlbWFzfSBmcm9tIFwiY2xhc3MtdmFsaWRhdG9yLWpzb25zY2hlbWFcIlxyXG5pbXBvcnQge1NjaGVtYUNvbnZlcnRlcn0gZnJvbSBcIi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7aXNGdW5jdGlvbn0gZnJvbSBcIi4vdXRpbHNcIjtcclxuaW1wb3J0IHtJc0ZpbGUsIElzT2JqZWN0SWR9IGZyb20gXCIuL3ZhbGlkYXRvcnNcIjtcclxuXHJcbmxldCBhcGlEb2NzOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwaURvY3MoY3VzdG9tVmFsaWRhdGlvbjogU2NoZW1hQ29udmVydGVyIHwgU2NoZW1hT2JqZWN0KTogc3RyaW5nIHtcclxuICAgIGlmIChhcGlEb2NzKSByZXR1cm4gYXBpRG9jcztcclxuICAgIGNvbnN0IHN0b3JhZ2UgPSBnZXRNZXRhZGF0YUFyZ3NTdG9yYWdlKCk7XHJcbiAgICBjb25zdCBzcGVjOiBPcGVuQVBJT2JqZWN0ID0gcm91dGluZ0NvbnRyb2xsZXJzVG9TcGVjKHN0b3JhZ2UpO1xyXG4gICAgc3BlYy5iYXNlUGF0aCA9IFwiL2FwaS9cIjtcclxuICAgIHNwZWMuZGVmaW5pdGlvbnMgPSB2YWxpZGF0aW9uTWV0YWRhdGFzVG9TY2hlbWFzKHtcclxuICAgICAgICBjbGFzc1RyYW5zZm9ybWVyTWV0YWRhdGFTdG9yYWdlOiBkZWZhdWx0TWV0YWRhdGFTdG9yYWdlLFxyXG4gICAgICAgIGFkZGl0aW9uYWxDb252ZXJ0ZXJzOiB7XHJcbiAgICAgICAgICAgIFtWYWxpZGF0aW9uVHlwZXMuQ1VTVE9NX1ZBTElEQVRJT05dOiAobWV0YSwgb3B0aW9ucykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gaXNGdW5jdGlvbihjdXN0b21WYWxpZGF0aW9uKSA/IGN1c3RvbVZhbGlkYXRpb24obWV0YSwgb3B0aW9ucykgOiBjdXN0b21WYWxpZGF0aW9uO1xyXG4gICAgICAgICAgICAgICAgaWYgKCEhcmVzKSByZXR1cm4gcmVzO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29uc3RyYWludHMgPSBtZXRhLmNvbnN0cmFpbnRzIHx8IFtdO1xyXG4gICAgICAgICAgICAgICAgaWYgKG1ldGEuY29uc3RyYWludENscyA9PT0gSXNGaWxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGk6IGNvbnN0cmFpbnRzWzBdIHx8IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChtZXRhLmNvbnN0cmFpbnRDbHMgPT09IElzT2JqZWN0SWQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludDogY29uc3RyYWludHNbMF0gfHwgZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpOiBjb25zdHJhaW50c1sxXSB8fCBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJsaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgc3BlYy5jb21wb25lbnRzLnNjaGVtYXMgPSBzcGVjLmRlZmluaXRpb25zO1xyXG4gICAgYXBpRG9jcyA9IEpTT04uc3RyaW5naWZ5KHNwZWMpO1xyXG4gICAgcmV0dXJuIGFwaURvY3M7XHJcbn1cclxuIl19
@@ -1,129 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
- return new (P || (P = Promise))(function (resolve, reject) {
10
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
- step((generator = generator.apply(thisArg, _arguments || [])).next());
14
- });
15
- };
16
- var AssetProcessor_1;
17
- import { injectable, Lifecycle, scoped } from "tsyringe";
18
- import fontKit_ from "fontkit";
19
- import { fromBuffer } from "file-type";
20
- import sharp_ from "sharp";
21
- const sharp = sharp_;
22
- const fontKit = fontKit_;
23
- const fontTypes = [
24
- "application/font-woff", "application/font-woff2", "application/x-font-opentype", "application/x-font-truetype", "application/x-font-datafork",
25
- "font/woff", "font/woff2", "font/otf", "font/ttf", "font/datafork"
26
- ];
27
- const imageTypes = ["image/jpeg", "image/jpg", "image/png", "image/svg+xml"];
28
- const fontProps = [
29
- "postscriptName", "fullName", "familyName", "subfamilyName",
30
- "copyright", "version", "unitsPerEm", "ascent", "descent", "lineGap",
31
- "underlinePosition", "underlineThickness", "italicAngle", "capHeight",
32
- "xHeight", "numGlyphs", "characterSet", "availableFeatures"
33
- ];
34
- let AssetProcessor = AssetProcessor_1 = class AssetProcessor {
35
- static checkTextFileType(type) {
36
- return type.mime.indexOf("text") >= 0 || type.mime.indexOf("xml") >= 0;
37
- }
38
- static fixTextFileType(type, buffer) {
39
- const text = buffer.toString("utf8");
40
- if (text.indexOf("<svg") >= 0) {
41
- return { ext: "svg", mime: "image/svg+xml" };
42
- }
43
- return type;
44
- }
45
- static fileTypeFromBuffer(buffer) {
46
- var _a;
47
- return __awaiter(this, void 0, void 0, function* () {
48
- const type = ((_a = yield fromBuffer(buffer)) !== null && _a !== void 0 ? _a : { ext: "txt", mime: "text/plain" });
49
- if (AssetProcessor_1.checkTextFileType(type)) {
50
- return AssetProcessor_1.fixTextFileType(type, buffer);
51
- }
52
- return type;
53
- });
54
- }
55
- static extractFontFormat(font) {
56
- const name = font.constructor.name;
57
- const tag = font["directory"].tag;
58
- switch (name) {
59
- case "TTFFont":
60
- return tag === "OTTO" ? "opentype" : "truetype";
61
- case "WOFF2Font":
62
- return "woff2";
63
- case "WOFFFont":
64
- return "woff";
65
- case "DFont":
66
- return "datafork";
67
- }
68
- return null;
69
- }
70
- static isImage(contentType) {
71
- return imageTypes.indexOf(contentType) >= 0;
72
- }
73
- static copyImageMeta(buffer, metadata, fileType) {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- if (fileType.mime === "image/svg+xml") {
76
- const match = /<svg([^<>]+)>/gi.exec(buffer.toString("utf8"));
77
- if (match && match.length > 1) {
78
- const attrs = match[1].match(/([a-z]+)="([^"]+)"/gi);
79
- attrs.forEach(attr => {
80
- if (attr.length < 5)
81
- return;
82
- const [name, value] = attr.split("=");
83
- const val = value.replace(/"/gi, "");
84
- metadata[name] = isNaN(val) ? val : Number(val);
85
- });
86
- if (metadata.viewBox && (isNaN(metadata.width) || isNaN(metadata.height))) {
87
- const parts = metadata.viewBox.split(" ");
88
- metadata.width = Number(parts[0]) + Number(parts[2]);
89
- metadata.height = Number(parts[1]) + Number(parts[3]);
90
- }
91
- if (!isNaN(metadata.width) && !isNaN(metadata.height)) {
92
- metadata.svgSize = { x: metadata.width, y: metadata.height };
93
- }
94
- }
95
- return buffer;
96
- }
97
- const output = yield sharp(buffer).rotate().toBuffer({ resolveWithObject: true });
98
- Object.assign(metadata, output.info);
99
- return output.data;
100
- });
101
- }
102
- static isFont(contentType) {
103
- return fontTypes.indexOf(contentType) >= 0;
104
- }
105
- static copyFontMeta(buffer, metadata) {
106
- const font = fontKit.create(buffer);
107
- metadata.format = AssetProcessor_1.extractFontFormat(font);
108
- fontProps.forEach(prop => {
109
- metadata[prop] = font[prop];
110
- });
111
- }
112
- process(buffer, metadata, fileType) {
113
- return __awaiter(this, void 0, void 0, function* () {
114
- if (AssetProcessor_1.isImage(fileType.mime)) {
115
- buffer = yield AssetProcessor_1.copyImageMeta(buffer, metadata, fileType);
116
- }
117
- if (AssetProcessor_1.isFont(fileType.mime)) {
118
- AssetProcessor_1.copyFontMeta(buffer, metadata);
119
- }
120
- return buffer;
121
- });
122
- }
123
- };
124
- AssetProcessor = AssetProcessor_1 = __decorate([
125
- injectable(),
126
- scoped(Lifecycle.ContainerScoped)
127
- ], AssetProcessor);
128
- export { AssetProcessor };
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2Fzc2V0LXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3ZELE9BQU8sUUFBZ0IsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLE1BQU0sTUFBTSxPQUFPLENBQUM7QUFHM0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBQ3JCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQztBQUV6QixNQUFNLFNBQVMsR0FBRztJQUNkLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLDZCQUE2QjtJQUM5SSxXQUFXLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZUFBZTtDQUNyRSxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUU3RSxNQUFNLFNBQVMsR0FBRztJQUNkLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsZUFBZTtJQUMzRCxXQUFXLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVM7SUFDcEUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFdBQVc7SUFDckUsU0FBUyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsbUJBQW1CO0NBQzlELENBQUM7SUFJVyxjQUFjLDRCQUFkLGNBQWM7SUFFZixNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBZTtRQUM1QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FB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QyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWMsRUFBRSxRQUFvQjtRQUNwRCxNQUFNLElBQUksR0FBUyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsZ0JBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUssT0FBTyxDQUFDLE1BQWMsRUFBRSxRQUFvQixFQUFFLFFBQW1COztZQUNuRSxJQUFJLGdCQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdkMsTUFBTSxHQUFHLE1BQU0sZ0JBQWMsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQzthQUMzRTtZQUNELElBQUksZ0JBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN0QyxnQkFBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDakQ7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDO0tBQUE7Q0FDSixDQUFBO0FBMUZZLGNBQWM7SUFGMUIsVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7R0FDckIsY0FBYyxDQTBGMUI7U0ExRlksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZSwgTGlmZWN5Y2xlLCBzY29wZWR9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQgZm9udEtpdF8sIHtGb250fSBmcm9tIFwiZm9udGtpdFwiO1xyXG5pbXBvcnQge2Zyb21CdWZmZXJ9IGZyb20gXCJmaWxlLXR5cGVcIjtcclxuaW1wb3J0IHNoYXJwXyBmcm9tIFwic2hhcnBcIjtcclxuaW1wb3J0IHtGb250Rm9ybWF0LCBJQXNzZXRNZXRhLCBJRmlsZVR5cGV9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbmNvbnN0IHNoYXJwID0gc2hhcnBfO1xyXG5jb25zdCBmb250S2l0ID0gZm9udEtpdF87XHJcblxyXG5jb25zdCBmb250VHlwZXMgPSBbXHJcbiAgICBcImFwcGxpY2F0aW9uL2ZvbnQtd29mZlwiLCBcImFwcGxpY2F0aW9uL2ZvbnQtd29mZjJcIiwgXCJhcHBsaWNhdGlvbi94LWZvbnQtb3BlbnR5cGVcIiwgXCJhcHBsaWNhdGlvbi94LWZvbnQtdHJ1ZXR5cGVcIiwgXCJhcHBsaWNhdGlvbi94LWZvbnQtZGF0YWZvcmtcIixcclxuICAgIFwiZm9udC93b2ZmXCIsIFwiZm9udC93b2ZmMlwiLCBcImZvbnQvb3RmXCIsIFwiZm9udC90dGZcIiwgXCJmb250L2RhdGFmb3JrXCJcclxuXTtcclxuXHJcbmNvbnN0IGltYWdlVHlwZXMgPSBbXCJpbWFnZS9qcGVnXCIsIFwiaW1hZ2UvanBnXCIsIFwiaW1hZ2UvcG5nXCIsIFwiaW1hZ2Uvc3ZnK3htbFwiXTtcclxuXHJcbmNvbnN0IGZvbnRQcm9wcyA9IFtcclxuICAgIFwicG9zdHNjcmlwdE5hbWVcIiwgXCJmdWxsTmFtZVwiLCBcImZhbWlseU5hbWVcIiwgXCJzdWJmYW1pbHlOYW1lXCIsXHJcbiAgICBcImNvcHlyaWdodFwiLCBcInZlcnNpb25cIiwgXCJ1bml0c1BlckVtXCIsIFwiYXNjZW50XCIsIFwiZGVzY2VudFwiLCBcImxpbmVHYXBcIixcclxuICAgIFwidW5kZXJsaW5lUG9zaXRpb25cIiwgXCJ1bmRlcmxpbmVUaGlja25lc3NcIiwgXCJpdGFsaWNBbmdsZVwiLCBcImNhcEhlaWdodFwiLFxyXG4gICAgXCJ4SGVpZ2h0XCIsIFwibnVtR2x5cGhzXCIsIFwiY2hhcmFjdGVyU2V0XCIsIFwiYXZhaWxhYmxlRmVhdHVyZXNcIlxyXG5dO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2NvcGVkKExpZmVjeWNsZS5Db250YWluZXJTY29wZWQpXHJcbmV4cG9ydCBjbGFzcyBBc3NldFByb2Nlc3NvciB7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgY2hlY2tUZXh0RmlsZVR5cGUodHlwZTogSUZpbGVUeXBlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGUubWltZS5pbmRleE9mKFwidGV4dFwiKSA+PSAwIHx8IHR5cGUubWltZS5pbmRleE9mKFwieG1sXCIpID49IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZml4VGV4dEZpbGVUeXBlKHR5cGU6IElGaWxlVHlwZSwgYnVmZmVyOiBCdWZmZXIpOiBJRmlsZVR5cGUge1xyXG4gICAgICAgIGNvbnN0IHRleHQgPSBidWZmZXIudG9TdHJpbmcoXCJ1dGY4XCIpO1xyXG4gICAgICAgIGlmICh0ZXh0LmluZGV4T2YoXCI8c3ZnXCIpID49IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtleHQ6IFwic3ZnXCIsIG1pbWU6IFwiaW1hZ2Uvc3ZnK3htbFwifTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGFzeW5jIGZpbGVUeXBlRnJvbUJ1ZmZlcihidWZmZXI6IEJ1ZmZlcik6IFByb21pc2U8SUZpbGVUeXBlPiB7XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IChhd2FpdCBmcm9tQnVmZmVyKGJ1ZmZlcikgPz8ge2V4dDogXCJ0eHRcIiwgbWltZTogXCJ0ZXh0L3BsYWluXCJ9KSBhcyBJRmlsZVR5cGU7XHJcbiAgICAgICAgaWYgKEFzc2V0UHJvY2Vzc29yLmNoZWNrVGV4dEZpbGVUeXBlKHR5cGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBBc3NldFByb2Nlc3Nvci5maXhUZXh0RmlsZVR5cGUodHlwZSwgYnVmZmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGV4dHJhY3RGb250Rm9ybWF0KGZvbnQ6IEZvbnQpOiBGb250Rm9ybWF0IHtcclxuICAgICAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSBmb250LmNvbnN0cnVjdG9yLm5hbWU7XHJcbiAgICAgICAgY29uc3QgdGFnOiBzdHJpbmcgID0gZm9udFtcImRpcmVjdG9yeVwiXS50YWc7XHJcbiAgICAgICAgc3dpdGNoIChuYW1lKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCJUVEZGb250XCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFnID09PSBcIk9UVE9cIiA/IFwib3BlbnR5cGVcIiA6IFwidHJ1ZXR5cGVcIjtcclxuICAgICAgICAgICAgY2FzZSBcIldPRkYyRm9udFwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwid29mZjJcIjtcclxuICAgICAgICAgICAgY2FzZSBcIldPRkZGb250XCI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJ3b2ZmXCI7XHJcbiAgICAgICAgICAgIGNhc2UgXCJERm9udFwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiZGF0YWZvcmtcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzSW1hZ2UoY29udGVudFR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBpbWFnZVR5cGVzLmluZGV4T2YoY29udGVudFR5cGUpID49IDA7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGFzeW5jIGNvcHlJbWFnZU1ldGEoYnVmZmVyOiBCdWZmZXIsIG1ldGFkYXRhOiBJQXNzZXRNZXRhLCBmaWxlVHlwZTogSUZpbGVUeXBlKTogUHJvbWlzZTxCdWZmZXI+IHtcclxuICAgICAgICBpZiAoZmlsZVR5cGUubWltZSA9PT0gXCJpbWFnZS9zdmcreG1sXCIpIHtcclxuICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSAvPHN2ZyhbXjw+XSspPi9naS5leGVjKGJ1ZmZlci50b1N0cmluZyhcInV0ZjhcIikpO1xyXG4gICAgICAgICAgICBpZiAobWF0Y2ggJiYgbWF0Y2gubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYXR0cnMgPSBtYXRjaFsxXS5tYXRjaCgvKFthLXpdKyk9XCIoW15cIl0rKVwiL2dpKTtcclxuICAgICAgICAgICAgICAgIGF0dHJzLmZvckVhY2goYXR0ciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGF0dHIubGVuZ3RoIDwgNSkgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtuYW1lLCB2YWx1ZV0gPSBhdHRyLnNwbGl0KFwiPVwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSB2YWx1ZS5yZXBsYWNlKC9cIi9naSwgXCJcIikgYXMgYW55O1xyXG4gICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhW25hbWVdID0gaXNOYU4odmFsKSA/IHZhbCA6IE51bWJlcih2YWwpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBpZiAobWV0YWRhdGEudmlld0JveCAmJiAoaXNOYU4obWV0YWRhdGEud2lkdGgpIHx8IGlzTmFOKG1ldGFkYXRhLmhlaWdodCkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFydHMgPSAobWV0YWRhdGEudmlld0JveCBhcyBzdHJpbmcpLnNwbGl0KFwiIFwiKTtcclxuICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YS53aWR0aCA9IE51bWJlcihwYXJ0c1swXSkgKyBOdW1iZXIocGFydHNbMl0pO1xyXG4gICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhLmhlaWdodCA9IE51bWJlcihwYXJ0c1sxXSkgKyBOdW1iZXIocGFydHNbM10pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKCFpc05hTihtZXRhZGF0YS53aWR0aCkgJiYgIWlzTmFOKG1ldGFkYXRhLmhlaWdodCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YS5zdmdTaXplID0ge3g6IG1ldGFkYXRhLndpZHRoLCB5OiBtZXRhZGF0YS5oZWlnaHR9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBidWZmZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IHNoYXJwKGJ1ZmZlcikucm90YXRlKCkudG9CdWZmZXIoe3Jlc29sdmVXaXRoT2JqZWN0OiB0cnVlfSk7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihtZXRhZGF0YSwgb3V0cHV0LmluZm8pO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQuZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaXNGb250KGNvbnRlbnRUeXBlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gZm9udFR5cGVzLmluZGV4T2YoY29udGVudFR5cGUpID49IDA7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGNvcHlGb250TWV0YShidWZmZXI6IEJ1ZmZlciwgbWV0YWRhdGE6IElBc3NldE1ldGEpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmb250OiBGb250ID0gZm9udEtpdC5jcmVhdGUoYnVmZmVyKTtcclxuICAgICAgICBtZXRhZGF0YS5mb3JtYXQgPSBBc3NldFByb2Nlc3Nvci5leHRyYWN0Rm9udEZvcm1hdChmb250KTtcclxuICAgICAgICBmb250UHJvcHMuZm9yRWFjaChwcm9wID0+IHtcclxuICAgICAgICAgICAgbWV0YWRhdGFbcHJvcF0gPSBmb250W3Byb3BdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHByb2Nlc3MoYnVmZmVyOiBCdWZmZXIsIG1ldGFkYXRhOiBJQXNzZXRNZXRhLCBmaWxlVHlwZTogSUZpbGVUeXBlKTogUHJvbWlzZTxCdWZmZXI+IHtcclxuICAgICAgICBpZiAoQXNzZXRQcm9jZXNzb3IuaXNJbWFnZShmaWxlVHlwZS5taW1lKSkge1xyXG4gICAgICAgICAgICBidWZmZXIgPSBhd2FpdCBBc3NldFByb2Nlc3Nvci5jb3B5SW1hZ2VNZXRhKGJ1ZmZlciwgbWV0YWRhdGEsIGZpbGVUeXBlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKEFzc2V0UHJvY2Vzc29yLmlzRm9udChmaWxlVHlwZS5taW1lKSkge1xyXG4gICAgICAgICAgICBBc3NldFByb2Nlc3Nvci5jb3B5Rm9udE1ldGEoYnVmZmVyLCBtZXRhZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBidWZmZXI7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,53 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
- return new (P || (P = Promise))(function (resolve, reject) {
13
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
14
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
15
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
16
- step((generator = generator.apply(thisArg, _arguments || [])).next());
17
- });
18
- };
19
- import { injectable, Lifecycle, scoped } from "tsyringe";
20
- import { Assets } from "./assets";
21
- import { LazyAssets } from "./lazy-assets";
22
- let AssetResolver = class AssetResolver {
23
- constructor(assets, lazyAssets) {
24
- this.assets = assets;
25
- this.lazyAssets = lazyAssets;
26
- }
27
- resolve(id, lazy = false) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- let asset = null;
30
- if (lazy) {
31
- const lazyAsset = yield this.lazyAssets.read(id);
32
- if (!lazyAsset)
33
- return null;
34
- return lazyAsset.loadAsset();
35
- }
36
- asset = yield this.assets.read(id);
37
- if (!asset) {
38
- const lazyAsset = yield this.lazyAssets.read(id);
39
- if (!lazyAsset)
40
- return null;
41
- return lazyAsset.loadAsset();
42
- }
43
- return asset;
44
- });
45
- }
46
- };
47
- AssetResolver = __decorate([
48
- injectable(),
49
- scoped(Lifecycle.ContainerScoped),
50
- __metadata("design:paramtypes", [Assets, LazyAssets])
51
- ], AssetResolver);
52
- export { AssetResolver };
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvYXNzZXQtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXZELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztJQUk1QixhQUFhLFNBQWIsYUFBYTtJQUV0QixZQUFxQixNQUFjLEVBQVcsVUFBc0I7UUFBL0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFXLGVBQVUsR0FBVixVQUFVLENBQVk7SUFFcEUsQ0FBQztJQUVLLE9BQU8sQ0FBQyxFQUFVLEVBQUUsT0FBZ0IsS0FBSzs7WUFDM0MsSUFBSSxLQUFLLEdBQVcsSUFBSSxDQUFDO1lBQ3pCLElBQUksSUFBSSxFQUFFO2dCQUNOLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxTQUFTO29CQUFFLE9BQU8sSUFBSSxDQUFDO2dCQUM1QixPQUFPLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNoQztZQUNELEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1IsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLFNBQVM7b0JBQUUsT0FBTyxJQUFJLENBQUM7Z0JBQzVCLE9BQU8sU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ2hDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztLQUFBO0NBQ0osQ0FBQTtBQXJCWSxhQUFhO0lBRnpCLFVBQVUsRUFBRTtJQUNaLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO3FDQUdELE1BQU0sRUFBdUIsVUFBVTtHQUYzRCxhQUFhLENBcUJ6QjtTQXJCWSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3RhYmxlLCBMaWZlY3ljbGUsIHNjb3BlZH0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7SUFzc2V0fSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7QXNzZXRzfSBmcm9tIFwiLi9hc3NldHNcIjtcclxuaW1wb3J0IHtMYXp5QXNzZXRzfSBmcm9tIFwiLi9sYXp5LWFzc2V0c1wiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2NvcGVkKExpZmVjeWNsZS5Db250YWluZXJTY29wZWQpXHJcbmV4cG9ydCBjbGFzcyBBc3NldFJlc29sdmVyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBhc3NldHM6IEFzc2V0cywgcmVhZG9ubHkgbGF6eUFzc2V0czogTGF6eUFzc2V0cykge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZXNvbHZlKGlkOiBzdHJpbmcsIGxhenk6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgbGV0IGFzc2V0OiBJQXNzZXQgPSBudWxsO1xyXG4gICAgICAgIGlmIChsYXp5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxhenlBc3NldCA9IGF3YWl0IHRoaXMubGF6eUFzc2V0cy5yZWFkKGlkKTtcclxuICAgICAgICAgICAgaWYgKCFsYXp5QXNzZXQpIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICByZXR1cm4gbGF6eUFzc2V0LmxvYWRBc3NldCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhc3NldCA9IGF3YWl0IHRoaXMuYXNzZXRzLnJlYWQoaWQpO1xyXG4gICAgICAgIGlmICghYXNzZXQpIHtcclxuICAgICAgICAgICAgY29uc3QgbGF6eUFzc2V0ID0gYXdhaXQgdGhpcy5sYXp5QXNzZXRzLnJlYWQoaWQpO1xyXG4gICAgICAgICAgICBpZiAoIWxhenlBc3NldCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIHJldHVybiBsYXp5QXNzZXQubG9hZEFzc2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhc3NldDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,181 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
- return new (P || (P = Promise))(function (resolve, reject) {
13
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
14
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
15
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
16
- step((generator = generator.apply(thisArg, _arguments || [])).next());
17
- });
18
- };
19
- import { injectable, Lifecycle, scoped } from "tsyringe";
20
- import { ObjectId } from "bson";
21
- import axios from "axios";
22
- import { bufferToStream, copyStream, streamToBuffer } from "../utils";
23
- import { MongoConnector } from "./mongo-connector";
24
- import { AssetProcessor } from "./asset-processor";
25
- import { Asset } from "./entities/asset";
26
- import { TempAsset } from "./entities/temp-asset";
27
- let Assets = class Assets {
28
- constructor(connector, assetProcessor) {
29
- var _a;
30
- this.connector = connector;
31
- this.assetProcessor = assetProcessor;
32
- this.bucket = connector.bucket;
33
- this.collection = (_a = connector.database) === null || _a === void 0 ? void 0 : _a.collection("assets.files");
34
- }
35
- write(stream, contentType = null, metadata = null) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- const uploadStream = copyStream(stream);
38
- const buffer = yield streamToBuffer(stream);
39
- let fileType = { ext: "", mime: contentType };
40
- try {
41
- fileType = yield AssetProcessor.fileTypeFromBuffer(buffer);
42
- }
43
- catch (e) {
44
- if (!fileType.mime) {
45
- throw `Can't determine mime type`;
46
- }
47
- console.log(`Can't determine mime type`, e);
48
- }
49
- metadata = metadata || {};
50
- return this.upload(uploadStream, fileType, metadata);
51
- });
52
- }
53
- writeBuffer(buffer, metadata = null, contentType = null) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- let fileType = { ext: "", mime: contentType };
56
- try {
57
- fileType = yield AssetProcessor.fileTypeFromBuffer(buffer);
58
- }
59
- catch (e) {
60
- if (!fileType.mime) {
61
- throw `Can't determine mime type`;
62
- }
63
- console.log(`Can't determine mime type`, e);
64
- }
65
- metadata = metadata || {};
66
- buffer = yield this.assetProcessor.process(buffer, metadata, fileType);
67
- return this.upload(bufferToStream(buffer), fileType, metadata);
68
- });
69
- }
70
- writeUrl(url, metadata = null) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- metadata = metadata || {};
73
- metadata.filename = metadata.filename || url;
74
- metadata.url = url;
75
- metadata.uploadTime = new Date().getTime();
76
- const oneWeek = 1000 * 3600 * 24 * 7;
77
- const asset = yield this.find({ "metadata.url": url, "metadata.uploadTime": { $gt: metadata.uploadTime - oneWeek } });
78
- if (asset)
79
- return asset;
80
- const buffer = (yield axios({ url, responseType: "arraybuffer" })).data;
81
- return this.writeBuffer(buffer, metadata);
82
- });
83
- }
84
- download(url, contentType = null) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- let buffer = (yield axios({ url, responseType: "arraybuffer" })).data;
87
- let fileType = { ext: "", mime: contentType };
88
- try {
89
- fileType = yield AssetProcessor.fileTypeFromBuffer(buffer);
90
- }
91
- catch (e) {
92
- if (!fileType.mime) {
93
- throw `Can't determine mime type`;
94
- }
95
- console.log(`Can't determine mime type`, e);
96
- }
97
- const metadata = {
98
- filename: url,
99
- extension: (fileType.ext || "").trim()
100
- };
101
- buffer = yield this.assetProcessor.process(buffer, metadata, fileType);
102
- return new TempAsset(buffer, url, fileType.mime, metadata);
103
- });
104
- }
105
- read(id) {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- return !id ? null : this.find({ _id: new ObjectId(id) });
108
- });
109
- }
110
- find(where) {
111
- return __awaiter(this, void 0, void 0, function* () {
112
- const data = yield this.collection.findOne(where);
113
- return !data ? null : new Asset(data._id, data, this.collection, this.bucket);
114
- });
115
- }
116
- findMany(where) {
117
- return __awaiter(this, void 0, void 0, function* () {
118
- const cursor = this.collection.find(where);
119
- const items = (yield cursor.toArray()) || [];
120
- const result = [];
121
- for (let item of items) {
122
- if (!item)
123
- continue;
124
- result.push(new Asset(item._id, item, this.collection, this.bucket));
125
- }
126
- return result;
127
- });
128
- }
129
- deleteMany(where) {
130
- return __awaiter(this, void 0, void 0, function* () {
131
- const assets = yield this.findMany(where);
132
- return Promise.all(assets.map(a => a.unlink()));
133
- });
134
- }
135
- unlink(id) {
136
- return __awaiter(this, void 0, void 0, function* () {
137
- const asset = yield this.read(id);
138
- if (!asset)
139
- return null;
140
- return asset.unlink();
141
- });
142
- }
143
- upload(stream, fileType, metadata) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- const contentType = fileType.mime.trim();
146
- metadata = Object.assign({
147
- downloadCount: 0,
148
- firstDownload: null,
149
- lastDownload: null
150
- }, metadata || {});
151
- metadata.filename = metadata.filename || new ObjectId().toHexString();
152
- metadata.extension = (fileType.ext || "").trim();
153
- return new Promise(((resolve, reject) => {
154
- const uploaderStream = this.bucket.openUploadStream(metadata.filename);
155
- stream.pipe(uploaderStream)
156
- .on("error", error => {
157
- reject(error.message || error);
158
- })
159
- .on("finish", () => {
160
- const asset = new Asset(uploaderStream.id, {
161
- filename: metadata.filename,
162
- contentType,
163
- metadata
164
- }, this.collection, this.bucket);
165
- asset.save().then(() => {
166
- resolve(asset);
167
- }, error => {
168
- reject(error.message || error);
169
- });
170
- });
171
- }));
172
- });
173
- }
174
- };
175
- Assets = __decorate([
176
- injectable(),
177
- scoped(Lifecycle.ContainerScoped),
178
- __metadata("design:paramtypes", [MongoConnector, AssetProcessor])
179
- ], Assets);
180
- export { Assets };
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2Fzc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc5QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXBFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztJQUluQyxNQUFNLFNBQU4sTUFBTTtJQUtmLFlBQXFCLFNBQXlCLEVBQVcsY0FBOEI7O1FBQWxFLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQVcsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ25GLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsU0FBUyxDQUFDLFFBQVEsMENBQUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFSyxLQUFLLENBQUMsTUFBZ0IsRUFBRSxjQUFzQixJQUFJLEVBQUUsV0FBdUIsSUFBSTs7WUFDakYsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksUUFBUSxHQUFHLEVBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFjLENBQUM7WUFDekQsSUFBSTtnQkFDQSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUQ7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtvQkFDaEIsTUFBTSwyQkFBMkIsQ0FBQztpQkFDckM7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvQztZQUNELFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELENBQUM7S0FBQTtJQUVLLFdBQVcsQ0FBQyxNQUFjLEVBQUUsV0FBdUIsSUFBSSxFQUFFLGNBQXNCLElBQUk7O1lBQ3JGLElBQUksUUFBUSxHQUFHLEVBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFjLENBQUM7WUFDekQsSUFBSTtnQkFDQSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUQ7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtvQkFDaEIsTUFBTSwyQkFBMkIsQ0FBQztpQkFDckM7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvQztZQUNELFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQzFCLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdkUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkUsQ0FBQztLQUFBO0lBRUssUUFBUSxDQUFDLEdBQVcsRUFBRSxXQUF1QixJQUFJOztZQUNuRCxRQUFRLEdBQUcsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUMxQixRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksR0FBRyxDQUFDO1lBQzdDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ25CLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxFQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsVUFBVSxHQUFHLE9BQU8sRUFBQyxFQUFDLENBQUMsQ0FBQztZQUNsSCxJQUFJLEtBQUs7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFDeEIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQWMsQ0FBQztZQUNsRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLENBQUM7S0FBQTtJQUVLLFFBQVEsQ0FBQyxHQUFXLEVBQUUsY0FBc0IsSUFBSTs7WUFDbEQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQWMsQ0FBQztZQUNoRixJQUFJLFFBQVEsR0FBRyxFQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBYyxDQUFDO1lBQ3pELElBQUk7Z0JBQ0EsUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzlEO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7b0JBQ2hCLE1BQU0sMkJBQTJCLENBQUM7aUJBQ3JDO2dCQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDL0M7WUFDRCxNQUFNLFFBQVEsR0FBZTtnQkFDekIsUUFBUSxFQUFFLEdBQUc7Z0JBQ2IsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7YUFDekMsQ0FBQztZQUNGLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdkUsT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0QsQ0FBQztLQUFBO0lBRUssSUFBSSxDQUFDLEVBQVU7O1lBQ2pCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQztLQUFBO0lBRUssSUFBSSxDQUFDLEtBQTBCOztZQUNqQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEYsQ0FBQztLQUFBO0lBRUssUUFBUSxDQUFDLEtBQTBCOztZQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQyxNQUFNLEtBQUssR0FBRyxDQUFBLE1BQU0sTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFJLEVBQUUsQ0FBQztZQUMzQyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7WUFDNUIsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxJQUFJO29CQUFFLFNBQVM7Z0JBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUN4RTtZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7S0FBQTtJQUVLLFVBQVUsQ0FBQyxLQUEwQjs7WUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO0tBQUE7SUFFSyxNQUFNLENBQUMsRUFBVTs7WUFDbkIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ3hCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7S0FBQTtJQUVlLE1BQU0sQ0FBQyxNQUFnQixFQUFFLFFBQW1CLEVBQUUsUUFBb0I7O1lBQzlFLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ3JCLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixhQUFhLEVBQUUsSUFBSTtnQkFDbkIsWUFBWSxFQUFFLElBQUk7YUFDckIsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbkIsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEUsUUFBUSxDQUFDLFNBQVMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakQsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUM1QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdkUsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7cUJBQ3RCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQ2pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO2dCQUNuQyxDQUFDLENBQUM7cUJBQ0QsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7b0JBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQWMsRUFBRTt3QkFDbkQsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO3dCQUMzQixXQUFXO3dCQUNYLFFBQVE7cUJBQ1gsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDakMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDbkIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO3dCQUNQLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO29CQUNuQyxDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO0tBQUE7Q0FDSixDQUFBO0FBcElZLE1BQU07SUFGbEIsVUFBVSxFQUFFO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7cUNBTUUsY0FBYyxFQUEyQixjQUFjO0dBTDlFLE1BQU0sQ0FvSWxCO1NBcElZLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdGFibGUsIExpZmVjeWNsZSwgc2NvcGVkfSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHtSZWFkYWJsZX0gZnJvbSBcInN0cmVhbVwiO1xyXG5pbXBvcnQge09iamVjdElkfSBmcm9tIFwiYnNvblwiO1xyXG5pbXBvcnQge0NvbGxlY3Rpb24sIEdyaWRGU0J1Y2tldH0gZnJvbSBcIm1vbmdvZGJcIjtcclxuaW1wb3J0IHtGaWx0ZXJRdWVyeX0gZnJvbSBcIm1vbmdvb3NlXCI7XHJcbmltcG9ydCBheGlvcyBmcm9tIFwiYXhpb3NcIjtcclxuXHJcbmltcG9ydCB7YnVmZmVyVG9TdHJlYW0sIGNvcHlTdHJlYW0sIHN0cmVhbVRvQnVmZmVyfSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IHtJQXNzZXQsIElBc3NldE1ldGEsIElGaWxlVHlwZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge01vbmdvQ29ubmVjdG9yfSBmcm9tIFwiLi9tb25nby1jb25uZWN0b3JcIjtcclxuaW1wb3J0IHtBc3NldFByb2Nlc3Nvcn0gZnJvbSBcIi4vYXNzZXQtcHJvY2Vzc29yXCI7XHJcbmltcG9ydCB7QXNzZXR9IGZyb20gXCIuL2VudGl0aWVzL2Fzc2V0XCI7XHJcbmltcG9ydCB7VGVtcEFzc2V0fSBmcm9tIFwiLi9lbnRpdGllcy90ZW1wLWFzc2V0XCI7XHJcblxyXG5AaW5qZWN0YWJsZSgpXHJcbkBzY29wZWQoTGlmZWN5Y2xlLkNvbnRhaW5lclNjb3BlZClcclxuZXhwb3J0IGNsYXNzIEFzc2V0cyB7XHJcblxyXG4gICAgcmVhZG9ubHkgYnVja2V0OiBHcmlkRlNCdWNrZXQ7XHJcbiAgICByZWFkb25seSBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPFBhcnRpYWw8SUFzc2V0Pj47XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgY29ubmVjdG9yOiBNb25nb0Nvbm5lY3RvciwgcmVhZG9ubHkgYXNzZXRQcm9jZXNzb3I6IEFzc2V0UHJvY2Vzc29yKSB7XHJcbiAgICAgICAgdGhpcy5idWNrZXQgPSBjb25uZWN0b3IuYnVja2V0O1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbiA9IGNvbm5lY3Rvci5kYXRhYmFzZT8uY29sbGVjdGlvbihcImFzc2V0cy5maWxlc1wiKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB3cml0ZShzdHJlYW06IFJlYWRhYmxlLCBjb250ZW50VHlwZTogc3RyaW5nID0gbnVsbCwgbWV0YWRhdGE6IElBc3NldE1ldGEgPSBudWxsKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBjb25zdCB1cGxvYWRTdHJlYW0gPSBjb3B5U3RyZWFtKHN0cmVhbSk7XHJcbiAgICAgICAgY29uc3QgYnVmZmVyID0gYXdhaXQgc3RyZWFtVG9CdWZmZXIoc3RyZWFtKTtcclxuICAgICAgICBsZXQgZmlsZVR5cGUgPSB7ZXh0OiBcIlwiLCBtaW1lOiBjb250ZW50VHlwZX0gYXMgSUZpbGVUeXBlO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZpbGVUeXBlID0gYXdhaXQgQXNzZXRQcm9jZXNzb3IuZmlsZVR5cGVGcm9tQnVmZmVyKGJ1ZmZlcik7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBpZiAoIWZpbGVUeXBlLm1pbWUpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FuJ3QgZGV0ZXJtaW5lIG1pbWUgdHlwZWAsIGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtZXRhZGF0YSA9IG1ldGFkYXRhIHx8IHt9O1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVwbG9hZCh1cGxvYWRTdHJlYW0sIGZpbGVUeXBlLCBtZXRhZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgd3JpdGVCdWZmZXIoYnVmZmVyOiBCdWZmZXIsIG1ldGFkYXRhOiBJQXNzZXRNZXRhID0gbnVsbCwgY29udGVudFR5cGU6IHN0cmluZyA9IG51bGwpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGxldCBmaWxlVHlwZSA9IHtleHQ6IFwiXCIsIG1pbWU6IGNvbnRlbnRUeXBlfSBhcyBJRmlsZVR5cGU7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgZmlsZVR5cGUgPSBhd2FpdCBBc3NldFByb2Nlc3Nvci5maWxlVHlwZUZyb21CdWZmZXIoYnVmZmVyKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGlmICghZmlsZVR5cGUubWltZSkge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgYENhbid0IGRldGVybWluZSBtaW1lIHR5cGVgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYCwgZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1ldGFkYXRhID0gbWV0YWRhdGEgfHwge307XHJcbiAgICAgICAgYnVmZmVyID0gYXdhaXQgdGhpcy5hc3NldFByb2Nlc3Nvci5wcm9jZXNzKGJ1ZmZlciwgbWV0YWRhdGEsIGZpbGVUeXBlKTtcclxuICAgICAgICByZXR1cm4gdGhpcy51cGxvYWQoYnVmZmVyVG9TdHJlYW0oYnVmZmVyKSwgZmlsZVR5cGUsIG1ldGFkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB3cml0ZVVybCh1cmw6IHN0cmluZywgbWV0YWRhdGE6IElBc3NldE1ldGEgPSBudWxsKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBtZXRhZGF0YSA9IG1ldGFkYXRhIHx8IHt9O1xyXG4gICAgICAgIG1ldGFkYXRhLmZpbGVuYW1lID0gbWV0YWRhdGEuZmlsZW5hbWUgfHwgdXJsO1xyXG4gICAgICAgIG1ldGFkYXRhLnVybCA9IHVybDtcclxuICAgICAgICBtZXRhZGF0YS51cGxvYWRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgY29uc3Qgb25lV2VlayA9IDEwMDAgKiAzNjAwICogMjQgKiA3O1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5maW5kKHtcIm1ldGFkYXRhLnVybFwiOiB1cmwsIFwibWV0YWRhdGEudXBsb2FkVGltZVwiOiB7JGd0OiBtZXRhZGF0YS51cGxvYWRUaW1lIC0gb25lV2Vla319KTtcclxuICAgICAgICBpZiAoYXNzZXQpIHJldHVybiBhc3NldDtcclxuICAgICAgICBjb25zdCBidWZmZXIgPSAoYXdhaXQgYXhpb3MoeyB1cmwsIHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiIH0pKS5kYXRhIGFzIEJ1ZmZlcjtcclxuICAgICAgICByZXR1cm4gdGhpcy53cml0ZUJ1ZmZlcihidWZmZXIsIG1ldGFkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkb3dubG9hZCh1cmw6IHN0cmluZywgY29udGVudFR5cGU6IHN0cmluZyA9IG51bGwpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGxldCBidWZmZXIgPSAoYXdhaXQgYXhpb3MoeyB1cmwsIHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiIH0pKS5kYXRhIGFzIEJ1ZmZlcjtcclxuICAgICAgICBsZXQgZmlsZVR5cGUgPSB7ZXh0OiBcIlwiLCBtaW1lOiBjb250ZW50VHlwZX0gYXMgSUZpbGVUeXBlO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZpbGVUeXBlID0gYXdhaXQgQXNzZXRQcm9jZXNzb3IuZmlsZVR5cGVGcm9tQnVmZmVyKGJ1ZmZlcik7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBpZiAoIWZpbGVUeXBlLm1pbWUpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FuJ3QgZGV0ZXJtaW5lIG1pbWUgdHlwZWAsIGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBtZXRhZGF0YTogSUFzc2V0TWV0YSA9IHtcclxuICAgICAgICAgICAgZmlsZW5hbWU6IHVybCxcclxuICAgICAgICAgICAgZXh0ZW5zaW9uOiAoZmlsZVR5cGUuZXh0IHx8IFwiXCIpLnRyaW0oKVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnVmZmVyID0gYXdhaXQgdGhpcy5hc3NldFByb2Nlc3Nvci5wcm9jZXNzKGJ1ZmZlciwgbWV0YWRhdGEsIGZpbGVUeXBlKTtcclxuICAgICAgICByZXR1cm4gbmV3IFRlbXBBc3NldChidWZmZXIsIHVybCwgZmlsZVR5cGUubWltZSwgbWV0YWRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlYWQoaWQ6IHN0cmluZyk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgcmV0dXJuICFpZCA/IG51bGwgOiB0aGlzLmZpbmQoe19pZDogbmV3IE9iamVjdElkKGlkKX0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGZpbmQod2hlcmU6IEZpbHRlclF1ZXJ5PElBc3NldD4pOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24uZmluZE9uZSh3aGVyZSk7XHJcbiAgICAgICAgcmV0dXJuICFkYXRhID8gbnVsbCA6IG5ldyBBc3NldChkYXRhLl9pZCwgZGF0YSwgdGhpcy5jb2xsZWN0aW9uLCB0aGlzLmJ1Y2tldCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZmluZE1hbnkod2hlcmU6IEZpbHRlclF1ZXJ5PElBc3NldD4pOiBQcm9taXNlPFJlYWRvbmx5QXJyYXk8SUFzc2V0Pj4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnNvciA9IHRoaXMuY29sbGVjdGlvbi5maW5kKHdoZXJlKTtcclxuICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IGN1cnNvci50b0FycmF5KCkgfHwgW107XHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBJQXNzZXRbXSA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgICAgICAgaWYgKCFpdGVtKSBjb250aW51ZTtcclxuICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IEFzc2V0KGl0ZW0uX2lkLCBpdGVtLCB0aGlzLmNvbGxlY3Rpb24sIHRoaXMuYnVja2V0KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlTWFueSh3aGVyZTogRmlsdGVyUXVlcnk8SUFzc2V0Pik6IFByb21pc2U8UmVhZG9ubHlBcnJheTxzdHJpbmc+PiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXRzID0gYXdhaXQgdGhpcy5maW5kTWFueSh3aGVyZSk7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKGFzc2V0cy5tYXAoYSA9PiBhLnVubGluaygpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdW5saW5rKGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5yZWFkKGlkKTtcclxuICAgICAgICBpZiAoIWFzc2V0KSByZXR1cm4gbnVsbDtcclxuICAgICAgICByZXR1cm4gYXNzZXQudW5saW5rKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIHVwbG9hZChzdHJlYW06IFJlYWRhYmxlLCBmaWxlVHlwZTogSUZpbGVUeXBlLCBtZXRhZGF0YTogSUFzc2V0TWV0YSk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgY29uc3QgY29udGVudFR5cGUgPSBmaWxlVHlwZS5taW1lLnRyaW0oKTtcclxuICAgICAgICBtZXRhZGF0YSA9IE9iamVjdC5hc3NpZ24oe1xyXG4gICAgICAgICAgICBkb3dubG9hZENvdW50OiAwLFxyXG4gICAgICAgICAgICBmaXJzdERvd25sb2FkOiBudWxsLFxyXG4gICAgICAgICAgICBsYXN0RG93bmxvYWQ6IG51bGxcclxuICAgICAgICB9LCBtZXRhZGF0YSB8fCB7fSk7XHJcbiAgICAgICAgbWV0YWRhdGEuZmlsZW5hbWUgPSBtZXRhZGF0YS5maWxlbmFtZSB8fCBuZXcgT2JqZWN0SWQoKS50b0hleFN0cmluZygpO1xyXG4gICAgICAgIG1ldGFkYXRhLmV4dGVuc2lvbiA9IChmaWxlVHlwZS5leHQgfHwgXCJcIikudHJpbSgpO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxJQXNzZXQ+KCgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVwbG9hZGVyU3RyZWFtID0gdGhpcy5idWNrZXQub3BlblVwbG9hZFN0cmVhbShtZXRhZGF0YS5maWxlbmFtZSk7XHJcbiAgICAgICAgICAgIHN0cmVhbS5waXBlKHVwbG9hZGVyU3RyZWFtKVxyXG4gICAgICAgICAgICAgICAgLm9uKFwiZXJyb3JcIiwgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvci5tZXNzYWdlIHx8IGVycm9yKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAub24oXCJmaW5pc2hcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFzc2V0ID0gbmV3IEFzc2V0KHVwbG9hZGVyU3RyZWFtLmlkIGFzIE9iamVjdElkLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lOiBtZXRhZGF0YS5maWxlbmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhXHJcbiAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5jb2xsZWN0aW9uLCB0aGlzLmJ1Y2tldCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXNzZXQuc2F2ZSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGFzc2V0KTtcclxuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvci5tZXNzYWdlIHx8IGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,32 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { createServer } from "http";
11
- import express_ from "express";
12
- import { singleton } from "tsyringe";
13
- import socket_io from "socket.io";
14
- const express = express_;
15
- const socketIO = socket_io;
16
- let BackendProvider = class BackendProvider {
17
- constructor() {
18
- this.express = express();
19
- this.express.set("trust proxy", true);
20
- this.server = createServer(this.express);
21
- }
22
- get io() {
23
- this.ioServer = this.ioServer || socketIO(this.server, { path: "/socket" });
24
- return this.ioServer;
25
- }
26
- };
27
- BackendProvider = __decorate([
28
- singleton(),
29
- __metadata("design:paramtypes", [])
30
- ], BackendProvider);
31
- export { BackendProvider };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9iYWNrZW5kLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxRQUFtQixNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sU0FBbUMsTUFBTSxXQUFXLENBQUM7QUFFNUQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO0FBQ3pCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUdkLGVBQWUsU0FBZixlQUFlO0lBWXhCO1FBQ0ksSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFYRCxJQUFJLEVBQUU7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztRQUMxRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztDQVNKLENBQUE7QUFqQlksZUFBZTtJQUQzQixTQUFTLEVBQUU7O0dBQ0MsZUFBZSxDQWlCM0I7U0FqQlksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3JlYXRlU2VydmVyLCBTZXJ2ZXJ9IGZyb20gXCJodHRwXCI7XHJcbmltcG9ydCBleHByZXNzXywge0V4cHJlc3N9IGZyb20gXCJleHByZXNzXCI7XHJcbmltcG9ydCB7c2luZ2xldG9ufSBmcm9tIFwidHN5cmluZ2VcIjtcclxuaW1wb3J0IHNvY2tldF9pbywge1NlcnZlciBhcyBTb2NrZXRTZXJ2ZXJ9IGZyb20gXCJzb2NrZXQuaW9cIjtcclxuXHJcbmNvbnN0IGV4cHJlc3MgPSBleHByZXNzXztcclxuY29uc3Qgc29ja2V0SU8gPSBzb2NrZXRfaW87XHJcblxyXG5Ac2luZ2xldG9uKClcclxuZXhwb3J0IGNsYXNzIEJhY2tlbmRQcm92aWRlciB7XHJcblxyXG4gICAgcmVhZG9ubHkgZXhwcmVzczogRXhwcmVzcztcclxuICAgIHJlYWRvbmx5IHNlcnZlcjogU2VydmVyO1xyXG5cclxuICAgIGdldCBpbygpOiBTb2NrZXRTZXJ2ZXIge1xyXG4gICAgICAgIHRoaXMuaW9TZXJ2ZXIgPSB0aGlzLmlvU2VydmVyIHx8IHNvY2tldElPKHRoaXMuc2VydmVyLCB7cGF0aDogXCIvc29ja2V0XCJ9KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pb1NlcnZlcjtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaW9TZXJ2ZXI6IFNvY2tldFNlcnZlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmV4cHJlc3MgPSBleHByZXNzKCk7XHJcbiAgICAgICAgdGhpcy5leHByZXNzLnNldChcInRydXN0IHByb3h5XCIsIHRydWUpO1xyXG4gICAgICAgIHRoaXMuc2VydmVyID0gY3JlYXRlU2VydmVyKHRoaXMuZXhwcmVzcyk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,34 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
- return new (P || (P = Promise))(function (resolve, reject) {
10
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
- step((generator = generator.apply(thisArg, _arguments || [])).next());
14
- });
15
- };
16
- import { injectable, scoped, Lifecycle } from "tsyringe";
17
- let CacheProcessor = class CacheProcessor {
18
- serialize(data) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- return data;
21
- });
22
- }
23
- deserialize(data) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- return data;
26
- });
27
- }
28
- };
29
- CacheProcessor = __decorate([
30
- injectable(),
31
- scoped(Lifecycle.ContainerScoped)
32
- ], CacheProcessor);
33
- export { CacheProcessor };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2NhY2hlLXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7SUFJMUMsY0FBYyxTQUFkLGNBQWM7SUFDakIsU0FBUyxDQUFDLElBQVM7O1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7S0FBQTtJQUVLLFdBQVcsQ0FBQyxJQUFTOztZQUN2QixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0tBQUE7Q0FDSixDQUFBO0FBUlksY0FBYztJQUYxQixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztHQUNyQixjQUFjLENBUTFCO1NBUlksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZSwgc2NvcGVkLCBMaWZlY3ljbGV9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2NvcGVkKExpZmVjeWNsZS5Db250YWluZXJTY29wZWQpXHJcbmV4cG9ydCBjbGFzcyBDYWNoZVByb2Nlc3NvciB7XHJcbiAgICBhc3luYyBzZXJpYWxpemUoZGF0YTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkZXNlcmlhbGl6ZShkYXRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==