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.
- package/README.md +71 -0
- package/dist/LICENSE +201 -0
- package/dist/NOTICE +15 -0
- package/dist/inc/auth.telepact.json +29 -0
- package/dist/inc/internal.telepact.json +258 -0
- package/dist/inc/json-schema.json +245 -0
- package/dist/inc/mock-internal.telepact.json +157 -0
- package/dist/index.cjs.js +5186 -0
- package/dist/index.esm.js +5167 -0
- package/dist/index.iife.js +5188 -0
- package/dist/src/Client.d.ts +20 -0
- package/dist/src/Client.js +59 -0
- package/dist/src/Client.js.map +1 -0
- package/dist/src/DefaultSerialization.d.ts +9 -0
- package/dist/src/DefaultSerialization.js +35 -0
- package/dist/src/DefaultSerialization.js.map +1 -0
- package/dist/src/Message.d.ts +7 -0
- package/dist/src/Message.js +32 -0
- package/dist/src/Message.js.map +1 -0
- package/dist/src/MockServer.d.ts +27 -0
- package/dist/src/MockServer.js +68 -0
- package/dist/src/MockServer.js.map +1 -0
- package/dist/src/MockTelepactSchema.d.ts +17 -0
- package/dist/src/MockTelepactSchema.js +45 -0
- package/dist/src/MockTelepactSchema.js.map +1 -0
- package/dist/src/RandomGenerator.d.ts +15 -0
- package/dist/src/RandomGenerator.js +107 -0
- package/dist/src/RandomGenerator.js.map +1 -0
- package/dist/src/Serialization.d.ts +13 -0
- package/dist/src/Serialization.js +17 -0
- package/dist/src/Serialization.js.map +1 -0
- package/dist/src/SerializationError.d.ts +3 -0
- package/dist/src/SerializationError.js +22 -0
- package/dist/src/SerializationError.js.map +1 -0
- package/dist/src/Serializer.d.ts +15 -0
- package/dist/src/Serializer.js +43 -0
- package/dist/src/Serializer.js.map +1 -0
- package/dist/src/Server.d.ts +22 -0
- package/dist/src/Server.js +61 -0
- package/dist/src/Server.js.map +1 -0
- package/dist/src/TelepactError.d.ts +4 -0
- package/dist/src/TelepactError.js +24 -0
- package/dist/src/TelepactError.js.map +1 -0
- package/dist/src/TelepactSchema.d.ts +21 -0
- package/dist/src/TelepactSchema.js +50 -0
- package/dist/src/TelepactSchema.js.map +1 -0
- package/dist/src/TelepactSchemaFiles.d.ts +5 -0
- package/dist/src/TelepactSchemaFiles.js +23 -0
- package/dist/src/TelepactSchemaFiles.js.map +1 -0
- package/dist/src/TelepactSchemaParseError.d.ts +9 -0
- package/dist/src/TelepactSchemaParseError.js +31 -0
- package/dist/src/TelepactSchemaParseError.js.map +1 -0
- package/dist/src/fileSystem.d.ts +18 -0
- package/dist/src/fileSystem.js +17 -0
- package/dist/src/fileSystem.js.map +1 -0
- package/dist/src/index.d.ts +19 -0
- package/dist/src/index.js +35 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/internal/ClientHandleMessage.d.ts +3 -0
- package/dist/src/internal/ClientHandleMessage.js +52 -0
- package/dist/src/internal/ClientHandleMessage.js.map +1 -0
- package/dist/src/internal/DeserializeInternal.d.ts +5 -0
- package/dist/src/internal/DeserializeInternal.js +65 -0
- package/dist/src/internal/DeserializeInternal.js.map +1 -0
- package/dist/src/internal/HandleMessage.d.ts +3 -0
- package/dist/src/internal/HandleMessage.js +168 -0
- package/dist/src/internal/HandleMessage.js.map +1 -0
- package/dist/src/internal/ObjectsAreEqual.d.ts +1 -0
- package/dist/src/internal/ObjectsAreEqual.js +40 -0
- package/dist/src/internal/ObjectsAreEqual.js.map +1 -0
- package/dist/src/internal/ParseRequestMessage.d.ts +4 -0
- package/dist/src/internal/ParseRequestMessage.js +46 -0
- package/dist/src/internal/ParseRequestMessage.js.map +1 -0
- package/dist/src/internal/ProcessBytes.d.ts +8 -0
- package/dist/src/internal/ProcessBytes.js +47 -0
- package/dist/src/internal/ProcessBytes.js.map +1 -0
- package/dist/src/internal/SelectStructFields.d.ts +4 -0
- package/dist/src/internal/SelectStructFields.js +87 -0
- package/dist/src/internal/SelectStructFields.js.map +1 -0
- package/dist/src/internal/SerializeInternal.d.ts +5 -0
- package/dist/src/internal/SerializeInternal.js +49 -0
- package/dist/src/internal/SerializeInternal.js.map +1 -0
- package/dist/src/internal/binary/Base64Encoder.d.ts +4 -0
- package/dist/src/internal/binary/Base64Encoder.js +18 -0
- package/dist/src/internal/binary/Base64Encoder.js.map +1 -0
- package/dist/src/internal/binary/Base64Util.d.ts +2 -0
- package/dist/src/internal/binary/Base64Util.js +36 -0
- package/dist/src/internal/binary/Base64Util.js.map +1 -0
- package/dist/src/internal/binary/BinaryEncoder.d.ts +4 -0
- package/dist/src/internal/binary/BinaryEncoder.js +18 -0
- package/dist/src/internal/binary/BinaryEncoder.js.map +1 -0
- package/dist/src/internal/binary/BinaryEncoderUnavailableError.d.ts +2 -0
- package/dist/src/internal/binary/BinaryEncoderUnavailableError.js +18 -0
- package/dist/src/internal/binary/BinaryEncoderUnavailableError.js.map +1 -0
- package/dist/src/internal/binary/BinaryEncoding.d.ts +6 -0
- package/dist/src/internal/binary/BinaryEncoding.js +30 -0
- package/dist/src/internal/binary/BinaryEncoding.js.map +1 -0
- package/dist/src/internal/binary/BinaryEncodingCache.d.ts +7 -0
- package/dist/src/internal/binary/BinaryEncodingCache.js +18 -0
- package/dist/src/internal/binary/BinaryEncodingCache.js.map +1 -0
- package/dist/src/internal/binary/BinaryEncodingMissing.d.ts +3 -0
- package/dist/src/internal/binary/BinaryEncodingMissing.js +21 -0
- package/dist/src/internal/binary/BinaryEncodingMissing.js.map +1 -0
- package/dist/src/internal/binary/BinaryPackNode.d.ts +5 -0
- package/dist/src/internal/binary/BinaryPackNode.js +24 -0
- package/dist/src/internal/binary/BinaryPackNode.js.map +1 -0
- package/dist/src/internal/binary/CannotPack.d.ts +3 -0
- package/dist/src/internal/binary/CannotPack.js +22 -0
- package/dist/src/internal/binary/CannotPack.js.map +1 -0
- package/dist/src/internal/binary/ClientBase64Decode.d.ts +1 -0
- package/dist/src/internal/binary/ClientBase64Decode.js +80 -0
- package/dist/src/internal/binary/ClientBase64Decode.js.map +1 -0
- package/dist/src/internal/binary/ClientBase64Encode.d.ts +1 -0
- package/dist/src/internal/binary/ClientBase64Encode.js +43 -0
- package/dist/src/internal/binary/ClientBase64Encode.js.map +1 -0
- package/dist/src/internal/binary/ClientBase64Encoder.d.ts +5 -0
- package/dist/src/internal/binary/ClientBase64Encoder.js +29 -0
- package/dist/src/internal/binary/ClientBase64Encoder.js.map +1 -0
- package/dist/src/internal/binary/ClientBinaryDecode.d.ts +3 -0
- package/dist/src/internal/binary/ClientBinaryDecode.js +42 -0
- package/dist/src/internal/binary/ClientBinaryDecode.js.map +1 -0
- package/dist/src/internal/binary/ClientBinaryEncode.d.ts +3 -0
- package/dist/src/internal/binary/ClientBinaryEncode.js +46 -0
- package/dist/src/internal/binary/ClientBinaryEncode.js.map +1 -0
- package/dist/src/internal/binary/ClientBinaryEncoder.d.ts +9 -0
- package/dist/src/internal/binary/ClientBinaryEncoder.js +33 -0
- package/dist/src/internal/binary/ClientBinaryEncoder.js.map +1 -0
- package/dist/src/internal/binary/ClientBinaryStrategy.d.ts +15 -0
- package/dist/src/internal/binary/ClientBinaryStrategy.js +84 -0
- package/dist/src/internal/binary/ClientBinaryStrategy.js.map +1 -0
- package/dist/src/internal/binary/ConstructBinaryEncoding.d.ts +3 -0
- package/dist/src/internal/binary/ConstructBinaryEncoding.js +85 -0
- package/dist/src/internal/binary/ConstructBinaryEncoding.js.map +1 -0
- package/dist/src/internal/binary/ConvertMapsToObjects.d.ts +1 -0
- package/dist/src/internal/binary/ConvertMapsToObjects.js +42 -0
- package/dist/src/internal/binary/ConvertMapsToObjects.js.map +1 -0
- package/dist/src/internal/binary/CreateChecksum.d.ts +1 -0
- package/dist/src/internal/binary/CreateChecksum.js +21 -0
- package/dist/src/internal/binary/CreateChecksum.js.map +1 -0
- package/dist/src/internal/binary/DecodeBody.d.ts +2 -0
- package/dist/src/internal/binary/DecodeBody.js +20 -0
- package/dist/src/internal/binary/DecodeBody.js.map +1 -0
- package/dist/src/internal/binary/DecodeKeys.d.ts +2 -0
- package/dist/src/internal/binary/DecodeKeys.js +37 -0
- package/dist/src/internal/binary/DecodeKeys.js.map +1 -0
- package/dist/src/internal/binary/DefaultBinaryEncodingCache.d.ts +10 -0
- package/dist/src/internal/binary/DefaultBinaryEncodingCache.js +38 -0
- package/dist/src/internal/binary/DefaultBinaryEncodingCache.js.map +1 -0
- package/dist/src/internal/binary/EncodeBody.d.ts +2 -0
- package/dist/src/internal/binary/EncodeBody.js +20 -0
- package/dist/src/internal/binary/EncodeBody.js.map +1 -0
- package/dist/src/internal/binary/EncodeKeys.d.ts +2 -0
- package/dist/src/internal/binary/EncodeKeys.js +36 -0
- package/dist/src/internal/binary/EncodeKeys.js.map +1 -0
- package/dist/src/internal/binary/LocalStorageBackedBinaryEncodingCache.d.ts +13 -0
- package/dist/src/internal/binary/LocalStorageBackedBinaryEncodingCache.js +65 -0
- package/dist/src/internal/binary/LocalStorageBackedBinaryEncodingCache.js.map +1 -0
- package/dist/src/internal/binary/Pack.d.ts +1 -0
- package/dist/src/internal/binary/Pack.js +32 -0
- package/dist/src/internal/binary/Pack.js.map +1 -0
- package/dist/src/internal/binary/PackBody.d.ts +1 -0
- package/dist/src/internal/binary/PackBody.js +25 -0
- package/dist/src/internal/binary/PackBody.js.map +1 -0
- package/dist/src/internal/binary/PackList.d.ts +4 -0
- package/dist/src/internal/binary/PackList.js +68 -0
- package/dist/src/internal/binary/PackList.js.map +1 -0
- package/dist/src/internal/binary/PackMap.d.ts +5 -0
- package/dist/src/internal/binary/PackMap.js +87 -0
- package/dist/src/internal/binary/PackMap.js.map +1 -0
- package/dist/src/internal/binary/ServerBase64Decode.d.ts +1 -0
- package/dist/src/internal/binary/ServerBase64Decode.js +76 -0
- package/dist/src/internal/binary/ServerBase64Decode.js.map +1 -0
- package/dist/src/internal/binary/ServerBase64Encode.d.ts +1 -0
- package/dist/src/internal/binary/ServerBase64Encode.js +76 -0
- package/dist/src/internal/binary/ServerBase64Encode.js.map +1 -0
- package/dist/src/internal/binary/ServerBase64Encoder.d.ts +5 -0
- package/dist/src/internal/binary/ServerBase64Encoder.js +28 -0
- package/dist/src/internal/binary/ServerBase64Encoder.js.map +1 -0
- package/dist/src/internal/binary/ServerBinaryDecode.d.ts +2 -0
- package/dist/src/internal/binary/ServerBinaryDecode.js +39 -0
- package/dist/src/internal/binary/ServerBinaryDecode.js.map +1 -0
- package/dist/src/internal/binary/ServerBinaryEncode.d.ts +2 -0
- package/dist/src/internal/binary/ServerBinaryEncode.js +42 -0
- package/dist/src/internal/binary/ServerBinaryEncode.js.map +1 -0
- package/dist/src/internal/binary/ServerBinaryEncoder.d.ts +8 -0
- package/dist/src/internal/binary/ServerBinaryEncoder.js +30 -0
- package/dist/src/internal/binary/ServerBinaryEncoder.js.map +1 -0
- package/dist/src/internal/binary/Unpack.d.ts +1 -0
- package/dist/src/internal/binary/Unpack.js +32 -0
- package/dist/src/internal/binary/Unpack.js.map +1 -0
- package/dist/src/internal/binary/UnpackBody.d.ts +1 -0
- package/dist/src/internal/binary/UnpackBody.js +25 -0
- package/dist/src/internal/binary/UnpackBody.js.map +1 -0
- package/dist/src/internal/binary/UnpackList.d.ts +1 -0
- package/dist/src/internal/binary/UnpackList.js +39 -0
- package/dist/src/internal/binary/UnpackList.js.map +1 -0
- package/dist/src/internal/binary/UnpackMap.d.ts +1 -0
- package/dist/src/internal/binary/UnpackMap.js +40 -0
- package/dist/src/internal/binary/UnpackMap.js.map +1 -0
- package/dist/src/internal/generation/GenerateContext.d.ts +16 -0
- package/dist/src/internal/generation/GenerateContext.js +33 -0
- package/dist/src/internal/generation/GenerateContext.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomAny.d.ts +2 -0
- package/dist/src/internal/generation/GenerateRandomAny.js +28 -0
- package/dist/src/internal/generation/GenerateRandomAny.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomArray.d.ts +3 -0
- package/dist/src/internal/generation/GenerateRandomArray.js +37 -0
- package/dist/src/internal/generation/GenerateRandomArray.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomBoolean.d.ts +2 -0
- package/dist/src/internal/generation/GenerateRandomBoolean.js +24 -0
- package/dist/src/internal/generation/GenerateRandomBoolean.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomBytes.d.ts +2 -0
- package/dist/src/internal/generation/GenerateRandomBytes.js +24 -0
- package/dist/src/internal/generation/GenerateRandomBytes.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomInteger.d.ts +2 -0
- package/dist/src/internal/generation/GenerateRandomInteger.js +24 -0
- package/dist/src/internal/generation/GenerateRandomInteger.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomMockCall.d.ts +5 -0
- package/dist/src/internal/generation/GenerateRandomMockCall.js +26 -0
- package/dist/src/internal/generation/GenerateRandomMockCall.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomMockStub.d.ts +5 -0
- package/dist/src/internal/generation/GenerateRandomMockStub.js +38 -0
- package/dist/src/internal/generation/GenerateRandomMockStub.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomNumber.d.ts +2 -0
- package/dist/src/internal/generation/GenerateRandomNumber.js +24 -0
- package/dist/src/internal/generation/GenerateRandomNumber.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomObject.d.ts +3 -0
- package/dist/src/internal/generation/GenerateRandomObject.js +38 -0
- package/dist/src/internal/generation/GenerateRandomObject.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomSelect.d.ts +2 -0
- package/dist/src/internal/generation/GenerateRandomSelect.js +49 -0
- package/dist/src/internal/generation/GenerateRandomSelect.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomString.d.ts +2 -0
- package/dist/src/internal/generation/GenerateRandomString.js +24 -0
- package/dist/src/internal/generation/GenerateRandomString.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomStruct.d.ts +5 -0
- package/dist/src/internal/generation/GenerateRandomStruct.js +60 -0
- package/dist/src/internal/generation/GenerateRandomStruct.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomUnion.d.ts +5 -0
- package/dist/src/internal/generation/GenerateRandomUnion.js +35 -0
- package/dist/src/internal/generation/GenerateRandomUnion.js.map +1 -0
- package/dist/src/internal/generation/GenerateRandomValueOfType.d.ts +4 -0
- package/dist/src/internal/generation/GenerateRandomValueOfType.js +24 -0
- package/dist/src/internal/generation/GenerateRandomValueOfType.js.map +1 -0
- package/dist/src/internal/mock/IsSubMap.d.ts +1 -0
- package/dist/src/internal/mock/IsSubMap.js +28 -0
- package/dist/src/internal/mock/IsSubMap.js.map +1 -0
- package/dist/src/internal/mock/IsSubMapEntryEqual.d.ts +1 -0
- package/dist/src/internal/mock/IsSubMapEntryEqual.js +37 -0
- package/dist/src/internal/mock/IsSubMapEntryEqual.js.map +1 -0
- package/dist/src/internal/mock/MockHandle.d.ts +6 -0
- package/dist/src/internal/mock/MockHandle.js +121 -0
- package/dist/src/internal/mock/MockHandle.js.map +1 -0
- package/dist/src/internal/mock/MockInvocation.d.ts +6 -0
- package/dist/src/internal/mock/MockInvocation.js +26 -0
- package/dist/src/internal/mock/MockInvocation.js.map +1 -0
- package/dist/src/internal/mock/MockStub.d.ts +8 -0
- package/dist/src/internal/mock/MockStub.js +30 -0
- package/dist/src/internal/mock/MockStub.js.map +1 -0
- package/dist/src/internal/mock/PartiallyMatches.d.ts +1 -0
- package/dist/src/internal/mock/PartiallyMatches.js +25 -0
- package/dist/src/internal/mock/PartiallyMatches.js.map +1 -0
- package/dist/src/internal/mock/Verify.d.ts +8 -0
- package/dist/src/internal/mock/Verify.js +94 -0
- package/dist/src/internal/mock/Verify.js.map +1 -0
- package/dist/src/internal/mock/VerifyNoMoreInteractions.d.ts +4 -0
- package/dist/src/internal/mock/VerifyNoMoreInteractions.js +30 -0
- package/dist/src/internal/mock/VerifyNoMoreInteractions.js.map +1 -0
- package/dist/src/internal/schema/ApplyErrorToParsedTypes.d.ts +13 -0
- package/dist/src/internal/schema/ApplyErrorToParsedTypes.js +61 -0
- package/dist/src/internal/schema/ApplyErrorToParsedTypes.js.map +1 -0
- package/dist/src/internal/schema/CatchErrorCollisions.d.ts +1 -0
- package/dist/src/internal/schema/CatchErrorCollisions.js +73 -0
- package/dist/src/internal/schema/CatchErrorCollisions.js.map +1 -0
- package/dist/src/internal/schema/CatchHeaderCollisions.d.ts +1 -0
- package/dist/src/internal/schema/CatchHeaderCollisions.js +74 -0
- package/dist/src/internal/schema/CatchHeaderCollisions.js.map +1 -0
- package/dist/src/internal/schema/CreateMockTelepactSchemaFromFileJsonMap.d.ts +2 -0
- package/dist/src/internal/schema/CreateMockTelepactSchemaFromFileJsonMap.js +25 -0
- package/dist/src/internal/schema/CreateMockTelepactSchemaFromFileJsonMap.js.map +1 -0
- package/dist/src/internal/schema/CreateTelepactSchemaFromFileJsonMap.d.ts +2 -0
- package/dist/src/internal/schema/CreateTelepactSchemaFromFileJsonMap.js +33 -0
- package/dist/src/internal/schema/CreateTelepactSchemaFromFileJsonMap.js.map +1 -0
- package/dist/src/internal/schema/DerivePossibleSelect.d.ts +2 -0
- package/dist/src/internal/schema/DerivePossibleSelect.js +87 -0
- package/dist/src/internal/schema/DerivePossibleSelect.js.map +1 -0
- package/dist/src/internal/schema/FindMatchingSchemaKey.d.ts +1 -0
- package/dist/src/internal/schema/FindMatchingSchemaKey.js +27 -0
- package/dist/src/internal/schema/FindMatchingSchemaKey.js.map +1 -0
- package/dist/src/internal/schema/FindSchemaKey.d.ts +1 -0
- package/dist/src/internal/schema/FindSchemaKey.js +40 -0
- package/dist/src/internal/schema/FindSchemaKey.js.map +1 -0
- package/dist/src/internal/schema/GetAuthTelepactJson.d.ts +1 -0
- package/dist/src/internal/schema/GetAuthTelepactJson.js +20 -0
- package/dist/src/internal/schema/GetAuthTelepactJson.js.map +1 -0
- package/dist/src/internal/schema/GetInternalTelepactJson.d.ts +1 -0
- package/dist/src/internal/schema/GetInternalTelepactJson.js +20 -0
- package/dist/src/internal/schema/GetInternalTelepactJson.js.map +1 -0
- package/dist/src/internal/schema/GetMockTelepactJson.d.ts +1 -0
- package/dist/src/internal/schema/GetMockTelepactJson.js +20 -0
- package/dist/src/internal/schema/GetMockTelepactJson.js.map +1 -0
- package/dist/src/internal/schema/GetOrParseType.d.ts +3 -0
- package/dist/src/internal/schema/GetOrParseType.js +108 -0
- package/dist/src/internal/schema/GetOrParseType.js.map +1 -0
- package/dist/src/internal/schema/GetPathDocumentCoordinatesPseudoJson.d.ts +7 -0
- package/dist/src/internal/schema/GetPathDocumentCoordinatesPseudoJson.js +218 -0
- package/dist/src/internal/schema/GetPathDocumentCoordinatesPseudoJson.js.map +1 -0
- package/dist/src/internal/schema/GetSchemaFileMap.d.ts +2 -0
- package/dist/src/internal/schema/GetSchemaFileMap.js +40 -0
- package/dist/src/internal/schema/GetSchemaFileMap.js.map +1 -0
- package/dist/src/internal/schema/GetTypeUnexpectedParseFailure.d.ts +2 -0
- package/dist/src/internal/schema/GetTypeUnexpectedParseFailure.js +26 -0
- package/dist/src/internal/schema/GetTypeUnexpectedParseFailure.js.map +1 -0
- package/dist/src/internal/schema/MapSchemaParseFailuresToPseudoJson.d.ts +2 -0
- package/dist/src/internal/schema/MapSchemaParseFailuresToPseudoJson.js +31 -0
- package/dist/src/internal/schema/MapSchemaParseFailuresToPseudoJson.js.map +1 -0
- package/dist/src/internal/schema/ParseContext.d.ts +41 -0
- package/dist/src/internal/schema/ParseContext.js +41 -0
- package/dist/src/internal/schema/ParseContext.js.map +1 -0
- package/dist/src/internal/schema/ParseErrorType.d.ts +5 -0
- package/dist/src/internal/schema/ParseErrorType.js +35 -0
- package/dist/src/internal/schema/ParseErrorType.js.map +1 -0
- package/dist/src/internal/schema/ParseField.d.ts +3 -0
- package/dist/src/internal/schema/ParseField.js +36 -0
- package/dist/src/internal/schema/ParseField.js.map +1 -0
- package/dist/src/internal/schema/ParseFunctionType.d.ts +8 -0
- package/dist/src/internal/schema/ParseFunctionType.js +75 -0
- package/dist/src/internal/schema/ParseFunctionType.js.map +1 -0
- package/dist/src/internal/schema/ParseHeadersType.d.ts +5 -0
- package/dist/src/internal/schema/ParseHeadersType.js +92 -0
- package/dist/src/internal/schema/ParseHeadersType.js.map +1 -0
- package/dist/src/internal/schema/ParseStructFields.d.ts +7 -0
- package/dist/src/internal/schema/ParseStructFields.js +58 -0
- package/dist/src/internal/schema/ParseStructFields.js.map +1 -0
- package/dist/src/internal/schema/ParseStructType.d.ts +5 -0
- package/dist/src/internal/schema/ParseStructType.js +53 -0
- package/dist/src/internal/schema/ParseStructType.js.map +1 -0
- package/dist/src/internal/schema/ParseTelepactSchema.d.ts +2 -0
- package/dist/src/internal/schema/ParseTelepactSchema.js +257 -0
- package/dist/src/internal/schema/ParseTelepactSchema.js.map +1 -0
- package/dist/src/internal/schema/ParseTypeDeclaration.d.ts +2 -0
- package/dist/src/internal/schema/ParseTypeDeclaration.js +84 -0
- package/dist/src/internal/schema/ParseTypeDeclaration.js.map +1 -0
- package/dist/src/internal/schema/ParseUnionType.d.ts +5 -0
- package/dist/src/internal/schema/ParseUnionType.js +138 -0
- package/dist/src/internal/schema/ParseUnionType.js.map +1 -0
- package/dist/src/internal/schema/SchemaParseFailure.d.ts +8 -0
- package/dist/src/internal/schema/SchemaParseFailure.js +29 -0
- package/dist/src/internal/schema/SchemaParseFailure.js.map +1 -0
- package/dist/src/internal/types/GetType.d.ts +1 -0
- package/dist/src/internal/types/GetType.js +39 -0
- package/dist/src/internal/types/GetType.js.map +1 -0
- package/dist/src/internal/types/TAny.d.ts +11 -0
- package/dist/src/internal/types/TAny.js +33 -0
- package/dist/src/internal/types/TAny.js.map +1 -0
- package/dist/src/internal/types/TArray.d.ts +12 -0
- package/dist/src/internal/types/TArray.js +34 -0
- package/dist/src/internal/types/TArray.js.map +1 -0
- package/dist/src/internal/types/TBoolean.d.ts +12 -0
- package/dist/src/internal/types/TBoolean.js +34 -0
- package/dist/src/internal/types/TBoolean.js.map +1 -0
- package/dist/src/internal/types/TBytes.d.ts +12 -0
- package/dist/src/internal/types/TBytes.js +34 -0
- package/dist/src/internal/types/TBytes.js.map +1 -0
- package/dist/src/internal/types/TError.d.ts +6 -0
- package/dist/src/internal/types/TError.js +24 -0
- package/dist/src/internal/types/TError.js.map +1 -0
- package/dist/src/internal/types/TFieldDeclaration.d.ts +7 -0
- package/dist/src/internal/types/TFieldDeclaration.js +26 -0
- package/dist/src/internal/types/TFieldDeclaration.js.map +1 -0
- package/dist/src/internal/types/THeaders.d.ts +15 -0
- package/dist/src/internal/types/THeaders.js +26 -0
- package/dist/src/internal/types/THeaders.js.map +1 -0
- package/dist/src/internal/types/TInteger.d.ts +12 -0
- package/dist/src/internal/types/TInteger.js +34 -0
- package/dist/src/internal/types/TInteger.js.map +1 -0
- package/dist/src/internal/types/TMockCall.d.ts +16 -0
- package/dist/src/internal/types/TMockCall.js +39 -0
- package/dist/src/internal/types/TMockCall.js.map +1 -0
- package/dist/src/internal/types/TMockStub.d.ts +18 -0
- package/dist/src/internal/types/TMockStub.js +39 -0
- package/dist/src/internal/types/TMockStub.js.map +1 -0
- package/dist/src/internal/types/TNumber.d.ts +12 -0
- package/dist/src/internal/types/TNumber.js +34 -0
- package/dist/src/internal/types/TNumber.js.map +1 -0
- package/dist/src/internal/types/TObject.d.ts +12 -0
- package/dist/src/internal/types/TObject.js +33 -0
- package/dist/src/internal/types/TObject.js.map +1 -0
- package/dist/src/internal/types/TSelect.d.ts +13 -0
- package/dist/src/internal/types/TSelect.js +34 -0
- package/dist/src/internal/types/TSelect.js.map +1 -0
- package/dist/src/internal/types/TString.d.ts +12 -0
- package/dist/src/internal/types/TString.js +34 -0
- package/dist/src/internal/types/TString.js.map +1 -0
- package/dist/src/internal/types/TStruct.d.ts +20 -0
- package/dist/src/internal/types/TStruct.js +39 -0
- package/dist/src/internal/types/TStruct.js.map +1 -0
- package/dist/src/internal/types/TType.d.ts +10 -0
- package/dist/src/internal/types/TType.js +18 -0
- package/dist/src/internal/types/TType.js.map +1 -0
- package/dist/src/internal/types/TTypeDeclaration.d.ts +12 -0
- package/dist/src/internal/types/TTypeDeclaration.js +34 -0
- package/dist/src/internal/types/TTypeDeclaration.js.map +1 -0
- package/dist/src/internal/types/TUnion.d.ts +25 -0
- package/dist/src/internal/types/TUnion.js +41 -0
- package/dist/src/internal/types/TUnion.js.map +1 -0
- package/dist/src/internal/validation/GetInvalidErrorMessage.d.ts +6 -0
- package/dist/src/internal/validation/GetInvalidErrorMessage.js +29 -0
- package/dist/src/internal/validation/GetInvalidErrorMessage.js.map +1 -0
- package/dist/src/internal/validation/GetTypeUnexpectedValidationFailure.d.ts +2 -0
- package/dist/src/internal/validation/GetTypeUnexpectedValidationFailure.js +26 -0
- package/dist/src/internal/validation/GetTypeUnexpectedValidationFailure.js.map +1 -0
- package/dist/src/internal/validation/InvalidMessage.d.ts +3 -0
- package/dist/src/internal/validation/InvalidMessage.js +21 -0
- package/dist/src/internal/validation/InvalidMessage.js.map +1 -0
- package/dist/src/internal/validation/InvalidMessageBody.d.ts +2 -0
- package/dist/src/internal/validation/InvalidMessageBody.js +18 -0
- package/dist/src/internal/validation/InvalidMessageBody.js.map +1 -0
- package/dist/src/internal/validation/MapValidationFailuresToInvalidFieldCases.d.ts +2 -0
- package/dist/src/internal/validation/MapValidationFailuresToInvalidFieldCases.js +27 -0
- package/dist/src/internal/validation/MapValidationFailuresToInvalidFieldCases.js.map +1 -0
- package/dist/src/internal/validation/ValidateArray.d.ts +4 -0
- package/dist/src/internal/validation/ValidateArray.js +42 -0
- package/dist/src/internal/validation/ValidateArray.js.map +1 -0
- package/dist/src/internal/validation/ValidateBoolean.d.ts +2 -0
- package/dist/src/internal/validation/ValidateBoolean.js +26 -0
- package/dist/src/internal/validation/ValidateBoolean.js.map +1 -0
- package/dist/src/internal/validation/ValidateBytes.d.ts +3 -0
- package/dist/src/internal/validation/ValidateBytes.js +56 -0
- package/dist/src/internal/validation/ValidateBytes.js.map +1 -0
- package/dist/src/internal/validation/ValidateContext.d.ts +13 -0
- package/dist/src/internal/validation/ValidateContext.js +32 -0
- package/dist/src/internal/validation/ValidateContext.js.map +1 -0
- package/dist/src/internal/validation/ValidateHeaders.d.ts +3 -0
- package/dist/src/internal/validation/ValidateHeaders.js +34 -0
- package/dist/src/internal/validation/ValidateHeaders.js.map +1 -0
- package/dist/src/internal/validation/ValidateInteger.d.ts +2 -0
- package/dist/src/internal/validation/ValidateInteger.js +33 -0
- package/dist/src/internal/validation/ValidateInteger.js.map +1 -0
- package/dist/src/internal/validation/ValidateMockCall.d.ts +4 -0
- package/dist/src/internal/validation/ValidateMockCall.js +50 -0
- package/dist/src/internal/validation/ValidateMockCall.js.map +1 -0
- package/dist/src/internal/validation/ValidateMockStub.d.ts +6 -0
- package/dist/src/internal/validation/ValidateMockStub.js +73 -0
- package/dist/src/internal/validation/ValidateMockStub.js.map +1 -0
- package/dist/src/internal/validation/ValidateNumber.d.ts +2 -0
- package/dist/src/internal/validation/ValidateNumber.js +33 -0
- package/dist/src/internal/validation/ValidateNumber.js.map +1 -0
- package/dist/src/internal/validation/ValidateObject.d.ts +4 -0
- package/dist/src/internal/validation/ValidateObject.js +40 -0
- package/dist/src/internal/validation/ValidateObject.js.map +1 -0
- package/dist/src/internal/validation/ValidateResult.d.ts +2 -0
- package/dist/src/internal/validation/ValidateResult.js +25 -0
- package/dist/src/internal/validation/ValidateResult.js.map +1 -0
- package/dist/src/internal/validation/ValidateSelect.d.ts +3 -0
- package/dist/src/internal/validation/ValidateSelect.js +56 -0
- package/dist/src/internal/validation/ValidateSelect.js.map +1 -0
- package/dist/src/internal/validation/ValidateString.d.ts +2 -0
- package/dist/src/internal/validation/ValidateString.js +26 -0
- package/dist/src/internal/validation/ValidateString.js.map +1 -0
- package/dist/src/internal/validation/ValidateStruct.d.ts +4 -0
- package/dist/src/internal/validation/ValidateStruct.js +28 -0
- package/dist/src/internal/validation/ValidateStruct.js.map +1 -0
- package/dist/src/internal/validation/ValidateStructFields.d.ts +4 -0
- package/dist/src/internal/validation/ValidateStructFields.js +53 -0
- package/dist/src/internal/validation/ValidateStructFields.js.map +1 -0
- package/dist/src/internal/validation/ValidateUnion.d.ts +4 -0
- package/dist/src/internal/validation/ValidateUnion.js +34 -0
- package/dist/src/internal/validation/ValidateUnion.js.map +1 -0
- package/dist/src/internal/validation/ValidateUnionStruct.d.ts +4 -0
- package/dist/src/internal/validation/ValidateUnionStruct.js +24 -0
- package/dist/src/internal/validation/ValidateUnionStruct.js.map +1 -0
- package/dist/src/internal/validation/ValidateUnionTags.d.ts +4 -0
- package/dist/src/internal/validation/ValidateUnionTags.js +46 -0
- package/dist/src/internal/validation/ValidateUnionTags.js.map +1 -0
- package/dist/src/internal/validation/ValidateValueOfType.d.ts +5 -0
- package/dist/src/internal/validation/ValidateValueOfType.js +28 -0
- package/dist/src/internal/validation/ValidateValueOfType.js.map +1 -0
- package/dist/src/internal/validation/ValidationFailure.d.ts +6 -0
- package/dist/src/internal/validation/ValidationFailure.js +26 -0
- package/dist/src/internal/validation/ValidationFailure.js.map +1 -0
- 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":"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,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAK5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,wCAAwC,EAAE,MAAM,uDAAuD,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,cAAuB,EACvB,cAA8B,EAC9B,OAA+C,EAC/C,OAA+B;IAE/B,MAAM,eAAe,GAAwB,EAAE,CAAC;IAChD,MAAM,cAAc,GAAwB,cAAc,CAAC,OAAO,CAAC;IACnE,MAAM,WAAW,GAAwB,cAAc,CAAC,IAAI,CAAC;IAC7D,MAAM,oBAAoB,GAA0B,cAAc,CAAC,MAAM,CAAC;IAC1E,MAAM,YAAY,GAAkB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAwB,CAAC;IAE9D,IAAI,aAA4B,CAAC;IACjC,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC,CAAC,iBAAiB,IAAI,oBAAoB,CAAC,EAAE,CAAC;QAC/C,aAAa,GAAG,iBAAiB,CAAC;QAClC,aAAa,GAAG,UAAU,CAAC;IAC/B,CAAC;SAAM,CAAC;QACJ,aAAa,GAAG,IAAI,CAAC;QACrB,aAAa,GAAG,iBAAiB,CAAC;IACtC,CAAC;IAED,MAAM,YAAY,GAAG,aAAa,CAAC;IACnC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,aAAa,CAAW,CAAC;IAC/D,MAAM,eAAe,GAAW,oBAAoB,CAAC,GAAG,aAAa,KAAK,CAAW,CAAC;IAEtF,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,eAAe,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACrC,CAAC;IAED,IAAI,gBAAgB,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,CAAU,CAAC;QAChE,MAAM,cAAc,GAAwB;YACxC,kBAAkB,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;SACjD,CAAC;QAEF,cAAc,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAEhD,OAAO,IAAI,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,+BAA+B,GAAwB,eAAe,CACxE,cAAc,EACd,cAAc,CAAC,oBAAoB,EACnC,YAAY,CACf,CAAC;IACF,IAAI,+BAA+B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,sBAAsB,CACzB,6BAA6B,EAC7B,+BAA+B,EAC/B,eAAe,EACf,eAAe,CAClB,CAAC;IACN,CAAC;IAED,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;QAC5B,MAAM,0BAA0B,GAAG,cAAc,CAAC,OAAO,CAAU,CAAC;QAEpE,eAAe,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;QACnC,eAAe,CAAC,8BAA8B,CAAC,GAAG,0BAA0B,CAAC;QAE7E,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;YAC5B,eAAe,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAED,MAAM,wBAAwB,GAA+B,cAAc,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;IAEhG,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,cAAc,GAAwB;YACxC,wBAAwB,EAAE;gBACtB,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,CAAC,aAAa,CAAC;wBACrB,MAAM,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;qBAClC;iBACJ;aACJ;SACJ,CAAC;QAEF,cAAc,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAChD,OAAO,IAAI,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,gBAAgB,GAAW,QAAQ,CAAC;IAE1C,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,MAAM,iBAAiB,GAAG,CAAC,CAAoB,EAAE,EAAE;QAC/C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC;YACJ,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;IAEtE,MAAM,sBAAsB,GAAwB,gBAAgB;SAC/D,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,eAAe,CAAC;SAC1C,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC/B,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzD,MAAM,YAAY,GAAG,wCAAwC,CAAC,QAAQ,CAAC,CAAC;YACxE,eAAe,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,sBAAsB,CACzB,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,eAAe,CAClB,CAAC;IACN,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,qBAAqB,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;IAElE,MAAM,WAAW,GAAY,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAE7F,IAAI,aAAsB,CAAC;IAC3B,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAC9B,aAAa,GAAG,IAAI,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACpC,aAAa,GAAG,IAAI,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC;YACD,aAAa,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,eAAe;YACnB,CAAC;YACD,OAAO,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAwB,aAAa,CAAC,IAAI,CAAC;IAE5D,aAAa,CAAC,OAAO,GAAG,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IACzE,MAAM,oBAAoB,GAAwB,aAAa,CAAC,OAAO,CAAC;IAExE,MAAM,oBAAoB,GAAY,qBAAqB,CAAC;IAE5D,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,IAAI,CAAA;IACvD,MAAM,iBAAiB,GAAG,IAAI,eAAe,CAAC,wBAAwB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACpG,MAAM,wBAAwB,GAAwB,eAAe;SAChE,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,iBAAiB,CAAC;SAC5C,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE/B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,MAAM,YAAY,GAAG,wCAAwC,CAAC,QAAQ,CAAC,CAAC;QACxE,eAAe,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/D,OAAO,sBAAsB,CACzB,2BAA2B,EAC3B,wBAAwB,EACxB,eAAe,EACf,eAAe,CAClB,CAAC;IACN,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,oBAAoB,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,eAAe,CAAC;IACzE,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,gCAAgC,GAAwB,eAAe,CACzE,oBAAoB,EACpB,cAAc,CAAC,qBAAqB,EACpC,YAAY,CACf,CAAC;IACF,IAAI,gCAAgC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,sBAAsB,CACzB,8BAA8B,EAC9B,gCAAgC,EAChC,eAAe,EACf,eAAe,CAClB,CAAC;IACN,CAAC;IAED,IAAI,gBAAqC,CAAC;IAC1C,IAAI,wBAAwB,KAAK,IAAI,EAAE,CAAC;QACpC,gBAAgB,GAAG,kBAAkB,CACjC,IAAI,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC,EAChD,WAAW,EACX,wBAAwB,CACJ,CAAC;IAC7B,CAAC;SAAM,CAAC;QACJ,gBAAgB,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -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,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":"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,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,MAAM,UAAU,kBAAkB,CAC9B,eAAiC,EACjC,KAAU,EACV,oBAA4C;IAE5C,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,CAAC;IACjD,MAAM,yBAAyB,GAAG,eAAe,CAAC,cAAc,CAAC;IAEjE,IAAI,mBAAmB,YAAY,OAAO,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC;QAC1C,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC;QAC5C,MAAM,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAyB,CAAC;QAChF,MAAM,UAAU,GAAG,KAA+B,CAAC;QACnD,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAE5C,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrE,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChC,MAAM,oBAAoB,GAAG,KAAK,CAAC,eAAe,CAAC;gBACnD,MAAM,uBAAuB,GAAG,kBAAkB,CAC9C,oBAAoB,EACpB,UAAU,EACV,oBAAoB,CACvB,CAAC;gBAEF,QAAQ,CAAC,SAAS,CAAC,GAAG,uBAAuB,CAAC;YAClD,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;SAAM,IAAI,mBAAmB,YAAY,MAAM,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,KAA+B,CAAC;QACnD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5D,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC;QAC3C,MAAM,oBAAoB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CAAC;QACzD,MAAM,mBAAmB,GAAgC,EAAE,CAAC;QAE5D,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACnD,mBAAmB,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;QAC9C,CAAC;QAED,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAE1D,CAAC;QAChB,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC,QAAQ,CAAC,IAAI,iCAAiC,CAAC;QAE5F,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrE,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM,uBAAuB,GAAG,kBAAkB,CAC9C,KAAK,CAAC,eAAe,EACrB,UAAU,EACV,oBAAoB,CACvB,CAAC;gBAEF,QAAQ,CAAC,SAAS,CAAC,GAAG,uBAAuB,CAAC;YAClD,CAAC;QACL,CAAC;QAED,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpC,CAAC;SAAM,IAAI,mBAAmB,YAAY,OAAO,EAAE,CAAC;QAChD,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,KAA+B,CAAC;QAEnD,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;YAEvG,QAAQ,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC;QAC5C,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;SAAM,IAAI,mBAAmB,YAAY,MAAM,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,KAAc,CAAC;QAEnC,MAAM,SAAS,GAAU,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;YAC5F,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;SAAM,CAAC;QACJ,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
|
|
@@ -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,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,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,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"}
|