@fintekkers/ledger-models 0.4.43 → 0.4.45
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/node/fintekkers/models/portfolio/portfolio_pb.d.ts +7 -15
- package/node/fintekkers/models/portfolio/portfolio_pb.js +35 -132
- package/node/fintekkers/models/position/position_filter_pb.d.ts +7 -15
- package/node/fintekkers/models/position/position_filter_pb.js +35 -132
- package/node/fintekkers/models/position/position_pb.d.ts +7 -15
- package/node/fintekkers/models/position/position_pb.js +35 -132
- package/node/fintekkers/models/price/price_pb.d.ts +7 -15
- package/node/fintekkers/models/price/price_pb.js +35 -132
- package/node/fintekkers/models/security/bond/issuance_pb.d.ts +7 -15
- package/node/fintekkers/models/security/bond/issuance_pb.js +35 -132
- package/node/fintekkers/models/security/identifier/identifier_pb.d.ts +7 -15
- package/node/fintekkers/models/security/identifier/identifier_pb.js +35 -132
- package/node/fintekkers/models/security/index_composition_pb.d.ts +7 -15
- package/node/fintekkers/models/security/index_composition_pb.js +35 -132
- package/node/fintekkers/models/security/security_pb.d.ts +7 -15
- package/node/fintekkers/models/security/security_pb.js +35 -132
- package/node/fintekkers/models/security/security_pb.test.js +4 -8
- package/node/fintekkers/models/security/security_pb.test.js.map +1 -1
- package/node/fintekkers/models/security/security_pb.test.ts +4 -5
- package/node/fintekkers/models/security/tenor_pb.d.ts +7 -15
- package/node/fintekkers/models/security/tenor_pb.js +35 -132
- package/node/fintekkers/models/strategy/strategy_allocation_pb.d.ts +7 -15
- package/node/fintekkers/models/strategy/strategy_allocation_pb.js +35 -132
- package/node/fintekkers/models/strategy/strategy_pb.d.ts +7 -15
- package/node/fintekkers/models/strategy/strategy_pb.js +35 -132
- package/node/fintekkers/models/transaction/transaction_pb.d.ts +7 -15
- package/node/fintekkers/models/transaction/transaction_pb.js +35 -132
- package/node/fintekkers/models/util/api/api_key_pb.d.ts +7 -15
- package/node/fintekkers/models/util/api/api_key_pb.js +35 -132
- package/node/fintekkers/models/util/date_range_pb.d.ts +7 -15
- package/node/fintekkers/models/util/date_range_pb.js +35 -132
- package/node/fintekkers/models/util/decimal_value_pb.d.ts +0 -5
- package/node/fintekkers/models/util/decimal_value_pb.js +0 -30
- package/node/fintekkers/models/util/lock/node_partition_pb.d.ts +7 -15
- package/node/fintekkers/models/util/lock/node_partition_pb.js +35 -132
- package/node/fintekkers/models/util/lock/node_state_pb.d.ts +7 -15
- package/node/fintekkers/models/util/lock/node_state_pb.js +35 -132
- package/node/fintekkers/models/util/object_type_pb.d.ts +0 -3
- package/node/fintekkers/models/util/object_type_pb.js +0 -28
- package/node/fintekkers/models/util/version_grpc_pb.js +1 -0
- package/node/fintekkers/models/util/version_pb.d.ts +33 -0
- package/node/fintekkers/models/util/version_pb.js +236 -0
- package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.d.ts +13 -30
- package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.js +68 -264
- package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.d.ts +13 -30
- package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.js +68 -264
- package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.js +35 -132
- package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.js +35 -132
- package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.js +35 -132
- package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.js +35 -132
- package/node/fintekkers/requests/position/query_position_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/position/query_position_request_pb.js +35 -132
- package/node/fintekkers/requests/position/query_position_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/position/query_position_response_pb.js +35 -132
- package/node/fintekkers/requests/price/create_price_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/create_price_request_pb.js +35 -132
- package/node/fintekkers/requests/price/create_price_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/create_price_response_pb.js +35 -132
- package/node/fintekkers/requests/price/query_price_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/query_price_request_pb.js +35 -132
- package/node/fintekkers/requests/price/query_price_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/price/query_price_response_pb.js +35 -132
- package/node/fintekkers/requests/security/create_security_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/create_security_request_pb.js +35 -132
- package/node/fintekkers/requests/security/create_security_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/create_security_response_pb.js +35 -132
- package/node/fintekkers/requests/security/get_field_values_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/get_field_values_request_pb.js +35 -132
- package/node/fintekkers/requests/security/get_field_values_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/get_field_values_response_pb.js +35 -132
- package/node/fintekkers/requests/security/get_fields_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/get_fields_response_pb.js +35 -132
- package/node/fintekkers/requests/security/query_security_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/query_security_request_pb.js +35 -132
- package/node/fintekkers/requests/security/query_security_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/security/query_security_response_pb.js +35 -132
- package/node/fintekkers/requests/transaction/create_transaction_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/create_transaction_request_pb.js +35 -132
- package/node/fintekkers/requests/transaction/create_transaction_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/create_transaction_response_pb.js +35 -132
- package/node/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/query_transaction_request_pb.js +35 -132
- package/node/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/transaction/query_transaction_response_pb.js +35 -132
- package/node/fintekkers/requests/util/delete_request_pb.d.ts +13 -30
- package/node/fintekkers/requests/util/delete_request_pb.js +68 -264
- package/node/fintekkers/requests/util/lock/lock_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/util/lock/lock_request_pb.js +35 -132
- package/node/fintekkers/requests/util/lock/lock_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/util/lock/lock_response_pb.js +35 -132
- package/node/fintekkers/requests/valuation/curve_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/valuation/curve_request_pb.js +35 -132
- package/node/fintekkers/requests/valuation/curve_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/valuation/curve_response_pb.js +35 -132
- package/node/fintekkers/requests/valuation/product_inputs.test.js +10 -17
- package/node/fintekkers/requests/valuation/product_inputs.test.js.map +1 -1
- package/node/fintekkers/requests/valuation/product_inputs.test.ts +10 -16
- package/node/fintekkers/requests/valuation/valuation_request_pb.d.ts +7 -15
- package/node/fintekkers/requests/valuation/valuation_request_pb.js +35 -132
- package/node/fintekkers/requests/valuation/valuation_response_pb.d.ts +7 -15
- package/node/fintekkers/requests/valuation/valuation_response_pb.js +35 -132
- package/node/wrappers/models/portfolio/portfolio.test.js +0 -2
- package/node/wrappers/models/portfolio/portfolio.test.js.map +1 -1
- package/node/wrappers/models/portfolio/portfolio.test.ts +0 -2
- package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.js +2 -3
- package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.js.map +1 -1
- package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.ts +2 -2
- package/node/wrappers/models/position/position.test.js +5 -6
- package/node/wrappers/models/position/position.test.js.map +1 -1
- package/node/wrappers/models/position/position.test.ts +5 -4
- package/node/wrappers/models/position/positionfilter.js +1 -1
- package/node/wrappers/models/position/positionfilter.js.map +1 -1
- package/node/wrappers/models/position/positionfilter.test.js +4 -2
- package/node/wrappers/models/position/positionfilter.test.js.map +1 -1
- package/node/wrappers/models/position/positionfilter.test.ts +3 -2
- package/node/wrappers/models/position/positionfilter.ts +1 -1
- package/node/wrappers/models/price/Price.cash.test.js +4 -5
- package/node/wrappers/models/price/Price.cash.test.js.map +1 -1
- package/node/wrappers/models/price/Price.cash.test.ts +2 -3
- package/node/wrappers/models/price/Price.js +2 -2
- package/node/wrappers/models/price/Price.js.map +1 -1
- package/node/wrappers/models/price/Price.test.js +4 -2
- package/node/wrappers/models/price/Price.test.js.map +1 -1
- package/node/wrappers/models/price/Price.test.ts +4 -2
- package/node/wrappers/models/price/Price.ts +2 -2
- package/node/wrappers/models/price/price_rules.test.js +9 -4
- package/node/wrappers/models/price/price_rules.test.js.map +1 -1
- package/node/wrappers/models/price/price_rules.test.ts +9 -4
- package/node/wrappers/models/security/BondSecurity.priceScale.test.js +2 -4
- package/node/wrappers/models/security/BondSecurity.priceScale.test.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.priceScale.test.ts +2 -3
- package/node/wrappers/models/security/BondSecurity.test.js +7 -13
- package/node/wrappers/models/security/BondSecurity.test.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.test.ts +7 -12
- package/node/wrappers/models/security/IndexSecurity.test.js +0 -8
- package/node/wrappers/models/security/IndexSecurity.test.js.map +1 -1
- package/node/wrappers/models/security/IndexSecurity.test.ts +0 -8
- package/node/wrappers/models/security/Issuance.test.js +6 -6
- package/node/wrappers/models/security/Issuance.test.js.map +1 -1
- package/node/wrappers/models/security/Issuance.test.ts +6 -5
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js +13 -14
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js.map +1 -1
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.ts +13 -12
- package/node/wrappers/models/security/security-roundtrip.test.js +9 -21
- package/node/wrappers/models/security/security-roundtrip.test.js.map +1 -1
- package/node/wrappers/models/security/security-roundtrip.test.ts +9 -20
- package/node/wrappers/models/security/security.identifiers.test.js +0 -2
- package/node/wrappers/models/security/security.identifiers.test.js.map +1 -1
- package/node/wrappers/models/security/security.identifiers.test.ts +0 -2
- package/node/wrappers/models/security/security.tbillCoupon.test.js +3 -2
- package/node/wrappers/models/security/security.tbillCoupon.test.js.map +1 -1
- package/node/wrappers/models/security/security.tbillCoupon.test.ts +3 -2
- package/node/wrappers/models/security/security.test.js +14 -14
- package/node/wrappers/models/security/security.test.js.map +1 -1
- package/node/wrappers/models/security/security.test.ts +14 -13
- package/node/wrappers/models/transaction/transaction.derived.test.js +3 -9
- package/node/wrappers/models/transaction/transaction.derived.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.derived.test.ts +3 -8
- package/node/wrappers/models/transaction/transaction.js +2 -2
- package/node/wrappers/models/transaction/transaction.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.test.js +3 -3
- package/node/wrappers/models/transaction/transaction.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.test.ts +3 -2
- package/node/wrappers/models/transaction/transaction.ts +2 -2
- package/node/wrappers/models/transaction/transaction_constructor.test.js +6 -9
- package/node/wrappers/models/transaction/transaction_constructor.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction_constructor.test.ts +6 -7
- package/node/wrappers/models/transaction/transaction_price_defaults.test.js +2 -10
- package/node/wrappers/models/transaction/transaction_price_defaults.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction_price_defaults.test.ts +2 -9
- package/node/wrappers/models/transaction/transaction_security_defaults.test.js +0 -6
- package/node/wrappers/models/transaction/transaction_security_defaults.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction_security_defaults.test.ts +0 -6
- package/node/wrappers/models/utils/date.test.js +0 -2
- package/node/wrappers/models/utils/date.test.js.map +1 -1
- package/node/wrappers/models/utils/date.test.ts +0 -2
- package/node/wrappers/models/utils/datetime.test.js +0 -2
- package/node/wrappers/models/utils/datetime.test.js.map +1 -1
- package/node/wrappers/models/utils/datetime.test.ts +0 -2
- package/node/wrappers/models/utils/decimal.d.ts +9 -28
- package/node/wrappers/models/utils/decimal.js +13 -52
- package/node/wrappers/models/utils/decimal.js.map +1 -1
- package/node/wrappers/models/utils/decimal.test.js +12 -68
- package/node/wrappers/models/utils/decimal.test.js.map +1 -1
- package/node/wrappers/models/utils/decimal.test.ts +14 -76
- package/node/wrappers/models/utils/decimal.ts +12 -60
- package/node/wrappers/models/utils/serialization.test.js +0 -4
- package/node/wrappers/models/utils/serialization.test.js.map +1 -1
- package/node/wrappers/models/utils/serialization.test.ts +0 -4
- package/node/wrappers/requests/position/QueryPositionRequest.js +1 -1
- package/node/wrappers/requests/position/QueryPositionRequest.js.map +1 -1
- package/node/wrappers/requests/position/QueryPositionRequest.ts +1 -1
- package/node/wrappers/requests/query-paging.test.js +4 -28
- package/node/wrappers/requests/query-paging.test.js.map +1 -1
- package/node/wrappers/requests/query-paging.test.ts +3 -36
- package/node/wrappers/services/portfolio-service/PortfolioService.js +3 -3
- package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -1
- package/node/wrappers/services/portfolio-service/PortfolioService.ts +3 -3
- package/node/wrappers/services/portfolio-service/portfolioService.test.js +0 -2
- package/node/wrappers/services/portfolio-service/portfolioService.test.js.map +1 -1
- package/node/wrappers/services/portfolio-service/portfolioService.test.ts +0 -2
- package/node/wrappers/services/price-service/PriceService.js +3 -3
- package/node/wrappers/services/price-service/PriceService.js.map +1 -1
- package/node/wrappers/services/price-service/PriceService.ts +3 -3
- package/node/wrappers/services/price-service/price-wrapper.test.js +2 -6
- package/node/wrappers/services/price-service/price-wrapper.test.js.map +1 -1
- package/node/wrappers/services/price-service/price-wrapper.test.ts +2 -6
- package/node/wrappers/services/price-service/price.test.js +8 -17
- package/node/wrappers/services/price-service/price.test.js.map +1 -1
- package/node/wrappers/services/price-service/price.test.ts +8 -14
- package/node/wrappers/services/searchWithSecurities.test.js +2 -7
- package/node/wrappers/services/searchWithSecurities.test.js.map +1 -1
- package/node/wrappers/services/searchWithSecurities.test.ts +2 -6
- package/node/wrappers/services/security-service/SecurityService.js +3 -3
- package/node/wrappers/services/security-service/SecurityService.js.map +1 -1
- package/node/wrappers/services/security-service/SecurityService.ts +3 -3
- package/node/wrappers/services/security-service/security.test.js +3 -7
- package/node/wrappers/services/security-service/security.test.js.map +1 -1
- package/node/wrappers/services/security-service/security.test.ts +3 -6
- package/node/wrappers/services/transaction-service/TransactionService.js +3 -3
- package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
- package/node/wrappers/services/transaction-service/TransactionService.ts +3 -3
- package/node/wrappers/services/transaction-service/transaction.test.js +3 -8
- package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -1
- package/node/wrappers/services/transaction-service/transaction.test.ts +3 -6
- package/node/wrappers/util/link-resolver.js +3 -3
- package/node/wrappers/util/link-resolver.js.map +1 -1
- package/node/wrappers/util/link-resolver.test.js +4 -13
- package/node/wrappers/util/link-resolver.test.js.map +1 -1
- package/node/wrappers/util/link-resolver.test.ts +4 -12
- package/node/wrappers/util/link-resolver.ts +3 -3
- package/node/wrappers/util/object-type-coverage.test.js +159 -0
- package/node/wrappers/util/object-type-coverage.test.js.map +1 -0
- package/node/wrappers/util/object-type-coverage.test.ts +149 -0
- package/node/wrappers/util/object-types.d.ts +30 -46
- package/node/wrappers/util/object-types.js +145 -170
- package/node/wrappers/util/object-types.js.map +1 -1
- package/node/wrappers/util/object-types.test.js +50 -151
- package/node/wrappers/util/object-types.test.js.map +1 -1
- package/node/wrappers/util/object-types.test.ts +55 -170
- package/node/wrappers/util/object-types.ts +153 -178
- package/package.json +1 -1
- package/node/wrappers/models/position/position.test copy.js +0 -107
- package/node/wrappers/models/position/position.test copy.js.map +0 -1
- package/node/wrappers/models/utils/decimal.legacy.test.js +0 -174
- package/node/wrappers/models/utils/decimal.legacy.test.js.map +0 -1
- package/node/wrappers/models/utils/decimal.legacy.test.ts +0 -158
- package/node/wrappers/models/utils/decimal.typings.test.d.ts +0 -1
- package/node/wrappers/models/utils/decimal.typings.test.js +0 -39
- package/node/wrappers/models/utils/decimal.typings.test.js.map +0 -1
- package/node/wrappers/models/utils/decimal.typings.test.ts +0 -16
- package/node/wrappers/util/object-type-legacy.json +0 -21
- /package/node/wrappers/{models/utils/decimal.legacy.test.d.ts → util/object-type-coverage.test.d.ts} +0 -0
|
@@ -1,207 +1,182 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Object type and version (LM-297, LM-318).
|
|
3
3
|
*
|
|
4
|
-
* Every message
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* throws: an unknown object_class gives OBJECT_TYPE_UNKNOWN and a malformed
|
|
11
|
-
* version gives 0.0.0. Empty strings are the proto3 default and fall back
|
|
12
|
-
* silently.
|
|
13
|
-
*
|
|
14
|
-
* google-protobuf cannot read the `(legacy_object_class)` options at runtime,
|
|
15
|
-
* so the string map comes from object-type-legacy.json, generated by
|
|
16
|
-
* scripts/gen-object-type-legacy-map.py. See docs/adr/compact_object_type_and_version.md.
|
|
4
|
+
* Every message that names its type carries `ObjectTypeProto object_type = 1`
|
|
5
|
+
* and `VersionProto version = 2`. Writers call `stamp`, which sets the type and
|
|
6
|
+
* `SCHEMA_VERSION`; `stampOwn` passes the message's own type (LM-320). Readers
|
|
7
|
+
* call `readType` / `readVersion`. The old `object_class` / `version` strings
|
|
8
|
+
* were replaced in place by LM-318: bytes written before it are not readable.
|
|
9
|
+
* See docs/adr/compact_object_type_and_version.md.
|
|
17
10
|
*/
|
|
18
11
|
import { ObjectTypeProto } from '../../fintekkers/models/util/object_type_pb';
|
|
19
|
-
import
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
import { VersionProto } from '../../fintekkers/models/util/version_pb';
|
|
13
|
+
import { PortfolioProto } from '../../fintekkers/models/portfolio/portfolio_pb';
|
|
14
|
+
import { PositionProto } from '../../fintekkers/models/position/position_pb';
|
|
15
|
+
import { PositionFilterProto } from '../../fintekkers/models/position/position_filter_pb';
|
|
16
|
+
import { PriceProto } from '../../fintekkers/models/price/price_pb';
|
|
17
|
+
import { IssuanceProto } from '../../fintekkers/models/security/bond/issuance_pb';
|
|
18
|
+
import { IdentifierProto } from '../../fintekkers/models/security/identifier/identifier_pb';
|
|
19
|
+
import { IndexCompositionProto } from '../../fintekkers/models/security/index_composition_pb';
|
|
20
|
+
import { SecurityProto } from '../../fintekkers/models/security/security_pb';
|
|
21
|
+
import { TenorProto } from '../../fintekkers/models/security/tenor_pb';
|
|
22
|
+
import { StrategyProto } from '../../fintekkers/models/strategy/strategy_pb';
|
|
23
|
+
import { StrategyAllocationProto } from '../../fintekkers/models/strategy/strategy_allocation_pb';
|
|
24
|
+
import { TransactionProto } from '../../fintekkers/models/transaction/transaction_pb';
|
|
25
|
+
import { API_Key } from '../../fintekkers/models/util/api/api_key_pb';
|
|
26
|
+
import { DateRangeProto } from '../../fintekkers/models/util/date_range_pb';
|
|
27
|
+
import { NodePartition } from '../../fintekkers/models/util/lock/node_partition_pb';
|
|
28
|
+
import { NodeState } from '../../fintekkers/models/util/lock/node_state_pb';
|
|
29
|
+
import { CreateIndexCompositionRequestProto, CreateIndexCompositionResponseProto } from '../../fintekkers/requests/index_composition/create_index_composition_request_pb';
|
|
30
|
+
import { GetIndexCompositionRequestProto, GetIndexCompositionResponseProto } from '../../fintekkers/requests/index_composition/get_index_composition_request_pb';
|
|
31
|
+
import { CreatePortfolioRequestProto } from '../../fintekkers/requests/portfolio/create_portfolio_request_pb';
|
|
32
|
+
import { CreatePortfolioResponseProto } from '../../fintekkers/requests/portfolio/create_portfolio_response_pb';
|
|
33
|
+
import { QueryPortfolioRequestProto } from '../../fintekkers/requests/portfolio/query_portfolio_request_pb';
|
|
34
|
+
import { QueryPortfolioResponseProto } from '../../fintekkers/requests/portfolio/query_portfolio_response_pb';
|
|
35
|
+
import { QueryPositionRequestProto } from '../../fintekkers/requests/position/query_position_request_pb';
|
|
36
|
+
import { QueryPositionResponseProto } from '../../fintekkers/requests/position/query_position_response_pb';
|
|
37
|
+
import { CreatePriceRequestProto } from '../../fintekkers/requests/price/create_price_request_pb';
|
|
38
|
+
import { CreatePriceResponseProto } from '../../fintekkers/requests/price/create_price_response_pb';
|
|
39
|
+
import { QueryPriceRequestProto } from '../../fintekkers/requests/price/query_price_request_pb';
|
|
40
|
+
import { QueryPriceResponseProto } from '../../fintekkers/requests/price/query_price_response_pb';
|
|
41
|
+
import { CreateSecurityRequestProto } from '../../fintekkers/requests/security/create_security_request_pb';
|
|
42
|
+
import { CreateSecurityResponseProto } from '../../fintekkers/requests/security/create_security_response_pb';
|
|
43
|
+
import { GetFieldValuesRequestProto } from '../../fintekkers/requests/security/get_field_values_request_pb';
|
|
44
|
+
import { GetFieldValuesResponseProto } from '../../fintekkers/requests/security/get_field_values_response_pb';
|
|
45
|
+
import { GetFieldsResponseProto } from '../../fintekkers/requests/security/get_fields_response_pb';
|
|
46
|
+
import { QuerySecurityRequestProto } from '../../fintekkers/requests/security/query_security_request_pb';
|
|
47
|
+
import { QuerySecurityResponseProto } from '../../fintekkers/requests/security/query_security_response_pb';
|
|
48
|
+
import { CreateTransactionRequestProto } from '../../fintekkers/requests/transaction/create_transaction_request_pb';
|
|
49
|
+
import { CreateTransactionResponseProto } from '../../fintekkers/requests/transaction/create_transaction_response_pb';
|
|
50
|
+
import { QueryTransactionRequestProto } from '../../fintekkers/requests/transaction/query_transaction_request_pb';
|
|
51
|
+
import { QueryTransactionResponseProto } from '../../fintekkers/requests/transaction/query_transaction_response_pb';
|
|
52
|
+
import { DeleteRequestProto, DeleteResponseProto } from '../../fintekkers/requests/util/delete_request_pb';
|
|
53
|
+
import { LockRequestProto } from '../../fintekkers/requests/util/lock/lock_request_pb';
|
|
54
|
+
import { LockResponseProto } from '../../fintekkers/requests/util/lock/lock_response_pb';
|
|
55
|
+
import { CurveRequestProto } from '../../fintekkers/requests/valuation/curve_request_pb';
|
|
56
|
+
import { CurveResponseProto } from '../../fintekkers/requests/valuation/curve_response_pb';
|
|
57
|
+
import { ValuationRequestProto } from '../../fintekkers/requests/valuation/valuation_request_pb';
|
|
58
|
+
import { ValuationResponseProto } from '../../fintekkers/requests/valuation/valuation_response_pb';
|
|
59
|
+
|
|
60
|
+
/** Any generated message that carries object_type and version. */
|
|
22
61
|
export interface ObjectTyped {
|
|
23
|
-
getObjectClass(): string;
|
|
24
|
-
setObjectClass(value: string): unknown;
|
|
25
|
-
getVersion(): string;
|
|
26
|
-
setVersion(value: string): unknown;
|
|
27
62
|
getObjectType(): ObjectTypeProto;
|
|
28
63
|
setObjectType(value: ObjectTypeProto): unknown;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
setVersionMinor(value: number): unknown;
|
|
33
|
-
getVersionPatch(): number;
|
|
34
|
-
setVersionPatch(value: number): unknown;
|
|
64
|
+
hasVersion(): boolean;
|
|
65
|
+
getVersion(): VersionProto | undefined;
|
|
66
|
+
setVersion(value?: VersionProto): unknown;
|
|
35
67
|
}
|
|
36
68
|
|
|
37
69
|
/** [major, minor, patch], each a uint32. */
|
|
38
70
|
export type Version = [number, number, number];
|
|
39
71
|
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
function buildLegacyMap(): Map<string, ObjectTypeProto> {
|
|
44
|
-
const map = new Map<string, ObjectTypeProto>();
|
|
45
|
-
for (const [legacy, name] of Object.entries(legacyMirror.legacy_object_class)) {
|
|
46
|
-
if (!Object.prototype.hasOwnProperty.call(ObjectTypeProto, name)) {
|
|
47
|
-
throw new Error(`object-type-legacy.json names ${name}, which ObjectTypeProto lacks: regenerate it`);
|
|
48
|
-
}
|
|
49
|
-
map.set(legacy, ObjectTypeProto[name as keyof typeof ObjectTypeProto]);
|
|
50
|
-
}
|
|
51
|
-
return map;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const LEGACY = buildLegacyMap();
|
|
55
|
-
const warned = new Set<string>();
|
|
56
|
-
const UNKNOWN_NAME = Object.keys(ObjectTypeProto)
|
|
57
|
-
.find((name) => ObjectTypeProto[name as keyof typeof ObjectTypeProto] === ObjectTypeProto.OBJECT_TYPE_UNKNOWN) as string;
|
|
58
|
-
const PREFIX = UNKNOWN_NAME.slice(0, -'UNKNOWN'.length);
|
|
59
|
-
const CAMEL_BOUNDARY = /(?<=[a-z0-9])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])/g;
|
|
60
|
-
const ownTypes = new WeakMap<object, ObjectTypeProto>();
|
|
61
|
-
|
|
62
|
-
/** The ObjectTypeProto value an object_class string stands for, or OBJECT_TYPE_UNKNOWN. */
|
|
63
|
-
export function fromLegacy(objectClass: string): ObjectTypeProto {
|
|
64
|
-
return LEGACY.get(objectClass) ?? ObjectTypeProto.OBJECT_TYPE_UNKNOWN;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* The ObjectTypeProto value named for a message type, or OBJECT_TYPE_UNKNOWN.
|
|
69
|
-
* Uses the enum's naming rule: `QuerySecurityRequestProto` ->
|
|
70
|
-
* OBJECT_TYPE_QUERY_SECURITY_REQUEST.
|
|
71
|
-
*/
|
|
72
|
-
export function ownType(messageName: string): ObjectTypeProto {
|
|
73
|
-
const base = messageName.endsWith('Proto') ? messageName.slice(0, -'Proto'.length) : messageName;
|
|
74
|
-
const name = PREFIX + base.replace(CAMEL_BOUNDARY, '_').toUpperCase();
|
|
75
|
-
return Object.prototype.hasOwnProperty.call(ObjectTypeProto, name)
|
|
76
|
-
? ObjectTypeProto[name as keyof typeof ObjectTypeProto]
|
|
77
|
-
: ObjectTypeProto.OBJECT_TYPE_UNKNOWN;
|
|
78
|
-
}
|
|
72
|
+
/** The schema version `stamp` writes. Not the library release. */
|
|
73
|
+
export const SCHEMA_VERSION: Version = [0, 0, 1];
|
|
79
74
|
|
|
80
75
|
/**
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* the global `proto` namespace by full name, so search that.
|
|
76
|
+
* Sets object_type and version (`SCHEMA_VERSION`) on `message`; returns it.
|
|
77
|
+
* `objectType` is the message's own ObjectTypeProto value.
|
|
84
78
|
*/
|
|
85
|
-
function
|
|
86
|
-
|
|
87
|
-
for (const [key, value] of Object.entries(namespace)) {
|
|
88
|
-
if (value === ctor) return key;
|
|
89
|
-
const found = messageName(ctor, value, depth + 1);
|
|
90
|
-
if (found !== undefined) return found;
|
|
91
|
-
}
|
|
92
|
-
return undefined;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
function ownTypeOf(message: ObjectTyped): ObjectTypeProto {
|
|
96
|
-
const ctor = message.constructor;
|
|
97
|
-
let type = ownTypes.get(ctor);
|
|
98
|
-
if (type === undefined) {
|
|
99
|
-
const name = messageName(ctor, (globalThis as { proto?: unknown }).proto);
|
|
100
|
-
type = name === undefined ? ObjectTypeProto.OBJECT_TYPE_UNKNOWN : ownType(name);
|
|
101
|
-
ownTypes.set(ctor, type);
|
|
102
|
-
}
|
|
103
|
-
return type;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/** '1.2.3' -> [1, 2, 3]; null unless exactly three decimal uint32 parts. */
|
|
107
|
-
export function parseVersion(version: string): Version | null {
|
|
108
|
-
if (!VERSION_PATTERN.test(version)) return null;
|
|
109
|
-
const parts = version.split('.').map(Number);
|
|
110
|
-
if (parts.some((p) => p > UINT32_MAX)) return null;
|
|
111
|
-
return [parts[0], parts[1], parts[2]];
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Sets object_class / version and their compact form on `message`; returns it.
|
|
116
|
-
* `objectType` is the message's own ObjectTypeProto value. `version` must be
|
|
117
|
-
* empty or three uint32 parts.
|
|
118
|
-
*/
|
|
119
|
-
export function stamp<T extends ObjectTyped>(message: T, objectType: ObjectTypeProto, objectClass: string, version: string): T {
|
|
120
|
-
const parts = version ? parseVersion(version) : [0, 0, 0];
|
|
121
|
-
if (parts === null) {
|
|
122
|
-
throw new Error(`version must be MAJOR.MINOR.PATCH, got '${version}'`);
|
|
123
|
-
}
|
|
124
|
-
message.setObjectClass(objectClass);
|
|
125
|
-
message.setVersion(version);
|
|
79
|
+
export function stamp<T extends ObjectTyped>(message: T, objectType: ObjectTypeProto): T {
|
|
80
|
+
const [major, minor, patch] = SCHEMA_VERSION;
|
|
126
81
|
message.setObjectType(objectType);
|
|
127
|
-
|
|
82
|
+
message.setVersion(new VersionProto().setMajor(major).setMinor(minor).setPatch(patch));
|
|
128
83
|
return message;
|
|
129
84
|
}
|
|
130
85
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
86
|
+
// Each message with object_type: proto full name, generated class, its own
|
|
87
|
+
// ObjectTypeProto value (LM-320). object-type-coverage.test.ts fails when a
|
|
88
|
+
// message in the descriptor set is missing.
|
|
89
|
+
const OWN_TYPE_ROWS: ReadonlyArray<[string, Function, ObjectTypeProto]> = [
|
|
90
|
+
['fintekkers.models.portfolio.PortfolioProto', PortfolioProto, ObjectTypeProto.OBJECT_TYPE_PORTFOLIO],
|
|
91
|
+
['fintekkers.models.position.PositionProto', PositionProto, ObjectTypeProto.OBJECT_TYPE_POSITION],
|
|
92
|
+
['fintekkers.models.position.PositionFilterProto', PositionFilterProto, ObjectTypeProto.OBJECT_TYPE_POSITION_FILTER],
|
|
93
|
+
['fintekkers.models.price.PriceProto', PriceProto, ObjectTypeProto.OBJECT_TYPE_PRICE],
|
|
94
|
+
['fintekkers.models.security.IdentifierProto', IdentifierProto, ObjectTypeProto.OBJECT_TYPE_IDENTIFIER],
|
|
95
|
+
['fintekkers.models.security.SecurityProto', SecurityProto, ObjectTypeProto.OBJECT_TYPE_SECURITY],
|
|
96
|
+
['fintekkers.models.security.TenorProto', TenorProto, ObjectTypeProto.OBJECT_TYPE_TENOR],
|
|
97
|
+
['fintekkers.models.strategy.StrategyProto', StrategyProto, ObjectTypeProto.OBJECT_TYPE_STRATEGY],
|
|
98
|
+
['fintekkers.models.strategy.StrategyAllocationProto', StrategyAllocationProto, ObjectTypeProto.OBJECT_TYPE_STRATEGY_ALLOCATION],
|
|
99
|
+
['fintekkers.models.transaction.TransactionProto', TransactionProto, ObjectTypeProto.OBJECT_TYPE_TRANSACTION],
|
|
100
|
+
['fintekkers.requests.portfolio.CreatePortfolioRequestProto', CreatePortfolioRequestProto, ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST],
|
|
101
|
+
['fintekkers.requests.portfolio.QueryPortfolioRequestProto', QueryPortfolioRequestProto, ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_REQUEST],
|
|
102
|
+
['fintekkers.requests.price.CreatePriceRequestProto', CreatePriceRequestProto, ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST],
|
|
103
|
+
['fintekkers.requests.price.QueryPriceRequestProto', QueryPriceRequestProto, ObjectTypeProto.OBJECT_TYPE_QUERY_PRICE_REQUEST],
|
|
104
|
+
['fintekkers.requests.security.CreateSecurityRequestProto', CreateSecurityRequestProto, ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST],
|
|
105
|
+
['fintekkers.requests.security.QuerySecurityRequestProto', QuerySecurityRequestProto, ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST],
|
|
106
|
+
['fintekkers.requests.transaction.CreateTransactionRequestProto', CreateTransactionRequestProto, ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST],
|
|
107
|
+
['fintekkers.requests.transaction.QueryTransactionRequestProto', QueryTransactionRequestProto, ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_REQUEST],
|
|
108
|
+
// LM-320: the rest of the messages with object_type.
|
|
109
|
+
['fintekkers.models.security.bond.IssuanceProto', IssuanceProto, ObjectTypeProto.OBJECT_TYPE_ISSUANCE],
|
|
110
|
+
['fintekkers.models.security.IndexCompositionProto', IndexCompositionProto, ObjectTypeProto.OBJECT_TYPE_INDEX_COMPOSITION],
|
|
111
|
+
['fintekkers.models.util.DateRangeProto', DateRangeProto, ObjectTypeProto.OBJECT_TYPE_DATE_RANGE],
|
|
112
|
+
['fintekkers.models.util.api.API_Key', API_Key, ObjectTypeProto.OBJECT_TYPE_API_KEY],
|
|
113
|
+
['fintekkers.models.util.lock.NodeState', NodeState, ObjectTypeProto.OBJECT_TYPE_NODE_STATE],
|
|
114
|
+
['fintekkers.models.util.lock.NodePartition', NodePartition, ObjectTypeProto.OBJECT_TYPE_NODE_PARTITION],
|
|
115
|
+
['fintekkers.requests.index_composition.CreateIndexCompositionRequestProto', CreateIndexCompositionRequestProto, ObjectTypeProto.OBJECT_TYPE_CREATE_INDEX_COMPOSITION_REQUEST],
|
|
116
|
+
['fintekkers.requests.index_composition.CreateIndexCompositionResponseProto', CreateIndexCompositionResponseProto, ObjectTypeProto.OBJECT_TYPE_CREATE_INDEX_COMPOSITION_RESPONSE],
|
|
117
|
+
['fintekkers.requests.index_composition.GetIndexCompositionRequestProto', GetIndexCompositionRequestProto, ObjectTypeProto.OBJECT_TYPE_GET_INDEX_COMPOSITION_REQUEST],
|
|
118
|
+
['fintekkers.requests.index_composition.GetIndexCompositionResponseProto', GetIndexCompositionResponseProto, ObjectTypeProto.OBJECT_TYPE_GET_INDEX_COMPOSITION_RESPONSE],
|
|
119
|
+
['fintekkers.requests.portfolio.CreatePortfolioResponseProto', CreatePortfolioResponseProto, ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_RESPONSE],
|
|
120
|
+
['fintekkers.requests.portfolio.QueryPortfolioResponseProto', QueryPortfolioResponseProto, ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_RESPONSE],
|
|
121
|
+
['fintekkers.requests.position.QueryPositionRequestProto', QueryPositionRequestProto, ObjectTypeProto.OBJECT_TYPE_QUERY_POSITION_REQUEST],
|
|
122
|
+
['fintekkers.requests.position.QueryPositionResponseProto', QueryPositionResponseProto, ObjectTypeProto.OBJECT_TYPE_QUERY_POSITION_RESPONSE],
|
|
123
|
+
['fintekkers.requests.price.CreatePriceResponseProto', CreatePriceResponseProto, ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_RESPONSE],
|
|
124
|
+
['fintekkers.requests.price.QueryPriceResponseProto', QueryPriceResponseProto, ObjectTypeProto.OBJECT_TYPE_QUERY_PRICE_RESPONSE],
|
|
125
|
+
['fintekkers.requests.security.CreateSecurityResponseProto', CreateSecurityResponseProto, ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_RESPONSE],
|
|
126
|
+
['fintekkers.requests.security.QuerySecurityResponseProto', QuerySecurityResponseProto, ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_RESPONSE],
|
|
127
|
+
['fintekkers.requests.security.GetFieldsResponseProto', GetFieldsResponseProto, ObjectTypeProto.OBJECT_TYPE_GET_FIELDS_RESPONSE],
|
|
128
|
+
['fintekkers.requests.security.GetFieldValuesRequestProto', GetFieldValuesRequestProto, ObjectTypeProto.OBJECT_TYPE_GET_FIELD_VALUES_REQUEST],
|
|
129
|
+
['fintekkers.requests.security.GetFieldValuesResponseProto', GetFieldValuesResponseProto, ObjectTypeProto.OBJECT_TYPE_GET_FIELD_VALUES_RESPONSE],
|
|
130
|
+
['fintekkers.requests.transaction.CreateTransactionResponseProto', CreateTransactionResponseProto, ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_RESPONSE],
|
|
131
|
+
['fintekkers.requests.transaction.QueryTransactionResponseProto', QueryTransactionResponseProto, ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_RESPONSE],
|
|
132
|
+
['fintekkers.requests.util.DeleteRequestProto', DeleteRequestProto, ObjectTypeProto.OBJECT_TYPE_DELETE_REQUEST],
|
|
133
|
+
['fintekkers.requests.util.DeleteResponseProto', DeleteResponseProto, ObjectTypeProto.OBJECT_TYPE_DELETE_RESPONSE],
|
|
134
|
+
['fintekkers.requests.util.lock.LockRequestProto', LockRequestProto, ObjectTypeProto.OBJECT_TYPE_LOCK_REQUEST],
|
|
135
|
+
['fintekkers.requests.util.lock.LockResponseProto', LockResponseProto, ObjectTypeProto.OBJECT_TYPE_LOCK_RESPONSE],
|
|
136
|
+
['fintekkers.requests.valuation.ValuationRequestProto', ValuationRequestProto, ObjectTypeProto.OBJECT_TYPE_VALUATION_REQUEST],
|
|
137
|
+
['fintekkers.requests.valuation.ValuationResponseProto', ValuationResponseProto, ObjectTypeProto.OBJECT_TYPE_VALUATION_RESPONSE],
|
|
138
|
+
['fintekkers.requests.valuation.CurveRequestProto', CurveRequestProto, ObjectTypeProto.OBJECT_TYPE_CURVE_REQUEST],
|
|
139
|
+
['fintekkers.requests.valuation.CurveResponseProto', CurveResponseProto, ObjectTypeProto.OBJECT_TYPE_CURVE_RESPONSE],
|
|
140
|
+
];
|
|
141
|
+
|
|
142
|
+
const OWN_TYPES: ReadonlyMap<Function, ObjectTypeProto> = new Map(
|
|
143
|
+
OWN_TYPE_ROWS.map(([, messageClass, objectType]) => [messageClass, objectType]),
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
/** Each message with object_type, by proto full name, to its own ObjectTypeProto value. */
|
|
147
|
+
export const OWN_TYPE_NAMES: ReadonlyMap<string, ObjectTypeProto> = new Map(
|
|
148
|
+
OWN_TYPE_ROWS.map(([fullName, , objectType]) => [fullName, objectType]),
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
/** The message's own ObjectTypeProto value, or undefined when its class has none. */
|
|
152
|
+
export function ownType(message: object): ObjectTypeProto | undefined {
|
|
153
|
+
return OWN_TYPES.get(message.constructor);
|
|
139
154
|
}
|
|
140
155
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
usedStrings = true;
|
|
151
|
-
objectType = fromLegacy(objectClass);
|
|
152
|
-
if (objectType === ObjectTypeProto.OBJECT_TYPE_UNKNOWN) {
|
|
153
|
-
problems.push(' (unknown object_class, using OBJECT_TYPE_UNKNOWN)');
|
|
154
|
-
} else {
|
|
155
|
-
// Some strings were written on more than one message type (e.g.
|
|
156
|
-
// 'SecurityRequest' on the create and query requests): the message's
|
|
157
|
-
// own type wins over the value the string sits on.
|
|
158
|
-
const own = ownTypeOf(message);
|
|
159
|
-
if (own !== ObjectTypeProto.OBJECT_TYPE_UNKNOWN) objectType = own;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
if (version.every((p) => p === 0) && versionString) {
|
|
163
|
-
usedStrings = true;
|
|
164
|
-
const parsed = parseVersion(versionString);
|
|
165
|
-
if (parsed === null) {
|
|
166
|
-
problems.push(' (malformed version, using 0.0.0)');
|
|
167
|
-
} else {
|
|
168
|
-
version = parsed;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
const key = `${objectClass}\u0000${versionString}`;
|
|
173
|
-
if (usedStrings && !warned.has(key)) {
|
|
174
|
-
warned.add(key);
|
|
175
|
-
console.warn(
|
|
176
|
-
`${message.constructor.name} read from deprecated strings object_class='${objectClass}' ` +
|
|
177
|
-
`version='${versionString}'${problems.join('')}; re-save it to write object_type and ` +
|
|
178
|
-
'version_major/minor/patch (LM-297)');
|
|
156
|
+
/**
|
|
157
|
+
* `stamp` with the message's own ObjectTypeProto value (LM-320); returns it.
|
|
158
|
+
* Throws an Error when its class has no own value. Generated classes are
|
|
159
|
+
* anonymous at runtime, so the error names the class only when it has a name.
|
|
160
|
+
*/
|
|
161
|
+
export function stampOwn<T extends ObjectTyped>(message: T): T {
|
|
162
|
+
const objectType = ownType(message);
|
|
163
|
+
if (objectType === undefined) {
|
|
164
|
+
throw new Error(`${message.constructor?.name || 'this message type'} has no own ObjectTypeProto`);
|
|
179
165
|
}
|
|
180
|
-
return
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/** The message's ObjectTypeProto value: object_type, else the object_class string. */
|
|
184
|
-
export function readType(message: ObjectTyped): ObjectTypeProto {
|
|
185
|
-
return decode(message).objectType;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/** The message's [major, minor, patch]: the compact fields, else the version string. */
|
|
189
|
-
export function readVersion(message: ObjectTyped): Version {
|
|
190
|
-
return decode(message).version;
|
|
166
|
+
return stamp(message, objectType);
|
|
191
167
|
}
|
|
192
168
|
|
|
193
169
|
/**
|
|
194
|
-
*
|
|
195
|
-
*
|
|
170
|
+
* The message's ObjectTypeProto value; OBJECT_TYPE_UNKNOWN when unset. A value
|
|
171
|
+
* added after this build is returned as its number.
|
|
196
172
|
*/
|
|
197
|
-
export function
|
|
198
|
-
|
|
199
|
-
message.setObjectType(objectType);
|
|
200
|
-
setCompactVersion(message, version);
|
|
201
|
-
return message;
|
|
173
|
+
export function readType(message: ObjectTyped): ObjectTypeProto {
|
|
174
|
+
return message.getObjectType();
|
|
202
175
|
}
|
|
203
176
|
|
|
204
|
-
/**
|
|
205
|
-
export function
|
|
206
|
-
|
|
177
|
+
/** The message's [major, minor, patch], or undefined when version is absent. */
|
|
178
|
+
export function readVersion(message: ObjectTyped): Version | undefined {
|
|
179
|
+
const version = message.getVersion();
|
|
180
|
+
if (!message.hasVersion() || version === undefined) return undefined;
|
|
181
|
+
return [version.getMajor(), version.getMinor(), version.getPatch()];
|
|
207
182
|
}
|
package/package.json
CHANGED
|
@@ -1,107 +0,0 @@
|
|
|
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
|
-
var uuid_1 = require("../utils/uuid");
|
|
40
|
-
var any_pb_1 = require("google-protobuf/google/protobuf/any_pb");
|
|
41
|
-
var decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
42
|
-
var position_pb_1 = require("../../../fintekkers/models/position/position_pb");
|
|
43
|
-
var position_util_pb_1 = require("../../../fintekkers/models/position/position_util_pb");
|
|
44
|
-
var field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
45
|
-
var measure_pb_1 = require("../../../fintekkers/models/position/measure_pb");
|
|
46
|
-
var security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
47
|
-
var portfolio_pb_1 = require("../../../fintekkers/models/portfolio/portfolio_pb");
|
|
48
|
-
var position_1 = require("./position");
|
|
49
|
-
var date_1 = require("../utils/date");
|
|
50
|
-
var position_status_pb_1 = require("../../../fintekkers/models/position/position_status_pb");
|
|
51
|
-
test('test the position wrapper', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
52
|
-
var isTrue;
|
|
53
|
-
return __generator(this, function (_a) {
|
|
54
|
-
switch (_a.label) {
|
|
55
|
-
case 0: return [4 /*yield*/, testSerialization()];
|
|
56
|
-
case 1:
|
|
57
|
-
isTrue = _a.sent();
|
|
58
|
-
expect(isTrue).toBe(true);
|
|
59
|
-
return [2 /*return*/];
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}); });
|
|
63
|
-
function testSerialization() {
|
|
64
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
65
|
-
var fields, security, portfolio, tradeDate, productType, id, measure, measureValue, tradeDatePacked, idPacked, positionProto, position, tradeDatePosition, securityPosition, portfolioPosition, positionID;
|
|
66
|
-
return __generator(this, function (_a) {
|
|
67
|
-
fields = [field_pb_1.FieldProto.ID, field_pb_1.FieldProto.TRADE_DATE, field_pb_1.FieldProto.PRODUCT_TYPE, field_pb_1.FieldProto.PORTFOLIO, field_pb_1.FieldProto.SECURITY];
|
|
68
|
-
security = new security_pb_1.SecurityProto().setAssetClass("Test");
|
|
69
|
-
portfolio = new portfolio_pb_1.PortfolioProto().setPortfolioName("Test portfolio");
|
|
70
|
-
tradeDate = date_1.LocalDate.today().toDate();
|
|
71
|
-
productType = "Test product type";
|
|
72
|
-
id = new uuid_1.UUID(uuid_1.UUID.random().toBytes());
|
|
73
|
-
measure = measure_pb_1.MeasureProto.DIRECTED_QUANTITY;
|
|
74
|
-
measureValue = new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue("1.0");
|
|
75
|
-
tradeDatePacked = new any_pb_1.Any();
|
|
76
|
-
tradeDatePacked.setTypeUrl("Doesn't matter");
|
|
77
|
-
tradeDatePacked.setValue(date_1.LocalDate.from(tradeDate).toProto().serializeBinary());
|
|
78
|
-
idPacked = new any_pb_1.Any();
|
|
79
|
-
idPacked.setTypeUrl("Doesn't matter");
|
|
80
|
-
idPacked.setValue(id.toUUIDProto().serializeBinary());
|
|
81
|
-
positionProto = new position_pb_1.PositionProto();
|
|
82
|
-
positionProto.setFieldsList([
|
|
83
|
-
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
|
|
84
|
-
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.SECURITY).setFieldValuePacked(security),
|
|
85
|
-
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PORTFOLIO).setFieldValuePacked(portfolio),
|
|
86
|
-
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.EXECUTED),
|
|
87
|
-
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PRODUCT_TYPE).setStringValue(productType),
|
|
88
|
-
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.ID).setFieldValuePacked(idPacked),
|
|
89
|
-
]);
|
|
90
|
-
position = new position_1.Position(positionProto);
|
|
91
|
-
tradeDatePosition = position.getFieldValue(field_pb_1.FieldProto.TRADE_DATE);
|
|
92
|
-
expect(tradeDate.getFullYear()).toBe(tradeDatePosition.getFullYear());
|
|
93
|
-
expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
|
|
94
|
-
expect(tradeDate.getDay()).toBe(tradeDatePosition.getDay());
|
|
95
|
-
securityPosition = position.getFieldValue(field_pb_1.FieldProto.SECURITY);
|
|
96
|
-
expect(securityPosition.getAssetClass()).toBe(security.getAssetClass());
|
|
97
|
-
portfolioPosition = position.getFieldValue(field_pb_1.FieldProto.PORTFOLIO);
|
|
98
|
-
expect(portfolioPosition.getPortfolioName()).toBe(portfolio.getPortfolioName());
|
|
99
|
-
expect(position.getFieldValue(field_pb_1.FieldProto.PRODUCT_TYPE)).toBe(productType);
|
|
100
|
-
positionID = position.getFieldValue(field_pb_1.FieldProto.ID);
|
|
101
|
-
expect(positionID.toString()).toBe(id.toString());
|
|
102
|
-
expect(position.getFieldValue(field_pb_1.FieldProto.POSITION_STATUS)).toBe(position_status_pb_1.PositionStatusProto.EXECUTED);
|
|
103
|
-
return [2 /*return*/, true];
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=position.test%20copy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"position.test copy.js","sourceRoot":"","sources":["position.test copy.ts"],"names":[],"mappings":"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"}
|