telepact 1.0.0-alpha.120

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 (482) hide show
  1. package/README.md +71 -0
  2. package/dist/LICENSE +201 -0
  3. package/dist/NOTICE +15 -0
  4. package/dist/inc/auth.telepact.json +29 -0
  5. package/dist/inc/internal.telepact.json +258 -0
  6. package/dist/inc/json-schema.json +245 -0
  7. package/dist/inc/mock-internal.telepact.json +157 -0
  8. package/dist/index.cjs.js +5186 -0
  9. package/dist/index.esm.js +5167 -0
  10. package/dist/index.iife.js +5188 -0
  11. package/dist/src/Client.d.ts +20 -0
  12. package/dist/src/Client.js +59 -0
  13. package/dist/src/Client.js.map +1 -0
  14. package/dist/src/DefaultSerialization.d.ts +9 -0
  15. package/dist/src/DefaultSerialization.js +35 -0
  16. package/dist/src/DefaultSerialization.js.map +1 -0
  17. package/dist/src/Message.d.ts +7 -0
  18. package/dist/src/Message.js +32 -0
  19. package/dist/src/Message.js.map +1 -0
  20. package/dist/src/MockServer.d.ts +27 -0
  21. package/dist/src/MockServer.js +68 -0
  22. package/dist/src/MockServer.js.map +1 -0
  23. package/dist/src/MockTelepactSchema.d.ts +17 -0
  24. package/dist/src/MockTelepactSchema.js +45 -0
  25. package/dist/src/MockTelepactSchema.js.map +1 -0
  26. package/dist/src/RandomGenerator.d.ts +15 -0
  27. package/dist/src/RandomGenerator.js +107 -0
  28. package/dist/src/RandomGenerator.js.map +1 -0
  29. package/dist/src/Serialization.d.ts +13 -0
  30. package/dist/src/Serialization.js +17 -0
  31. package/dist/src/Serialization.js.map +1 -0
  32. package/dist/src/SerializationError.d.ts +3 -0
  33. package/dist/src/SerializationError.js +22 -0
  34. package/dist/src/SerializationError.js.map +1 -0
  35. package/dist/src/Serializer.d.ts +15 -0
  36. package/dist/src/Serializer.js +43 -0
  37. package/dist/src/Serializer.js.map +1 -0
  38. package/dist/src/Server.d.ts +22 -0
  39. package/dist/src/Server.js +61 -0
  40. package/dist/src/Server.js.map +1 -0
  41. package/dist/src/TelepactError.d.ts +4 -0
  42. package/dist/src/TelepactError.js +24 -0
  43. package/dist/src/TelepactError.js.map +1 -0
  44. package/dist/src/TelepactSchema.d.ts +21 -0
  45. package/dist/src/TelepactSchema.js +50 -0
  46. package/dist/src/TelepactSchema.js.map +1 -0
  47. package/dist/src/TelepactSchemaFiles.d.ts +5 -0
  48. package/dist/src/TelepactSchemaFiles.js +23 -0
  49. package/dist/src/TelepactSchemaFiles.js.map +1 -0
  50. package/dist/src/TelepactSchemaParseError.d.ts +9 -0
  51. package/dist/src/TelepactSchemaParseError.js +31 -0
  52. package/dist/src/TelepactSchemaParseError.js.map +1 -0
  53. package/dist/src/fileSystem.d.ts +18 -0
  54. package/dist/src/fileSystem.js +17 -0
  55. package/dist/src/fileSystem.js.map +1 -0
  56. package/dist/src/index.d.ts +19 -0
  57. package/dist/src/index.js +35 -0
  58. package/dist/src/index.js.map +1 -0
  59. package/dist/src/internal/ClientHandleMessage.d.ts +3 -0
  60. package/dist/src/internal/ClientHandleMessage.js +52 -0
  61. package/dist/src/internal/ClientHandleMessage.js.map +1 -0
  62. package/dist/src/internal/DeserializeInternal.d.ts +5 -0
  63. package/dist/src/internal/DeserializeInternal.js +65 -0
  64. package/dist/src/internal/DeserializeInternal.js.map +1 -0
  65. package/dist/src/internal/HandleMessage.d.ts +3 -0
  66. package/dist/src/internal/HandleMessage.js +168 -0
  67. package/dist/src/internal/HandleMessage.js.map +1 -0
  68. package/dist/src/internal/ObjectsAreEqual.d.ts +1 -0
  69. package/dist/src/internal/ObjectsAreEqual.js +40 -0
  70. package/dist/src/internal/ObjectsAreEqual.js.map +1 -0
  71. package/dist/src/internal/ParseRequestMessage.d.ts +4 -0
  72. package/dist/src/internal/ParseRequestMessage.js +46 -0
  73. package/dist/src/internal/ParseRequestMessage.js.map +1 -0
  74. package/dist/src/internal/ProcessBytes.d.ts +8 -0
  75. package/dist/src/internal/ProcessBytes.js +47 -0
  76. package/dist/src/internal/ProcessBytes.js.map +1 -0
  77. package/dist/src/internal/SelectStructFields.d.ts +4 -0
  78. package/dist/src/internal/SelectStructFields.js +87 -0
  79. package/dist/src/internal/SelectStructFields.js.map +1 -0
  80. package/dist/src/internal/SerializeInternal.d.ts +5 -0
  81. package/dist/src/internal/SerializeInternal.js +49 -0
  82. package/dist/src/internal/SerializeInternal.js.map +1 -0
  83. package/dist/src/internal/binary/Base64Encoder.d.ts +4 -0
  84. package/dist/src/internal/binary/Base64Encoder.js +18 -0
  85. package/dist/src/internal/binary/Base64Encoder.js.map +1 -0
  86. package/dist/src/internal/binary/Base64Util.d.ts +2 -0
  87. package/dist/src/internal/binary/Base64Util.js +36 -0
  88. package/dist/src/internal/binary/Base64Util.js.map +1 -0
  89. package/dist/src/internal/binary/BinaryEncoder.d.ts +4 -0
  90. package/dist/src/internal/binary/BinaryEncoder.js +18 -0
  91. package/dist/src/internal/binary/BinaryEncoder.js.map +1 -0
  92. package/dist/src/internal/binary/BinaryEncoderUnavailableError.d.ts +2 -0
  93. package/dist/src/internal/binary/BinaryEncoderUnavailableError.js +18 -0
  94. package/dist/src/internal/binary/BinaryEncoderUnavailableError.js.map +1 -0
  95. package/dist/src/internal/binary/BinaryEncoding.d.ts +6 -0
  96. package/dist/src/internal/binary/BinaryEncoding.js +30 -0
  97. package/dist/src/internal/binary/BinaryEncoding.js.map +1 -0
  98. package/dist/src/internal/binary/BinaryEncodingCache.d.ts +7 -0
  99. package/dist/src/internal/binary/BinaryEncodingCache.js +18 -0
  100. package/dist/src/internal/binary/BinaryEncodingCache.js.map +1 -0
  101. package/dist/src/internal/binary/BinaryEncodingMissing.d.ts +3 -0
  102. package/dist/src/internal/binary/BinaryEncodingMissing.js +21 -0
  103. package/dist/src/internal/binary/BinaryEncodingMissing.js.map +1 -0
  104. package/dist/src/internal/binary/BinaryPackNode.d.ts +5 -0
  105. package/dist/src/internal/binary/BinaryPackNode.js +24 -0
  106. package/dist/src/internal/binary/BinaryPackNode.js.map +1 -0
  107. package/dist/src/internal/binary/CannotPack.d.ts +3 -0
  108. package/dist/src/internal/binary/CannotPack.js +22 -0
  109. package/dist/src/internal/binary/CannotPack.js.map +1 -0
  110. package/dist/src/internal/binary/ClientBase64Decode.d.ts +1 -0
  111. package/dist/src/internal/binary/ClientBase64Decode.js +80 -0
  112. package/dist/src/internal/binary/ClientBase64Decode.js.map +1 -0
  113. package/dist/src/internal/binary/ClientBase64Encode.d.ts +1 -0
  114. package/dist/src/internal/binary/ClientBase64Encode.js +43 -0
  115. package/dist/src/internal/binary/ClientBase64Encode.js.map +1 -0
  116. package/dist/src/internal/binary/ClientBase64Encoder.d.ts +5 -0
  117. package/dist/src/internal/binary/ClientBase64Encoder.js +29 -0
  118. package/dist/src/internal/binary/ClientBase64Encoder.js.map +1 -0
  119. package/dist/src/internal/binary/ClientBinaryDecode.d.ts +3 -0
  120. package/dist/src/internal/binary/ClientBinaryDecode.js +42 -0
  121. package/dist/src/internal/binary/ClientBinaryDecode.js.map +1 -0
  122. package/dist/src/internal/binary/ClientBinaryEncode.d.ts +3 -0
  123. package/dist/src/internal/binary/ClientBinaryEncode.js +46 -0
  124. package/dist/src/internal/binary/ClientBinaryEncode.js.map +1 -0
  125. package/dist/src/internal/binary/ClientBinaryEncoder.d.ts +9 -0
  126. package/dist/src/internal/binary/ClientBinaryEncoder.js +33 -0
  127. package/dist/src/internal/binary/ClientBinaryEncoder.js.map +1 -0
  128. package/dist/src/internal/binary/ClientBinaryStrategy.d.ts +15 -0
  129. package/dist/src/internal/binary/ClientBinaryStrategy.js +84 -0
  130. package/dist/src/internal/binary/ClientBinaryStrategy.js.map +1 -0
  131. package/dist/src/internal/binary/ConstructBinaryEncoding.d.ts +3 -0
  132. package/dist/src/internal/binary/ConstructBinaryEncoding.js +85 -0
  133. package/dist/src/internal/binary/ConstructBinaryEncoding.js.map +1 -0
  134. package/dist/src/internal/binary/ConvertMapsToObjects.d.ts +1 -0
  135. package/dist/src/internal/binary/ConvertMapsToObjects.js +42 -0
  136. package/dist/src/internal/binary/ConvertMapsToObjects.js.map +1 -0
  137. package/dist/src/internal/binary/CreateChecksum.d.ts +1 -0
  138. package/dist/src/internal/binary/CreateChecksum.js +21 -0
  139. package/dist/src/internal/binary/CreateChecksum.js.map +1 -0
  140. package/dist/src/internal/binary/DecodeBody.d.ts +2 -0
  141. package/dist/src/internal/binary/DecodeBody.js +20 -0
  142. package/dist/src/internal/binary/DecodeBody.js.map +1 -0
  143. package/dist/src/internal/binary/DecodeKeys.d.ts +2 -0
  144. package/dist/src/internal/binary/DecodeKeys.js +37 -0
  145. package/dist/src/internal/binary/DecodeKeys.js.map +1 -0
  146. package/dist/src/internal/binary/DefaultBinaryEncodingCache.d.ts +10 -0
  147. package/dist/src/internal/binary/DefaultBinaryEncodingCache.js +38 -0
  148. package/dist/src/internal/binary/DefaultBinaryEncodingCache.js.map +1 -0
  149. package/dist/src/internal/binary/EncodeBody.d.ts +2 -0
  150. package/dist/src/internal/binary/EncodeBody.js +20 -0
  151. package/dist/src/internal/binary/EncodeBody.js.map +1 -0
  152. package/dist/src/internal/binary/EncodeKeys.d.ts +2 -0
  153. package/dist/src/internal/binary/EncodeKeys.js +36 -0
  154. package/dist/src/internal/binary/EncodeKeys.js.map +1 -0
  155. package/dist/src/internal/binary/LocalStorageBackedBinaryEncodingCache.d.ts +13 -0
  156. package/dist/src/internal/binary/LocalStorageBackedBinaryEncodingCache.js +65 -0
  157. package/dist/src/internal/binary/LocalStorageBackedBinaryEncodingCache.js.map +1 -0
  158. package/dist/src/internal/binary/Pack.d.ts +1 -0
  159. package/dist/src/internal/binary/Pack.js +32 -0
  160. package/dist/src/internal/binary/Pack.js.map +1 -0
  161. package/dist/src/internal/binary/PackBody.d.ts +1 -0
  162. package/dist/src/internal/binary/PackBody.js +25 -0
  163. package/dist/src/internal/binary/PackBody.js.map +1 -0
  164. package/dist/src/internal/binary/PackList.d.ts +4 -0
  165. package/dist/src/internal/binary/PackList.js +68 -0
  166. package/dist/src/internal/binary/PackList.js.map +1 -0
  167. package/dist/src/internal/binary/PackMap.d.ts +5 -0
  168. package/dist/src/internal/binary/PackMap.js +87 -0
  169. package/dist/src/internal/binary/PackMap.js.map +1 -0
  170. package/dist/src/internal/binary/ServerBase64Decode.d.ts +1 -0
  171. package/dist/src/internal/binary/ServerBase64Decode.js +76 -0
  172. package/dist/src/internal/binary/ServerBase64Decode.js.map +1 -0
  173. package/dist/src/internal/binary/ServerBase64Encode.d.ts +1 -0
  174. package/dist/src/internal/binary/ServerBase64Encode.js +76 -0
  175. package/dist/src/internal/binary/ServerBase64Encode.js.map +1 -0
  176. package/dist/src/internal/binary/ServerBase64Encoder.d.ts +5 -0
  177. package/dist/src/internal/binary/ServerBase64Encoder.js +28 -0
  178. package/dist/src/internal/binary/ServerBase64Encoder.js.map +1 -0
  179. package/dist/src/internal/binary/ServerBinaryDecode.d.ts +2 -0
  180. package/dist/src/internal/binary/ServerBinaryDecode.js +39 -0
  181. package/dist/src/internal/binary/ServerBinaryDecode.js.map +1 -0
  182. package/dist/src/internal/binary/ServerBinaryEncode.d.ts +2 -0
  183. package/dist/src/internal/binary/ServerBinaryEncode.js +42 -0
  184. package/dist/src/internal/binary/ServerBinaryEncode.js.map +1 -0
  185. package/dist/src/internal/binary/ServerBinaryEncoder.d.ts +8 -0
  186. package/dist/src/internal/binary/ServerBinaryEncoder.js +30 -0
  187. package/dist/src/internal/binary/ServerBinaryEncoder.js.map +1 -0
  188. package/dist/src/internal/binary/Unpack.d.ts +1 -0
  189. package/dist/src/internal/binary/Unpack.js +32 -0
  190. package/dist/src/internal/binary/Unpack.js.map +1 -0
  191. package/dist/src/internal/binary/UnpackBody.d.ts +1 -0
  192. package/dist/src/internal/binary/UnpackBody.js +25 -0
  193. package/dist/src/internal/binary/UnpackBody.js.map +1 -0
  194. package/dist/src/internal/binary/UnpackList.d.ts +1 -0
  195. package/dist/src/internal/binary/UnpackList.js +39 -0
  196. package/dist/src/internal/binary/UnpackList.js.map +1 -0
  197. package/dist/src/internal/binary/UnpackMap.d.ts +1 -0
  198. package/dist/src/internal/binary/UnpackMap.js +40 -0
  199. package/dist/src/internal/binary/UnpackMap.js.map +1 -0
  200. package/dist/src/internal/generation/GenerateContext.d.ts +16 -0
  201. package/dist/src/internal/generation/GenerateContext.js +33 -0
  202. package/dist/src/internal/generation/GenerateContext.js.map +1 -0
  203. package/dist/src/internal/generation/GenerateRandomAny.d.ts +2 -0
  204. package/dist/src/internal/generation/GenerateRandomAny.js +28 -0
  205. package/dist/src/internal/generation/GenerateRandomAny.js.map +1 -0
  206. package/dist/src/internal/generation/GenerateRandomArray.d.ts +3 -0
  207. package/dist/src/internal/generation/GenerateRandomArray.js +37 -0
  208. package/dist/src/internal/generation/GenerateRandomArray.js.map +1 -0
  209. package/dist/src/internal/generation/GenerateRandomBoolean.d.ts +2 -0
  210. package/dist/src/internal/generation/GenerateRandomBoolean.js +24 -0
  211. package/dist/src/internal/generation/GenerateRandomBoolean.js.map +1 -0
  212. package/dist/src/internal/generation/GenerateRandomBytes.d.ts +2 -0
  213. package/dist/src/internal/generation/GenerateRandomBytes.js +24 -0
  214. package/dist/src/internal/generation/GenerateRandomBytes.js.map +1 -0
  215. package/dist/src/internal/generation/GenerateRandomInteger.d.ts +2 -0
  216. package/dist/src/internal/generation/GenerateRandomInteger.js +24 -0
  217. package/dist/src/internal/generation/GenerateRandomInteger.js.map +1 -0
  218. package/dist/src/internal/generation/GenerateRandomMockCall.d.ts +5 -0
  219. package/dist/src/internal/generation/GenerateRandomMockCall.js +26 -0
  220. package/dist/src/internal/generation/GenerateRandomMockCall.js.map +1 -0
  221. package/dist/src/internal/generation/GenerateRandomMockStub.d.ts +5 -0
  222. package/dist/src/internal/generation/GenerateRandomMockStub.js +38 -0
  223. package/dist/src/internal/generation/GenerateRandomMockStub.js.map +1 -0
  224. package/dist/src/internal/generation/GenerateRandomNumber.d.ts +2 -0
  225. package/dist/src/internal/generation/GenerateRandomNumber.js +24 -0
  226. package/dist/src/internal/generation/GenerateRandomNumber.js.map +1 -0
  227. package/dist/src/internal/generation/GenerateRandomObject.d.ts +3 -0
  228. package/dist/src/internal/generation/GenerateRandomObject.js +38 -0
  229. package/dist/src/internal/generation/GenerateRandomObject.js.map +1 -0
  230. package/dist/src/internal/generation/GenerateRandomSelect.d.ts +2 -0
  231. package/dist/src/internal/generation/GenerateRandomSelect.js +49 -0
  232. package/dist/src/internal/generation/GenerateRandomSelect.js.map +1 -0
  233. package/dist/src/internal/generation/GenerateRandomString.d.ts +2 -0
  234. package/dist/src/internal/generation/GenerateRandomString.js +24 -0
  235. package/dist/src/internal/generation/GenerateRandomString.js.map +1 -0
  236. package/dist/src/internal/generation/GenerateRandomStruct.d.ts +5 -0
  237. package/dist/src/internal/generation/GenerateRandomStruct.js +60 -0
  238. package/dist/src/internal/generation/GenerateRandomStruct.js.map +1 -0
  239. package/dist/src/internal/generation/GenerateRandomUnion.d.ts +5 -0
  240. package/dist/src/internal/generation/GenerateRandomUnion.js +35 -0
  241. package/dist/src/internal/generation/GenerateRandomUnion.js.map +1 -0
  242. package/dist/src/internal/generation/GenerateRandomValueOfType.d.ts +4 -0
  243. package/dist/src/internal/generation/GenerateRandomValueOfType.js +24 -0
  244. package/dist/src/internal/generation/GenerateRandomValueOfType.js.map +1 -0
  245. package/dist/src/internal/mock/IsSubMap.d.ts +1 -0
  246. package/dist/src/internal/mock/IsSubMap.js +28 -0
  247. package/dist/src/internal/mock/IsSubMap.js.map +1 -0
  248. package/dist/src/internal/mock/IsSubMapEntryEqual.d.ts +1 -0
  249. package/dist/src/internal/mock/IsSubMapEntryEqual.js +37 -0
  250. package/dist/src/internal/mock/IsSubMapEntryEqual.js.map +1 -0
  251. package/dist/src/internal/mock/MockHandle.d.ts +6 -0
  252. package/dist/src/internal/mock/MockHandle.js +121 -0
  253. package/dist/src/internal/mock/MockHandle.js.map +1 -0
  254. package/dist/src/internal/mock/MockInvocation.d.ts +6 -0
  255. package/dist/src/internal/mock/MockInvocation.js +26 -0
  256. package/dist/src/internal/mock/MockInvocation.js.map +1 -0
  257. package/dist/src/internal/mock/MockStub.d.ts +8 -0
  258. package/dist/src/internal/mock/MockStub.js +30 -0
  259. package/dist/src/internal/mock/MockStub.js.map +1 -0
  260. package/dist/src/internal/mock/PartiallyMatches.d.ts +1 -0
  261. package/dist/src/internal/mock/PartiallyMatches.js +25 -0
  262. package/dist/src/internal/mock/PartiallyMatches.js.map +1 -0
  263. package/dist/src/internal/mock/Verify.d.ts +8 -0
  264. package/dist/src/internal/mock/Verify.js +94 -0
  265. package/dist/src/internal/mock/Verify.js.map +1 -0
  266. package/dist/src/internal/mock/VerifyNoMoreInteractions.d.ts +4 -0
  267. package/dist/src/internal/mock/VerifyNoMoreInteractions.js +30 -0
  268. package/dist/src/internal/mock/VerifyNoMoreInteractions.js.map +1 -0
  269. package/dist/src/internal/schema/ApplyErrorToParsedTypes.d.ts +13 -0
  270. package/dist/src/internal/schema/ApplyErrorToParsedTypes.js +61 -0
  271. package/dist/src/internal/schema/ApplyErrorToParsedTypes.js.map +1 -0
  272. package/dist/src/internal/schema/CatchErrorCollisions.d.ts +1 -0
  273. package/dist/src/internal/schema/CatchErrorCollisions.js +73 -0
  274. package/dist/src/internal/schema/CatchErrorCollisions.js.map +1 -0
  275. package/dist/src/internal/schema/CatchHeaderCollisions.d.ts +1 -0
  276. package/dist/src/internal/schema/CatchHeaderCollisions.js +74 -0
  277. package/dist/src/internal/schema/CatchHeaderCollisions.js.map +1 -0
  278. package/dist/src/internal/schema/CreateMockTelepactSchemaFromFileJsonMap.d.ts +2 -0
  279. package/dist/src/internal/schema/CreateMockTelepactSchemaFromFileJsonMap.js +25 -0
  280. package/dist/src/internal/schema/CreateMockTelepactSchemaFromFileJsonMap.js.map +1 -0
  281. package/dist/src/internal/schema/CreateTelepactSchemaFromFileJsonMap.d.ts +2 -0
  282. package/dist/src/internal/schema/CreateTelepactSchemaFromFileJsonMap.js +33 -0
  283. package/dist/src/internal/schema/CreateTelepactSchemaFromFileJsonMap.js.map +1 -0
  284. package/dist/src/internal/schema/DerivePossibleSelect.d.ts +2 -0
  285. package/dist/src/internal/schema/DerivePossibleSelect.js +87 -0
  286. package/dist/src/internal/schema/DerivePossibleSelect.js.map +1 -0
  287. package/dist/src/internal/schema/FindMatchingSchemaKey.d.ts +1 -0
  288. package/dist/src/internal/schema/FindMatchingSchemaKey.js +27 -0
  289. package/dist/src/internal/schema/FindMatchingSchemaKey.js.map +1 -0
  290. package/dist/src/internal/schema/FindSchemaKey.d.ts +1 -0
  291. package/dist/src/internal/schema/FindSchemaKey.js +40 -0
  292. package/dist/src/internal/schema/FindSchemaKey.js.map +1 -0
  293. package/dist/src/internal/schema/GetAuthTelepactJson.d.ts +1 -0
  294. package/dist/src/internal/schema/GetAuthTelepactJson.js +20 -0
  295. package/dist/src/internal/schema/GetAuthTelepactJson.js.map +1 -0
  296. package/dist/src/internal/schema/GetInternalTelepactJson.d.ts +1 -0
  297. package/dist/src/internal/schema/GetInternalTelepactJson.js +20 -0
  298. package/dist/src/internal/schema/GetInternalTelepactJson.js.map +1 -0
  299. package/dist/src/internal/schema/GetMockTelepactJson.d.ts +1 -0
  300. package/dist/src/internal/schema/GetMockTelepactJson.js +20 -0
  301. package/dist/src/internal/schema/GetMockTelepactJson.js.map +1 -0
  302. package/dist/src/internal/schema/GetOrParseType.d.ts +3 -0
  303. package/dist/src/internal/schema/GetOrParseType.js +108 -0
  304. package/dist/src/internal/schema/GetOrParseType.js.map +1 -0
  305. package/dist/src/internal/schema/GetPathDocumentCoordinatesPseudoJson.d.ts +7 -0
  306. package/dist/src/internal/schema/GetPathDocumentCoordinatesPseudoJson.js +218 -0
  307. package/dist/src/internal/schema/GetPathDocumentCoordinatesPseudoJson.js.map +1 -0
  308. package/dist/src/internal/schema/GetSchemaFileMap.d.ts +2 -0
  309. package/dist/src/internal/schema/GetSchemaFileMap.js +40 -0
  310. package/dist/src/internal/schema/GetSchemaFileMap.js.map +1 -0
  311. package/dist/src/internal/schema/GetTypeUnexpectedParseFailure.d.ts +2 -0
  312. package/dist/src/internal/schema/GetTypeUnexpectedParseFailure.js +26 -0
  313. package/dist/src/internal/schema/GetTypeUnexpectedParseFailure.js.map +1 -0
  314. package/dist/src/internal/schema/MapSchemaParseFailuresToPseudoJson.d.ts +2 -0
  315. package/dist/src/internal/schema/MapSchemaParseFailuresToPseudoJson.js +31 -0
  316. package/dist/src/internal/schema/MapSchemaParseFailuresToPseudoJson.js.map +1 -0
  317. package/dist/src/internal/schema/ParseContext.d.ts +41 -0
  318. package/dist/src/internal/schema/ParseContext.js +41 -0
  319. package/dist/src/internal/schema/ParseContext.js.map +1 -0
  320. package/dist/src/internal/schema/ParseErrorType.d.ts +5 -0
  321. package/dist/src/internal/schema/ParseErrorType.js +35 -0
  322. package/dist/src/internal/schema/ParseErrorType.js.map +1 -0
  323. package/dist/src/internal/schema/ParseField.d.ts +3 -0
  324. package/dist/src/internal/schema/ParseField.js +36 -0
  325. package/dist/src/internal/schema/ParseField.js.map +1 -0
  326. package/dist/src/internal/schema/ParseFunctionType.d.ts +8 -0
  327. package/dist/src/internal/schema/ParseFunctionType.js +75 -0
  328. package/dist/src/internal/schema/ParseFunctionType.js.map +1 -0
  329. package/dist/src/internal/schema/ParseHeadersType.d.ts +5 -0
  330. package/dist/src/internal/schema/ParseHeadersType.js +92 -0
  331. package/dist/src/internal/schema/ParseHeadersType.js.map +1 -0
  332. package/dist/src/internal/schema/ParseStructFields.d.ts +7 -0
  333. package/dist/src/internal/schema/ParseStructFields.js +58 -0
  334. package/dist/src/internal/schema/ParseStructFields.js.map +1 -0
  335. package/dist/src/internal/schema/ParseStructType.d.ts +5 -0
  336. package/dist/src/internal/schema/ParseStructType.js +53 -0
  337. package/dist/src/internal/schema/ParseStructType.js.map +1 -0
  338. package/dist/src/internal/schema/ParseTelepactSchema.d.ts +2 -0
  339. package/dist/src/internal/schema/ParseTelepactSchema.js +257 -0
  340. package/dist/src/internal/schema/ParseTelepactSchema.js.map +1 -0
  341. package/dist/src/internal/schema/ParseTypeDeclaration.d.ts +2 -0
  342. package/dist/src/internal/schema/ParseTypeDeclaration.js +84 -0
  343. package/dist/src/internal/schema/ParseTypeDeclaration.js.map +1 -0
  344. package/dist/src/internal/schema/ParseUnionType.d.ts +5 -0
  345. package/dist/src/internal/schema/ParseUnionType.js +138 -0
  346. package/dist/src/internal/schema/ParseUnionType.js.map +1 -0
  347. package/dist/src/internal/schema/SchemaParseFailure.d.ts +8 -0
  348. package/dist/src/internal/schema/SchemaParseFailure.js +29 -0
  349. package/dist/src/internal/schema/SchemaParseFailure.js.map +1 -0
  350. package/dist/src/internal/types/GetType.d.ts +1 -0
  351. package/dist/src/internal/types/GetType.js +39 -0
  352. package/dist/src/internal/types/GetType.js.map +1 -0
  353. package/dist/src/internal/types/TAny.d.ts +11 -0
  354. package/dist/src/internal/types/TAny.js +33 -0
  355. package/dist/src/internal/types/TAny.js.map +1 -0
  356. package/dist/src/internal/types/TArray.d.ts +12 -0
  357. package/dist/src/internal/types/TArray.js +34 -0
  358. package/dist/src/internal/types/TArray.js.map +1 -0
  359. package/dist/src/internal/types/TBoolean.d.ts +12 -0
  360. package/dist/src/internal/types/TBoolean.js +34 -0
  361. package/dist/src/internal/types/TBoolean.js.map +1 -0
  362. package/dist/src/internal/types/TBytes.d.ts +12 -0
  363. package/dist/src/internal/types/TBytes.js +34 -0
  364. package/dist/src/internal/types/TBytes.js.map +1 -0
  365. package/dist/src/internal/types/TError.d.ts +6 -0
  366. package/dist/src/internal/types/TError.js +24 -0
  367. package/dist/src/internal/types/TError.js.map +1 -0
  368. package/dist/src/internal/types/TFieldDeclaration.d.ts +7 -0
  369. package/dist/src/internal/types/TFieldDeclaration.js +26 -0
  370. package/dist/src/internal/types/TFieldDeclaration.js.map +1 -0
  371. package/dist/src/internal/types/THeaders.d.ts +15 -0
  372. package/dist/src/internal/types/THeaders.js +26 -0
  373. package/dist/src/internal/types/THeaders.js.map +1 -0
  374. package/dist/src/internal/types/TInteger.d.ts +12 -0
  375. package/dist/src/internal/types/TInteger.js +34 -0
  376. package/dist/src/internal/types/TInteger.js.map +1 -0
  377. package/dist/src/internal/types/TMockCall.d.ts +16 -0
  378. package/dist/src/internal/types/TMockCall.js +39 -0
  379. package/dist/src/internal/types/TMockCall.js.map +1 -0
  380. package/dist/src/internal/types/TMockStub.d.ts +18 -0
  381. package/dist/src/internal/types/TMockStub.js +39 -0
  382. package/dist/src/internal/types/TMockStub.js.map +1 -0
  383. package/dist/src/internal/types/TNumber.d.ts +12 -0
  384. package/dist/src/internal/types/TNumber.js +34 -0
  385. package/dist/src/internal/types/TNumber.js.map +1 -0
  386. package/dist/src/internal/types/TObject.d.ts +12 -0
  387. package/dist/src/internal/types/TObject.js +33 -0
  388. package/dist/src/internal/types/TObject.js.map +1 -0
  389. package/dist/src/internal/types/TSelect.d.ts +13 -0
  390. package/dist/src/internal/types/TSelect.js +34 -0
  391. package/dist/src/internal/types/TSelect.js.map +1 -0
  392. package/dist/src/internal/types/TString.d.ts +12 -0
  393. package/dist/src/internal/types/TString.js +34 -0
  394. package/dist/src/internal/types/TString.js.map +1 -0
  395. package/dist/src/internal/types/TStruct.d.ts +20 -0
  396. package/dist/src/internal/types/TStruct.js +39 -0
  397. package/dist/src/internal/types/TStruct.js.map +1 -0
  398. package/dist/src/internal/types/TType.d.ts +10 -0
  399. package/dist/src/internal/types/TType.js +18 -0
  400. package/dist/src/internal/types/TType.js.map +1 -0
  401. package/dist/src/internal/types/TTypeDeclaration.d.ts +12 -0
  402. package/dist/src/internal/types/TTypeDeclaration.js +34 -0
  403. package/dist/src/internal/types/TTypeDeclaration.js.map +1 -0
  404. package/dist/src/internal/types/TUnion.d.ts +25 -0
  405. package/dist/src/internal/types/TUnion.js +41 -0
  406. package/dist/src/internal/types/TUnion.js.map +1 -0
  407. package/dist/src/internal/validation/GetInvalidErrorMessage.d.ts +6 -0
  408. package/dist/src/internal/validation/GetInvalidErrorMessage.js +29 -0
  409. package/dist/src/internal/validation/GetInvalidErrorMessage.js.map +1 -0
  410. package/dist/src/internal/validation/GetTypeUnexpectedValidationFailure.d.ts +2 -0
  411. package/dist/src/internal/validation/GetTypeUnexpectedValidationFailure.js +26 -0
  412. package/dist/src/internal/validation/GetTypeUnexpectedValidationFailure.js.map +1 -0
  413. package/dist/src/internal/validation/InvalidMessage.d.ts +3 -0
  414. package/dist/src/internal/validation/InvalidMessage.js +21 -0
  415. package/dist/src/internal/validation/InvalidMessage.js.map +1 -0
  416. package/dist/src/internal/validation/InvalidMessageBody.d.ts +2 -0
  417. package/dist/src/internal/validation/InvalidMessageBody.js +18 -0
  418. package/dist/src/internal/validation/InvalidMessageBody.js.map +1 -0
  419. package/dist/src/internal/validation/MapValidationFailuresToInvalidFieldCases.d.ts +2 -0
  420. package/dist/src/internal/validation/MapValidationFailuresToInvalidFieldCases.js +27 -0
  421. package/dist/src/internal/validation/MapValidationFailuresToInvalidFieldCases.js.map +1 -0
  422. package/dist/src/internal/validation/ValidateArray.d.ts +4 -0
  423. package/dist/src/internal/validation/ValidateArray.js +42 -0
  424. package/dist/src/internal/validation/ValidateArray.js.map +1 -0
  425. package/dist/src/internal/validation/ValidateBoolean.d.ts +2 -0
  426. package/dist/src/internal/validation/ValidateBoolean.js +26 -0
  427. package/dist/src/internal/validation/ValidateBoolean.js.map +1 -0
  428. package/dist/src/internal/validation/ValidateBytes.d.ts +3 -0
  429. package/dist/src/internal/validation/ValidateBytes.js +56 -0
  430. package/dist/src/internal/validation/ValidateBytes.js.map +1 -0
  431. package/dist/src/internal/validation/ValidateContext.d.ts +13 -0
  432. package/dist/src/internal/validation/ValidateContext.js +32 -0
  433. package/dist/src/internal/validation/ValidateContext.js.map +1 -0
  434. package/dist/src/internal/validation/ValidateHeaders.d.ts +3 -0
  435. package/dist/src/internal/validation/ValidateHeaders.js +34 -0
  436. package/dist/src/internal/validation/ValidateHeaders.js.map +1 -0
  437. package/dist/src/internal/validation/ValidateInteger.d.ts +2 -0
  438. package/dist/src/internal/validation/ValidateInteger.js +33 -0
  439. package/dist/src/internal/validation/ValidateInteger.js.map +1 -0
  440. package/dist/src/internal/validation/ValidateMockCall.d.ts +4 -0
  441. package/dist/src/internal/validation/ValidateMockCall.js +50 -0
  442. package/dist/src/internal/validation/ValidateMockCall.js.map +1 -0
  443. package/dist/src/internal/validation/ValidateMockStub.d.ts +6 -0
  444. package/dist/src/internal/validation/ValidateMockStub.js +73 -0
  445. package/dist/src/internal/validation/ValidateMockStub.js.map +1 -0
  446. package/dist/src/internal/validation/ValidateNumber.d.ts +2 -0
  447. package/dist/src/internal/validation/ValidateNumber.js +33 -0
  448. package/dist/src/internal/validation/ValidateNumber.js.map +1 -0
  449. package/dist/src/internal/validation/ValidateObject.d.ts +4 -0
  450. package/dist/src/internal/validation/ValidateObject.js +40 -0
  451. package/dist/src/internal/validation/ValidateObject.js.map +1 -0
  452. package/dist/src/internal/validation/ValidateResult.d.ts +2 -0
  453. package/dist/src/internal/validation/ValidateResult.js +25 -0
  454. package/dist/src/internal/validation/ValidateResult.js.map +1 -0
  455. package/dist/src/internal/validation/ValidateSelect.d.ts +3 -0
  456. package/dist/src/internal/validation/ValidateSelect.js +56 -0
  457. package/dist/src/internal/validation/ValidateSelect.js.map +1 -0
  458. package/dist/src/internal/validation/ValidateString.d.ts +2 -0
  459. package/dist/src/internal/validation/ValidateString.js +26 -0
  460. package/dist/src/internal/validation/ValidateString.js.map +1 -0
  461. package/dist/src/internal/validation/ValidateStruct.d.ts +4 -0
  462. package/dist/src/internal/validation/ValidateStruct.js +28 -0
  463. package/dist/src/internal/validation/ValidateStruct.js.map +1 -0
  464. package/dist/src/internal/validation/ValidateStructFields.d.ts +4 -0
  465. package/dist/src/internal/validation/ValidateStructFields.js +53 -0
  466. package/dist/src/internal/validation/ValidateStructFields.js.map +1 -0
  467. package/dist/src/internal/validation/ValidateUnion.d.ts +4 -0
  468. package/dist/src/internal/validation/ValidateUnion.js +34 -0
  469. package/dist/src/internal/validation/ValidateUnion.js.map +1 -0
  470. package/dist/src/internal/validation/ValidateUnionStruct.d.ts +4 -0
  471. package/dist/src/internal/validation/ValidateUnionStruct.js +24 -0
  472. package/dist/src/internal/validation/ValidateUnionStruct.js.map +1 -0
  473. package/dist/src/internal/validation/ValidateUnionTags.d.ts +4 -0
  474. package/dist/src/internal/validation/ValidateUnionTags.js +46 -0
  475. package/dist/src/internal/validation/ValidateUnionTags.js.map +1 -0
  476. package/dist/src/internal/validation/ValidateValueOfType.d.ts +5 -0
  477. package/dist/src/internal/validation/ValidateValueOfType.js +28 -0
  478. package/dist/src/internal/validation/ValidateValueOfType.js.map +1 -0
  479. package/dist/src/internal/validation/ValidationFailure.d.ts +6 -0
  480. package/dist/src/internal/validation/ValidationFailure.js +26 -0
  481. package/dist/src/internal/validation/ValidationFailure.js.map +1 -0
  482. package/package.json +57 -0
@@ -0,0 +1,84 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ export class Checksum {
17
+ value;
18
+ expiration;
19
+ constructor(value, expiration) {
20
+ this.value = value;
21
+ this.expiration = expiration;
22
+ }
23
+ }
24
+ export class ClientBinaryStrategy {
25
+ primary = null;
26
+ secondary = null;
27
+ lastUpdate = new Date();
28
+ binaryEncodingCache;
29
+ constructor(binaryEncodingCache) {
30
+ this.binaryEncodingCache = binaryEncodingCache;
31
+ const initialChecksums = binaryEncodingCache.getChecksums();
32
+ const randomPrimary = initialChecksums[0];
33
+ const randomSecondary = initialChecksums[1];
34
+ if (randomPrimary) {
35
+ this.primary = new Checksum(randomPrimary, 0);
36
+ }
37
+ if (randomSecondary) {
38
+ this.secondary = new Checksum(randomSecondary, 0);
39
+ }
40
+ }
41
+ updateChecksum(newChecksum) {
42
+ if (!this.primary) {
43
+ this.primary = new Checksum(newChecksum, 0);
44
+ return;
45
+ }
46
+ if (this.primary.value !== newChecksum) {
47
+ let expiredChecksum = this.secondary;
48
+ this.secondary = this.primary;
49
+ this.primary = new Checksum(newChecksum, 0);
50
+ if (this.secondary) {
51
+ this.secondary.expiration += 1;
52
+ }
53
+ if (expiredChecksum) {
54
+ this.binaryEncodingCache.remove(expiredChecksum.value);
55
+ }
56
+ return;
57
+ }
58
+ this.lastUpdate = new Date();
59
+ }
60
+ getCurrentChecksums() {
61
+ if (!this.primary) {
62
+ return [];
63
+ }
64
+ else if (!this.secondary) {
65
+ return [this.primary.value];
66
+ }
67
+ else {
68
+ const minutesSinceLastUpdate = (Date.now() - this.lastUpdate.getTime()) / (1000 * 60);
69
+ // Every 10 minute interval of non-use is a penalty point
70
+ const penalty = Math.floor(minutesSinceLastUpdate / 10) + 1;
71
+ if (this.secondary) {
72
+ this.secondary.expiration += 1 * penalty;
73
+ }
74
+ if (this.secondary && this.secondary.expiration > 5) {
75
+ this.secondary = null;
76
+ return [this.primary.value];
77
+ }
78
+ else {
79
+ return [this.primary.value, this.secondary.value];
80
+ }
81
+ }
82
+ }
83
+ }
84
+ //# sourceMappingURL=ClientBinaryStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientBinaryStrategy.js","sourceRoot":"","sources":["../../../../src/internal/binary/ClientBinaryStrategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TelepactSchema } from '../../TelepactSchema';
2
+ import { BinaryEncoding } from '../../internal/binary/BinaryEncoding';
3
+ export declare function constructBinaryEncoding(telepactSchema: TelepactSchema): BinaryEncoding;
@@ -0,0 +1,85 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ import { BinaryEncoding } from '../../internal/binary/BinaryEncoding';
17
+ import { createChecksum } from '../../internal/binary/CreateChecksum';
18
+ import { TUnion } from '../types/TUnion';
19
+ import { TStruct } from '../types/TStruct';
20
+ import { TArray } from '../types/TArray';
21
+ import { TObject } from '../types/TObject';
22
+ function traceType(typeDeclaration) {
23
+ const thisAllKeys = [];
24
+ if (typeDeclaration.type instanceof TArray) {
25
+ const theseKeys2 = traceType(typeDeclaration.typeParameters[0]);
26
+ thisAllKeys.push(...theseKeys2);
27
+ }
28
+ else if (typeDeclaration.type instanceof TObject) {
29
+ const theseKeys2 = traceType(typeDeclaration.typeParameters[0]);
30
+ thisAllKeys.push(...theseKeys2);
31
+ }
32
+ else if (typeDeclaration.type instanceof TStruct) {
33
+ const structFields = typeDeclaration.type.fields;
34
+ for (const [structFieldKey, structField] of Object.entries(structFields)) {
35
+ thisAllKeys.push(structFieldKey);
36
+ const moreKeys = traceType(structField.typeDeclaration);
37
+ thisAllKeys.push(...moreKeys);
38
+ }
39
+ }
40
+ else if (typeDeclaration.type instanceof TUnion) {
41
+ const unionTags = typeDeclaration.type.tags;
42
+ for (const [tagKey, tagValue] of Object.entries(unionTags)) {
43
+ thisAllKeys.push(tagKey);
44
+ const structFields = tagValue.fields;
45
+ for (const [structFieldKey, structField] of Object.entries(structFields)) {
46
+ thisAllKeys.push(structFieldKey);
47
+ const moreKeys = traceType(structField.typeDeclaration);
48
+ thisAllKeys.push(...moreKeys);
49
+ }
50
+ }
51
+ }
52
+ return thisAllKeys;
53
+ }
54
+ export function constructBinaryEncoding(telepactSchema) {
55
+ const allKeys = new Set();
56
+ for (const [key, value] of Object.entries(telepactSchema.parsed)) {
57
+ if (key.endsWith('.->') && value instanceof TUnion) {
58
+ const result = value.tags['Ok_'];
59
+ allKeys.add('Ok_');
60
+ Object.entries(result.fields).forEach(([fieldKey, field]) => {
61
+ allKeys.add(fieldKey);
62
+ const keys = traceType(field.typeDeclaration);
63
+ keys.forEach((key) => allKeys.add(key));
64
+ });
65
+ }
66
+ else if (key.startsWith('fn.') && value instanceof TUnion) {
67
+ allKeys.add(key);
68
+ const args = value.tags[key];
69
+ Object.entries(args.fields).forEach(([fieldKey, field]) => {
70
+ allKeys.add(fieldKey);
71
+ const keys = traceType(field.typeDeclaration);
72
+ keys.forEach((key) => allKeys.add(key));
73
+ });
74
+ }
75
+ }
76
+ const sortedAllKeys = Array.from(allKeys).sort();
77
+ const binaryEncoding = new Map();
78
+ sortedAllKeys.forEach((key, index) => {
79
+ binaryEncoding.set(key, index);
80
+ });
81
+ const finalString = sortedAllKeys.join('\n');
82
+ const checksum = createChecksum(finalString);
83
+ return new BinaryEncoding(binaryEncoding, checksum);
84
+ }
85
+ //# sourceMappingURL=ConstructBinaryEncoding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConstructBinaryEncoding.js","sourceRoot":"","sources":["../../../../src/internal/binary/ConstructBinaryEncoding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function convertMapsToObjects(value: any): any;
@@ -0,0 +1,42 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ export function convertMapsToObjects(value) {
17
+ if (value instanceof Map) {
18
+ const newObj = {};
19
+ for (const [key, val] of value.entries()) {
20
+ newObj[key] = convertMapsToObjects(val);
21
+ }
22
+ return newObj;
23
+ }
24
+ else if (Array.isArray(value)) {
25
+ const newList = [];
26
+ for (const val of value) {
27
+ const newVal = convertMapsToObjects(val);
28
+ newList.push(newVal);
29
+ }
30
+ return newList;
31
+ }
32
+ else if (typeof value == 'object' && value !== null) {
33
+ const newObj = {};
34
+ for (const [key, val] of Object.entries(value)) {
35
+ newObj[key] = convertMapsToObjects(val);
36
+ }
37
+ }
38
+ else {
39
+ return value;
40
+ }
41
+ }
42
+ //# sourceMappingURL=ConvertMapsToObjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConvertMapsToObjects.js","sourceRoot":"","sources":["../../../../src/internal/binary/ConvertMapsToObjects.ts"],"names":[],"mappings":"AAAA,GAAG;AACH,mCAAmC;AACnC,GAAG;AACH,oEAAoE;AACpE,qEAAqE;AACrE,4CAA4C;AAC5C,GAAG;AACH,gDAAgD;AAChD,GAAG;AACH,wEAAwE;AACxE,sEAAsE;AACtE,6EAA6E;AAC7E,wEAAwE;AACxE,mCAAmC;AACnC,GAAG;AAEH,MAAM,UAAU,oBAAoB,CAAC,KAAU;IAC3C,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAU,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;SAAM,IAAI,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function createChecksum(value: string): number;
@@ -0,0 +1,21 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ import crc32 from 'crc-32';
17
+ export function createChecksum(value) {
18
+ const checksum = crc32.str(value);
19
+ return checksum | 0;
20
+ }
21
+ //# sourceMappingURL=CreateChecksum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateChecksum.js","sourceRoot":"","sources":["../../../../src/internal/binary/CreateChecksum.ts"],"names":[],"mappings":"AAAA,GAAG;AACH,mCAAmC;AACnC,GAAG;AACH,oEAAoE;AACpE,qEAAqE;AACrE,4CAA4C;AAC5C,GAAG;AACH,gDAAgD;AAChD,GAAG;AACH,wEAAwE;AACxE,sEAAsE;AACtE,6EAA6E;AAC7E,wEAAwE;AACxE,mCAAmC;AACnC,GAAG;AAEH,OAAO,KAAK,MAAM,QAAQ,CAAC;AAE3B,MAAM,UAAU,cAAc,CAAC,KAAa;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,QAAQ,GAAG,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { BinaryEncoding } from '../../internal/binary/BinaryEncoding';
2
+ export declare function decodeBody(encodedMessageBody: Map<any, any>, binaryEncoder: BinaryEncoding): Record<string, any>;
@@ -0,0 +1,20 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ import { decodeKeys } from '../../internal/binary/DecodeKeys';
17
+ export function decodeBody(encodedMessageBody, binaryEncoder) {
18
+ return decodeKeys(encodedMessageBody, binaryEncoder);
19
+ }
20
+ //# sourceMappingURL=DecodeBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecodeBody.js","sourceRoot":"","sources":["../../../../src/internal/binary/DecodeBody.ts"],"names":[],"mappings":"AAAA,GAAG;AACH,mCAAmC;AACnC,GAAG;AACH,oEAAoE;AACpE,qEAAqE;AACrE,4CAA4C;AAC5C,GAAG;AACH,gDAAgD;AAChD,GAAG;AACH,wEAAwE;AACxE,sEAAsE;AACtE,6EAA6E;AAC7E,wEAAwE;AACxE,mCAAmC;AACnC,GAAG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,UAAU,UAAU,CAAC,kBAAiC,EAAE,aAA6B;IACvF,OAAO,UAAU,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { BinaryEncoding } from '../../internal/binary/BinaryEncoding';
2
+ export declare function decodeKeys(given: any, binaryEncoder: BinaryEncoding): any;
@@ -0,0 +1,37 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ import { BinaryEncodingMissing } from '../../internal/binary/BinaryEncodingMissing';
17
+ export function decodeKeys(given, binaryEncoder) {
18
+ if (given instanceof Map) {
19
+ const newMap = {};
20
+ for (const [key, value] of given.entries()) {
21
+ const finalKey = typeof key === 'string' ? key : binaryEncoder.decodeMap.get(key);
22
+ if (finalKey === undefined) {
23
+ throw new BinaryEncodingMissing(key);
24
+ }
25
+ const decodedValue = decodeKeys(value, binaryEncoder);
26
+ newMap[finalKey] = decodedValue;
27
+ }
28
+ return newMap;
29
+ }
30
+ else if (Array.isArray(given)) {
31
+ return given.map((value) => decodeKeys(value, binaryEncoder));
32
+ }
33
+ else {
34
+ return given;
35
+ }
36
+ }
37
+ //# sourceMappingURL=DecodeKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecodeKeys.js","sourceRoot":"","sources":["../../../../src/internal/binary/DecodeKeys.ts"],"names":[],"mappings":"AAAA,GAAG;AACH,mCAAmC;AACnC,GAAG;AACH,oEAAoE;AACpE,qEAAqE;AACrE,4CAA4C;AAC5C,GAAG;AACH,gDAAgD;AAChD,GAAG;AACH,wEAAwE;AACxE,sEAAsE;AACtE,6EAA6E;AAC7E,wEAAwE;AACxE,mCAAmC;AACnC,GAAG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEpF,MAAM,UAAU,UAAU,CAAC,KAAU,EAAE,aAA6B;IAChE,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAElF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;YAED,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACtD,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;QACpC,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACJ,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { BinaryEncodingCache } from "../../internal/binary/BinaryEncodingCache";
2
+ import { BinaryEncoding } from "./BinaryEncoding";
3
+ export declare class DefaultBinaryEncodingCache extends BinaryEncodingCache {
4
+ private recentBinaryEncoders;
5
+ constructor();
6
+ add(checksum: number, binaryEncodingMap: Map<string, number>): void;
7
+ get(checksum: number): BinaryEncoding | undefined;
8
+ remove(checksum: number): void;
9
+ getChecksums(): number[];
10
+ }
@@ -0,0 +1,38 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ import { BinaryEncodingCache } from "../../internal/binary/BinaryEncodingCache";
17
+ import { BinaryEncoding } from "./BinaryEncoding";
18
+ export class DefaultBinaryEncodingCache extends BinaryEncodingCache {
19
+ recentBinaryEncoders;
20
+ constructor() {
21
+ super();
22
+ this.recentBinaryEncoders = new Map();
23
+ }
24
+ add(checksum, binaryEncodingMap) {
25
+ const binaryEncoding = new BinaryEncoding(binaryEncodingMap, checksum);
26
+ this.recentBinaryEncoders.set(checksum, binaryEncoding);
27
+ }
28
+ get(checksum) {
29
+ return this.recentBinaryEncoders.get(checksum);
30
+ }
31
+ remove(checksum) {
32
+ this.recentBinaryEncoders.delete(checksum);
33
+ }
34
+ getChecksums() {
35
+ return Array.from(this.recentBinaryEncoders.keys());
36
+ }
37
+ }
38
+ //# sourceMappingURL=DefaultBinaryEncodingCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultBinaryEncodingCache.js","sourceRoot":"","sources":["../../../../src/internal/binary/DefaultBinaryEncodingCache.ts"],"names":[],"mappings":"AAAA,GAAG;AACH,mCAAmC;AACnC,GAAG;AACH,oEAAoE;AACpE,qEAAqE;AACrE,4CAA4C;AAC5C,GAAG;AACH,gDAAgD;AAChD,GAAG;AACH,wEAAwE;AACxE,sEAAsE;AACtE,6EAA6E;AAC7E,wEAAwE;AACxE,mCAAmC;AACnC,GAAG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,0BAA2B,SAAQ,mBAAmB;IACvD,oBAAoB,CAA8B;IAE1D;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClE,CAAC;IAED,GAAG,CAAC,QAAgB,EAAE,iBAAsC;QACxD,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACvE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAED,GAAG,CAAC,QAAgB;QAChB,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,QAAgB;QACnB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ import { BinaryEncoding } from '../../internal/binary/BinaryEncoding';
2
+ export declare function encodeBody(messageBody: Record<string, any>, binaryEncoder: BinaryEncoding): Map<any, any>;
@@ -0,0 +1,20 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ import { encodeKeys } from '../../internal/binary/EncodeKeys';
17
+ export function encodeBody(messageBody, binaryEncoder) {
18
+ return encodeKeys(messageBody, binaryEncoder);
19
+ }
20
+ //# sourceMappingURL=EncodeBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EncodeBody.js","sourceRoot":"","sources":["../../../../src/internal/binary/EncodeBody.ts"],"names":[],"mappings":"AAAA,GAAG;AACH,mCAAmC;AACnC,GAAG;AACH,oEAAoE;AACpE,qEAAqE;AACrE,4CAA4C;AAC5C,GAAG;AACH,gDAAgD;AAChD,GAAG;AACH,wEAAwE;AACxE,sEAAsE;AACtE,6EAA6E;AAC7E,wEAAwE;AACxE,mCAAmC;AACnC,GAAG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,UAAU,UAAU,CAAC,WAAgC,EAAE,aAA6B;IACtF,OAAO,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { BinaryEncoding } from '../../internal/binary/BinaryEncoding';
2
+ export declare function encodeKeys(given: any, binaryEncoder: BinaryEncoding): any;
@@ -0,0 +1,36 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ export function encodeKeys(given, binaryEncoder) {
17
+ if (given === null || given === undefined) {
18
+ return given;
19
+ }
20
+ else if (typeof given === 'object' && !Array.isArray(given)) {
21
+ const newMap = new Map();
22
+ for (const [key, value] of Object.entries(given)) {
23
+ const finalKey = binaryEncoder.encodeMap.has(key) ? binaryEncoder.encodeMap.get(key) : key;
24
+ const encodedValue = encodeKeys(value, binaryEncoder);
25
+ newMap.set(finalKey, encodedValue);
26
+ }
27
+ return newMap;
28
+ }
29
+ else if (Array.isArray(given)) {
30
+ return given.map((value) => encodeKeys(value, binaryEncoder));
31
+ }
32
+ else {
33
+ return given;
34
+ }
35
+ }
36
+ //# sourceMappingURL=EncodeKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EncodeKeys.js","sourceRoot":"","sources":["../../../../src/internal/binary/EncodeKeys.ts"],"names":[],"mappings":"AAAA,GAAG;AACH,mCAAmC;AACnC,GAAG;AACH,oEAAoE;AACpE,qEAAqE;AACrE,4CAA4C;AAC5C,GAAG;AACH,gDAAgD;AAChD,GAAG;AACH,wEAAwE;AACxE,sEAAsE;AACtE,6EAA6E;AAC7E,wEAAwE;AACxE,mCAAmC;AACnC,GAAG;AAIH,MAAM,UAAU,UAAU,CAAC,KAAU,EAAE,aAA6B;IAChE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACjB,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAY,CAAC;QAEnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3F,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAEtD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACJ,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { BinaryEncodingCache } from "../../internal/binary/BinaryEncodingCache";
2
+ import { BinaryEncoding } from "./BinaryEncoding";
3
+ export declare class LocalStorageBackedBinaryEncodingCache extends BinaryEncodingCache {
4
+ private recentBinaryEncoders;
5
+ private recentBinaryEncodersJson;
6
+ private namespace;
7
+ constructor(namespace: string);
8
+ add(checksum: number, binaryEncodingMap: Map<string, number>): void;
9
+ get(checksum: number): BinaryEncoding | undefined;
10
+ remove(checksum: number): void;
11
+ getChecksums(): number[];
12
+ private mapJsonToObject;
13
+ }
@@ -0,0 +1,65 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ import { BinaryEncodingCache } from "../../internal/binary/BinaryEncodingCache";
17
+ import { BinaryEncoding } from "./BinaryEncoding";
18
+ export class LocalStorageBackedBinaryEncodingCache extends BinaryEncodingCache {
19
+ recentBinaryEncoders;
20
+ recentBinaryEncodersJson;
21
+ namespace;
22
+ constructor(namespace) {
23
+ super();
24
+ this.namespace = 'telepact-api-encoding:' + namespace;
25
+ // Load initial state of recentBinaryEncodersJson from local storage
26
+ const storedJson = localStorage.getItem(this.namespace);
27
+ console.log(`Binary Encoding loaded from local storage for ${this.namespace}: ${storedJson}`);
28
+ let jsonFromLocalStorage = storedJson
29
+ ? JSON.parse(storedJson)
30
+ : {};
31
+ this.recentBinaryEncodersJson = jsonFromLocalStorage;
32
+ this.recentBinaryEncoders = this.mapJsonToObject(jsonFromLocalStorage);
33
+ }
34
+ add(checksum, binaryEncodingMap) {
35
+ const binaryEncodingJson = Object.fromEntries(binaryEncodingMap);
36
+ this.recentBinaryEncodersJson[`${checksum}`] = binaryEncodingJson;
37
+ this.recentBinaryEncoders = this.mapJsonToObject(this.recentBinaryEncodersJson);
38
+ // Save recentBinaryEncodersJson to local storage
39
+ localStorage.setItem(this.namespace, JSON.stringify(this.recentBinaryEncodersJson));
40
+ }
41
+ get(checksum) {
42
+ return this.recentBinaryEncoders.get(checksum);
43
+ }
44
+ remove(checksum) {
45
+ delete this.recentBinaryEncodersJson[checksum];
46
+ this.recentBinaryEncoders = this.mapJsonToObject(this.recentBinaryEncodersJson);
47
+ // Save recentBinaryEncodersJson to local storage
48
+ localStorage.setItem(this.namespace, JSON.stringify(this.recentBinaryEncodersJson));
49
+ }
50
+ getChecksums() {
51
+ return Array.from(this.recentBinaryEncoders.keys());
52
+ }
53
+ mapJsonToObject(json) {
54
+ let newMap = new Map();
55
+ for (var [k, v] of Object.entries(json)) {
56
+ let checksum = parseInt(k);
57
+ let binaryEncodingRecord = v;
58
+ let binaryEncodingMap = new Map(Object.entries(binaryEncodingRecord));
59
+ let binaryEncoding = new BinaryEncoding(binaryEncodingMap, checksum);
60
+ newMap.set(checksum, binaryEncoding);
61
+ }
62
+ return newMap;
63
+ }
64
+ }
65
+ //# sourceMappingURL=LocalStorageBackedBinaryEncodingCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalStorageBackedBinaryEncodingCache.js","sourceRoot":"","sources":["../../../../src/internal/binary/LocalStorageBackedBinaryEncodingCache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function pack(value: any): any;
@@ -0,0 +1,32 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ import { packList } from '../../internal/binary/PackList';
17
+ export function pack(value) {
18
+ if (Array.isArray(value)) {
19
+ return packList(value);
20
+ }
21
+ else if (value instanceof Map) {
22
+ const newMap = new Map();
23
+ for (const [key, val] of value.entries()) {
24
+ newMap.set(key, pack(val));
25
+ }
26
+ return newMap;
27
+ }
28
+ else {
29
+ return value;
30
+ }
31
+ }
32
+ //# sourceMappingURL=Pack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pack.js","sourceRoot":"","sources":["../../../../src/internal/binary/Pack.ts"],"names":[],"mappings":"AAAA,GAAG;AACH,mCAAmC;AACnC,GAAG;AACH,oEAAoE;AACpE,qEAAqE;AACrE,4CAA4C;AAC5C,GAAG;AACH,gDAAgD;AAChD,GAAG;AACH,wEAAwE;AACxE,sEAAsE;AACtE,6EAA6E;AAC7E,wEAAwE;AACxE,mCAAmC;AACnC,GAAG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1D,MAAM,UAAU,IAAI,CAAC,KAAU;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAkB,IAAI,GAAG,EAAE,CAAC;QAExC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;SAAM,CAAC;QACJ,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function packBody(body: Map<any, any>): Map<any, any>;
@@ -0,0 +1,25 @@
1
+ //|
2
+ //| Copyright The Telepact Authors
3
+ //|
4
+ //| Licensed under the Apache License, Version 2.0 (the "License");
5
+ //| you may not use this file except in compliance with the License.
6
+ //| You may obtain a copy of the License at
7
+ //|
8
+ //| https://www.apache.org/licenses/LICENSE-2.0
9
+ //|
10
+ //| Unless required by applicable law or agreed to in writing, software
11
+ //| distributed under the License is distributed on an "AS IS" BASIS,
12
+ //| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ //| See the License for the specific language governing permissions and
14
+ //| limitations under the License.
15
+ //|
16
+ import { pack } from './Pack';
17
+ export function packBody(body) {
18
+ const result = new Map();
19
+ for (const [key, value] of body.entries()) {
20
+ const packedValue = pack(value);
21
+ result.set(key, packedValue);
22
+ }
23
+ return result;
24
+ }
25
+ //# sourceMappingURL=PackBody.js.map