@fintekkers/ledger-models 0.4.46 → 0.4.48
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/wrappers/models/price/Price.js +1 -1
- package/node/wrappers/models/price/Price.js.map +1 -1
- package/node/wrappers/models/price/Price.ts +2 -2
- package/node/wrappers/models/security/BondSecurity.js +3 -2
- package/node/wrappers/models/security/BondSecurity.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.ts +3 -2
- package/node/wrappers/models/security/FloatingRateNote.js +3 -2
- package/node/wrappers/models/security/FloatingRateNote.js.map +1 -1
- package/node/wrappers/models/security/FloatingRateNote.ts +3 -2
- package/node/wrappers/models/security/MortgageBackedSecurity.js +3 -2
- package/node/wrappers/models/security/MortgageBackedSecurity.js.map +1 -1
- package/node/wrappers/models/security/MortgageBackedSecurity.ts +3 -2
- package/node/wrappers/models/security/TIPSBond.js +3 -2
- package/node/wrappers/models/security/TIPSBond.js.map +1 -1
- package/node/wrappers/models/security/TIPSBond.ts +3 -2
- package/node/wrappers/models/security/identifier.js +2 -1
- package/node/wrappers/models/security/identifier.js.map +1 -1
- package/node/wrappers/models/security/identifier.ts +2 -1
- package/node/wrappers/models/security/security.js +3 -2
- package/node/wrappers/models/security/security.js.map +1 -1
- package/node/wrappers/models/security/security.ts +3 -2
- package/node/wrappers/util/object-types.test.js +435 -77
- package/node/wrappers/util/object-types.test.js.map +1 -1
- package/node/wrappers/util/object-types.test.ts +508 -66
- package/package.json +1 -1
|
@@ -53,7 +53,7 @@ class Price {
|
|
|
53
53
|
*/
|
|
54
54
|
static fromSimple(securityId, price, date, priceType = price_type_pb_1.PriceTypeProto.PERCENTAGE) {
|
|
55
55
|
const decimalValueProto = (0, decimal_1.encodeDecimal)((0, decimal_1.parseDecimalString)(price.toString()));
|
|
56
|
-
const securityProto = new security_pb_1.SecurityProto();
|
|
56
|
+
const securityProto = (0, object_types_1.stampOwn)(new security_pb_1.SecurityProto());
|
|
57
57
|
securityProto.setUuid(new uuid_1.UUID(uuid_1.UUID.fromString(securityId)).toUUIDProto());
|
|
58
58
|
securityProto.setIsLink(true);
|
|
59
59
|
const priceProto = new price_pb_1.PriceProto();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Price.js","sourceRoot":"","sources":["Price.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEAAuE;AACvE,kFAAgF;AAEhF,iFAAgF;AAChF,oEAA4C;AAC5C,gDAAkD;AAClD,wCAAqC;AACrC,2CAAqC;AACrC,uEAAyD;AACzD,8CAA8J;AAC9J,mFAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"Price.js","sourceRoot":"","sources":["Price.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { Decimal } from "decimal.js";
|
|
|
9
9
|
import * as LinkCacheModule from "../../util/link-cache";
|
|
10
10
|
import { decodeDecimal, encodeDecimal, fromDecimalJs, isUnsetDecimal, parseDecimalString, toCanonicalString, toDecimalJs, withField } from "../utils/decimal";
|
|
11
11
|
import { ObjectTypeProto } from '../../../fintekkers/models/util/object_type_pb';
|
|
12
|
-
import { stamp } from '../../util/object-types';
|
|
12
|
+
import { stamp, stampOwn } from '../../util/object-types';
|
|
13
13
|
|
|
14
14
|
class Price {
|
|
15
15
|
proto: PriceProto;
|
|
@@ -36,7 +36,7 @@ class Price {
|
|
|
36
36
|
): Price {
|
|
37
37
|
const decimalValueProto = encodeDecimal(parseDecimalString(price.toString()));
|
|
38
38
|
|
|
39
|
-
const securityProto = new SecurityProto();
|
|
39
|
+
const securityProto = stampOwn(new SecurityProto());
|
|
40
40
|
securityProto.setUuid(new UUID(UUID.fromString(securityId)).toUUIDProto());
|
|
41
41
|
securityProto.setIsLink(true);
|
|
42
42
|
|
|
@@ -16,6 +16,7 @@ const decimal_js_1 = require("decimal.js");
|
|
|
16
16
|
const product_hierarchy_1 = require("./product_hierarchy");
|
|
17
17
|
const Issuance_1 = __importDefault(require("./Issuance"));
|
|
18
18
|
const decimal_1 = require("../utils/decimal");
|
|
19
|
+
const object_types_1 = require("../../util/object-types");
|
|
19
20
|
/** Build a DecimalValueProto from a Decimal, in both forms (LM-306). */
|
|
20
21
|
function decimalToProto(v) {
|
|
21
22
|
return (0, decimal_1.encodeDecimal)((0, decimal_1.fromDecimalJs)(v));
|
|
@@ -143,9 +144,9 @@ class BondSecurity extends security_1.default {
|
|
|
143
144
|
*/
|
|
144
145
|
static fromPricerInputs(args) {
|
|
145
146
|
const bond = buildBondDetails(args);
|
|
146
|
-
return new security_pb_1.SecurityProto()
|
|
147
|
+
return (0, object_types_1.stampOwn)(new security_pb_1.SecurityProto()
|
|
147
148
|
.setProductType(product_type_pb_1.ProductTypeProto.TREASURY_NOTE)
|
|
148
|
-
.setBondDetails(bond);
|
|
149
|
+
.setBondDetails(bond));
|
|
149
150
|
}
|
|
150
151
|
/**
|
|
151
152
|
* Returns the price scale factor for bonds.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BondSecurity.js","sourceRoot":"","sources":["BondSecurity.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,iFAAkG;AAClG,yFAAuF;AAGvF,wCAA2E;AAE3E,yDAAqD;AACrD,+CAA2C;AAC3C,iCAAuC;AACvC,qFAAmF;AAGnF,2CAAqC;AACrC,2DAAqD;AACrD,0DAAkC;AAClC,8CAAuG;
|
|
1
|
+
{"version":3,"file":"BondSecurity.js","sourceRoot":"","sources":["BondSecurity.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ import { Decimal } from 'decimal.js';
|
|
|
15
15
|
import { isDescendantOf } from './product_hierarchy';
|
|
16
16
|
import Issuance from './Issuance';
|
|
17
17
|
import { decodeDecimal, encodeDecimal, fromDecimalJs, toDecimalJs, withField } from '../utils/decimal';
|
|
18
|
+
import { stampOwn } from '../../util/object-types';
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* Inputs required to mint a SecurityProto for the bond pricer. Shared by
|
|
@@ -166,9 +167,9 @@ class BondSecurity extends Security {
|
|
|
166
167
|
*/
|
|
167
168
|
static fromPricerInputs(args: BondPricerInputs): SecurityProto {
|
|
168
169
|
const bond = buildBondDetails(args);
|
|
169
|
-
return new SecurityProto()
|
|
170
|
+
return stampOwn(new SecurityProto()
|
|
170
171
|
.setProductType(ProductTypeProto.TREASURY_NOTE)
|
|
171
|
-
.setBondDetails(bond);
|
|
172
|
+
.setBondDetails(bond));
|
|
172
173
|
}
|
|
173
174
|
|
|
174
175
|
/**
|
|
@@ -29,6 +29,7 @@ const product_type_pb_1 = require("../../../fintekkers/models/security/product_t
|
|
|
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
31
|
const decimal_1 = require("../utils/decimal");
|
|
32
|
+
const object_types_1 = require("../../util/object-types");
|
|
32
33
|
/**
|
|
33
34
|
* FRN-specific accessors layered on top of BondSecurity. The floating-rate
|
|
34
35
|
* fields live in the parallel frn_extension sub-message; bond_details
|
|
@@ -70,10 +71,10 @@ class FloatingRateNote extends BondSecurity_1.default {
|
|
|
70
71
|
.setSpread((0, BondSecurity_1.decimalToProto)(args.spread))
|
|
71
72
|
.setReferenceRateIndex(args.referenceRateIndex)
|
|
72
73
|
.setResetFrequency(args.resetFrequency);
|
|
73
|
-
return new security_pb_1.SecurityProto()
|
|
74
|
+
return (0, object_types_1.stampOwn)(new security_pb_1.SecurityProto()
|
|
74
75
|
.setProductType(product_type_pb_1.ProductTypeProto.TREASURY_FRN)
|
|
75
76
|
.setBondDetails(bond)
|
|
76
|
-
.setFrnExtension(frn);
|
|
77
|
+
.setFrnExtension(frn));
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
exports.default = FloatingRateNote;
|
|
@@ -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;AAE/F,8CAAyE;
|
|
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;AACzE,0DAAmD;AAEnD;;;;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,IAAA,uBAAQ,EAAC,IAAI,2BAAa,EAAE;aAChC,cAAc,CAAC,kCAAgB,CAAC,YAAY,CAAC;aAC7C,cAAc,CAAC,IAAI,CAAC;aACpB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC;CACF;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -9,6 +9,7 @@ import { IndexTypeProto } from '../../../fintekkers/models/security/index/index_
|
|
|
9
9
|
import { CouponFrequencyProto } from '../../../fintekkers/models/security/coupon_frequency_pb';
|
|
10
10
|
import { Decimal } from 'decimal.js';
|
|
11
11
|
import { decodeDecimal, toDecimalJs, withField } from '../utils/decimal';
|
|
12
|
+
import { stampOwn } from '../../util/object-types';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* FRN-specific accessors layered on top of BondSecurity. The floating-rate
|
|
@@ -58,10 +59,10 @@ class FloatingRateNote extends BondSecurity {
|
|
|
58
59
|
.setSpread(decimalToProto(args.spread))
|
|
59
60
|
.setReferenceRateIndex(args.referenceRateIndex)
|
|
60
61
|
.setResetFrequency(args.resetFrequency);
|
|
61
|
-
return new SecurityProto()
|
|
62
|
+
return stampOwn(new SecurityProto()
|
|
62
63
|
.setProductType(ProductTypeProto.TREASURY_FRN)
|
|
63
64
|
.setBondDetails(bond)
|
|
64
|
-
.setFrnExtension(frn);
|
|
65
|
+
.setFrnExtension(frn));
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
68
|
|
|
@@ -28,6 +28,7 @@ const security_pb_1 = require("../../../fintekkers/models/security/security_pb")
|
|
|
28
28
|
const agency_pb_1 = require("../../../fintekkers/models/security/bond/agency_pb");
|
|
29
29
|
const product_type_pb_1 = require("../../../fintekkers/models/security/product_type_pb");
|
|
30
30
|
const decimal_1 = require("../utils/decimal");
|
|
31
|
+
const object_types_1 = require("../../util/object-types");
|
|
31
32
|
/**
|
|
32
33
|
* MBS-specific accessors layered on top of BondSecurity. Pool-level fields
|
|
33
34
|
* (agency, WAC, WAM, pass-through rate, factors, balances, PSA) live in
|
|
@@ -121,10 +122,10 @@ class MortgageBackedSecurity extends BondSecurity_1.default {
|
|
|
121
122
|
.setOriginalFaceValue((0, BondSecurity_1.decimalToProto)(args.originalFaceValue))
|
|
122
123
|
.setCurrentUpb((0, BondSecurity_1.decimalToProto)(args.currentUpb))
|
|
123
124
|
.setPsaSpeed((0, BondSecurity_1.decimalToProto)(args.psaSpeed));
|
|
124
|
-
return new security_pb_1.SecurityProto()
|
|
125
|
+
return (0, object_types_1.stampOwn)(new security_pb_1.SecurityProto()
|
|
125
126
|
.setProductType(product_type_pb_1.ProductTypeProto.MORTGAGE_BACKED)
|
|
126
127
|
.setBondDetails(bond)
|
|
127
|
-
.setMbsExtension(mbs);
|
|
128
|
+
.setMbsExtension(mbs));
|
|
128
129
|
}
|
|
129
130
|
}
|
|
130
131
|
exports.default = MortgageBackedSecurity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MortgageBackedSecurity.js","sourceRoot":"","sources":["MortgageBackedSecurity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAIwB;AACxB,iFAAmG;AACnG,kFAAiF;AACjF,yFAAuF;AAEvF,8CAAyE;
|
|
1
|
+
{"version":3,"file":"MortgageBackedSecurity.js","sourceRoot":"","sources":["MortgageBackedSecurity.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { AgencyProto } from '../../../fintekkers/models/security/bond/agency_pb'
|
|
|
8
8
|
import { ProductTypeProto } from '../../../fintekkers/models/security/product_type_pb';
|
|
9
9
|
import { Decimal } from 'decimal.js';
|
|
10
10
|
import { decodeDecimal, toDecimalJs, withField } from '../utils/decimal';
|
|
11
|
+
import { stampOwn } from '../../util/object-types';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* MBS-specific accessors layered on top of BondSecurity. Pool-level fields
|
|
@@ -116,10 +117,10 @@ class MortgageBackedSecurity extends BondSecurity {
|
|
|
116
117
|
.setOriginalFaceValue(decimalToProto(args.originalFaceValue))
|
|
117
118
|
.setCurrentUpb(decimalToProto(args.currentUpb))
|
|
118
119
|
.setPsaSpeed(decimalToProto(args.psaSpeed));
|
|
119
|
-
return new SecurityProto()
|
|
120
|
+
return stampOwn(new SecurityProto()
|
|
120
121
|
.setProductType(ProductTypeProto.MORTGAGE_BACKED)
|
|
121
122
|
.setBondDetails(bond)
|
|
122
|
-
.setMbsExtension(mbs);
|
|
123
|
+
.setMbsExtension(mbs));
|
|
123
124
|
}
|
|
124
125
|
}
|
|
125
126
|
|
|
@@ -29,6 +29,7 @@ const product_type_pb_1 = require("../../../fintekkers/models/security/product_t
|
|
|
29
29
|
const index_type_pb_1 = require("../../../fintekkers/models/security/index/index_type_pb");
|
|
30
30
|
const date_1 = require("../utils/date");
|
|
31
31
|
const decimal_1 = require("../utils/decimal");
|
|
32
|
+
const object_types_1 = require("../../util/object-types");
|
|
32
33
|
/**
|
|
33
34
|
* TIPS-specific accessors layered on top of BondSecurity. The inflation
|
|
34
35
|
* fields live in the parallel tips_extension sub-message; bond_details
|
|
@@ -71,10 +72,10 @@ class TIPSBond extends BondSecurity_1.default {
|
|
|
71
72
|
.setBaseCpi((0, BondSecurity_1.decimalToProto)(args.baseCpi))
|
|
72
73
|
.setIndexDate((0, date_1.dateToLocalDateProto)(args.indexDate))
|
|
73
74
|
.setInflationIndexType(args.inflationIndexType);
|
|
74
|
-
return new security_pb_1.SecurityProto()
|
|
75
|
+
return (0, object_types_1.stampOwn)(new security_pb_1.SecurityProto()
|
|
75
76
|
.setProductType(product_type_pb_1.ProductTypeProto.TIPS)
|
|
76
77
|
.setBondDetails(bond)
|
|
77
|
-
.setTipsExtension(tips);
|
|
78
|
+
.setTipsExtension(tips));
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
exports.default = TIPSBond;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TIPSBond.js","sourceRoot":"","sources":["TIPSBond.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAIwB;AACxB,iFAAoG;AACpG,yFAAuF;AACvF,2FAAyF;AACzF,wCAA2E;AAE3E,8CAAyE;
|
|
1
|
+
{"version":3,"file":"TIPSBond.js","sourceRoot":"","sources":["TIPSBond.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAIwB;AACxB,iFAAoG;AACpG,yFAAuF;AACvF,2FAAyF;AACzF,wCAA2E;AAE3E,8CAAyE;AACzE,0DAAmD;AAEnD;;;;GAIG;AACH,MAAM,QAAS,SAAQ,sBAAY;IACjC,YAAY,KAAoB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEO,gBAAgB;;QACtB,OAAO,MAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,mCAAI,SAAS,CAAC;IACpD,CAAC;IAED,2EAA2E;IAC3E,UAAU;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7C,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO,IAAA,qBAAW,EAAC,IAAA,mBAAS,EAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAA,uBAAa,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,8CAA8C;IAC9C,YAAY;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/C,OAAO,IAAA,2BAAoB,EAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,gEAAgE;IAChE,qBAAqB;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,8BAAc,CAAC,kBAAkB,CAAC;IAC/E,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAIvB;QACC,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,gCAAkB,EAAE;aAClC,UAAU,CAAC,IAAA,6BAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxC,YAAY,CAAC,IAAA,2BAAoB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAClD,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClD,OAAO,IAAA,uBAAQ,EAAC,IAAI,2BAAa,EAAE;aAChC,cAAc,CAAC,kCAAgB,CAAC,IAAI,CAAC;aACrC,cAAc,CAAC,IAAI,CAAC;aACpB,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,kBAAe,QAAQ,CAAC"}
|
|
@@ -9,6 +9,7 @@ import { IndexTypeProto } from '../../../fintekkers/models/security/index/index_
|
|
|
9
9
|
import { dateToLocalDateProto, localDateProtoToDate } from '../utils/date';
|
|
10
10
|
import { Decimal } from 'decimal.js';
|
|
11
11
|
import { decodeDecimal, toDecimalJs, withField } from '../utils/decimal';
|
|
12
|
+
import { stampOwn } from '../../util/object-types';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* TIPS-specific accessors layered on top of BondSecurity. The inflation
|
|
@@ -59,10 +60,10 @@ class TIPSBond extends BondSecurity {
|
|
|
59
60
|
.setBaseCpi(decimalToProto(args.baseCpi))
|
|
60
61
|
.setIndexDate(dateToLocalDateProto(args.indexDate))
|
|
61
62
|
.setInflationIndexType(args.inflationIndexType);
|
|
62
|
-
return new SecurityProto()
|
|
63
|
+
return stampOwn(new SecurityProto()
|
|
63
64
|
.setProductType(ProductTypeProto.TIPS)
|
|
64
65
|
.setBondDetails(bond)
|
|
65
|
-
.setTipsExtension(tips);
|
|
66
|
+
.setTipsExtension(tips));
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
69
|
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Identifier = exports.validateIdentifiersForCreate = exports.validateIdentifierProto = exports.IdentifierValidationError = void 0;
|
|
4
4
|
const identifier_pb_1 = require("../../../fintekkers/models/security/identifier/identifier_pb");
|
|
5
5
|
const identifier_type_pb_1 = require("../../../fintekkers/models/security/identifier/identifier_type_pb");
|
|
6
|
+
const object_types_1 = require("../../util/object-types");
|
|
6
7
|
/**
|
|
7
8
|
* Raised when an IdentifierProto is rejected by the client-side guard
|
|
8
9
|
* before being sent to SecurityService. See FinTekkers/second-brain#347.
|
|
@@ -109,7 +110,7 @@ class Identifier {
|
|
|
109
110
|
if (enumValue === undefined) {
|
|
110
111
|
throw new Error(`Unknown IdentifierType name: '${name}'. Valid names: ${Identifier.getAllTypeNames().join(', ')}`);
|
|
111
112
|
}
|
|
112
|
-
const proto = new identifier_pb_1.IdentifierProto();
|
|
113
|
+
const proto = (0, object_types_1.stampOwn)(new identifier_pb_1.IdentifierProto());
|
|
113
114
|
proto.setIdentifierType(enumValue);
|
|
114
115
|
proto.setIdentifierValue(value);
|
|
115
116
|
// Client-side guard (#347): rejects UNKNOWN_IDENTIFIER_TYPE and empty
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["identifier.ts"],"names":[],"mappings":";;;AAAA,gGAA+F;AAC/F,0GAAwG;
|
|
1
|
+
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["identifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IdentifierProto } from '../../../fintekkers/models/security/identifier/identifier_pb';
|
|
2
2
|
import { IdentifierTypeProto } from '../../../fintekkers/models/security/identifier/identifier_type_pb';
|
|
3
3
|
import { SecurityProto } from '../../../fintekkers/models/security/security_pb';
|
|
4
|
+
import { stampOwn } from '../../util/object-types';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Raised when an IdentifierProto is rejected by the client-side guard
|
|
@@ -130,7 +131,7 @@ export class Identifier {
|
|
|
130
131
|
`Unknown IdentifierType name: '${name}'. Valid names: ${Identifier.getAllTypeNames().join(', ')}`
|
|
131
132
|
);
|
|
132
133
|
}
|
|
133
|
-
const proto = new IdentifierProto();
|
|
134
|
+
const proto = stampOwn(new IdentifierProto());
|
|
134
135
|
proto.setIdentifierType(enumValue);
|
|
135
136
|
proto.setIdentifierValue(value);
|
|
136
137
|
// Client-side guard (#347): rejects UNKNOWN_IDENTIFIER_TYPE and empty
|
|
@@ -45,6 +45,7 @@ const identifier_1 = require("./identifier");
|
|
|
45
45
|
const product_hierarchy_1 = require("./product_hierarchy");
|
|
46
46
|
const LinkCacheModule = __importStar(require("../../util/link-cache"));
|
|
47
47
|
const link_resolver_1 = __importDefault(require("../../util/link-resolver"));
|
|
48
|
+
const object_types_1 = require("../../util/object-types");
|
|
48
49
|
class Security {
|
|
49
50
|
constructor(proto) {
|
|
50
51
|
this.proto = proto;
|
|
@@ -65,7 +66,7 @@ class Security {
|
|
|
65
66
|
throw new Error("uuid is required for linkOf");
|
|
66
67
|
if (!asOf)
|
|
67
68
|
throw new Error("asOf is required for linkOf; use linkOfLatest(uuid) for latest-version semantics");
|
|
68
|
-
const proto = new security_pb_1.SecurityProto();
|
|
69
|
+
const proto = (0, object_types_1.stampOwn)(new security_pb_1.SecurityProto());
|
|
69
70
|
proto.setIsLink(true);
|
|
70
71
|
proto.setUuid(Security._uuidToProto(uuid));
|
|
71
72
|
proto.setAsOf(Security._zonedDateTimeToProto(asOf));
|
|
@@ -79,7 +80,7 @@ class Security {
|
|
|
79
80
|
static linkOfLatest(uuid) {
|
|
80
81
|
if (!uuid)
|
|
81
82
|
throw new Error("uuid is required for linkOfLatest");
|
|
82
|
-
const proto = new security_pb_1.SecurityProto();
|
|
83
|
+
const proto = (0, object_types_1.stampOwn)(new security_pb_1.SecurityProto());
|
|
83
84
|
proto.setIsLink(true);
|
|
84
85
|
proto.setUuid(Security._uuidToProto(uuid));
|
|
85
86
|
return proto;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["security.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAA0E;AAC1E,iFAAgF;AAGhF,gDAAkD;AAClD,wCAAqC;AACrC,wCAAqD;AACrD,yFAAuF;AAEvF,6CAA0C;AAC1C,2DAAqD;AACrD,uEAAyD;AACzD,6EAAoD;
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["security.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ import { Identifier } from "./identifier";
|
|
|
11
11
|
import { isDescendantOf } from "./product_hierarchy";
|
|
12
12
|
import * as LinkCacheModule from "../../util/link-cache";
|
|
13
13
|
import LinkResolver from "../../util/link-resolver";
|
|
14
|
+
import { stampOwn } from "../../util/object-types";
|
|
14
15
|
|
|
15
16
|
class Security {
|
|
16
17
|
proto: SecurityProto;
|
|
@@ -33,7 +34,7 @@ class Security {
|
|
|
33
34
|
static linkOf(uuid: UUID, asOf: ZonedDateTime): SecurityProto {
|
|
34
35
|
if (!uuid) throw new Error("uuid is required for linkOf");
|
|
35
36
|
if (!asOf) throw new Error("asOf is required for linkOf; use linkOfLatest(uuid) for latest-version semantics");
|
|
36
|
-
const proto = new SecurityProto();
|
|
37
|
+
const proto = stampOwn(new SecurityProto());
|
|
37
38
|
proto.setIsLink(true);
|
|
38
39
|
proto.setUuid(Security._uuidToProto(uuid));
|
|
39
40
|
proto.setAsOf(Security._zonedDateTimeToProto(asOf));
|
|
@@ -47,7 +48,7 @@ class Security {
|
|
|
47
48
|
*/
|
|
48
49
|
static linkOfLatest(uuid: UUID): SecurityProto {
|
|
49
50
|
if (!uuid) throw new Error("uuid is required for linkOfLatest");
|
|
50
|
-
const proto = new SecurityProto();
|
|
51
|
+
const proto = stampOwn(new SecurityProto());
|
|
51
52
|
proto.setIsLink(true);
|
|
52
53
|
proto.setUuid(Security._uuidToProto(uuid));
|
|
53
54
|
return proto;
|