@fintekkers/ledger-models 0.4.38 → 0.4.39
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/util/decimal_value_pb.d.ts +2 -0
- package/node/wrappers/models/position/position.d.ts +1 -1
- package/node/wrappers/models/position/position.js.map +1 -1
- package/node/wrappers/models/position/position.test.js +2 -2
- package/node/wrappers/models/position/position.test.js.map +1 -1
- package/node/wrappers/models/position/position.test.ts +2 -2
- package/node/wrappers/models/position/position.ts +2 -2
- package/node/wrappers/models/price/Price.js +16 -8
- package/node/wrappers/models/price/Price.js.map +1 -1
- package/node/wrappers/models/price/Price.ts +15 -6
- package/node/wrappers/models/price/price_rules.d.ts +2 -2
- package/node/wrappers/models/price/price_rules.js +6 -4
- package/node/wrappers/models/price/price_rules.js.map +1 -1
- package/node/wrappers/models/price/price_rules.ts +5 -3
- package/node/wrappers/models/security/BondSecurity.d.ts +1 -1
- package/node/wrappers/models/security/BondSecurity.js +5 -5
- package/node/wrappers/models/security/BondSecurity.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.ts +5 -4
- package/node/wrappers/models/security/FloatingRateNote.js +2 -2
- package/node/wrappers/models/security/FloatingRateNote.js.map +1 -1
- package/node/wrappers/models/security/FloatingRateNote.ts +2 -1
- package/node/wrappers/models/security/Issuance.js +3 -6
- package/node/wrappers/models/security/Issuance.js.map +1 -1
- package/node/wrappers/models/security/Issuance.ts +3 -2
- package/node/wrappers/models/security/MortgageBackedSecurity.js +7 -7
- package/node/wrappers/models/security/MortgageBackedSecurity.js.map +1 -1
- package/node/wrappers/models/security/MortgageBackedSecurity.ts +7 -6
- package/node/wrappers/models/security/TIPSBond.js +2 -2
- package/node/wrappers/models/security/TIPSBond.js.map +1 -1
- package/node/wrappers/models/security/TIPSBond.ts +2 -1
- package/node/wrappers/models/security/security_rules.js +10 -12
- package/node/wrappers/models/security/security_rules.js.map +1 -1
- package/node/wrappers/models/security/security_rules.ts +9 -9
- package/node/wrappers/models/transaction/transaction.js +16 -10
- package/node/wrappers/models/transaction/transaction.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.ts +16 -7
- package/node/wrappers/models/utils/decimal.d.ts +96 -0
- package/node/wrappers/models/utils/decimal.js +328 -0
- package/node/wrappers/models/utils/decimal.js.map +1 -0
- package/node/wrappers/models/utils/decimal.legacy.test.d.ts +1 -0
- package/node/wrappers/models/utils/decimal.legacy.test.js +174 -0
- package/node/wrappers/models/utils/decimal.legacy.test.js.map +1 -0
- package/node/wrappers/models/utils/decimal.legacy.test.ts +158 -0
- package/node/wrappers/models/utils/decimal.test.d.ts +1 -0
- package/node/wrappers/models/utils/decimal.test.js +258 -0
- package/node/wrappers/models/utils/decimal.test.js.map +1 -0
- package/node/wrappers/models/utils/decimal.test.ts +272 -0
- package/node/wrappers/models/utils/decimal.ts +335 -0
- package/node/wrappers/models/utils/decimal.typings.test.d.ts +1 -0
- package/node/wrappers/models/utils/decimal.typings.test.js +39 -0
- package/node/wrappers/models/utils/decimal.typings.test.js.map +1 -0
- package/node/wrappers/models/utils/decimal.typings.test.ts +16 -0
- package/node/wrappers/models/utils/serialization.d.ts +2 -1
- package/node/wrappers/models/utils/serialization.js +12 -2
- package/node/wrappers/models/utils/serialization.js.map +1 -1
- package/node/wrappers/models/utils/serialization.ts +14 -3
- package/node/wrappers/services/security-service/security.maturityLadder.test.js +1 -1
- package/node/wrappers/services/security-service/security.maturityLadder.test.js.map +1 -1
- package/node/wrappers/services/security-service/security.maturityLadder.test.ts +3 -2
- package/package.json +1 -1
- package/tsconfig.json +1 -0
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
import * as jspb from "google-protobuf";
|
|
8
8
|
|
|
9
9
|
export class DecimalValueProto extends jspb.Message {
|
|
10
|
+
/** @deprecated Use decodeDecimal / encodeDecimal from wrappers/models/utils/decimal (LM-294). */
|
|
10
11
|
getArbitraryPrecisionValue(): string;
|
|
12
|
+
/** @deprecated Use decodeDecimal / encodeDecimal from wrappers/models/utils/decimal (LM-294). */
|
|
11
13
|
setArbitraryPrecisionValue(value: string): DecimalValueProto;
|
|
12
14
|
getUnscaledValue(): Uint8Array | string;
|
|
13
15
|
getUnscaledValue_asU8(): Uint8Array;
|
|
@@ -23,7 +23,7 @@ export declare class Position {
|
|
|
23
23
|
*/
|
|
24
24
|
static fromJSON(json: any): Position;
|
|
25
25
|
getFieldValue(field: FieldProto): any;
|
|
26
|
-
getField(fieldToGet: FieldMapEntry): string | ProtoEnum | Security | Identifier | Portfolio | UUID | Date | ZonedDateTime |
|
|
26
|
+
getField(fieldToGet: FieldMapEntry): string | ProtoEnum | Security | Identifier | Portfolio | UUID | Date | ZonedDateTime | Decimal | PriceProto | Tenor;
|
|
27
27
|
getMeasureValue(measure: MeasureProto): Decimal;
|
|
28
28
|
private getMeasure;
|
|
29
29
|
getFieldDisplay(fieldToGet: FieldMapEntry): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ function testEnumSerialization() {
|
|
|
60
60
|
position.getMeasures().forEach(measureMapEntry => {
|
|
61
61
|
measureMapEntry.getMeasure().toString();
|
|
62
62
|
});
|
|
63
|
-
expect(position.getMeasureValue(measure_pb_1.MeasureProto.DIRECTED_QUANTITY)).toBe(1.55);
|
|
63
|
+
expect(position.getMeasureValue(measure_pb_1.MeasureProto.DIRECTED_QUANTITY).toString()).toBe("1.55");
|
|
64
64
|
return true;
|
|
65
65
|
});
|
|
66
66
|
}
|
|
@@ -152,7 +152,7 @@ function testSerialization() {
|
|
|
152
152
|
let positionID = position.getFieldValue(field_pb_1.FieldProto.ID);
|
|
153
153
|
expect(positionID.toString()).toBe(id.toString());
|
|
154
154
|
expect(position.getFieldValue(field_pb_1.FieldProto.POSITION_STATUS).toString()).toBe("EXECUTED");
|
|
155
|
-
expect(position.getMeasureValue(measure_pb_1.MeasureProto.DIRECTED_QUANTITY)).toBe(1);
|
|
155
|
+
expect(position.getMeasureValue(measure_pb_1.MeasureProto.DIRECTED_QUANTITY).toString()).toBe("1");
|
|
156
156
|
let price = position.getFieldValue(field_pb_1.FieldProto.PRICE);
|
|
157
157
|
expect((_a = price.getPrice()) === null || _a === void 0 ? void 0 : _a.getArbitraryPrecisionValue()).toBe("1.0");
|
|
158
158
|
let tenor = position.getFieldValue(field_pb_1.FieldProto.TENOR);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ async function testEnumSerialization(): Promise<boolean> {
|
|
|
60
60
|
position.getMeasures().forEach(measureMapEntry => {
|
|
61
61
|
measureMapEntry.getMeasure().toString();
|
|
62
62
|
});
|
|
63
|
-
expect(position.getMeasureValue(MeasureProto.DIRECTED_QUANTITY)).toBe(1.55);
|
|
63
|
+
expect(position.getMeasureValue(MeasureProto.DIRECTED_QUANTITY).toString()).toBe("1.55");
|
|
64
64
|
|
|
65
65
|
return true;
|
|
66
66
|
}
|
|
@@ -174,7 +174,7 @@ async function testSerialization(): Promise<boolean> {
|
|
|
174
174
|
|
|
175
175
|
expect(position.getFieldValue(FieldProto.POSITION_STATUS).toString()).toBe("EXECUTED");
|
|
176
176
|
|
|
177
|
-
expect(position.getMeasureValue(MeasureProto.DIRECTED_QUANTITY)).toBe(1);
|
|
177
|
+
expect(position.getMeasureValue(MeasureProto.DIRECTED_QUANTITY).toString()).toBe("1");
|
|
178
178
|
|
|
179
179
|
let price: PriceProto = position.getFieldValue(FieldProto.PRICE);
|
|
180
180
|
expect(price.getPrice()?.getArbitraryPrecisionValue()).toBe("1.0");
|
|
@@ -54,7 +54,7 @@ export class Position {
|
|
|
54
54
|
return this.getField(new FieldMapEntry().setField(field));
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
public getField(fieldToGet: FieldMapEntry): string | ProtoEnum | Security | Identifier | Portfolio | UUID | Date | ZonedDateTime |
|
|
57
|
+
public getField(fieldToGet: FieldMapEntry): string | ProtoEnum | Security | Identifier | Portfolio | UUID | Date | ZonedDateTime | Decimal | PriceProto | Tenor {
|
|
58
58
|
for (const tmpField of this.proto.getFieldsList()) {
|
|
59
59
|
if (tmpField.getField() === fieldToGet.getField()) {
|
|
60
60
|
|
|
@@ -113,7 +113,7 @@ export class Position {
|
|
|
113
113
|
return new Portfolio(unpackedValue);
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
return ProtoSerializationUtil.deserialize(unpackedValue) as string |
|
|
116
|
+
return ProtoSerializationUtil.deserialize(unpackedValue) as string | Decimal | Identifier | Date | ZonedDateTime | UUID | ProtoEnum | Security | Tenor | Portfolio | PriceProto;
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
|
|
@@ -28,13 +28,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const price_pb_1 = require("../../../fintekkers/models/price/price_pb");
|
|
30
30
|
const price_type_pb_1 = require("../../../fintekkers/models/price/price_type_pb");
|
|
31
|
-
const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
32
31
|
const security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
33
32
|
const security_1 = __importDefault(require("../security/security"));
|
|
34
33
|
const datetime_1 = require("../utils/datetime");
|
|
35
34
|
const uuid_1 = require("../utils/uuid");
|
|
36
35
|
const decimal_js_1 = require("decimal.js");
|
|
37
36
|
const LinkCacheModule = __importStar(require("../../util/link-cache"));
|
|
37
|
+
const decimal_1 = require("../utils/decimal");
|
|
38
38
|
const object_type_pb_1 = require("../../../fintekkers/models/util/object_type_pb");
|
|
39
39
|
const object_types_1 = require("../../util/object-types");
|
|
40
40
|
class Price {
|
|
@@ -52,8 +52,7 @@ class Price {
|
|
|
52
52
|
* @param priceType - Optional price type, defaults to PERCENTAGE
|
|
53
53
|
*/
|
|
54
54
|
static fromSimple(securityId, price, date, priceType = price_type_pb_1.PriceTypeProto.PERCENTAGE) {
|
|
55
|
-
const decimalValueProto =
|
|
56
|
-
decimalValueProto.setArbitraryPrecisionValue(price.toString());
|
|
55
|
+
const decimalValueProto = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)(price.toString()));
|
|
57
56
|
const securityProto = new security_pb_1.SecurityProto();
|
|
58
57
|
securityProto.setUuid(new uuid_1.UUID(uuid_1.UUID.fromString(securityId)).toUUIDProto());
|
|
59
58
|
securityProto.setIsLink(true);
|
|
@@ -70,8 +69,7 @@ class Price {
|
|
|
70
69
|
* Factory method to create a Price from a Decimal value, Security, and ZonedDateTime
|
|
71
70
|
*/
|
|
72
71
|
static create(price, security, asOf) {
|
|
73
|
-
const decimalValueProto =
|
|
74
|
-
decimalValueProto.setArbitraryPrecisionValue(price.toString());
|
|
72
|
+
const decimalValueProto = (0, decimal_1.encodeDecimal)((0, decimal_1.fromDecimalJs)(price));
|
|
75
73
|
const priceProto = new price_pb_1.PriceProto();
|
|
76
74
|
priceProto.setPrice(decimalValueProto);
|
|
77
75
|
(0, object_types_1.stamp)(priceProto, object_type_pb_1.ObjectTypeProto.OBJECT_TYPE_PRICE, 'Price', '0.0.1');
|
|
@@ -126,7 +124,7 @@ class Price {
|
|
|
126
124
|
const priceValue = this.proto.getPrice();
|
|
127
125
|
if (!priceValue)
|
|
128
126
|
throw new Error("Price value is required");
|
|
129
|
-
return
|
|
127
|
+
return (0, decimal_1.toDecimalJs)((0, decimal_1.withField)('price', () => (0, decimal_1.decodeDecimal)(priceValue)));
|
|
130
128
|
}
|
|
131
129
|
getPriceType() {
|
|
132
130
|
this.ensureHydrated();
|
|
@@ -151,13 +149,23 @@ class Price {
|
|
|
151
149
|
return datetime_1.ZonedDateTime.fromRequired(this.proto.getAsOf(), 'price.as_of');
|
|
152
150
|
}
|
|
153
151
|
toString() {
|
|
154
|
-
|
|
155
|
-
const priceStr = (_b = (_a = this.proto.getPrice()) === null || _a === void 0 ? void 0 : _a.getArbitraryPrecisionValue()) !== null && _b !== void 0 ? _b : 'N/A';
|
|
152
|
+
const priceStr = priceDisplay(this.proto.getPrice());
|
|
156
153
|
return `Price[${priceStr}, securityId=${this.getSecurityID().toString()}]`;
|
|
157
154
|
}
|
|
158
155
|
equals(other) {
|
|
159
156
|
return this.getID().equals(other.getID());
|
|
160
157
|
}
|
|
161
158
|
}
|
|
159
|
+
/** The canonical string of a price, keeping its scale, or 'N/A' when unset or unreadable. */
|
|
160
|
+
function priceDisplay(p) {
|
|
161
|
+
if (!p || (0, decimal_1.isUnsetDecimal)(p))
|
|
162
|
+
return 'N/A';
|
|
163
|
+
try {
|
|
164
|
+
return (0, decimal_1.toCanonicalString)((0, decimal_1.decodeDecimal)(p));
|
|
165
|
+
}
|
|
166
|
+
catch (e) {
|
|
167
|
+
return 'N/A';
|
|
168
|
+
}
|
|
169
|
+
}
|
|
162
170
|
exports.default = Price;
|
|
163
171
|
//# sourceMappingURL=Price.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Price.js","sourceRoot":"","sources":["Price.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEAAuE;AACvE,kFAAgF;
|
|
1
|
+
{"version":3,"file":"Price.js","sourceRoot":"","sources":["Price.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { ZonedDateTime } from "../utils/datetime";
|
|
|
7
7
|
import { UUID } from "../utils/uuid";
|
|
8
8
|
import { Decimal } from "decimal.js";
|
|
9
9
|
import * as LinkCacheModule from "../../util/link-cache";
|
|
10
|
+
import { decodeDecimal, encodeDecimal, fromDecimalJs, isUnsetDecimal, parseDecimalString, toCanonicalString, toDecimalJs, withField } from "../utils/decimal";
|
|
10
11
|
import { ObjectTypeProto } from '../../../fintekkers/models/util/object_type_pb';
|
|
11
12
|
import { stamp } from '../../util/object-types';
|
|
12
13
|
|
|
@@ -33,8 +34,7 @@ class Price {
|
|
|
33
34
|
date: Date,
|
|
34
35
|
priceType: PriceTypeProto = PriceTypeProto.PERCENTAGE
|
|
35
36
|
): Price {
|
|
36
|
-
const decimalValueProto =
|
|
37
|
-
decimalValueProto.setArbitraryPrecisionValue(price.toString());
|
|
37
|
+
const decimalValueProto = encodeDecimal(parseDecimalString(price.toString()));
|
|
38
38
|
|
|
39
39
|
const securityProto = new SecurityProto();
|
|
40
40
|
securityProto.setUuid(new UUID(UUID.fromString(securityId)).toUUIDProto());
|
|
@@ -55,8 +55,7 @@ class Price {
|
|
|
55
55
|
* Factory method to create a Price from a Decimal value, Security, and ZonedDateTime
|
|
56
56
|
*/
|
|
57
57
|
static create(price: Decimal, security: Security, asOf: ZonedDateTime): Price {
|
|
58
|
-
const decimalValueProto =
|
|
59
|
-
decimalValueProto.setArbitraryPrecisionValue(price.toString());
|
|
58
|
+
const decimalValueProto = encodeDecimal(fromDecimalJs(price));
|
|
60
59
|
|
|
61
60
|
const priceProto = new PriceProto();
|
|
62
61
|
priceProto.setPrice(decimalValueProto);
|
|
@@ -116,7 +115,7 @@ class Price {
|
|
|
116
115
|
this.ensureHydrated();
|
|
117
116
|
const priceValue = this.proto.getPrice();
|
|
118
117
|
if (!priceValue) throw new Error("Price value is required");
|
|
119
|
-
return
|
|
118
|
+
return toDecimalJs(withField('price', () => decodeDecimal(priceValue)));
|
|
120
119
|
}
|
|
121
120
|
|
|
122
121
|
getPriceType(): PriceTypeProto {
|
|
@@ -143,7 +142,7 @@ class Price {
|
|
|
143
142
|
}
|
|
144
143
|
|
|
145
144
|
toString(): string {
|
|
146
|
-
const priceStr = this.proto.getPrice()
|
|
145
|
+
const priceStr = priceDisplay(this.proto.getPrice());
|
|
147
146
|
return `Price[${priceStr}, securityId=${this.getSecurityID().toString()}]`;
|
|
148
147
|
}
|
|
149
148
|
|
|
@@ -152,4 +151,14 @@ class Price {
|
|
|
152
151
|
}
|
|
153
152
|
}
|
|
154
153
|
|
|
154
|
+
/** The canonical string of a price, keeping its scale, or 'N/A' when unset or unreadable. */
|
|
155
|
+
function priceDisplay(p: DecimalValueProto | undefined): string {
|
|
156
|
+
if (!p || isUnsetDecimal(p)) return 'N/A';
|
|
157
|
+
try {
|
|
158
|
+
return toCanonicalString(decodeDecimal(p));
|
|
159
|
+
} catch (e) {
|
|
160
|
+
return 'N/A';
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
155
164
|
export default Price;
|
|
@@ -5,8 +5,8 @@ import { FieldViolationProto } from '../../../fintekkers/requests/util/errors/fi
|
|
|
5
5
|
* (docs/adr/typed-input-errors.md). Pure: proto in, violations out.
|
|
6
6
|
*
|
|
7
7
|
* Three rules, checked in this order: `security` has a non-empty UUID,
|
|
8
|
-
* `price` has
|
|
9
|
-
*
|
|
8
|
+
* `price` has either decimal form set (zero is valid, see the PriceProto
|
|
9
|
+
* comment), and `price_type` is not UNKNOWN_PRICE_TYPE. The price
|
|
10
10
|
* value is not parsed. Never throws on bad or unset input; null or undefined
|
|
11
11
|
* is checked as an empty PriceProto. Unlike security_rules, a link price is
|
|
12
12
|
* not skipped: hydrate it first. The Price wrapper does not call these rules.
|
|
@@ -5,13 +5,14 @@ const price_pb_1 = require("../../../fintekkers/models/price/price_pb");
|
|
|
5
5
|
const price_type_pb_1 = require("../../../fintekkers/models/price/price_type_pb");
|
|
6
6
|
const errors_1 = require("../errors");
|
|
7
7
|
const uuid_1 = require("../utils/uuid");
|
|
8
|
+
const decimal_1 = require("../utils/decimal");
|
|
8
9
|
/**
|
|
9
10
|
* Price input rules (LM-289): JS counterpart of Java's PriceRules
|
|
10
11
|
* (docs/adr/typed-input-errors.md). Pure: proto in, violations out.
|
|
11
12
|
*
|
|
12
13
|
* Three rules, checked in this order: `security` has a non-empty UUID,
|
|
13
|
-
* `price` has
|
|
14
|
-
*
|
|
14
|
+
* `price` has either decimal form set (zero is valid, see the PriceProto
|
|
15
|
+
* comment), and `price_type` is not UNKNOWN_PRICE_TYPE. The price
|
|
15
16
|
* value is not parsed. Never throws on bad or unset input; null or undefined
|
|
16
17
|
* is checked as an empty PriceProto. Unlike security_rules, a link price is
|
|
17
18
|
* not skipped: hydrate it first. The Price wrapper does not call these rules.
|
|
@@ -21,14 +22,15 @@ exports.PRICE = 'price';
|
|
|
21
22
|
exports.PRICE_TYPE = 'price_type';
|
|
22
23
|
/** Returns every field-level violation on this price, or an empty array when it is valid. */
|
|
23
24
|
function validate(proto) {
|
|
24
|
-
var _a, _b
|
|
25
|
+
var _a, _b;
|
|
25
26
|
const p = proto !== null && proto !== void 0 ? proto : new price_pb_1.PriceProto();
|
|
26
27
|
const id = objectIdOf(p);
|
|
27
28
|
const out = [];
|
|
28
29
|
if (!((_b = (_a = p.getSecurity()) === null || _a === void 0 ? void 0 : _a.getUuid()) === null || _b === void 0 ? void 0 : _b.getRawUuid_asU8().length)) {
|
|
29
30
|
out.push((0, errors_1.violation)(exports.SECURITY, id, 'security with a non-empty uuid is required'));
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
+
const price = p.getPrice();
|
|
33
|
+
if (!price || (0, decimal_1.isUnsetDecimal)(price)) {
|
|
32
34
|
out.push((0, errors_1.violation)(exports.PRICE, id, 'price is required'));
|
|
33
35
|
}
|
|
34
36
|
if (p.getPriceType() === price_type_pb_1.PriceTypeProto.UNKNOWN_PRICE_TYPE) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price_rules.js","sourceRoot":"","sources":["price_rules.ts"],"names":[],"mappings":";;;AAAA,wEAAuE;AACvE,kFAAgF;AAEhF,sCAA4D;AAC5D,wCAAqC;
|
|
1
|
+
{"version":3,"file":"price_rules.js","sourceRoot":"","sources":["price_rules.ts"],"names":[],"mappings":";;;AAAA,wEAAuE;AACvE,kFAAgF;AAEhF,sCAA4D;AAC5D,wCAAqC;AACrC,8CAAkD;AAElD;;;;;;;;;;GAUG;AAEU,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,KAAK,GAAG,OAAO,CAAC;AAChB,QAAA,UAAU,GAAG,YAAY,CAAC;AAEvC,6FAA6F;AAC7F,SAAgB,QAAQ,CAAC,KAAoC;;IACzD,MAAM,CAAC,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,qBAAU,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,IAAI,CAAC,CAAA,MAAA,MAAA,CAAC,CAAC,WAAW,EAAE,0CAAE,OAAO,EAAE,0CAAE,eAAe,GAAG,MAAM,CAAA,EAAE;QACvD,GAAG,CAAC,IAAI,CAAC,IAAA,kBAAS,EAAC,gBAAQ,EAAE,EAAE,EAAE,4CAA4C,CAAC,CAAC,CAAC;KACnF;IACD,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3B,IAAI,CAAC,KAAK,IAAI,IAAA,wBAAc,EAAC,KAAK,CAAC,EAAE;QACjC,GAAG,CAAC,IAAI,CAAC,IAAA,kBAAS,EAAC,aAAK,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;KACvD;IACD,IAAI,CAAC,CAAC,YAAY,EAAE,KAAK,8BAAc,CAAC,kBAAkB,EAAE;QACxD,GAAG,CAAC,IAAI,CAAC,IAAA,kBAAS,EAAC,kBAAU,EAAE,EAAE,EAAE,2CAA2C,CAAC,CAAC,CAAC;KACpF;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAfD,4BAeC;AAED,oFAAoF;AACpF,SAAgB,YAAY,CAAC,KAAoC;IAC7D,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,6BAAoB,CAAC,UAAU,CAAC,CAAC;AAC1E,CAAC;AAHD,oCAGC;AAED,6EAA6E;AAC7E,SAAS,UAAU,CAAC,KAAiB;;IACjC,MAAM,GAAG,GAAG,MAAA,KAAK,CAAC,OAAO,EAAE,0CAAE,eAAe,EAAE,CAAC;IAC/C,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,WAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC"}
|
|
@@ -3,14 +3,15 @@ import { PriceTypeProto } from '../../../fintekkers/models/price/price_type_pb';
|
|
|
3
3
|
import { FieldViolationProto } from '../../../fintekkers/requests/util/errors/field_violation_pb';
|
|
4
4
|
import { ModelValidationError, violation } from '../errors';
|
|
5
5
|
import { UUID } from '../utils/uuid';
|
|
6
|
+
import { isUnsetDecimal } from '../utils/decimal';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Price input rules (LM-289): JS counterpart of Java's PriceRules
|
|
9
10
|
* (docs/adr/typed-input-errors.md). Pure: proto in, violations out.
|
|
10
11
|
*
|
|
11
12
|
* Three rules, checked in this order: `security` has a non-empty UUID,
|
|
12
|
-
* `price` has
|
|
13
|
-
*
|
|
13
|
+
* `price` has either decimal form set (zero is valid, see the PriceProto
|
|
14
|
+
* comment), and `price_type` is not UNKNOWN_PRICE_TYPE. The price
|
|
14
15
|
* value is not parsed. Never throws on bad or unset input; null or undefined
|
|
15
16
|
* is checked as an empty PriceProto. Unlike security_rules, a link price is
|
|
16
17
|
* not skipped: hydrate it first. The Price wrapper does not call these rules.
|
|
@@ -28,7 +29,8 @@ export function validate(proto: PriceProto | null | undefined): FieldViolationPr
|
|
|
28
29
|
if (!p.getSecurity()?.getUuid()?.getRawUuid_asU8().length) {
|
|
29
30
|
out.push(violation(SECURITY, id, 'security with a non-empty uuid is required'));
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
+
const price = p.getPrice();
|
|
33
|
+
if (!price || isUnsetDecimal(price)) {
|
|
32
34
|
out.push(violation(PRICE, id, 'price is required'));
|
|
33
35
|
}
|
|
34
36
|
if (p.getPriceType() === PriceTypeProto.UNKNOWN_PRICE_TYPE) {
|
|
@@ -20,7 +20,7 @@ export interface BondPricerInputs {
|
|
|
20
20
|
issueDate: Date;
|
|
21
21
|
maturityDate: Date;
|
|
22
22
|
}
|
|
23
|
-
/** Build a DecimalValueProto from a Decimal. */
|
|
23
|
+
/** Build a DecimalValueProto from a Decimal, in both forms (LM-306). */
|
|
24
24
|
export declare function decimalToProto(v: Decimal): DecimalValueProto;
|
|
25
25
|
/**
|
|
26
26
|
* Build a populated BondDetailsProto from BondPricerInputs. Shared helper
|
|
@@ -7,7 +7,6 @@ exports.buildBondDetails = exports.decimalToProto = void 0;
|
|
|
7
7
|
const security_1 = __importDefault(require("./security"));
|
|
8
8
|
const security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
9
9
|
const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
|
|
10
|
-
const decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
11
10
|
const date_1 = require("../utils/date");
|
|
12
11
|
const coupon_frequency_1 = require("./coupon_frequency");
|
|
13
12
|
const coupon_type_1 = require("./coupon_type");
|
|
@@ -16,9 +15,10 @@ const tenor_type_pb_1 = require("../../../fintekkers/models/security/tenor_type_
|
|
|
16
15
|
const decimal_js_1 = require("decimal.js");
|
|
17
16
|
const product_hierarchy_1 = require("./product_hierarchy");
|
|
18
17
|
const Issuance_1 = __importDefault(require("./Issuance"));
|
|
19
|
-
|
|
18
|
+
const decimal_1 = require("../utils/decimal");
|
|
19
|
+
/** Build a DecimalValueProto from a Decimal, in both forms (LM-306). */
|
|
20
20
|
function decimalToProto(v) {
|
|
21
|
-
return
|
|
21
|
+
return (0, decimal_1.encodeDecimal)((0, decimal_1.fromDecimalJs)(v));
|
|
22
22
|
}
|
|
23
23
|
exports.decimalToProto = decimalToProto;
|
|
24
24
|
/**
|
|
@@ -99,14 +99,14 @@ class BondSecurity extends security_1.default {
|
|
|
99
99
|
const rate = bond ? bond.getCouponRate() : undefined;
|
|
100
100
|
if (!rate)
|
|
101
101
|
return null;
|
|
102
|
-
return
|
|
102
|
+
return (0, decimal_1.toDecimalJs)((0, decimal_1.withField)('bond_details.coupon_rate', () => (0, decimal_1.decodeDecimal)(rate)));
|
|
103
103
|
}
|
|
104
104
|
getFaceValue() {
|
|
105
105
|
const bond = this.getBondLikeDetails();
|
|
106
106
|
const faceValue = bond ? bond.getFaceValue() : undefined;
|
|
107
107
|
if (!faceValue)
|
|
108
108
|
return null;
|
|
109
|
-
return
|
|
109
|
+
return (0, decimal_1.toDecimalJs)((0, decimal_1.withField)('bond_details.face_value', () => (0, decimal_1.decodeDecimal)(faceValue)));
|
|
110
110
|
}
|
|
111
111
|
getCouponType() {
|
|
112
112
|
const bond = this.getBondLikeDetails();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BondSecurity.js","sourceRoot":"","sources":["BondSecurity.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,iFAAkG;AAClG,yFAAuF;
|
|
1
|
+
{"version":3,"file":"BondSecurity.js","sourceRoot":"","sources":["BondSecurity.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import { CouponFrequencyProto } from '../../../fintekkers/models/security/coupon
|
|
|
14
14
|
import { Decimal } from 'decimal.js';
|
|
15
15
|
import { isDescendantOf } from './product_hierarchy';
|
|
16
16
|
import Issuance from './Issuance';
|
|
17
|
+
import { decodeDecimal, encodeDecimal, fromDecimalJs, toDecimalJs, withField } from '../utils/decimal';
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* Inputs required to mint a SecurityProto for the bond pricer. Shared by
|
|
@@ -28,9 +29,9 @@ export interface BondPricerInputs {
|
|
|
28
29
|
maturityDate: Date;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
/** Build a DecimalValueProto from a Decimal. */
|
|
32
|
+
/** Build a DecimalValueProto from a Decimal, in both forms (LM-306). */
|
|
32
33
|
export function decimalToProto(v: Decimal): DecimalValueProto {
|
|
33
|
-
return
|
|
34
|
+
return encodeDecimal(fromDecimalJs(v));
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
/**
|
|
@@ -118,14 +119,14 @@ class BondSecurity extends Security {
|
|
|
118
119
|
const bond = this.getBondLikeDetails();
|
|
119
120
|
const rate = bond ? bond.getCouponRate() : undefined;
|
|
120
121
|
if (!rate) return null;
|
|
121
|
-
return
|
|
122
|
+
return toDecimalJs(withField('bond_details.coupon_rate', () => decodeDecimal(rate)));
|
|
122
123
|
}
|
|
123
124
|
|
|
124
125
|
getFaceValue(): Decimal | null {
|
|
125
126
|
const bond = this.getBondLikeDetails();
|
|
126
127
|
const faceValue = bond ? bond.getFaceValue() : undefined;
|
|
127
128
|
if (!faceValue) return null;
|
|
128
|
-
return
|
|
129
|
+
return toDecimalJs(withField('bond_details.face_value', () => decodeDecimal(faceValue)));
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
getCouponType(): CouponType {
|
|
@@ -28,7 +28,7 @@ const security_pb_1 = require("../../../fintekkers/models/security/security_pb")
|
|
|
28
28
|
const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
|
|
29
29
|
const index_type_pb_1 = require("../../../fintekkers/models/security/index/index_type_pb");
|
|
30
30
|
const coupon_frequency_pb_1 = require("../../../fintekkers/models/security/coupon_frequency_pb");
|
|
31
|
-
const
|
|
31
|
+
const decimal_1 = require("../utils/decimal");
|
|
32
32
|
/**
|
|
33
33
|
* FRN-specific accessors layered on top of BondSecurity. The floating-rate
|
|
34
34
|
* fields live in the parallel frn_extension sub-message; bond_details
|
|
@@ -48,7 +48,7 @@ class FloatingRateNote extends BondSecurity_1.default {
|
|
|
48
48
|
const v = ext ? ext.getSpread() : undefined;
|
|
49
49
|
if (!v)
|
|
50
50
|
return null;
|
|
51
|
-
return
|
|
51
|
+
return (0, decimal_1.toDecimalJs)((0, decimal_1.withField)('frn_extension.spread', () => (0, decimal_1.decodeDecimal)(v)));
|
|
52
52
|
}
|
|
53
53
|
/** Which index the coupon resets off (SOFR on a US TREASURY_FRN). */
|
|
54
54
|
getReferenceRateIndex() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingRateNote.js","sourceRoot":"","sources":["FloatingRateNote.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAIwB;AACxB,iFAAmG;AACnG,yFAAuF;AACvF,2FAAyF;AACzF,iGAA+F;
|
|
1
|
+
{"version":3,"file":"FloatingRateNote.js","sourceRoot":"","sources":["FloatingRateNote.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAIwB;AACxB,iFAAmG;AACnG,yFAAuF;AACvF,2FAAyF;AACzF,iGAA+F;AAE/F,8CAAyE;AAEzE;;;;GAIG;AACH,MAAM,gBAAiB,SAAQ,sBAAY;IACzC,YAAY,KAAoB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEO,eAAe;;QACrB,OAAO,MAAA,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,mCAAI,SAAS,CAAC;IACnD,CAAC;IAED,+DAA+D;IAC/D,SAAS;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO,IAAA,qBAAW,EAAC,IAAA,mBAAS,EAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAA,uBAAa,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,qEAAqE;IACrE,qBAAqB;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,8BAAc,CAAC,kBAAkB,CAAC;IAC/E,CAAC;IAED,sCAAsC;IACtC,iBAAiB;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,0CAAoB,CAAC,wBAAwB,CAAC;IACvF,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAIvB;QACC,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,IAAI,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,+BAAiB,EAAE;aAChC,SAAS,CAAC,IAAA,6BAAc,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtC,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC;aAC9C,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,OAAO,IAAI,2BAAa,EAAE;aACvB,cAAc,CAAC,kCAAgB,CAAC,YAAY,CAAC;aAC7C,cAAc,CAAC,IAAI,CAAC;aACpB,eAAe,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -8,6 +8,7 @@ import { ProductTypeProto } from '../../../fintekkers/models/security/product_ty
|
|
|
8
8
|
import { IndexTypeProto } from '../../../fintekkers/models/security/index/index_type_pb';
|
|
9
9
|
import { CouponFrequencyProto } from '../../../fintekkers/models/security/coupon_frequency_pb';
|
|
10
10
|
import { Decimal } from 'decimal.js';
|
|
11
|
+
import { decodeDecimal, toDecimalJs, withField } from '../utils/decimal';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* FRN-specific accessors layered on top of BondSecurity. The floating-rate
|
|
@@ -28,7 +29,7 @@ class FloatingRateNote extends BondSecurity {
|
|
|
28
29
|
const ext = this.getFrnExtension();
|
|
29
30
|
const v = ext ? ext.getSpread() : undefined;
|
|
30
31
|
if (!v) return null;
|
|
31
|
-
return
|
|
32
|
+
return toDecimalJs(withField('frn_extension.spread', () => decodeDecimal(v)));
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
/** Which index the coupon resets off (SOFR on a US TREASURY_FRN). */
|
|
@@ -1,10 +1,7 @@
|
|
|
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
3
|
const date_1 = require("../utils/date");
|
|
7
|
-
const
|
|
4
|
+
const decimal_1 = require("../utils/decimal");
|
|
8
5
|
/**
|
|
9
6
|
* Typed wrapper around a single IssuanceProto. Returns null for unset
|
|
10
7
|
* sub-messages and Decimal/Date for populated ones — callers no longer
|
|
@@ -18,9 +15,9 @@ class Issuance {
|
|
|
18
15
|
this.proto = proto;
|
|
19
16
|
}
|
|
20
17
|
static _toDecimal(value) {
|
|
21
|
-
if (!value)
|
|
18
|
+
if (!value || (0, decimal_1.isUnsetDecimal)(value))
|
|
22
19
|
return null;
|
|
23
|
-
return
|
|
20
|
+
return (0, decimal_1.toDecimalJs)((0, decimal_1.decodeDecimal)(value));
|
|
24
21
|
}
|
|
25
22
|
/** Auction issue (settlement) date. Null if unset. */
|
|
26
23
|
getIssueDate() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Issuance.js","sourceRoot":"","sources":["Issuance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Issuance.js","sourceRoot":"","sources":["Issuance.ts"],"names":[],"mappings":";;AAGA,wCAAqD;AAErD,8CAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,QAAQ;IAGZ,YAAY,KAAoB;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,KAAoC;QAC5D,IAAI,CAAC,KAAK,IAAI,IAAA,wBAAc,EAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACjD,OAAO,IAAA,qBAAW,EAAC,IAAA,uBAAa,EAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,sDAAsD;IACtD,YAAY;QACV,OAAO,IAAA,2BAAoB,EAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,gDAAgD;IAChD,mBAAmB;QACjB,OAAO,IAAA,2BAAoB,EAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;QAClB,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,yDAAyD;IACzD,gBAAgB;QACd,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,iEAAiE;IACjE,iCAAiC;QAC/B,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,iCAAiC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,yEAAyE;IACzE,uBAAuB;QACrB,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,8EAA8E;IAC9E,6BAA6B;QAC3B,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,qEAAqE;IACrE,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;CACF;AAED,kBAAe,QAAQ,CAAC"}
|