@fintekkers/ledger-models 0.1.60 → 0.1.62

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.
Files changed (92) hide show
  1. package/babel.config.js +3 -1
  2. package/index.js +1 -15
  3. package/index.js.map +1 -1
  4. package/index.ts +1 -19
  5. package/jest.config.js +4 -0
  6. package/node/fintekkers/models/security/security_pb.test.js +29 -30
  7. package/node/fintekkers/models/security/security_pb.test.js.map +1 -0
  8. package/node/fintekkers/models/security/security_pb.test.ts +33 -0
  9. package/node/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +3 -0
  10. package/node/fintekkers/requests/transaction/query_transaction_request_pb.js +31 -1
  11. package/node/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +7 -0
  12. package/node/fintekkers/requests/transaction/query_transaction_response_pb.js +54 -1
  13. package/node/wrappers/models/position/position.js +14 -9
  14. package/node/wrappers/models/position/position.js.map +1 -1
  15. package/node/wrappers/models/position/position.test.js +43 -0
  16. package/node/wrappers/models/position/position.test.js.map +1 -0
  17. package/node/wrappers/models/position/position.test.ts +70 -0
  18. package/node/wrappers/models/position/position.ts +17 -10
  19. package/node/wrappers/models/security/security.js +1 -1
  20. package/node/wrappers/models/security/security.js.map +1 -1
  21. package/node/wrappers/models/security/security.ts +1 -1
  22. package/node/wrappers/models/transaction/transaction.js +12 -10
  23. package/node/wrappers/models/transaction/transaction.js.map +1 -1
  24. package/node/wrappers/models/transaction/transaction.test.js +26 -0
  25. package/node/wrappers/models/transaction/transaction.test.js.map +1 -0
  26. package/node/wrappers/models/transaction/transaction.test.ts +36 -0
  27. package/node/wrappers/models/transaction/transaction.ts +15 -13
  28. package/node/wrappers/models/transaction/transaction_type.js +44 -0
  29. package/node/wrappers/models/transaction/transaction_type.js.map +1 -0
  30. package/node/wrappers/models/transaction/transaction_type.ts +47 -0
  31. package/node/wrappers/models/utils/date.js +25 -0
  32. package/node/wrappers/models/utils/date.js.map +1 -0
  33. package/node/wrappers/models/utils/date.ts +31 -0
  34. package/node/wrappers/models/utils/datetime.js +4 -4
  35. package/node/wrappers/models/utils/datetime.js.map +1 -1
  36. package/node/wrappers/models/utils/datetime.ts +4 -4
  37. package/node/wrappers/models/utils/requestcontext.js +55 -0
  38. package/node/wrappers/models/utils/requestcontext.js.map +1 -0
  39. package/node/wrappers/models/utils/requestcontext.ts +44 -0
  40. package/node/wrappers/models/utils/requestcontext_d.js +1 -0
  41. package/node/wrappers/models/utils/requestcontext_d.js.map +1 -0
  42. package/node/wrappers/models/utils/requestcontext_d.ts +7 -0
  43. package/node/wrappers/models/utils/serialization.js +6 -4
  44. package/node/wrappers/models/utils/serialization.js.map +1 -1
  45. package/node/wrappers/models/utils/serialization.test.js +13 -54
  46. package/node/wrappers/models/utils/serialization.test.js.map +1 -1
  47. package/node/wrappers/models/utils/serialization.test.ts +12 -10
  48. package/node/wrappers/models/utils/serialization.ts +8 -8
  49. package/node/wrappers/models/utils/serialization.util.js +76 -0
  50. package/node/wrappers/models/utils/serialization.util.js.map +1 -0
  51. package/node/wrappers/models/utils/serialization.util.test.js +24 -0
  52. package/node/wrappers/models/utils/serialization.util.test.js.map +1 -0
  53. package/node/wrappers/models/utils/serialization.util.test.ts +29 -0
  54. package/node/wrappers/models/utils/serialization.util.ts +85 -0
  55. package/node/wrappers/services/portfolio-service/PortfolioService.js +5 -8
  56. package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -1
  57. package/node/wrappers/services/portfolio-service/PortfolioService.ts +5 -6
  58. package/node/wrappers/{portfolio.test.js → services/portfolio-service/portfolio.test.js} +12 -11
  59. package/node/wrappers/services/portfolio-service/portfolio.test.js.map +1 -0
  60. package/node/wrappers/services/portfolio-service/portfolio.test.ts +40 -0
  61. package/node/wrappers/services/position-service/PositionService.js +4 -6
  62. package/node/wrappers/services/position-service/PositionService.js.map +1 -1
  63. package/node/wrappers/services/position-service/PositionService.ts +4 -22
  64. package/node/wrappers/{position.test.js → services/position-service/position.test.js} +28 -22
  65. package/node/wrappers/services/position-service/position.test.js.map +1 -0
  66. package/node/wrappers/{position.test.ts → services/position-service/position.test.ts} +25 -29
  67. package/node/wrappers/services/security-service/SecurityService.js +4 -8
  68. package/node/wrappers/services/security-service/SecurityService.js.map +1 -1
  69. package/node/wrappers/services/security-service/SecurityService.ts +3 -6
  70. package/node/wrappers/{security.test.js → services/security-service/security.test.js} +26 -19
  71. package/node/wrappers/services/security-service/security.test.js.map +1 -0
  72. package/node/wrappers/{security.test.ts → services/security-service/security.test.ts} +22 -20
  73. package/node/wrappers/services/transaction-service/TransactionService.js +40 -50
  74. package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
  75. package/node/wrappers/services/transaction-service/TransactionService.ts +13 -15
  76. package/node/wrappers/{transaction.test.js → services/transaction-service/transaction.test.js} +41 -25
  77. package/node/wrappers/services/transaction-service/transaction.test.js.map +1 -0
  78. package/node/wrappers/services/transaction-service/transaction.test.ts +97 -0
  79. package/package.json +4 -2
  80. package/web/fintekkers/requests/transaction/query_transaction_request_pb.d.ts +4 -0
  81. package/web/fintekkers/requests/transaction/query_transaction_request_pb.js +31 -1
  82. package/web/fintekkers/requests/transaction/query_transaction_response_pb.d.ts +7 -0
  83. package/web/fintekkers/requests/transaction/query_transaction_response_pb.js +54 -1
  84. package/node/wrappers/models/utils/util.js +0 -28
  85. package/node/wrappers/models/utils/util.js.map +0 -1
  86. package/node/wrappers/models/utils/util.ts +0 -28
  87. package/node/wrappers/portfolio.test.js.map +0 -1
  88. package/node/wrappers/portfolio.test.ts +0 -36
  89. package/node/wrappers/position.test.js.map +0 -1
  90. package/node/wrappers/security.test.js.map +0 -1
  91. package/node/wrappers/transaction.test.js.map +0 -1
  92. package/node/wrappers/transaction.test.ts +0 -90
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["transaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
4
+ var uuid_1 = require("../utils/uuid");
5
+ var assert = require("assert");
6
+ var transaction_1 = require("./transaction");
7
+ var transaction_pb_1 = require("../../../fintekkers/models/transaction/transaction_pb");
8
+ var transaction_type_pb_1 = require("../../../fintekkers/models/transaction/transaction_type_pb");
9
+ var decimal_value_pb_1 = require("../../../fintekkers/models/util/decimal_value_pb");
10
+ test('test the transaction wrapper', function () {
11
+ testSerialization();
12
+ });
13
+ function testSerialization() {
14
+ var transaction = dummyTransaction();
15
+ assert(transaction.getTransactionType().toString() === 'BUY');
16
+ assert(transaction.getDirectedQuantity().toNumber() > 0);
17
+ }
18
+ function dummyTransaction() {
19
+ return new transaction_1.default(new transaction_pb_1.TransactionProto()
20
+ .setObjectClass('Transaction').setVersion('0.0.1').setUuid(uuid_1.UUID.random().toUUIDProto())
21
+ .setTradeDate(new local_date_pb_1.LocalDateProto().setYear(2021).setMonth(1).setDay(1))
22
+ .setTransactionType(transaction_type_pb_1.TransactionTypeProto.BUY)
23
+ .setQuantity(new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue('1000.00'))
24
+ .setSettlementDate(new local_date_pb_1.LocalDateProto().setYear(2021).setMonth(1).setDay(1)));
25
+ }
26
+ //# sourceMappingURL=transaction.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.test.js","sourceRoot":"","sources":["transaction.test.ts"],"names":[],"mappings":";;AAAA,+EAA+E;AAG/E,sCAAqC;AAErC,+BAAkC;AAClC,6CAAwC;AACxC,wFAAyF;AACzF,kGAAkG;AAIlG,qFAAqF;AAGrF,IAAI,CAAC,8BAA8B,EAAE;IACjC,iBAAiB,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,SAAS,iBAAiB;IACtB,IAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC;IAEvC,MAAM,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,gBAAgB;IAErB,OAAO,IAAI,qBAAW,CAAC,IAAI,iCAAgB,EAAE;SAC5C,cAAc,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;SACtF,YAAY,CAAC,IAAI,8BAAc,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtE,kBAAkB,CAAC,0CAAoB,CAAC,GAAG,CAAC;SAC5C,WAAW,CAAC,IAAI,oCAAiB,EAAE,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;SAC1E,iBAAiB,CAAC,IAAI,8BAAc,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { LocalDateProto } from '../../../fintekkers/models/util/local_date_pb';
2
+ import { UUIDProto } from '../../../fintekkers/models/util/uuid_pb';
3
+ import { ProtoSerializationUtil } from '../utils/serialization';
4
+ import { UUID } from '../utils/uuid';
5
+
6
+ import assert = require('assert');
7
+ import Transaction from './transaction';
8
+ import { TransactionProto } from '../../../fintekkers/models/transaction/transaction_pb';
9
+ import { TransactionTypeProto } from '../../../fintekkers/models/transaction/transaction_type_pb';
10
+ import { LocalTimestampProto } from '../../../fintekkers/models/util/local_timestamp_pb';
11
+
12
+ import { Timestamp } from '@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp';
13
+ import { DecimalValueProto } from '../../../fintekkers/models/util/decimal_value_pb';
14
+ import { PriceProto } from '../../../fintekkers/models/price/price_pb';
15
+
16
+ test('test the transaction wrapper', () => {
17
+ testSerialization();
18
+ });
19
+
20
+ function testSerialization(): void {
21
+ const transaction = dummyTransaction();
22
+
23
+ assert(transaction.getTransactionType().toString() === 'BUY');
24
+ assert(transaction.getDirectedQuantity().toNumber() > 0);
25
+ }
26
+
27
+ function dummyTransaction() {
28
+
29
+ return new Transaction(new TransactionProto()
30
+ .setObjectClass('Transaction').setVersion('0.0.1').setUuid(UUID.random().toUUIDProto())
31
+ .setTradeDate(new LocalDateProto().setYear(2021).setMonth(1).setDay(1))
32
+ .setTransactionType(TransactionTypeProto.BUY)
33
+ .setQuantity(new DecimalValueProto().setArbitraryPrecisionValue('1000.00'))
34
+ .setSettlementDate(new LocalDateProto().setYear(2021).setMonth(1).setDay(1)));
35
+ }
36
+
@@ -3,6 +3,7 @@ import { FieldProto } from "../../../fintekkers/models/position/field_pb";
3
3
  import { PositionStatusProto } from "../../../fintekkers/models/position/position_status_pb";
4
4
  import { PriceProto } from "../../../fintekkers/models/price/price_pb";
5
5
  import { IdentifierProto } from "../../../fintekkers/models/security/identifier/identifier_pb";
6
+ import { TransactionType } from "./transaction_type";
6
7
  import { StrategyAllocationProto } from "../../../fintekkers/models/strategy/strategy_allocation_pb";
7
8
  import { TransactionProto } from "../../../fintekkers/models/transaction/transaction_pb";
8
9
  import { TransactionTypeProto } from "../../../fintekkers/models/transaction/transaction_type_pb";
@@ -10,6 +11,7 @@ import { LocalDateProto } from "../../../fintekkers/models/util/local_date_pb";
10
11
  import Security from "../security/security";
11
12
  import { ZonedDateTime } from "../utils/datetime";
12
13
  import { UUID } from "../utils/uuid";
14
+ import { LocalDate } from "../utils/date";
13
15
  import { Decimal } from "decimal.js";
14
16
 
15
17
  class Transaction {
@@ -34,11 +36,11 @@ class Transaction {
34
36
  }
35
37
  }
36
38
 
37
- get_fields(): FieldProto[] {
39
+ getFields(): FieldProto[] {
38
40
  return [FieldProto.ID, FieldProto.SECURITY_ID, FieldProto.AS_OF, FieldProto.ASSET_CLASS, FieldProto.IDENTIFIER];
39
41
  }
40
42
 
41
- get_field(field: FieldProto): any {
43
+ getField(field: FieldProto): any {
42
44
  switch (field) {
43
45
  case FieldProto.ID:
44
46
  case FieldProto.SECURITY_ID:
@@ -88,10 +90,6 @@ class Transaction {
88
90
  return this.proto.getPrice();
89
91
  }
90
92
 
91
- getSettlementDate(): LocalDateProto {
92
- return this.proto.getSettlementDate();
93
- }
94
-
95
93
  getQuantity(): Decimal {
96
94
  return new Decimal(this.proto.getQuantity().getArbitraryPrecisionValue());
97
95
  }
@@ -100,16 +98,20 @@ class Transaction {
100
98
  return this.getSecurity().getIssuerName();
101
99
  }
102
100
 
103
- // public BigDecimal getDirectedQuantity() {
104
- // return quantity.multiply(transactionType.getDirectionMultiplier());
105
- // }
101
+ getDirectedQuantity(): Decimal {
102
+ return this.getQuantity().mul(this.getTransactionType().getDirectionMultiplier());
103
+ }
104
+
105
+ getTradeDate(): LocalDate {
106
+ return new LocalDate(this.proto.getTradeDate());
107
+ }
106
108
 
107
- getTradeDate(): LocalDateProto {
108
- return this.proto.getTradeDate();
109
+ getSettlementDate() : LocalDate {
110
+ return new LocalDate(this.proto.getSettlementDate());
109
111
  }
110
112
 
111
- getTransactionType() : TransactionTypeProto {
112
- return this.getTransactionType();
113
+ getTransactionType() : TransactionType {
114
+ return new TransactionType(this.proto.getTransactionType());
113
115
  }
114
116
 
115
117
  getTradeName(): string {
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionType = void 0;
4
+ var transaction_type_pb_1 = require("../../../fintekkers/models/transaction/transaction_type_pb");
5
+ var TransactionType = /** @class */ (function () {
6
+ function TransactionType(proto) {
7
+ this.proto = proto;
8
+ }
9
+ TransactionType.prototype.getDirectionMultiplier = function () {
10
+ switch (this.proto) {
11
+ case transaction_type_pb_1.TransactionTypeProto.BUY:
12
+ case transaction_type_pb_1.TransactionTypeProto.DEPOSIT:
13
+ case transaction_type_pb_1.TransactionTypeProto.MATURATION_OFFSET:
14
+ return 1;
15
+ case transaction_type_pb_1.TransactionTypeProto.SELL:
16
+ case transaction_type_pb_1.TransactionTypeProto.WITHDRAWAL:
17
+ case transaction_type_pb_1.TransactionTypeProto.MATURATION:
18
+ return -1;
19
+ case transaction_type_pb_1.TransactionTypeProto.UNKNOWN:
20
+ throw new Error('Unknown transaction type: ' + this.toString());
21
+ }
22
+ };
23
+ /**
24
+ * NOTE that this method is not performant and should only be used for debugging purposes,
25
+ * or infrequently. If this is required for a high performance use case, please create a
26
+ * reverse map with the enum ID as the key and the enum desriptor as the value. There is
27
+ * nothing stopping this code from returning a value that does not map exactly to the enum
28
+ * value. E.g. rather than BUY, you could return Buy.
29
+ *
30
+ * @returns TransactionType as a string
31
+ */
32
+ TransactionType.prototype.toString = function () {
33
+ return TransactionType.ttEnumMap.get(this.proto);
34
+ };
35
+ return TransactionType;
36
+ }());
37
+ exports.TransactionType = TransactionType;
38
+ (function () {
39
+ TransactionType.ttEnumMap = new Map();
40
+ Object.keys(transaction_type_pb_1.TransactionTypeProto).forEach(function (key) {
41
+ TransactionType.ttEnumMap.set(transaction_type_pb_1.TransactionTypeProto[key], key);
42
+ });
43
+ })();
44
+ //# sourceMappingURL=transaction_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction_type.js","sourceRoot":"","sources":["transaction_type.ts"],"names":[],"mappings":";;;AAAA,kGAAkG;AAElG;IAGI,yBAAY,KAA2B;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAYH,gDAAsB,GAAtB;QACI,QAAQ,IAAI,CAAC,KAAK,EAAE;YAChB,KAAK,0CAAoB,CAAC,GAAG,CAAC;YAC9B,KAAK,0CAAoB,CAAC,OAAO,CAAC;YAClC,KAAK,0CAAoB,CAAC,iBAAiB;gBACvC,OAAO,CAAC,CAAC;YACb,KAAK,0CAAoB,CAAC,IAAI,CAAC;YAC/B,KAAK,0CAAoB,CAAC,UAAU,CAAC;YACrC,KAAK,0CAAoB,CAAC,UAAU;gBAChC,OAAO,CAAC,CAAC,CAAC;YACd,KAAK,0CAAoB,CAAC,OAAO;gBAC7B,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACrE;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,kCAAQ,GAAR;QACE,OAAO,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IACL,sBAAC;AAAD,CAAC,AA5CD,IA4CC;AA5CY,0CAAe;AASxB;IACI,eAAe,CAAC,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEtD,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;QACzC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,0CAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACP,CAAC,GAAA,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { TransactionTypeProto } from "../../../fintekkers/models/transaction/transaction_type_pb";
2
+
3
+ export class TransactionType {
4
+ proto: TransactionTypeProto;
5
+
6
+ constructor(proto: TransactionTypeProto) {
7
+ this.proto = proto;
8
+ }
9
+
10
+ static ttEnumMap: Map<number, string>;
11
+
12
+ static {
13
+ TransactionType.ttEnumMap = new Map<number, string>();
14
+
15
+ Object.keys(TransactionTypeProto).forEach(key => {
16
+ TransactionType.ttEnumMap.set(TransactionTypeProto[key], key);
17
+ });
18
+ }
19
+
20
+ getDirectionMultiplier(): number {
21
+ switch (this.proto) {
22
+ case TransactionTypeProto.BUY:
23
+ case TransactionTypeProto.DEPOSIT:
24
+ case TransactionTypeProto.MATURATION_OFFSET:
25
+ return 1;
26
+ case TransactionTypeProto.SELL:
27
+ case TransactionTypeProto.WITHDRAWAL:
28
+ case TransactionTypeProto.MATURATION:
29
+ return -1;
30
+ case TransactionTypeProto.UNKNOWN:
31
+ throw new Error('Unknown transaction type: '+this.toString());
32
+ }
33
+ }
34
+
35
+ /**
36
+ * NOTE that this method is not performant and should only be used for debugging purposes,
37
+ * or infrequently. If this is required for a high performance use case, please create a
38
+ * reverse map with the enum ID as the key and the enum desriptor as the value. There is
39
+ * nothing stopping this code from returning a value that does not map exactly to the enum
40
+ * value. E.g. rather than BUY, you could return Buy.
41
+ *
42
+ * @returns TransactionType as a string
43
+ */
44
+ toString() : string {
45
+ return TransactionType.ttEnumMap.get(this.proto);
46
+ }
47
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalDate = void 0;
4
+ var local_date_pb_1 = require("../../../fintekkers/models/util/local_date_pb");
5
+ var LocalDate = /** @class */ (function () {
6
+ function LocalDate(proto) {
7
+ this.proto = proto;
8
+ }
9
+ LocalDate.prototype.toDate = function () {
10
+ return new Date(this.proto.getYear(), this.proto.getMonth(), this.proto.getDay());
11
+ };
12
+ LocalDate.prototype.toString = function () {
13
+ return this.proto.getYear() + '-' + this.proto.getMonth() + '-' + this.proto.getDay();
14
+ };
15
+ LocalDate.prototype.toProto = function () {
16
+ return this.proto;
17
+ };
18
+ LocalDate.today = function () {
19
+ var today = new Date();
20
+ return new LocalDate(new local_date_pb_1.LocalDateProto().setYear(today.getFullYear()).setMonth(today.getMonth()).setDay(today.getDate()));
21
+ };
22
+ return LocalDate;
23
+ }());
24
+ exports.LocalDate = LocalDate;
25
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["date.ts"],"names":[],"mappings":";;;AACA,+EAA+E;AAE/E;IAGE,mBAAY,KAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,0BAAM,GAAN;QACE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACpF,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,AAzBD,IAyBC;AAEQ,8BAAS"}
@@ -0,0 +1,31 @@
1
+ import { assert } from 'console';
2
+ import { LocalDateProto } from '../../../fintekkers/models/util/local_date_pb';
3
+
4
+ class LocalDate {
5
+ private proto: LocalDateProto;
6
+
7
+ constructor(proto: LocalDateProto) {
8
+ this.proto = proto;
9
+ }
10
+
11
+ toDate(): Date {
12
+ return new Date(this.proto.getYear(), this.proto.getMonth(), this.proto.getDay());
13
+ }
14
+
15
+ toString(): string {
16
+ return this.proto.getYear() + '-' + this.proto.getMonth() + '-' + this.proto.getDay();
17
+ }
18
+
19
+ toProto(): LocalDateProto {
20
+ return this.proto;
21
+ }
22
+
23
+ static today(): LocalDate {
24
+ const today = new Date();
25
+ return new LocalDate(
26
+ new LocalDateProto().setYear(today.getFullYear()).setMonth(today.getMonth()).setDay(today.getDate())
27
+ );
28
+ }
29
+ }
30
+
31
+ export { LocalDate };
@@ -9,7 +9,7 @@ var ZonedDateTime = /** @class */ (function () {
9
9
  function ZonedDateTime(proto) {
10
10
  this.proto = proto;
11
11
  }
12
- ZonedDateTime.prototype.to_datetime = function () {
12
+ ZonedDateTime.prototype.toDateTime = function () {
13
13
  // Creating a DateTime object with the current date and time in a specific time zone (e.g., 'America/New_York')
14
14
  var unixTimestampSeconds = this.proto.getTimestamp().getSeconds();
15
15
  var nanoseconds = this.proto.getTimestamp().getNanos();
@@ -19,9 +19,9 @@ var ZonedDateTime = /** @class */ (function () {
19
19
  return dateTime;
20
20
  };
21
21
  ZonedDateTime.prototype.toString = function () {
22
- return this.to_datetime().toString();
22
+ return this.toDateTime().toString();
23
23
  };
24
- ZonedDateTime.prototype.to_date_proto = function () {
24
+ ZonedDateTime.prototype.toProto = function () {
25
25
  return this.proto;
26
26
  };
27
27
  ZonedDateTime.now = function () {
@@ -59,5 +59,5 @@ exports.ZonedDateTime = ZonedDateTime;
59
59
  // }
60
60
  // ZonedDateTime.now = createTimestampWithCurrentTime;
61
61
  var now = ZonedDateTime.now();
62
- (0, console_1.assert)(now.to_datetime().toString() === now.toString());
62
+ (0, console_1.assert)(now.toDateTime().toString() === now.toString());
63
63
  //# sourceMappingURL=datetime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.js","sourceRoot":"","sources":["datetime.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AACjC,yFAAyF;AACzF,6EAAyE;AACzE,+BAAiC;AAEjC;IAGE,uBAAY,KAA0B;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,mCAAW,GAAX;QACE,+GAA+G;QAC/G,IAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpE,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC;QAEzD,IAAI,QAAQ,GAAG,gBAAQ,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAE9F,gDAAgD;QAChD,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gCAAQ,GAAR;QACE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED,qCAAa,GAAb;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,iBAAG,GAAV;QACE,8EAA8E;QAC9E,IAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAErC,kDAAkD;QAClD,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;QACrD,IAAM,KAAK,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,kCAAkC;QAElF,sDAAsD;QACtD,IAAM,SAAS,GAAG,IAAI,wBAAS,EAAE,CAAC;QAClC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAM,cAAc,GAAG,IAAI,wCAAmB,EAAE,CAAC;QACjD,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC/C,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEvC,OAAO,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IACH,oBAAC;AAAD,CAAC,AA9CD,IA8CC;AA0BQ,sCAAa;AAxBtB,6DAA6D;AAC7D,mFAAmF;AACnF,0CAA0C;AAE1C,uDAAuD;AACvD,0DAA0D;AAC1D,uFAAuF;AAEvF,2DAA2D;AAC3D,uCAAuC;AACvC,mCAAmC;AACnC,+BAA+B;AAE/B,sDAAsD;AACtD,oDAAoD;AACpD,4CAA4C;AAE5C,8CAA8C;AAC9C,IAAI;AAEJ,sDAAsD;AACtD,IAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;AAChC,IAAA,gBAAM,EAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"datetime.js","sourceRoot":"","sources":["datetime.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AACjC,yFAAyF;AACzF,6EAAyE;AACzE,+BAAiC;AAEjC;IAGE,uBAAY,KAA0B;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,kCAAU,GAAV;QACE,+GAA+G;QAC/G,IAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpE,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC;QAEzD,IAAI,QAAQ,GAAG,gBAAQ,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAE9F,gDAAgD;QAChD,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gCAAQ,GAAR;QACE,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IAED,+BAAO,GAAP;QACE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,iBAAG,GAAV;QACE,8EAA8E;QAC9E,IAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAErC,kDAAkD;QAClD,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;QACrD,IAAM,KAAK,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,kCAAkC;QAElF,sDAAsD;QACtD,IAAM,SAAS,GAAG,IAAI,wBAAS,EAAE,CAAC;QAClC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAM,cAAc,GAAG,IAAI,wCAAmB,EAAE,CAAC;QACjD,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC/C,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEvC,OAAO,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IACH,oBAAC;AAAD,CAAC,AA9CD,IA8CC;AA0BQ,sCAAa;AAxBtB,6DAA6D;AAC7D,mFAAmF;AACnF,0CAA0C;AAE1C,uDAAuD;AACvD,0DAA0D;AAC1D,uFAAuF;AAEvF,2DAA2D;AAC3D,uCAAuC;AACvC,mCAAmC;AACnC,+BAA+B;AAE/B,sDAAsD;AACtD,oDAAoD;AACpD,4CAA4C;AAE5C,8CAA8C;AAC9C,IAAI;AAEJ,sDAAsD;AACtD,IAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;AAChC,IAAA,gBAAM,EAAC,GAAG,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC"}
@@ -10,7 +10,7 @@ class ZonedDateTime {
10
10
  this.proto = proto;
11
11
  }
12
12
 
13
- to_datetime(): DateTime {
13
+ toDateTime(): DateTime {
14
14
  // Creating a DateTime object with the current date and time in a specific time zone (e.g., 'America/New_York')
15
15
  const unixTimestampSeconds = this.proto.getTimestamp().getSeconds();
16
16
  const nanoseconds = this.proto.getTimestamp().getNanos();
@@ -23,10 +23,10 @@ class ZonedDateTime {
23
23
  }
24
24
 
25
25
  toString(): string {
26
- return this.to_datetime().toString();
26
+ return this.toDateTime().toString();
27
27
  }
28
28
 
29
- to_date_proto(): LocalTimestampProto {
29
+ toProto(): LocalTimestampProto {
30
30
  return this.proto;
31
31
  }
32
32
 
@@ -73,6 +73,6 @@ class ZonedDateTime {
73
73
 
74
74
  // ZonedDateTime.now = createTimestampWithCurrentTime;
75
75
  const now = ZonedDateTime.now();
76
- assert(now.to_datetime().toString() === now.toString());
76
+ assert(now.toDateTime().toString() === now.toString());
77
77
 
78
78
  export { ZonedDateTime };
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var dotenv = require("dotenv");
4
+ dotenv.config();
5
+ var grpc = require("@grpc/grpc-js");
6
+ var EnvConfig = /** @class */ (function () {
7
+ function EnvConfig() {
8
+ }
9
+ EnvConfig.getEnvVar = function (key, defaultValue) {
10
+ var value = process.env[key];
11
+ if (value === undefined) {
12
+ if (defaultValue === undefined) {
13
+ throw new Error("Environment variable ".concat(key, " is not set."));
14
+ }
15
+ return defaultValue;
16
+ }
17
+ return value;
18
+ };
19
+ Object.defineProperty(EnvConfig, "apiKey", {
20
+ get: function () {
21
+ throw new Error("API keys not supported currently.");
22
+ // return EnvConfig.getEnvVar('API_KEY');
23
+ },
24
+ enumerable: false,
25
+ configurable: true
26
+ });
27
+ Object.defineProperty(EnvConfig, "apiURL", {
28
+ /**
29
+ * Returns the URL for the backend GRPC service. It will default to
30
+ * api.fintekkers.org if the environment variable is not set. You
31
+ * cann set the environment variable by adding API_URL to your .env file.
32
+ */
33
+ get: function () {
34
+ var url = EnvConfig.getEnvVar('API_URL', "api.fintekkers.org") + ":8082";
35
+ return url;
36
+ },
37
+ enumerable: false,
38
+ configurable: true
39
+ });
40
+ Object.defineProperty(EnvConfig, "apiCredentials", {
41
+ get: function () {
42
+ if (this.apiURL === "localhost:8082") {
43
+ return grpc.credentials.createInsecure();
44
+ }
45
+ else {
46
+ return grpc.credentials.createSsl();
47
+ }
48
+ },
49
+ enumerable: false,
50
+ configurable: true
51
+ });
52
+ return EnvConfig;
53
+ }());
54
+ exports.default = EnvConfig;
55
+ //# sourceMappingURL=requestcontext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestcontext.js","sourceRoot":"","sources":["requestcontext.ts"],"names":[],"mappings":";;AAAA,+BAAiC;AACjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,oCAAsC;AAEtC;IAAA;IAoCA,CAAC;IAnCkB,mBAAS,GAAxB,UAAyB,GAAW,EAAE,YAAqB;QACvD,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,+BAAwB,GAAG,iBAAc,CAAC,CAAC;aAC5D;YACD,OAAO,YAAY,CAAC;SACrB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEL,sBAAW,mBAAM;aAAjB;YACE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACpD,yCAAyC;QAC3C,CAAC;;;OAAA;IAOD,sBAAW,mBAAM;QALjB;;;;WAIG;aACH;YACE,IAAM,GAAG,GAAU,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,oBAAoB,CAAC,GAAG,OAAO,CAAC;YAClF,OAAO,GAAG,CAAC;QACb,CAAC;;;OAAA;IAED,sBAAW,2BAAc;aAAzB;YACE,IAAG,IAAI,CAAC,MAAM,KAAK,gBAAgB,EAAC;gBAChC,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;aAC5C;iBACI;gBACD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;aACvC;QACH,CAAC;;;OAAA;IAEH,gBAAC;AAAD,CAAC,AApCD,IAoCC;AAED,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,44 @@
1
+ import * as dotenv from 'dotenv';
2
+ dotenv.config();
3
+
4
+ import * as grpc from '@grpc/grpc-js';
5
+
6
+ class EnvConfig {
7
+ private static getEnvVar(key: string, defaultValue?: string): string {
8
+ const value = process.env[key];
9
+ if (value === undefined) {
10
+ if (defaultValue === undefined) {
11
+ throw new Error(`Environment variable ${key} is not set.`);
12
+ }
13
+ return defaultValue;
14
+ }
15
+ return value;
16
+ }
17
+
18
+ static get apiKey(): string {
19
+ throw new Error("API keys not supported currently.")
20
+ // return EnvConfig.getEnvVar('API_KEY');
21
+ }
22
+
23
+ /**
24
+ * Returns the URL for the backend GRPC service. It will default to
25
+ * api.fintekkers.org if the environment variable is not set. You
26
+ * cann set the environment variable by adding API_URL to your .env file.
27
+ */
28
+ static get apiURL(): string {
29
+ const url:string = EnvConfig.getEnvVar('API_URL', "api.fintekkers.org") + ":8082";
30
+ return url;
31
+ }
32
+
33
+ static get apiCredentials(): grpc.ChannelCredentials {
34
+ if(this.apiURL === "localhost:8082"){
35
+ return grpc.credentials.createInsecure();
36
+ }
37
+ else {
38
+ return grpc.credentials.createSsl();
39
+ }
40
+ }
41
+
42
+ }
43
+
44
+ export default EnvConfig;
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=requestcontext_d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestcontext_d.js","sourceRoot":"","sources":["requestcontext_d.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ declare namespace NodeJS {
2
+ interface ProcessEnv {
3
+ API_KEY: string;
4
+ PORT: string;
5
+ // Add more variables here
6
+ }
7
+ }
@@ -14,9 +14,9 @@ var ProtoSerializationUtil = /** @class */ (function () {
14
14
  }
15
15
  if (obj instanceof Date) {
16
16
  return new local_date_pb_1.LocalDateProto()
17
- .setYear(obj.getUTCFullYear())
18
- .setMonth(obj.getUTCMonth() + 1)
19
- .setDay(obj.getUTCDate());
17
+ .setYear(obj.getFullYear())
18
+ .setMonth(obj.getMonth() + 1)
19
+ .setDay(obj.getDate());
20
20
  }
21
21
  if (typeof obj === "number") {
22
22
  return new decimal_value_pb_1.DecimalValueProto().setArbitraryPrecisionValue(obj.toString());
@@ -28,7 +28,9 @@ var ProtoSerializationUtil = /** @class */ (function () {
28
28
  return uuid_1.UUID.fromU8Array(obj.getRawUuid_asU8());
29
29
  }
30
30
  if (obj instanceof local_date_pb_1.LocalDateProto) {
31
- return new Date(Date.UTC(obj.getYear(), obj.getMonth() - 1, obj.getDay()));
31
+ var date = new Date(obj.getYear(), obj.getMonth() - 1, obj.getDay());
32
+ date.setHours(0, 0, 0, 0);
33
+ return date;
32
34
  }
33
35
  if (obj.enum_name && obj.enum_name === "TRANSACTION_TYPE") {
34
36
  return null; // new TransactionType(obj.enum_value);
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;AAAA,qFAAqF;AACrF,+EAA+E;AAE/E,mEAAoE;AACpE,+BAA8B;AAQ5B;IAAA;IAkCA,CAAC;IAjCQ,gCAAS,GAAhB,UAAiB,GAAQ;QACvB,IAAI,GAAG,YAAY,WAAI,EAAE;YACvB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;SAC1B;QACD,IAAI,GAAG,YAAY,IAAI,EAAE;YACvB,OAAO,IAAI,8BAAc,EAAE;iBACtB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;iBAC7B,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;iBAC/B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;SAC/B;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,OAAO,IAAI,oCAAiB,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3E;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;YAC5B,OAAO,WAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;SAChD;QACD,IAAI,GAAG,YAAY,8BAAc,EAAE;YACjC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC5E;QACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,kBAAkB,EAAE;YACzD,OAAO,IAAI,CAAC,CAAA,uCAAuC;SACpD;QACD,IAAI,GAAG,YAAY,oCAAiB,EAAE;YACpC,OAAO,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC;SACrD;QAED,MAAM,IAAI,KAAK,CAAC,+CAAwC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACvF,CAAC;IACH,6BAAC;AAAD,CAAC,AAlCD,IAkCC;AAlCY,wDAAsB"}
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;AAAA,qFAAqF;AACrF,+EAA+E;AAC/E,mEAAoE;AACpE,+BAA8B;AAO5B;IAAA;IAoCA,CAAC;IAnCQ,gCAAS,GAAhB,UAAiB,GAAQ;QACvB,IAAI,GAAG,YAAY,WAAI,EAAE;YACvB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;SAC1B;QACD,IAAI,GAAG,YAAY,IAAI,EAAE;YACvB,OAAO,IAAI,8BAAc,EAAE;iBACtB,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;SAC5B;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,OAAO,IAAI,oCAAiB,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC3E;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;YAC5B,OAAO,WAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;SAChD;QACD,IAAI,GAAG,YAAY,8BAAc,EAAE;YACjC,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,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,kBAAkB,EAAE;YACzD,OAAO,IAAI,CAAC,CAAA,uCAAuC;SACpD;QACD,IAAI,GAAG,YAAY,oCAAiB,EAAE;YACpC,OAAO,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC;SACrD;QAED,MAAM,IAAI,KAAK,CAAC,+CAAwC,OAAO,GAAG,sBAAY,GAAG,CAAE,CAAC,CAAC;IACvF,CAAC;IACH,6BAAC;AAAD,CAAC,AApCD,IAoCC;AApCY,wDAAsB"}
@@ -1,64 +1,23 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.testSerialization = void 0;
40
3
  var serialization_1 = require("./serialization");
41
4
  var uuid_1 = require("./uuid");
42
5
  var assert = require("assert");
6
+ test('test serialization of key types', function () {
7
+ testSerialization();
8
+ });
43
9
  function testSerialization() {
44
- return __awaiter(this, void 0, void 0, function () {
45
- var serializedDate, deserializedDate, obj, serializedTimestamp, deserializedTimestamp;
46
- return __generator(this, function (_a) {
47
- checkUUID();
48
- serializedDate = serialization_1.ProtoSerializationUtil.serialize(new Date());
49
- console.log(serializedDate);
50
- deserializedDate = serialization_1.ProtoSerializationUtil.deserialize(serializedDate);
51
- console.log(deserializedDate);
52
- obj = new Date();
53
- serializedTimestamp = serialization_1.ProtoSerializationUtil.serialize(obj);
54
- console.log(serializedTimestamp);
55
- deserializedTimestamp = serialization_1.ProtoSerializationUtil.deserialize(serializedTimestamp);
56
- console.log(deserializedTimestamp);
57
- return [2 /*return*/];
58
- });
59
- });
10
+ checkUUID();
11
+ var march2023 = new Date(2023, 2, 5); //Month is zero-indexed, so 2 == March.
12
+ var serializedDate = serialization_1.ProtoSerializationUtil.serialize(march2023);
13
+ assert(serializedDate.toString().indexOf('2023,3,5') > -1);
14
+ var deserializedDate = serialization_1.ProtoSerializationUtil.deserialize(serializedDate);
15
+ assert(deserializedDate.toString().indexOf('Mar 05 2023') > -1);
16
+ var serializedTimestamp = serialization_1.ProtoSerializationUtil.serialize(march2023);
17
+ assert(serializedTimestamp.toString().indexOf('2023,3,5') > -1);
18
+ var deserializedTimestamp = serialization_1.ProtoSerializationUtil.deserialize(serializedTimestamp);
19
+ assert(deserializedTimestamp.toString().indexOf('Mar 05 2023') > -1);
60
20
  }
61
- exports.testSerialization = testSerialization;
62
21
  function checkUUID() {
63
22
  var uuid = uuid_1.UUID.random();
64
23
  var serializedUUID = serialization_1.ProtoSerializationUtil.serialize(uuid);
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["serialization.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iDAAyD;AACzD,+BAA8B;AAE9B,+BAAkC;AAElC,SAAe,iBAAiB;;;;YAC5B,SAAS,EAAE,CAAC;YAEN,cAAc,GAAQ,sCAAsB,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAEtB,gBAAgB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAExB,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACjB,mBAAmB,GAAQ,sCAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAE3B,qBAAqB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;YAC3F,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;;;;CACtC;AAEQ,8CAAiB;AAE1B,SAAS,SAAS;IACd,IAAM,IAAI,GAAS,WAAI,CAAC,MAAM,EAAE,CAAC;IACjC,IAAM,cAAc,GAAc,sCAAsB,CAAC,SAAS,CAAC,IAAI,CAAc,CAAC;IACtF,IAAM,QAAQ,GAAS,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAS,CAAC;IAElF,IAAM,UAAU,GAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,IAAM,cAAc,GAAW,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAEnD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACzC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["serialization.test.ts"],"names":[],"mappings":";;AAEA,iDAAyD;AACzD,+BAA8B;AAE9B,+BAAkC;AAClC,IAAI,CAAC,iCAAiC,EAAE;IACpC,iBAAiB,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,SAAS,iBAAiB;IACtB,SAAS,EAAE,CAAC;IAEZ,IAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,uCAAuC;IAC/E,IAAM,cAAc,GAAQ,sCAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3D,IAAM,gBAAgB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACjF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAM,mBAAmB,GAAQ,sCAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7E,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAM,qBAAqB,GAAQ,sCAAsB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAC3F,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,SAAS;IACd,IAAM,IAAI,GAAS,WAAI,CAAC,MAAM,EAAE,CAAC;IACjC,IAAM,cAAc,GAAc,sCAAsB,CAAC,SAAS,CAAC,IAAI,CAAc,CAAC;IACtF,IAAM,QAAQ,GAAS,sCAAsB,CAAC,WAAW,CAAC,cAAc,CAAS,CAAC;IAElF,IAAM,UAAU,GAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,IAAM,cAAc,GAAW,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAEnD,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACzC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AACzD,CAAC"}