@fintekkers/ledger-models 0.0.100
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/.vscode/launch.json +20 -0
- package/README.md +25 -0
- package/babel.config.js +3 -0
- package/index.js +14 -0
- package/index.js.map +1 -0
- package/index.ts +18 -0
- package/node/fintekkers/models/portfolio/portfolio_grpc_pb.js +1 -0
- package/node/fintekkers/models/portfolio/portfolio_pb.d.ts +62 -0
- package/node/fintekkers/models/portfolio/portfolio_pb.js +474 -0
- package/node/fintekkers/models/position/field_grpc_pb.js +1 -0
- package/node/fintekkers/models/position/field_pb.d.ts +39 -0
- package/node/fintekkers/models/position/field_pb.js +60 -0
- package/node/fintekkers/models/position/measure_grpc_pb.js +1 -0
- package/node/fintekkers/models/position/measure_pb.d.ts +17 -0
- package/node/fintekkers/models/position/measure_pb.js +38 -0
- package/node/fintekkers/models/position/position_filter_grpc_pb.js +1 -0
- package/node/fintekkers/models/position/position_filter_pb.d.ts +36 -0
- package/node/fintekkers/models/position/position_filter_pb.js +268 -0
- package/node/fintekkers/models/position/position_grpc_pb.js +1 -0
- package/node/fintekkers/models/position/position_pb.d.ts +59 -0
- package/node/fintekkers/models/position/position_pb.js +401 -0
- package/node/fintekkers/models/position/position_status_grpc_pb.js +1 -0
- package/node/fintekkers/models/position/position_status_pb.d.ts +14 -0
- package/node/fintekkers/models/position/position_status_pb.js +35 -0
- package/node/fintekkers/models/position/position_util_grpc_pb.js +1 -0
- package/node/fintekkers/models/position/position_util_pb.d.ts +98 -0
- package/node/fintekkers/models/position/position_util_pb.js +606 -0
- package/node/fintekkers/models/price/price_grpc_pb.js +1 -0
- package/node/fintekkers/models/price/price_pb.d.ts +73 -0
- package/node/fintekkers/models/price/price_pb.js +550 -0
- package/node/fintekkers/models/security/coupon_frequency_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/coupon_frequency_pb.d.ts +16 -0
- package/node/fintekkers/models/security/coupon_frequency_pb.js +37 -0
- package/node/fintekkers/models/security/coupon_type_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/coupon_type_pb.d.ts +14 -0
- package/node/fintekkers/models/security/coupon_type_pb.js +35 -0
- package/node/fintekkers/models/security/identifier/identifier_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/identifier/identifier_pb.d.ts +37 -0
- package/node/fintekkers/models/security/identifier/identifier_pb.js +268 -0
- package/node/fintekkers/models/security/identifier/identifier_type_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/identifier/identifier_type_pb.d.ts +17 -0
- package/node/fintekkers/models/security/identifier/identifier_type_pb.js +38 -0
- package/node/fintekkers/models/security/security_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/security_pb.d.ts +132 -0
- package/node/fintekkers/models/security/security_pb.js +1055 -0
- package/node/fintekkers/models/security/security_pb.test.js +32 -0
- package/node/fintekkers/models/security/security_quantity_type_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/security_quantity_type_pb.d.ts +14 -0
- package/node/fintekkers/models/security/security_quantity_type_pb.js +35 -0
- package/node/fintekkers/models/security/security_type_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/security_type_pb.d.ts +16 -0
- package/node/fintekkers/models/security/security_type_pb.js +37 -0
- package/node/fintekkers/models/security/tenor_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/tenor_pb.d.ts +37 -0
- package/node/fintekkers/models/security/tenor_pb.js +268 -0
- package/node/fintekkers/models/security/tenor_type_grpc_pb.js +1 -0
- package/node/fintekkers/models/security/tenor_type_pb.d.ts +13 -0
- package/node/fintekkers/models/security/tenor_type_pb.js +34 -0
- package/node/fintekkers/models/strategy/strategy_allocation_grpc_pb.js +1 -0
- package/node/fintekkers/models/strategy/strategy_allocation_pb.d.ts +83 -0
- package/node/fintekkers/models/strategy/strategy_allocation_pb.js +630 -0
- package/node/fintekkers/models/strategy/strategy_grpc_pb.js +1 -0
- package/node/fintekkers/models/strategy/strategy_pb.d.ts +68 -0
- package/node/fintekkers/models/strategy/strategy_pb.js +525 -0
- package/node/fintekkers/models/transaction/transaction_grpc_pb.js +1 -0
- package/node/fintekkers/models/transaction/transaction_pb.d.ts +126 -0
- package/node/fintekkers/models/transaction/transaction_pb.js +997 -0
- package/node/fintekkers/models/transaction/transaction_type_grpc_pb.js +1 -0
- package/node/fintekkers/models/transaction/transaction_type_pb.d.ts +17 -0
- package/node/fintekkers/models/transaction/transaction_type_pb.js +38 -0
- package/node/fintekkers/models/util/decimal_value_grpc_pb.js +1 -0
- package/node/fintekkers/models/util/decimal_value_pb.d.ts +27 -0
- package/node/fintekkers/models/util/decimal_value_pb.js +176 -0
- package/node/fintekkers/models/util/endpoint_grpc_pb.js +1 -0
- package/node/fintekkers/models/util/endpoint_pb.d.ts +33 -0
- package/node/fintekkers/models/util/endpoint_pb.js +236 -0
- package/node/fintekkers/models/util/local_date_grpc_pb.js +1 -0
- package/node/fintekkers/models/util/local_date_pb.d.ts +33 -0
- package/node/fintekkers/models/util/local_date_pb.js +236 -0
- package/node/fintekkers/models/util/local_timestamp_grpc_pb.js +1 -0
- package/node/fintekkers/models/util/local_timestamp_pb.d.ts +34 -0
- package/node/fintekkers/models/util/local_timestamp_pb.js +229 -0
- package/node/fintekkers/models/util/lock/node_partition_grpc_pb.js +1 -0
- package/node/fintekkers/models/util/lock/node_partition_pb.d.ts +36 -0
- package/node/fintekkers/models/util/lock/node_partition_pb.js +266 -0
- package/node/fintekkers/models/util/lock/node_state_grpc_pb.js +1 -0
- package/node/fintekkers/models/util/lock/node_state_pb.d.ts +54 -0
- package/node/fintekkers/models/util/lock/node_state_pb.js +395 -0
- package/node/fintekkers/models/util/uuid_grpc_pb.js +1 -0
- package/node/fintekkers/models/util/uuid_pb.d.ts +29 -0
- package/node/fintekkers/models/util/uuid_pb.js +200 -0
- package/node/fintekkers/requests/portfolio/create_portfolio_request_grpc_pb.js +1 -0
- package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.d.ts +37 -0
- package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.js +259 -0
- package/node/fintekkers/requests/portfolio/create_portfolio_response_grpc_pb.js +1 -0
- package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.d.ts +43 -0
- package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.js +321 -0
- package/node/fintekkers/requests/portfolio/query_portfolio_request_grpc_pb.js +1 -0
- package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.d.ts +50 -0
- package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.js +374 -0
- package/node/fintekkers/requests/portfolio/query_portfolio_response_grpc_pb.js +1 -0
- package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.d.ts +43 -0
- package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.js +321 -0
- package/node/fintekkers/requests/position/query_position_request_grpc_pb.js +1 -0
- package/node/fintekkers/requests/position/query_position_request_pb.d.ts +67 -0
- package/node/fintekkers/requests/position/query_position_request_pb.js +519 -0
- package/node/fintekkers/requests/position/query_position_response_grpc_pb.js +1 -0
- package/node/fintekkers/requests/position/query_position_response_pb.d.ts +46 -0
- package/node/fintekkers/requests/position/query_position_response_pb.js +351 -0
- package/node/fintekkers/requests/price/create_price_request_grpc_pb.js +1 -0
- package/node/fintekkers/requests/price/create_price_request_pb.d.ts +37 -0
- package/node/fintekkers/requests/price/create_price_request_pb.js +259 -0
- package/node/fintekkers/requests/price/create_price_response_grpc_pb.js +1 -0
- package/node/fintekkers/requests/price/create_price_response_pb.d.ts +43 -0
- package/node/fintekkers/requests/price/create_price_response_pb.js +321 -0
- package/node/fintekkers/requests/price/query_price_request_grpc_pb.js +1 -0
- package/node/fintekkers/requests/price/query_price_request_pb.d.ts +50 -0
- package/node/fintekkers/requests/price/query_price_request_pb.js +374 -0
- package/node/fintekkers/requests/price/query_price_response_grpc_pb.js +1 -0
- package/node/fintekkers/requests/price/query_price_response_pb.d.ts +43 -0
- package/node/fintekkers/requests/price/query_price_response_pb.js +321 -0
- package/node/fintekkers/requests/security/create_security_request_grpc_pb.js +1 -0
- package/node/fintekkers/requests/security/create_security_request_pb.d.ts +37 -0
- package/node/fintekkers/requests/security/create_security_request_pb.js +259 -0
- package/node/fintekkers/requests/security/create_security_response_grpc_pb.js +1 -0
- package/node/fintekkers/requests/security/create_security_response_pb.d.ts +51 -0
- package/node/fintekkers/requests/security/create_security_response_pb.js +365 -0
- package/node/fintekkers/requests/security/query_security_request_grpc_pb.js +1 -0
- package/node/fintekkers/requests/security/query_security_request_pb.d.ts +50 -0
- package/node/fintekkers/requests/security/query_security_request_pb.js +374 -0
- package/node/fintekkers/requests/security/query_security_response_grpc_pb.js +1 -0
- package/node/fintekkers/requests/security/query_security_response_pb.d.ts +49 -0
- package/node/fintekkers/requests/security/query_security_response_pb.js +376 -0
- package/node/fintekkers/requests/transaction/create_transaction_request_grpc_pb.js +1 -0
- package/node/fintekkers/requests/transaction/create_transaction_request_pb.d.ts +37 -0
- package/node/fintekkers/requests/transaction/create_transaction_request_pb.js +259 -0
- package/node/fintekkers/requests/transaction/create_transaction_response_grpc_pb.js +1 -0
- package/node/fintekkers/requests/transaction/create_transaction_response_pb.d.ts +44 -0
- package/node/fintekkers/requests/transaction/create_transaction_response_pb.js +312 -0
- package/node/fintekkers/requests/transaction/query_transaction_request_grpc_pb.js +1 -0
- package/node/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +50 -0
- package/node/fintekkers/requests/transaction/query_transaction_request_pb.js +374 -0
- package/node/fintekkers/requests/transaction/query_transaction_response_grpc_pb.js +1 -0
- package/node/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +43 -0
- package/node/fintekkers/requests/transaction/query_transaction_response_pb.js +321 -0
- package/node/fintekkers/requests/util/errors/error_grpc_pb.js +1 -0
- package/node/fintekkers/requests/util/errors/error_pb.d.ts +65 -0
- package/node/fintekkers/requests/util/errors/error_pb.js +441 -0
- package/node/fintekkers/requests/util/errors/message_grpc_pb.js +1 -0
- package/node/fintekkers/requests/util/errors/message_pb.d.ts +30 -0
- package/node/fintekkers/requests/util/errors/message_pb.js +206 -0
- package/node/fintekkers/requests/util/errors/summary_grpc_pb.js +1 -0
- package/node/fintekkers/requests/util/errors/summary_pb.d.ts +35 -0
- package/node/fintekkers/requests/util/errors/summary_pb.js +261 -0
- package/node/fintekkers/requests/util/lock/lock_request_grpc_pb.js +1 -0
- package/node/fintekkers/requests/util/lock/lock_request_pb.d.ts +37 -0
- package/node/fintekkers/requests/util/lock/lock_request_pb.js +259 -0
- package/node/fintekkers/requests/util/lock/lock_response_grpc_pb.js +1 -0
- package/node/fintekkers/requests/util/lock/lock_response_pb.d.ts +51 -0
- package/node/fintekkers/requests/util/lock/lock_response_pb.js +365 -0
- package/node/fintekkers/requests/util/operation_grpc_pb.js +1 -0
- package/node/fintekkers/requests/util/operation_pb.d.ts +15 -0
- package/node/fintekkers/requests/util/operation_pb.js +36 -0
- package/node/fintekkers/requests/valuation/valuation_request_grpc_pb.js +1 -0
- package/node/fintekkers/requests/valuation/valuation_request_pb.d.ts +61 -0
- package/node/fintekkers/requests/valuation/valuation_request_pb.js +457 -0
- package/node/fintekkers/requests/valuation/valuation_response_grpc_pb.js +1 -0
- package/node/fintekkers/requests/valuation/valuation_response_pb.d.ts +43 -0
- package/node/fintekkers/requests/valuation/valuation_response_pb.js +321 -0
- package/node/fintekkers/services/lock-service/lock_service_grpc_pb.d.ts +129 -0
- package/node/fintekkers/services/lock-service/lock_service_grpc_pb.js +179 -0
- package/node/fintekkers/services/lock-service/lock_service_pb.d.ts +78 -0
- package/node/fintekkers/services/lock-service/lock_service_pb.js +576 -0
- package/node/fintekkers/services/portfolio-service/portfolio_service_grpc_pb.d.ts +129 -0
- package/node/fintekkers/services/portfolio-service/portfolio_service_grpc_pb.js +136 -0
- package/node/fintekkers/services/portfolio-service/portfolio_service_pb.d.ts +12 -0
- package/node/fintekkers/services/portfolio-service/portfolio_service_pb.js +33 -0
- package/node/fintekkers/services/position-service/position_service_grpc_pb.d.ts +59 -0
- package/node/fintekkers/services/position-service/position_service_grpc_pb.js +71 -0
- package/node/fintekkers/services/position-service/position_service_pb.d.ts +10 -0
- package/node/fintekkers/services/position-service/position_service_pb.js +29 -0
- package/node/fintekkers/services/price-service/price_service_grpc_pb.d.ts +129 -0
- package/node/fintekkers/services/price-service/price_service_grpc_pb.js +136 -0
- package/node/fintekkers/services/price-service/price_service_pb.d.ts +12 -0
- package/node/fintekkers/services/price-service/price_service_pb.js +33 -0
- package/node/fintekkers/services/security-service/security_service_grpc_pb.d.ts +129 -0
- package/node/fintekkers/services/security-service/security_service_grpc_pb.js +136 -0
- package/node/fintekkers/services/security-service/security_service_pb.d.ts +12 -0
- package/node/fintekkers/services/security-service/security_service_pb.js +33 -0
- package/node/fintekkers/services/transaction-service/transaction_service_grpc_pb.d.ts +129 -0
- package/node/fintekkers/services/transaction-service/transaction_service_grpc_pb.js +136 -0
- package/node/fintekkers/services/transaction-service/transaction_service_pb.d.ts +12 -0
- package/node/fintekkers/services/transaction-service/transaction_service_pb.js +33 -0
- package/node/fintekkers/services/valuation-service/valuation_service_grpc_pb.d.ts +43 -0
- package/node/fintekkers/services/valuation-service/valuation_service_grpc_pb.js +45 -0
- package/node/fintekkers/services/valuation-service/valuation_service_pb.d.ts +9 -0
- package/node/fintekkers/services/valuation-service/valuation_service_pb.js +27 -0
- package/node/wrappers/models/position/position.js +103 -0
- package/node/wrappers/models/position/position.js.map +1 -0
- package/node/wrappers/models/position/position.ts +128 -0
- package/node/wrappers/models/security/security.js +78 -0
- package/node/wrappers/models/security/security.js.map +1 -0
- package/node/wrappers/models/security/security.ts +91 -0
- package/node/wrappers/models/utils/datetime.js +63 -0
- package/node/wrappers/models/utils/datetime.js.map +1 -0
- package/node/wrappers/models/utils/datetime.ts +78 -0
- package/node/wrappers/models/utils/serialization.js +44 -0
- package/node/wrappers/models/utils/serialization.js.map +1 -0
- package/node/wrappers/models/utils/serialization.test.js +71 -0
- package/node/wrappers/models/utils/serialization.test.js.map +1 -0
- package/node/wrappers/models/utils/serialization.test.ts +37 -0
- package/node/wrappers/models/utils/serialization.ts +47 -0
- package/node/wrappers/models/utils/util.js +28 -0
- package/node/wrappers/models/utils/util.js.map +1 -0
- package/node/wrappers/models/utils/util.ts +28 -0
- package/node/wrappers/models/utils/uuid.js +53 -0
- package/node/wrappers/models/utils/uuid.js.map +1 -0
- package/node/wrappers/models/utils/uuid.ts +67 -0
- package/node/wrappers/portfolio.test.js +81 -0
- package/node/wrappers/portfolio.test.js.map +1 -0
- package/node/wrappers/portfolio.test.ts +36 -0
- package/node/wrappers/position.test.js +130 -0
- package/node/wrappers/position.test.js.map +1 -0
- package/node/wrappers/position.test.ts +109 -0
- package/node/wrappers/security.test.js +115 -0
- package/node/wrappers/security.test.js.map +1 -0
- package/node/wrappers/security.test.ts +75 -0
- package/node/wrappers/services/portfolio-service/PortfolioService.js +144 -0
- package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -0
- package/node/wrappers/services/portfolio-service/PortfolioService.ts +99 -0
- package/node/wrappers/services/position-service/PositionService.js +90 -0
- package/node/wrappers/services/position-service/PositionService.js.map +1 -0
- package/node/wrappers/services/position-service/PositionService.ts +68 -0
- package/node/wrappers/services/security-service/SecurityService.js +145 -0
- package/node/wrappers/services/security-service/SecurityService.js.map +1 -0
- package/node/wrappers/services/security-service/SecurityService.ts +99 -0
- package/package.json +36 -0
- package/tsconfig.json +27 -0
- package/web/fintekkers/models/portfolio/portfolio_pb.d.ts +60 -0
- package/web/fintekkers/models/portfolio/portfolio_pb.js +468 -0
- package/web/fintekkers/models/position/field_pb.d.ts +35 -0
- package/web/fintekkers/models/position/field_pb.js +54 -0
- package/web/fintekkers/models/position/measure_pb.d.ts +13 -0
- package/web/fintekkers/models/position/measure_pb.js +32 -0
- package/web/fintekkers/models/position/position_filter_pb.d.ts +33 -0
- package/web/fintekkers/models/position/position_filter_pb.js +262 -0
- package/web/fintekkers/models/position/position_pb.d.ts +57 -0
- package/web/fintekkers/models/position/position_pb.js +395 -0
- package/web/fintekkers/models/position/position_status_pb.d.ts +10 -0
- package/web/fintekkers/models/position/position_status_pb.js +29 -0
- package/web/fintekkers/models/position/position_util_pb.d.ts +86 -0
- package/web/fintekkers/models/position/position_util_pb.js +600 -0
- package/web/fintekkers/models/price/price_pb.d.ts +70 -0
- package/web/fintekkers/models/price/price_pb.js +544 -0
- package/web/fintekkers/models/security/coupon_frequency_pb.d.ts +12 -0
- package/web/fintekkers/models/security/coupon_frequency_pb.js +31 -0
- package/web/fintekkers/models/security/coupon_type_pb.d.ts +10 -0
- package/web/fintekkers/models/security/coupon_type_pb.js +29 -0
- package/web/fintekkers/models/security/identifier/identifier_pb.d.ts +35 -0
- package/web/fintekkers/models/security/identifier/identifier_pb.js +262 -0
- package/web/fintekkers/models/security/identifier/identifier_type_pb.d.ts +13 -0
- package/web/fintekkers/models/security/identifier/identifier_type_pb.js +32 -0
- package/web/fintekkers/models/security/security_pb.d.ts +137 -0
- package/web/fintekkers/models/security/security_pb.js +1049 -0
- package/web/fintekkers/models/security/security_quantity_type_pb.d.ts +10 -0
- package/web/fintekkers/models/security/security_quantity_type_pb.js +29 -0
- package/web/fintekkers/models/security/security_type_pb.d.ts +12 -0
- package/web/fintekkers/models/security/security_type_pb.js +31 -0
- package/web/fintekkers/models/security/tenor_pb.d.ts +35 -0
- package/web/fintekkers/models/security/tenor_pb.js +262 -0
- package/web/fintekkers/models/security/tenor_type_pb.d.ts +9 -0
- package/web/fintekkers/models/security/tenor_type_pb.js +28 -0
- package/web/fintekkers/models/strategy/strategy_allocation_pb.d.ts +78 -0
- package/web/fintekkers/models/strategy/strategy_allocation_pb.js +624 -0
- package/web/fintekkers/models/strategy/strategy_pb.d.ts +66 -0
- package/web/fintekkers/models/strategy/strategy_pb.js +519 -0
- package/web/fintekkers/models/transaction/transaction_pb.d.ts +128 -0
- package/web/fintekkers/models/transaction/transaction_pb.js +991 -0
- package/web/fintekkers/models/transaction/transaction_type_pb.d.ts +13 -0
- package/web/fintekkers/models/transaction/transaction_type_pb.js +32 -0
- package/web/fintekkers/models/util/decimal_value_pb.d.ts +22 -0
- package/web/fintekkers/models/util/decimal_value_pb.js +170 -0
- package/web/fintekkers/models/util/endpoint_pb.d.ts +30 -0
- package/web/fintekkers/models/util/endpoint_pb.js +230 -0
- package/web/fintekkers/models/util/local_date_pb.d.ts +30 -0
- package/web/fintekkers/models/util/local_date_pb.js +230 -0
- package/web/fintekkers/models/util/local_timestamp_pb.d.ts +29 -0
- package/web/fintekkers/models/util/local_timestamp_pb.js +223 -0
- package/web/fintekkers/models/util/lock/node_partition_pb.d.ts +34 -0
- package/web/fintekkers/models/util/lock/node_partition_pb.js +260 -0
- package/web/fintekkers/models/util/lock/node_state_pb.d.ts +51 -0
- package/web/fintekkers/models/util/lock/node_state_pb.js +389 -0
- package/web/fintekkers/models/util/uuid_pb.d.ts +24 -0
- package/web/fintekkers/models/util/uuid_pb.js +194 -0
- package/web/fintekkers/requests/portfolio/create_portfolio_request_pb.d.ts +33 -0
- package/web/fintekkers/requests/portfolio/create_portfolio_request_pb.js +253 -0
- package/web/fintekkers/requests/portfolio/create_portfolio_response_pb.d.ts +40 -0
- package/web/fintekkers/requests/portfolio/create_portfolio_response_pb.js +315 -0
- package/web/fintekkers/requests/portfolio/query_portfolio_request_pb.d.ts +47 -0
- package/web/fintekkers/requests/portfolio/query_portfolio_request_pb.js +368 -0
- package/web/fintekkers/requests/portfolio/query_portfolio_response_pb.d.ts +40 -0
- package/web/fintekkers/requests/portfolio/query_portfolio_response_pb.js +315 -0
- package/web/fintekkers/requests/position/query_position_request_pb.d.ts +68 -0
- package/web/fintekkers/requests/position/query_position_request_pb.js +513 -0
- package/web/fintekkers/requests/position/query_position_response_pb.d.ts +44 -0
- package/web/fintekkers/requests/position/query_position_response_pb.js +345 -0
- package/web/fintekkers/requests/price/create_price_request_pb.d.ts +33 -0
- package/web/fintekkers/requests/price/create_price_request_pb.js +253 -0
- package/web/fintekkers/requests/price/create_price_response_pb.d.ts +40 -0
- package/web/fintekkers/requests/price/create_price_response_pb.js +315 -0
- package/web/fintekkers/requests/price/query_price_request_pb.d.ts +47 -0
- package/web/fintekkers/requests/price/query_price_request_pb.js +368 -0
- package/web/fintekkers/requests/price/query_price_response_pb.d.ts +40 -0
- package/web/fintekkers/requests/price/query_price_response_pb.js +315 -0
- package/web/fintekkers/requests/security/create_security_request_pb.d.ts +33 -0
- package/web/fintekkers/requests/security/create_security_request_pb.js +253 -0
- package/web/fintekkers/requests/security/create_security_response_pb.d.ts +47 -0
- package/web/fintekkers/requests/security/create_security_response_pb.js +359 -0
- package/web/fintekkers/requests/security/query_security_request_pb.d.ts +47 -0
- package/web/fintekkers/requests/security/query_security_request_pb.js +368 -0
- package/web/fintekkers/requests/security/query_security_response_pb.d.ts +47 -0
- package/web/fintekkers/requests/security/query_security_response_pb.js +370 -0
- package/web/fintekkers/requests/transaction/create_transaction_request_pb.d.ts +33 -0
- package/web/fintekkers/requests/transaction/create_transaction_request_pb.js +253 -0
- package/web/fintekkers/requests/transaction/create_transaction_response_pb.d.ts +40 -0
- package/web/fintekkers/requests/transaction/create_transaction_response_pb.js +306 -0
- package/web/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +47 -0
- package/web/fintekkers/requests/transaction/query_transaction_request_pb.js +368 -0
- package/web/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +40 -0
- package/web/fintekkers/requests/transaction/query_transaction_response_pb.js +315 -0
- package/web/fintekkers/requests/util/errors/error_pb.d.ts +57 -0
- package/web/fintekkers/requests/util/errors/error_pb.js +435 -0
- package/web/fintekkers/requests/util/errors/message_pb.d.ts +26 -0
- package/web/fintekkers/requests/util/errors/message_pb.js +200 -0
- package/web/fintekkers/requests/util/errors/summary_pb.d.ts +31 -0
- package/web/fintekkers/requests/util/errors/summary_pb.js +255 -0
- package/web/fintekkers/requests/util/lock/lock_request_pb.d.ts +33 -0
- package/web/fintekkers/requests/util/lock/lock_request_pb.js +253 -0
- package/web/fintekkers/requests/util/lock/lock_response_pb.d.ts +47 -0
- package/web/fintekkers/requests/util/lock/lock_response_pb.js +359 -0
- package/web/fintekkers/requests/util/operation_pb.d.ts +11 -0
- package/web/fintekkers/requests/util/operation_pb.js +30 -0
- package/web/fintekkers/requests/valuation/valuation_request_pb.d.ts +59 -0
- package/web/fintekkers/requests/valuation/valuation_request_pb.js +451 -0
- package/web/fintekkers/requests/valuation/valuation_response_pb.d.ts +40 -0
- package/web/fintekkers/requests/valuation/valuation_response_pb.js +315 -0
- package/web/fintekkers/services/lock-service/lock_service_grpc_web_pb.d.ts +94 -0
- package/web/fintekkers/services/lock-service/lock_service_grpc_web_pb.js +451 -0
- package/web/fintekkers/services/lock-service/lock_service_pb.d.ts +69 -0
- package/web/fintekkers/services/lock-service/lock_service_pb.js +570 -0
- package/web/fintekkers/services/portfolio-service/portfolio_service_grpc_web_pb.d.ts +93 -0
- package/web/fintekkers/services/portfolio-service/portfolio_service_grpc_web_pb.js +451 -0
- package/web/fintekkers/services/portfolio-service/portfolio_service_pb.d.ts +9 -0
- package/web/fintekkers/services/portfolio-service/portfolio_service_pb.js +27 -0
- package/web/fintekkers/services/position-service/position_service_grpc_web_pb.d.ts +43 -0
- package/web/fintekkers/services/position-service/position_service_grpc_web_pb.js +203 -0
- package/web/fintekkers/services/position-service/position_service_pb.d.ts +7 -0
- package/web/fintekkers/services/position-service/position_service_pb.js +23 -0
- package/web/fintekkers/services/price-service/price_service_grpc_web_pb.d.ts +93 -0
- package/web/fintekkers/services/price-service/price_service_grpc_web_pb.js +451 -0
- package/web/fintekkers/services/price-service/price_service_pb.d.ts +9 -0
- package/web/fintekkers/services/price-service/price_service_pb.js +27 -0
- package/web/fintekkers/services/security-service/security_service_grpc_web_pb.d.ts +93 -0
- package/web/fintekkers/services/security-service/security_service_grpc_web_pb.js +451 -0
- package/web/fintekkers/services/security-service/security_service_pb.d.ts +9 -0
- package/web/fintekkers/services/security-service/security_service_pb.js +27 -0
- package/web/fintekkers/services/transaction-service/transaction_service_grpc_web_pb.d.ts +93 -0
- package/web/fintekkers/services/transaction-service/transaction_service_grpc_web_pb.js +451 -0
- package/web/fintekkers/services/transaction-service/transaction_service_pb.d.ts +9 -0
- package/web/fintekkers/services/transaction-service/transaction_service_pb.js +27 -0
- package/web/fintekkers/services/valuation-service/valuation_service_grpc_web_pb.d.ts +32 -0
- package/web/fintekkers/services/valuation-service/valuation_service_grpc_web_pb.js +145 -0
- package/web/fintekkers/services/valuation-service/valuation_service_pb.d.ts +6 -0
- package/web/fintekkers/services/valuation-service/valuation_service_pb.js +21 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
// // Note: Some classes and functions have been omitted or simplified due to lack of context.
|
|
2
|
+
|
|
3
|
+
// import { FieldProto } from "../../../fintekkers/models/position/field_pb";
|
|
4
|
+
// import { PositionProto } from "../../../fintekkers/models/position/position_pb";
|
|
5
|
+
// import { FieldMapEntry } from "../../../fintekkers/models/position/position_util_pb";
|
|
6
|
+
|
|
7
|
+
// class Position {
|
|
8
|
+
// positionProto: PositionProto;
|
|
9
|
+
|
|
10
|
+
// constructor(positionProto: PositionProto) {
|
|
11
|
+
// this.positionProto = positionProto;
|
|
12
|
+
// }
|
|
13
|
+
|
|
14
|
+
// get_field_value(field: FieldProto): any {
|
|
15
|
+
// return this.get_field(new FieldMapEntry({ field }));
|
|
16
|
+
// }
|
|
17
|
+
|
|
18
|
+
// get_field(field_to_get: FieldMapEntry): any {
|
|
19
|
+
// for (const tmp_field of this.positionProto.fields) {
|
|
20
|
+
// if (tmp_field.field === field_to_get.field) {
|
|
21
|
+
// if (FieldProto.PORTFOLIO === field_to_get.field) {
|
|
22
|
+
// return new Portfolio(Position.unpack_field(tmp_field));
|
|
23
|
+
// }
|
|
24
|
+
// if (FieldProto.SECURITY === field_to_get.field) {
|
|
25
|
+
// return new Security(Position.unpack_field(tmp_field));
|
|
26
|
+
// }
|
|
27
|
+
|
|
28
|
+
// const unpacked_value = Position.unpack_field(tmp_field);
|
|
29
|
+
|
|
30
|
+
// if (unpacked_value instanceof ProtoEnum) {
|
|
31
|
+
// const descriptor = FieldProto.DESCRIPTOR.valuesByNumber[field_to_get.field];
|
|
32
|
+
// return new ProtoEnum(descriptor, unpacked_value.enumValue);
|
|
33
|
+
// }
|
|
34
|
+
|
|
35
|
+
// if (
|
|
36
|
+
// typeof unpacked_value === 'string' ||
|
|
37
|
+
// typeof unpacked_value === 'number' ||
|
|
38
|
+
// typeof unpacked_value === 'boolean'
|
|
39
|
+
// ) {
|
|
40
|
+
// return unpacked_value;
|
|
41
|
+
// }
|
|
42
|
+
|
|
43
|
+
// return ProtoSerializationUtil.deserialize(unpacked_value);
|
|
44
|
+
// }
|
|
45
|
+
// }
|
|
46
|
+
|
|
47
|
+
// throw new Error('Could not find field in position');
|
|
48
|
+
// }
|
|
49
|
+
|
|
50
|
+
// get_measure_value(measure: MeasureProto): Decimal {
|
|
51
|
+
// return this.get_measure(new MeasureMapEntry({ measure }));
|
|
52
|
+
// }
|
|
53
|
+
|
|
54
|
+
// get_measure(measure_to_get: MeasureMapEntry): Decimal {
|
|
55
|
+
// for (const tmp_measure of this.positionProto.measures) {
|
|
56
|
+
// if (tmp_measure.measure === measure_to_get.measure) {
|
|
57
|
+
// return ProtoSerializationUtil.deserialize(Position.unpack_measure(tmp_measure));
|
|
58
|
+
// }
|
|
59
|
+
// }
|
|
60
|
+
|
|
61
|
+
// throw new Error('Could not find measure in position');
|
|
62
|
+
// }
|
|
63
|
+
|
|
64
|
+
// get_field_display(field_to_get: FieldMapEntry): string {
|
|
65
|
+
// const field_value = this.get_field(new FieldMapEntry(field_to_get));
|
|
66
|
+
// return field_value.toString();
|
|
67
|
+
// }
|
|
68
|
+
|
|
69
|
+
// get_measures(): MeasureMapEntry[] {
|
|
70
|
+
// return this.positionProto.measures;
|
|
71
|
+
// }
|
|
72
|
+
|
|
73
|
+
// get_fields(): FieldMapEntry[] {
|
|
74
|
+
// return this.positionProto.fields;
|
|
75
|
+
// }
|
|
76
|
+
|
|
77
|
+
// toString(): string {
|
|
78
|
+
// const out: string[] = [];
|
|
79
|
+
|
|
80
|
+
// for (const field of this.get_fields()) {
|
|
81
|
+
// out.push(FieldProto.Name(field.field));
|
|
82
|
+
// out.push(',');
|
|
83
|
+
// out.push(this.get_field_display(field.field));
|
|
84
|
+
// out.push(';');
|
|
85
|
+
// }
|
|
86
|
+
|
|
87
|
+
// for (const measure of this.get_measures()) {
|
|
88
|
+
// out.push(MeasureProto.Name(measure.measure));
|
|
89
|
+
// out.push(',');
|
|
90
|
+
// const tmp: Decimal = this.get_measure(measure.measure);
|
|
91
|
+
// out.push(tmp.toString());
|
|
92
|
+
// out.push(';');
|
|
93
|
+
// }
|
|
94
|
+
|
|
95
|
+
// return out.join('');
|
|
96
|
+
// }
|
|
97
|
+
|
|
98
|
+
// static wrap_string_to_any(my_string: string): Any {
|
|
99
|
+
// const my_any = new Any();
|
|
100
|
+
// my_any.pack(new wrappers.StringValue({ value: my_string }));
|
|
101
|
+
// return my_any;
|
|
102
|
+
// }
|
|
103
|
+
|
|
104
|
+
// static pack_field(field_to_pack: any): Any {
|
|
105
|
+
// if (field_to_pack instanceof LocalDateProto) {
|
|
106
|
+
// const my_any = new Any();
|
|
107
|
+
// my_any.pack(field_to_pack);
|
|
108
|
+
// return my_any;
|
|
109
|
+
// }
|
|
110
|
+
// // Handle other cases as needed
|
|
111
|
+
// return null;
|
|
112
|
+
// }
|
|
113
|
+
|
|
114
|
+
// static unpack_field(field_to_unpack: FieldMapEntry): any {
|
|
115
|
+
// // Implement the unpack_field function to convert field_to_unpack to TypeScript equivalent.
|
|
116
|
+
// // This involves handling various field types and unwrapping values.
|
|
117
|
+
// throw new Error('Not implemented yet');
|
|
118
|
+
// }
|
|
119
|
+
|
|
120
|
+
// // Define the class for ProtoEnum, and implement unpack_measure similarly to unpack_field.
|
|
121
|
+
// }
|
|
122
|
+
|
|
123
|
+
// // The following imports should be included in the TypeScript code as needed:
|
|
124
|
+
// // - FieldProto, MeasureProto, PositionProto, FieldMapEntry, MeasureMapEntry, PortfolioProto
|
|
125
|
+
// // - SecurityProto, IdentifierProto, LocalDateProto, LocalTimestampProto, UUIDProto
|
|
126
|
+
// // - ProtoSerializationUtil, ProtoEnum, wrappers_pb2, Any, Decimal, StringIO
|
|
127
|
+
// // - Implement missing classes and functions as needed.
|
|
128
|
+
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
4
|
+
var datetime_1 = require("../utils/datetime");
|
|
5
|
+
var uuid_1 = require("../utils/uuid");
|
|
6
|
+
var Security = /** @class */ (function () {
|
|
7
|
+
function Security(proto) {
|
|
8
|
+
this.proto = proto;
|
|
9
|
+
}
|
|
10
|
+
Security.prototype.toString = function () {
|
|
11
|
+
return "ID[".concat(this.get_id().toString(), "], ").concat(this.get_security_id(), "[").concat(this.proto.getIssuerName(), "]");
|
|
12
|
+
};
|
|
13
|
+
Security.prototype.get_fields = function () {
|
|
14
|
+
return [field_pb_1.FieldProto.ID, field_pb_1.FieldProto.SECURITY_ID, field_pb_1.FieldProto.AS_OF, field_pb_1.FieldProto.ASSET_CLASS, field_pb_1.FieldProto.IDENTIFIER];
|
|
15
|
+
};
|
|
16
|
+
Security.prototype.get_field = function (field) {
|
|
17
|
+
switch (field) {
|
|
18
|
+
case field_pb_1.FieldProto.ID:
|
|
19
|
+
case field_pb_1.FieldProto.SECURITY_ID:
|
|
20
|
+
return this.get_id();
|
|
21
|
+
case field_pb_1.FieldProto.AS_OF:
|
|
22
|
+
return this.get_as_of();
|
|
23
|
+
case field_pb_1.FieldProto.ASSET_CLASS:
|
|
24
|
+
return this.get_asset_class();
|
|
25
|
+
case field_pb_1.FieldProto.PRODUCT_CLASS:
|
|
26
|
+
return this.get_product_class();
|
|
27
|
+
case field_pb_1.FieldProto.PRODUCT_TYPE:
|
|
28
|
+
return this.get_product_type();
|
|
29
|
+
case field_pb_1.FieldProto.IDENTIFIER:
|
|
30
|
+
return this.get_security_id();
|
|
31
|
+
case field_pb_1.FieldProto.TENOR:
|
|
32
|
+
case field_pb_1.FieldProto.ADJUSTED_TENOR:
|
|
33
|
+
throw new Error('Not implemented yet');
|
|
34
|
+
case field_pb_1.FieldProto.MATURITY_DATE:
|
|
35
|
+
throw new Error('Not implemented yet');
|
|
36
|
+
default:
|
|
37
|
+
throw new Error("Field not mapped in Security wrapper: ".concat(field));
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
Security.prototype.get_id = function () {
|
|
41
|
+
return uuid_1.UUID.fromU8Array(this.proto.getUuid().getRawUuid_asU8());
|
|
42
|
+
};
|
|
43
|
+
Security.prototype.get_as_of = function () {
|
|
44
|
+
return new datetime_1.ZonedDateTime(this.proto.getAsOf());
|
|
45
|
+
};
|
|
46
|
+
Security.prototype.get_asset_class = function () {
|
|
47
|
+
return this.proto.getAssetClass();
|
|
48
|
+
};
|
|
49
|
+
Security.prototype.get_product_class = function () {
|
|
50
|
+
throw new Error('Not implemented yet. See Java implementation for reference');
|
|
51
|
+
};
|
|
52
|
+
Security.prototype.get_product_type = function () {
|
|
53
|
+
throw new Error('Not implemented yet. See Java implementation for reference');
|
|
54
|
+
};
|
|
55
|
+
Security.prototype.get_security_id = function () {
|
|
56
|
+
// const id: IdentifierProto = this.proto.identifier;
|
|
57
|
+
return this.proto.getIdentifier(); // Assuming you've implemented the Identifier class
|
|
58
|
+
};
|
|
59
|
+
Security.prototype.get_issue_date = function () {
|
|
60
|
+
var date = this.proto.getIssueDate();
|
|
61
|
+
return new Date(date.getYear(), date.getMonth(), date.getDay());
|
|
62
|
+
};
|
|
63
|
+
Security.prototype.get_maturity_date = function () {
|
|
64
|
+
var date = this.proto.getMaturityDate();
|
|
65
|
+
return new Date(date.getYear(), date.getMonth(), date.getDay());
|
|
66
|
+
};
|
|
67
|
+
Security.prototype.equals = function (other) {
|
|
68
|
+
if (other instanceof Security) {
|
|
69
|
+
return this.get_id().equals(other.get_id());
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
return Security;
|
|
76
|
+
}());
|
|
77
|
+
exports.default = Security;
|
|
78
|
+
//# sourceMappingURL=security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["security.ts"],"names":[],"mappings":";;AAAA,yEAA0E;AAG1E,8CAAkD;AAClD,sCAAqC;AAErC;IAGE,kBAAY,KAAoB;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,2BAAQ,GAAR;QACE,OAAO,aAAM,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,gBAAM,IAAI,CAAC,eAAe,EAAE,cAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,MAAG,CAAC;IACrG,CAAC;IAED,6BAAU,GAAV;QACE,OAAO,CAAC,qBAAU,CAAC,EAAE,EAAE,qBAAU,CAAC,WAAW,EAAE,qBAAU,CAAC,KAAK,EAAE,qBAAU,CAAC,WAAW,EAAE,qBAAU,CAAC,UAAU,CAAC,CAAC;IAClH,CAAC;IAED,4BAAS,GAAT,UAAU,KAAiB;QACzB,QAAQ,KAAK,EAAE;YACb,KAAK,qBAAU,CAAC,EAAE,CAAC;YACnB,KAAK,qBAAU,CAAC,WAAW;gBACzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,qBAAU,CAAC,KAAK;gBACnB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,KAAK,qBAAU,CAAC,WAAW;gBACzB,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YAChC,KAAK,qBAAU,CAAC,aAAa;gBAC3B,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAClC,KAAK,qBAAU,CAAC,YAAY;gBAC1B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjC,KAAK,qBAAU,CAAC,UAAU;gBACxB,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YAChC,KAAK,qBAAU,CAAC,KAAK,CAAC;YACtB,KAAK,qBAAU,CAAC,cAAc;gBAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,KAAK,qBAAU,CAAC,aAAa;gBAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC;gBACE,MAAM,IAAI,KAAK,CAAC,gDAAyC,KAAK,CAAE,CAAC,CAAC;SACrE;IACH,CAAC;IAED,yBAAM,GAAN;QACE,OAAO,WAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,4BAAS,GAAT;QACE,OAAO,IAAI,wBAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,kCAAe,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAED,oCAAiB,GAAjB;QACE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IAED,mCAAgB,GAAhB;QACE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IAED,kCAAe,GAAf;QACE,qDAAqD;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,mDAAmD;IACxF,CAAC;IAED,iCAAc,GAAd;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,oCAAiB,GAAjB;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,yBAAM,GAAN,UAAO,KAAe;QACpB,IAAI,KAAK,YAAY,QAAQ,EAAE;YAC7B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;SAC7C;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACH,eAAC;AAAD,CAAC,AAlFD,IAkFC;AAED,kBAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { FieldProto } from "../../../fintekkers/models/position/field_pb";
|
|
2
|
+
import { IdentifierProto } from "../../../fintekkers/models/security/identifier/identifier_pb";
|
|
3
|
+
import { SecurityProto } from "../../../fintekkers/models/security/security_pb";
|
|
4
|
+
import { ZonedDateTime } from "../utils/datetime";
|
|
5
|
+
import { UUID } from "../utils/uuid";
|
|
6
|
+
|
|
7
|
+
class Security {
|
|
8
|
+
proto: SecurityProto;
|
|
9
|
+
|
|
10
|
+
constructor(proto: SecurityProto) {
|
|
11
|
+
this.proto = proto;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
toString(): string {
|
|
15
|
+
return `ID[${this.get_id().toString()}], ${this.get_security_id()}[${this.proto.getIssuerName()}]`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
get_fields(): FieldProto[] {
|
|
19
|
+
return [FieldProto.ID, FieldProto.SECURITY_ID, FieldProto.AS_OF, FieldProto.ASSET_CLASS, FieldProto.IDENTIFIER];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
get_field(field: FieldProto): any {
|
|
23
|
+
switch (field) {
|
|
24
|
+
case FieldProto.ID:
|
|
25
|
+
case FieldProto.SECURITY_ID:
|
|
26
|
+
return this.get_id();
|
|
27
|
+
case FieldProto.AS_OF:
|
|
28
|
+
return this.get_as_of();
|
|
29
|
+
case FieldProto.ASSET_CLASS:
|
|
30
|
+
return this.get_asset_class();
|
|
31
|
+
case FieldProto.PRODUCT_CLASS:
|
|
32
|
+
return this.get_product_class();
|
|
33
|
+
case FieldProto.PRODUCT_TYPE:
|
|
34
|
+
return this.get_product_type();
|
|
35
|
+
case FieldProto.IDENTIFIER:
|
|
36
|
+
return this.get_security_id();
|
|
37
|
+
case FieldProto.TENOR:
|
|
38
|
+
case FieldProto.ADJUSTED_TENOR:
|
|
39
|
+
throw new Error('Not implemented yet');
|
|
40
|
+
case FieldProto.MATURITY_DATE:
|
|
41
|
+
throw new Error('Not implemented yet');
|
|
42
|
+
default:
|
|
43
|
+
throw new Error(`Field not mapped in Security wrapper: ${field}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
get_id(): UUID {
|
|
48
|
+
return UUID.fromU8Array(this.proto.getUuid().getRawUuid_asU8());
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
get_as_of(): ZonedDateTime {
|
|
52
|
+
return new ZonedDateTime(this.proto.getAsOf());
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
get_asset_class(): string {
|
|
56
|
+
return this.proto.getAssetClass();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
get_product_class(): string {
|
|
60
|
+
throw new Error('Not implemented yet. See Java implementation for reference');
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
get_product_type(): any {
|
|
64
|
+
throw new Error('Not implemented yet. See Java implementation for reference');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
get_security_id(): IdentifierProto {
|
|
68
|
+
// const id: IdentifierProto = this.proto.identifier;
|
|
69
|
+
return this.proto.getIdentifier(); // Assuming you've implemented the Identifier class
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
get_issue_date(): Date {
|
|
73
|
+
const date = this.proto.getIssueDate();
|
|
74
|
+
return new Date(date.getYear(), date.getMonth(), date.getDay());
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
get_maturity_date(): Date {
|
|
78
|
+
const date = this.proto.getMaturityDate();
|
|
79
|
+
return new Date(date.getYear(), date.getMonth(), date.getDay());
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
equals(other: Security): boolean {
|
|
83
|
+
if (other instanceof Security) {
|
|
84
|
+
return this.get_id().equals(other.get_id());
|
|
85
|
+
} else {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export default Security;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZonedDateTime = void 0;
|
|
4
|
+
var console_1 = require("console");
|
|
5
|
+
var local_timestamp_pb_1 = require("../../../fintekkers/models/util/local_timestamp_pb");
|
|
6
|
+
var timestamp_pb_1 = require("google-protobuf/google/protobuf/timestamp_pb");
|
|
7
|
+
var luxon_1 = require("luxon");
|
|
8
|
+
var ZonedDateTime = /** @class */ (function () {
|
|
9
|
+
function ZonedDateTime(proto) {
|
|
10
|
+
this.proto = proto;
|
|
11
|
+
}
|
|
12
|
+
ZonedDateTime.prototype.to_datetime = function () {
|
|
13
|
+
// Creating a DateTime object with the current date and time in a specific time zone (e.g., 'America/New_York')
|
|
14
|
+
var unixTimestampSeconds = this.proto.getTimestamp().getSeconds();
|
|
15
|
+
var nanoseconds = this.proto.getTimestamp().getNanos();
|
|
16
|
+
var dateTime = luxon_1.DateTime.fromSeconds(unixTimestampSeconds, { zone: this.proto.getTimeZone() });
|
|
17
|
+
// Manually add nanoseconds using the set method
|
|
18
|
+
dateTime = dateTime.set({ millisecond: Math.floor(nanoseconds / 1000000) });
|
|
19
|
+
return dateTime;
|
|
20
|
+
};
|
|
21
|
+
ZonedDateTime.prototype.toString = function () {
|
|
22
|
+
return this.to_datetime().toString();
|
|
23
|
+
};
|
|
24
|
+
ZonedDateTime.prototype.to_date_proto = function () {
|
|
25
|
+
return this.proto;
|
|
26
|
+
};
|
|
27
|
+
ZonedDateTime.now = function () {
|
|
28
|
+
// Get the current time in milliseconds since January 1, 1970 (Unix timestamp)
|
|
29
|
+
var currentTimeMillis = Date.now();
|
|
30
|
+
// Convert milliseconds to seconds and nanoseconds
|
|
31
|
+
var seconds = Math.floor(currentTimeMillis / 1000);
|
|
32
|
+
var nanos = (currentTimeMillis % 1000) * 1e6; // 1 millisecond = 1e6 nanoseconds
|
|
33
|
+
// Create a new Timestamp object with the current time
|
|
34
|
+
var timestamp = new timestamp_pb_1.Timestamp();
|
|
35
|
+
timestamp.setSeconds(seconds);
|
|
36
|
+
timestamp.setNanos(nanos);
|
|
37
|
+
var localTimestamp = new local_timestamp_pb_1.LocalTimestampProto();
|
|
38
|
+
localTimestamp.setTimeZone('America/New_York');
|
|
39
|
+
localTimestamp.setTimestamp(timestamp);
|
|
40
|
+
return new ZonedDateTime(localTimestamp);
|
|
41
|
+
};
|
|
42
|
+
return ZonedDateTime;
|
|
43
|
+
}());
|
|
44
|
+
exports.ZonedDateTime = ZonedDateTime;
|
|
45
|
+
// function createTimestampWithCurrentTime(): ZonedDateTime {
|
|
46
|
+
// // Get the current time in milliseconds since January 1, 1970 (Unix timestamp)
|
|
47
|
+
// const currentTimeMillis = Date.now();
|
|
48
|
+
// // Convert milliseconds to seconds and nanoseconds
|
|
49
|
+
// const seconds = Math.floor(currentTimeMillis / 1000);
|
|
50
|
+
// const nanos = (currentTimeMillis % 1000) * 1e6; // 1 millisecond = 1e6 nanoseconds
|
|
51
|
+
// // Create a new Timestamp object with the current time
|
|
52
|
+
// const timestamp = new Timestamp();
|
|
53
|
+
// timestamp.setSeconds(seconds);
|
|
54
|
+
// timestamp.setNanos(nanos);
|
|
55
|
+
// const localTimestamp = new LocalTimestampProto();
|
|
56
|
+
// localTimestamp.setTimeZone('America/New_York');
|
|
57
|
+
// localTimestamp.setTimestamp(timestamp);
|
|
58
|
+
// return new ZonedDateTime(localTimestamp);
|
|
59
|
+
// }
|
|
60
|
+
// ZonedDateTime.now = createTimestampWithCurrentTime;
|
|
61
|
+
var now = ZonedDateTime.now();
|
|
62
|
+
(0, console_1.assert)(now.to_datetime().toString() === now.toString());
|
|
63
|
+
//# sourceMappingURL=datetime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetime.js","sourceRoot":"","sources":["datetime.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AACjC,yFAAyF;AACzF,6EAAyE;AACzE,+BAAiC;AAEjC;IAGE,uBAAY,KAA0B;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,mCAAW,GAAX;QACE,+GAA+G;QAC/G,IAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpE,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC;QAEzD,IAAI,QAAQ,GAAG,gBAAQ,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAE9F,gDAAgD;QAChD,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gCAAQ,GAAR;QACE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED,qCAAa,GAAb;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,iBAAG,GAAV;QACE,8EAA8E;QAC9E,IAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAErC,kDAAkD;QAClD,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;QACrD,IAAM,KAAK,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,kCAAkC;QAElF,sDAAsD;QACtD,IAAM,SAAS,GAAG,IAAI,wBAAS,EAAE,CAAC;QAClC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAM,cAAc,GAAG,IAAI,wCAAmB,EAAE,CAAC;QACjD,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC/C,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEvC,OAAO,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IACH,oBAAC;AAAD,CAAC,AA9CD,IA8CC;AA0BQ,sCAAa;AAxBtB,6DAA6D;AAC7D,mFAAmF;AACnF,0CAA0C;AAE1C,uDAAuD;AACvD,0DAA0D;AAC1D,uFAAuF;AAEvF,2DAA2D;AAC3D,uCAAuC;AACvC,mCAAmC;AACnC,+BAA+B;AAE/B,sDAAsD;AACtD,oDAAoD;AACpD,4CAA4C;AAE5C,8CAA8C;AAC9C,IAAI;AAEJ,sDAAsD;AACtD,IAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;AAChC,IAAA,gBAAM,EAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { assert } from 'console';
|
|
2
|
+
import { LocalTimestampProto } from '../../../fintekkers/models/util/local_timestamp_pb';
|
|
3
|
+
import { Timestamp } from 'google-protobuf/google/protobuf/timestamp_pb';
|
|
4
|
+
import { DateTime } from 'luxon';
|
|
5
|
+
|
|
6
|
+
class ZonedDateTime {
|
|
7
|
+
private proto: LocalTimestampProto;
|
|
8
|
+
|
|
9
|
+
constructor(proto: LocalTimestampProto) {
|
|
10
|
+
this.proto = proto;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
to_datetime(): DateTime {
|
|
14
|
+
// Creating a DateTime object with the current date and time in a specific time zone (e.g., 'America/New_York')
|
|
15
|
+
const unixTimestampSeconds = this.proto.getTimestamp().getSeconds();
|
|
16
|
+
const nanoseconds = this.proto.getTimestamp().getNanos();
|
|
17
|
+
|
|
18
|
+
let dateTime = DateTime.fromSeconds(unixTimestampSeconds, { zone: this.proto.getTimeZone() });
|
|
19
|
+
|
|
20
|
+
// Manually add nanoseconds using the set method
|
|
21
|
+
dateTime = dateTime.set({ millisecond: Math.floor(nanoseconds / 1000000) });
|
|
22
|
+
return dateTime;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
toString(): string {
|
|
26
|
+
return this.to_datetime().toString();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
to_date_proto(): LocalTimestampProto {
|
|
30
|
+
return this.proto;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static now(): ZonedDateTime {
|
|
34
|
+
// Get the current time in milliseconds since January 1, 1970 (Unix timestamp)
|
|
35
|
+
const currentTimeMillis = Date.now();
|
|
36
|
+
|
|
37
|
+
// Convert milliseconds to seconds and nanoseconds
|
|
38
|
+
const seconds = Math.floor(currentTimeMillis / 1000);
|
|
39
|
+
const nanos = (currentTimeMillis % 1000) * 1e6; // 1 millisecond = 1e6 nanoseconds
|
|
40
|
+
|
|
41
|
+
// Create a new Timestamp object with the current time
|
|
42
|
+
const timestamp = new Timestamp();
|
|
43
|
+
timestamp.setSeconds(seconds);
|
|
44
|
+
timestamp.setNanos(nanos);
|
|
45
|
+
|
|
46
|
+
const localTimestamp = new LocalTimestampProto();
|
|
47
|
+
localTimestamp.setTimeZone('America/New_York');
|
|
48
|
+
localTimestamp.setTimestamp(timestamp);
|
|
49
|
+
|
|
50
|
+
return new ZonedDateTime(localTimestamp);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// function createTimestampWithCurrentTime(): ZonedDateTime {
|
|
55
|
+
// // Get the current time in milliseconds since January 1, 1970 (Unix timestamp)
|
|
56
|
+
// const currentTimeMillis = Date.now();
|
|
57
|
+
|
|
58
|
+
// // Convert milliseconds to seconds and nanoseconds
|
|
59
|
+
// const seconds = Math.floor(currentTimeMillis / 1000);
|
|
60
|
+
// const nanos = (currentTimeMillis % 1000) * 1e6; // 1 millisecond = 1e6 nanoseconds
|
|
61
|
+
|
|
62
|
+
// // Create a new Timestamp object with the current time
|
|
63
|
+
// const timestamp = new Timestamp();
|
|
64
|
+
// timestamp.setSeconds(seconds);
|
|
65
|
+
// timestamp.setNanos(nanos);
|
|
66
|
+
|
|
67
|
+
// const localTimestamp = new LocalTimestampProto();
|
|
68
|
+
// localTimestamp.setTimeZone('America/New_York');
|
|
69
|
+
// localTimestamp.setTimestamp(timestamp);
|
|
70
|
+
|
|
71
|
+
// return new ZonedDateTime(localTimestamp);
|
|
72
|
+
// }
|
|
73
|
+
|
|
74
|
+
// ZonedDateTime.now = createTimestampWithCurrentTime;
|
|
75
|
+
const now = ZonedDateTime.now();
|
|
76
|
+
assert(now.to_datetime().toString() === now.toString());
|
|
77
|
+
|
|
78
|
+
export { ZonedDateTime };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProtoSerializationUtil = void 0;
|
|
4
|
+
var decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
5
|
+
var local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
|
|
6
|
+
var uuid_pb_1 = require("../../../fintekkers/models/util/uuid_pb");
|
|
7
|
+
var uuid_1 = require("./uuid");
|
|
8
|
+
var ProtoSerializationUtil = /** @class */ (function () {
|
|
9
|
+
function ProtoSerializationUtil() {
|
|
10
|
+
}
|
|
11
|
+
ProtoSerializationUtil.serialize = function (obj) {
|
|
12
|
+
if (obj instanceof uuid_1.UUID) {
|
|
13
|
+
return obj.toUUIDProto();
|
|
14
|
+
}
|
|
15
|
+
if (obj instanceof Date) {
|
|
16
|
+
return new local_date_pb_1.LocalDateProto()
|
|
17
|
+
.setYear(obj.getUTCFullYear())
|
|
18
|
+
.setMonth(obj.getUTCMonth() + 1)
|
|
19
|
+
.setDay(obj.getUTCDate());
|
|
20
|
+
}
|
|
21
|
+
if (typeof obj === "number") {
|
|
22
|
+
return new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue(obj.toString());
|
|
23
|
+
}
|
|
24
|
+
throw new Error("Could not serialize object of type ".concat(typeof obj, ". Value: ").concat(obj));
|
|
25
|
+
};
|
|
26
|
+
ProtoSerializationUtil.deserialize = function (obj) {
|
|
27
|
+
if (obj instanceof uuid_pb_1.UUIDProto) {
|
|
28
|
+
return uuid_1.UUID.fromU8Array(obj.getRawUuid_asU8());
|
|
29
|
+
}
|
|
30
|
+
if (obj instanceof local_date_pb_1.LocalDateProto) {
|
|
31
|
+
return new Date(Date.UTC(obj.getYear(), obj.getMonth() - 1, obj.getDay()));
|
|
32
|
+
}
|
|
33
|
+
if (obj.enum_name && obj.enum_name === "TRANSACTION_TYPE") {
|
|
34
|
+
return null; // new TransactionType(obj.enum_value);
|
|
35
|
+
}
|
|
36
|
+
if (obj instanceof decimal_value_pb_1.DecimalValueProto) {
|
|
37
|
+
return parseFloat(obj.getArbitraryPrecisionValue());
|
|
38
|
+
}
|
|
39
|
+
throw new Error("Could not deserialize object of type ".concat(typeof obj, ". Value: ").concat(obj));
|
|
40
|
+
};
|
|
41
|
+
return ProtoSerializationUtil;
|
|
42
|
+
}());
|
|
43
|
+
exports.ProtoSerializationUtil = ProtoSerializationUtil;
|
|
44
|
+
//# sourceMappingURL=serialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;AAAA,qFAAqF;AACrF,+EAA+E;AAE/E,mEAAoE;AACpE,+BAA8B;AAQ5B;IAAA;IAkCA,CAAC;IAjCQ,gCAAS,GAAhB,UAAiB,GAAQ;QACvB,IAAI,GAAG,YAAY,WAAI,EAAE;YACvB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;SAC1B;QACD,IAAI,GAAG,YAAY,IAAI,EAAE;YACvB,OAAO,IAAI,8BAAc,EAAE;iBACtB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;iBAC7B,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;iBAC/B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;SAC/B;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,OAAO,IAAI,oCAAiB,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3E;QAED,MAAM,IAAI,KAAK,CAAC,6CAAsC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACrF,CAAC;IAEM,kCAAW,GAAlB,UAAmB,GAAQ;QACzB,IAAI,GAAG,YAAY,mBAAS,EAAE;YAC5B,OAAO,WAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;SAChD;QACD,IAAI,GAAG,YAAY,8BAAc,EAAE;YACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC5E;QACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,kBAAkB,EAAE;YACzD,OAAO,IAAI,CAAC,CAAA,uCAAuC;SACpD;QACD,IAAI,GAAG,YAAY,oCAAiB,EAAE;YACpC,OAAO,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC;SACrD;QAED,MAAM,IAAI,KAAK,CAAC,+CAAwC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACvF,CAAC;IACH,6BAAC;AAAD,CAAC,AAlCD,IAkCC;AAlCY,wDAAsB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.testSerialization = void 0;
|
|
40
|
+
var serialization_1 = require("./serialization");
|
|
41
|
+
var uuid_1 = require("./uuid");
|
|
42
|
+
var assert = require("assert");
|
|
43
|
+
function testSerialization() {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
45
|
+
var serializedDate, deserializedDate, obj, serializedTimestamp, deserializedTimestamp;
|
|
46
|
+
return __generator(this, function (_a) {
|
|
47
|
+
checkUUID();
|
|
48
|
+
serializedDate = serialization_1.ProtoSerializationUtil.serialize(new Date());
|
|
49
|
+
console.log(serializedDate);
|
|
50
|
+
deserializedDate = serialization_1.ProtoSerializationUtil.deserialize(serializedDate);
|
|
51
|
+
console.log(deserializedDate);
|
|
52
|
+
obj = new Date();
|
|
53
|
+
serializedTimestamp = serialization_1.ProtoSerializationUtil.serialize(obj);
|
|
54
|
+
console.log(serializedTimestamp);
|
|
55
|
+
deserializedTimestamp = serialization_1.ProtoSerializationUtil.deserialize(serializedTimestamp);
|
|
56
|
+
console.log(deserializedTimestamp);
|
|
57
|
+
return [2 /*return*/];
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
exports.testSerialization = testSerialization;
|
|
62
|
+
function checkUUID() {
|
|
63
|
+
var uuid = uuid_1.UUID.random();
|
|
64
|
+
var serializedUUID = serialization_1.ProtoSerializationUtil.serialize(uuid);
|
|
65
|
+
var uuidCopy = serialization_1.ProtoSerializationUtil.deserialize(serializedUUID);
|
|
66
|
+
var uuidString = uuid.toString();
|
|
67
|
+
var uuidCopyString = uuidCopy.toString();
|
|
68
|
+
assert.equal(uuidString, uuidCopyString);
|
|
69
|
+
assert.deepEqual(uuid.toBytes(), uuidCopy.toBytes());
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=serialization.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["serialization.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iDAAyD;AACzD,+BAA8B;AAE9B,+BAAkC;AAElC,SAAe,iBAAiB;;;;YAC5B,SAAS,EAAE,CAAC;YAEN,cAAc,GAAQ,sCAAsB,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAEtB,gBAAgB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAExB,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACjB,mBAAmB,GAAQ,sCAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAE3B,qBAAqB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;YAC3F,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;;;;CACtC;AAEQ,8CAAiB;AAE1B,SAAS,SAAS;IACd,IAAM,IAAI,GAAS,WAAI,CAAC,MAAM,EAAE,CAAC;IACjC,IAAM,cAAc,GAAc,sCAAsB,CAAC,SAAS,CAAC,IAAI,CAAc,CAAC;IACtF,IAAM,QAAQ,GAAS,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAS,CAAC;IAElF,IAAM,UAAU,GAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,IAAM,cAAc,GAAW,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAEnD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACzC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { UUIDProto } from '../../../fintekkers/models/util/uuid_pb';
|
|
2
|
+
import { ProtoSerializationUtil } from './serialization';
|
|
3
|
+
import { UUID } from './uuid';
|
|
4
|
+
|
|
5
|
+
import assert = require('assert');
|
|
6
|
+
|
|
7
|
+
async function testSerialization(): Promise<void> {
|
|
8
|
+
checkUUID();
|
|
9
|
+
|
|
10
|
+
const serializedDate: any = ProtoSerializationUtil.serialize(new Date());
|
|
11
|
+
console.log(serializedDate);
|
|
12
|
+
|
|
13
|
+
const deserializedDate: any = ProtoSerializationUtil.deserialize(serializedDate);
|
|
14
|
+
console.log(deserializedDate);
|
|
15
|
+
|
|
16
|
+
const obj = new Date();
|
|
17
|
+
const serializedTimestamp: any = ProtoSerializationUtil.serialize(obj);
|
|
18
|
+
console.log(serializedTimestamp);
|
|
19
|
+
|
|
20
|
+
const deserializedTimestamp: any = ProtoSerializationUtil.deserialize(serializedTimestamp);
|
|
21
|
+
console.log(deserializedTimestamp);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { testSerialization };
|
|
25
|
+
|
|
26
|
+
function checkUUID() {
|
|
27
|
+
const uuid: UUID = UUID.random();
|
|
28
|
+
const serializedUUID: UUIDProto = ProtoSerializationUtil.serialize(uuid) as UUIDProto;
|
|
29
|
+
const uuidCopy: UUID = ProtoSerializationUtil.deserialize(serializedUUID) as UUID;
|
|
30
|
+
|
|
31
|
+
const uuidString: string = uuid.toString();
|
|
32
|
+
const uuidCopyString: string = uuidCopy.toString();
|
|
33
|
+
|
|
34
|
+
assert.equal(uuidString, uuidCopyString);
|
|
35
|
+
assert.deepEqual(uuid.toBytes(), uuidCopy.toBytes());
|
|
36
|
+
}
|
|
37
|
+
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { DecimalValueProto } from "../../../fintekkers/models/util/decimal_value_pb";
|
|
2
|
+
import { LocalDateProto } from "../../../fintekkers/models/util/local_date_pb";
|
|
3
|
+
import { LocalTimestampProto } from "../../../fintekkers/models/util/local_timestamp_pb";
|
|
4
|
+
import { UUIDProto } from "../../../fintekkers/models/util/uuid_pb";
|
|
5
|
+
import { UUID } from "./uuid";
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
interface EnumValueDescriptor {
|
|
9
|
+
name: string;
|
|
10
|
+
values_by_number: { [key: number]: { name: string } };
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class ProtoSerializationUtil {
|
|
14
|
+
static serialize(obj: any) {
|
|
15
|
+
if (obj instanceof UUID) {
|
|
16
|
+
return obj.toUUIDProto();
|
|
17
|
+
}
|
|
18
|
+
if (obj instanceof Date) {
|
|
19
|
+
return new LocalDateProto()
|
|
20
|
+
.setYear(obj.getUTCFullYear())
|
|
21
|
+
.setMonth(obj.getUTCMonth() + 1)
|
|
22
|
+
.setDay(obj.getUTCDate());
|
|
23
|
+
}
|
|
24
|
+
if (typeof obj === "number") {
|
|
25
|
+
return new DecimalValueProto().setArbitraryPrecisionValue(obj.toString());
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
throw new Error(`Could not serialize object of type ${typeof obj}. Value: ${obj}`);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static deserialize(obj: any) {
|
|
32
|
+
if (obj instanceof UUIDProto) {
|
|
33
|
+
return UUID.fromU8Array(obj.getRawUuid_asU8());
|
|
34
|
+
}
|
|
35
|
+
if (obj instanceof LocalDateProto) {
|
|
36
|
+
return new Date(Date.UTC(obj.getYear(), obj.getMonth() - 1, obj.getDay()));
|
|
37
|
+
}
|
|
38
|
+
if (obj.enum_name && obj.enum_name === "TRANSACTION_TYPE") {
|
|
39
|
+
return null;// new TransactionType(obj.enum_value);
|
|
40
|
+
}
|
|
41
|
+
if (obj instanceof DecimalValueProto) {
|
|
42
|
+
return parseFloat(obj.getArbitraryPrecisionValue());
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
throw new Error(`Could not deserialize object of type ${typeof obj}. Value: ${obj}`);
|
|
46
|
+
}
|
|
47
|
+
}
|