@typespec/compiler 0.45.0-dev.1 → 0.45.0-dev.10
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/core/checker.d.ts.map +1 -1
- package/dist/core/checker.js +64 -1
- package/dist/core/checker.js.map +1 -1
- package/dist/core/cli/args.d.ts +1 -1
- package/dist/core/cli/args.d.ts.map +1 -1
- package/dist/core/cli/args.js +10 -8
- package/dist/core/cli/args.js.map +1 -1
- package/dist/core/cli/cli.js +26 -7
- package/dist/core/cli/cli.js.map +1 -1
- package/dist/core/decorator-utils.js +1 -1
- package/dist/core/decorator-utils.js.map +1 -1
- package/dist/core/entrypoint-resolution.d.ts +10 -0
- package/dist/core/entrypoint-resolution.d.ts.map +1 -0
- package/dist/core/entrypoint-resolution.js +39 -0
- package/dist/core/entrypoint-resolution.js.map +1 -0
- package/dist/core/fetch.d.ts +11 -0
- package/dist/core/fetch.d.ts.map +1 -0
- package/dist/core/fetch.js +38 -0
- package/dist/core/fetch.js.map +1 -0
- package/dist/core/messages.d.ts +41 -2
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js +15 -0
- package/dist/core/messages.js.map +1 -1
- package/dist/core/module-resolver.d.ts +1 -0
- package/dist/core/module-resolver.d.ts.map +1 -1
- package/dist/core/module-resolver.js.map +1 -1
- package/dist/core/node-host.js +2 -2
- package/dist/core/node-host.js.map +1 -1
- package/dist/core/parser.d.ts.map +1 -1
- package/dist/core/parser.js +4 -3
- package/dist/core/parser.js.map +1 -1
- package/dist/core/program.d.ts.map +1 -1
- package/dist/core/program.js +4 -39
- package/dist/core/program.js.map +1 -1
- package/dist/core/types.d.ts +3 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/formatter/parser.js +1 -1
- package/dist/formatter/parser.js.map +1 -1
- package/dist/formatter/print/comment-handler.js +1 -0
- package/dist/formatter/print/comment-handler.js.map +1 -1
- package/dist/init/init.d.ts +10 -1
- package/dist/init/init.d.ts.map +1 -1
- package/dist/init/init.js +48 -11
- package/dist/init/init.js.map +1 -1
- package/dist/lib/decorators.d.ts +25 -0
- package/dist/lib/decorators.d.ts.map +1 -1
- package/dist/lib/decorators.js +34 -10
- package/dist/lib/decorators.js.map +1 -1
- package/dist/manifest.js +1 -1
- package/dist/server/type-details.d.ts.map +1 -1
- package/dist/server/type-details.js +5 -5
- package/dist/server/type-details.js.map +1 -1
- package/lib/lib.tsp +10 -0
- package/package.json +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../core/checker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAqC,MAAM,oBAAoB,CAAC;AAGxF,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AASzD,OAAO,EAIL,cAAc,EACd,kBAAkB,EAQlB,UAAU,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../core/checker.ts"],"names":[],"mappings":"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"}
|
package/dist/core/checker.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getDeprecated, getIndexer } from "../lib/decorators.js";
|
|
1
|
+
import { $docFromComment, getDeprecated, getIndexer } from "../lib/decorators.js";
|
|
2
2
|
import { createSymbol, createSymbolTable } from "./binder.js";
|
|
3
3
|
import { ProjectionError, compilerAssert } from "./diagnostics.js";
|
|
4
4
|
import { validateInheritanceDiscriminatedUnions } from "./helpers/discriminator-utils.js";
|
|
@@ -2179,6 +2179,7 @@ export function createChecker(program) {
|
|
|
2179
2179
|
}
|
|
2180
2180
|
}
|
|
2181
2181
|
function checkModelProperty(prop, mapper) {
|
|
2182
|
+
var _a, _b, _c;
|
|
2182
2183
|
const links = getSymbolLinksForMember(prop);
|
|
2183
2184
|
if (links && links.declaredType && mapper === undefined) {
|
|
2184
2185
|
return links.declaredType;
|
|
@@ -2202,6 +2203,16 @@ export function createChecker(program) {
|
|
|
2202
2203
|
const parentTemplate = getParentTemplateNode(prop);
|
|
2203
2204
|
linkMapper(type, mapper);
|
|
2204
2205
|
if (!parentTemplate || shouldCreateTypeForTemplate(parentTemplate, mapper)) {
|
|
2206
|
+
if (((_b = (_a = prop.parent) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.kind) === SyntaxKind.OperationSignatureDeclaration &&
|
|
2207
|
+
((_c = prop.parent.parent.parent) === null || _c === void 0 ? void 0 : _c.kind) === SyntaxKind.OperationStatement) {
|
|
2208
|
+
const doc = extractParamDoc(prop.parent.parent.parent, type.name);
|
|
2209
|
+
if (doc) {
|
|
2210
|
+
type.decorators.unshift({
|
|
2211
|
+
decorator: $docFromComment,
|
|
2212
|
+
args: [{ value: createLiteralType(doc) }],
|
|
2213
|
+
});
|
|
2214
|
+
}
|
|
2215
|
+
}
|
|
2205
2216
|
finishType(type);
|
|
2206
2217
|
}
|
|
2207
2218
|
return type;
|
|
@@ -3436,9 +3447,18 @@ export function createChecker(program) {
|
|
|
3436
3447
|
type = createType({ kind: "Boolean", value });
|
|
3437
3448
|
break;
|
|
3438
3449
|
case "number":
|
|
3450
|
+
let valueAsString;
|
|
3451
|
+
if (node) {
|
|
3452
|
+
compilerAssert(node.kind === SyntaxKind.NumericLiteral, "Must pass numeric literal node or undefined when creating a numeric literal type");
|
|
3453
|
+
valueAsString = node.valueAsString;
|
|
3454
|
+
}
|
|
3455
|
+
else {
|
|
3456
|
+
valueAsString = String(value);
|
|
3457
|
+
}
|
|
3439
3458
|
type = createType({
|
|
3440
3459
|
kind: "Number",
|
|
3441
3460
|
value,
|
|
3461
|
+
valueAsString,
|
|
3442
3462
|
});
|
|
3443
3463
|
break;
|
|
3444
3464
|
}
|
|
@@ -3685,6 +3705,10 @@ export function createChecker(program) {
|
|
|
3685
3705
|
}
|
|
3686
3706
|
if (target.name === "numeric")
|
|
3687
3707
|
return true;
|
|
3708
|
+
if (target.name === "decimal")
|
|
3709
|
+
return true;
|
|
3710
|
+
if (target.name === "decimal128")
|
|
3711
|
+
return true;
|
|
3688
3712
|
const isInt = Number.isInteger(source.value);
|
|
3689
3713
|
if (target.name === "integer")
|
|
3690
3714
|
return isInt;
|
|
@@ -4094,8 +4118,47 @@ function linkMapper(typeDef, mapper) {
|
|
|
4094
4118
|
typeDef.templateArguments = mapper.args;
|
|
4095
4119
|
}
|
|
4096
4120
|
}
|
|
4121
|
+
function extractMainDoc(type) {
|
|
4122
|
+
var _a;
|
|
4123
|
+
if (((_a = type.node) === null || _a === void 0 ? void 0 : _a.docs) === undefined) {
|
|
4124
|
+
return undefined;
|
|
4125
|
+
}
|
|
4126
|
+
let mainDoc = "";
|
|
4127
|
+
for (const doc of type.node.docs) {
|
|
4128
|
+
mainDoc += getDocContent(doc.content);
|
|
4129
|
+
}
|
|
4130
|
+
return mainDoc;
|
|
4131
|
+
}
|
|
4132
|
+
function extractParamDoc(node, paramName) {
|
|
4133
|
+
if (node.docs === undefined) {
|
|
4134
|
+
return undefined;
|
|
4135
|
+
}
|
|
4136
|
+
for (const doc of node.docs) {
|
|
4137
|
+
for (const tag of doc.tags) {
|
|
4138
|
+
if (tag.kind === SyntaxKind.DocParamTag && tag.paramName.sv === paramName) {
|
|
4139
|
+
return getDocContent(tag.content);
|
|
4140
|
+
}
|
|
4141
|
+
}
|
|
4142
|
+
}
|
|
4143
|
+
return undefined;
|
|
4144
|
+
}
|
|
4145
|
+
function getDocContent(content) {
|
|
4146
|
+
const docs = [];
|
|
4147
|
+
for (const node of content) {
|
|
4148
|
+
compilerAssert(node.kind === SyntaxKind.DocText, "No other doc content node kinds exist yet. Update this code appropriately when more are added.");
|
|
4149
|
+
docs.push(node.text);
|
|
4150
|
+
}
|
|
4151
|
+
return docs.join("");
|
|
4152
|
+
}
|
|
4097
4153
|
function finishTypeForProgramAndChecker(program, typePrototype, typeDef) {
|
|
4098
4154
|
if ("decorators" in typeDef) {
|
|
4155
|
+
const docComment = extractMainDoc(typeDef);
|
|
4156
|
+
if (docComment) {
|
|
4157
|
+
typeDef.decorators.unshift({
|
|
4158
|
+
decorator: $docFromComment,
|
|
4159
|
+
args: [{ value: program.checker.createLiteralType(docComment) }],
|
|
4160
|
+
});
|
|
4161
|
+
}
|
|
4099
4162
|
for (const decApp of typeDef.decorators) {
|
|
4100
4163
|
applyDecoratorToType(program, decApp, typeDef);
|
|
4101
4164
|
}
|