@fintekkers/ledger-models 0.1.79 → 0.1.80
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/position/position.js +24 -5
- package/node/wrappers/models/position/position.js.map +1 -1
- package/node/wrappers/models/position/position.test.js +51 -11
- package/node/wrappers/models/position/position.test.js.map +1 -1
- package/node/wrappers/models/position/position.test.ts +35 -9
- package/node/wrappers/models/position/position.ts +26 -6
- package/node/wrappers/models/utils/serialization.js.map +1 -1
- package/node/wrappers/models/utils/serialization.ts +2 -0
- package/node/wrappers/models/utils/uuid.test.js +17 -0
- package/node/wrappers/models/utils/uuid.test.js.map +1 -0
- package/node/wrappers/models/utils/uuid.test.ts +21 -0
- package/package.json +1 -1
|
@@ -16,6 +16,9 @@ var serialization_1 = require("../utils/serialization");
|
|
|
16
16
|
var wrappers_pb_1 = require("google-protobuf/google/protobuf/wrappers_pb");
|
|
17
17
|
var protoEnum_1 = require("../utils/protoEnum");
|
|
18
18
|
var field_1 = require("./field");
|
|
19
|
+
var strategy_pb_1 = require("../../../fintekkers/models/strategy/strategy_pb");
|
|
20
|
+
var price_pb_1 = require("../../../fintekkers/models/price/price_pb");
|
|
21
|
+
var tenor_pb_1 = require("../../../fintekkers/models/security/tenor_pb");
|
|
19
22
|
var Position = /** @class */ (function () {
|
|
20
23
|
function Position(positionProto) {
|
|
21
24
|
this.proto = positionProto;
|
|
@@ -57,6 +60,10 @@ var Position = /** @class */ (function () {
|
|
|
57
60
|
return proto;
|
|
58
61
|
}
|
|
59
62
|
var unpackedValue = Position.unpackField(tmpField);
|
|
63
|
+
if (field_pb_1.FieldProto.PRICE == fieldToGet.getField()
|
|
64
|
+
|| field_pb_1.FieldProto.TENOR == fieldToGet.getField()) {
|
|
65
|
+
return unpackedValue; //instanceof PriceProto || TenorProto
|
|
66
|
+
}
|
|
60
67
|
if (field_pb_1.FieldProto.SECURITY == fieldToGet.getField()) {
|
|
61
68
|
return new security_1.default(unpackedValue);
|
|
62
69
|
}
|
|
@@ -109,6 +116,7 @@ var Position = /** @class */ (function () {
|
|
|
109
116
|
switch (fieldToUnpack.getField()) {
|
|
110
117
|
case field_pb_1.FieldProto.PORTFOLIO_ID:
|
|
111
118
|
case field_pb_1.FieldProto.SECURITY_ID:
|
|
119
|
+
case field_pb_1.FieldProto.PRICE_ID:
|
|
112
120
|
case field_pb_1.FieldProto.ID:
|
|
113
121
|
return uuid_pb_1.UUIDProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
114
122
|
case field_pb_1.FieldProto.AS_OF:
|
|
@@ -119,25 +127,36 @@ var Position = /** @class */ (function () {
|
|
|
119
127
|
case field_pb_1.FieldProto.SETTLEMENT_DATE:
|
|
120
128
|
case field_pb_1.FieldProto.TAX_LOT_OPEN_DATE:
|
|
121
129
|
case field_pb_1.FieldProto.TAX_LOT_CLOSE_DATE:
|
|
130
|
+
case field_pb_1.FieldProto.EFFECTIVE_DATE:
|
|
122
131
|
return local_date_pb_1.LocalDateProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
123
132
|
case field_pb_1.FieldProto.IDENTIFIER:
|
|
124
133
|
return identifier_pb_1.IdentifierProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
134
|
+
case field_pb_1.FieldProto.STRATEGY:
|
|
135
|
+
return strategy_pb_1.StrategyProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
136
|
+
case field_pb_1.FieldProto.TENOR:
|
|
137
|
+
return tenor_pb_1.TenorProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
138
|
+
case field_pb_1.FieldProto.PRICE:
|
|
139
|
+
return price_pb_1.PriceProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
125
140
|
case field_pb_1.FieldProto.TRANSACTION_TYPE:
|
|
126
141
|
case field_pb_1.FieldProto.POSITION_STATUS:
|
|
127
|
-
|
|
128
|
-
// const descriptor = FieldProto.DESCRIPTOR.valuesByNumber[fieldToUnpack.field];
|
|
129
|
-
return fieldToUnpack; //new ProtoEnum(descriptor, fieldToUnpack.enumValue);
|
|
142
|
+
return fieldToUnpack;
|
|
130
143
|
case field_pb_1.FieldProto.PORTFOLIO_NAME:
|
|
131
144
|
case field_pb_1.FieldProto.SECURITY_DESCRIPTION:
|
|
145
|
+
case field_pb_1.FieldProto.SECURITY_ISSUER_NAME:
|
|
146
|
+
case field_pb_1.FieldProto.ADJUSTED_TENOR:
|
|
132
147
|
case field_pb_1.FieldProto.PRODUCT_TYPE:
|
|
148
|
+
case field_pb_1.FieldProto.PRODUCT_CLASS:
|
|
133
149
|
case field_pb_1.FieldProto.ASSET_CLASS:
|
|
134
150
|
return wrappers_pb_1.StringValue.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
135
151
|
case field_pb_1.FieldProto.PORTFOLIO:
|
|
136
|
-
return fieldToUnpack.getFieldValuePacked();
|
|
137
152
|
case field_pb_1.FieldProto.SECURITY:
|
|
153
|
+
case field_pb_1.FieldProto.CASH_IMPACT_SECURITY:
|
|
154
|
+
return fieldToUnpack.getFieldValuePacked();
|
|
155
|
+
case field_pb_1.FieldProto.IS_CANCELLED:
|
|
156
|
+
console.log("Need to check that IS_CANCELLED IS SUPPORTED CORRECTLY");
|
|
138
157
|
return fieldToUnpack.getFieldValuePacked();
|
|
139
158
|
default:
|
|
140
|
-
throw new Error("Field not found. Could not unpack ".concat(field_pb_1.FieldProto[fieldToUnpack.getField()]));
|
|
159
|
+
throw new Error("Field not found. Could not unpack ".concat(field_pb_1.FieldProto[fieldToUnpack.getField()], ". Mapping missing"));
|
|
141
160
|
}
|
|
142
161
|
};
|
|
143
162
|
return Position;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,yEAA0E;AAC1E,+EAAgF;AAChF,yFAAsG;AACtG,oDAA+C;AAC/C,iDAA4C;AAC5C,mEAAoE;AACpE,yFAAyF;AACzF,+EAA+E;AAC/E,8FAA+F;AAC/F,6EAA8E;AAE9E,wDAAgE;AAChE,2EAA0E;AAC1E,gDAA+C;AAC/C,iCAAgC;
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,9 @@ var position_1 = require("./position");
|
|
|
49
49
|
var date_1 = require("../utils/date");
|
|
50
50
|
var position_status_pb_1 = require("../../../fintekkers/models/position/position_status_pb");
|
|
51
51
|
var transaction_type_pb_1 = require("../../../fintekkers/models/transaction/transaction_type_pb");
|
|
52
|
+
var price_pb_1 = require("../../../fintekkers/models/price/price_pb");
|
|
53
|
+
var tenor_pb_1 = require("../../../fintekkers/models/security/tenor_pb");
|
|
54
|
+
var tenor_type_pb_1 = require("../../../fintekkers/models/security/tenor_type_pb");
|
|
52
55
|
test('test the position wrapper', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
53
56
|
var isTrue;
|
|
54
57
|
return __generator(this, function (_a) {
|
|
@@ -63,6 +66,10 @@ test('test the position wrapper', function () { return __awaiter(void 0, void 0,
|
|
|
63
66
|
expect(isTrue).toBe(true);
|
|
64
67
|
return [4 /*yield*/, testJsonSerialization()];
|
|
65
68
|
case 3:
|
|
69
|
+
isTrue = _a.sent();
|
|
70
|
+
expect(isTrue).toBe(true);
|
|
71
|
+
return [4 /*yield*/, testDeSerializationWithUnknownProto()];
|
|
72
|
+
case 4:
|
|
66
73
|
isTrue = _a.sent();
|
|
67
74
|
expect(isTrue).toBe(true);
|
|
68
75
|
return [2 /*return*/];
|
|
@@ -96,18 +103,16 @@ function testEnumSerialization() {
|
|
|
96
103
|
}
|
|
97
104
|
function testJsonSerialization() {
|
|
98
105
|
return __awaiter(this, void 0, void 0, function () {
|
|
99
|
-
var
|
|
106
|
+
var tradeDate, productType, id, tradeDatePacked, idPacked, positionProto, position, position2, tradeDatePosition;
|
|
100
107
|
return __generator(this, function (_a) {
|
|
101
|
-
security = new security_pb_1.SecurityProto().setAssetClass("Test");
|
|
102
|
-
portfolio = new portfolio_pb_1.PortfolioProto().setPortfolioName("Test portfolio");
|
|
103
108
|
tradeDate = date_1.LocalDate.today().toDate();
|
|
104
109
|
productType = "Test product type";
|
|
105
110
|
id = new uuid_1.UUID(uuid_1.UUID.random().toBytes());
|
|
106
111
|
tradeDatePacked = new any_pb_1.Any();
|
|
107
|
-
tradeDatePacked.setTypeUrl("
|
|
112
|
+
tradeDatePacked.setTypeUrl("DUMMYTYPE_DATE");
|
|
108
113
|
tradeDatePacked.setValue(date_1.LocalDate.from(tradeDate).toProto().serializeBinary());
|
|
109
114
|
idPacked = new any_pb_1.Any();
|
|
110
|
-
idPacked.setTypeUrl("
|
|
115
|
+
idPacked.setTypeUrl("DUMMYTYPE_ID");
|
|
111
116
|
idPacked.setValue(id.toUUIDProto().serializeBinary());
|
|
112
117
|
positionProto = new position_pb_1.PositionProto();
|
|
113
118
|
positionProto.setFieldsList([
|
|
@@ -115,6 +120,7 @@ function testJsonSerialization() {
|
|
|
115
120
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
|
|
116
121
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.EXECUTED),
|
|
117
122
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PRODUCT_TYPE).setStringValue(productType),
|
|
123
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.SECURITY_DESCRIPTION).setStringValue("Dummy"),
|
|
118
124
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.ID).setFieldValuePacked(idPacked),
|
|
119
125
|
]);
|
|
120
126
|
position = new position_1.Position(positionProto);
|
|
@@ -124,15 +130,16 @@ function testJsonSerialization() {
|
|
|
124
130
|
expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
|
|
125
131
|
expect(tradeDate.getDay()).toBe(tradeDatePosition.getDay());
|
|
126
132
|
expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
|
|
133
|
+
expect(position2.getFieldValue(field_pb_1.FieldProto.SECURITY_DESCRIPTION)).toBe("Dummy");
|
|
127
134
|
return [2 /*return*/, true];
|
|
128
135
|
});
|
|
129
136
|
});
|
|
130
137
|
}
|
|
131
138
|
function testSerialization() {
|
|
132
139
|
return __awaiter(this, void 0, void 0, function () {
|
|
133
|
-
var _a, position, tradeDate, security, portfolio, productType, id, tradeDatePosition, securityPosition, portfolioPosition, positionID;
|
|
140
|
+
var _a, position, tradeDate, security, portfolio, productType, id, tradeDatePosition, securityPosition, portfolioPosition, positionID, price, tenor;
|
|
134
141
|
return __generator(this, function (_b) {
|
|
135
|
-
_a = getPosition(), position = _a.position, tradeDate = _a.tradeDate, security = _a.security, portfolio = _a.portfolio, productType = _a.productType, id = _a.id;
|
|
142
|
+
_a = getPosition(false), position = _a.position, tradeDate = _a.tradeDate, security = _a.security, portfolio = _a.portfolio, productType = _a.productType, id = _a.id;
|
|
136
143
|
tradeDatePosition = position.getFieldValue(field_pb_1.FieldProto.TRADE_DATE);
|
|
137
144
|
expect(tradeDate.getFullYear()).toBe(tradeDatePosition.getFullYear());
|
|
138
145
|
expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
|
|
@@ -146,33 +153,66 @@ function testSerialization() {
|
|
|
146
153
|
expect(positionID.toString()).toBe(id.toString());
|
|
147
154
|
expect(position.getFieldValue(field_pb_1.FieldProto.POSITION_STATUS).toString()).toBe("EXECUTED");
|
|
148
155
|
expect(position.getMeasureValue(measure_pb_1.MeasureProto.DIRECTED_QUANTITY)).toBe(1);
|
|
156
|
+
price = position.getFieldValue(field_pb_1.FieldProto.PRICE);
|
|
157
|
+
expect(price.getPrice().getArbitraryPrecisionValue()).toBe("1.0");
|
|
158
|
+
tenor = position.getFieldValue(field_pb_1.FieldProto.TENOR);
|
|
159
|
+
expect(tenor.getTermValue()).toBe("3M");
|
|
160
|
+
return [2 /*return*/, true];
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
function testDeSerializationWithUnknownProto() {
|
|
165
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
166
|
+
var position;
|
|
167
|
+
return __generator(this, function (_a) {
|
|
168
|
+
position = getPosition(true).position;
|
|
169
|
+
expect(position.getFieldValue(field_pb_1.FieldProto.POSITION_STATUS).toString()).toBe("UNKNOWN");
|
|
149
170
|
return [2 /*return*/, true];
|
|
150
171
|
});
|
|
151
172
|
});
|
|
152
173
|
}
|
|
153
|
-
function getPosition() {
|
|
174
|
+
function getPosition(includeUnknownEnumValue) {
|
|
154
175
|
var security = new security_pb_1.SecurityProto().setAssetClass("Test");
|
|
155
176
|
var portfolio = new portfolio_pb_1.PortfolioProto().setPortfolioName("Test portfolio");
|
|
156
177
|
var tradeDate = date_1.LocalDate.today().toDate();
|
|
157
178
|
var productType = "Test product type";
|
|
158
179
|
var id = new uuid_1.UUID(uuid_1.UUID.random().toBytes());
|
|
180
|
+
var price = new price_pb_1.PriceProto()
|
|
181
|
+
.setPrice(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue("1.0"))
|
|
182
|
+
.setUuid(id.toUUIDProto())
|
|
183
|
+
.setSecurity(security);
|
|
184
|
+
var tenor = new tenor_pb_1.TenorProto()
|
|
185
|
+
.setTenorType(tenor_type_pb_1.TenorTypeProto.TERM)
|
|
186
|
+
.setTermValue("3M");
|
|
187
|
+
;
|
|
159
188
|
var measure = measure_pb_1.MeasureProto.DIRECTED_QUANTITY;
|
|
160
189
|
var measureValue = new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue("1.0");
|
|
161
190
|
var tradeDatePacked = new any_pb_1.Any();
|
|
162
|
-
tradeDatePacked.setTypeUrl("
|
|
191
|
+
tradeDatePacked.setTypeUrl("DUMMYTYPE_DATE");
|
|
163
192
|
tradeDatePacked.setValue(date_1.LocalDate.from(tradeDate).toProto().serializeBinary());
|
|
164
193
|
var idPacked = new any_pb_1.Any();
|
|
165
|
-
idPacked.setTypeUrl("
|
|
194
|
+
idPacked.setTypeUrl("DUMMYTYPE_ID");
|
|
166
195
|
idPacked.setValue(id.toUUIDProto().serializeBinary());
|
|
196
|
+
var pricePacked = new any_pb_1.Any();
|
|
197
|
+
pricePacked.setTypeUrl("DUMMYTYPE_PRICE");
|
|
198
|
+
pricePacked.setValue(price.serializeBinary());
|
|
199
|
+
var tenorPacked = new any_pb_1.Any();
|
|
200
|
+
tenorPacked.setTypeUrl("DUMMYTYPE_TENOR");
|
|
201
|
+
tenorPacked.setValue(tenor.serializeBinary());
|
|
202
|
+
var positionStatus = includeUnknownEnumValue ?
|
|
203
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.UNKNOWN) :
|
|
204
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.POSITION_STATUS).setEnumValue(position_status_pb_1.PositionStatusProto.EXECUTED);
|
|
167
205
|
var positionProto = new position_pb_1.PositionProto();
|
|
168
206
|
positionProto.setFieldsList([
|
|
169
207
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.SECURITY).setFieldValuePacked(security),
|
|
170
208
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PORTFOLIO).setFieldValuePacked(portfolio),
|
|
171
209
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
|
|
172
|
-
|
|
210
|
+
positionStatus,
|
|
173
211
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TRANSACTION_TYPE).setEnumValue(transaction_type_pb_1.TransactionTypeProto.BUY),
|
|
212
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.TENOR).setFieldValuePacked(tenorPacked),
|
|
174
213
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PRODUCT_TYPE).setStringValue(productType),
|
|
175
214
|
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.ID).setFieldValuePacked(idPacked),
|
|
215
|
+
new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.PRICE).setFieldValuePacked(pricePacked)
|
|
176
216
|
]);
|
|
177
217
|
positionProto.setMeasuresList([
|
|
178
218
|
new position_util_pb_1.MeasureMapEntry().setMeasure(measure).setMeasureDecimalValue(measureValue)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAqC;AACrC,iEAA6D;
|
|
1
|
+
{"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,9 @@ import { LocalDate } from '../utils/date';
|
|
|
13
13
|
import { PositionStatusProto } from '../../../fintekkers/models/position/position_status_pb';
|
|
14
14
|
import { ProtoEnum } from '../utils/protoEnum';
|
|
15
15
|
import { TransactionTypeProto } from '../../../fintekkers/models/transaction/transaction_type_pb';
|
|
16
|
+
import { PriceProto } from '../../../fintekkers/models/price/price_pb';
|
|
17
|
+
import { TenorProto } from '../../../fintekkers/models/security/tenor_pb';
|
|
18
|
+
import { TenorTypeProto } from '../../../fintekkers/models/security/tenor_type_pb';
|
|
16
19
|
|
|
17
20
|
test('test the position wrapper', async () => {
|
|
18
21
|
let isTrue = await testEnumSerialization();
|
|
@@ -26,7 +29,6 @@ test('test the position wrapper', async () => {
|
|
|
26
29
|
|
|
27
30
|
isTrue = await testDeSerializationWithUnknownProto();
|
|
28
31
|
expect(isTrue).toBe(true);
|
|
29
|
-
|
|
30
32
|
});
|
|
31
33
|
|
|
32
34
|
async function testEnumSerialization(): Promise<boolean> {
|
|
@@ -55,20 +57,17 @@ async function testEnumSerialization(): Promise<boolean> {
|
|
|
55
57
|
return true;
|
|
56
58
|
}
|
|
57
59
|
|
|
58
|
-
|
|
59
60
|
async function testJsonSerialization(): Promise<boolean> {
|
|
60
|
-
let security = new SecurityProto().setAssetClass("Test");
|
|
61
|
-
let portfolio = new PortfolioProto().setPortfolioName("Test portfolio");
|
|
62
61
|
let tradeDate = LocalDate.today().toDate();
|
|
63
62
|
let productType = "Test product type";
|
|
64
63
|
let id = new UUID(UUID.random().toBytes());
|
|
65
64
|
|
|
66
65
|
const tradeDatePacked = new Any();
|
|
67
|
-
tradeDatePacked.setTypeUrl(`
|
|
66
|
+
tradeDatePacked.setTypeUrl(`DUMMYTYPE_DATE`);
|
|
68
67
|
tradeDatePacked.setValue(LocalDate.from(tradeDate).toProto().serializeBinary());
|
|
69
68
|
|
|
70
69
|
const idPacked = new Any();
|
|
71
|
-
idPacked.setTypeUrl(`
|
|
70
|
+
idPacked.setTypeUrl(`DUMMYTYPE_ID`);
|
|
72
71
|
idPacked.setValue(id.toUUIDProto().serializeBinary());
|
|
73
72
|
|
|
74
73
|
let positionProto = new PositionProto();
|
|
@@ -77,19 +76,21 @@ async function testJsonSerialization(): Promise<boolean> {
|
|
|
77
76
|
new FieldMapEntry().setField(FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
|
|
78
77
|
new FieldMapEntry().setField(FieldProto.POSITION_STATUS).setEnumValue(PositionStatusProto.EXECUTED),
|
|
79
78
|
new FieldMapEntry().setField(FieldProto.PRODUCT_TYPE).setStringValue(productType),
|
|
79
|
+
new FieldMapEntry().setField(FieldProto.SECURITY_DESCRIPTION).setStringValue("Dummy"),
|
|
80
80
|
new FieldMapEntry().setField(FieldProto.ID).setFieldValuePacked(idPacked),
|
|
81
81
|
]);
|
|
82
82
|
let position = new Position(positionProto);
|
|
83
83
|
|
|
84
84
|
let position2 = Position.fromJSON(position.toJSON());
|
|
85
85
|
|
|
86
|
-
|
|
87
86
|
let tradeDatePosition = position2.getFieldValue(FieldProto.TRADE_DATE);
|
|
88
87
|
expect(tradeDate.getFullYear()).toBe(tradeDatePosition.getFullYear());
|
|
89
88
|
expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
|
|
90
89
|
expect(tradeDate.getDay()).toBe(tradeDatePosition.getDay());
|
|
91
90
|
expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
|
|
92
91
|
|
|
92
|
+
expect(position2.getFieldValue(FieldProto.SECURITY_DESCRIPTION)).toBe("Dummy");
|
|
93
|
+
|
|
93
94
|
return true;
|
|
94
95
|
}
|
|
95
96
|
|
|
@@ -117,6 +118,12 @@ async function testSerialization(): Promise<boolean> {
|
|
|
117
118
|
|
|
118
119
|
expect(position.getMeasureValue(MeasureProto.DIRECTED_QUANTITY)).toBe(1);
|
|
119
120
|
|
|
121
|
+
let price: PriceProto = position.getFieldValue(FieldProto.PRICE);
|
|
122
|
+
expect(price.getPrice().getArbitraryPrecisionValue()).toBe("1.0");
|
|
123
|
+
|
|
124
|
+
let tenor: TenorProto = position.getFieldValue(FieldProto.TENOR);
|
|
125
|
+
expect(tenor.getTermValue()).toBe("3M");
|
|
126
|
+
|
|
120
127
|
return true;
|
|
121
128
|
}
|
|
122
129
|
|
|
@@ -134,17 +141,34 @@ function getPosition(includeUnknownEnumValue: boolean) {
|
|
|
134
141
|
let productType = "Test product type";
|
|
135
142
|
let id = new UUID(UUID.random().toBytes());
|
|
136
143
|
|
|
144
|
+
let price = new PriceProto()
|
|
145
|
+
.setPrice(new DecimalValueProto().setArbitraryPrecisionValue("1.0"))
|
|
146
|
+
.setUuid(id.toUUIDProto())
|
|
147
|
+
.setSecurity(security);
|
|
148
|
+
|
|
149
|
+
let tenor = new TenorProto()
|
|
150
|
+
.setTenorType(TenorTypeProto.TERM)
|
|
151
|
+
.setTermValue("3M");;
|
|
152
|
+
|
|
137
153
|
let measure = MeasureProto.DIRECTED_QUANTITY;
|
|
138
154
|
let measureValue = new DecimalValueProto().setArbitraryPrecisionValue("1.0");
|
|
139
155
|
|
|
140
156
|
const tradeDatePacked = new Any();
|
|
141
|
-
tradeDatePacked.setTypeUrl(`
|
|
157
|
+
tradeDatePacked.setTypeUrl(`DUMMYTYPE_DATE`);
|
|
142
158
|
tradeDatePacked.setValue(LocalDate.from(tradeDate).toProto().serializeBinary());
|
|
143
159
|
|
|
144
160
|
const idPacked = new Any();
|
|
145
|
-
idPacked.setTypeUrl(`
|
|
161
|
+
idPacked.setTypeUrl(`DUMMYTYPE_ID`);
|
|
146
162
|
idPacked.setValue(id.toUUIDProto().serializeBinary());
|
|
147
163
|
|
|
164
|
+
const pricePacked = new Any();
|
|
165
|
+
pricePacked.setTypeUrl(`DUMMYTYPE_PRICE`);
|
|
166
|
+
pricePacked.setValue(price.serializeBinary());
|
|
167
|
+
|
|
168
|
+
const tenorPacked = new Any();
|
|
169
|
+
tenorPacked.setTypeUrl(`DUMMYTYPE_TENOR`);
|
|
170
|
+
tenorPacked.setValue(tenor.serializeBinary());
|
|
171
|
+
|
|
148
172
|
let positionStatus = includeUnknownEnumValue ?
|
|
149
173
|
new FieldMapEntry().setField(FieldProto.POSITION_STATUS).setEnumValue(PositionStatusProto.UNKNOWN) :
|
|
150
174
|
new FieldMapEntry().setField(FieldProto.POSITION_STATUS).setEnumValue(PositionStatusProto.EXECUTED);
|
|
@@ -156,8 +180,10 @@ function getPosition(includeUnknownEnumValue: boolean) {
|
|
|
156
180
|
new FieldMapEntry().setField(FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
|
|
157
181
|
positionStatus,
|
|
158
182
|
new FieldMapEntry().setField(FieldProto.TRANSACTION_TYPE).setEnumValue(TransactionTypeProto.BUY),
|
|
183
|
+
new FieldMapEntry().setField(FieldProto.TENOR).setFieldValuePacked(tenorPacked),
|
|
159
184
|
new FieldMapEntry().setField(FieldProto.PRODUCT_TYPE).setStringValue(productType),
|
|
160
185
|
new FieldMapEntry().setField(FieldProto.ID).setFieldValuePacked(idPacked),
|
|
186
|
+
new FieldMapEntry().setField(FieldProto.PRICE).setFieldValuePacked(pricePacked)
|
|
161
187
|
]);
|
|
162
188
|
|
|
163
189
|
positionProto.setMeasuresList([
|
|
@@ -16,6 +16,9 @@ import { ProtoEnum } from "../utils/protoEnum";
|
|
|
16
16
|
import { Field } from "./field";
|
|
17
17
|
import { UUID } from "../utils/uuid";
|
|
18
18
|
import { ZonedDateTime } from "../utils/datetime";
|
|
19
|
+
import { StrategyProto } from "../../../fintekkers/models/strategy/strategy_pb";
|
|
20
|
+
import { PriceProto } from "../../../fintekkers/models/price/price_pb";
|
|
21
|
+
import { TenorProto } from "../../../fintekkers/models/security/tenor_pb";
|
|
19
22
|
|
|
20
23
|
export class Position {
|
|
21
24
|
proto: PositionProto;
|
|
@@ -44,7 +47,7 @@ export class Position {
|
|
|
44
47
|
return this.getField(new FieldMapEntry().setField(field));
|
|
45
48
|
}
|
|
46
49
|
|
|
47
|
-
public getField(fieldToGet: FieldMapEntry): string | ProtoEnum | Security | Portfolio | UUID | Date | ZonedDateTime | number {
|
|
50
|
+
public getField(fieldToGet: FieldMapEntry): string | ProtoEnum | Security | Portfolio | UUID | Date | ZonedDateTime | number | PriceProto {
|
|
48
51
|
for (const tmpField of this.proto.getFieldsList()) {
|
|
49
52
|
if (tmpField.getField() === fieldToGet.getField()) {
|
|
50
53
|
|
|
@@ -66,6 +69,11 @@ export class Position {
|
|
|
66
69
|
|
|
67
70
|
const unpackedValue = Position.unpackField(tmpField);
|
|
68
71
|
|
|
72
|
+
if (FieldProto.PRICE == fieldToGet.getField()
|
|
73
|
+
|| FieldProto.TENOR == fieldToGet.getField()) {
|
|
74
|
+
return unpackedValue; //instanceof PriceProto || TenorProto
|
|
75
|
+
}
|
|
76
|
+
|
|
69
77
|
if (FieldProto.SECURITY == fieldToGet.getField()) {
|
|
70
78
|
return new Security(unpackedValue);
|
|
71
79
|
}
|
|
@@ -129,6 +137,7 @@ export class Position {
|
|
|
129
137
|
switch (fieldToUnpack.getField()) {
|
|
130
138
|
case FieldProto.PORTFOLIO_ID:
|
|
131
139
|
case FieldProto.SECURITY_ID:
|
|
140
|
+
case FieldProto.PRICE_ID:
|
|
132
141
|
case FieldProto.ID:
|
|
133
142
|
return UUIDProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
134
143
|
case FieldProto.AS_OF:
|
|
@@ -139,25 +148,36 @@ export class Position {
|
|
|
139
148
|
case FieldProto.SETTLEMENT_DATE:
|
|
140
149
|
case FieldProto.TAX_LOT_OPEN_DATE:
|
|
141
150
|
case FieldProto.TAX_LOT_CLOSE_DATE:
|
|
151
|
+
case FieldProto.EFFECTIVE_DATE:
|
|
142
152
|
return LocalDateProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
143
153
|
case FieldProto.IDENTIFIER:
|
|
144
154
|
return IdentifierProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
155
|
+
case FieldProto.STRATEGY:
|
|
156
|
+
return StrategyProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
157
|
+
case FieldProto.TENOR:
|
|
158
|
+
return TenorProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
159
|
+
case FieldProto.PRICE:
|
|
160
|
+
return PriceProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
145
161
|
case FieldProto.TRANSACTION_TYPE:
|
|
146
162
|
case FieldProto.POSITION_STATUS:
|
|
147
|
-
|
|
148
|
-
// const descriptor = FieldProto.DESCRIPTOR.valuesByNumber[fieldToUnpack.field];
|
|
149
|
-
return fieldToUnpack; //new ProtoEnum(descriptor, fieldToUnpack.enumValue);
|
|
163
|
+
return fieldToUnpack;
|
|
150
164
|
case FieldProto.PORTFOLIO_NAME:
|
|
151
165
|
case FieldProto.SECURITY_DESCRIPTION:
|
|
166
|
+
case FieldProto.SECURITY_ISSUER_NAME:
|
|
167
|
+
case FieldProto.ADJUSTED_TENOR:
|
|
152
168
|
case FieldProto.PRODUCT_TYPE:
|
|
169
|
+
case FieldProto.PRODUCT_CLASS:
|
|
153
170
|
case FieldProto.ASSET_CLASS:
|
|
154
171
|
return StringValue.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
|
|
155
172
|
case FieldProto.PORTFOLIO:
|
|
156
|
-
return fieldToUnpack.getFieldValuePacked();
|
|
157
173
|
case FieldProto.SECURITY:
|
|
174
|
+
case FieldProto.CASH_IMPACT_SECURITY:
|
|
175
|
+
return fieldToUnpack.getFieldValuePacked();
|
|
176
|
+
case FieldProto.IS_CANCELLED:
|
|
177
|
+
console.log("Need to check that IS_CANCELLED IS SUPPORTED CORRECTLY");
|
|
158
178
|
return fieldToUnpack.getFieldValuePacked();
|
|
159
179
|
default:
|
|
160
|
-
throw new Error(`Field not found. Could not unpack ${FieldProto[fieldToUnpack.getField()]}`);
|
|
180
|
+
throw new Error(`Field not found. Could not unpack ${FieldProto[fieldToUnpack.getField()]}. Mapping missing`);
|
|
161
181
|
}
|
|
162
182
|
}
|
|
163
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;AACA,8FAA+F;AAC/F,qFAAqF;AACrF,+EAA+E;AAC/E,yFAAyF;AACzF,mEAAoE;AAEpE,uCAA2C;AAC3C,yCAAwC;AACxC,+BAA8B;AAC9B,2EAA0E;AAG1E;IAAA;IAmDA,CAAC;IAlDQ,gCAAS,GAAhB,UAAiB,GAAQ;QACvB,IAAI,GAAG,YAAY,WAAI,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,8BAAc,EAAE;iBACxB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;iBAC1B,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;iBAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,YAAY,wBAAa,EAAE,CAAC;YACjC,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,oCAAiB,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;YAC1B,OAAO,yBAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,6CAAsC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACrF,CAAC;IAEM,kCAAW,GAAlB,UAAmB,GAAQ;QACzB,IAAI,GAAG,YAAY,mBAAS,EAAE,CAAC;YAC7B,OAAO,WAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,GAAG,YAAY,8BAAc,EAAE,CAAC;YAClC,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,YAAY,wCAAmB,EAAE,CAAC;YACvC,OAAO,IAAI,wBAAa,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,GAAG,YAAY,+BAAe,EAAE,CAAC;YACnC,OAAO,GAAG,CAAC,iBAAiB,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,GAAG,YAAY,oCAAiB,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,GAAG,YAAY,yBAAW,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,IAAI,WAAW,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,WAAW,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACzG,OAAO,IAAI,qBAAS,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,+CAAwC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACvF,CAAC;IACH,6BAAC;AAAD,CAAC,AAnDD,IAmDC;AAnDY,wDAAsB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PriceProto } from "../../../fintekkers/models/price/price_pb";
|
|
1
2
|
import { IdentifierProto } from "../../../fintekkers/models/security/identifier/identifier_pb";
|
|
2
3
|
import { DecimalValueProto } from "../../../fintekkers/models/util/decimal_value_pb";
|
|
3
4
|
import { LocalDateProto } from "../../../fintekkers/models/util/local_date_pb";
|
|
@@ -8,6 +9,7 @@ import { ZonedDateTime } from "./datetime";
|
|
|
8
9
|
import { ProtoEnum } from "./protoEnum";
|
|
9
10
|
import { UUID } from "./uuid";
|
|
10
11
|
import { StringValue } from 'google-protobuf/google/protobuf/wrappers_pb';
|
|
12
|
+
import { Any } from 'google-protobuf/google/protobuf/any_pb';
|
|
11
13
|
|
|
12
14
|
export class ProtoSerializationUtil {
|
|
13
15
|
static serialize(obj: any) { //}: UUIDProto | LocalDateProto | LocalTimestampProto | DecimalValueProto | StringValue {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var assert = require("assert");
|
|
4
|
+
var uuid_1 = require("./uuid");
|
|
5
|
+
test('test packing/unpacking string', function () {
|
|
6
|
+
testString();
|
|
7
|
+
});
|
|
8
|
+
function testString() {
|
|
9
|
+
var test_uuid_bytes = [217, 98, 253, 240, 51, 225, 77, 157, 153, 155, 126, 195, 80, 240, 203, 119];
|
|
10
|
+
var test_uuid = new uuid_1.UUID(test_uuid_bytes);
|
|
11
|
+
assert(test_uuid.toString() == 'd962fdf0-33e1-4d9d-999b-7ec350f0cb77');
|
|
12
|
+
var test_uuid_bytes_copy = uuid_1.UUID.fromString(test_uuid.toString());
|
|
13
|
+
assert(test_uuid_bytes.length === test_uuid_bytes_copy.length &&
|
|
14
|
+
test_uuid_bytes.every(function (value, index) { return value === test_uuid_bytes_copy[index]; }));
|
|
15
|
+
assert(uuid_1.UUID.random().toString().length == 36);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=uuid.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.test.js","sourceRoot":"","sources":["uuid.test.ts"],"names":[],"mappings":";;AAAA,+BAAkC;AAClC,+BAA8B;AAE9B,IAAI,CAAC,+BAA+B,EAAE;IACpC,UAAU,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,SAAS,UAAU;IACjB,IAAM,eAAe,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrG,IAAM,SAAS,GAAG,IAAI,WAAI,CAAC,eAAe,CAAC,CAAC;IAC5C,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,sCAAsC,CAAC,CAAC;IACvE,IAAM,oBAAoB,GAAG,WAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnE,MAAM,CACJ,eAAe,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM;QACtD,eAAe,CAAC,KAAK,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,KAAK,KAAK,oBAAoB,CAAC,KAAK,CAAC,EAArC,CAAqC,CAAC,CAC/E,CAAC;IAEF,MAAM,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import assert = require('assert');
|
|
2
|
+
import { UUID } from './uuid';
|
|
3
|
+
|
|
4
|
+
test('test packing/unpacking string', () => {
|
|
5
|
+
testString();
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
function testString() {
|
|
9
|
+
const test_uuid_bytes = [217, 98, 253, 240, 51, 225, 77, 157, 153, 155, 126, 195, 80, 240, 203, 119];
|
|
10
|
+
const test_uuid = new UUID(test_uuid_bytes);
|
|
11
|
+
assert(test_uuid.toString() == 'd962fdf0-33e1-4d9d-999b-7ec350f0cb77');
|
|
12
|
+
const test_uuid_bytes_copy = UUID.fromString(test_uuid.toString());
|
|
13
|
+
|
|
14
|
+
assert(
|
|
15
|
+
test_uuid_bytes.length === test_uuid_bytes_copy.length &&
|
|
16
|
+
test_uuid_bytes.every((value, index) => value === test_uuid_bytes_copy[index])
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
assert(UUID.random().toString().length == 36);
|
|
20
|
+
}
|
|
21
|
+
|