@fintekkers/ledger-models 0.4.2 → 0.4.3
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/security/BondSecurity.d.ts +5 -21
- package/node/wrappers/models/security/BondSecurity.fromPricerInputs.test.js +17 -11
- package/node/wrappers/models/security/BondSecurity.fromPricerInputs.test.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.fromPricerInputs.test.ts +17 -11
- package/node/wrappers/models/security/BondSecurity.js +15 -32
- package/node/wrappers/models/security/BondSecurity.js.map +1 -1
- package/node/wrappers/models/security/BondSecurity.ts +18 -37
- package/node/wrappers/models/security/Issuance.d.ts +3 -5
- package/node/wrappers/models/security/Issuance.js +3 -8
- package/node/wrappers/models/security/Issuance.js.map +1 -1
- package/node/wrappers/models/security/Issuance.test.js +16 -8
- package/node/wrappers/models/security/Issuance.test.js.map +1 -1
- package/node/wrappers/models/security/Issuance.test.ts +10 -2
- package/node/wrappers/models/security/Issuance.ts +6 -12
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js +11 -7
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.js.map +1 -1
- package/node/wrappers/models/security/MortgageBackedSecurity.fromPricerInputs.test.ts +12 -8
- package/node/wrappers/models/security/TIPSBond.d.ts +2 -3
- package/node/wrappers/models/security/TIPSBond.js +2 -4
- package/node/wrappers/models/security/TIPSBond.js.map +1 -1
- package/node/wrappers/models/security/TIPSBond.ts +5 -7
- package/node/wrappers/models/security/security.d.ts +38 -12
- package/node/wrappers/models/security/security.js +58 -15
- package/node/wrappers/models/security/security.js.map +1 -1
- package/node/wrappers/models/security/security.test.js +91 -10
- package/node/wrappers/models/security/security.test.js.map +1 -1
- package/node/wrappers/models/security/security.test.ts +106 -11
- package/node/wrappers/models/security/security.ts +64 -16
- package/node/wrappers/models/transaction/transaction.d.ts +2 -3
- package/node/wrappers/models/transaction/transaction.js +23 -21
- package/node/wrappers/models/transaction/transaction.js.map +1 -1
- package/node/wrappers/models/transaction/transaction.ts +22 -21
- package/node/wrappers/models/transaction/transaction_constructor.test.js +4 -2
- package/node/wrappers/models/transaction/transaction_constructor.test.js.map +1 -1
- package/node/wrappers/models/transaction/transaction_constructor.test.ts +10 -8
- package/node/wrappers/models/utils/date.d.ts +13 -1
- package/node/wrappers/models/utils/date.js +26 -1
- package/node/wrappers/models/utils/date.js.map +1 -1
- package/node/wrappers/models/utils/date.ts +25 -1
- package/node/wrappers/services/security-service/security.maturityLadder.test.js +4 -2
- 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
|
@@ -8,4 +8,16 @@ declare class LocalDate {
|
|
|
8
8
|
static today(): LocalDate;
|
|
9
9
|
static from(date: Date): LocalDate;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Convert a LocalDateProto to a native Date, or null when the proto is
|
|
13
|
+
* undefined/null. Hours/min/sec/ms are zeroed so equality comparisons across
|
|
14
|
+
* accessors are deterministic. Months are translated from proto's 1-based
|
|
15
|
+
* convention to JavaScript's 0-based Date constructor.
|
|
16
|
+
*/
|
|
17
|
+
declare function localDateProtoToDate(proto: LocalDateProto | undefined | null): Date | null;
|
|
18
|
+
/**
|
|
19
|
+
* Convert a native Date to a LocalDateProto. Translates JS's 0-based month
|
|
20
|
+
* to the proto's 1-based convention; year/day pass through.
|
|
21
|
+
*/
|
|
22
|
+
declare function dateToLocalDateProto(d: Date): LocalDateProto;
|
|
23
|
+
export { LocalDate, localDateProtoToDate, dateToLocalDateProto };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LocalDate = void 0;
|
|
3
|
+
exports.dateToLocalDateProto = exports.localDateProtoToDate = exports.LocalDate = void 0;
|
|
4
4
|
const local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
|
|
5
5
|
const serialization_1 = require("./serialization");
|
|
6
6
|
class LocalDate {
|
|
@@ -28,4 +28,29 @@ class LocalDate {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.LocalDate = LocalDate;
|
|
31
|
+
/**
|
|
32
|
+
* Convert a LocalDateProto to a native Date, or null when the proto is
|
|
33
|
+
* undefined/null. Hours/min/sec/ms are zeroed so equality comparisons across
|
|
34
|
+
* accessors are deterministic. Months are translated from proto's 1-based
|
|
35
|
+
* convention to JavaScript's 0-based Date constructor.
|
|
36
|
+
*/
|
|
37
|
+
function localDateProtoToDate(proto) {
|
|
38
|
+
if (!proto)
|
|
39
|
+
return null;
|
|
40
|
+
const d = new Date(proto.getYear(), proto.getMonth() - 1, proto.getDay());
|
|
41
|
+
d.setHours(0, 0, 0, 0);
|
|
42
|
+
return d;
|
|
43
|
+
}
|
|
44
|
+
exports.localDateProtoToDate = localDateProtoToDate;
|
|
45
|
+
/**
|
|
46
|
+
* Convert a native Date to a LocalDateProto. Translates JS's 0-based month
|
|
47
|
+
* to the proto's 1-based convention; year/day pass through.
|
|
48
|
+
*/
|
|
49
|
+
function dateToLocalDateProto(d) {
|
|
50
|
+
return new local_date_pb_1.LocalDateProto()
|
|
51
|
+
.setYear(d.getFullYear())
|
|
52
|
+
.setMonth(d.getMonth() + 1)
|
|
53
|
+
.setDay(d.getDate());
|
|
54
|
+
}
|
|
55
|
+
exports.dateToLocalDateProto = dateToLocalDateProto;
|
|
31
56
|
//# sourceMappingURL=date.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.js","sourceRoot":"","sources":["date.ts"],"names":[],"mappings":";;;AACA,iFAA+E;AAC/E,mDAAyD;AAEzD,MAAM,SAAS;IAGb,YAAY,KAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,sEAAsE;QACtE,gFAAgF;QAChF,4EAA4E;QAC5E,OAAO,sCAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAS,CAAC;IAChE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACxF,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAK;QACV,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAU;QACpB,OAAO,IAAI,SAAS,CAClB,IAAI,8BAAc,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CACtG,CAAC;IACJ,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["date.ts"],"names":[],"mappings":";;;AACA,iFAA+E;AAC/E,mDAAyD;AAEzD,MAAM,SAAS;IAGb,YAAY,KAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,sEAAsE;QACtE,gFAAgF;QAChF,4EAA4E;QAC5E,OAAO,sCAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAS,CAAC;IAChE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACxF,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAK;QACV,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAU;QACpB,OAAO,IAAI,SAAS,CAClB,IAAI,8BAAc,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CACtG,CAAC;IACJ,CAAC;CACF;AA0BQ,8BAAS;AAxBlB;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,KAAwC;IACpE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC;AACX,CAAC;AAamB,oDAAoB;AAXxC;;;GAGG;AACH,SAAS,oBAAoB,CAAC,CAAO;IACnC,OAAO,IAAI,8BAAc,EAAE;SACxB,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACxB,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACzB,CAAC;AAEyC,oDAAoB"}
|
|
@@ -36,4 +36,28 @@ class LocalDate {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Convert a LocalDateProto to a native Date, or null when the proto is
|
|
41
|
+
* undefined/null. Hours/min/sec/ms are zeroed so equality comparisons across
|
|
42
|
+
* accessors are deterministic. Months are translated from proto's 1-based
|
|
43
|
+
* convention to JavaScript's 0-based Date constructor.
|
|
44
|
+
*/
|
|
45
|
+
function localDateProtoToDate(proto: LocalDateProto | undefined | null): Date | null {
|
|
46
|
+
if (!proto) return null;
|
|
47
|
+
const d = new Date(proto.getYear(), proto.getMonth() - 1, proto.getDay());
|
|
48
|
+
d.setHours(0, 0, 0, 0);
|
|
49
|
+
return d;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Convert a native Date to a LocalDateProto. Translates JS's 0-based month
|
|
54
|
+
* to the proto's 1-based convention; year/day pass through.
|
|
55
|
+
*/
|
|
56
|
+
function dateToLocalDateProto(d: Date): LocalDateProto {
|
|
57
|
+
return new LocalDateProto()
|
|
58
|
+
.setYear(d.getFullYear())
|
|
59
|
+
.setMonth(d.getMonth() + 1)
|
|
60
|
+
.setDay(d.getDate());
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { LocalDate, localDateProtoToDate, dateToLocalDateProto };
|
|
@@ -17,6 +17,7 @@ const SecurityService_1 = require("./SecurityService");
|
|
|
17
17
|
const positionfilter_1 = require("../../models/position/positionfilter");
|
|
18
18
|
const serialization_1 = require("../../models/utils/serialization");
|
|
19
19
|
test('test the api.fintekkers.org security service by creating a maturity ladder for the US government', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
var _a, _b;
|
|
20
21
|
//Get list of all securities from the US government, with a maturity data beyond today's date
|
|
21
22
|
const securityService = new SecurityService_1.SecurityService();
|
|
22
23
|
const positionFilter = new positionfilter_1.PositionFilter();
|
|
@@ -32,10 +33,11 @@ test('test the api.fintekkers.org security service by creating a maturity ladder
|
|
|
32
33
|
let issuanceList = bondDetails ? bondDetails.getIssuanceInfoList() : [];
|
|
33
34
|
let issuance = issuanceList && issuanceList.length > 0 ? issuanceList[0] : null;
|
|
34
35
|
if (issuance) {
|
|
35
|
-
|
|
36
|
+
const maturityYear = (_b = (_a = security.getMaturityDate()) === null || _a === void 0 ? void 0 : _a.getFullYear()) !== null && _b !== void 0 ? _b : 0;
|
|
37
|
+
if (!issuance.getPostAuctionOutstandingQuantity() && maturityYear > 2009) {
|
|
36
38
|
// (debug only) primary identifier available via security.getIdentifiers()[0]
|
|
37
39
|
}
|
|
38
|
-
else if (!issuance.getPostAuctionOutstandingQuantity() &&
|
|
40
|
+
else if (!issuance.getPostAuctionOutstandingQuantity() && maturityYear <= 2009) {
|
|
39
41
|
//Swallow this data gap. It's old and we don't mind
|
|
40
42
|
}
|
|
41
43
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.maturityLadder.test.js","sourceRoot":"","sources":["security.maturityLadder.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAAkC;AAElC,SAAS;AAET,cAAc;AACd,2EAA0E;AAC1E,uDAAoD;AACpD,yEAAsE;AAEtE,oEAA0E;AAE1E,IAAI,CAAC,kGAAkG,EAAE,GAAS,EAAE
|
|
1
|
+
{"version":3,"file":"security.maturityLadder.test.js","sourceRoot":"","sources":["security.maturityLadder.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAAkC;AAElC,SAAS;AAET,cAAc;AACd,2EAA0E;AAC1E,uDAAoD;AACpD,yEAAsE;AAEtE,oEAA0E;AAE1E,IAAI,CAAC,kGAAkG,EAAE,GAAS,EAAE;;IAChH,6FAA6F;IAC7F,MAAM,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;IAE9C,MAAM,cAAc,GAAG,IAAI,+BAAc,EAAE,CAAC;IAC5C,cAAc,CAAC,eAAe,CAAC,qBAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACvE,cAAc,CAAC,eAAe,CAAC,qBAAU,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAEjF,IAAI,UAAU,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAE7E,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,+CAA+C;IAC/C,KAAK,IAAI,KAAK,IAAI,UAAU,EAAE;QAC1B,IAAI,QAAQ,GAAa,UAAU,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAI,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAClD,IAAI,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,QAAQ,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEhF,IAAI,QAAQ,EAAE;YACV,MAAM,YAAY,GAAG,MAAA,MAAA,QAAQ,CAAC,eAAe,EAAE,0CAAE,WAAW,EAAE,mCAAI,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,IAAI,YAAY,GAAG,IAAI,EAAE;gBACtE,6EAA6E;aAChF;iBAAM,IAAI,CAAC,QAAQ,CAAC,iCAAiC,EAAE,IAAI,YAAY,IAAI,IAAI,EAAE;gBAC9E,mDAAmD;aACtD;iBAAM;gBACH,IAAI,mBAAmB,GAAW,sCAAsB,CAAC,WAAW,CAAC,QAAQ,CAAC,iCAAiC,EAAE,CAAW,CAAC;gBAC7H,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC9C,IAAI,EAAE,GAAW,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAE5G,IAAI,MAAM,GAAG;oBACT,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAE;oBACpC,mBAAmB,EAAE,mBAAmB;oBACxC,cAAc,EAAE,QAAQ,CAAC,eAAe,EAAE;iBAC7C,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACxB;SACJ;KACJ;IAED,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAA,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -31,9 +31,10 @@ test('test the api.fintekkers.org security service by creating a maturity ladder
|
|
|
31
31
|
let issuance = issuanceList && issuanceList.length > 0 ? issuanceList[0] : null;
|
|
32
32
|
|
|
33
33
|
if (issuance) {
|
|
34
|
-
|
|
34
|
+
const maturityYear = security.getMaturityDate()?.getFullYear() ?? 0;
|
|
35
|
+
if (!issuance.getPostAuctionOutstandingQuantity() && maturityYear > 2009) {
|
|
35
36
|
// (debug only) primary identifier available via security.getIdentifiers()[0]
|
|
36
|
-
} else if (!issuance.getPostAuctionOutstandingQuantity() &&
|
|
37
|
+
} else if (!issuance.getPostAuctionOutstandingQuantity() && maturityYear <= 2009) {
|
|
37
38
|
//Swallow this data gap. It's old and we don't mind
|
|
38
39
|
} else {
|
|
39
40
|
let postAuctionQuantity: number = ProtoSerializationUtil.deserialize(issuance.getPostAuctionOutstandingQuantity()) as number;
|