@fintekkers/ledger-models 0.1.71 → 0.1.73
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/.env +1 -1
- package/node/wrappers/models/position/field.js +27 -0
- package/node/wrappers/models/position/field.js.map +1 -0
- package/node/wrappers/models/position/field.test.js +63 -0
- package/node/wrappers/models/position/field.test.js.map +1 -0
- package/node/wrappers/models/position/field.test.ts +13 -0
- package/node/wrappers/models/position/field.ts +25 -0
- package/node/wrappers/models/position/hardcoded.position.js +10 -4
- package/node/wrappers/models/position/hardcoded.position.js.map +1 -1
- package/node/wrappers/models/position/hardcoded.position.ts +12 -79
- package/node/wrappers/models/position/position.js +16 -14
- package/node/wrappers/models/position/position.js.map +1 -1
- package/node/wrappers/models/position/position.test copy.js +107 -0
- package/node/wrappers/models/position/position.test copy.js.map +1 -0
- package/node/wrappers/models/position/position.test.js +40 -44
- package/node/wrappers/models/position/position.test.js.map +1 -1
- package/node/wrappers/models/position/position.test.ts +34 -66
- package/node/wrappers/models/position/position.ts +17 -18
- package/node/wrappers/models/utils/date.js +4 -1
- package/node/wrappers/models/utils/date.js.map +1 -1
- package/node/wrappers/models/utils/date.ts +5 -1
- package/node/wrappers/models/utils/protoEnum.js +50 -0
- package/node/wrappers/models/utils/protoEnum.js.map +1 -0
- package/node/wrappers/models/utils/protoEnum.test.js +21 -0
- package/node/wrappers/models/utils/protoEnum.test.js.map +1 -0
- package/node/wrappers/models/utils/protoEnum.test.ts +23 -0
- package/node/wrappers/models/utils/protoEnum.ts +54 -0
- package/node/wrappers/models/utils/serialization.js +7 -0
- package/node/wrappers/models/utils/serialization.js.map +1 -1
- package/node/wrappers/models/utils/serialization.ts +7 -0
- package/node/wrappers/services/portfolio-service/portfolio.test.js +0 -1
- package/node/wrappers/services/portfolio-service/portfolio.test.js.map +1 -1
- package/node/wrappers/services/portfolio-service/portfolio.test.ts +0 -1
- package/node/wrappers/services/position-service/PositionService.js +2 -2
- package/node/wrappers/services/position-service/PositionService.js.map +1 -1
- package/node/wrappers/services/position-service/PositionService.ts +1 -1
- package/node/wrappers/services/position-service/position.test.js +18 -63
- package/node/wrappers/services/position-service/position.test.js.map +1 -1
- package/node/wrappers/services/position-service/position.test.ts +8 -73
- package/node/wrappers/services/security-service/security.maturityLadder.test.js +0 -1
- package/node/wrappers/services/security-service/security.maturityLadder.test.js.map +1 -1
- package/node/wrappers/services/security-service/security.maturityLadder.test.ts +0 -2
- package/node/wrappers/services/transaction-service/transaction.search.test.js +0 -1
- package/node/wrappers/services/transaction-service/transaction.search.test.js.map +1 -1
- package/node/wrappers/services/transaction-service/transaction.search.test.ts +0 -2
- package/package.json +2 -2
package/.env
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Field = void 0;
|
|
4
|
+
var field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
5
|
+
var Field = /** @class */ (function () {
|
|
6
|
+
function Field(field) {
|
|
7
|
+
this.field = field;
|
|
8
|
+
}
|
|
9
|
+
Field.prototype.getName = function () {
|
|
10
|
+
function getEnumNameByValue(enumObj, value) {
|
|
11
|
+
// Find the enum key that matches the value
|
|
12
|
+
var entry = Object.entries(enumObj).find(function (_a) {
|
|
13
|
+
var val = _a[1];
|
|
14
|
+
return val === value;
|
|
15
|
+
});
|
|
16
|
+
// Return the key name if found, otherwise undefined or a placeholder
|
|
17
|
+
return entry ? entry[0] : 'undefined';
|
|
18
|
+
}
|
|
19
|
+
return getEnumNameByValue(field_pb_1.FieldProto, this.field);
|
|
20
|
+
};
|
|
21
|
+
Field.prototype.toString = function () {
|
|
22
|
+
return null; //this.getEnumValueName();
|
|
23
|
+
};
|
|
24
|
+
return Field;
|
|
25
|
+
}());
|
|
26
|
+
exports.Field = Field;
|
|
27
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["field.ts"],"names":[],"mappings":";;;AACA,yEAA0E;AAE1E;IAGI,eAAY,KAAiB;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,uBAAO,GAAP;QACI,SAAS,kBAAkB,CAAC,OAAY,EAAE,KAAa;YACnD,2CAA2C;YAC3C,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,EAAO;oBAAJ,GAAG,QAAA;gBAAM,OAAA,GAAG,KAAK,KAAK;YAAb,CAAa,CAAC,CAAC;YACvE,qEAAqE;YACrE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC1C,CAAC;QAED,OAAO,kBAAkB,CAAC,qBAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,wBAAQ,GAAR;QACI,OAAO,IAAI,CAAC,CAAA,0BAA0B;IAC1C,CAAC;IACL,YAAC;AAAD,CAAC,AArBD,IAqBC;AArBY,sBAAK"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
40
|
+
var field_1 = require("./field");
|
|
41
|
+
test('test the field wrapper', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
42
|
+
var isTrue;
|
|
43
|
+
return __generator(this, function (_a) {
|
|
44
|
+
switch (_a.label) {
|
|
45
|
+
case 0: return [4 /*yield*/, testSerialization()];
|
|
46
|
+
case 1:
|
|
47
|
+
isTrue = _a.sent();
|
|
48
|
+
expect(isTrue).toBe(true);
|
|
49
|
+
return [2 /*return*/];
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}); });
|
|
53
|
+
function testSerialization() {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
55
|
+
var field;
|
|
56
|
+
return __generator(this, function (_a) {
|
|
57
|
+
field = new field_1.Field(field_pb_1.FieldProto.TRADE_DATE);
|
|
58
|
+
expect(field.getName()).toBe("TRADE_DATE");
|
|
59
|
+
return [2 /*return*/, true];
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=field.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.test.js","sourceRoot":"","sources":["field.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAA0E;AAC1E,iCAAgC;AAEhC,IAAI,CAAC,wBAAwB,EAAE;;;;oBACZ,qBAAM,iBAAiB,EAAE,EAAA;;gBAAlC,MAAM,GAAG,SAAyB;gBACxC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;KAC7B,CAAC,CAAC;AAEH,SAAe,iBAAiB;;;;YACxB,KAAK,GAAU,IAAI,aAAK,CAAC,qBAAU,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3C,sBAAO,IAAI,EAAC;;;CACf"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FieldProto } from '../../../fintekkers/models/position/field_pb';
|
|
2
|
+
import { Field } from './field';
|
|
3
|
+
|
|
4
|
+
test('test the field wrapper', async () => {
|
|
5
|
+
const isTrue = await testSerialization();
|
|
6
|
+
expect(isTrue).toBe(true);
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
async function testSerialization(): Promise<boolean> {
|
|
10
|
+
let field: Field = new Field(FieldProto.TRADE_DATE);
|
|
11
|
+
expect(field.getName()).toBe("TRADE_DATE");
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import { FieldProto } from '../../../fintekkers/models/position/field_pb';
|
|
3
|
+
|
|
4
|
+
export class Field {
|
|
5
|
+
private field: FieldProto;
|
|
6
|
+
|
|
7
|
+
constructor(field: FieldProto) {
|
|
8
|
+
this.field = field;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
getName() {
|
|
12
|
+
function getEnumNameByValue(enumObj: any, value: number): string {
|
|
13
|
+
// Find the enum key that matches the value
|
|
14
|
+
const entry = Object.entries(enumObj).find(([, val]) => val === value);
|
|
15
|
+
// Return the key name if found, otherwise undefined or a placeholder
|
|
16
|
+
return entry ? entry[0] : 'undefined';
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return getEnumNameByValue(FieldProto, this.field);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
toString(): string {
|
|
23
|
+
return null;//this.getEnumValueName();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -6,12 +6,14 @@ var field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
|
6
6
|
var measure_pb_1 = require("../../../fintekkers/models/position/measure_pb");
|
|
7
7
|
var decimal_js_1 = require("decimal.js");
|
|
8
8
|
var transaction_type_pb_1 = require("../../../fintekkers/models/transaction/transaction_type_pb");
|
|
9
|
+
var uuid_1 = require("uuid");
|
|
9
10
|
var Position = /** @class */ (function () {
|
|
10
11
|
function Position(positionProto) {
|
|
11
12
|
this.proto = positionProto;
|
|
12
13
|
}
|
|
13
14
|
Position.prototype.getFieldValue = function (field) {
|
|
14
15
|
switch (field) {
|
|
16
|
+
case field_pb_1.FieldProto.TRADE_DATE:
|
|
15
17
|
case field_pb_1.FieldProto.TRADE_DATE:
|
|
16
18
|
case field_pb_1.FieldProto.EFFECTIVE_DATE:
|
|
17
19
|
case field_pb_1.FieldProto.MATURITY_DATE:
|
|
@@ -29,10 +31,14 @@ var Position = /** @class */ (function () {
|
|
|
29
31
|
var items2 = ['Equity', 'Fixed Income'];
|
|
30
32
|
var randomIndex2 = Math.floor(Math.random() * items2.length);
|
|
31
33
|
return items2[randomIndex2];
|
|
32
|
-
case field_pb_1.FieldProto.
|
|
34
|
+
case field_pb_1.FieldProto.TRANSACTION_TYPE:
|
|
33
35
|
var items3 = [transaction_type_pb_1.TransactionTypeProto.BUY, transaction_type_pb_1.TransactionTypeProto.SELL, transaction_type_pb_1.TransactionTypeProto.DEPOSIT, transaction_type_pb_1.TransactionTypeProto.WITHDRAWAL, transaction_type_pb_1.TransactionTypeProto.MATURATION];
|
|
34
36
|
var randomIndex3 = Math.floor(Math.random() * items3.length);
|
|
35
37
|
return items3[randomIndex3];
|
|
38
|
+
case field_pb_1.FieldProto.ID:
|
|
39
|
+
case field_pb_1.FieldProto.SECURITY_ID:
|
|
40
|
+
case field_pb_1.FieldProto.PORTFOLIO_ID:
|
|
41
|
+
return (0, uuid_1.v4)();
|
|
36
42
|
default:
|
|
37
43
|
throw new Error("No dummy data setup for this Field");
|
|
38
44
|
}
|
|
@@ -43,11 +49,11 @@ var Position = /** @class */ (function () {
|
|
|
43
49
|
Position.prototype.getMeasureValue = function (measure) {
|
|
44
50
|
switch (measure) {
|
|
45
51
|
case measure_pb_1.MeasureProto.DIRECTED_QUANTITY:
|
|
46
|
-
return new decimal_js_1.default(Math.random() * 100000);
|
|
52
|
+
return new decimal_js_1.default(Math.random() * 100000).toString();
|
|
47
53
|
case measure_pb_1.MeasureProto.UNADJUSTED_COST_BASIS:
|
|
48
|
-
return new decimal_js_1.default(Math.random() * 100);
|
|
54
|
+
return new decimal_js_1.default(Math.random() * 100).toString();
|
|
49
55
|
case measure_pb_1.MeasureProto.MARKET_VALUE:
|
|
50
|
-
return new decimal_js_1.default(Math.random() * 10000000);
|
|
56
|
+
return new decimal_js_1.default(Math.random() * 10000000).toString();
|
|
51
57
|
}
|
|
52
58
|
};
|
|
53
59
|
Position.prototype.getMeasure = function (measureToGet) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardcoded.position.js","sourceRoot":"","sources":["hardcoded.position.ts"],"names":[],"mappings":";AAAA,2FAA2F;;;AAE3F,yEAA0E;AAG1E,6EAA8E;AAC9E,yCAAiC;AACjC,kGAAkG;
|
|
1
|
+
{"version":3,"file":"hardcoded.position.js","sourceRoot":"","sources":["hardcoded.position.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { FieldMapEntry, MeasureMapEntry } from "../../../fintekkers/models/posit
|
|
|
6
6
|
import { MeasureProto } from "../../../fintekkers/models/position/measure_pb";
|
|
7
7
|
import Decimal from "decimal.js";
|
|
8
8
|
import { TransactionTypeProto } from "../../../fintekkers/models/transaction/transaction_type_pb";
|
|
9
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
9
10
|
|
|
10
11
|
export class Position {
|
|
11
12
|
proto: PositionProto;
|
|
@@ -16,6 +17,7 @@ export class Position {
|
|
|
16
17
|
|
|
17
18
|
public getFieldValue(field: FieldProto): any {
|
|
18
19
|
switch (field) {
|
|
20
|
+
case FieldProto.TRADE_DATE:
|
|
19
21
|
case FieldProto.TRADE_DATE:
|
|
20
22
|
case FieldProto.EFFECTIVE_DATE:
|
|
21
23
|
case FieldProto.MATURITY_DATE:
|
|
@@ -33,10 +35,14 @@ export class Position {
|
|
|
33
35
|
let items2 = ['Equity', 'Fixed Income']
|
|
34
36
|
const randomIndex2 = Math.floor(Math.random() * items2.length);
|
|
35
37
|
return items2[randomIndex2];
|
|
36
|
-
case FieldProto.
|
|
38
|
+
case FieldProto.TRANSACTION_TYPE:
|
|
37
39
|
let items3 = [TransactionTypeProto.BUY, TransactionTypeProto.SELL, TransactionTypeProto.DEPOSIT, TransactionTypeProto.WITHDRAWAL, TransactionTypeProto.MATURATION];
|
|
38
40
|
const randomIndex3 = Math.floor(Math.random() * items3.length);
|
|
39
41
|
return items3[randomIndex3];
|
|
42
|
+
case FieldProto.ID:
|
|
43
|
+
case FieldProto.SECURITY_ID:
|
|
44
|
+
case FieldProto.PORTFOLIO_ID:
|
|
45
|
+
return uuidv4();
|
|
40
46
|
default:
|
|
41
47
|
throw new Error("No dummy data setup for this Field");
|
|
42
48
|
}
|
|
@@ -46,14 +52,14 @@ export class Position {
|
|
|
46
52
|
throw Error("Do not cal this");
|
|
47
53
|
}
|
|
48
54
|
|
|
49
|
-
public getMeasureValue(measure: MeasureProto):
|
|
55
|
+
public getMeasureValue(measure: MeasureProto): string {
|
|
50
56
|
switch (measure) {
|
|
51
57
|
case MeasureProto.DIRECTED_QUANTITY:
|
|
52
|
-
return new Decimal(Math.random() * 100000);
|
|
58
|
+
return new Decimal(Math.random() * 100000).toString();
|
|
53
59
|
case MeasureProto.UNADJUSTED_COST_BASIS:
|
|
54
|
-
return new Decimal(Math.random() * 100);
|
|
60
|
+
return new Decimal(Math.random() * 100).toString();
|
|
55
61
|
case MeasureProto.MARKET_VALUE:
|
|
56
|
-
return new Decimal(Math.random() * 10000000);
|
|
62
|
+
return new Decimal(Math.random() * 10000000).toString();
|
|
57
63
|
}
|
|
58
64
|
}
|
|
59
65
|
|
|
@@ -72,77 +78,4 @@ export class Position {
|
|
|
72
78
|
public getFields(): FieldProto[] {
|
|
73
79
|
return [FieldProto.SECURITY_ID, FieldProto.TRADE_DATE, FieldProto.ASSET_CLASS, FieldProto.TRANSACTION_TYPE];
|
|
74
80
|
}
|
|
75
|
-
|
|
76
|
-
// public toString(): string {
|
|
77
|
-
// let output = "";
|
|
78
|
-
|
|
79
|
-
// for (const field of this.getFields()) {
|
|
80
|
-
// output += `${FieldProto[field.getField()]},`;
|
|
81
|
-
// output += `${this.getFieldDisplay(field)};`;
|
|
82
|
-
// }
|
|
83
|
-
|
|
84
|
-
// for (const measure of this.getMeasures()) {
|
|
85
|
-
// output += `${MeasureProto[measure.getMeasure()]},`;
|
|
86
|
-
// const tmp: Decimal = this.getMeasure(measure);
|
|
87
|
-
// output += `${tmp.toString()};`;
|
|
88
|
-
// }
|
|
89
|
-
|
|
90
|
-
// return output;
|
|
91
|
-
// }
|
|
92
|
-
|
|
93
|
-
// private static wrapStringToAny(myString: string): Any {
|
|
94
|
-
// const myAny = new Any();
|
|
95
|
-
// myAny.pack(wrappers.StringValue.create({ value: myString }));
|
|
96
|
-
// return myAny;
|
|
97
|
-
// }
|
|
98
|
-
|
|
99
|
-
// private static packField(fieldToPack: any): Any {
|
|
100
|
-
// const myAny = new Any();
|
|
101
|
-
// myAny.pack(fieldToPack);
|
|
102
|
-
// return myAny;
|
|
103
|
-
// }
|
|
104
|
-
|
|
105
|
-
// public static unpackField(fieldToUnpack: FieldMapEntry): any {
|
|
106
|
-
// switch (fieldToUnpack.getField()) {
|
|
107
|
-
// case FieldProto.PORTFOLIO_ID:
|
|
108
|
-
// case FieldProto.SECURITY_ID:
|
|
109
|
-
// case FieldProto.ID:
|
|
110
|
-
// return UUIDProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
111
|
-
// case FieldProto.AS_OF:
|
|
112
|
-
// return LocalTimestampProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
113
|
-
// case FieldProto.TRADE_DATE:
|
|
114
|
-
// case FieldProto.MATURITY_DATE:
|
|
115
|
-
// case FieldProto.ISSUE_DATE:
|
|
116
|
-
// case FieldProto.SETTLEMENT_DATE:
|
|
117
|
-
// case FieldProto.TAX_LOT_OPEN_DATE:
|
|
118
|
-
// case FieldProto.TAX_LOT_CLOSE_DATE:
|
|
119
|
-
// return LocalDateProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
120
|
-
// case FieldProto.IDENTIFIER:
|
|
121
|
-
// return IdentifierProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
122
|
-
// case FieldProto.TRANSACTION_TYPE:
|
|
123
|
-
// case FieldProto.POSITION_STATUS:
|
|
124
|
-
// // Assuming ProtoEnum is properly defined elsewhere
|
|
125
|
-
// // const descriptor = FieldProto.DESCRIPTOR.valuesByNumber[fieldToUnpack.field];
|
|
126
|
-
// return null; //new ProtoEnum(descriptor, fieldToUnpack.enumValue);
|
|
127
|
-
// case FieldProto.PORTFOLIO_NAME:
|
|
128
|
-
// case FieldProto.SECURITY_DESCRIPTION:
|
|
129
|
-
// case FieldProto.PRODUCT_TYPE:
|
|
130
|
-
// case FieldProto.ASSET_CLASS:
|
|
131
|
-
// return StringValue.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
132
|
-
// case FieldProto.PORTFOLIO:
|
|
133
|
-
// return PortfolioProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
134
|
-
// case FieldProto.SECURITY:
|
|
135
|
-
// return SecurityProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
136
|
-
// default:
|
|
137
|
-
// throw new Error(`Field not found. Could not unpack ${FieldProto[fieldToUnpack.getField()]}`);
|
|
138
|
-
// }
|
|
139
|
-
// }
|
|
140
|
-
|
|
141
|
-
// public static unpackMeasure(measureToUnpack: MeasureProto): DecimalValueProto {
|
|
142
|
-
// if (measureToUnpack === MeasureProto.DIRECTED_QUANTITY) {
|
|
143
|
-
// return measureToUnpack.g;
|
|
144
|
-
// } else {
|
|
145
|
-
// throw new Error(`Field not found. Could not unpack ${MeasureProto.Name[measureToUnpack.measure]}`);
|
|
146
|
-
// }
|
|
147
|
-
// }
|
|
148
|
-
}
|
|
81
|
+
}
|
|
@@ -4,22 +4,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.Position = void 0;
|
|
5
5
|
var field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
6
6
|
var position_util_pb_1 = require("../../../fintekkers/models/position/position_util_pb");
|
|
7
|
+
var portfolio_1 = require("../portfolio/portfolio");
|
|
8
|
+
var security_1 = require("../security/security");
|
|
7
9
|
var uuid_pb_1 = require("../../../fintekkers/models/util/uuid_pb");
|
|
8
10
|
var local_timestamp_pb_1 = require("../../../fintekkers/models/util/local_timestamp_pb");
|
|
9
11
|
var local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
|
|
10
12
|
var identifier_pb_1 = require("../../../fintekkers/models/security/identifier/identifier_pb");
|
|
11
13
|
var measure_pb_1 = require("../../../fintekkers/models/position/measure_pb");
|
|
12
14
|
var serialization_1 = require("../utils/serialization");
|
|
13
|
-
var security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
14
|
-
var portfolio_pb_1 = require("../../../fintekkers/models/portfolio/portfolio_pb");
|
|
15
15
|
var wrappers_pb_1 = require("google-protobuf/google/protobuf/wrappers_pb");
|
|
16
16
|
var Position = /** @class */ (function () {
|
|
17
17
|
function Position(positionProto) {
|
|
18
18
|
this.proto = positionProto;
|
|
19
|
-
// //For each field, put into a map
|
|
20
|
-
// this.proto.getFieldsList().forEach(field => {
|
|
21
|
-
// console.log(field);
|
|
22
|
-
// });
|
|
23
19
|
}
|
|
24
20
|
Position.prototype.getFieldValue = function (field) {
|
|
25
21
|
return this.getField(new position_util_pb_1.FieldMapEntry().setField(field));
|
|
@@ -28,14 +24,20 @@ var Position = /** @class */ (function () {
|
|
|
28
24
|
for (var _i = 0, _a = this.proto.getFieldsList(); _i < _a.length; _i++) {
|
|
29
25
|
var tmpField = _a[_i];
|
|
30
26
|
if (tmpField.getField() === fieldToGet.getField()) {
|
|
27
|
+
if (tmpField.getStringValue() !== undefined && tmpField.getStringValue().length > 0) {
|
|
28
|
+
return tmpField.getStringValue();
|
|
29
|
+
}
|
|
30
|
+
if (tmpField.getEnumValue() > 0) {
|
|
31
|
+
// let fieldName: string = new Field(fieldToGet.getField()).getName();
|
|
32
|
+
// let proto: ProtoEnum = ProtoEnum.fromEnumName(fieldName, tmpField.getEnumValue());
|
|
33
|
+
return tmpField.getEnumValue(); //proto.enumDescriptor['EXECUTED'];
|
|
34
|
+
}
|
|
31
35
|
var unpackedValue = Position.unpackField(tmpField);
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
// const descriptor = FieldProto.DESCRIPTOR.valuesByNumber[fieldToGet.field];
|
|
35
|
-
// return new ProtoEnum(descriptor, unpackedValue.enumValue);
|
|
36
|
+
if (field_pb_1.FieldProto.SECURITY == fieldToGet.getField()) {
|
|
37
|
+
return new security_1.default(unpackedValue);
|
|
36
38
|
}
|
|
37
|
-
if (
|
|
38
|
-
return unpackedValue;
|
|
39
|
+
if (field_pb_1.FieldProto.PORTFOLIO == fieldToGet.getField()) {
|
|
40
|
+
return new portfolio_1.default(unpackedValue);
|
|
39
41
|
}
|
|
40
42
|
return serialization_1.ProtoSerializationUtil.deserialize(unpackedValue);
|
|
41
43
|
}
|
|
@@ -117,9 +119,9 @@ var Position = /** @class */ (function () {
|
|
|
117
119
|
case field_pb_1.FieldProto.ASSET_CLASS:
|
|
118
120
|
return wrappers_pb_1.StringValue.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
119
121
|
case field_pb_1.FieldProto.PORTFOLIO:
|
|
120
|
-
return
|
|
122
|
+
return fieldToUnpack.getFieldValuePacked();
|
|
121
123
|
case field_pb_1.FieldProto.SECURITY:
|
|
122
|
-
return
|
|
124
|
+
return fieldToUnpack.getFieldValuePacked();
|
|
123
125
|
default:
|
|
124
126
|
throw new Error("Field not found. Could not unpack ".concat(field_pb_1.FieldProto[fieldToUnpack.getField()]));
|
|
125
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":";AAAA,2FAA2F;;;
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var uuid_1 = require("../utils/uuid");
|
|
40
|
+
var any_pb_1 = require("google-protobuf/google/protobuf/any_pb");
|
|
41
|
+
var decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
|
|
42
|
+
var position_pb_1 = require("../../../fintekkers/models/position/position_pb");
|
|
43
|
+
var position_util_pb_1 = require("../../../fintekkers/models/position/position_util_pb");
|
|
44
|
+
var field_pb_1 = require("../../../fintekkers/models/position/field_pb");
|
|
45
|
+
var measure_pb_1 = require("../../../fintekkers/models/position/measure_pb");
|
|
46
|
+
var security_pb_1 = require("../../../fintekkers/models/security/security_pb");
|
|
47
|
+
var portfolio_pb_1 = require("../../../fintekkers/models/portfolio/portfolio_pb");
|
|
48
|
+
var position_1 = require("./position");
|
|
49
|
+
var date_1 = require("../utils/date");
|
|
50
|
+
var position_status_pb_1 = require("../../../fintekkers/models/position/position_status_pb");
|
|
51
|
+
test('test the position wrapper', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
52
|
+
var isTrue;
|
|
53
|
+
return __generator(this, function (_a) {
|
|
54
|
+
switch (_a.label) {
|
|
55
|
+
case 0: return [4 /*yield*/, testSerialization()];
|
|
56
|
+
case 1:
|
|
57
|
+
isTrue = _a.sent();
|
|
58
|
+
expect(isTrue).toBe(true);
|
|
59
|
+
return [2 /*return*/];
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}); });
|
|
63
|
+
function testSerialization() {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
65
|
+
var fields, security, portfolio, tradeDate, productType, id, measure, measureValue, tradeDatePacked, idPacked, positionProto, position, tradeDatePosition, securityPosition, portfolioPosition, positionID;
|
|
66
|
+
return __generator(this, function (_a) {
|
|
67
|
+
fields = [field_pb_1.FieldProto.ID, field_pb_1.FieldProto.TRADE_DATE, field_pb_1.FieldProto.PRODUCT_TYPE, field_pb_1.FieldProto.PORTFOLIO, field_pb_1.FieldProto.SECURITY];
|
|
68
|
+
security = new security_pb_1.SecurityProto().setAssetClass("Test");
|
|
69
|
+
portfolio = new portfolio_pb_1.PortfolioProto().setPortfolioName("Test portfolio");
|
|
70
|
+
tradeDate = date_1.LocalDate.today().toDate();
|
|
71
|
+
productType = "Test product type";
|
|
72
|
+
id = new uuid_1.UUID(uuid_1.UUID.random().toBytes());
|
|
73
|
+
measure = measure_pb_1.MeasureProto.DIRECTED_QUANTITY;
|
|
74
|
+
measureValue = new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue("1.0");
|
|
75
|
+
tradeDatePacked = new any_pb_1.Any();
|
|
76
|
+
tradeDatePacked.setTypeUrl("Doesn't matter");
|
|
77
|
+
tradeDatePacked.setValue(date_1.LocalDate.from(tradeDate).toProto().serializeBinary());
|
|
78
|
+
idPacked = new any_pb_1.Any();
|
|
79
|
+
idPacked.setTypeUrl("Doesn't matter");
|
|
80
|
+
idPacked.setValue(id.toUUIDProto().serializeBinary());
|
|
81
|
+
positionProto = new position_pb_1.PositionProto();
|
|
82
|
+
positionProto.setFieldsList([
|
|
83
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
|
|
84
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.SECURITY).setFieldValuePacked(security),
|
|
85
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PORTFOLIO).setFieldValuePacked(portfolio),
|
|
86
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.EXECUTED),
|
|
87
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PRODUCT_TYPE).setStringValue(productType),
|
|
88
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.ID).setFieldValuePacked(idPacked),
|
|
89
|
+
]);
|
|
90
|
+
position = new position_1.Position(positionProto);
|
|
91
|
+
tradeDatePosition = position.getFieldValue(field_pb_1.FieldProto.TRADE_DATE);
|
|
92
|
+
expect(tradeDate.getFullYear()).toBe(tradeDatePosition.getFullYear());
|
|
93
|
+
expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
|
|
94
|
+
expect(tradeDate.getDay()).toBe(tradeDatePosition.getDay());
|
|
95
|
+
securityPosition = position.getFieldValue(field_pb_1.FieldProto.SECURITY);
|
|
96
|
+
expect(securityPosition.getAssetClass()).toBe(security.getAssetClass());
|
|
97
|
+
portfolioPosition = position.getFieldValue(field_pb_1.FieldProto.PORTFOLIO);
|
|
98
|
+
expect(portfolioPosition.getPortfolioName()).toBe(portfolio.getPortfolioName());
|
|
99
|
+
expect(position.getFieldValue(field_pb_1.FieldProto.PRODUCT_TYPE)).toBe(productType);
|
|
100
|
+
positionID = position.getFieldValue(field_pb_1.FieldProto.ID);
|
|
101
|
+
expect(positionID.toString()).toBe(id.toString());
|
|
102
|
+
expect(position.getFieldValue(field_pb_1.FieldProto.POSITION_STATUS)).toBe(position_status_pb_1.PositionStatusProto.EXECUTED);
|
|
103
|
+
return [2 /*return*/, true];
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=position.test%20copy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position.test copy.js","sourceRoot":"","sources":["position.test copy.ts"],"names":[],"mappings":"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"}
|