@pristine-ts/gcp 2.0.16

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 (220) hide show
  1. package/LICENSE +201 -0
  2. package/dist/lib/cjs/clients/clients.js +22 -0
  3. package/dist/lib/cjs/clients/clients.js.map +1 -0
  4. package/dist/lib/cjs/clients/cloud-storage.client.js +189 -0
  5. package/dist/lib/cjs/clients/cloud-storage.client.js.map +1 -0
  6. package/dist/lib/cjs/clients/eventarc.client.js +146 -0
  7. package/dist/lib/cjs/clients/eventarc.client.js.map +1 -0
  8. package/dist/lib/cjs/clients/firestore.client.js +238 -0
  9. package/dist/lib/cjs/clients/firestore.client.js.map +1 -0
  10. package/dist/lib/cjs/clients/pub-sub.client.js +97 -0
  11. package/dist/lib/cjs/clients/pub-sub.client.js.map +1 -0
  12. package/dist/lib/cjs/clients/secret-manager.client.js +118 -0
  13. package/dist/lib/cjs/clients/secret-manager.client.js.map +1 -0
  14. package/dist/lib/cjs/decorators/decorators.js +18 -0
  15. package/dist/lib/cjs/decorators/decorators.js.map +1 -0
  16. package/dist/lib/cjs/decorators/dynamic-collection-name.decorator.js +33 -0
  17. package/dist/lib/cjs/decorators/dynamic-collection-name.decorator.js.map +1 -0
  18. package/dist/lib/cjs/enums/cloud-storage-event-type.enum.js +16 -0
  19. package/dist/lib/cjs/enums/cloud-storage-event-type.enum.js.map +1 -0
  20. package/dist/lib/cjs/enums/cloud-storage-presigned-operation-type.enum.js +13 -0
  21. package/dist/lib/cjs/enums/cloud-storage-presigned-operation-type.enum.js.map +1 -0
  22. package/dist/lib/cjs/enums/enums.js +22 -0
  23. package/dist/lib/cjs/enums/enums.js.map +1 -0
  24. package/dist/lib/cjs/enums/eventarc-event-type.enum.js +12 -0
  25. package/dist/lib/cjs/enums/eventarc-event-type.enum.js.map +1 -0
  26. package/dist/lib/cjs/enums/firestore-event-type.enum.js +16 -0
  27. package/dist/lib/cjs/enums/firestore-event-type.enum.js.map +1 -0
  28. package/dist/lib/cjs/enums/pub-sub-event-type.enum.js +13 -0
  29. package/dist/lib/cjs/enums/pub-sub-event-type.enum.js.map +1 -0
  30. package/dist/lib/cjs/errors/errors.js +20 -0
  31. package/dist/lib/cjs/errors/errors.js.map +1 -0
  32. package/dist/lib/cjs/errors/eventarc-publish.error.js +17 -0
  33. package/dist/lib/cjs/errors/eventarc-publish.error.js.map +1 -0
  34. package/dist/lib/cjs/errors/get-secret.error.js +17 -0
  35. package/dist/lib/cjs/errors/get-secret.error.js.map +1 -0
  36. package/dist/lib/cjs/errors/pub-sub-publish.error.js +19 -0
  37. package/dist/lib/cjs/errors/pub-sub-publish.error.js.map +1 -0
  38. package/dist/lib/cjs/event-payloads/cloud-storage.event-payload.js +11 -0
  39. package/dist/lib/cjs/event-payloads/cloud-storage.event-payload.js.map +1 -0
  40. package/dist/lib/cjs/event-payloads/event-payloads.js +21 -0
  41. package/dist/lib/cjs/event-payloads/event-payloads.js.map +1 -0
  42. package/dist/lib/cjs/event-payloads/eventarc.event-payload.js +11 -0
  43. package/dist/lib/cjs/event-payloads/eventarc.event-payload.js.map +1 -0
  44. package/dist/lib/cjs/event-payloads/firestore.event-payload.js +11 -0
  45. package/dist/lib/cjs/event-payloads/firestore.event-payload.js.map +1 -0
  46. package/dist/lib/cjs/event-payloads/pub-sub.event-payload.js +17 -0
  47. package/dist/lib/cjs/event-payloads/pub-sub.event-payload.js.map +1 -0
  48. package/dist/lib/cjs/gcp.configuration-keys.js +20 -0
  49. package/dist/lib/cjs/gcp.configuration-keys.js.map +1 -0
  50. package/dist/lib/cjs/gcp.module.js +76 -0
  51. package/dist/lib/cjs/gcp.module.js.map +1 -0
  52. package/dist/lib/cjs/gcp.module.keyname.js +5 -0
  53. package/dist/lib/cjs/gcp.module.keyname.js.map +1 -0
  54. package/dist/lib/cjs/interfaces/client-options.interface.js +3 -0
  55. package/dist/lib/cjs/interfaces/client-options.interface.js.map +1 -0
  56. package/dist/lib/cjs/interfaces/cloud-storage-client.interface.js +3 -0
  57. package/dist/lib/cjs/interfaces/cloud-storage-client.interface.js.map +1 -0
  58. package/dist/lib/cjs/interfaces/eventarc-client.interface.js +3 -0
  59. package/dist/lib/cjs/interfaces/eventarc-client.interface.js.map +1 -0
  60. package/dist/lib/cjs/interfaces/firestore-client.interface.js +3 -0
  61. package/dist/lib/cjs/interfaces/firestore-client.interface.js.map +1 -0
  62. package/dist/lib/cjs/interfaces/interfaces.js +23 -0
  63. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -0
  64. package/dist/lib/cjs/interfaces/pub-sub-client.interface.js +3 -0
  65. package/dist/lib/cjs/interfaces/pub-sub-client.interface.js.map +1 -0
  66. package/dist/lib/cjs/interfaces/secret-manager-client.interface.js +3 -0
  67. package/dist/lib/cjs/interfaces/secret-manager-client.interface.js.map +1 -0
  68. package/dist/lib/cjs/mappers/cloud-storage-event.mapper.js +87 -0
  69. package/dist/lib/cjs/mappers/cloud-storage-event.mapper.js.map +1 -0
  70. package/dist/lib/cjs/mappers/eventarc-event.mapper.js +84 -0
  71. package/dist/lib/cjs/mappers/eventarc-event.mapper.js.map +1 -0
  72. package/dist/lib/cjs/mappers/firestore-event.mapper.js +78 -0
  73. package/dist/lib/cjs/mappers/firestore-event.mapper.js.map +1 -0
  74. package/dist/lib/cjs/mappers/mappers.js +21 -0
  75. package/dist/lib/cjs/mappers/mappers.js.map +1 -0
  76. package/dist/lib/cjs/mappers/pub-sub-event.mapper.js +78 -0
  77. package/dist/lib/cjs/mappers/pub-sub-event.mapper.js.map +1 -0
  78. package/dist/lib/cjs/models/dynamic-collection-name.model.js +11 -0
  79. package/dist/lib/cjs/models/dynamic-collection-name.model.js.map +1 -0
  80. package/dist/lib/cjs/models/eventarc-message.model.js +10 -0
  81. package/dist/lib/cjs/models/eventarc-message.model.js.map +1 -0
  82. package/dist/lib/cjs/models/models.js +20 -0
  83. package/dist/lib/cjs/models/models.js.map +1 -0
  84. package/dist/lib/cjs/models/pub-sub-message-sent-confirmation.model.js +11 -0
  85. package/dist/lib/cjs/models/pub-sub-message-sent-confirmation.model.js.map +1 -0
  86. package/dist/lib/cjs/models/pub-sub-message.model.js +11 -0
  87. package/dist/lib/cjs/models/pub-sub-message.model.js.map +1 -0
  88. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  89. package/dist/lib/esm/clients/clients.js +6 -0
  90. package/dist/lib/esm/clients/clients.js.map +1 -0
  91. package/dist/lib/esm/clients/cloud-storage.client.js +186 -0
  92. package/dist/lib/esm/clients/cloud-storage.client.js.map +1 -0
  93. package/dist/lib/esm/clients/eventarc.client.js +110 -0
  94. package/dist/lib/esm/clients/eventarc.client.js.map +1 -0
  95. package/dist/lib/esm/clients/firestore.client.js +235 -0
  96. package/dist/lib/esm/clients/firestore.client.js.map +1 -0
  97. package/dist/lib/esm/clients/pub-sub.client.js +94 -0
  98. package/dist/lib/esm/clients/pub-sub.client.js.map +1 -0
  99. package/dist/lib/esm/clients/secret-manager.client.js +115 -0
  100. package/dist/lib/esm/clients/secret-manager.client.js.map +1 -0
  101. package/dist/lib/esm/decorators/decorators.js +2 -0
  102. package/dist/lib/esm/decorators/decorators.js.map +1 -0
  103. package/dist/lib/esm/decorators/dynamic-collection-name.decorator.js +29 -0
  104. package/dist/lib/esm/decorators/dynamic-collection-name.decorator.js.map +1 -0
  105. package/dist/lib/esm/enums/cloud-storage-event-type.enum.js +13 -0
  106. package/dist/lib/esm/enums/cloud-storage-event-type.enum.js.map +1 -0
  107. package/dist/lib/esm/enums/cloud-storage-presigned-operation-type.enum.js +10 -0
  108. package/dist/lib/esm/enums/cloud-storage-presigned-operation-type.enum.js.map +1 -0
  109. package/dist/lib/esm/enums/enums.js +6 -0
  110. package/dist/lib/esm/enums/enums.js.map +1 -0
  111. package/dist/lib/esm/enums/eventarc-event-type.enum.js +9 -0
  112. package/dist/lib/esm/enums/eventarc-event-type.enum.js.map +1 -0
  113. package/dist/lib/esm/enums/firestore-event-type.enum.js +13 -0
  114. package/dist/lib/esm/enums/firestore-event-type.enum.js.map +1 -0
  115. package/dist/lib/esm/enums/pub-sub-event-type.enum.js +10 -0
  116. package/dist/lib/esm/enums/pub-sub-event-type.enum.js.map +1 -0
  117. package/dist/lib/esm/errors/errors.js +4 -0
  118. package/dist/lib/esm/errors/errors.js.map +1 -0
  119. package/dist/lib/esm/errors/eventarc-publish.error.js +13 -0
  120. package/dist/lib/esm/errors/eventarc-publish.error.js.map +1 -0
  121. package/dist/lib/esm/errors/get-secret.error.js +13 -0
  122. package/dist/lib/esm/errors/get-secret.error.js.map +1 -0
  123. package/dist/lib/esm/errors/pub-sub-publish.error.js +15 -0
  124. package/dist/lib/esm/errors/pub-sub-publish.error.js.map +1 -0
  125. package/dist/lib/esm/event-payloads/cloud-storage.event-payload.js +7 -0
  126. package/dist/lib/esm/event-payloads/cloud-storage.event-payload.js.map +1 -0
  127. package/dist/lib/esm/event-payloads/event-payloads.js +5 -0
  128. package/dist/lib/esm/event-payloads/event-payloads.js.map +1 -0
  129. package/dist/lib/esm/event-payloads/eventarc.event-payload.js +7 -0
  130. package/dist/lib/esm/event-payloads/eventarc.event-payload.js.map +1 -0
  131. package/dist/lib/esm/event-payloads/firestore.event-payload.js +7 -0
  132. package/dist/lib/esm/event-payloads/firestore.event-payload.js.map +1 -0
  133. package/dist/lib/esm/event-payloads/pub-sub.event-payload.js +13 -0
  134. package/dist/lib/esm/event-payloads/pub-sub.event-payload.js.map +1 -0
  135. package/dist/lib/esm/gcp.configuration-keys.js +17 -0
  136. package/dist/lib/esm/gcp.configuration-keys.js.map +1 -0
  137. package/dist/lib/esm/gcp.module.js +59 -0
  138. package/dist/lib/esm/gcp.module.js.map +1 -0
  139. package/dist/lib/esm/gcp.module.keyname.js +2 -0
  140. package/dist/lib/esm/gcp.module.keyname.js.map +1 -0
  141. package/dist/lib/esm/interfaces/client-options.interface.js +2 -0
  142. package/dist/lib/esm/interfaces/client-options.interface.js.map +1 -0
  143. package/dist/lib/esm/interfaces/cloud-storage-client.interface.js +2 -0
  144. package/dist/lib/esm/interfaces/cloud-storage-client.interface.js.map +1 -0
  145. package/dist/lib/esm/interfaces/eventarc-client.interface.js +2 -0
  146. package/dist/lib/esm/interfaces/eventarc-client.interface.js.map +1 -0
  147. package/dist/lib/esm/interfaces/firestore-client.interface.js +2 -0
  148. package/dist/lib/esm/interfaces/firestore-client.interface.js.map +1 -0
  149. package/dist/lib/esm/interfaces/interfaces.js +7 -0
  150. package/dist/lib/esm/interfaces/interfaces.js.map +1 -0
  151. package/dist/lib/esm/interfaces/pub-sub-client.interface.js +2 -0
  152. package/dist/lib/esm/interfaces/pub-sub-client.interface.js.map +1 -0
  153. package/dist/lib/esm/interfaces/secret-manager-client.interface.js +2 -0
  154. package/dist/lib/esm/interfaces/secret-manager-client.interface.js.map +1 -0
  155. package/dist/lib/esm/mappers/cloud-storage-event.mapper.js +84 -0
  156. package/dist/lib/esm/mappers/cloud-storage-event.mapper.js.map +1 -0
  157. package/dist/lib/esm/mappers/eventarc-event.mapper.js +81 -0
  158. package/dist/lib/esm/mappers/eventarc-event.mapper.js.map +1 -0
  159. package/dist/lib/esm/mappers/firestore-event.mapper.js +75 -0
  160. package/dist/lib/esm/mappers/firestore-event.mapper.js.map +1 -0
  161. package/dist/lib/esm/mappers/mappers.js +5 -0
  162. package/dist/lib/esm/mappers/mappers.js.map +1 -0
  163. package/dist/lib/esm/mappers/pub-sub-event.mapper.js +75 -0
  164. package/dist/lib/esm/mappers/pub-sub-event.mapper.js.map +1 -0
  165. package/dist/lib/esm/models/dynamic-collection-name.model.js +7 -0
  166. package/dist/lib/esm/models/dynamic-collection-name.model.js.map +1 -0
  167. package/dist/lib/esm/models/eventarc-message.model.js +6 -0
  168. package/dist/lib/esm/models/eventarc-message.model.js.map +1 -0
  169. package/dist/lib/esm/models/models.js +4 -0
  170. package/dist/lib/esm/models/models.js.map +1 -0
  171. package/dist/lib/esm/models/pub-sub-message-sent-confirmation.model.js +7 -0
  172. package/dist/lib/esm/models/pub-sub-message-sent-confirmation.model.js.map +1 -0
  173. package/dist/lib/esm/models/pub-sub-message.model.js +7 -0
  174. package/dist/lib/esm/models/pub-sub-message.model.js.map +1 -0
  175. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -0
  176. package/dist/types/clients/clients.d.ts +5 -0
  177. package/dist/types/clients/cloud-storage.client.d.ts +26 -0
  178. package/dist/types/clients/eventarc.client.d.ts +26 -0
  179. package/dist/types/clients/firestore.client.d.ts +47 -0
  180. package/dist/types/clients/pub-sub.client.d.ts +23 -0
  181. package/dist/types/clients/secret-manager.client.d.ts +24 -0
  182. package/dist/types/decorators/decorators.d.ts +1 -0
  183. package/dist/types/decorators/dynamic-collection-name.decorator.d.ts +22 -0
  184. package/dist/types/enums/cloud-storage-event-type.enum.d.ts +11 -0
  185. package/dist/types/enums/cloud-storage-presigned-operation-type.enum.d.ts +8 -0
  186. package/dist/types/enums/enums.d.ts +5 -0
  187. package/dist/types/enums/eventarc-event-type.enum.d.ts +7 -0
  188. package/dist/types/enums/firestore-event-type.enum.d.ts +11 -0
  189. package/dist/types/enums/pub-sub-event-type.enum.d.ts +8 -0
  190. package/dist/types/errors/errors.d.ts +3 -0
  191. package/dist/types/errors/eventarc-publish.error.d.ts +8 -0
  192. package/dist/types/errors/get-secret.error.d.ts +8 -0
  193. package/dist/types/errors/pub-sub-publish.error.d.ts +14 -0
  194. package/dist/types/event-payloads/cloud-storage.event-payload.d.ts +55 -0
  195. package/dist/types/event-payloads/event-payloads.d.ts +4 -0
  196. package/dist/types/event-payloads/eventarc.event-payload.d.ts +39 -0
  197. package/dist/types/event-payloads/firestore.event-payload.d.ts +43 -0
  198. package/dist/types/event-payloads/pub-sub.event-payload.d.ts +37 -0
  199. package/dist/types/gcp.configuration-keys.d.ts +35 -0
  200. package/dist/types/gcp.module.d.ts +11 -0
  201. package/dist/types/gcp.module.keyname.d.ts +1 -0
  202. package/dist/types/interfaces/client-options.interface.d.ts +19 -0
  203. package/dist/types/interfaces/cloud-storage-client.interface.d.ts +14 -0
  204. package/dist/types/interfaces/eventarc-client.interface.d.ts +5 -0
  205. package/dist/types/interfaces/firestore-client.interface.d.ts +27 -0
  206. package/dist/types/interfaces/interfaces.d.ts +6 -0
  207. package/dist/types/interfaces/pub-sub-client.interface.d.ts +8 -0
  208. package/dist/types/interfaces/secret-manager-client.interface.d.ts +9 -0
  209. package/dist/types/mappers/cloud-storage-event.mapper.d.ts +22 -0
  210. package/dist/types/mappers/eventarc-event.mapper.d.ts +22 -0
  211. package/dist/types/mappers/firestore-event.mapper.d.ts +17 -0
  212. package/dist/types/mappers/mappers.d.ts +4 -0
  213. package/dist/types/mappers/pub-sub-event.mapper.d.ts +23 -0
  214. package/dist/types/models/dynamic-collection-name.model.d.ts +8 -0
  215. package/dist/types/models/eventarc-message.model.d.ts +25 -0
  216. package/dist/types/models/models.d.ts +3 -0
  217. package/dist/types/models/pub-sub-message-sent-confirmation.model.d.ts +7 -0
  218. package/dist/types/models/pub-sub-message.model.d.ts +21 -0
  219. package/package.json +72 -0
  220. package/readme.md +32 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore-client.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/firestore-client.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export * from "./client-options.interface";
2
+ export * from "./cloud-storage-client.interface";
3
+ export * from "./eventarc-client.interface";
4
+ export * from "./firestore-client.interface";
5
+ export * from "./pub-sub-client.interface";
6
+ export * from "./secret-manager-client.interface";
7
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/interfaces/interfaces.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pub-sub-client.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pub-sub-client.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/pub-sub-client.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=secret-manager-client.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-manager-client.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/secret-manager-client.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
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 { Event, EventIdManager, } from "@pristine-ts/core";
11
+ import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
12
+ import { injectable } from "tsyringe";
13
+ import { GcpModuleKeyname } from "../gcp.module.keyname";
14
+ import { CloudStorageEventPayload } from "../event-payloads/cloud-storage.event-payload";
15
+ import { CloudStorageEventType } from "../enums/cloud-storage-event-type.enum";
16
+ /**
17
+ * Maps a GCP Cloud Storage CloudEvent into a Pristine `Event<CloudStorageEventPayload>`.
18
+ *
19
+ * The raw event can arrive in two shapes:
20
+ * 1. Structured CloudEvent (`{specversion, id, type, source, data, ...}`) — when an
21
+ * Eventarc trigger or Gen 2 Cloud Function delivers it via HTTP body.
22
+ * 2. Pre-parsed shape from the entry-point shim with the same fields at the top
23
+ * level. Both are supported.
24
+ *
25
+ * Detection: the CloudEvent `type` starts with `google.cloud.storage.object.v1.`.
26
+ */
27
+ let CloudStorageEventMapper = class CloudStorageEventMapper {
28
+ constructor(eventIdManager) {
29
+ this.eventIdManager = eventIdManager;
30
+ }
31
+ supportsMapping(rawEvent, executionContext) {
32
+ return rawEvent !== undefined
33
+ && rawEvent !== null
34
+ && typeof rawEvent === "object"
35
+ && typeof rawEvent.type === "string"
36
+ && rawEvent.type.startsWith("google.cloud.storage.object.v1.");
37
+ }
38
+ map(rawEvent, executionContext) {
39
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
40
+ const payload = new CloudStorageEventPayload();
41
+ payload.eventType = rawEvent.type;
42
+ payload.source = rawEvent.source;
43
+ if (rawEvent.time) {
44
+ payload.eventTime = new Date(rawEvent.time);
45
+ }
46
+ payload.data = rawEvent.data;
47
+ payload.bucket = (_a = rawEvent.data) === null || _a === void 0 ? void 0 : _a.bucket;
48
+ payload.name = (_b = rawEvent.data) === null || _b === void 0 ? void 0 : _b.name;
49
+ payload.generation = (_c = rawEvent.data) === null || _c === void 0 ? void 0 : _c.generation;
50
+ payload.metageneration = (_d = rawEvent.data) === null || _d === void 0 ? void 0 : _d.metageneration;
51
+ payload.contentType = (_e = rawEvent.data) === null || _e === void 0 ? void 0 : _e.contentType;
52
+ payload.size = (_f = rawEvent.data) === null || _f === void 0 ? void 0 : _f.size;
53
+ payload.md5Hash = (_g = rawEvent.data) === null || _g === void 0 ? void 0 : _g.md5Hash;
54
+ payload.crc32c = (_h = rawEvent.data) === null || _h === void 0 ? void 0 : _h.crc32c;
55
+ const eventId = (_j = rawEvent.id) !== null && _j !== void 0 ? _j : this.eventIdManager.generateEventId();
56
+ const event = new Event(this.findEnum(rawEvent.type), payload, eventId);
57
+ return {
58
+ executionOrder: "parallel",
59
+ events: [event],
60
+ };
61
+ }
62
+ supportsReverseMapping(eventResponse, response, executionContext) {
63
+ return false;
64
+ }
65
+ reverseMap(eventResponse, response, executionContext) {
66
+ }
67
+ findEnum(eventType) {
68
+ const values = Object.values(CloudStorageEventType);
69
+ for (const value of values) {
70
+ if (value === eventType) {
71
+ return value;
72
+ }
73
+ }
74
+ return CloudStorageEventType.UnknownCloudStorageEvent;
75
+ }
76
+ };
77
+ CloudStorageEventMapper = __decorate([
78
+ moduleScoped(GcpModuleKeyname),
79
+ tag(ServiceDefinitionTagEnum.EventMapper),
80
+ injectable(),
81
+ __metadata("design:paramtypes", [EventIdManager])
82
+ ], CloudStorageEventMapper);
83
+ export { CloudStorageEventMapper };
84
+ //# sourceMappingURL=cloud-storage-event.mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-storage-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/cloud-storage-event.mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
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 { Event, EventIdManager, } from "@pristine-ts/core";
11
+ import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
12
+ import { injectable } from "tsyringe";
13
+ import { GcpModuleKeyname } from "../gcp.module.keyname";
14
+ import { EventarcEventPayload } from "../event-payloads/eventarc.event-payload";
15
+ import { EventarcEventType } from "../enums/eventarc-event-type.enum";
16
+ /**
17
+ * Catch-all mapper for CloudEvents that didn't match a more-specific GCP mapper.
18
+ * Sits at the end of the mapper chain (the more specific mappers — Pub/Sub, Cloud
19
+ * Storage, Firestore — short-circuit `supportsMapping` for events they own; this
20
+ * mapper accepts anything CloudEvent-shaped that nobody else claimed).
21
+ *
22
+ * Detection: the event has a CloudEvent `specversion` (or just `type` + `source`),
23
+ * and isn't one of the GCP-specific shapes already handled. The framework calls
24
+ * `supportsMapping` on every registered mapper; since this one matches broadly,
25
+ * relying on order alone isn't safe — instead, this mapper checks that the event
26
+ * is NOT one of the specific shapes already claimed by the dedicated mappers.
27
+ */
28
+ let EventarcEventMapper = class EventarcEventMapper {
29
+ constructor(eventIdManager) {
30
+ this.eventIdManager = eventIdManager;
31
+ }
32
+ supportsMapping(rawEvent, executionContext) {
33
+ if (rawEvent === undefined || rawEvent === null || typeof rawEvent !== "object") {
34
+ return false;
35
+ }
36
+ if (typeof rawEvent.type !== "string" || typeof rawEvent.source !== "string") {
37
+ return false;
38
+ }
39
+ // Don't claim events owned by more-specific mappers.
40
+ if (rawEvent.type.startsWith("google.cloud.storage.object.v1.")) {
41
+ return false;
42
+ }
43
+ if (rawEvent.type.startsWith("google.cloud.firestore.document.v1.")) {
44
+ return false;
45
+ }
46
+ // Pub/Sub push has a different shape (no top-level `type`/`source`); already excluded above.
47
+ return true;
48
+ }
49
+ map(rawEvent, executionContext) {
50
+ var _a, _b;
51
+ const payload = new EventarcEventPayload();
52
+ payload.id = (_a = rawEvent.id) !== null && _a !== void 0 ? _a : this.eventIdManager.generateEventId();
53
+ payload.specVersion = (_b = rawEvent.specversion) !== null && _b !== void 0 ? _b : "1.0";
54
+ payload.type = rawEvent.type;
55
+ payload.source = rawEvent.source;
56
+ payload.subject = rawEvent.subject;
57
+ if (rawEvent.time) {
58
+ payload.time = new Date(rawEvent.time);
59
+ }
60
+ payload.dataContentType = rawEvent.datacontenttype;
61
+ payload.data = rawEvent.data;
62
+ const event = new Event(EventarcEventType.EventarcEvent, payload, payload.id);
63
+ return {
64
+ executionOrder: "sequential",
65
+ events: [event],
66
+ };
67
+ }
68
+ supportsReverseMapping(eventResponse, response, executionContext) {
69
+ return false;
70
+ }
71
+ reverseMap(eventResponse, response, executionContext) {
72
+ }
73
+ };
74
+ EventarcEventMapper = __decorate([
75
+ moduleScoped(GcpModuleKeyname),
76
+ tag(ServiceDefinitionTagEnum.EventMapper),
77
+ injectable(),
78
+ __metadata("design:paramtypes", [EventIdManager])
79
+ ], EventarcEventMapper);
80
+ export { EventarcEventMapper };
81
+ //# sourceMappingURL=eventarc-event.mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventarc-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/eventarc-event.mapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,KAAK,EACL,cAAc,GAKf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,mCAAmC,CAAC;AAEpE;;;;;;;;;;;GAWG;AAII,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAC3D,CAAC;IAED,eAAe,CAAC,QAAa,EAAE,gBAAgD;QAC7E,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,qDAAqD;QACrD,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC,EAAE,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,qCAAqC,CAAC,EAAE,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,6FAA6F;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,QAAa,EAAE,gBAAgD;;QACjE,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC3C,OAAO,CAAC,EAAE,GAAG,MAAA,QAAQ,CAAC,EAAE,mCAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QAClE,OAAO,CAAC,WAAW,GAAG,MAAA,QAAQ,CAAC,WAAW,mCAAI,KAAK,CAAC;QACpD,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7B,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QACjC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACnC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QACnD,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE7B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAuB,iBAAiB,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAEpG,OAAO;YACL,cAAc,EAAE,YAAY;YAC5B,MAAM,EAAE,CAAC,KAAK,CAAC;SAChB,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,aAAwD,EAAE,QAAa,EAAE,gBAAgD;QAC9I,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,CAAC,aAAwD,EAAE,QAAa,EAAE,gBAAgD;IACpI,CAAC;CACF,CAAA;AAjDY,mBAAmB;IAH/B,YAAY,CAAC,gBAAgB,CAAC;IAC9B,GAAG,CAAC,wBAAwB,CAAC,WAAW,CAAC;IACzC,UAAU,EAAE;qCAEkC,cAAc;GADhD,mBAAmB,CAiD/B"}
@@ -0,0 +1,75 @@
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 { Event, EventIdManager, } from "@pristine-ts/core";
11
+ import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
12
+ import { injectable } from "tsyringe";
13
+ import { GcpModuleKeyname } from "../gcp.module.keyname";
14
+ import { FirestoreEventPayload } from "../event-payloads/firestore.event-payload";
15
+ import { FirestoreEventType } from "../enums/firestore-event-type.enum";
16
+ /**
17
+ * Maps a GCP Firestore document-change CloudEvent into a
18
+ * Pristine `Event<FirestoreEventPayload>`.
19
+ *
20
+ * Detection: CloudEvent `type` starts with `google.cloud.firestore.document.v1.`.
21
+ */
22
+ let FirestoreEventMapper = class FirestoreEventMapper {
23
+ constructor(eventIdManager) {
24
+ this.eventIdManager = eventIdManager;
25
+ }
26
+ supportsMapping(rawEvent, executionContext) {
27
+ return rawEvent !== undefined
28
+ && rawEvent !== null
29
+ && typeof rawEvent === "object"
30
+ && typeof rawEvent.type === "string"
31
+ && rawEvent.type.startsWith("google.cloud.firestore.document.v1.");
32
+ }
33
+ map(rawEvent, executionContext) {
34
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
35
+ const payload = new FirestoreEventPayload();
36
+ payload.eventType = rawEvent.type;
37
+ payload.source = rawEvent.source;
38
+ if (rawEvent.time) {
39
+ payload.eventTime = new Date(rawEvent.time);
40
+ }
41
+ payload.data = rawEvent.data;
42
+ payload.documentPath = (_c = (_b = (_a = rawEvent.data) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : (_e = (_d = rawEvent.data) === null || _d === void 0 ? void 0 : _d.oldValue) === null || _e === void 0 ? void 0 : _e.name;
43
+ payload.value = (_g = (_f = rawEvent.data) === null || _f === void 0 ? void 0 : _f.value) === null || _g === void 0 ? void 0 : _g.fields;
44
+ payload.oldValue = (_j = (_h = rawEvent.data) === null || _h === void 0 ? void 0 : _h.oldValue) === null || _j === void 0 ? void 0 : _j.fields;
45
+ payload.updateMask = (_l = (_k = rawEvent.data) === null || _k === void 0 ? void 0 : _k.updateMask) === null || _l === void 0 ? void 0 : _l.fieldPaths;
46
+ const eventId = (_m = rawEvent.id) !== null && _m !== void 0 ? _m : this.eventIdManager.generateEventId();
47
+ const event = new Event(this.findEnum(rawEvent.type), payload, eventId);
48
+ return {
49
+ executionOrder: "parallel",
50
+ events: [event],
51
+ };
52
+ }
53
+ supportsReverseMapping(eventResponse, response, executionContext) {
54
+ return false;
55
+ }
56
+ reverseMap(eventResponse, response, executionContext) {
57
+ }
58
+ findEnum(eventType) {
59
+ const values = Object.values(FirestoreEventType);
60
+ for (const value of values) {
61
+ if (value === eventType) {
62
+ return value;
63
+ }
64
+ }
65
+ return FirestoreEventType.UnknownFirestoreEvent;
66
+ }
67
+ };
68
+ FirestoreEventMapper = __decorate([
69
+ moduleScoped(GcpModuleKeyname),
70
+ tag(ServiceDefinitionTagEnum.EventMapper),
71
+ injectable(),
72
+ __metadata("design:paramtypes", [EventIdManager])
73
+ ], FirestoreEventMapper);
74
+ export { FirestoreEventMapper };
75
+ //# sourceMappingURL=firestore-event.mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/firestore-event.mapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,KAAK,EACL,cAAc,GAKf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAC;AAEtE;;;;;GAKG;AAII,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAC3D,CAAC;IAED,eAAe,CAAC,QAAa,EAAE,gBAAgD;QAC7E,OAAO,QAAQ,KAAK,SAAS;eACxB,QAAQ,KAAK,IAAI;eACjB,OAAO,QAAQ,KAAK,QAAQ;eAC5B,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;eACjC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,qCAAqC,CAAC,CAAC;IACvE,CAAC;IAED,GAAG,CAAC,QAAa,EAAE,gBAAgD;;QACjE,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC5C,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QACjC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7B,OAAO,CAAC,YAAY,GAAG,MAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,KAAK,0CAAE,IAAI,mCAAI,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,QAAQ,0CAAE,IAAI,CAAC;QACnF,OAAO,CAAC,KAAK,GAAG,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,KAAK,0CAAE,MAAM,CAAC;QAC7C,OAAO,CAAC,QAAQ,GAAG,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,QAAQ,0CAAE,MAAM,CAAC;QACnD,OAAO,CAAC,UAAU,GAAG,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,UAAU,0CAAE,UAAU,CAAC;QAE3D,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,EAAE,mCAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAwB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/F,OAAO;YACL,cAAc,EAAE,UAAU;YAC1B,MAAM,EAAE,CAAC,KAAK,CAAC;SAChB,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,aAAyD,EAAE,QAAa,EAAE,gBAAgD;QAC/I,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,CAAC,aAAyD,EAAE,QAAa,EAAE,gBAAgD;IACrI,CAAC;IAEO,QAAQ,CAAC,SAAiB;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,KAA2B,CAAC;YACrC,CAAC;QACH,CAAC;QACD,OAAO,kBAAkB,CAAC,qBAAqB,CAAC;IAClD,CAAC;CACF,CAAA;AAlDY,oBAAoB;IAHhC,YAAY,CAAC,gBAAgB,CAAC;IAC9B,GAAG,CAAC,wBAAwB,CAAC,WAAW,CAAC;IACzC,UAAU,EAAE;qCAEkC,cAAc;GADhD,oBAAoB,CAkDhC"}
@@ -0,0 +1,5 @@
1
+ export * from "./cloud-storage-event.mapper";
2
+ export * from "./eventarc-event.mapper";
3
+ export * from "./firestore-event.mapper";
4
+ export * from "./pub-sub-event.mapper";
5
+ //# sourceMappingURL=mappers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../src/mappers/mappers.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,75 @@
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 { Event, EventIdManager, } from "@pristine-ts/core";
11
+ import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
12
+ import { injectable } from "tsyringe";
13
+ import { GcpModuleKeyname } from "../gcp.module.keyname";
14
+ import { PubSubEventPayload } from "../event-payloads/pub-sub.event-payload";
15
+ import { PubSubEventType } from "../enums/pub-sub-event-type.enum";
16
+ /**
17
+ * Maps a GCP Pub/Sub push-subscription delivery into a Pristine `Event<PubSubEventPayload>`.
18
+ *
19
+ * Pub/Sub push subscriptions deliver a single JSON envelope:
20
+ *
21
+ * ```json
22
+ * { "message": { "data": "<base64>", "messageId": "...", "attributes": {...},
23
+ * "publishTime": "...", "orderingKey": "..." },
24
+ * "subscription": "projects/p/subscriptions/s" }
25
+ * ```
26
+ *
27
+ * Mirrors `SqsEventMapper`'s shape and DI registration.
28
+ */
29
+ let PubSubEventMapper = class PubSubEventMapper {
30
+ constructor(eventIdManager) {
31
+ this.eventIdManager = eventIdManager;
32
+ }
33
+ supportsMapping(rawEvent, executionContext) {
34
+ return rawEvent !== undefined
35
+ && rawEvent !== null
36
+ && typeof rawEvent === "object"
37
+ && rawEvent.hasOwnProperty("message")
38
+ && typeof rawEvent.message === "object"
39
+ && rawEvent.message.hasOwnProperty("data")
40
+ && rawEvent.hasOwnProperty("subscription");
41
+ }
42
+ map(rawEvent, executionContext) {
43
+ var _a, _b;
44
+ const payload = new PubSubEventPayload();
45
+ payload.messageId = (_a = rawEvent.message.messageId) !== null && _a !== void 0 ? _a : this.eventIdManager.generateEventId();
46
+ payload.rawData = rawEvent.message.data;
47
+ payload.body = Buffer.from(rawEvent.message.data, "base64").toString("utf-8");
48
+ payload.attributes = (_b = rawEvent.message.attributes) !== null && _b !== void 0 ? _b : {};
49
+ payload.subscription = rawEvent.subscription;
50
+ if (rawEvent.message.publishTime) {
51
+ payload.publishTime = new Date(rawEvent.message.publishTime);
52
+ }
53
+ if (rawEvent.message.orderingKey) {
54
+ payload.orderingKey = rawEvent.message.orderingKey;
55
+ }
56
+ const event = new Event(PubSubEventType.Message, payload, payload.messageId);
57
+ return {
58
+ executionOrder: payload.orderingKey ? "sequential" : "parallel",
59
+ events: [event],
60
+ };
61
+ }
62
+ supportsReverseMapping(eventResponse, response, executionContext) {
63
+ return false;
64
+ }
65
+ reverseMap(eventResponse, response, executionContext) {
66
+ }
67
+ };
68
+ PubSubEventMapper = __decorate([
69
+ moduleScoped(GcpModuleKeyname),
70
+ tag(ServiceDefinitionTagEnum.EventMapper),
71
+ injectable(),
72
+ __metadata("design:paramtypes", [EventIdManager])
73
+ ], PubSubEventMapper);
74
+ export { PubSubEventMapper };
75
+ //# sourceMappingURL=pub-sub-event.mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pub-sub-event.mapper.js","sourceRoot":"","sources":["../../../../src/mappers/pub-sub-event.mapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,KAAK,EACL,cAAc,GAKf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAC,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAC;AAEjE;;;;;;;;;;;;GAYG;AAII,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAC3D,CAAC;IAED,eAAe,CAAC,QAAa,EAAE,gBAAgD;QAC7E,OAAO,QAAQ,KAAK,SAAS;eACxB,QAAQ,KAAK,IAAI;eACjB,OAAO,QAAQ,KAAK,QAAQ;eAC5B,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;eAClC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;eACpC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;eACvC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,GAAG,CAAC,QAAa,EAAE,gBAAgD;;QACjE,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACzC,OAAO,CAAC,SAAS,GAAG,MAAA,QAAQ,CAAC,OAAO,CAAC,SAAS,mCAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QACxF,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACxC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9E,OAAO,CAAC,UAAU,GAAG,MAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;QACvD,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC7C,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;QACrD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAqB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAEjG,OAAO;YACL,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU;YAC/D,MAAM,EAAE,CAAC,KAAK,CAAC;SAChB,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,aAAsD,EAAE,QAAa,EAAE,gBAAgD;QAC5I,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,CAAC,aAAsD,EAAE,QAAa,EAAE,gBAAgD;IAClI,CAAC;CACF,CAAA;AA1CY,iBAAiB;IAH7B,YAAY,CAAC,gBAAgB,CAAC;IAC9B,GAAG,CAAC,wBAAwB,CAAC,WAAW,CAAC;IACzC,UAAU,EAAE;qCAEkC,cAAc;GADhD,iBAAiB,CA0C7B"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Model representing the object that the `@dynamicCollectionName` decorator saves in the
3
+ * registry, mirroring `DynamicTableNameModel` in `@pristine-ts/aws`.
4
+ */
5
+ export class DynamicCollectionNameModel {
6
+ }
7
+ //# sourceMappingURL=dynamic-collection-name.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-collection-name.model.js","sourceRoot":"","sources":["../../../../src/models/dynamic-collection-name.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,0BAA0B;CAGtC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The payload sent to `EventarcClient.publish(...)`. CloudEvent-shaped.
3
+ */
4
+ export class EventarcMessageModel {
5
+ }
6
+ //# sourceMappingURL=eventarc-message.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventarc-message.model.js","sourceRoot":"","sources":["../../../../src/models/eventarc-message.model.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,oBAAoB;CAyBhC"}
@@ -0,0 +1,4 @@
1
+ export * from "./eventarc-message.model";
2
+ export * from "./pub-sub-message.model";
3
+ export * from "./pub-sub-message-sent-confirmation.model";
4
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../src/models/models.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2CAA2C,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Confirmation returned from `PubSubClient.publish(...)`. Mirrors
3
+ * `SqsMessageSentConfirmationModel`.
4
+ */
5
+ export class PubSubMessageSentConfirmationModel {
6
+ }
7
+ //# sourceMappingURL=pub-sub-message-sent-confirmation.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pub-sub-message-sent-confirmation.model.js","sourceRoot":"","sources":["../../../../src/models/pub-sub-message-sent-confirmation.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,kCAAkC;CAE9C"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The payload sent to `PubSubClient.publish(...)`. Mirrors `EventBridgeMessageModel` in
3
+ * spirit — a structured input the client uses to build the SDK request.
4
+ */
5
+ export class PubSubMessageModel {
6
+ }
7
+ //# sourceMappingURL=pub-sub-message.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pub-sub-message.model.js","sourceRoot":"","sources":["../../../../src/models/pub-sub-message.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,kBAAkB;CAgB9B"}