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,168 @@
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 { Message } from '../Message';
17
+ import { TTypeDeclaration } from './types/TTypeDeclaration';
18
+ import { selectStructFields } from '../internal/SelectStructFields';
19
+ import { getInvalidErrorMessage } from '../internal/validation/GetInvalidErrorMessage';
20
+ import { validateHeaders } from '../internal/validation/ValidateHeaders';
21
+ import { validateResult } from '../internal/validation/ValidateResult';
22
+ import { mapValidationFailuresToInvalidFieldCases } from './validation/MapValidationFailuresToInvalidFieldCases';
23
+ import { ValidateContext } from './validation/ValidateContext';
24
+ import { serverBase64Decode } from './binary/ServerBase64Decode';
25
+ export async function handleMessage(requestMessage, telepactSchema, handler, onError) {
26
+ const responseHeaders = {};
27
+ const requestHeaders = requestMessage.headers;
28
+ const requestBody = requestMessage.body;
29
+ const parsedTelepactSchema = telepactSchema.parsed;
30
+ const requestEntry = Object.entries(requestBody)[0];
31
+ const requestTargetInit = requestEntry[0];
32
+ const requestPayload = requestEntry[1];
33
+ let unknownTarget;
34
+ let requestTarget;
35
+ if (!(requestTargetInit in parsedTelepactSchema)) {
36
+ unknownTarget = requestTargetInit;
37
+ requestTarget = 'fn.ping_';
38
+ }
39
+ else {
40
+ unknownTarget = null;
41
+ requestTarget = requestTargetInit;
42
+ }
43
+ const functionName = requestTarget;
44
+ const callType = parsedTelepactSchema[requestTarget];
45
+ const resultUnionType = parsedTelepactSchema[`${requestTarget}.->`];
46
+ const callId = requestHeaders['@id_'];
47
+ if (callId !== undefined) {
48
+ responseHeaders['@id_'] = callId;
49
+ }
50
+ if ('_parseFailures' in requestHeaders) {
51
+ const parseFailures = requestHeaders['_parseFailures'];
52
+ const newErrorResult = {
53
+ ErrorParseFailure_: { reasons: parseFailures },
54
+ };
55
+ validateResult(resultUnionType, newErrorResult);
56
+ return new Message(responseHeaders, newErrorResult);
57
+ }
58
+ const requestHeaderValidationFailures = validateHeaders(requestHeaders, telepactSchema.parsedRequestHeaders, functionName);
59
+ if (requestHeaderValidationFailures.length > 0) {
60
+ return getInvalidErrorMessage('ErrorInvalidRequestHeaders_', requestHeaderValidationFailures, resultUnionType, responseHeaders);
61
+ }
62
+ if ('@bin_' in requestHeaders) {
63
+ const clientKnownBinaryChecksums = requestHeaders['@bin_'];
64
+ responseHeaders['@binary_'] = true;
65
+ responseHeaders['@clientKnownBinaryChecksums_'] = clientKnownBinaryChecksums;
66
+ if ('@pac_' in requestHeaders) {
67
+ responseHeaders['@pac_'] = requestHeaders['@pac_'];
68
+ }
69
+ }
70
+ const selectStructFieldsHeader = requestHeaders['@select_'] || null;
71
+ if (unknownTarget !== null) {
72
+ const newErrorResult = {
73
+ ErrorInvalidRequestBody_: {
74
+ cases: [
75
+ {
76
+ path: [unknownTarget],
77
+ reason: { FunctionUnknown: {} },
78
+ },
79
+ ],
80
+ },
81
+ };
82
+ validateResult(resultUnionType, newErrorResult);
83
+ return new Message(responseHeaders, newErrorResult);
84
+ }
85
+ const functionTypeCall = callType;
86
+ const warnings = [];
87
+ const filterOutWarnings = (e) => {
88
+ const r = e.reason == 'NumberTruncated';
89
+ if (r) {
90
+ warnings.push(e);
91
+ }
92
+ return !r;
93
+ };
94
+ const callValidateCtx = new ValidateContext(null, functionName, false);
95
+ const callValidationFailures = functionTypeCall
96
+ .validate(requestBody, [], callValidateCtx)
97
+ .filter(filterOutWarnings);
98
+ if (callValidationFailures.length > 0) {
99
+ if (warnings.length > 0) {
100
+ const existingWarnings = responseHeaders['@warn_'] || [];
101
+ const moreWarnings = mapValidationFailuresToInvalidFieldCases(warnings);
102
+ responseHeaders['@warn_'] = existingWarnings.concat(moreWarnings);
103
+ }
104
+ return getInvalidErrorMessage('ErrorInvalidRequestBody_', callValidationFailures, resultUnionType, responseHeaders);
105
+ }
106
+ if (Object.keys(callValidateCtx.bytesCoercions).length > 0) {
107
+ serverBase64Decode(requestBody, callValidateCtx.bytesCoercions);
108
+ }
109
+ const unsafeResponseEnabled = requestHeaders['@unsafe_'] || false;
110
+ const callMessage = new Message(requestHeaders, { [functionName]: requestPayload });
111
+ let resultMessage;
112
+ if (functionName === 'fn.ping_') {
113
+ resultMessage = new Message({}, { Ok_: {} });
114
+ }
115
+ else if (functionName === 'fn.api_') {
116
+ resultMessage = new Message({}, { Ok_: { api: telepactSchema.original } });
117
+ }
118
+ else {
119
+ try {
120
+ resultMessage = await handler(callMessage);
121
+ }
122
+ catch (e) {
123
+ try {
124
+ onError(e);
125
+ }
126
+ catch (error) {
127
+ // Ignore error
128
+ }
129
+ return new Message(responseHeaders, { ErrorUnknown_: {} });
130
+ }
131
+ }
132
+ const resultUnion = resultMessage.body;
133
+ resultMessage.headers = { ...resultMessage.headers, ...responseHeaders };
134
+ const finalResponseHeaders = resultMessage.headers;
135
+ const skipResultValidation = unsafeResponseEnabled;
136
+ const coerceBase64 = requestHeaders["@binary_"] != true;
137
+ const resultValidateCtx = new ValidateContext(selectStructFieldsHeader, functionName, coerceBase64);
138
+ const resultValidationFailures = resultUnionType
139
+ .validate(resultUnion, [], resultValidateCtx)
140
+ .filter(filterOutWarnings);
141
+ if (warnings.length > 0) {
142
+ const existingWarnings = responseHeaders['@warn_'] || [];
143
+ const moreWarnings = mapValidationFailuresToInvalidFieldCases(warnings);
144
+ responseHeaders['@warn_'] = existingWarnings.concat(moreWarnings);
145
+ }
146
+ if (resultValidationFailures.length > 0 && !skipResultValidation) {
147
+ return getInvalidErrorMessage('ErrorInvalidResponseBody_', resultValidationFailures, resultUnionType, responseHeaders);
148
+ }
149
+ if (Object.keys(resultValidateCtx.base64Coercions).length > 0) {
150
+ finalResponseHeaders['@base64_'] = resultValidateCtx.base64Coercions;
151
+ }
152
+ if (Object.keys(resultValidateCtx.bytesCoercions).length > 0) {
153
+ serverBase64Decode(resultUnion, resultValidateCtx.bytesCoercions);
154
+ }
155
+ const responseHeaderValidationFailures = validateHeaders(finalResponseHeaders, telepactSchema.parsedResponseHeaders, functionName);
156
+ if (responseHeaderValidationFailures.length > 0) {
157
+ return getInvalidErrorMessage('ErrorInvalidResponseHeaders_', responseHeaderValidationFailures, resultUnionType, responseHeaders);
158
+ }
159
+ let finalResultUnion;
160
+ if (selectStructFieldsHeader !== null) {
161
+ finalResultUnion = selectStructFields(new TTypeDeclaration(resultUnionType, false, []), resultUnion, selectStructFieldsHeader);
162
+ }
163
+ else {
164
+ finalResultUnion = resultUnion;
165
+ }
166
+ return new Message(finalResponseHeaders, finalResultUnion);
167
+ }
168
+ //# sourceMappingURL=HandleMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HandleMessage.js","sourceRoot":"","sources":["../../../src/internal/HandleMessage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function objectsAreEqual(obj1: any, obj2: any): boolean;
@@ -0,0 +1,40 @@
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 objectsAreEqual(obj1, obj2) {
17
+ // Check if both objects are the same type
18
+ if (typeof obj1 !== typeof obj2) {
19
+ return false;
20
+ }
21
+ // If objects are primitive types, compare directly
22
+ if (typeof obj1 !== 'object' || obj1 === null || obj2 === null) {
23
+ return obj1 === obj2;
24
+ }
25
+ // Check if both objects have the same keys
26
+ const keys1 = Object.keys(obj1);
27
+ const keys2 = Object.keys(obj2);
28
+ if (keys1.length !== keys2.length || !keys1.every((key) => keys2.includes(key))) {
29
+ return false;
30
+ }
31
+ // Recursively compare nested objects and arrays
32
+ for (const key of keys1) {
33
+ if (!objectsAreEqual(obj1[key], obj2[key])) {
34
+ return false;
35
+ }
36
+ }
37
+ // If all checks pass, objects are considered equal
38
+ return true;
39
+ }
40
+ //# sourceMappingURL=ObjectsAreEqual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectsAreEqual.js","sourceRoot":"","sources":["../../../src/internal/ObjectsAreEqual.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,eAAe,CAAC,IAAS,EAAE,IAAS;IAChD,0CAA0C;IAC1C,IAAI,OAAO,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,mDAAmD;IACnD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC7D,OAAO,IAAI,KAAK,IAAI,CAAC;IACzB,CAAC;IAED,2CAA2C;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,gDAAgD;IAChD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,mDAAmD;IACnD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Serializer } from '../Serializer';
2
+ import { TelepactSchema } from '../TelepactSchema';
3
+ import { Message } from '../Message';
4
+ export declare function parseRequestMessage(requestMessageBytes: Uint8Array, serializer: Serializer, telepactSchema: TelepactSchema, onError: (error: Error) => void): Message;
@@ -0,0 +1,46 @@
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 { Message } from '../Message';
17
+ import { BinaryEncoderUnavailableError } from '../internal/binary/BinaryEncoderUnavailableError';
18
+ import { BinaryEncodingMissing } from '../internal/binary/BinaryEncodingMissing';
19
+ import { InvalidMessage } from '../internal/validation/InvalidMessage';
20
+ import { InvalidMessageBody } from '../internal/validation/InvalidMessageBody';
21
+ export function parseRequestMessage(requestMessageBytes, serializer, telepactSchema, onError) {
22
+ try {
23
+ return serializer.deserialize(requestMessageBytes);
24
+ }
25
+ catch (e) {
26
+ onError(e);
27
+ let reason;
28
+ if (e instanceof BinaryEncoderUnavailableError) {
29
+ reason = 'IncompatibleBinaryEncoding';
30
+ }
31
+ else if (e instanceof BinaryEncodingMissing) {
32
+ reason = 'BinaryDecodeFailure';
33
+ }
34
+ else if (e instanceof InvalidMessage) {
35
+ reason = 'ExpectedJsonArrayOfTwoObjects';
36
+ }
37
+ else if (e instanceof InvalidMessageBody) {
38
+ reason = 'ExpectedJsonArrayOfAnObjectAndAnObjectOfOneObject';
39
+ }
40
+ else {
41
+ reason = 'ExpectedJsonArrayOfTwoObjects';
42
+ }
43
+ return new Message({ _parseFailures: [{ [reason]: {} }] }, { _unknown: {} });
44
+ }
45
+ }
46
+ //# sourceMappingURL=ParseRequestMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParseRequestMessage.js","sourceRoot":"","sources":["../../../src/internal/ParseRequestMessage.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,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE/E,MAAM,UAAU,mBAAmB,CAC/B,mBAA+B,EAC/B,UAAsB,EACtB,cAA8B,EAC9B,OAA+B;IAE/B,IAAI,CAAC;QACD,OAAO,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,CAAC,CAAC,CAAC;QAEX,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC,YAAY,6BAA6B,EAAE,CAAC;YAC7C,MAAM,GAAG,4BAA4B,CAAC;QAC1C,CAAC;aAAM,IAAI,CAAC,YAAY,qBAAqB,EAAE,CAAC;YAC5C,MAAM,GAAG,qBAAqB,CAAC;QACnC,CAAC;aAAM,IAAI,CAAC,YAAY,cAAc,EAAE,CAAC;YACrC,MAAM,GAAG,+BAA+B,CAAC;QAC7C,CAAC;aAAM,IAAI,CAAC,YAAY,kBAAkB,EAAE,CAAC;YACzC,MAAM,GAAG,mDAAmD,CAAC;QACjE,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,+BAA+B,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;AACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Serializer } from '../Serializer';
2
+ import { TelepactSchema } from '../TelepactSchema';
3
+ import { Message } from '../Message';
4
+ export type ErrorHandler = (error: any) => void;
5
+ export type RequestHandler = (message: Message) => void;
6
+ export type ResponseHandler = (message: Message) => void;
7
+ export type MessageHandler = (message: Message) => Promise<Message>;
8
+ export declare function processBytes(requestMessageBytes: Uint8Array, serializer: Serializer, telepactSchema: TelepactSchema, onError: ErrorHandler, onRequest: RequestHandler, onResponse: ResponseHandler, handler: MessageHandler): Promise<Uint8Array>;
@@ -0,0 +1,47 @@
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 { Message } from '../Message';
17
+ import { handleMessage } from '../internal/HandleMessage';
18
+ import { parseRequestMessage } from '../internal/ParseRequestMessage';
19
+ export async function processBytes(requestMessageBytes, serializer, telepactSchema, onError, onRequest, onResponse, handler) {
20
+ try {
21
+ const requestMessage = parseRequestMessage(requestMessageBytes, serializer, telepactSchema, onError);
22
+ try {
23
+ onRequest(requestMessage);
24
+ }
25
+ catch (error) {
26
+ // Handle error
27
+ }
28
+ const responseMessage = await handleMessage(requestMessage, telepactSchema, handler, onError);
29
+ try {
30
+ onResponse(responseMessage);
31
+ }
32
+ catch (error) {
33
+ // Handle error
34
+ }
35
+ return serializer.serialize(responseMessage);
36
+ }
37
+ catch (error) {
38
+ try {
39
+ onError(error);
40
+ }
41
+ catch (error) {
42
+ // Handle error
43
+ }
44
+ return serializer.serialize(new Message({}, { ErrorUnknown_: {} }));
45
+ }
46
+ }
47
+ //# sourceMappingURL=ProcessBytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessBytes.js","sourceRoot":"","sources":["../../../src/internal/ProcessBytes.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,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAOtE,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,mBAA+B,EAC/B,UAAsB,EACtB,cAA8B,EAC9B,OAAqB,EACrB,SAAyB,EACzB,UAA2B,EAC3B,OAAuB;IAEvB,IAAI,CAAC;QACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,mBAAmB,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAErG,IAAI,CAAC;YACD,SAAS,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,eAAe;QACnB,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9F,IAAI,CAAC;YACD,UAAU,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,eAAe;QACnB,CAAC;QAED,OAAO,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,eAAe;QACnB,CAAC;QAED,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { TTypeDeclaration } from './types/TTypeDeclaration';
2
+ export declare function selectStructFields(typeDeclaration: TTypeDeclaration, value: any, selectedStructFields: {
3
+ [key: string]: any;
4
+ }): any;
@@ -0,0 +1,87 @@
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 { TArray } from './types/TArray';
17
+ import { TObject } from './types/TObject';
18
+ import { TStruct } from './types/TStruct';
19
+ import { TUnion } from './types/TUnion';
20
+ export function selectStructFields(typeDeclaration, value, selectedStructFields) {
21
+ const typeDeclarationType = typeDeclaration.type;
22
+ const typeDeclarationTypeParams = typeDeclaration.typeParameters;
23
+ if (typeDeclarationType instanceof TStruct) {
24
+ const fields = typeDeclarationType.fields;
25
+ const structName = typeDeclarationType.name;
26
+ const selectedFields = selectedStructFields[structName];
27
+ const valueAsMap = value;
28
+ const finalMap = {};
29
+ for (const [fieldName, fieldValue] of Object.entries(valueAsMap)) {
30
+ if (selectedFields === undefined || selectedFields.includes(fieldName)) {
31
+ const field = fields[fieldName];
32
+ const fieldTypeDeclaration = field.typeDeclaration;
33
+ const valueWithSelectedFields = selectStructFields(fieldTypeDeclaration, fieldValue, selectedStructFields);
34
+ finalMap[fieldName] = valueWithSelectedFields;
35
+ }
36
+ }
37
+ return finalMap;
38
+ }
39
+ else if (typeDeclarationType instanceof TUnion) {
40
+ const valueAsMap = value;
41
+ const [unionTag, unionData] = Object.entries(valueAsMap)[0];
42
+ const unionTags = typeDeclarationType.tags;
43
+ const unionStructReference = unionTags[unionTag];
44
+ const unionStructRefFields = unionStructReference.fields;
45
+ const defaultTagsToFields = {};
46
+ for (const [tagName, unionStruct] of Object.entries(unionTags)) {
47
+ const fieldNames = Object.keys(unionStruct.fields);
48
+ defaultTagsToFields[tagName] = fieldNames;
49
+ }
50
+ const unionSelectedFields = selectedStructFields[typeDeclarationType.name];
51
+ const thisUnionTagSelectedFieldsDefault = defaultTagsToFields[unionTag];
52
+ const selectedFields = unionSelectedFields?.[unionTag] || thisUnionTagSelectedFieldsDefault;
53
+ const finalMap = {};
54
+ for (const [fieldName, fieldValue] of Object.entries(unionData)) {
55
+ if (selectedFields === undefined || selectedFields.includes(fieldName)) {
56
+ const field = unionStructRefFields[fieldName];
57
+ const valueWithSelectedFields = selectStructFields(field.typeDeclaration, fieldValue, selectedStructFields);
58
+ finalMap[fieldName] = valueWithSelectedFields;
59
+ }
60
+ }
61
+ return { [unionTag]: finalMap };
62
+ }
63
+ else if (typeDeclarationType instanceof TObject) {
64
+ const nestedTypeDeclaration = typeDeclarationTypeParams[0];
65
+ const valueAsMap = value;
66
+ const finalMap = {};
67
+ for (const [key, value] of Object.entries(valueAsMap)) {
68
+ const valueWithSelectedFields = selectStructFields(nestedTypeDeclaration, value, selectedStructFields);
69
+ finalMap[key] = valueWithSelectedFields;
70
+ }
71
+ return finalMap;
72
+ }
73
+ else if (typeDeclarationType instanceof TArray) {
74
+ const nestedType = typeDeclarationTypeParams[0];
75
+ const valueAsList = value;
76
+ const finalList = [];
77
+ for (const entry of valueAsList) {
78
+ const valueWithSelectedFields = selectStructFields(nestedType, entry, selectedStructFields);
79
+ finalList.push(valueWithSelectedFields);
80
+ }
81
+ return finalList;
82
+ }
83
+ else {
84
+ return value;
85
+ }
86
+ }
87
+ //# sourceMappingURL=SelectStructFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectStructFields.js","sourceRoot":"","sources":["../../../src/internal/SelectStructFields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Serialization } from '../Serialization';
2
+ import { Message } from '../Message';
3
+ import { BinaryEncoder } from '../internal/binary/BinaryEncoder';
4
+ import { Base64Encoder } from './binary/Base64Encoder';
5
+ export declare function serializeInternal(message: Message, binaryEncoder: BinaryEncoder, base64Encoder: Base64Encoder, serializer: Serialization): Uint8Array;
@@ -0,0 +1,49 @@
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 { SerializationError } from '../SerializationError';
17
+ export function serializeInternal(message, binaryEncoder, base64Encoder, serializer) {
18
+ const headers = message.headers;
19
+ let serializeAsBinary;
20
+ if ('@binary_' in headers) {
21
+ serializeAsBinary = headers['@binary_'] === true;
22
+ delete headers['@binary_'];
23
+ }
24
+ else {
25
+ serializeAsBinary = false;
26
+ }
27
+ const messageAsPseudoJson = [message.headers, message.body];
28
+ try {
29
+ if (serializeAsBinary) {
30
+ try {
31
+ const encodedMessage = binaryEncoder.encode(messageAsPseudoJson);
32
+ return serializer.toMsgpack(encodedMessage);
33
+ }
34
+ catch (error) {
35
+ // We can still submit as JSON
36
+ const base64EncodedMessage = base64Encoder.encode(messageAsPseudoJson);
37
+ return serializer.toJson(base64EncodedMessage);
38
+ }
39
+ }
40
+ else {
41
+ const base64EncodedMessage = base64Encoder.encode(messageAsPseudoJson);
42
+ return serializer.toJson(base64EncodedMessage);
43
+ }
44
+ }
45
+ catch (error) {
46
+ throw new SerializationError(error);
47
+ }
48
+ }
49
+ //# sourceMappingURL=SerializeInternal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerializeInternal.js","sourceRoot":"","sources":["../../../src/internal/SerializeInternal.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,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAM3D,MAAM,UAAU,iBAAiB,CAC7B,OAAgB,EAChB,aAA4B,EAC5B,aAA4B,EAC5B,UAAyB;IAEzB,MAAM,OAAO,GAAwB,OAAO,CAAC,OAAO,CAAC;IAErD,IAAI,iBAA0B,CAAC;IAC/B,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;QACxB,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;QACjD,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACJ,iBAAiB,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,MAAM,mBAAmB,GAAU,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE,IAAI,CAAC;QACD,IAAI,iBAAiB,EAAE,CAAC;YACpB,IAAI,CAAC;gBACD,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACjE,OAAO,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,8BAA8B;gBAC9B,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACvE,OAAO,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACvE,OAAO,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,kBAAkB,CAAC,KAAc,CAAC,CAAC;IACjD,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare abstract class Base64Encoder {
2
+ abstract encode(message: object[]): object[];
3
+ abstract decode(message: object[]): object[];
4
+ }
@@ -0,0 +1,18 @@
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 Base64Encoder {
17
+ }
18
+ //# sourceMappingURL=Base64Encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base64Encoder.js","sourceRoot":"","sources":["../../../../src/internal/binary/Base64Encoder.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,OAAgB,aAAa;CAGlC"}
@@ -0,0 +1,2 @@
1
+ export declare function encodeBase64(uint8Array: Uint8Array): string;
2
+ export declare function decodeBase64(base64String: string): Uint8Array;
@@ -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 encodeBase64(uint8Array) {
17
+ if (typeof window !== 'undefined') {
18
+ // Browser environment
19
+ return btoa(String.fromCharCode(...uint8Array));
20
+ }
21
+ else {
22
+ // Node.js environment
23
+ return Buffer.from(uint8Array).toString('base64');
24
+ }
25
+ }
26
+ export function decodeBase64(base64String) {
27
+ if (typeof window !== 'undefined') {
28
+ // Browser environment
29
+ return Uint8Array.from(atob(base64String), c => c.charCodeAt(0));
30
+ }
31
+ else {
32
+ // Node.js environment
33
+ return Uint8Array.from(Buffer.from(base64String, 'base64'));
34
+ }
35
+ }
36
+ //# sourceMappingURL=Base64Util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base64Util.js","sourceRoot":"","sources":["../../../../src/internal/binary/Base64Util.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,YAAY,CAAC,UAAsB;IAC/C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,sBAAsB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,sBAAsB;QACtB,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,YAAoB;IAC7C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,sBAAsB;QACtB,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,sBAAsB;QACtB,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare abstract class BinaryEncoder {
2
+ abstract encode(message: object[]): object[];
3
+ abstract decode(message: object[]): object[];
4
+ }
@@ -0,0 +1,18 @@
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 BinaryEncoder {
17
+ }
18
+ //# sourceMappingURL=BinaryEncoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinaryEncoder.js","sourceRoot":"","sources":["../../../../src/internal/binary/BinaryEncoder.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,OAAgB,aAAa;CAGlC"}
@@ -0,0 +1,2 @@
1
+ export declare class BinaryEncoderUnavailableError extends Error {
2
+ }