@distrohelena/canton-typescript-sdk 0.1.28 → 0.1.29
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/dist/daml-interface/analysis/analyzed-daml-type-definition.d.ts +6 -1
- package/dist/daml-interface/analysis/analyzed-daml-type.d.ts +7 -1
- package/dist/daml-interface/analysis/daml-interface-analyzer.d.ts +6 -0
- package/dist/daml-interface/analysis/daml-interface-analyzer.js +92 -25
- package/dist/daml-interface/emission/named-type-emitter.d.ts +7 -1
- package/dist/daml-interface/emission/named-type-emitter.js +86 -21
- package/dist/daml-interface/emission/project-emitter.js +1 -1
- package/dist/daml-interface/emission/registry-emitter.js +3 -3
- package/dist/daml-interface/emission/support-file-emitter.d.ts +2 -0
- package/dist/daml-interface/emission/support-file-emitter.js +45 -20
- package/dist/daml-interface/emission/template-binding-emitter.js +58 -16
- package/dist/daml-interface/emission/type-script-name-resolver.d.ts +8 -2
- package/dist/daml-interface/emission/type-script-name-resolver.js +41 -6
- package/dist/daml-interface/index.d.ts +3 -3
- package/dist/daml-interface/index.js +3 -3
- package/dist/daml-interface/runtime/daml-event-source-normalizer.d.ts +8 -11
- package/dist/daml-interface/runtime/daml-event-source-normalizer.js +14 -11
- package/dist/daml-interface/runtime/daml-type-descriptor.d.ts +2 -1
- package/dist/daml-interface/runtime/daml-value-converter.d.ts +5 -2
- package/dist/daml-interface/runtime/daml-value-converter.js +11 -5
- package/dist/daml-interface/runtime/daml-value-materializer.d.ts +4 -1
- package/dist/daml-interface/runtime/daml-value-materializer.js +7 -1
- package/dist/daml-lf/daml-lf-compilation.d.ts +3 -0
- package/dist/daml-lf/daml-lf-compilation.js +4 -0
- package/dist/daml-lf/model/daml-lf-data-type.d.ts +19 -0
- package/dist/daml-lf/model/daml-lf-data-type.js +15 -0
- package/dist/daml-lf/model/daml-lf-type.d.ts +13 -0
- package/dist/daml-lf/model/daml-lf-type.js +24 -0
- package/dist/daml-lf/model/lf-2-model-mapper.d.ts +4 -0
- package/dist/daml-lf/model/lf-2-model-mapper.js +70 -2
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import { DamlLfDecodeException } from "../errors/daml-lf-decode.exception.js";
|
|
|
3
3
|
import { DamlLfBuiltinType } from "./daml-lf-builtin-type.js";
|
|
4
4
|
import { DamlLfChoice } from "./daml-lf-choice.js";
|
|
5
5
|
import { DamlLfChoiceParameter } from "./daml-lf-choice-parameter.js";
|
|
6
|
-
import { DamlLfDataType } from "./daml-lf-data-type.js";
|
|
6
|
+
import { DamlLfDataType, } from "./daml-lf-data-type.js";
|
|
7
7
|
import { DamlLfExpression } from "./daml-lf-expression.js";
|
|
8
8
|
import { DamlLfField } from "./daml-lf-field.js";
|
|
9
9
|
import { DamlLfModule } from "./daml-lf-module.js";
|
|
@@ -43,6 +43,12 @@ export class Lf2ModelMapper {
|
|
|
43
43
|
...(lhs.typeConReference === undefined
|
|
44
44
|
? {}
|
|
45
45
|
: { typeConReference: lhs.typeConReference }),
|
|
46
|
+
...(lhs.typeVariable === undefined
|
|
47
|
+
? {}
|
|
48
|
+
: { typeVariable: lhs.typeVariable }),
|
|
49
|
+
...(lhs.diagnosticForall === undefined
|
|
50
|
+
? {}
|
|
51
|
+
: { diagnosticForall: lhs.diagnosticForall }),
|
|
46
52
|
typeArguments: numericScale === undefined
|
|
47
53
|
? [
|
|
48
54
|
...lhs.typeArguments,
|
|
@@ -52,7 +58,18 @@ export class Lf2ModelMapper {
|
|
|
52
58
|
});
|
|
53
59
|
}
|
|
54
60
|
if (rawType?.sum.oneofKind === "forall") {
|
|
55
|
-
return
|
|
61
|
+
return new DamlLfType({
|
|
62
|
+
diagnosticForall: {
|
|
63
|
+
typeParameters: rawType.sum.forall.vars.map((parameter) => Lf2ModelMapper.mapTypeParameter(rawPackage, parameter)),
|
|
64
|
+
body: Lf2ModelMapper.mapType(currentPackageId, rawPackage, rawType.sum.forall.body),
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
else if (rawType?.sum.oneofKind === "var") {
|
|
69
|
+
return new DamlLfType({
|
|
70
|
+
typeVariable: Lf2ModelMapper.mapTypeVariableReference(rawPackage, rawType.sum.var.varInternedStr),
|
|
71
|
+
typeArguments: rawType.sum.var.args.map((item) => Lf2ModelMapper.mapType(currentPackageId, rawPackage, item)),
|
|
72
|
+
});
|
|
56
73
|
}
|
|
57
74
|
if (rawType?.sum.oneofKind === "con") {
|
|
58
75
|
return new DamlLfType({
|
|
@@ -79,6 +96,53 @@ export class Lf2ModelMapper {
|
|
|
79
96
|
builtinType: DamlLfBuiltinType.unknown,
|
|
80
97
|
});
|
|
81
98
|
}
|
|
99
|
+
static mapTypeParameter(rawPackage, rawParameter) {
|
|
100
|
+
const name = Lf2ModelMapper.resolveInternedStringOrUndefined(rawPackage.internedStrings, rawParameter.varInternedStr);
|
|
101
|
+
return {
|
|
102
|
+
...(name === undefined ? {} : { name }),
|
|
103
|
+
internedStringIndex: rawParameter.varInternedStr,
|
|
104
|
+
kind: Lf2ModelMapper.mapTypeParameterKind(rawPackage, rawParameter.kind),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
static mapTypeVariableReference(rawPackage, internedStringIndex) {
|
|
108
|
+
const name = Lf2ModelMapper.resolveInternedStringOrUndefined(rawPackage.internedStrings, internedStringIndex);
|
|
109
|
+
return {
|
|
110
|
+
...(name === undefined ? {} : { name }),
|
|
111
|
+
internedStringIndex,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
static mapTypeParameterKind(rawPackage, rawKind, visitedInternedKindIndices = new Set()) {
|
|
115
|
+
if (rawKind?.sum.oneofKind === "star") {
|
|
116
|
+
return { kind: "star" };
|
|
117
|
+
}
|
|
118
|
+
else if (rawKind?.sum.oneofKind === "nat") {
|
|
119
|
+
return { kind: "nat" };
|
|
120
|
+
}
|
|
121
|
+
else if (rawKind?.sum.oneofKind === "arrow") {
|
|
122
|
+
return {
|
|
123
|
+
kind: "arrow",
|
|
124
|
+
parameters: rawKind.sum.arrow.params.map((parameter) => Lf2ModelMapper.mapTypeParameterKind(rawPackage, parameter, visitedInternedKindIndices)),
|
|
125
|
+
result: Lf2ModelMapper.mapTypeParameterKind(rawPackage, rawKind.sum.arrow.result, visitedInternedKindIndices),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
if (rawKind?.sum.oneofKind !== "internedKind") {
|
|
129
|
+
return { kind: "unknown" };
|
|
130
|
+
}
|
|
131
|
+
const internedKindIndex = rawKind.sum.internedKind;
|
|
132
|
+
if (visitedInternedKindIndices.has(internedKindIndex)) {
|
|
133
|
+
return {
|
|
134
|
+
kind: "unknown",
|
|
135
|
+
internedKindIndex,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
const internedKind = rawPackage.internedKinds[internedKindIndex];
|
|
139
|
+
return internedKind === undefined
|
|
140
|
+
? {
|
|
141
|
+
kind: "unknown",
|
|
142
|
+
internedKindIndex,
|
|
143
|
+
}
|
|
144
|
+
: Lf2ModelMapper.mapTypeParameterKind(rawPackage, internedKind, new Set([...visitedInternedKindIndices, internedKindIndex]));
|
|
145
|
+
}
|
|
82
146
|
static mapBuiltinType(builtinType) {
|
|
83
147
|
switch (builtinType) {
|
|
84
148
|
case BuiltinType.UNIT:
|
|
@@ -169,6 +233,7 @@ export class Lf2ModelMapper {
|
|
|
169
233
|
return new DamlLfDataType({
|
|
170
234
|
name: Lf2ModelMapper.resolveInternedDottedName(rawPackage.internedStrings, rawPackage.internedDottedNames, rawDataType.nameInternedDname),
|
|
171
235
|
definition,
|
|
236
|
+
typeParameters: rawDataType.params.map((parameter) => Lf2ModelMapper.mapTypeParameter(rawPackage, parameter)),
|
|
172
237
|
});
|
|
173
238
|
}
|
|
174
239
|
static mapTemplateOrThrow(packageId, moduleName, rawTemplate, rawPackage, dataTypes) {
|
|
@@ -648,6 +713,9 @@ export class Lf2ModelMapper {
|
|
|
648
713
|
}
|
|
649
714
|
return internedStrings[index];
|
|
650
715
|
}
|
|
716
|
+
static resolveInternedStringOrUndefined(internedStrings, index) {
|
|
717
|
+
return index === undefined ? undefined : internedStrings[index];
|
|
718
|
+
}
|
|
651
719
|
static resolveInternedDottedName(internedStrings, internedDottedNames, index) {
|
|
652
720
|
if (index === undefined || internedDottedNames[index] === undefined) {
|
|
653
721
|
throw new DamlLfDecodeException("daml lf package references a missing interned dotted name");
|