@fintekkers/ledger-models 0.1.71 → 0.1.72

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.
@@ -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.ASSET_CLASS:
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;AAElG;IAGE,kBAAY,aAA4B;QACtC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;IAC7B,CAAC;IAEM,gCAAa,GAApB,UAAqB,KAAiB;QACpC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,qBAAU,CAAC,UAAU,CAAC;YAC3B,KAAK,qBAAU,CAAC,cAAc,CAAC;YAC/B,KAAK,qBAAU,CAAC,aAAa,CAAC;YAC9B,KAAK,qBAAU,CAAC,iBAAiB,CAAC;YAClC,KAAK,qBAAU,CAAC,kBAAkB;gBAChC,IAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,+BAA+B;gBAC7E,IAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAM,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;gBACzD,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,KAAK,qBAAU,CAAC,YAAY;gBAC1B,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;gBAC9B,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC7D,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5B,KAAK,qBAAU,CAAC,WAAW;gBACzB,IAAI,MAAM,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;gBACvC,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC/D,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9B,KAAK,qBAAU,CAAC,WAAW;gBACzB,IAAI,MAAM,GAAG,CAAC,0CAAoB,CAAC,GAAG,EAAE,0CAAoB,CAAC,IAAI,EAAE,0CAAoB,CAAC,OAAO,EAAE,0CAAoB,CAAC,UAAU,EAAE,0CAAoB,CAAC,UAAU,CAAC,CAAC;gBACnK,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC/D,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9B;gBACE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEM,2BAAQ,GAAf,UAAgB,UAAyB;QACvC,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;IAEM,kCAAe,GAAtB,UAAuB,OAAqB;QAC1C,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,yBAAY,CAAC,iBAAiB;gBACjC,OAAO,IAAI,oBAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;YAC7C,KAAK,yBAAY,CAAC,qBAAqB;gBACrC,OAAO,IAAI,oBAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YAC1C,KAAK,yBAAY,CAAC,YAAY;gBAC5B,OAAO,IAAI,oBAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAEO,6BAAU,GAAlB,UAAmB,YAA6B;QAC9C,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAEM,kCAAe,GAAtB,UAAuB,UAAyB;QAC9C,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAEM,8BAAW,GAAlB;QACE,OAAO,CAAC,yBAAY,CAAC,iBAAiB,EAAE,yBAAY,CAAC,qBAAqB,EAAE,yBAAY,CAAC,YAAY,CAAC,CAAC;IACzG,CAAC;IAEM,4BAAS,GAAhB;QACE,OAAO,CAAC,qBAAU,CAAC,WAAW,EAAE,qBAAU,CAAC,UAAU,EAAE,qBAAU,CAAC,WAAW,EAAE,qBAAU,CAAC,gBAAgB,CAAC,CAAC;IAC9G,CAAC;IA0EH,eAAC;AAAD,CAAC,AA1ID,IA0IC;AA1IY,4BAAQ"}
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.ASSET_CLASS:
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): Decimal {
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,14 +4,14 @@ 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) {
@@ -28,14 +28,20 @@ var Position = /** @class */ (function () {
28
28
  for (var _i = 0, _a = this.proto.getFieldsList(); _i < _a.length; _i++) {
29
29
  var tmpField = _a[_i];
30
30
  if (tmpField.getField() === fieldToGet.getField()) {
31
- var unpackedValue = Position.unpackField(tmpField);
32
- if (unpackedValue.type === "enum") {
31
+ if (tmpField.getStringValue()) {
32
+ return tmpField.getStringValue();
33
+ }
34
+ if (tmpField.getEnumValue() > 0) {
33
35
  throw new Error("Doh");
34
36
  // const descriptor = FieldProto.DESCRIPTOR.valuesByNumber[fieldToGet.field];
35
37
  // return new ProtoEnum(descriptor, unpackedValue.enumValue);
36
38
  }
37
- if (typeof unpackedValue === "string" || typeof unpackedValue === "number") {
38
- return unpackedValue;
39
+ var unpackedValue = Position.unpackField(tmpField);
40
+ if (field_pb_1.FieldProto.SECURITY == fieldToGet.getField()) {
41
+ return new security_1.default(unpackedValue);
42
+ }
43
+ if (field_pb_1.FieldProto.PORTFOLIO == fieldToGet.getField()) {
44
+ return new portfolio_1.default(unpackedValue);
39
45
  }
40
46
  return serialization_1.ProtoSerializationUtil.deserialize(unpackedValue);
41
47
  }
@@ -117,9 +123,9 @@ var Position = /** @class */ (function () {
117
123
  case field_pb_1.FieldProto.ASSET_CLASS:
118
124
  return wrappers_pb_1.StringValue.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
119
125
  case field_pb_1.FieldProto.PORTFOLIO:
120
- return portfolio_pb_1.PortfolioProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
126
+ return fieldToUnpack.getFieldValuePacked();
121
127
  case field_pb_1.FieldProto.SECURITY:
122
- return security_pb_1.SecurityProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
128
+ return fieldToUnpack.getFieldValuePacked();
123
129
  default:
124
130
  throw new Error("Field not found. Could not unpack ".concat(field_pb_1.FieldProto[fieldToUnpack.getField()]));
125
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":";AAAA,2FAA2F;;;AAG3F,yEAA0E;AAE1E,yFAAsG;AAGtG,mEAAoE;AACpE,yFAAyF;AACzF,+EAA+E;AAC/E,8FAA+F;AAE/F,6EAA8E;AAE9E,wDAAgE;AAChE,+EAAgF;AAChF,kFAAmF;AACnF,2EAA0E;AAE1E;IAGE,kBAAY,aAA4B;QACtC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;QAE3B,mCAAmC;QACnC,gDAAgD;QAChD,wBAAwB;QACxB,MAAM;IAER,CAAC;IAEM,gCAAa,GAApB,UAAqB,KAAiB;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,gCAAa,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEM,2BAAQ,GAAf,UAAgB,UAAyB;QACvC,KAAuB,UAA0B,EAA1B,KAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAA1B,cAA0B,EAA1B,IAA0B,EAAE,CAAC;YAA/C,IAAM,QAAQ,SAAA;YACjB,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAClD,IAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAErD,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvB,6EAA6E;oBAC7E,6DAA6D;gBAC/D,CAAC;gBAED,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;oBAC3E,OAAO,aAAa,CAAC;gBACvB,CAAC;gBAED,OAAO,sCAAsB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAEM,kCAAe,GAAtB,UAAuB,OAAqB;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,kCAAe,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,6BAAU,GAAlB,UAAmB,YAA6B;QAC9C,KAAyB,UAA4B,EAA5B,KAAA,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAA5B,cAA4B,EAA5B,IAA4B,EAAE,CAAC;YAAnD,IAAM,UAAU,SAAA;YACnB,IAAI,UAAU,CAAC,UAAU,EAAE,KAAK,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC1D,OAAO,sCAAsB,CAAC,WAAW,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAEM,kCAAe,GAAtB,UAAuB,UAAyB;QAC9C,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAEM,8BAAW,GAAlB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC;IAEM,4BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAEM,2BAAQ,GAAf;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAoB,UAAgB,EAAhB,KAAA,IAAI,CAAC,SAAS,EAAE,EAAhB,cAAgB,EAAhB,IAAgB,EAAE,CAAC;YAAlC,IAAM,KAAK,SAAA;YACd,MAAM,IAAI,UAAG,qBAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAG,CAAC;YAC7C,MAAM,IAAI,UAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAG,CAAC;QAC9C,CAAC;QAED,KAAsB,UAAkB,EAAlB,KAAA,IAAI,CAAC,WAAW,EAAE,EAAlB,cAAkB,EAAlB,IAAkB,EAAE,CAAC;YAAtC,IAAM,OAAO,SAAA;YAChB,MAAM,IAAI,UAAG,yBAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAG,CAAC;YACnD,IAAM,GAAG,GAAY,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,IAAI,UAAG,GAAG,CAAC,QAAQ,EAAE,MAAG,CAAC;QACjC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0DAA0D;IAC1D,+BAA+B;IAC/B,oEAAoE;IACpE,oBAAoB;IACpB,IAAI;IAEJ,oDAAoD;IACpD,+BAA+B;IAC/B,+BAA+B;IAC/B,oBAAoB;IACpB,IAAI;IAEU,oBAAW,GAAzB,UAA0B,aAA4B;QACpD,QAAQ,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC;YACjC,KAAK,qBAAU,CAAC,YAAY,CAAC;YAC7B,KAAK,qBAAU,CAAC,WAAW,CAAC;YAC5B,KAAK,qBAAU,CAAC,EAAE;gBAChB,OAAO,mBAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrF,KAAK,qBAAU,CAAC,KAAK;gBACnB,OAAO,wCAAmB,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/F,KAAK,qBAAU,CAAC,UAAU,CAAC;YAC3B,KAAK,qBAAU,CAAC,aAAa,CAAC;YAC9B,KAAK,qBAAU,CAAC,UAAU,CAAC;YAC3B,KAAK,qBAAU,CAAC,eAAe,CAAC;YAChC,KAAK,qBAAU,CAAC,iBAAiB,CAAC;YAClC,KAAK,qBAAU,CAAC,kBAAkB;gBAChC,OAAO,8BAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1F,KAAK,qBAAU,CAAC,UAAU;gBACxB,OAAO,+BAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3F,KAAK,qBAAU,CAAC,gBAAgB,CAAC;YACjC,KAAK,qBAAU,CAAC,eAAe;gBAC7B,mDAAmD;gBACnD,gFAAgF;gBAChF,OAAO,IAAI,CAAC,CAAC,qDAAqD;YACpE,KAAK,qBAAU,CAAC,cAAc,CAAC;YAC/B,KAAK,qBAAU,CAAC,oBAAoB,CAAC;YACrC,KAAK,qBAAU,CAAC,YAAY,CAAC;YAC7B,KAAK,qBAAU,CAAC,WAAW;gBACzB,OAAO,yBAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvF,KAAK,qBAAU,CAAC,SAAS;gBACvB,OAAO,6BAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1F,KAAK,qBAAU,CAAC,QAAQ;gBACtB,OAAO,2BAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzF;gBACE,MAAM,IAAI,KAAK,CAAC,4CAAqC,qBAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IASH,eAAC;AAAD,CAAC,AA1ID,IA0IC;AA1IY,4BAAQ"}
1
+ {"version":3,"file":"position.js","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"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"}
@@ -36,8 +36,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- var local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
40
- var serialization_1 = require("../utils/serialization");
41
39
  var uuid_1 = require("../utils/uuid");
42
40
  var any_pb_1 = require("google-protobuf/google/protobuf/any_pb");
43
41
  var decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
@@ -47,65 +45,63 @@ var field_pb_1 = require("../../../fintekkers/models/position/field_pb");
47
45
  var measure_pb_1 = require("../../../fintekkers/models/position/measure_pb");
48
46
  var security_pb_1 = require("../../../fintekkers/models/security/security_pb");
49
47
  var portfolio_pb_1 = require("../../../fintekkers/models/portfolio/portfolio_pb");
50
- var hardcoded_position_1 = require("./hardcoded.position");
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
51
  test('test the position wrapper', function () { return __awaiter(void 0, void 0, void 0, function () {
52
+ var isTrue;
52
53
  return __generator(this, function (_a) {
53
- return [2 /*return*/];
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
+ }
54
61
  });
55
62
  }); });
56
63
  function testSerialization() {
57
64
  return __awaiter(this, void 0, void 0, function () {
58
- var fields, security, portfolio, tradeDate, productType, id, measure, measureValue, anyMessage, typeUrl, binaryMessage, positionProto, position;
65
+ var fields, security, portfolio, tradeDate, productType, id, measure, measureValue, tradeDatePacked, idPacked, positionProto, position, tradeDatePosition, securityPosition, portfolioPosition, positionID;
59
66
  return __generator(this, function (_a) {
60
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];
61
68
  security = new security_pb_1.SecurityProto().setAssetClass("Test");
62
69
  portfolio = new portfolio_pb_1.PortfolioProto().setPortfolioName("Test portfolio");
63
- tradeDate = new local_date_pb_1.LocalDateProto().setDay(3).setMonth(1).setYear(2024);
70
+ tradeDate = date_1.LocalDate.today().toDate();
64
71
  productType = "Test product type";
65
72
  id = new uuid_1.UUID(uuid_1.UUID.random().toBytes());
66
73
  measure = measure_pb_1.MeasureProto.DIRECTED_QUANTITY;
67
74
  measureValue = new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue("1.0");
68
- serialization_1.ProtoSerializationUtil.serialize;
69
- anyMessage = new any_pb_1.Any();
70
- typeUrl = "Doesn't matter?";
71
- binaryMessage = security.serializeBinary();
72
- anyMessage.setTypeUrl(typeUrl);
73
- anyMessage.setValue(binaryMessage);
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());
74
81
  positionProto = new position_pb_1.PositionProto();
75
- positionProto.addFields(new position_util_pb_1.FieldMapEntry().setField(field_pb_1.FieldProto.SECURITY).setFieldValuePacked(anyMessage));
76
- position = new hardcoded_position_1.Position(positionProto);
77
- position.getFieldValue(field_pb_1.FieldProto.SECURITY);
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);
78
103
  return [2 /*return*/, true];
79
104
  });
80
105
  });
81
106
  }
82
- function pack() {
83
- var message = new position_pb_1.PositionProto();
84
- // Create a value of any type (in this case, a string)
85
- // const stringValue = "Hello, Any!";
86
- // const anyValue = new Any();
87
- // anyValue.pack(stringValue, "type.googleapis.com/google.protobuf.StringValue");
88
- // message.setValue(anyValue);
89
- // // Serialize the message to a binary buffer
90
- // const serialized = message.serializeBinary();
91
- // // Deserialize the binary buffer
92
- // const deserializedMessage = PositionProto.deserializeBinary(serialized);
93
- // const deserializedValue = deserializedMessage.getFieldsList()[0];
94
- // if (deserializedValue.is(string)) {
95
- // const unpackedValue = deserializedValue.unpack(StringValue.deserializeBinary);
96
- // console.log(unpackedValue.getValue()); // Output: Hello, Any!
97
- // }
98
- }
99
- function dummyPosition() {
100
- var field = new position_util_pb_1.FieldMapEntry()
101
- .setField(field_pb_1.FieldProto.TRANSACTION_TYPE);
102
- // .setFieldValuePacked
103
- return new position_pb_1.PositionProto();
104
- // new TransactionProto()
105
- // .setObjectClass('Transaction').setVersion('0.0.1').setUuid(UUID.random().toUUIDProto())
106
- // .setTradeDate(new LocalDateProto().setYear(2021).setMonth(1).setDay(1))
107
- // .setTransactionType(TransactionTypeProto.BUY)
108
- // .setQuantity(new DecimalValueProto().setArbitraryPrecisionValue('1000.00'))
109
- // .setSettlementDate(new LocalDateProto().setYear(2021).setMonth(1).setDay(1)));
110
- }
111
107
  //# sourceMappingURL=position.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+EAA+E;AAE/E,wDAAgE;AAChE,sCAAqC;AACrC,iEAA6D;AAS7D,qFAAqF;AAErF,+EAAsH;AACtH,yFAAqF;AACrF,yEAA0E;AAK1E,6EAA8E;AAC9E,+EAAgF;AAChF,kFAAmF;AACnF,2DAAgD;AAIhD,IAAI,CAAC,2BAA2B,EAAE;;;;KAIjC,CAAC,CAAC;AAEH,SAAe,iBAAiB;;;;YACxB,MAAM,GAAG,CAAC,qBAAU,CAAC,EAAE,EAAE,qBAAU,CAAC,UAAU,EAAE,qBAAU,CAAC,YAAY,EAAE,qBAAU,CAAC,SAAS,EAAE,qBAAU,CAAC,QAAQ,CAAC,CAAC;YAEpH,QAAQ,GAAG,IAAI,2BAAa,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACrD,SAAS,GAAG,IAAI,6BAAc,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YACpE,SAAS,GAAG,IAAI,8BAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrE,WAAW,GAAG,mBAAmB,CAAC;YAClC,EAAE,GAAG,IAAI,WAAI,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAEvC,OAAO,GAAG,yBAAY,CAAC,iBAAiB,CAAC;YACzC,YAAY,GAAG,IAAI,oCAAiB,EAAE,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAG7E,sCAAsB,CAAC,SAAS,CAAA;YAC1B,UAAU,GAAG,IAAI,YAAG,EAAE,CAAC;YACvB,OAAO,GAAG,iBAAiB,CAAC;YAC5B,aAAa,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;YACjD,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/B,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAE/B,aAAa,GAAG,IAAI,2BAAa,EAAE,CAAC;YACxC,aAAa,CAAC,SAAS,CAAC,IAAI,gCAAa,EAAE,CAAC,QAAQ,CAAC,qBAAU,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;YAEvG,QAAQ,GAAG,IAAI,6BAAQ,CAAC,aAAa,CAAC,CAAC;YAE3C,QAAQ,CAAC,aAAa,CAAC,qBAAU,CAAC,QAAQ,CAAC,CAAC;YAE5C,sBAAO,IAAI,EAAC;;;CACf;AAED,SAAS,IAAI;IACT,IAAM,OAAO,GAAG,IAAI,2BAAa,EAAE,CAAC;IAEpC,sDAAsD;IACtD,qCAAqC;IACrC,8BAA8B;IAC9B,iFAAiF;IAEjF,8BAA8B;IAE9B,8CAA8C;IAC9C,gDAAgD;IAEhD,mCAAmC;IACnC,2EAA2E;IAC3E,oEAAoE;IAEpE,sCAAsC;IACtC,iFAAiF;IACjF,gEAAgE;IAChE,IAAI;AAER,CAAC;AAED,SAAS,aAAa;IAClB,IAAI,KAAK,GAAG,IAAI,gCAAa,EAAE;SAC1B,QAAQ,CAAC,qBAAU,CAAC,gBAAgB,CAAC,CAAC;IAC3C,uBAAuB;IAEvB,OAAO,IAAI,2BAAa,EAAE,CAAC;IAE3B,yBAAyB;IACzB,0FAA0F;IAC1F,0EAA0E;IAC1E,gDAAgD;IAChD,8EAA8E;IAC9E,iFAAiF;AACrF,CAAC"}
1
+ {"version":3,"file":"position.test.js","sourceRoot":"","sources":["position.test.ts"],"names":[],"mappings":"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"}
@@ -23,14 +23,13 @@ import { ZonedDateTime } from '../utils/datetime';
23
23
  import { MeasureProto } from '../../../fintekkers/models/position/measure_pb';
24
24
  import { SecurityProto } from '../../../fintekkers/models/security/security_pb';
25
25
  import { PortfolioProto } from '../../../fintekkers/models/portfolio/portfolio_pb';
26
- import { Position } from './hardcoded.position';
27
-
28
-
26
+ import { Position } from './position';
27
+ import { LocalDate } from '../utils/date';
28
+ import { PositionStatusProto } from '../../../fintekkers/models/position/position_status_pb';
29
29
 
30
30
  test('test the position wrapper', async () => {
31
- // const isTrue = await testSerialization();
32
- // expect(isTrue).toBe(true);
33
-
31
+ const isTrue = await testSerialization();
32
+ expect(isTrue).toBe(true);
34
33
  });
35
34
 
36
35
  async function testSerialization(): Promise<boolean> {
@@ -38,67 +37,49 @@ async function testSerialization(): Promise<boolean> {
38
37
 
39
38
  let security = new SecurityProto().setAssetClass("Test");
40
39
  let portfolio = new PortfolioProto().setPortfolioName("Test portfolio");
41
- let tradeDate = new LocalDateProto().setDay(3).setMonth(1).setYear(2024);
40
+ let tradeDate = LocalDate.today().toDate();
42
41
  let productType = "Test product type";
43
42
  let id = new UUID(UUID.random().toBytes());
44
43
 
45
44
  let measure = MeasureProto.DIRECTED_QUANTITY;
46
45
  let measureValue = new DecimalValueProto().setArbitraryPrecisionValue("1.0");
47
46
 
47
+ const tradeDatePacked = new Any();
48
+ tradeDatePacked.setTypeUrl(`Doesn't matter`);
49
+ tradeDatePacked.setValue(LocalDate.from(tradeDate).toProto().serializeBinary());
48
50
 
49
- ProtoSerializationUtil.serialize
50
- const anyMessage = new Any();
51
- const typeUrl = `Doesn't matter?`;
52
- const binaryMessage = security.serializeBinary();
53
- anyMessage.setTypeUrl(typeUrl);
54
- anyMessage.setValue(binaryMessage);
51
+ const idPacked = new Any();
52
+ idPacked.setTypeUrl(`Doesn't matter`);
53
+ idPacked.setValue(id.toUUIDProto().serializeBinary());
55
54
 
56
55
  let positionProto = new PositionProto();
57
- positionProto.addFields(new FieldMapEntry().setField(FieldProto.SECURITY).setFieldValuePacked(anyMessage));
58
-
56
+ positionProto.setFieldsList([
57
+ new FieldMapEntry().setField(FieldProto.TRADE_DATE).setFieldValuePacked(tradeDatePacked),
58
+ new FieldMapEntry().setField(FieldProto.SECURITY).setFieldValuePacked(security),
59
+ new FieldMapEntry().setField(FieldProto.PORTFOLIO).setFieldValuePacked(portfolio),
60
+ new FieldMapEntry().setField(FieldProto.POSITION_STATUS).setEnumValue(PositionStatusProto.EXECUTED),
61
+ new FieldMapEntry().setField(FieldProto.PRODUCT_TYPE).setStringValue(productType),
62
+ new FieldMapEntry().setField(FieldProto.ID).setFieldValuePacked(idPacked),
63
+ ]);
59
64
  let position = new Position(positionProto);
60
65
 
61
- position.getFieldValue(FieldProto.SECURITY);
62
-
63
- return true;
64
- }
65
-
66
- function pack() {
67
- const message = new PositionProto();
68
-
69
- // Create a value of any type (in this case, a string)
70
- // const stringValue = "Hello, Any!";
71
- // const anyValue = new Any();
72
- // anyValue.pack(stringValue, "type.googleapis.com/google.protobuf.StringValue");
66
+ let tradeDatePosition = position.getFieldValue(FieldProto.TRADE_DATE);
67
+ expect(tradeDate.getFullYear()).toBe(tradeDatePosition.getFullYear());
68
+ expect(tradeDate.getMonth()).toBe(tradeDatePosition.getMonth());
69
+ expect(tradeDate.getDay()).toBe(tradeDatePosition.getDay());
73
70
 
74
- // message.setValue(anyValue);
71
+ let securityPosition: SecurityProto = position.getFieldValue(FieldProto.SECURITY);
72
+ expect(securityPosition.getAssetClass()).toBe(security.getAssetClass());
75
73
 
76
- // // Serialize the message to a binary buffer
77
- // const serialized = message.serializeBinary();
74
+ let portfolioPosition: PortfolioProto = position.getFieldValue(FieldProto.PORTFOLIO);
75
+ expect(portfolioPosition.getPortfolioName()).toBe(portfolio.getPortfolioName());
78
76
 
79
- // // Deserialize the binary buffer
80
- // const deserializedMessage = PositionProto.deserializeBinary(serialized);
81
- // const deserializedValue = deserializedMessage.getFieldsList()[0];
77
+ expect(position.getFieldValue(FieldProto.PRODUCT_TYPE)).toBe(productType);
82
78
 
83
- // if (deserializedValue.is(string)) {
84
- // const unpackedValue = deserializedValue.unpack(StringValue.deserializeBinary);
85
- // console.log(unpackedValue.getValue()); // Output: Hello, Any!
86
- // }
87
-
88
- }
79
+ let positionID = position.getFieldValue(FieldProto.ID);
80
+ expect(positionID.toString()).toBe(id.toString());
89
81
 
90
- function dummyPosition() {
91
- let field = new FieldMapEntry()
92
- .setField(FieldProto.TRANSACTION_TYPE);
93
- // .setFieldValuePacked
82
+ expect(position.getFieldValue(FieldProto.POSITION_STATUS)).toBe(PositionStatusProto.EXECUTED);
94
83
 
95
- return new PositionProto();
96
-
97
- // new TransactionProto()
98
- // .setObjectClass('Transaction').setVersion('0.0.1').setUuid(UUID.random().toUUIDProto())
99
- // .setTradeDate(new LocalDateProto().setYear(2021).setMonth(1).setDay(1))
100
- // .setTransactionType(TransactionTypeProto.BUY)
101
- // .setQuantity(new DecimalValueProto().setArbitraryPrecisionValue('1000.00'))
102
- // .setSettlementDate(new LocalDateProto().setYear(2021).setMonth(1).setDay(1)));
84
+ return true;
103
85
  }
104
-
@@ -38,16 +38,25 @@ export class Position {
38
38
  public getField(fieldToGet: FieldMapEntry): any {
39
39
  for (const tmpField of this.proto.getFieldsList()) {
40
40
  if (tmpField.getField() === fieldToGet.getField()) {
41
- const unpackedValue = Position.unpackField(tmpField);
42
41
 
43
- if (unpackedValue.type === "enum") {
42
+ if (tmpField.getStringValue()) {
43
+ return tmpField.getStringValue();
44
+ }
45
+
46
+ if (tmpField.getEnumValue() > 0) {
44
47
  throw new Error("Doh");
45
48
  // const descriptor = FieldProto.DESCRIPTOR.valuesByNumber[fieldToGet.field];
46
49
  // return new ProtoEnum(descriptor, unpackedValue.enumValue);
47
50
  }
48
51
 
49
- if (typeof unpackedValue === "string" || typeof unpackedValue === "number") {
50
- return unpackedValue;
52
+ const unpackedValue = Position.unpackField(tmpField);
53
+
54
+ if (FieldProto.SECURITY == fieldToGet.getField()) {
55
+ return new Security(unpackedValue);
56
+ }
57
+
58
+ if (FieldProto.PORTFOLIO == fieldToGet.getField()) {
59
+ return new Portfolio(unpackedValue);
51
60
  }
52
61
 
53
62
  return ProtoSerializationUtil.deserialize(unpackedValue);
@@ -141,9 +150,9 @@ export class Position {
141
150
  case FieldProto.ASSET_CLASS:
142
151
  return StringValue.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
143
152
  case FieldProto.PORTFOLIO:
144
- return PortfolioProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
153
+ return fieldToUnpack.getFieldValuePacked();
145
154
  case FieldProto.SECURITY:
146
- return SecurityProto.deserializeBinary(fieldToUnpack.getFieldValuePacked().getValue());
155
+ return fieldToUnpack.getFieldValuePacked();
147
156
  default:
148
157
  throw new Error(`Field not found. Could not unpack ${FieldProto[fieldToUnpack.getField()]}`);
149
158
  }
@@ -23,6 +23,9 @@ var LocalDate = /** @class */ (function () {
23
23
  var today = new Date();
24
24
  return new LocalDate(new local_date_pb_1.LocalDateProto().setYear(today.getFullYear()).setMonth(today.getMonth()).setDay(today.getDate()));
25
25
  };
26
+ LocalDate.from = function (date) {
27
+ return new LocalDate(new local_date_pb_1.LocalDateProto().setYear(date.getFullYear()).setMonth(date.getMonth()).setDay(date.getDate()));
28
+ };
26
29
  return LocalDate;
27
30
  }());
28
31
  exports.LocalDate = LocalDate;
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["date.ts"],"names":[],"mappings":";;;AACA,+EAA+E;AAC/E,iDAAyD;AAEzD;IAGE,mBAAY,KAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,0BAAM,GAAN;QACE,sEAAsE;QACtE,gFAAgF;QAChF,4EAA4E;QAC5E,OAAO,sCAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,4BAAQ,GAAR;QACE,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,2BAAO,GAAP;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,eAAK,GAAZ;QACE,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,SAAS,CAClB,IAAI,8BAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CACrG,CAAC;IACJ,CAAC;IACH,gBAAC;AAAD,CAAC,AA5BD,IA4BC;AAEQ,8BAAS"}
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["date.ts"],"names":[],"mappings":";;;AACA,+EAA+E;AAC/E,iDAAyD;AAEzD;IAGE,mBAAY,KAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,0BAAM,GAAN;QACE,sEAAsE;QACtE,gFAAgF;QAChF,4EAA4E;QAC5E,OAAO,sCAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,4BAAQ,GAAR;QACE,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,2BAAO,GAAP;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,eAAK,GAAZ;QACE,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,SAAS,CAClB,IAAI,8BAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CACrG,CAAC;IACJ,CAAC;IAEM,cAAI,GAAX,UAAY,IAAU;QACpB,OAAO,IAAI,SAAS,CAClB,IAAI,8BAAc,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAClG,CAAC;IACJ,CAAC;IACH,gBAAC;AAAD,CAAC,AAlCD,IAkCC;AAEQ,8BAAS"}
@@ -30,6 +30,12 @@ class LocalDate {
30
30
  new LocalDateProto().setYear(today.getFullYear()).setMonth(today.getMonth()).setDay(today.getDate())
31
31
  );
32
32
  }
33
+
34
+ static from(date: Date): LocalDate {
35
+ return new LocalDate(
36
+ new LocalDateProto().setYear(date.getFullYear()).setMonth(date.getMonth()).setDay(date.getDate())
37
+ );
38
+ }
33
39
  }
34
40
 
35
41
  export { LocalDate };
@@ -17,7 +17,7 @@ var ProtoSerializationUtil = /** @class */ (function () {
17
17
  if (obj instanceof Date) {
18
18
  return new local_date_pb_1.LocalDateProto()
19
19
  .setYear(obj.getFullYear())
20
- .setMonth(obj.getMonth() + 1)
20
+ .setMonth(obj.getMonth())
21
21
  .setDay(obj.getDate());
22
22
  }
23
23
  if (obj instanceof datetime_1.ZonedDateTime) {
@@ -33,7 +33,7 @@ var ProtoSerializationUtil = /** @class */ (function () {
33
33
  return uuid_1.UUID.fromU8Array(obj.getRawUuid_asU8());
34
34
  }
35
35
  if (obj instanceof local_date_pb_1.LocalDateProto) {
36
- var date = new Date(obj.getYear(), obj.getMonth() - 1, obj.getDay());
36
+ var date = new Date(obj.getYear(), obj.getMonth(), obj.getDay());
37
37
  date.setHours(0, 0, 0, 0);
38
38
  return date;
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;AAAA,qFAAqF;AACrF,+EAA+E;AAC/E,yFAAyF;AACzF,mEAAoE;AACpE,uCAA2C;AAC3C,+BAA8B;AAO9B;IAAA;IA0CA,CAAC;IAzCQ,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;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,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,kBAAkB,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,CAAA,uCAAuC;QACrD,CAAC;QACD,IAAI,GAAG,YAAY,oCAAiB,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,+CAAwC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACvF,CAAC;IACH,6BAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,wDAAsB"}
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;AAAA,qFAAqF;AACrF,+EAA+E;AAC/E,yFAAyF;AACzF,mEAAoE;AACpE,uCAA2C;AAC3C,+BAA8B;AAO9B;IAAA;IA0CA,CAAC;IAzCQ,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,CAAC;iBACxB,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;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,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACnE,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,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,kBAAkB,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,CAAA,uCAAuC;QACrD,CAAC;QACD,IAAI,GAAG,YAAY,oCAAiB,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,+CAAwC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACvF,CAAC;IACH,6BAAC;AAAD,CAAC,AA1CD,IA0CC;AA1CY,wDAAsB"}
@@ -18,7 +18,7 @@ export class ProtoSerializationUtil {
18
18
  if (obj instanceof Date) {
19
19
  return new LocalDateProto()
20
20
  .setYear(obj.getFullYear())
21
- .setMonth(obj.getMonth() + 1)
21
+ .setMonth(obj.getMonth())
22
22
  .setDay(obj.getDate());
23
23
  }
24
24
  if (obj instanceof ZonedDateTime) {
@@ -36,7 +36,7 @@ export class ProtoSerializationUtil {
36
36
  return UUID.fromU8Array(obj.getRawUuid_asU8());
37
37
  }
38
38
  if (obj instanceof LocalDateProto) {
39
- const date = new Date(obj.getYear(), obj.getMonth() - 1, obj.getDay());
39
+ const date = new Date(obj.getYear(), obj.getMonth(), obj.getDay());
40
40
  date.setHours(0, 0, 0, 0);
41
41
  return date;
42
42
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fintekkers/ledger-models",
3
3
  "todo": "Replace the version with build script version number",
4
- "version": "0.1.71",
4
+ "version": "0.1.72",
5
5
  "description": "ledger model protos ",
6
6
  "authors": [
7
7
  "David Doherty",
@@ -37,6 +37,6 @@
37
37
  "decimal.js": "^10.4.3",
38
38
  "dotenv": "^16.3.1",
39
39
  "luxon": "^3.3.0",
40
- "uuid": "^9.0.0"
40
+ "uuid": "^9.0.1"
41
41
  }
42
42
  }