@svta/cml-cmcd 0.19.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 (276) hide show
  1. package/LICENSE +201 -0
  2. package/dist/CMCD_COMMON_KEYS.d.ts +8 -0
  3. package/dist/CMCD_COMMON_KEYS.d.ts.map +1 -0
  4. package/dist/CMCD_COMMON_KEYS.js +39 -0
  5. package/dist/CMCD_COMMON_KEYS.js.map +1 -0
  6. package/dist/CMCD_DEFAULT_TIME_INTERVAL.d.ts +8 -0
  7. package/dist/CMCD_DEFAULT_TIME_INTERVAL.d.ts.map +1 -0
  8. package/dist/CMCD_DEFAULT_TIME_INTERVAL.js +8 -0
  9. package/dist/CMCD_DEFAULT_TIME_INTERVAL.js.map +1 -0
  10. package/dist/CMCD_EVENT_KEYS.d.ts +8 -0
  11. package/dist/CMCD_EVENT_KEYS.d.ts.map +1 -0
  12. package/dist/CMCD_EVENT_KEYS.js +10 -0
  13. package/dist/CMCD_EVENT_KEYS.js.map +1 -0
  14. package/dist/CMCD_EVENT_MODE.d.ts +8 -0
  15. package/dist/CMCD_EVENT_MODE.d.ts.map +1 -0
  16. package/dist/CMCD_EVENT_MODE.js +8 -0
  17. package/dist/CMCD_EVENT_MODE.js.map +1 -0
  18. package/dist/CMCD_FORMATTER_MAP.d.ts +9 -0
  19. package/dist/CMCD_FORMATTER_MAP.d.ts.map +1 -0
  20. package/dist/CMCD_FORMATTER_MAP.js +71 -0
  21. package/dist/CMCD_FORMATTER_MAP.js.map +1 -0
  22. package/dist/CMCD_HEADERS.d.ts +8 -0
  23. package/dist/CMCD_HEADERS.d.ts.map +1 -0
  24. package/dist/CMCD_HEADERS.js +8 -0
  25. package/dist/CMCD_HEADERS.js.map +1 -0
  26. package/dist/CMCD_HEADER_MAP.d.ts +10 -0
  27. package/dist/CMCD_HEADER_MAP.d.ts.map +1 -0
  28. package/dist/CMCD_HEADER_MAP.js +64 -0
  29. package/dist/CMCD_HEADER_MAP.js.map +1 -0
  30. package/dist/CMCD_JSON.d.ts +10 -0
  31. package/dist/CMCD_JSON.d.ts.map +1 -0
  32. package/dist/CMCD_JSON.js +10 -0
  33. package/dist/CMCD_JSON.js.map +1 -0
  34. package/dist/CMCD_KEYS.d.ts +9 -0
  35. package/dist/CMCD_KEYS.d.ts.map +1 -0
  36. package/dist/CMCD_KEYS.js +14 -0
  37. package/dist/CMCD_KEYS.js.map +1 -0
  38. package/dist/CMCD_OBJECT.d.ts +8 -0
  39. package/dist/CMCD_OBJECT.d.ts.map +1 -0
  40. package/dist/CMCD_OBJECT.js +8 -0
  41. package/dist/CMCD_OBJECT.js.map +1 -0
  42. package/dist/CMCD_PARAM.d.ts +8 -0
  43. package/dist/CMCD_PARAM.d.ts.map +1 -0
  44. package/dist/CMCD_PARAM.js +8 -0
  45. package/dist/CMCD_PARAM.js.map +1 -0
  46. package/dist/CMCD_QUERY.d.ts +8 -0
  47. package/dist/CMCD_QUERY.d.ts.map +1 -0
  48. package/dist/CMCD_QUERY.js +8 -0
  49. package/dist/CMCD_QUERY.js.map +1 -0
  50. package/dist/CMCD_REQUEST.d.ts +8 -0
  51. package/dist/CMCD_REQUEST.d.ts.map +1 -0
  52. package/dist/CMCD_REQUEST.js +8 -0
  53. package/dist/CMCD_REQUEST.js.map +1 -0
  54. package/dist/CMCD_REQUEST_KEYS.d.ts +8 -0
  55. package/dist/CMCD_REQUEST_KEYS.d.ts.map +1 -0
  56. package/dist/CMCD_REQUEST_KEYS.js +15 -0
  57. package/dist/CMCD_REQUEST_KEYS.js.map +1 -0
  58. package/dist/CMCD_REQUEST_MODE.d.ts +8 -0
  59. package/dist/CMCD_REQUEST_MODE.d.ts.map +1 -0
  60. package/dist/CMCD_REQUEST_MODE.js +8 -0
  61. package/dist/CMCD_REQUEST_MODE.js.map +1 -0
  62. package/dist/CMCD_RESPONSE_KEYS.d.ts +8 -0
  63. package/dist/CMCD_RESPONSE_KEYS.d.ts.map +1 -0
  64. package/dist/CMCD_RESPONSE_KEYS.js +17 -0
  65. package/dist/CMCD_RESPONSE_KEYS.js.map +1 -0
  66. package/dist/CMCD_RESPONSE_MODE.d.ts +8 -0
  67. package/dist/CMCD_RESPONSE_MODE.d.ts.map +1 -0
  68. package/dist/CMCD_RESPONSE_MODE.js +8 -0
  69. package/dist/CMCD_RESPONSE_MODE.js.map +1 -0
  70. package/dist/CMCD_SESSION.d.ts +8 -0
  71. package/dist/CMCD_SESSION.d.ts.map +1 -0
  72. package/dist/CMCD_SESSION.js +8 -0
  73. package/dist/CMCD_SESSION.js.map +1 -0
  74. package/dist/CMCD_STATUS.d.ts +8 -0
  75. package/dist/CMCD_STATUS.d.ts.map +1 -0
  76. package/dist/CMCD_STATUS.js +8 -0
  77. package/dist/CMCD_STATUS.js.map +1 -0
  78. package/dist/CMCD_V1.d.ts +8 -0
  79. package/dist/CMCD_V1.d.ts.map +1 -0
  80. package/dist/CMCD_V1.js +8 -0
  81. package/dist/CMCD_V1.js.map +1 -0
  82. package/dist/CMCD_V1_KEYS.d.ts +8 -0
  83. package/dist/CMCD_V1_KEYS.d.ts.map +1 -0
  84. package/dist/CMCD_V1_KEYS.js +27 -0
  85. package/dist/CMCD_V1_KEYS.js.map +1 -0
  86. package/dist/CMCD_V2.d.ts +8 -0
  87. package/dist/CMCD_V2.d.ts.map +1 -0
  88. package/dist/CMCD_V2.js +8 -0
  89. package/dist/CMCD_V2.js.map +1 -0
  90. package/dist/Cmcd.d.ts +214 -0
  91. package/dist/Cmcd.d.ts.map +1 -0
  92. package/dist/Cmcd.js +2 -0
  93. package/dist/Cmcd.js.map +1 -0
  94. package/dist/CmcdCustomKey.d.ts +11 -0
  95. package/dist/CmcdCustomKey.d.ts.map +1 -0
  96. package/dist/CmcdCustomKey.js +2 -0
  97. package/dist/CmcdCustomKey.js.map +1 -0
  98. package/dist/CmcdData.d.ts +12 -0
  99. package/dist/CmcdData.d.ts.map +1 -0
  100. package/dist/CmcdData.js +2 -0
  101. package/dist/CmcdData.js.map +1 -0
  102. package/dist/CmcdEncodeOptions.d.ts +45 -0
  103. package/dist/CmcdEncodeOptions.d.ts.map +1 -0
  104. package/dist/CmcdEncodeOptions.js +2 -0
  105. package/dist/CmcdEncodeOptions.js.map +1 -0
  106. package/dist/CmcdEncoding.d.ts +20 -0
  107. package/dist/CmcdEncoding.d.ts.map +1 -0
  108. package/dist/CmcdEncoding.js +15 -0
  109. package/dist/CmcdEncoding.js.map +1 -0
  110. package/dist/CmcdEvent.d.ts +49 -0
  111. package/dist/CmcdEvent.d.ts.map +1 -0
  112. package/dist/CmcdEvent.js +2 -0
  113. package/dist/CmcdEvent.js.map +1 -0
  114. package/dist/CmcdEventExcludedKeys.d.ts +8 -0
  115. package/dist/CmcdEventExcludedKeys.d.ts.map +1 -0
  116. package/dist/CmcdEventExcludedKeys.js +2 -0
  117. package/dist/CmcdEventExcludedKeys.js.map +1 -0
  118. package/dist/CmcdEventType.d.ts +52 -0
  119. package/dist/CmcdEventType.d.ts.map +1 -0
  120. package/dist/CmcdEventType.js +47 -0
  121. package/dist/CmcdEventType.js.map +1 -0
  122. package/dist/CmcdFormatter.d.ts +16 -0
  123. package/dist/CmcdFormatter.d.ts.map +1 -0
  124. package/dist/CmcdFormatter.js +2 -0
  125. package/dist/CmcdFormatter.js.map +1 -0
  126. package/dist/CmcdFormatterMap.d.ts +10 -0
  127. package/dist/CmcdFormatterMap.d.ts.map +1 -0
  128. package/dist/CmcdFormatterMap.js +2 -0
  129. package/dist/CmcdFormatterMap.js.map +1 -0
  130. package/dist/CmcdFormatterOptions.d.ts +22 -0
  131. package/dist/CmcdFormatterOptions.d.ts.map +1 -0
  132. package/dist/CmcdFormatterOptions.js +2 -0
  133. package/dist/CmcdFormatterOptions.js.map +1 -0
  134. package/dist/CmcdFormatters.d.ts +11 -0
  135. package/dist/CmcdFormatters.d.ts.map +1 -0
  136. package/dist/CmcdFormatters.js +11 -0
  137. package/dist/CmcdFormatters.js.map +1 -0
  138. package/dist/CmcdHeaderField.d.ts +36 -0
  139. package/dist/CmcdHeaderField.d.ts.map +1 -0
  140. package/dist/CmcdHeaderField.js +31 -0
  141. package/dist/CmcdHeaderField.js.map +1 -0
  142. package/dist/CmcdHeaderMap.d.ts +10 -0
  143. package/dist/CmcdHeaderMap.d.ts.map +1 -0
  144. package/dist/CmcdHeaderMap.js +2 -0
  145. package/dist/CmcdHeaderMap.js.map +1 -0
  146. package/dist/CmcdHeadersMap.d.ts +12 -0
  147. package/dist/CmcdHeadersMap.d.ts.map +1 -0
  148. package/dist/CmcdHeadersMap.js +2 -0
  149. package/dist/CmcdHeadersMap.js.map +1 -0
  150. package/dist/CmcdKey.d.ts +9 -0
  151. package/dist/CmcdKey.d.ts.map +1 -0
  152. package/dist/CmcdKey.js +2 -0
  153. package/dist/CmcdKey.js.map +1 -0
  154. package/dist/CmcdObjectType.d.ts +15 -0
  155. package/dist/CmcdObjectType.d.ts.map +1 -0
  156. package/dist/CmcdObjectType.js +11 -0
  157. package/dist/CmcdObjectType.js.map +1 -0
  158. package/dist/CmcdPlayerState.d.ts +56 -0
  159. package/dist/CmcdPlayerState.d.ts.map +1 -0
  160. package/dist/CmcdPlayerState.js +51 -0
  161. package/dist/CmcdPlayerState.js.map +1 -0
  162. package/dist/CmcdReportTarget.d.ts +44 -0
  163. package/dist/CmcdReportTarget.d.ts.map +1 -0
  164. package/dist/CmcdReportTarget.js +2 -0
  165. package/dist/CmcdReportTarget.js.map +1 -0
  166. package/dist/CmcdReportingMode.d.ts +31 -0
  167. package/dist/CmcdReportingMode.d.ts.map +1 -0
  168. package/dist/CmcdReportingMode.js +26 -0
  169. package/dist/CmcdReportingMode.js.map +1 -0
  170. package/dist/CmcdRequest.d.ts +222 -0
  171. package/dist/CmcdRequest.d.ts.map +1 -0
  172. package/dist/CmcdRequest.js +2 -0
  173. package/dist/CmcdRequest.js.map +1 -0
  174. package/dist/CmcdResponse.d.ts +84 -0
  175. package/dist/CmcdResponse.d.ts.map +1 -0
  176. package/dist/CmcdResponse.js +2 -0
  177. package/dist/CmcdResponse.js.map +1 -0
  178. package/dist/CmcdStreamType.d.ts +15 -0
  179. package/dist/CmcdStreamType.d.ts.map +1 -0
  180. package/dist/CmcdStreamType.js +11 -0
  181. package/dist/CmcdStreamType.js.map +1 -0
  182. package/dist/CmcdStreamingFormat.d.ts +15 -0
  183. package/dist/CmcdStreamingFormat.d.ts.map +1 -0
  184. package/dist/CmcdStreamingFormat.js +11 -0
  185. package/dist/CmcdStreamingFormat.js.map +1 -0
  186. package/dist/CmcdTransmissionMode.d.ts +33 -0
  187. package/dist/CmcdTransmissionMode.d.ts.map +1 -0
  188. package/dist/CmcdTransmissionMode.js +28 -0
  189. package/dist/CmcdTransmissionMode.js.map +1 -0
  190. package/dist/CmcdValue.d.ts +13 -0
  191. package/dist/CmcdValue.d.ts.map +1 -0
  192. package/dist/CmcdValue.js +2 -0
  193. package/dist/CmcdValue.js.map +1 -0
  194. package/dist/appendCmcdHeaders.d.ts +19 -0
  195. package/dist/appendCmcdHeaders.d.ts.map +1 -0
  196. package/dist/appendCmcdHeaders.js +20 -0
  197. package/dist/appendCmcdHeaders.js.map +1 -0
  198. package/dist/appendCmcdQuery.d.ts +19 -0
  199. package/dist/appendCmcdQuery.d.ts.map +1 -0
  200. package/dist/appendCmcdQuery.js +31 -0
  201. package/dist/appendCmcdQuery.js.map +1 -0
  202. package/dist/decodeCmcd.d.ts +16 -0
  203. package/dist/decodeCmcd.d.ts.map +1 -0
  204. package/dist/decodeCmcd.js +45 -0
  205. package/dist/decodeCmcd.js.map +1 -0
  206. package/dist/encodeCmcd.d.ts +18 -0
  207. package/dist/encodeCmcd.d.ts.map +1 -0
  208. package/dist/encodeCmcd.js +23 -0
  209. package/dist/encodeCmcd.js.map +1 -0
  210. package/dist/fromCmcdHeaders.d.ts +16 -0
  211. package/dist/fromCmcdHeaders.d.ts.map +1 -0
  212. package/dist/fromCmcdHeaders.js +29 -0
  213. package/dist/fromCmcdHeaders.js.map +1 -0
  214. package/dist/fromCmcdQuery.d.ts +16 -0
  215. package/dist/fromCmcdQuery.d.ts.map +1 -0
  216. package/dist/fromCmcdQuery.js +23 -0
  217. package/dist/fromCmcdQuery.js.map +1 -0
  218. package/dist/fromCmcdUrl.d.ts +16 -0
  219. package/dist/fromCmcdUrl.d.ts.map +1 -0
  220. package/dist/fromCmcdUrl.js +18 -0
  221. package/dist/fromCmcdUrl.js.map +1 -0
  222. package/dist/groupCmcdHeaders.d.ts +16 -0
  223. package/dist/groupCmcdHeaders.d.ts.map +1 -0
  224. package/dist/groupCmcdHeaders.js +37 -0
  225. package/dist/groupCmcdHeaders.js.map +1 -0
  226. package/dist/index.d.ts +74 -0
  227. package/dist/index.d.ts.map +1 -0
  228. package/dist/index.js +58 -0
  229. package/dist/index.js.map +1 -0
  230. package/dist/isCmcdCustomKey.d.ts +13 -0
  231. package/dist/isCmcdCustomKey.d.ts.map +1 -0
  232. package/dist/isCmcdCustomKey.js +15 -0
  233. package/dist/isCmcdCustomKey.js.map +1 -0
  234. package/dist/isCmcdEventKey.d.ts +16 -0
  235. package/dist/isCmcdEventKey.d.ts.map +1 -0
  236. package/dist/isCmcdEventKey.js +22 -0
  237. package/dist/isCmcdEventKey.js.map +1 -0
  238. package/dist/isCmcdRequestKey.d.ts +16 -0
  239. package/dist/isCmcdRequestKey.d.ts.map +1 -0
  240. package/dist/isCmcdRequestKey.js +22 -0
  241. package/dist/isCmcdRequestKey.js.map +1 -0
  242. package/dist/isCmcdResponseKey.d.ts +16 -0
  243. package/dist/isCmcdResponseKey.d.ts.map +1 -0
  244. package/dist/isCmcdResponseKey.js +24 -0
  245. package/dist/isCmcdResponseKey.js.map +1 -0
  246. package/dist/isCmcdV1Key.d.ts +16 -0
  247. package/dist/isCmcdV1Key.d.ts.map +1 -0
  248. package/dist/isCmcdV1Key.js +19 -0
  249. package/dist/isCmcdV1Key.js.map +1 -0
  250. package/dist/prepareCmcdData.d.ts +13 -0
  251. package/dist/prepareCmcdData.d.ts.map +1 -0
  252. package/dist/prepareCmcdData.js +88 -0
  253. package/dist/prepareCmcdData.js.map +1 -0
  254. package/dist/toCmcdHeaders.d.ts +19 -0
  255. package/dist/toCmcdHeaders.d.ts.map +1 -0
  256. package/dist/toCmcdHeaders.js +34 -0
  257. package/dist/toCmcdHeaders.js.map +1 -0
  258. package/dist/toCmcdJson.d.ts +17 -0
  259. package/dist/toCmcdJson.d.ts.map +1 -0
  260. package/dist/toCmcdJson.js +21 -0
  261. package/dist/toCmcdJson.js.map +1 -0
  262. package/dist/toCmcdQuery.d.ts +18 -0
  263. package/dist/toCmcdQuery.d.ts.map +1 -0
  264. package/dist/toCmcdQuery.js +24 -0
  265. package/dist/toCmcdQuery.js.map +1 -0
  266. package/dist/toCmcdReport.d.ts +22 -0
  267. package/dist/toCmcdReport.d.ts.map +1 -0
  268. package/dist/toCmcdReport.js +52 -0
  269. package/dist/toCmcdReport.js.map +1 -0
  270. package/dist/toCmcdUrl.d.ts +15 -0
  271. package/dist/toCmcdUrl.d.ts.map +1 -0
  272. package/dist/toCmcdUrl.js +20 -0
  273. package/dist/toCmcdUrl.js.map +1 -0
  274. package/dist/tsconfig.tsbuildinfo +1 -0
  275. package/dist/tsdoc-metadata.json +11 -0
  276. package/package.json +78 -0
@@ -0,0 +1,74 @@
1
+ /**
2
+ * A collection of tools for working with Common Media Client Data (CMCD).
3
+ *
4
+ * @packageDocumentation
5
+ *
6
+ * @beta
7
+ */
8
+ export * from './appendCmcdHeaders.js';
9
+ export * from './appendCmcdQuery.js';
10
+ export type * from './Cmcd.js';
11
+ export * from './CMCD_COMMON_KEYS.js';
12
+ export * from './CMCD_DEFAULT_TIME_INTERVAL.js';
13
+ export * from './CMCD_EVENT_KEYS.js';
14
+ export * from './CMCD_EVENT_MODE.js';
15
+ export * from './CMCD_FORMATTER_MAP.js';
16
+ export * from './CMCD_HEADERS.js';
17
+ export * from './CMCD_JSON.js';
18
+ export * from './CMCD_KEYS.js';
19
+ export * from './CMCD_OBJECT.js';
20
+ export * from './CMCD_PARAM.js';
21
+ export * from './CMCD_QUERY.js';
22
+ export * from './CMCD_REQUEST.js';
23
+ export * from './CMCD_REQUEST_KEYS.js';
24
+ export * from './CMCD_REQUEST_MODE.js';
25
+ export * from './CMCD_RESPONSE_KEYS.js';
26
+ export * from './CMCD_RESPONSE_MODE.js';
27
+ export * from './CMCD_SESSION.js';
28
+ export * from './CMCD_STATUS.js';
29
+ export * from './CMCD_V1.js';
30
+ export * from './CMCD_V1_KEYS.js';
31
+ export * from './CMCD_V2.js';
32
+ export type * from './CmcdCustomKey.js';
33
+ export type * from './CmcdData.js';
34
+ export type * from './CmcdEncodeOptions.js';
35
+ export * from './CmcdEncoding.js';
36
+ export type * from './CmcdEvent.js';
37
+ export type * from './CmcdEventExcludedKeys.js';
38
+ export * from './CmcdEventType.js';
39
+ export type * from './CmcdFormatter.js';
40
+ export type * from './CmcdFormatterMap.js';
41
+ export type * from './CmcdFormatterOptions.js';
42
+ export * from './CmcdFormatters.js';
43
+ export * from './CmcdHeaderField.js';
44
+ export type * from './CmcdHeaderMap.js';
45
+ export type * from './CmcdHeadersMap.js';
46
+ export type * from './CmcdKey.js';
47
+ export * from './CmcdObjectType.js';
48
+ export * from './CmcdPlayerState.js';
49
+ export * from './CmcdReportingMode.js';
50
+ export type * from './CmcdReportTarget.js';
51
+ export type * from './CmcdRequest.js';
52
+ export type * from './CmcdResponse.js';
53
+ export * from './CmcdStreamingFormat.js';
54
+ export * from './CmcdStreamType.js';
55
+ export * from './CmcdTransmissionMode.js';
56
+ export type * from './CmcdValue.js';
57
+ export * from './decodeCmcd.js';
58
+ export * from './encodeCmcd.js';
59
+ export * from './fromCmcdHeaders.js';
60
+ export * from './fromCmcdQuery.js';
61
+ export * from './fromCmcdUrl.js';
62
+ export * from './groupCmcdHeaders.js';
63
+ export * from './isCmcdCustomKey.js';
64
+ export * from './isCmcdEventKey.js';
65
+ export * from './isCmcdRequestKey.js';
66
+ export * from './isCmcdResponseKey.js';
67
+ export * from './isCmcdV1Key.js';
68
+ export * from './prepareCmcdData.js';
69
+ export * from './toCmcdHeaders.js';
70
+ export * from './toCmcdJson.js';
71
+ export * from './toCmcdQuery.js';
72
+ export * from './toCmcdReport.js';
73
+ export * from './toCmcdUrl.js';
74
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,mBAAmB,WAAW,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,wBAAwB,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,4BAA4B,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,uBAAuB,CAAC;AAC3C,mBAAmB,2BAA2B,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,cAAc,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,mBAAmB,uBAAuB,CAAC;AAC3C,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,mBAAmB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,mBAAmB,gBAAgB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,58 @@
1
+ /**
2
+ * A collection of tools for working with Common Media Client Data (CMCD).
3
+ *
4
+ * @packageDocumentation
5
+ *
6
+ * @beta
7
+ */
8
+ export * from './appendCmcdHeaders.js';
9
+ export * from './appendCmcdQuery.js';
10
+ export * from './CMCD_COMMON_KEYS.js';
11
+ export * from './CMCD_DEFAULT_TIME_INTERVAL.js';
12
+ export * from './CMCD_EVENT_KEYS.js';
13
+ export * from './CMCD_EVENT_MODE.js';
14
+ export * from './CMCD_FORMATTER_MAP.js';
15
+ export * from './CMCD_HEADERS.js';
16
+ export * from './CMCD_JSON.js';
17
+ export * from './CMCD_KEYS.js';
18
+ export * from './CMCD_OBJECT.js';
19
+ export * from './CMCD_PARAM.js';
20
+ export * from './CMCD_QUERY.js';
21
+ export * from './CMCD_REQUEST.js';
22
+ export * from './CMCD_REQUEST_KEYS.js';
23
+ export * from './CMCD_REQUEST_MODE.js';
24
+ export * from './CMCD_RESPONSE_KEYS.js';
25
+ export * from './CMCD_RESPONSE_MODE.js';
26
+ export * from './CMCD_SESSION.js';
27
+ export * from './CMCD_STATUS.js';
28
+ export * from './CMCD_V1.js';
29
+ export * from './CMCD_V1_KEYS.js';
30
+ export * from './CMCD_V2.js';
31
+ export * from './CmcdEncoding.js';
32
+ export * from './CmcdEventType.js';
33
+ export * from './CmcdFormatters.js';
34
+ export * from './CmcdHeaderField.js';
35
+ export * from './CmcdObjectType.js';
36
+ export * from './CmcdPlayerState.js';
37
+ export * from './CmcdReportingMode.js';
38
+ export * from './CmcdStreamingFormat.js';
39
+ export * from './CmcdStreamType.js';
40
+ export * from './CmcdTransmissionMode.js';
41
+ export * from './decodeCmcd.js';
42
+ export * from './encodeCmcd.js';
43
+ export * from './fromCmcdHeaders.js';
44
+ export * from './fromCmcdQuery.js';
45
+ export * from './fromCmcdUrl.js';
46
+ export * from './groupCmcdHeaders.js';
47
+ export * from './isCmcdCustomKey.js';
48
+ export * from './isCmcdEventKey.js';
49
+ export * from './isCmcdRequestKey.js';
50
+ export * from './isCmcdResponseKey.js';
51
+ export * from './isCmcdV1Key.js';
52
+ export * from './prepareCmcdData.js';
53
+ export * from './toCmcdHeaders.js';
54
+ export * from './toCmcdJson.js';
55
+ export * from './toCmcdQuery.js';
56
+ export * from './toCmcdReport.js';
57
+ export * from './toCmcdUrl.js';
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAI7B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAInC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAIrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AAIvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC","sourcesContent":["/**\n * A collection of tools for working with Common Media Client Data (CMCD).\n *\n * @packageDocumentation\n *\n * @beta\n */\nexport * from './appendCmcdHeaders.js';\nexport * from './appendCmcdQuery.js';\nexport type * from './Cmcd.js';\nexport * from './CMCD_COMMON_KEYS.js';\nexport * from './CMCD_DEFAULT_TIME_INTERVAL.js';\nexport * from './CMCD_EVENT_KEYS.js';\nexport * from './CMCD_EVENT_MODE.js';\nexport * from './CMCD_FORMATTER_MAP.js';\nexport * from './CMCD_HEADERS.js';\nexport * from './CMCD_JSON.js';\nexport * from './CMCD_KEYS.js';\nexport * from './CMCD_OBJECT.js';\nexport * from './CMCD_PARAM.js';\nexport * from './CMCD_QUERY.js';\nexport * from './CMCD_REQUEST.js';\nexport * from './CMCD_REQUEST_KEYS.js';\nexport * from './CMCD_REQUEST_MODE.js';\nexport * from './CMCD_RESPONSE_KEYS.js';\nexport * from './CMCD_RESPONSE_MODE.js';\nexport * from './CMCD_SESSION.js';\nexport * from './CMCD_STATUS.js';\nexport * from './CMCD_V1.js';\nexport * from './CMCD_V1_KEYS.js';\nexport * from './CMCD_V2.js';\nexport type * from './CmcdCustomKey.js';\nexport type * from './CmcdData.js';\nexport type * from './CmcdEncodeOptions.js';\nexport * from './CmcdEncoding.js';\nexport type * from './CmcdEvent.js';\nexport type * from './CmcdEventExcludedKeys.js';\nexport * from './CmcdEventType.js';\nexport type * from './CmcdFormatter.js';\nexport type * from './CmcdFormatterMap.js';\nexport type * from './CmcdFormatterOptions.js';\nexport * from './CmcdFormatters.js';\nexport * from './CmcdHeaderField.js';\nexport type * from './CmcdHeaderMap.js';\nexport type * from './CmcdHeadersMap.js';\nexport type * from './CmcdKey.js';\nexport * from './CmcdObjectType.js';\nexport * from './CmcdPlayerState.js';\nexport * from './CmcdReportingMode.js';\nexport type * from './CmcdReportTarget.js';\nexport type * from './CmcdRequest.js';\nexport type * from './CmcdResponse.js';\nexport * from './CmcdStreamingFormat.js';\nexport * from './CmcdStreamType.js';\nexport * from './CmcdTransmissionMode.js';\nexport type * from './CmcdValue.js';\nexport * from './decodeCmcd.js';\nexport * from './encodeCmcd.js';\nexport * from './fromCmcdHeaders.js';\nexport * from './fromCmcdQuery.js';\nexport * from './fromCmcdUrl.js';\nexport * from './groupCmcdHeaders.js';\nexport * from './isCmcdCustomKey.js';\nexport * from './isCmcdEventKey.js';\nexport * from './isCmcdRequestKey.js';\nexport * from './isCmcdResponseKey.js';\nexport * from './isCmcdV1Key.js';\nexport * from './prepareCmcdData.js';\nexport * from './toCmcdHeaders.js';\nexport * from './toCmcdJson.js';\nexport * from './toCmcdQuery.js';\nexport * from './toCmcdReport.js';\nexport * from './toCmcdUrl.js';\n"]}
@@ -0,0 +1,13 @@
1
+ import type { CmcdKey } from './CmcdKey.js';
2
+ /**
3
+ * Check if a key is a custom key.
4
+ *
5
+ * @param key - The key to check.
6
+ *
7
+ * @returns `true` if the key is a custom key, `false` otherwise.
8
+ *
9
+ *
10
+ * @beta
11
+ */
12
+ export declare function isCmcdCustomKey(key: CmcdKey): boolean;
13
+ //# sourceMappingURL=isCmcdCustomKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCmcdCustomKey.d.ts","sourceRoot":"","sources":["../src/isCmcdCustomKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAErD"}
@@ -0,0 +1,15 @@
1
+ const CUSTOM_KEY_REGEX = /^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;
2
+ /**
3
+ * Check if a key is a custom key.
4
+ *
5
+ * @param key - The key to check.
6
+ *
7
+ * @returns `true` if the key is a custom key, `false` otherwise.
8
+ *
9
+ *
10
+ * @beta
11
+ */
12
+ export function isCmcdCustomKey(key) {
13
+ return CUSTOM_KEY_REGEX.test(key);
14
+ }
15
+ //# sourceMappingURL=isCmcdCustomKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCmcdCustomKey.js","sourceRoot":"","sources":["../src/isCmcdCustomKey.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAE3D;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC3C,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC","sourcesContent":["import type { CmcdKey } from './CmcdKey.js';\n\nconst CUSTOM_KEY_REGEX = /^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;\n\n/**\n * Check if a key is a custom key.\n *\n * @param key - The key to check.\n *\n * @returns `true` if the key is a custom key, `false` otherwise.\n *\n *\n * @beta\n */\nexport function isCmcdCustomKey(key: CmcdKey): boolean {\n\treturn CUSTOM_KEY_REGEX.test(key);\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import type { CmcdEvent } from './CmcdEvent.js';
2
+ /**
3
+ * Check if a key is a valid CMCD event key.
4
+ *
5
+ * @param key - The key to check.
6
+ *
7
+ * @returns `true` if the key is a valid CMCD event key, `false` otherwise.
8
+ *
9
+ *
10
+ * @beta
11
+ *
12
+ * @example
13
+ * {@includeCode ../test/isCmcdEventKey.test.ts#example}
14
+ */
15
+ export declare function isCmcdEventKey(key: string): key is keyof CmcdEvent;
16
+ //# sourceMappingURL=isCmcdEventKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCmcdEventKey.d.ts","sourceRoot":"","sources":["../src/isCmcdEventKey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,MAAM,SAAS,CAIlE"}
@@ -0,0 +1,22 @@
1
+ import { CMCD_COMMON_KEYS } from './CMCD_COMMON_KEYS.js';
2
+ import { CMCD_EVENT_KEYS } from './CMCD_EVENT_KEYS.js';
3
+ import { isCmcdCustomKey } from './isCmcdCustomKey.js';
4
+ /**
5
+ * Check if a key is a valid CMCD event key.
6
+ *
7
+ * @param key - The key to check.
8
+ *
9
+ * @returns `true` if the key is a valid CMCD event key, `false` otherwise.
10
+ *
11
+ *
12
+ * @beta
13
+ *
14
+ * @example
15
+ * {@includeCode ../test/isCmcdEventKey.test.ts#example}
16
+ */
17
+ export function isCmcdEventKey(key) {
18
+ return CMCD_COMMON_KEYS.includes(key) ||
19
+ CMCD_EVENT_KEYS.includes(key) ||
20
+ isCmcdCustomKey(key);
21
+ }
22
+ //# sourceMappingURL=isCmcdEventKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCmcdEventKey.js","sourceRoot":"","sources":["../src/isCmcdEventKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACzC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAU,CAAC;QAC3C,eAAe,CAAC,QAAQ,CAAC,GAAU,CAAC;QACpC,eAAe,CAAC,GAAU,CAAC,CAAC;AAC9B,CAAC","sourcesContent":["import { CMCD_COMMON_KEYS } from './CMCD_COMMON_KEYS.js';\nimport { CMCD_EVENT_KEYS } from './CMCD_EVENT_KEYS.js';\nimport type { CmcdEvent } from './CmcdEvent.js';\nimport { isCmcdCustomKey } from './isCmcdCustomKey.js';\n\n/**\n * Check if a key is a valid CMCD event key.\n *\n * @param key - The key to check.\n *\n * @returns `true` if the key is a valid CMCD event key, `false` otherwise.\n *\n *\n * @beta\n *\n * @example\n * {@includeCode ../test/isCmcdEventKey.test.ts#example}\n */\nexport function isCmcdEventKey(key: string): key is keyof CmcdEvent {\n\treturn CMCD_COMMON_KEYS.includes(key as any) ||\n\t\tCMCD_EVENT_KEYS.includes(key as any) ||\n\t\tisCmcdCustomKey(key as any);\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import type { CmcdRequest } from './CmcdRequest.js';
2
+ /**
3
+ * Check if a key is a valid CMCD request key.
4
+ *
5
+ * @param key - The key to check.
6
+ *
7
+ * @returns `true` if the key is a valid CMCD request key, `false` otherwise.
8
+ *
9
+ *
10
+ * @beta
11
+ *
12
+ * @example
13
+ * {@includeCode ../test/isCmcdRequestKey.test.ts#example}
14
+ */
15
+ export declare function isCmcdRequestKey(key: string): key is keyof CmcdRequest;
16
+ //# sourceMappingURL=isCmcdRequestKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCmcdRequestKey.d.ts","sourceRoot":"","sources":["../src/isCmcdRequestKey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,MAAM,WAAW,CAItE"}
@@ -0,0 +1,22 @@
1
+ import { CMCD_COMMON_KEYS } from './CMCD_COMMON_KEYS.js';
2
+ import { CMCD_REQUEST_KEYS } from './CMCD_REQUEST_KEYS.js';
3
+ import { isCmcdCustomKey } from './isCmcdCustomKey.js';
4
+ /**
5
+ * Check if a key is a valid CMCD request key.
6
+ *
7
+ * @param key - The key to check.
8
+ *
9
+ * @returns `true` if the key is a valid CMCD request key, `false` otherwise.
10
+ *
11
+ *
12
+ * @beta
13
+ *
14
+ * @example
15
+ * {@includeCode ../test/isCmcdRequestKey.test.ts#example}
16
+ */
17
+ export function isCmcdRequestKey(key) {
18
+ return CMCD_COMMON_KEYS.includes(key) ||
19
+ CMCD_REQUEST_KEYS.includes(key) ||
20
+ isCmcdCustomKey(key);
21
+ }
22
+ //# sourceMappingURL=isCmcdRequestKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCmcdRequestKey.js","sourceRoot":"","sources":["../src/isCmcdRequestKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC3C,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAU,CAAC;QAC3C,iBAAiB,CAAC,QAAQ,CAAC,GAAU,CAAC;QACtC,eAAe,CAAC,GAAU,CAAC,CAAC;AAC9B,CAAC","sourcesContent":["import { CMCD_COMMON_KEYS } from './CMCD_COMMON_KEYS.js';\nimport { CMCD_REQUEST_KEYS } from './CMCD_REQUEST_KEYS.js';\nimport type { CmcdRequest } from './CmcdRequest.js';\nimport { isCmcdCustomKey } from './isCmcdCustomKey.js';\n\n/**\n * Check if a key is a valid CMCD request key.\n *\n * @param key - The key to check.\n *\n * @returns `true` if the key is a valid CMCD request key, `false` otherwise.\n *\n *\n * @beta\n *\n * @example\n * {@includeCode ../test/isCmcdRequestKey.test.ts#example}\n */\nexport function isCmcdRequestKey(key: string): key is keyof CmcdRequest {\n\treturn CMCD_COMMON_KEYS.includes(key as any) ||\n\t\tCMCD_REQUEST_KEYS.includes(key as any) ||\n\t\tisCmcdCustomKey(key as any);\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import type { CmcdResponse } from './CmcdResponse.js';
2
+ /**
3
+ * Check if a key is a valid CMCD response key.
4
+ *
5
+ * @param key - The key to check.
6
+ *
7
+ * @returns `true` if the key is a valid CMCD request key, `false` otherwise.
8
+ *
9
+ *
10
+ * @beta
11
+ *
12
+ * @example
13
+ * {@includeCode ../test/isCmcdResponseKey.test.ts#example}
14
+ */
15
+ export declare function isCmcdResponseKey(key: string): key is keyof CmcdResponse;
16
+ //# sourceMappingURL=isCmcdResponseKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCmcdResponseKey.d.ts","sourceRoot":"","sources":["../src/isCmcdResponseKey.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,MAAM,YAAY,CAKxE"}
@@ -0,0 +1,24 @@
1
+ import { CMCD_COMMON_KEYS } from './CMCD_COMMON_KEYS.js';
2
+ import { CMCD_REQUEST_KEYS } from './CMCD_REQUEST_KEYS.js';
3
+ import { CMCD_RESPONSE_KEYS } from './CMCD_RESPONSE_KEYS.js';
4
+ import { isCmcdCustomKey } from './isCmcdCustomKey.js';
5
+ /**
6
+ * Check if a key is a valid CMCD response key.
7
+ *
8
+ * @param key - The key to check.
9
+ *
10
+ * @returns `true` if the key is a valid CMCD request key, `false` otherwise.
11
+ *
12
+ *
13
+ * @beta
14
+ *
15
+ * @example
16
+ * {@includeCode ../test/isCmcdResponseKey.test.ts#example}
17
+ */
18
+ export function isCmcdResponseKey(key) {
19
+ return CMCD_COMMON_KEYS.includes(key) ||
20
+ CMCD_REQUEST_KEYS.includes(key) ||
21
+ CMCD_RESPONSE_KEYS.includes(key) ||
22
+ isCmcdCustomKey(key);
23
+ }
24
+ //# sourceMappingURL=isCmcdResponseKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCmcdResponseKey.js","sourceRoot":"","sources":["../src/isCmcdResponseKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC5C,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAU,CAAC;QAC3C,iBAAiB,CAAC,QAAQ,CAAC,GAAU,CAAC;QACtC,kBAAkB,CAAC,QAAQ,CAAC,GAAU,CAAC;QACvC,eAAe,CAAC,GAAU,CAAC,CAAC;AAC9B,CAAC","sourcesContent":["import { CMCD_COMMON_KEYS } from './CMCD_COMMON_KEYS.js';\nimport { CMCD_REQUEST_KEYS } from './CMCD_REQUEST_KEYS.js';\nimport { CMCD_RESPONSE_KEYS } from './CMCD_RESPONSE_KEYS.js';\nimport type { CmcdResponse } from './CmcdResponse.js';\nimport { isCmcdCustomKey } from './isCmcdCustomKey.js';\n\n/**\n * Check if a key is a valid CMCD response key.\n *\n * @param key - The key to check.\n *\n * @returns `true` if the key is a valid CMCD request key, `false` otherwise.\n *\n *\n * @beta\n *\n * @example\n * {@includeCode ../test/isCmcdResponseKey.test.ts#example}\n */\nexport function isCmcdResponseKey(key: string): key is keyof CmcdResponse {\n\treturn CMCD_COMMON_KEYS.includes(key as any) ||\n\t\tCMCD_REQUEST_KEYS.includes(key as any) ||\n\t\tCMCD_RESPONSE_KEYS.includes(key as any) ||\n\t\tisCmcdCustomKey(key as any);\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import type { Cmcd } from './Cmcd.js';
2
+ /**
3
+ * Filter function for CMCD v1 keys.
4
+ *
5
+ * @param key - The CMCD key to filter.
6
+ *
7
+ * @returns `true` if the key should be included, `false` otherwise.
8
+ *
9
+ *
10
+ * @beta
11
+ *
12
+ * @example
13
+ * {@includeCode ../test/isCmcdV1Key.test.ts#example}
14
+ */
15
+ export declare function isCmcdV1Key(key: string): key is keyof Cmcd;
16
+ //# sourceMappingURL=isCmcdV1Key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCmcdV1Key.d.ts","sourceRoot":"","sources":["../src/isCmcdV1Key.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGtC;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,MAAM,IAAI,CAE1D"}
@@ -0,0 +1,19 @@
1
+ import { CMCD_V1_KEYS } from './CMCD_V1_KEYS.js';
2
+ import { isCmcdCustomKey } from './isCmcdCustomKey.js';
3
+ /**
4
+ * Filter function for CMCD v1 keys.
5
+ *
6
+ * @param key - The CMCD key to filter.
7
+ *
8
+ * @returns `true` if the key should be included, `false` otherwise.
9
+ *
10
+ *
11
+ * @beta
12
+ *
13
+ * @example
14
+ * {@includeCode ../test/isCmcdV1Key.test.ts#example}
15
+ */
16
+ export function isCmcdV1Key(key) {
17
+ return CMCD_V1_KEYS.includes(key) || isCmcdCustomKey(key);
18
+ }
19
+ //# sourceMappingURL=isCmcdV1Key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCmcdV1Key.js","sourceRoot":"","sources":["../src/isCmcdV1Key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACtC,OAAO,YAAY,CAAC,QAAQ,CAAC,GAAU,CAAC,IAAI,eAAe,CAAC,GAAU,CAAC,CAAC;AACzE,CAAC","sourcesContent":["import { CMCD_V1_KEYS } from './CMCD_V1_KEYS.js';\nimport type { Cmcd } from './Cmcd.js';\nimport { isCmcdCustomKey } from './isCmcdCustomKey.js';\n\n/**\n * Filter function for CMCD v1 keys.\n *\n * @param key - The CMCD key to filter.\n *\n * @returns `true` if the key should be included, `false` otherwise.\n *\n *\n * @beta\n *\n * @example\n * {@includeCode ../test/isCmcdV1Key.test.ts#example}\n */\nexport function isCmcdV1Key(key: string): key is keyof Cmcd {\n\treturn CMCD_V1_KEYS.includes(key as any) || isCmcdCustomKey(key as any);\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import type { CmcdData } from './CmcdData.js';
2
+ import type { CmcdEncodeOptions } from './CmcdEncodeOptions.js';
3
+ /**
4
+ * Convert a generic object to CMCD data.
5
+ *
6
+ * @param obj - The CMCD object to process.
7
+ * @param options - Options for encoding.
8
+ *
9
+ *
10
+ * @beta
11
+ */
12
+ export declare function prepareCmcdData(obj: Record<string, any>, options?: CmcdEncodeOptions): CmcdData;
13
+ //# sourceMappingURL=prepareCmcdData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareCmcdData.d.ts","sourceRoot":"","sources":["../src/prepareCmcdData.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAchE;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAE,iBAAsB,GAAG,QAAQ,CA6EnG"}
@@ -0,0 +1,88 @@
1
+ import { isTokenField } from '@svta/cml-cta/isTokenField.js';
2
+ import { isValid } from '@svta/cml-cta/isValid.js';
3
+ import { SfToken } from '@svta/cml-structured-field-values/SfToken.js';
4
+ import { CMCD_EVENT_MODE } from './CMCD_EVENT_MODE.js';
5
+ import { CMCD_FORMATTER_MAP } from './CMCD_FORMATTER_MAP.js';
6
+ import { CMCD_REQUEST_MODE } from './CMCD_REQUEST_MODE.js';
7
+ import { CMCD_RESPONSE_MODE } from './CMCD_RESPONSE_MODE.js';
8
+ import { isCmcdEventKey } from './isCmcdEventKey.js';
9
+ import { isCmcdRequestKey } from './isCmcdRequestKey.js';
10
+ import { isCmcdResponseKey } from './isCmcdResponseKey.js';
11
+ import { isCmcdV1Key } from './isCmcdV1Key.js';
12
+ const filterMap = {
13
+ [CMCD_RESPONSE_MODE]: isCmcdResponseKey,
14
+ [CMCD_EVENT_MODE]: isCmcdEventKey,
15
+ [CMCD_REQUEST_MODE]: isCmcdRequestKey,
16
+ };
17
+ /**
18
+ * Convert a generic object to CMCD data.
19
+ *
20
+ * @param obj - The CMCD object to process.
21
+ * @param options - Options for encoding.
22
+ *
23
+ *
24
+ * @beta
25
+ */
26
+ export function prepareCmcdData(obj, options = {}) {
27
+ const results = {};
28
+ if (obj == null || typeof obj !== 'object') {
29
+ return results;
30
+ }
31
+ const version = options.version || obj['v'] || 1;
32
+ const reportingMode = options.reportingMode || CMCD_REQUEST_MODE;
33
+ const keyFilter = version === 1 ? isCmcdV1Key : filterMap[reportingMode];
34
+ // Filter keys based on the version, reporting mode and options
35
+ let keys = Object.keys(obj).filter(keyFilter);
36
+ const filter = options.filter;
37
+ if (typeof filter === 'function') {
38
+ keys = keys.filter(filter);
39
+ }
40
+ // Ensure all required keys are present before sorting
41
+ const needsTimestamp = reportingMode === CMCD_RESPONSE_MODE || reportingMode === CMCD_EVENT_MODE;
42
+ if (needsTimestamp && !keys.includes('ts')) {
43
+ keys.push('ts');
44
+ }
45
+ if (version > 1 && !keys.includes('v')) {
46
+ keys.push('v');
47
+ }
48
+ const formatters = Object.assign({}, CMCD_FORMATTER_MAP, options.formatters);
49
+ const formatterOptions = {
50
+ version,
51
+ reportingMode,
52
+ baseUrl: options.baseUrl,
53
+ };
54
+ keys.sort().forEach(key => {
55
+ let value = obj[key];
56
+ const formatter = formatters[key];
57
+ if (typeof formatter === 'function') {
58
+ value = formatter(value, formatterOptions);
59
+ }
60
+ // Version should only be reported if not equal to 1.
61
+ if (key === 'v') {
62
+ if (version === 1) {
63
+ return;
64
+ }
65
+ else {
66
+ value = version;
67
+ }
68
+ }
69
+ // Playback rate should only be sent if not equal to 1.
70
+ if (key == 'pr' && value === 1) {
71
+ return;
72
+ }
73
+ // Ensure a timestamp is set for response and event modes
74
+ if (needsTimestamp && key === 'ts' && !Number.isFinite(value)) {
75
+ value = Date.now();
76
+ }
77
+ // ignore invalid values
78
+ if (!isValid(value)) {
79
+ return;
80
+ }
81
+ if (isTokenField(key) && typeof value === 'string') {
82
+ value = new SfToken(value);
83
+ }
84
+ results[key] = value;
85
+ });
86
+ return results;
87
+ }
88
+ //# sourceMappingURL=prepareCmcdData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareCmcdData.js","sourceRoot":"","sources":["../src/prepareCmcdData.ts"],"names":[],"mappings":"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","sourcesContent":["import { isTokenField } from '@svta/cml-cta/isTokenField.js';\nimport { isValid } from '@svta/cml-cta/isValid.js';\nimport { SfToken } from '@svta/cml-structured-field-values/SfToken.js';\nimport { CMCD_EVENT_MODE } from './CMCD_EVENT_MODE.js';\nimport { CMCD_FORMATTER_MAP } from './CMCD_FORMATTER_MAP.js';\nimport { CMCD_REQUEST_MODE } from './CMCD_REQUEST_MODE.js';\nimport { CMCD_RESPONSE_MODE } from './CMCD_RESPONSE_MODE.js';\nimport type { CmcdData } from './CmcdData.js';\nimport type { CmcdEncodeOptions } from './CmcdEncodeOptions.js';\nimport type { CmcdFormatterOptions } from './CmcdFormatterOptions.js';\nimport type { CmcdValue } from './CmcdValue.js';\nimport { isCmcdEventKey } from './isCmcdEventKey.js';\nimport { isCmcdRequestKey } from './isCmcdRequestKey.js';\nimport { isCmcdResponseKey } from './isCmcdResponseKey.js';\nimport { isCmcdV1Key } from './isCmcdV1Key.js';\n\nconst filterMap = {\n\t[CMCD_RESPONSE_MODE]: isCmcdResponseKey,\n\t[CMCD_EVENT_MODE]: isCmcdEventKey,\n\t[CMCD_REQUEST_MODE]: isCmcdRequestKey,\n};\n\n/**\n * Convert a generic object to CMCD data.\n *\n * @param obj - The CMCD object to process.\n * @param options - Options for encoding.\n *\n *\n * @beta\n */\nexport function prepareCmcdData(obj: Record<string, any>, options: CmcdEncodeOptions = {}): CmcdData {\n\tconst results: CmcdData = {};\n\n\tif (obj == null || typeof obj !== 'object') {\n\t\treturn results;\n\t}\n\n\tconst version = options.version || (obj['v'] as number) || 1;\n\tconst reportingMode = options.reportingMode || CMCD_REQUEST_MODE;\n\tconst keyFilter = version === 1 ? isCmcdV1Key : filterMap[reportingMode];\n\n\t// Filter keys based on the version, reporting mode and options\n\tlet keys = Object.keys(obj).filter(keyFilter);\n\n\tconst filter = options.filter;\n\tif (typeof filter === 'function') {\n\t\tkeys = keys.filter(filter);\n\t}\n\n\t// Ensure all required keys are present before sorting\n\tconst needsTimestamp = reportingMode === CMCD_RESPONSE_MODE || reportingMode === CMCD_EVENT_MODE;\n\tif (needsTimestamp && !keys.includes('ts')) {\n\t\tkeys.push('ts');\n\t}\n\n\tif (version > 1 && !keys.includes('v')) {\n\t\tkeys.push('v');\n\t}\n\n\tconst formatters = Object.assign({}, CMCD_FORMATTER_MAP, options.formatters);\n\tconst formatterOptions: CmcdFormatterOptions = {\n\t\tversion,\n\t\treportingMode,\n\t\tbaseUrl: options.baseUrl,\n\t};\n\n\tkeys.sort().forEach(key => {\n\t\tlet value = obj[key] as CmcdValue;\n\n\t\tconst formatter = formatters[key];\n\t\tif (typeof formatter === 'function') {\n\t\t\tvalue = formatter(value, formatterOptions);\n\t\t}\n\n\t\t// Version should only be reported if not equal to 1.\n\t\tif (key === 'v') {\n\t\t\tif (version === 1) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvalue = version;\n\t\t\t}\n\t\t}\n\n\t\t// Playback rate should only be sent if not equal to 1.\n\t\tif (key == 'pr' && value === 1) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Ensure a timestamp is set for response and event modes\n\t\tif (needsTimestamp && key === 'ts' && !Number.isFinite(value)) {\n\t\t\tvalue = Date.now();\n\t\t}\n\n\t\t// ignore invalid values\n\t\tif (!isValid(value)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isTokenField(key) && typeof value === 'string') {\n\t\t\tvalue = new SfToken(value);\n\t\t}\n\n\t\t(results as any)[key] = value;\n\t});\n\n\treturn results;\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import type { CmcdData } from './CmcdData.js';
2
+ import type { CmcdEncodeOptions } from './CmcdEncodeOptions.js';
3
+ import type { CmcdHeaderField } from './CmcdHeaderField.js';
4
+ /**
5
+ * Convert a CMCD data object to request headers
6
+ *
7
+ * @param cmcd - The CMCD data object to convert.
8
+ * @param options - Options for encoding the CMCD object.
9
+ *
10
+ * @returns The CMCD header shards.
11
+ *
12
+ *
13
+ * @beta
14
+ *
15
+ * @example
16
+ * {@includeCode ../test/toCmcdHeaders.test.ts#example}
17
+ */
18
+ export declare function toCmcdHeaders(cmcd: CmcdData, options?: CmcdEncodeOptions): Record<CmcdHeaderField, string>;
19
+ //# sourceMappingURL=toCmcdHeaders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toCmcdHeaders.d.ts","sourceRoot":"","sources":["../src/toCmcdHeaders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAkB9G"}
@@ -0,0 +1,34 @@
1
+ import { encodeSfDict } from '@svta/cml-structured-field-values/encodeSfDict.js';
2
+ import { groupCmcdHeaders } from './groupCmcdHeaders.js';
3
+ import { prepareCmcdData } from './prepareCmcdData.js';
4
+ /**
5
+ * Convert a CMCD data object to request headers
6
+ *
7
+ * @param cmcd - The CMCD data object to convert.
8
+ * @param options - Options for encoding the CMCD object.
9
+ *
10
+ * @returns The CMCD header shards.
11
+ *
12
+ *
13
+ * @beta
14
+ *
15
+ * @example
16
+ * {@includeCode ../test/toCmcdHeaders.test.ts#example}
17
+ */
18
+ export function toCmcdHeaders(cmcd, options = {}) {
19
+ const result = {};
20
+ if (!cmcd) {
21
+ return result;
22
+ }
23
+ const data = prepareCmcdData(cmcd, options);
24
+ const shards = groupCmcdHeaders(data, options === null || options === void 0 ? void 0 : options.customHeaderMap);
25
+ return Object.entries(shards)
26
+ .reduce((acc, [field, value]) => {
27
+ const shard = encodeSfDict(value, { whitespace: false });
28
+ if (shard) {
29
+ acc[field] = shard;
30
+ }
31
+ return acc;
32
+ }, result);
33
+ }
34
+ //# sourceMappingURL=toCmcdHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toCmcdHeaders.js","sourceRoot":"","sources":["../src/toCmcdHeaders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAIjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,IAAc,EAAE,UAA6B,EAAE;IAC5E,MAAM,MAAM,GAAG,EAAqC,CAAC;IAErD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,CAAC;IAEhE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SAC3B,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,KAAwB,CAAC,GAAG,KAAK,CAAC;QACvC,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC,CAAC;AACb,CAAC","sourcesContent":["import { encodeSfDict } from '@svta/cml-structured-field-values/encodeSfDict.js';\nimport type { CmcdData } from './CmcdData.js';\nimport type { CmcdEncodeOptions } from './CmcdEncodeOptions.js';\nimport type { CmcdHeaderField } from './CmcdHeaderField.js';\nimport { groupCmcdHeaders } from './groupCmcdHeaders.js';\nimport { prepareCmcdData } from './prepareCmcdData.js';\n\n/**\n * Convert a CMCD data object to request headers\n *\n * @param cmcd - The CMCD data object to convert.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The CMCD header shards.\n *\n *\n * @beta\n *\n * @example\n * {@includeCode ../test/toCmcdHeaders.test.ts#example}\n */\nexport function toCmcdHeaders(cmcd: CmcdData, options: CmcdEncodeOptions = {}): Record<CmcdHeaderField, string> {\n\tconst result = {} as Record<CmcdHeaderField, string>;\n\n\tif (!cmcd) {\n\t\treturn result;\n\t}\n\n\tconst data = prepareCmcdData(cmcd, options);\n\tconst shards = groupCmcdHeaders(data, options?.customHeaderMap);\n\n\treturn Object.entries(shards)\n\t\t.reduce((acc, [field, value]) => {\n\t\t\tconst shard = encodeSfDict(value, { whitespace: false });\n\t\t\tif (shard) {\n\t\t\t\tacc[field as CmcdHeaderField] = shard;\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, result);\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import type { Cmcd } from './Cmcd.js';
2
+ import type { CmcdEncodeOptions } from './CmcdEncodeOptions.js';
3
+ /**
4
+ * Convert a CMCD data object to JSON.
5
+ *
6
+ * @param cmcd - The CMCD object to convert.
7
+ * @param options - Options for encoding the CMCD object.
8
+ *
9
+ * @returns The CMCD JSON.
10
+ *
11
+ *
12
+ * @beta
13
+ *
14
+ * @deprecated Sending CMCD as JSON objects is deprecated. Use `toCmcdUrl` to create an array of url strings instead.
15
+ */
16
+ export declare function toCmcdJson(cmcd: Cmcd, options?: CmcdEncodeOptions): string;
17
+ //# sourceMappingURL=toCmcdJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toCmcdJson.d.ts","sourceRoot":"","sources":["../src/toCmcdJson.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAI1E"}
@@ -0,0 +1,21 @@
1
+ import { SfToken } from '@svta/cml-structured-field-values/SfToken.js';
2
+ import { symbolToStr } from '@svta/cml-structured-field-values/utils/symbolToStr.js';
3
+ import { prepareCmcdData } from './prepareCmcdData.js';
4
+ /**
5
+ * Convert a CMCD data object to JSON.
6
+ *
7
+ * @param cmcd - The CMCD object to convert.
8
+ * @param options - Options for encoding the CMCD object.
9
+ *
10
+ * @returns The CMCD JSON.
11
+ *
12
+ *
13
+ * @beta
14
+ *
15
+ * @deprecated Sending CMCD as JSON objects is deprecated. Use `toCmcdUrl` to create an array of url strings instead.
16
+ */
17
+ export function toCmcdJson(cmcd, options) {
18
+ const data = prepareCmcdData(cmcd, options);
19
+ return JSON.stringify(data, (_, value) => typeof value === 'symbol' || value instanceof SfToken ? symbolToStr(value) : value);
20
+ }
21
+ //# sourceMappingURL=toCmcdJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toCmcdJson.js","sourceRoot":"","sources":["../src/toCmcdJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8CAA8C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,OAA2B;IACjE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE5C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/H,CAAC","sourcesContent":["import { SfToken } from '@svta/cml-structured-field-values/SfToken.js';\nimport { symbolToStr } from '@svta/cml-structured-field-values/utils/symbolToStr.js';\nimport type { Cmcd } from './Cmcd.js';\nimport type { CmcdEncodeOptions } from './CmcdEncodeOptions.js';\nimport { prepareCmcdData } from './prepareCmcdData.js';\n\n/**\n * Convert a CMCD data object to JSON.\n *\n * @param cmcd - The CMCD object to convert.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The CMCD JSON.\n *\n *\n * @beta\n *\n * @deprecated Sending CMCD as JSON objects is deprecated. Use `toCmcdUrl` to create an array of url strings instead.\n */\nexport function toCmcdJson(cmcd: Cmcd, options?: CmcdEncodeOptions): string {\n\tconst data = prepareCmcdData(cmcd, options);\n\n\treturn JSON.stringify(data, (_, value) => typeof value === 'symbol' || value instanceof SfToken ? symbolToStr(value) : value);\n}\n"]}