@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.
Files changed (257) hide show
  1. package/node/fintekkers/models/portfolio/portfolio_pb.d.ts +7 -15
  2. package/node/fintekkers/models/portfolio/portfolio_pb.js +35 -132
  3. package/node/fintekkers/models/position/position_filter_pb.d.ts +7 -15
  4. package/node/fintekkers/models/position/position_filter_pb.js +35 -132
  5. package/node/fintekkers/models/position/position_pb.d.ts +7 -15
  6. package/node/fintekkers/models/position/position_pb.js +35 -132
  7. package/node/fintekkers/models/price/price_pb.d.ts +7 -15
  8. package/node/fintekkers/models/price/price_pb.js +35 -132
  9. package/node/fintekkers/models/security/bond/issuance_pb.d.ts +7 -15
  10. package/node/fintekkers/models/security/bond/issuance_pb.js +35 -132
  11. package/node/fintekkers/models/security/identifier/identifier_pb.d.ts +7 -15
  12. package/node/fintekkers/models/security/identifier/identifier_pb.js +35 -132
  13. package/node/fintekkers/models/security/index_composition_pb.d.ts +7 -15
  14. package/node/fintekkers/models/security/index_composition_pb.js +35 -132
  15. package/node/fintekkers/models/security/security_pb.d.ts +7 -15
  16. package/node/fintekkers/models/security/security_pb.js +35 -132
  17. package/node/fintekkers/models/security/security_pb.test.js +4 -8
  18. package/node/fintekkers/models/security/security_pb.test.js.map +1 -1
  19. package/node/fintekkers/models/security/security_pb.test.ts +4 -5
  20. package/node/fintekkers/models/security/tenor_pb.d.ts +7 -15
  21. package/node/fintekkers/models/security/tenor_pb.js +35 -132
  22. package/node/fintekkers/models/strategy/strategy_allocation_pb.d.ts +7 -15
  23. package/node/fintekkers/models/strategy/strategy_allocation_pb.js +35 -132
  24. package/node/fintekkers/models/strategy/strategy_pb.d.ts +7 -15
  25. package/node/fintekkers/models/strategy/strategy_pb.js +35 -132
  26. package/node/fintekkers/models/transaction/transaction_pb.d.ts +7 -15
  27. package/node/fintekkers/models/transaction/transaction_pb.js +35 -132
  28. package/node/fintekkers/models/util/api/api_key_pb.d.ts +7 -15
  29. package/node/fintekkers/models/util/api/api_key_pb.js +35 -132
  30. package/node/fintekkers/models/util/date_range_pb.d.ts +7 -15
  31. package/node/fintekkers/models/util/date_range_pb.js +35 -132
  32. package/node/fintekkers/models/util/decimal_value_pb.d.ts +0 -5
  33. package/node/fintekkers/models/util/decimal_value_pb.js +0 -30
  34. package/node/fintekkers/models/util/lock/node_partition_pb.d.ts +7 -15
  35. package/node/fintekkers/models/util/lock/node_partition_pb.js +35 -132
  36. package/node/fintekkers/models/util/lock/node_state_pb.d.ts +7 -15
  37. package/node/fintekkers/models/util/lock/node_state_pb.js +35 -132
  38. package/node/fintekkers/models/util/object_type_pb.d.ts +0 -3
  39. package/node/fintekkers/models/util/object_type_pb.js +0 -28
  40. package/node/fintekkers/models/util/version_grpc_pb.js +1 -0
  41. package/node/fintekkers/models/util/version_pb.d.ts +33 -0
  42. package/node/fintekkers/models/util/version_pb.js +236 -0
  43. package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.d.ts +13 -30
  44. package/node/fintekkers/requests/index_composition/create_index_composition_request_pb.js +68 -264
  45. package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.d.ts +13 -30
  46. package/node/fintekkers/requests/index_composition/get_index_composition_request_pb.js +68 -264
  47. package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.d.ts +7 -15
  48. package/node/fintekkers/requests/portfolio/create_portfolio_request_pb.js +35 -132
  49. package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.d.ts +7 -15
  50. package/node/fintekkers/requests/portfolio/create_portfolio_response_pb.js +35 -132
  51. package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.d.ts +7 -15
  52. package/node/fintekkers/requests/portfolio/query_portfolio_request_pb.js +35 -132
  53. package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.d.ts +7 -15
  54. package/node/fintekkers/requests/portfolio/query_portfolio_response_pb.js +35 -132
  55. package/node/fintekkers/requests/position/query_position_request_pb.d.ts +7 -15
  56. package/node/fintekkers/requests/position/query_position_request_pb.js +35 -132
  57. package/node/fintekkers/requests/position/query_position_response_pb.d.ts +7 -15
  58. package/node/fintekkers/requests/position/query_position_response_pb.js +35 -132
  59. package/node/fintekkers/requests/price/create_price_request_pb.d.ts +7 -15
  60. package/node/fintekkers/requests/price/create_price_request_pb.js +35 -132
  61. package/node/fintekkers/requests/price/create_price_response_pb.d.ts +7 -15
  62. package/node/fintekkers/requests/price/create_price_response_pb.js +35 -132
  63. package/node/fintekkers/requests/price/query_price_request_pb.d.ts +7 -15
  64. package/node/fintekkers/requests/price/query_price_request_pb.js +35 -132
  65. package/node/fintekkers/requests/price/query_price_response_pb.d.ts +7 -15
  66. package/node/fintekkers/requests/price/query_price_response_pb.js +35 -132
  67. package/node/fintekkers/requests/security/create_security_request_pb.d.ts +7 -15
  68. package/node/fintekkers/requests/security/create_security_request_pb.js +35 -132
  69. package/node/fintekkers/requests/security/create_security_response_pb.d.ts +7 -15
  70. package/node/fintekkers/requests/security/create_security_response_pb.js +35 -132
  71. package/node/fintekkers/requests/security/get_field_values_request_pb.d.ts +7 -15
  72. package/node/fintekkers/requests/security/get_field_values_request_pb.js +35 -132
  73. package/node/fintekkers/requests/security/get_field_values_response_pb.d.ts +7 -15
  74. package/node/fintekkers/requests/security/get_field_values_response_pb.js +35 -132
  75. package/node/fintekkers/requests/security/get_fields_response_pb.d.ts +7 -15
  76. package/node/fintekkers/requests/security/get_fields_response_pb.js +35 -132
  77. package/node/fintekkers/requests/security/query_security_request_pb.d.ts +7 -15
  78. package/node/fintekkers/requests/security/query_security_request_pb.js +35 -132
  79. package/node/fintekkers/requests/security/query_security_response_pb.d.ts +7 -15
  80. package/node/fintekkers/requests/security/query_security_response_pb.js +35 -132
  81. package/node/fintekkers/requests/transaction/create_transaction_request_pb.d.ts +7 -15
  82. package/node/fintekkers/requests/transaction/create_transaction_request_pb.js +35 -132
  83. package/node/fintekkers/requests/transaction/create_transaction_response_pb.d.ts +7 -15
  84. package/node/fintekkers/requests/transaction/create_transaction_response_pb.js +35 -132
  85. package/node/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +7 -15
  86. package/node/fintekkers/requests/transaction/query_transaction_request_pb.js +35 -132
  87. package/node/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +7 -15
  88. package/node/fintekkers/requests/transaction/query_transaction_response_pb.js +35 -132
  89. package/node/fintekkers/requests/util/delete_request_pb.d.ts +13 -30
  90. package/node/fintekkers/requests/util/delete_request_pb.js +68 -264
  91. package/node/fintekkers/requests/util/lock/lock_request_pb.d.ts +7 -15
  92. package/node/fintekkers/requests/util/lock/lock_request_pb.js +35 -132
  93. package/node/fintekkers/requests/util/lock/lock_response_pb.d.ts +7 -15
  94. package/node/fintekkers/requests/util/lock/lock_response_pb.js +35 -132
  95. package/node/fintekkers/requests/valuation/curve_request_pb.d.ts +7 -15
  96. package/node/fintekkers/requests/valuation/curve_request_pb.js +35 -132
  97. package/node/fintekkers/requests/valuation/curve_response_pb.d.ts +7 -15
  98. package/node/fintekkers/requests/valuation/curve_response_pb.js +35 -132
  99. package/node/fintekkers/requests/valuation/product_inputs.test.js +10 -17
  100. package/node/fintekkers/requests/valuation/product_inputs.test.js.map +1 -1
  101. package/node/fintekkers/requests/valuation/product_inputs.test.ts +10 -16
  102. package/node/fintekkers/requests/valuation/valuation_request_pb.d.ts +7 -15
  103. package/node/fintekkers/requests/valuation/valuation_request_pb.js +35 -132
  104. package/node/fintekkers/requests/valuation/valuation_response_pb.d.ts +7 -15
  105. package/node/fintekkers/requests/valuation/valuation_response_pb.js +35 -132
  106. package/node/wrappers/models/portfolio/portfolio.test.js +0 -2
  107. package/node/wrappers/models/portfolio/portfolio.test.js.map +1 -1
  108. package/node/wrappers/models/portfolio/portfolio.test.ts +0 -2
  109. package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.js +2 -3
  110. package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.js.map +1 -1
  111. package/node/wrappers/models/portfolio-price-transaction.lazy-hydrate.test.ts +2 -2
  112. package/node/wrappers/models/position/position.test.js +5 -6
  113. package/node/wrappers/models/position/position.test.js.map +1 -1
  114. package/node/wrappers/models/position/position.test.ts +5 -4
  115. package/node/wrappers/models/position/positionfilter.js +1 -1
  116. package/node/wrappers/models/position/positionfilter.js.map +1 -1
  117. package/node/wrappers/models/position/positionfilter.test.js +4 -2
  118. package/node/wrappers/models/position/positionfilter.test.js.map +1 -1
  119. package/node/wrappers/models/position/positionfilter.test.ts +3 -2
  120. package/node/wrappers/models/position/positionfilter.ts +1 -1
  121. package/node/wrappers/models/price/Price.cash.test.js +4 -5
  122. package/node/wrappers/models/price/Price.cash.test.js.map +1 -1
  123. package/node/wrappers/models/price/Price.cash.test.ts +2 -3
  124. package/node/wrappers/models/price/Price.js +2 -2
  125. package/node/wrappers/models/price/Price.js.map +1 -1
  126. package/node/wrappers/models/price/Price.test.js +4 -2
  127. package/node/wrappers/models/price/Price.test.js.map +1 -1
  128. package/node/wrappers/models/price/Price.test.ts +4 -2
  129. package/node/wrappers/models/price/Price.ts +2 -2
  130. package/node/wrappers/models/price/price_rules.test.js +9 -4
  131. package/node/wrappers/models/price/price_rules.test.js.map +1 -1
  132. package/node/wrappers/models/price/price_rules.test.ts +9 -4
  133. package/node/wrappers/models/security/BondSecurity.priceScale.test.js +2 -4
  134. package/node/wrappers/models/security/BondSecurity.priceScale.test.js.map +1 -1
  135. package/node/wrappers/models/security/BondSecurity.priceScale.test.ts +2 -3
  136. package/node/wrappers/models/security/BondSecurity.test.js +7 -13
  137. package/node/wrappers/models/security/BondSecurity.test.js.map +1 -1
  138. package/node/wrappers/models/security/BondSecurity.test.ts +7 -12
  139. package/node/wrappers/models/security/IndexSecurity.test.js +0 -8
  140. package/node/wrappers/models/security/IndexSecurity.test.js.map +1 -1
  141. package/node/wrappers/models/security/IndexSecurity.test.ts +0 -8
  142. package/node/wrappers/models/security/Issuance.test.js +6 -6
  143. package/node/wrappers/models/security/Issuance.test.js.map +1 -1
  144. package/node/wrappers/models/security/Issuance.test.ts +6 -5
  145. package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js +13 -14
  146. package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js.map +1 -1
  147. package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.ts +13 -12
  148. package/node/wrappers/models/security/security-roundtrip.test.js +9 -21
  149. package/node/wrappers/models/security/security-roundtrip.test.js.map +1 -1
  150. package/node/wrappers/models/security/security-roundtrip.test.ts +9 -20
  151. package/node/wrappers/models/security/security.identifiers.test.js +0 -2
  152. package/node/wrappers/models/security/security.identifiers.test.js.map +1 -1
  153. package/node/wrappers/models/security/security.identifiers.test.ts +0 -2
  154. package/node/wrappers/models/security/security.tbillCoupon.test.js +3 -2
  155. package/node/wrappers/models/security/security.tbillCoupon.test.js.map +1 -1
  156. package/node/wrappers/models/security/security.tbillCoupon.test.ts +3 -2
  157. package/node/wrappers/models/security/security.test.js +14 -14
  158. package/node/wrappers/models/security/security.test.js.map +1 -1
  159. package/node/wrappers/models/security/security.test.ts +14 -13
  160. package/node/wrappers/models/transaction/transaction.derived.test.js +3 -9
  161. package/node/wrappers/models/transaction/transaction.derived.test.js.map +1 -1
  162. package/node/wrappers/models/transaction/transaction.derived.test.ts +3 -8
  163. package/node/wrappers/models/transaction/transaction.js +2 -2
  164. package/node/wrappers/models/transaction/transaction.js.map +1 -1
  165. package/node/wrappers/models/transaction/transaction.test.js +3 -3
  166. package/node/wrappers/models/transaction/transaction.test.js.map +1 -1
  167. package/node/wrappers/models/transaction/transaction.test.ts +3 -2
  168. package/node/wrappers/models/transaction/transaction.ts +2 -2
  169. package/node/wrappers/models/transaction/transaction_constructor.test.js +6 -9
  170. package/node/wrappers/models/transaction/transaction_constructor.test.js.map +1 -1
  171. package/node/wrappers/models/transaction/transaction_constructor.test.ts +6 -7
  172. package/node/wrappers/models/transaction/transaction_price_defaults.test.js +2 -10
  173. package/node/wrappers/models/transaction/transaction_price_defaults.test.js.map +1 -1
  174. package/node/wrappers/models/transaction/transaction_price_defaults.test.ts +2 -9
  175. package/node/wrappers/models/transaction/transaction_security_defaults.test.js +0 -6
  176. package/node/wrappers/models/transaction/transaction_security_defaults.test.js.map +1 -1
  177. package/node/wrappers/models/transaction/transaction_security_defaults.test.ts +0 -6
  178. package/node/wrappers/models/utils/date.test.js +0 -2
  179. package/node/wrappers/models/utils/date.test.js.map +1 -1
  180. package/node/wrappers/models/utils/date.test.ts +0 -2
  181. package/node/wrappers/models/utils/datetime.test.js +0 -2
  182. package/node/wrappers/models/utils/datetime.test.js.map +1 -1
  183. package/node/wrappers/models/utils/datetime.test.ts +0 -2
  184. package/node/wrappers/models/utils/decimal.d.ts +9 -28
  185. package/node/wrappers/models/utils/decimal.js +13 -52
  186. package/node/wrappers/models/utils/decimal.js.map +1 -1
  187. package/node/wrappers/models/utils/decimal.test.js +12 -68
  188. package/node/wrappers/models/utils/decimal.test.js.map +1 -1
  189. package/node/wrappers/models/utils/decimal.test.ts +14 -76
  190. package/node/wrappers/models/utils/decimal.ts +12 -60
  191. package/node/wrappers/models/utils/serialization.test.js +0 -4
  192. package/node/wrappers/models/utils/serialization.test.js.map +1 -1
  193. package/node/wrappers/models/utils/serialization.test.ts +0 -4
  194. package/node/wrappers/requests/position/QueryPositionRequest.js +1 -1
  195. package/node/wrappers/requests/position/QueryPositionRequest.js.map +1 -1
  196. package/node/wrappers/requests/position/QueryPositionRequest.ts +1 -1
  197. package/node/wrappers/requests/query-paging.test.js +4 -28
  198. package/node/wrappers/requests/query-paging.test.js.map +1 -1
  199. package/node/wrappers/requests/query-paging.test.ts +3 -36
  200. package/node/wrappers/services/portfolio-service/PortfolioService.js +3 -3
  201. package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -1
  202. package/node/wrappers/services/portfolio-service/PortfolioService.ts +3 -3
  203. package/node/wrappers/services/portfolio-service/portfolioService.test.js +0 -2
  204. package/node/wrappers/services/portfolio-service/portfolioService.test.js.map +1 -1
  205. package/node/wrappers/services/portfolio-service/portfolioService.test.ts +0 -2
  206. package/node/wrappers/services/price-service/PriceService.js +3 -3
  207. package/node/wrappers/services/price-service/PriceService.js.map +1 -1
  208. package/node/wrappers/services/price-service/PriceService.ts +3 -3
  209. package/node/wrappers/services/price-service/price-wrapper.test.js +2 -6
  210. package/node/wrappers/services/price-service/price-wrapper.test.js.map +1 -1
  211. package/node/wrappers/services/price-service/price-wrapper.test.ts +2 -6
  212. package/node/wrappers/services/price-service/price.test.js +8 -17
  213. package/node/wrappers/services/price-service/price.test.js.map +1 -1
  214. package/node/wrappers/services/price-service/price.test.ts +8 -14
  215. package/node/wrappers/services/searchWithSecurities.test.js +2 -7
  216. package/node/wrappers/services/searchWithSecurities.test.js.map +1 -1
  217. package/node/wrappers/services/searchWithSecurities.test.ts +2 -6
  218. package/node/wrappers/services/security-service/SecurityService.js +3 -3
  219. package/node/wrappers/services/security-service/SecurityService.js.map +1 -1
  220. package/node/wrappers/services/security-service/SecurityService.ts +3 -3
  221. package/node/wrappers/services/security-service/security.test.js +3 -7
  222. package/node/wrappers/services/security-service/security.test.js.map +1 -1
  223. package/node/wrappers/services/security-service/security.test.ts +3 -6
  224. package/node/wrappers/services/transaction-service/TransactionService.js +3 -3
  225. package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
  226. package/node/wrappers/services/transaction-service/TransactionService.ts +3 -3
  227. package/node/wrappers/services/transaction-service/transaction.test.js +3 -8
  228. package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -1
  229. package/node/wrappers/services/transaction-service/transaction.test.ts +3 -6
  230. package/node/wrappers/util/link-resolver.js +3 -3
  231. package/node/wrappers/util/link-resolver.js.map +1 -1
  232. package/node/wrappers/util/link-resolver.test.js +4 -13
  233. package/node/wrappers/util/link-resolver.test.js.map +1 -1
  234. package/node/wrappers/util/link-resolver.test.ts +4 -12
  235. package/node/wrappers/util/link-resolver.ts +3 -3
  236. package/node/wrappers/util/object-type-coverage.test.js +159 -0
  237. package/node/wrappers/util/object-type-coverage.test.js.map +1 -0
  238. package/node/wrappers/util/object-type-coverage.test.ts +149 -0
  239. package/node/wrappers/util/object-types.d.ts +30 -46
  240. package/node/wrappers/util/object-types.js +145 -170
  241. package/node/wrappers/util/object-types.js.map +1 -1
  242. package/node/wrappers/util/object-types.test.js +50 -151
  243. package/node/wrappers/util/object-types.test.js.map +1 -1
  244. package/node/wrappers/util/object-types.test.ts +55 -170
  245. package/node/wrappers/util/object-types.ts +153 -178
  246. package/package.json +1 -1
  247. package/node/wrappers/models/position/position.test copy.js +0 -107
  248. package/node/wrappers/models/position/position.test copy.js.map +0 -1
  249. package/node/wrappers/models/utils/decimal.legacy.test.js +0 -174
  250. package/node/wrappers/models/utils/decimal.legacy.test.js.map +0 -1
  251. package/node/wrappers/models/utils/decimal.legacy.test.ts +0 -158
  252. package/node/wrappers/models/utils/decimal.typings.test.d.ts +0 -1
  253. package/node/wrappers/models/utils/decimal.typings.test.js +0 -39
  254. package/node/wrappers/models/utils/decimal.typings.test.js.map +0 -1
  255. package/node/wrappers/models/utils/decimal.typings.test.ts +0 -16
  256. package/node/wrappers/util/object-type-legacy.json +0 -21
  257. /package/node/wrappers/{models/utils/decimal.legacy.test.d.ts → util/object-type-coverage.test.d.ts} +0 -0
@@ -1,193 +1,168 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.resetWarningsForTests = exports.upgrade = exports.readVersion = exports.readType = exports.stamp = exports.parseVersion = exports.ownType = exports.fromLegacy = void 0;
3
+ exports.readVersion = exports.readType = exports.stampOwn = exports.ownType = exports.OWN_TYPE_NAMES = exports.stamp = exports.SCHEMA_VERSION = void 0;
7
4
  /**
8
- * Compact object type and version (LM-297), stage 1: write both forms, read the new one.
5
+ * Object type and version (LM-297, LM-318).
9
6
  *
10
- * Every message with `string object_class = 1` and `string version = 2` also
11
- * carries `ObjectTypeProto object_type = 1001` and `uint32 version_major /
12
- * version_minor / version_patch = 1002-1004`. Writers call `stamp`, which sets
13
- * the strings and the new fields. Readers call `readType` / `readVersion` (or
14
- * `upgrade`), which use the new fields and fall back to the deprecated strings,
15
- * logging one `console.warn` per distinct pair of strings. A fallback never
16
- * throws: an unknown object_class gives OBJECT_TYPE_UNKNOWN and a malformed
17
- * version gives 0.0.0. Empty strings are the proto3 default and fall back
18
- * silently.
19
- *
20
- * google-protobuf cannot read the `(legacy_object_class)` options at runtime,
21
- * so the string map comes from object-type-legacy.json, generated by
22
- * scripts/gen-object-type-legacy-map.py. See docs/adr/compact_object_type_and_version.md.
7
+ * Every message that names its type carries `ObjectTypeProto object_type = 1`
8
+ * and `VersionProto version = 2`. Writers call `stamp`, which sets the type and
9
+ * `SCHEMA_VERSION`; `stampOwn` passes the message's own type (LM-320). Readers
10
+ * call `readType` / `readVersion`. The old `object_class` / `version` strings
11
+ * were replaced in place by LM-318: bytes written before it are not readable.
12
+ * See docs/adr/compact_object_type_and_version.md.
23
13
  */
24
14
  const object_type_pb_1 = require("../../fintekkers/models/util/object_type_pb");
25
- const object_type_legacy_json_1 = __importDefault(require("./object-type-legacy.json"));
26
- const UINT32_MAX = 0xffffffff;
27
- const VERSION_PATTERN = /^[0-9]+\.[0-9]+\.[0-9]+$/;
28
- function buildLegacyMap() {
29
- const map = new Map();
30
- for (const [legacy, name] of Object.entries(object_type_legacy_json_1.default.legacy_object_class)) {
31
- if (!Object.prototype.hasOwnProperty.call(object_type_pb_1.ObjectTypeProto, name)) {
32
- throw new Error(`object-type-legacy.json names ${name}, which ObjectTypeProto lacks: regenerate it`);
33
- }
34
- map.set(legacy, object_type_pb_1.ObjectTypeProto[name]);
35
- }
36
- return map;
37
- }
38
- const LEGACY = buildLegacyMap();
39
- const warned = new Set();
40
- const UNKNOWN_NAME = Object.keys(object_type_pb_1.ObjectTypeProto)
41
- .find((name) => object_type_pb_1.ObjectTypeProto[name] === object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN);
42
- const PREFIX = UNKNOWN_NAME.slice(0, -'UNKNOWN'.length);
43
- const CAMEL_BOUNDARY = /(?<=[a-z0-9])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])/g;
44
- const ownTypes = new WeakMap();
45
- /** The ObjectTypeProto value an object_class string stands for, or OBJECT_TYPE_UNKNOWN. */
46
- function fromLegacy(objectClass) {
47
- var _a;
48
- return (_a = LEGACY.get(objectClass)) !== null && _a !== void 0 ? _a : object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN;
49
- }
50
- exports.fromLegacy = fromLegacy;
15
+ const version_pb_1 = require("../../fintekkers/models/util/version_pb");
16
+ const portfolio_pb_1 = require("../../fintekkers/models/portfolio/portfolio_pb");
17
+ const position_pb_1 = require("../../fintekkers/models/position/position_pb");
18
+ const position_filter_pb_1 = require("../../fintekkers/models/position/position_filter_pb");
19
+ const price_pb_1 = require("../../fintekkers/models/price/price_pb");
20
+ const issuance_pb_1 = require("../../fintekkers/models/security/bond/issuance_pb");
21
+ const identifier_pb_1 = require("../../fintekkers/models/security/identifier/identifier_pb");
22
+ const index_composition_pb_1 = require("../../fintekkers/models/security/index_composition_pb");
23
+ const security_pb_1 = require("../../fintekkers/models/security/security_pb");
24
+ const tenor_pb_1 = require("../../fintekkers/models/security/tenor_pb");
25
+ const strategy_pb_1 = require("../../fintekkers/models/strategy/strategy_pb");
26
+ const strategy_allocation_pb_1 = require("../../fintekkers/models/strategy/strategy_allocation_pb");
27
+ const transaction_pb_1 = require("../../fintekkers/models/transaction/transaction_pb");
28
+ const api_key_pb_1 = require("../../fintekkers/models/util/api/api_key_pb");
29
+ const date_range_pb_1 = require("../../fintekkers/models/util/date_range_pb");
30
+ const node_partition_pb_1 = require("../../fintekkers/models/util/lock/node_partition_pb");
31
+ const node_state_pb_1 = require("../../fintekkers/models/util/lock/node_state_pb");
32
+ const create_index_composition_request_pb_1 = require("../../fintekkers/requests/index_composition/create_index_composition_request_pb");
33
+ const get_index_composition_request_pb_1 = require("../../fintekkers/requests/index_composition/get_index_composition_request_pb");
34
+ const create_portfolio_request_pb_1 = require("../../fintekkers/requests/portfolio/create_portfolio_request_pb");
35
+ const create_portfolio_response_pb_1 = require("../../fintekkers/requests/portfolio/create_portfolio_response_pb");
36
+ const query_portfolio_request_pb_1 = require("../../fintekkers/requests/portfolio/query_portfolio_request_pb");
37
+ const query_portfolio_response_pb_1 = require("../../fintekkers/requests/portfolio/query_portfolio_response_pb");
38
+ const query_position_request_pb_1 = require("../../fintekkers/requests/position/query_position_request_pb");
39
+ const query_position_response_pb_1 = require("../../fintekkers/requests/position/query_position_response_pb");
40
+ const create_price_request_pb_1 = require("../../fintekkers/requests/price/create_price_request_pb");
41
+ const create_price_response_pb_1 = require("../../fintekkers/requests/price/create_price_response_pb");
42
+ const query_price_request_pb_1 = require("../../fintekkers/requests/price/query_price_request_pb");
43
+ const query_price_response_pb_1 = require("../../fintekkers/requests/price/query_price_response_pb");
44
+ const create_security_request_pb_1 = require("../../fintekkers/requests/security/create_security_request_pb");
45
+ const create_security_response_pb_1 = require("../../fintekkers/requests/security/create_security_response_pb");
46
+ const get_field_values_request_pb_1 = require("../../fintekkers/requests/security/get_field_values_request_pb");
47
+ const get_field_values_response_pb_1 = require("../../fintekkers/requests/security/get_field_values_response_pb");
48
+ const get_fields_response_pb_1 = require("../../fintekkers/requests/security/get_fields_response_pb");
49
+ const query_security_request_pb_1 = require("../../fintekkers/requests/security/query_security_request_pb");
50
+ const query_security_response_pb_1 = require("../../fintekkers/requests/security/query_security_response_pb");
51
+ const create_transaction_request_pb_1 = require("../../fintekkers/requests/transaction/create_transaction_request_pb");
52
+ const create_transaction_response_pb_1 = require("../../fintekkers/requests/transaction/create_transaction_response_pb");
53
+ const query_transaction_request_pb_1 = require("../../fintekkers/requests/transaction/query_transaction_request_pb");
54
+ const query_transaction_response_pb_1 = require("../../fintekkers/requests/transaction/query_transaction_response_pb");
55
+ const delete_request_pb_1 = require("../../fintekkers/requests/util/delete_request_pb");
56
+ const lock_request_pb_1 = require("../../fintekkers/requests/util/lock/lock_request_pb");
57
+ const lock_response_pb_1 = require("../../fintekkers/requests/util/lock/lock_response_pb");
58
+ const curve_request_pb_1 = require("../../fintekkers/requests/valuation/curve_request_pb");
59
+ const curve_response_pb_1 = require("../../fintekkers/requests/valuation/curve_response_pb");
60
+ const valuation_request_pb_1 = require("../../fintekkers/requests/valuation/valuation_request_pb");
61
+ const valuation_response_pb_1 = require("../../fintekkers/requests/valuation/valuation_response_pb");
62
+ /** The schema version `stamp` writes. Not the library release. */
63
+ exports.SCHEMA_VERSION = [0, 0, 1];
51
64
  /**
52
- * The ObjectTypeProto value named for a message type, or OBJECT_TYPE_UNKNOWN.
53
- * Uses the enum's naming rule: `QuerySecurityRequestProto` ->
54
- * OBJECT_TYPE_QUERY_SECURITY_REQUEST.
65
+ * Sets object_type and version (`SCHEMA_VERSION`) on `message`; returns it.
66
+ * `objectType` is the message's own ObjectTypeProto value.
55
67
  */
56
- function ownType(messageName) {
57
- const base = messageName.endsWith('Proto') ? messageName.slice(0, -'Proto'.length) : messageName;
58
- const name = PREFIX + base.replace(CAMEL_BOUNDARY, '_').toUpperCase();
59
- return Object.prototype.hasOwnProperty.call(object_type_pb_1.ObjectTypeProto, name)
60
- ? object_type_pb_1.ObjectTypeProto[name]
61
- : object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN;
68
+ function stamp(message, objectType) {
69
+ const [major, minor, patch] = exports.SCHEMA_VERSION;
70
+ message.setObjectType(objectType);
71
+ message.setVersion(new version_pb_1.VersionProto().setMajor(major).setMinor(minor).setPatch(patch));
72
+ return message;
73
+ }
74
+ exports.stamp = stamp;
75
+ // Each message with object_type: proto full name, generated class, its own
76
+ // ObjectTypeProto value (LM-320). object-type-coverage.test.ts fails when a
77
+ // message in the descriptor set is missing.
78
+ const OWN_TYPE_ROWS = [
79
+ ['fintekkers.models.portfolio.PortfolioProto', portfolio_pb_1.PortfolioProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PORTFOLIO],
80
+ ['fintekkers.models.position.PositionProto', position_pb_1.PositionProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_POSITION],
81
+ ['fintekkers.models.position.PositionFilterProto', position_filter_pb_1.PositionFilterProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_POSITION_FILTER],
82
+ ['fintekkers.models.price.PriceProto', price_pb_1.PriceProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE],
83
+ ['fintekkers.models.security.IdentifierProto', identifier_pb_1.IdentifierProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_IDENTIFIER],
84
+ ['fintekkers.models.security.SecurityProto', security_pb_1.SecurityProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_SECURITY],
85
+ ['fintekkers.models.security.TenorProto', tenor_pb_1.TenorProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_TENOR],
86
+ ['fintekkers.models.strategy.StrategyProto', strategy_pb_1.StrategyProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_STRATEGY],
87
+ ['fintekkers.models.strategy.StrategyAllocationProto', strategy_allocation_pb_1.StrategyAllocationProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_STRATEGY_ALLOCATION],
88
+ ['fintekkers.models.transaction.TransactionProto', transaction_pb_1.TransactionProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_TRANSACTION],
89
+ ['fintekkers.requests.portfolio.CreatePortfolioRequestProto', create_portfolio_request_pb_1.CreatePortfolioRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_REQUEST],
90
+ ['fintekkers.requests.portfolio.QueryPortfolioRequestProto', query_portfolio_request_pb_1.QueryPortfolioRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_REQUEST],
91
+ ['fintekkers.requests.price.CreatePriceRequestProto', create_price_request_pb_1.CreatePriceRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_REQUEST],
92
+ ['fintekkers.requests.price.QueryPriceRequestProto', query_price_request_pb_1.QueryPriceRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PRICE_REQUEST],
93
+ ['fintekkers.requests.security.CreateSecurityRequestProto', create_security_request_pb_1.CreateSecurityRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_REQUEST],
94
+ ['fintekkers.requests.security.QuerySecurityRequestProto', query_security_request_pb_1.QuerySecurityRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_REQUEST],
95
+ ['fintekkers.requests.transaction.CreateTransactionRequestProto', create_transaction_request_pb_1.CreateTransactionRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_REQUEST],
96
+ ['fintekkers.requests.transaction.QueryTransactionRequestProto', query_transaction_request_pb_1.QueryTransactionRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_REQUEST],
97
+ // LM-320: the rest of the messages with object_type.
98
+ ['fintekkers.models.security.bond.IssuanceProto', issuance_pb_1.IssuanceProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_ISSUANCE],
99
+ ['fintekkers.models.security.IndexCompositionProto', index_composition_pb_1.IndexCompositionProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_INDEX_COMPOSITION],
100
+ ['fintekkers.models.util.DateRangeProto', date_range_pb_1.DateRangeProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_DATE_RANGE],
101
+ ['fintekkers.models.util.api.API_Key', api_key_pb_1.API_Key, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_API_KEY],
102
+ ['fintekkers.models.util.lock.NodeState', node_state_pb_1.NodeState, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_NODE_STATE],
103
+ ['fintekkers.models.util.lock.NodePartition', node_partition_pb_1.NodePartition, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_NODE_PARTITION],
104
+ ['fintekkers.requests.index_composition.CreateIndexCompositionRequestProto', create_index_composition_request_pb_1.CreateIndexCompositionRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_INDEX_COMPOSITION_REQUEST],
105
+ ['fintekkers.requests.index_composition.CreateIndexCompositionResponseProto', create_index_composition_request_pb_1.CreateIndexCompositionResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_INDEX_COMPOSITION_RESPONSE],
106
+ ['fintekkers.requests.index_composition.GetIndexCompositionRequestProto', get_index_composition_request_pb_1.GetIndexCompositionRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_GET_INDEX_COMPOSITION_REQUEST],
107
+ ['fintekkers.requests.index_composition.GetIndexCompositionResponseProto', get_index_composition_request_pb_1.GetIndexCompositionResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_GET_INDEX_COMPOSITION_RESPONSE],
108
+ ['fintekkers.requests.portfolio.CreatePortfolioResponseProto', create_portfolio_response_pb_1.CreatePortfolioResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PORTFOLIO_RESPONSE],
109
+ ['fintekkers.requests.portfolio.QueryPortfolioResponseProto', query_portfolio_response_pb_1.QueryPortfolioResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PORTFOLIO_RESPONSE],
110
+ ['fintekkers.requests.position.QueryPositionRequestProto', query_position_request_pb_1.QueryPositionRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_POSITION_REQUEST],
111
+ ['fintekkers.requests.position.QueryPositionResponseProto', query_position_response_pb_1.QueryPositionResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_POSITION_RESPONSE],
112
+ ['fintekkers.requests.price.CreatePriceResponseProto', create_price_response_pb_1.CreatePriceResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_PRICE_RESPONSE],
113
+ ['fintekkers.requests.price.QueryPriceResponseProto', query_price_response_pb_1.QueryPriceResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_PRICE_RESPONSE],
114
+ ['fintekkers.requests.security.CreateSecurityResponseProto', create_security_response_pb_1.CreateSecurityResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_SECURITY_RESPONSE],
115
+ ['fintekkers.requests.security.QuerySecurityResponseProto', query_security_response_pb_1.QuerySecurityResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_SECURITY_RESPONSE],
116
+ ['fintekkers.requests.security.GetFieldsResponseProto', get_fields_response_pb_1.GetFieldsResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_GET_FIELDS_RESPONSE],
117
+ ['fintekkers.requests.security.GetFieldValuesRequestProto', get_field_values_request_pb_1.GetFieldValuesRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_GET_FIELD_VALUES_REQUEST],
118
+ ['fintekkers.requests.security.GetFieldValuesResponseProto', get_field_values_response_pb_1.GetFieldValuesResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_GET_FIELD_VALUES_RESPONSE],
119
+ ['fintekkers.requests.transaction.CreateTransactionResponseProto', create_transaction_response_pb_1.CreateTransactionResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CREATE_TRANSACTION_RESPONSE],
120
+ ['fintekkers.requests.transaction.QueryTransactionResponseProto', query_transaction_response_pb_1.QueryTransactionResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_QUERY_TRANSACTION_RESPONSE],
121
+ ['fintekkers.requests.util.DeleteRequestProto', delete_request_pb_1.DeleteRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_DELETE_REQUEST],
122
+ ['fintekkers.requests.util.DeleteResponseProto', delete_request_pb_1.DeleteResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_DELETE_RESPONSE],
123
+ ['fintekkers.requests.util.lock.LockRequestProto', lock_request_pb_1.LockRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_LOCK_REQUEST],
124
+ ['fintekkers.requests.util.lock.LockResponseProto', lock_response_pb_1.LockResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_LOCK_RESPONSE],
125
+ ['fintekkers.requests.valuation.ValuationRequestProto', valuation_request_pb_1.ValuationRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_VALUATION_REQUEST],
126
+ ['fintekkers.requests.valuation.ValuationResponseProto', valuation_response_pb_1.ValuationResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_VALUATION_RESPONSE],
127
+ ['fintekkers.requests.valuation.CurveRequestProto', curve_request_pb_1.CurveRequestProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CURVE_REQUEST],
128
+ ['fintekkers.requests.valuation.CurveResponseProto', curve_response_pb_1.CurveResponseProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_CURVE_RESPONSE],
129
+ ];
130
+ const OWN_TYPES = new Map(OWN_TYPE_ROWS.map(([, messageClass, objectType]) => [messageClass, objectType]));
131
+ /** Each message with object_type, by proto full name, to its own ObjectTypeProto value. */
132
+ exports.OWN_TYPE_NAMES = new Map(OWN_TYPE_ROWS.map(([fullName, , objectType]) => [fullName, objectType]));
133
+ /** The message's own ObjectTypeProto value, or undefined when its class has none. */
134
+ function ownType(message) {
135
+ return OWN_TYPES.get(message.constructor);
62
136
  }
63
137
  exports.ownType = ownType;
64
138
  /**
65
- * The generated class name of `message`. google-protobuf's classes are
66
- * anonymous functions, but each generated module exports its classes under
67
- * the global `proto` namespace by full name, so search that.
139
+ * `stamp` with the message's own ObjectTypeProto value (LM-320); returns it.
140
+ * Throws an Error when its class has no own value. Generated classes are
141
+ * anonymous at runtime, so the error names the class only when it has a name.
68
142
  */
69
- function messageName(ctor, namespace, depth = 0) {
70
- if (typeof namespace !== 'object' || namespace === null || depth > 8)
71
- return undefined;
72
- for (const [key, value] of Object.entries(namespace)) {
73
- if (value === ctor)
74
- return key;
75
- const found = messageName(ctor, value, depth + 1);
76
- if (found !== undefined)
77
- return found;
78
- }
79
- return undefined;
80
- }
81
- function ownTypeOf(message) {
82
- const ctor = message.constructor;
83
- let type = ownTypes.get(ctor);
84
- if (type === undefined) {
85
- const name = messageName(ctor, globalThis.proto);
86
- type = name === undefined ? object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN : ownType(name);
87
- ownTypes.set(ctor, type);
143
+ function stampOwn(message) {
144
+ var _a;
145
+ const objectType = ownType(message);
146
+ if (objectType === undefined) {
147
+ throw new Error(`${((_a = message.constructor) === null || _a === void 0 ? void 0 : _a.name) || 'this message type'} has no own ObjectTypeProto`);
88
148
  }
89
- return type;
90
- }
91
- /** '1.2.3' -> [1, 2, 3]; null unless exactly three decimal uint32 parts. */
92
- function parseVersion(version) {
93
- if (!VERSION_PATTERN.test(version))
94
- return null;
95
- const parts = version.split('.').map(Number);
96
- if (parts.some((p) => p > UINT32_MAX))
97
- return null;
98
- return [parts[0], parts[1], parts[2]];
149
+ return stamp(message, objectType);
99
150
  }
100
- exports.parseVersion = parseVersion;
151
+ exports.stampOwn = stampOwn;
101
152
  /**
102
- * Sets object_class / version and their compact form on `message`; returns it.
103
- * `objectType` is the message's own ObjectTypeProto value. `version` must be
104
- * empty or three uint32 parts.
153
+ * The message's ObjectTypeProto value; OBJECT_TYPE_UNKNOWN when unset. A value
154
+ * added after this build is returned as its number.
105
155
  */
106
- function stamp(message, objectType, objectClass, version) {
107
- const parts = version ? parseVersion(version) : [0, 0, 0];
108
- if (parts === null) {
109
- throw new Error(`version must be MAJOR.MINOR.PATCH, got '${version}'`);
110
- }
111
- message.setObjectClass(objectClass);
112
- message.setVersion(version);
113
- message.setObjectType(objectType);
114
- setCompactVersion(message, parts);
115
- return message;
116
- }
117
- exports.stamp = stamp;
118
- function setCompactVersion(message, [major, minor, patch]) {
119
- message.setVersionMajor(major);
120
- message.setVersionMinor(minor);
121
- message.setVersionPatch(patch);
122
- }
123
- function compactVersion(message) {
124
- return [message.getVersionMajor(), message.getVersionMinor(), message.getVersionPatch()];
125
- }
126
- function decode(message) {
127
- const objectClass = message.getObjectClass();
128
- const versionString = message.getVersion();
129
- let objectType = message.getObjectType();
130
- let version = compactVersion(message);
131
- const problems = [];
132
- let usedStrings = false;
133
- if (objectType === object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN && objectClass) {
134
- usedStrings = true;
135
- objectType = fromLegacy(objectClass);
136
- if (objectType === object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN) {
137
- problems.push(' (unknown object_class, using OBJECT_TYPE_UNKNOWN)');
138
- }
139
- else {
140
- // Some strings were written on more than one message type (e.g.
141
- // 'SecurityRequest' on the create and query requests): the message's
142
- // own type wins over the value the string sits on.
143
- const own = ownTypeOf(message);
144
- if (own !== object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_UNKNOWN)
145
- objectType = own;
146
- }
147
- }
148
- if (version.every((p) => p === 0) && versionString) {
149
- usedStrings = true;
150
- const parsed = parseVersion(versionString);
151
- if (parsed === null) {
152
- problems.push(' (malformed version, using 0.0.0)');
153
- }
154
- else {
155
- version = parsed;
156
- }
157
- }
158
- const key = `${objectClass}\u0000${versionString}`;
159
- if (usedStrings && !warned.has(key)) {
160
- warned.add(key);
161
- console.warn(`${message.constructor.name} read from deprecated strings object_class='${objectClass}' ` +
162
- `version='${versionString}'${problems.join('')}; re-save it to write object_type and ` +
163
- 'version_major/minor/patch (LM-297)');
164
- }
165
- return { objectType, version };
166
- }
167
- /** The message's ObjectTypeProto value: object_type, else the object_class string. */
168
156
  function readType(message) {
169
- return decode(message).objectType;
157
+ return message.getObjectType();
170
158
  }
171
159
  exports.readType = readType;
172
- /** The message's [major, minor, patch]: the compact fields, else the version string. */
160
+ /** The message's [major, minor, patch], or undefined when version is absent. */
173
161
  function readVersion(message) {
174
- return decode(message).version;
162
+ const version = message.getVersion();
163
+ if (!message.hasVersion() || version === undefined)
164
+ return undefined;
165
+ return [version.getMajor(), version.getMinor(), version.getPatch()];
175
166
  }
176
167
  exports.readVersion = readVersion;
177
- /**
178
- * Fills the compact fields from the strings where they are unset; returns `message`.
179
- * The strings are kept, so re-serialising writes both forms.
180
- */
181
- function upgrade(message) {
182
- const { objectType, version } = decode(message);
183
- message.setObjectType(objectType);
184
- setCompactVersion(message, version);
185
- return message;
186
- }
187
- exports.upgrade = upgrade;
188
- /** Forgets which strings have warned. Tests only. */
189
- function resetWarningsForTests() {
190
- warned.clear();
191
- }
192
- exports.resetWarningsForTests = resetWarningsForTests;
193
168
  //# sourceMappingURL=object-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-types.js","sourceRoot":"","sources":["object-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-types.js","sourceRoot":"","sources":["object-types.ts"],"names":[],"mappings":"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"}