@fintekkers/ledger-models 0.1.115 → 0.1.117
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.d.ts +3 -1
- package/node/wrappers/models/position/position.js +21 -4
- package/node/wrappers/models/position/position.js.map +1 -1
- package/node/wrappers/models/position/position.test.js +25 -3
- package/node/wrappers/models/position/position.test.js.map +1 -1
- package/node/wrappers/models/position/position.test.ts +32 -4
- package/node/wrappers/models/position/position.ts +23 -6
- package/node/wrappers/models/position/positionfilter.d.ts +2 -0
- package/node/wrappers/models/position/positionfilter.js +9 -0
- package/node/wrappers/models/position/positionfilter.js.map +1 -1
- package/node/wrappers/models/position/positionfilter.test.d.ts +1 -0
- package/node/wrappers/models/position/positionfilter.test.js +132 -0
- package/node/wrappers/models/position/positionfilter.test.js.map +1 -0
- package/node/wrappers/models/position/positionfilter.test.ts +161 -0
- package/node/wrappers/models/position/positionfilter.ts +11 -0
- package/node/wrappers/models/security/coupon_type.test.js +1 -1
- package/node/wrappers/models/security/coupon_type.test.js.map +1 -1
- package/node/wrappers/models/security/coupon_type.test.ts +1 -1
- package/node/wrappers/models/security/identifier.d.ts +29 -0
- package/node/wrappers/models/security/identifier.js +51 -0
- package/node/wrappers/models/security/identifier.js.map +1 -0
- package/node/wrappers/models/security/identifier.test.d.ts +1 -0
- package/node/wrappers/models/security/identifier.test.js +55 -0
- package/node/wrappers/models/security/identifier.test.js.map +1 -0
- package/node/wrappers/models/security/identifier.test.ts +65 -0
- package/node/wrappers/models/security/identifier.ts +58 -0
- package/node/wrappers/models/security/term.test.js +6 -0
- package/node/wrappers/models/security/term.test.js.map +1 -1
- package/node/wrappers/models/security/term.test.ts +7 -0
- package/node/wrappers/models/utils/date.test.js +1 -1
- package/node/wrappers/models/utils/date.test.ts +1 -1
- package/node/wrappers/models/utils/serialization.d.ts +4 -2
- package/node/wrappers/models/utils/serialization.js +5 -1
- package/node/wrappers/models/utils/serialization.js.map +1 -1
- package/node/wrappers/models/utils/serialization.ts +7 -3
- package/node/wrappers/models/utils/serialization.util.d.ts +5 -2
- package/node/wrappers/models/utils/serialization.util.js +24 -1
- package/node/wrappers/models/utils/serialization.util.js.map +1 -1
- package/node/wrappers/models/utils/serialization.util.test.js.map +1 -1
- package/node/wrappers/models/utils/serialization.util.test.ts +3 -3
- package/node/wrappers/models/utils/serialization.util.ts +39 -14
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":";;;AACA,gGAA+F;AAC/F,uFAAqF;AACrF,iFAA+E;AAC/E,2FAAyF;AACzF,qEAAoE;AAEpE,yCAA2C;AAC3C,2CAAwC;AACxC,iCAA8B;AAC9B,6EAA0E;
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["serialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,10 @@ import { ProtoEnum } from "./protoEnum";
|
|
|
10
10
|
import { UUID } from "./uuid";
|
|
11
11
|
import { StringValue } from 'google-protobuf/google/protobuf/wrappers_pb';
|
|
12
12
|
import { Any } from 'google-protobuf/google/protobuf/any_pb';
|
|
13
|
+
import { Identifier } from "../security/identifier";
|
|
13
14
|
|
|
14
15
|
export class ProtoSerializationUtil {
|
|
15
|
-
static serialize(obj: any) { //}: UUIDProto | LocalDateProto | LocalTimestampProto | DecimalValueProto | StringValue {
|
|
16
|
+
static serialize(obj: any): UUIDProto | LocalDateProto | LocalTimestampProto | DecimalValueProto | StringValue | IdentifierProto { //}: UUIDProto | LocalDateProto | LocalTimestampProto | DecimalValueProto | StringValue {
|
|
16
17
|
if (obj instanceof UUID) {
|
|
17
18
|
return obj.toUUIDProto();
|
|
18
19
|
}
|
|
@@ -31,11 +32,14 @@ export class ProtoSerializationUtil {
|
|
|
31
32
|
if (obj instanceof String) {
|
|
32
33
|
return new StringValue().setValue(obj.toString());
|
|
33
34
|
}
|
|
35
|
+
if (obj instanceof Identifier) {
|
|
36
|
+
return obj.proto as IdentifierProto;
|
|
37
|
+
}
|
|
34
38
|
|
|
35
39
|
throw new Error(`Could not serialize object of type ${typeof obj}. Value: ${obj}`);
|
|
36
40
|
}
|
|
37
41
|
|
|
38
|
-
static deserialize(obj: any) { //}: UUID | Date | ZonedDateTime | number | string {
|
|
42
|
+
static deserialize(obj: any): UUID | Date | ZonedDateTime | Identifier | string | number | ProtoEnum { //}: UUID | Date | ZonedDateTime | number | string {
|
|
39
43
|
if (obj instanceof UUIDProto) {
|
|
40
44
|
return UUID.fromU8Array(obj.getRawUuid_asU8());
|
|
41
45
|
}
|
|
@@ -48,7 +52,7 @@ export class ProtoSerializationUtil {
|
|
|
48
52
|
return new ZonedDateTime(obj);
|
|
49
53
|
}
|
|
50
54
|
if (obj instanceof IdentifierProto) {
|
|
51
|
-
return
|
|
55
|
+
return new Identifier(obj);
|
|
52
56
|
}
|
|
53
57
|
if (obj instanceof DecimalValueProto) {
|
|
54
58
|
return parseFloat(obj.getArbitraryPrecisionValue());
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { Any } from 'google-protobuf/google/protobuf/any_pb';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { ZonedDateTime } from './datetime';
|
|
3
|
+
import { UUID } from './uuid';
|
|
4
|
+
import { Identifier } from '../security/identifier';
|
|
5
|
+
declare function pack(value: Date | ZonedDateTime | UUID | Identifier | string | number): Any;
|
|
6
|
+
declare function unpack(value: Any): Date | ZonedDateTime | UUID | Identifier | string | number;
|
|
4
7
|
export { pack, unpack };
|
|
@@ -9,6 +9,8 @@ const datetime_1 = require("./datetime");
|
|
|
9
9
|
const local_timestamp_pb_1 = require("../../../fintekkers/models/util/local_timestamp_pb");
|
|
10
10
|
const uuid_1 = require("./uuid");
|
|
11
11
|
const uuid_pb_1 = require("../../../fintekkers/models/util/uuid_pb");
|
|
12
|
+
const identifier_1 = require("../security/identifier");
|
|
13
|
+
const identifier_pb_1 = require("../../../fintekkers/models/security/identifier/identifier_pb");
|
|
12
14
|
function pack(value) {
|
|
13
15
|
if (typeof value === 'string') {
|
|
14
16
|
return packStringIntoAny(value);
|
|
@@ -22,9 +24,14 @@ function pack(value) {
|
|
|
22
24
|
return packTimestampIntoAny(localDateProto);
|
|
23
25
|
}
|
|
24
26
|
else if (value instanceof uuid_1.UUID) {
|
|
25
|
-
// const uuid: UUIDProto = ProtoSerializationUtil.serialize(value);
|
|
26
27
|
return packIDIntoAny(value.toUUIDProto());
|
|
27
28
|
}
|
|
29
|
+
else if (value instanceof identifier_1.Identifier) {
|
|
30
|
+
return packIdentifierProtoIntoAny(value.proto);
|
|
31
|
+
}
|
|
32
|
+
else if (value && typeof value === 'object' && 'proto' in value && value.proto instanceof identifier_pb_1.IdentifierProto) {
|
|
33
|
+
return packIdentifierProtoIntoAny(value.proto);
|
|
34
|
+
}
|
|
28
35
|
else {
|
|
29
36
|
throw new Error("Unrecognized type cannot be packed: " + typeof value);
|
|
30
37
|
}
|
|
@@ -44,12 +51,28 @@ function unpack(value) {
|
|
|
44
51
|
else if (typeUrl === 'type.googleapis.com/fintekkers.models.util.UUIDProto') {
|
|
45
52
|
return unpackIDIntoAny(value);
|
|
46
53
|
}
|
|
54
|
+
else if (typeUrl === 'type.googleapis.com/fintekkers.models.security.identifier.IdentifierProto') {
|
|
55
|
+
return unpackIdentifierProtoFromAny(value);
|
|
56
|
+
}
|
|
47
57
|
else {
|
|
48
58
|
console.log(value);
|
|
49
59
|
throw new Error("Unrecognized Any type cannot be unpacked: " + typeUrl);
|
|
50
60
|
}
|
|
51
61
|
}
|
|
52
62
|
exports.unpack = unpack;
|
|
63
|
+
function unpackIdentifierProtoFromAny(anyMessage) {
|
|
64
|
+
const typeUrl = anyMessage.getTypeUrl();
|
|
65
|
+
if (typeUrl !== 'type.googleapis.com/fintekkers.models.security.identifier.IdentifierProto') {
|
|
66
|
+
throw new Error('Unexpected type URL for an identifier: ' + typeUrl);
|
|
67
|
+
}
|
|
68
|
+
const identifierProto = identifier_pb_1.IdentifierProto.deserializeBinary(anyMessage.getValue_asU8());
|
|
69
|
+
return serialization_1.ProtoSerializationUtil.deserialize(identifierProto);
|
|
70
|
+
}
|
|
71
|
+
function packIdentifierProtoIntoAny(input) {
|
|
72
|
+
const anyMessage = new any_pb_1.Any();
|
|
73
|
+
anyMessage.pack(input.serializeBinary(), 'fintekkers.models.security.identifier.IdentifierProto');
|
|
74
|
+
return anyMessage;
|
|
75
|
+
}
|
|
53
76
|
function packIDIntoAny(uuid) {
|
|
54
77
|
const anyMessage = new any_pb_1.Any();
|
|
55
78
|
anyMessage.pack(uuid.serializeBinary(), 'fintekkers.models.util.UUIDProto');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.util.js","sourceRoot":"","sources":["serialization.util.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAC7D,6EAA0E;AAC1E,mDAAyD;AACzD,iFAA+E;AAC/E,yCAA2C;AAC3C,2FAAyF;AACzF,iCAA8B;AAC9B,qEAAoE;
|
|
1
|
+
{"version":3,"file":"serialization.util.js","sourceRoot":"","sources":["serialization.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.util.test.js","sourceRoot":"","sources":["serialization.util.test.ts"],"names":[],"mappings":";;AAEA,6DAAoD;AACpD,yCAA2C;AAE3C,iCAAkC;AAElC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;IACzC,UAAU,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACvC,QAAQ,EAAE,CAAC;AACb,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC5C,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,SAAS,aAAa;IACpB,MAAM,GAAG,GAAG,wBAAa,CAAC,GAAG,EAAE,CAAC;IAEhC,MAAM,SAAS,GAAQ,IAAA,yBAAI,EAAC,GAAG,CAAC,CAAC;IACjC,MAAM,WAAW,GAAkB,IAAA,2BAAM,EAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"serialization.util.test.js","sourceRoot":"","sources":["serialization.util.test.ts"],"names":[],"mappings":";;AAEA,6DAAoD;AACpD,yCAA2C;AAE3C,iCAAkC;AAElC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;IACzC,UAAU,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACvC,QAAQ,EAAE,CAAC;AACb,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC5C,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,SAAS,aAAa;IACpB,MAAM,GAAG,GAAG,wBAAa,CAAC,GAAG,EAAE,CAAC;IAEhC,MAAM,SAAS,GAAQ,IAAA,yBAAI,EAAC,GAAG,CAAC,CAAC;IACjC,MAAM,WAAW,GAAkB,IAAA,2BAAM,EAAC,SAAS,CAAkB,CAAC;IAEtE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,wBAAwB,CAAC,CAAC;IACrF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,WAAW,CAAC,UAAU,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACjF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,WAAW,CAAC,cAAc,EAAE,EAAE,0BAA0B,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9B,MAAM,UAAU,GAAQ,IAAA,yBAAI,EAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,YAAY,GAAS,IAAA,2BAAM,EAAC,UAAU,CAAS,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,+BAA+B,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,UAAU,GAAG,OAAO,CAAC;IAE3B,MAAM,YAAY,GAAQ,IAAA,yBAAI,EAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAW,IAAA,2BAAM,EAAC,YAAY,CAAW,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,iCAAiC,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -21,7 +21,7 @@ function testTimestamp() {
|
|
|
21
21
|
const now = ZonedDateTime.now();
|
|
22
22
|
|
|
23
23
|
const packedNow: Any = pack(now);
|
|
24
|
-
const unpackedNow: ZonedDateTime = unpack(packedNow);
|
|
24
|
+
const unpackedNow: ZonedDateTime = unpack(packedNow) as ZonedDateTime;
|
|
25
25
|
|
|
26
26
|
assert.equal(now.getTimezone(), unpackedNow.getTimezone(), "Timezone doesn't match");
|
|
27
27
|
assert.equal(now.getSeconds(), unpackedNow.getSeconds(), "Seconds do not match");
|
|
@@ -33,7 +33,7 @@ function testDate() {
|
|
|
33
33
|
testDate.setHours(0, 0, 0, 0);
|
|
34
34
|
|
|
35
35
|
const packedDate: Any = pack(testDate);
|
|
36
|
-
const unpackedDate: Date = unpack(packedDate);
|
|
36
|
+
const unpackedDate: Date = unpack(packedDate) as Date;
|
|
37
37
|
assert.equal(unpackedDate.getTime(), testDate.getTime(), "Date packing/unpacking failed");
|
|
38
38
|
}
|
|
39
39
|
|
|
@@ -41,7 +41,7 @@ function testString() {
|
|
|
41
41
|
const testString = "Hello";
|
|
42
42
|
|
|
43
43
|
const packedString: Any = pack(testString);
|
|
44
|
-
const unpackedString: String = unpack(packedString);
|
|
44
|
+
const unpackedString: String = unpack(packedString) as string;
|
|
45
45
|
assert.equal(unpackedString, testString, "String packing/unpacking failed");
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -6,8 +6,10 @@ import { ZonedDateTime } from './datetime';
|
|
|
6
6
|
import { LocalTimestampProto } from '../../../fintekkers/models/util/local_timestamp_pb';
|
|
7
7
|
import { UUID } from './uuid';
|
|
8
8
|
import { UUIDProto } from '../../../fintekkers/models/util/uuid_pb';
|
|
9
|
+
import { Identifier } from '../security/identifier';
|
|
10
|
+
import { IdentifierProto } from '../../../fintekkers/models/security/identifier/identifier_pb';
|
|
9
11
|
|
|
10
|
-
function pack(value:
|
|
12
|
+
function pack(value: Date | ZonedDateTime | UUID | Identifier | string | number) {
|
|
11
13
|
if (typeof value === 'string') {
|
|
12
14
|
return packStringIntoAny(value);
|
|
13
15
|
} else if (value instanceof Date) {
|
|
@@ -17,29 +19,52 @@ function pack(value: any) {
|
|
|
17
19
|
const localDateProto: LocalTimestampProto = ProtoSerializationUtil.serialize(value) as LocalTimestampProto;
|
|
18
20
|
return packTimestampIntoAny(localDateProto);
|
|
19
21
|
} else if (value instanceof UUID) {
|
|
20
|
-
// const uuid: UUIDProto = ProtoSerializationUtil.serialize(value);
|
|
21
22
|
return packIDIntoAny(value.toUUIDProto());
|
|
22
|
-
} else {
|
|
23
|
+
} else if (value instanceof Identifier) {
|
|
24
|
+
return packIdentifierProtoIntoAny(value.proto as IdentifierProto);
|
|
25
|
+
} else if (value && typeof value === 'object' && 'proto' in value && (value as any).proto instanceof IdentifierProto) {
|
|
26
|
+
return packIdentifierProtoIntoAny((value as any).proto as IdentifierProto);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
23
29
|
throw new Error("Unrecognized type cannot be packed: " + typeof value);
|
|
24
30
|
}
|
|
25
31
|
}
|
|
26
32
|
|
|
27
|
-
function unpack(value: Any):
|
|
33
|
+
function unpack(value: Any): Date | ZonedDateTime | UUID | Identifier | string | number {
|
|
28
34
|
const typeUrl = value.getTypeUrl();
|
|
29
35
|
if (typeUrl === 'type.googleapis.com/google.protobuf.StringValue') {
|
|
30
|
-
return unpackStringFromAny(value);
|
|
36
|
+
return unpackStringFromAny(value) as string;
|
|
31
37
|
} else if (typeUrl === 'type.googleapis.com/fintekkers.models.util.LocalDateProto') {
|
|
32
|
-
return unpackDateFromAny(value);
|
|
38
|
+
return unpackDateFromAny(value) as Date;
|
|
33
39
|
} else if (typeUrl === 'type.googleapis.com/fintekkers.models.util.LocalTimestampProto') {
|
|
34
40
|
return unpackTimestampFromAny(value);
|
|
35
41
|
} else if (typeUrl === 'type.googleapis.com/fintekkers.models.util.UUIDProto') {
|
|
36
|
-
return unpackIDIntoAny(value);
|
|
37
|
-
} else {
|
|
42
|
+
return unpackIDIntoAny(value) as UUID;
|
|
43
|
+
} else if (typeUrl === 'type.googleapis.com/fintekkers.models.security.identifier.IdentifierProto') {
|
|
44
|
+
return unpackIdentifierProtoFromAny(value) as Identifier;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
38
47
|
console.log(value);
|
|
39
48
|
throw new Error("Unrecognized Any type cannot be unpacked: " + typeUrl);
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
|
|
52
|
+
function unpackIdentifierProtoFromAny(anyMessage: Any): Identifier {
|
|
53
|
+
const typeUrl = anyMessage.getTypeUrl();
|
|
54
|
+
|
|
55
|
+
if (typeUrl !== 'type.googleapis.com/fintekkers.models.security.identifier.IdentifierProto') {
|
|
56
|
+
throw new Error('Unexpected type URL for an identifier: ' + typeUrl);
|
|
57
|
+
}
|
|
58
|
+
const identifierProto: IdentifierProto = IdentifierProto.deserializeBinary(anyMessage.getValue_asU8());
|
|
59
|
+
return ProtoSerializationUtil.deserialize(identifierProto) as unknown as Identifier;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function packIdentifierProtoIntoAny(input: IdentifierProto): Any {
|
|
63
|
+
const anyMessage = new Any();
|
|
64
|
+
|
|
65
|
+
anyMessage.pack(input.serializeBinary(), 'fintekkers.models.security.identifier.IdentifierProto');
|
|
66
|
+
return anyMessage;
|
|
67
|
+
}
|
|
43
68
|
|
|
44
69
|
function packIDIntoAny(uuid: UUIDProto): Any {
|
|
45
70
|
const anyMessage = new Any();
|
|
@@ -48,7 +73,7 @@ function packIDIntoAny(uuid: UUIDProto): Any {
|
|
|
48
73
|
return anyMessage;
|
|
49
74
|
}
|
|
50
75
|
|
|
51
|
-
function unpackIDIntoAny(anyMessage: Any):
|
|
76
|
+
function unpackIDIntoAny(anyMessage: Any): UUID {
|
|
52
77
|
const typeUrl = anyMessage.getTypeUrl();
|
|
53
78
|
|
|
54
79
|
if (typeUrl !== 'type.googleapis.com/fintekkers.models.util.UUIDProto') {
|
|
@@ -56,7 +81,7 @@ function unpackIDIntoAny(anyMessage: Any): UUIDProto {
|
|
|
56
81
|
}
|
|
57
82
|
|
|
58
83
|
const uuidProto: UUIDProto = UUIDProto.deserializeBinary(anyMessage.getValue_asU8());
|
|
59
|
-
return ProtoSerializationUtil.deserialize(uuidProto) as unknown as
|
|
84
|
+
return ProtoSerializationUtil.deserialize(uuidProto) as unknown as UUID;
|
|
60
85
|
}
|
|
61
86
|
|
|
62
87
|
function packTimestampIntoAny(inputDate: LocalTimestampProto): Any {
|
|
@@ -66,7 +91,7 @@ function packTimestampIntoAny(inputDate: LocalTimestampProto): Any {
|
|
|
66
91
|
return anyMessage;
|
|
67
92
|
}
|
|
68
93
|
|
|
69
|
-
function unpackTimestampFromAny(anyMessage: Any):
|
|
94
|
+
function unpackTimestampFromAny(anyMessage: Any): ZonedDateTime {
|
|
70
95
|
const typeUrl = anyMessage.getTypeUrl();
|
|
71
96
|
|
|
72
97
|
if (typeUrl !== 'type.googleapis.com/fintekkers.models.util.LocalTimestampProto') {
|
|
@@ -74,7 +99,7 @@ function unpackTimestampFromAny(anyMessage: Any): LocalTimestampProto {
|
|
|
74
99
|
}
|
|
75
100
|
|
|
76
101
|
const dateProto: LocalTimestampProto = LocalTimestampProto.deserializeBinary(anyMessage.getValue_asU8());
|
|
77
|
-
return ProtoSerializationUtil.deserialize(dateProto) as unknown as
|
|
102
|
+
return ProtoSerializationUtil.deserialize(dateProto) as unknown as ZonedDateTime;
|
|
78
103
|
}
|
|
79
104
|
|
|
80
105
|
function packDateIntoAny(inputDate: LocalDateProto): Any {
|
|
@@ -84,7 +109,7 @@ function packDateIntoAny(inputDate: LocalDateProto): Any {
|
|
|
84
109
|
return anyMessage;
|
|
85
110
|
}
|
|
86
111
|
|
|
87
|
-
function unpackDateFromAny(anyMessage: Any):
|
|
112
|
+
function unpackDateFromAny(anyMessage: Any): Date {
|
|
88
113
|
const typeUrl = anyMessage.getTypeUrl();
|
|
89
114
|
|
|
90
115
|
if (typeUrl !== 'type.googleapis.com/fintekkers.models.util.LocalDateProto') {
|
|
@@ -92,7 +117,7 @@ function unpackDateFromAny(anyMessage: Any): LocalDateProto {
|
|
|
92
117
|
}
|
|
93
118
|
|
|
94
119
|
const dateProto: LocalDateProto = LocalDateProto.deserializeBinary(anyMessage.getValue_asU8());
|
|
95
|
-
return ProtoSerializationUtil.deserialize(dateProto) as unknown as
|
|
120
|
+
return ProtoSerializationUtil.deserialize(dateProto) as unknown as Date;
|
|
96
121
|
}
|
|
97
122
|
|
|
98
123
|
function packStringIntoAny(inputString: string): Any {
|