@typespec/compiler 1.11.0-dev.0 → 1.11.0-dev.3
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/generated-defs/TypeSpec.d.ts +7 -1
- package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
- package/dist/generated-defs/TypeSpec.ts-test.js +5 -1
- package/dist/generated-defs/TypeSpec.ts-test.js.map +1 -1
- package/dist/manifest.js +2 -2
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +16 -3
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/decorators.d.ts +21 -0
- package/dist/src/lib/decorators.d.ts.map +1 -1
- package/dist/src/lib/decorators.js +23 -2
- package/dist/src/lib/decorators.js.map +1 -1
- package/dist/src/lib/tsp-index.d.ts.map +1 -1
- package/dist/src/lib/tsp-index.js +8 -1
- package/dist/src/lib/tsp-index.js.map +1 -1
- package/dist/src/lib/visibility.d.ts.map +1 -1
- package/dist/src/lib/visibility.js +33 -15
- package/dist/src/lib/visibility.js.map +1 -1
- package/dist/src/server/completion.d.ts.map +1 -1
- package/dist/src/server/completion.js +21 -0
- package/dist/src/server/completion.js.map +1 -1
- package/lib/std/visibility.tsp +75 -38
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import { CompletionItemKind, MarkupKind, Range, TextEdit, } from "vscode-languag
|
|
|
2
2
|
import { getSymNode } from "../core/binder.js";
|
|
3
3
|
import { getDeprecationDetails } from "../core/deprecation.js";
|
|
4
4
|
import { compilerAssert, getSourceLocation } from "../core/diagnostics.js";
|
|
5
|
+
import { getLocationContext } from "../core/helpers/location-context.js";
|
|
5
6
|
import { printIdentifier } from "../core/helpers/syntax-utils.js";
|
|
6
7
|
import { getFirstAncestor, positionInRange } from "../core/parser.js";
|
|
7
8
|
import { getAnyExtensionFromPath, getBaseFileName, getDirectoryPath, hasTrailingDirectorySeparator, resolvePath, } from "../core/path-utils.js";
|
|
@@ -303,7 +304,11 @@ async function addIdentifierCompletion({ program, completions }, node) {
|
|
|
303
304
|
if (result.size === 0) {
|
|
304
305
|
return;
|
|
305
306
|
}
|
|
307
|
+
const sourceLocation = getLocationContext(program, node);
|
|
306
308
|
for (const [key, { sym, label, suffix }] of result) {
|
|
309
|
+
if (!canAccessCompletionSymbol(sym, sourceLocation)) {
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
307
312
|
let kind;
|
|
308
313
|
let deprecated = false;
|
|
309
314
|
const symNode = getSymNode(sym);
|
|
@@ -363,6 +368,22 @@ async function addIdentifierCompletion({ program, completions }, node) {
|
|
|
363
368
|
if (node.parent?.kind === SyntaxKind.TypeReference) {
|
|
364
369
|
addKeywordCompletion("identifier", completions);
|
|
365
370
|
}
|
|
371
|
+
function canAccessCompletionSymbol(sym, sourceLocation) {
|
|
372
|
+
const isInternalDeclaration = (sym.flags & (8388608 /* SymbolFlags.Internal */ | 1048576 /* SymbolFlags.Declaration */)) ===
|
|
373
|
+
(8388608 /* SymbolFlags.Internal */ | 1048576 /* SymbolFlags.Declaration */);
|
|
374
|
+
if (!isInternalDeclaration)
|
|
375
|
+
return true;
|
|
376
|
+
if (sourceLocation.type === "synthetic" || sourceLocation.type === "compiler")
|
|
377
|
+
return true;
|
|
378
|
+
return sym.declarations.some((decl) => {
|
|
379
|
+
const declLocation = getLocationContext(program, decl);
|
|
380
|
+
if (declLocation.type !== sourceLocation.type)
|
|
381
|
+
return false;
|
|
382
|
+
if (declLocation.type === "project")
|
|
383
|
+
return true;
|
|
384
|
+
return declLocation === sourceLocation;
|
|
385
|
+
});
|
|
386
|
+
}
|
|
366
387
|
}
|
|
367
388
|
const directiveNames = ["suppress", "deprecated"];
|
|
368
389
|
function addDirectiveCompletion({ completions }, node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/server/completion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/server/completion.ts"],"names":[],"mappings":"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"}
|
package/lib/std/visibility.tsp
CHANGED
|
@@ -299,12 +299,60 @@ model VisibilityFilter {
|
|
|
299
299
|
* }
|
|
300
300
|
* ```
|
|
301
301
|
*/
|
|
302
|
+
#deprecated "withVisibilityFilter is deprecated and will be removed in a future release. Use the `FilterVisibility` template or Lifecycle specific templates (e.g. `Read`, `Create`, `Update`, etc.) instead."
|
|
302
303
|
extern dec withVisibilityFilter(
|
|
303
304
|
target: Model,
|
|
304
305
|
filter: valueof VisibilityFilter,
|
|
305
306
|
nameTemplate?: valueof string
|
|
306
307
|
);
|
|
307
308
|
|
|
309
|
+
/**
|
|
310
|
+
* A copy of the input model `M` with only the properties that match the given visibility filter.
|
|
311
|
+
*
|
|
312
|
+
* This transformation is recursive, so it will also apply the filter to any nested
|
|
313
|
+
* or referenced models that are the types of any properties in the `target`.
|
|
314
|
+
*
|
|
315
|
+
* If a `nameTemplate` is provided, newly-created type instances will be named according
|
|
316
|
+
* to the template. See the `@friendlyName` decorator for more information on the template
|
|
317
|
+
* syntax. The transformed type is provided as the argument to the template.
|
|
318
|
+
*
|
|
319
|
+
* @template M the model to apply the visibility filter to.
|
|
320
|
+
* @template Filter the visibility filter to apply to the properties of the target model.
|
|
321
|
+
* @template NameTemplate the name template to use when renaming new type instances.
|
|
322
|
+
*
|
|
323
|
+
* @example
|
|
324
|
+
* ```typespec
|
|
325
|
+
* model Dog {
|
|
326
|
+
* @visibility(CustomVisibility.A)
|
|
327
|
+
* id: int32;
|
|
328
|
+
* @removeVisibility(CustomVisibility.A)
|
|
329
|
+
* name: string;
|
|
330
|
+
* }
|
|
331
|
+
*
|
|
332
|
+
* enum CustomVisibility {
|
|
333
|
+
* A,
|
|
334
|
+
* B,
|
|
335
|
+
* }
|
|
336
|
+
*
|
|
337
|
+
* const customFilter: VisibilityFilter = #{ all: #[CustomVisibility.A] };
|
|
338
|
+
*
|
|
339
|
+
* // This model will have the `id` property but not the `name` property, since `id` has the CustomVisibility.A visibility and `name` does not.
|
|
340
|
+
* model DogRead is FilterVisibility<Dog, customFilter, "Read{name}">;
|
|
341
|
+
* ```
|
|
342
|
+
*/
|
|
343
|
+
alias FilterVisibility<
|
|
344
|
+
M extends Model,
|
|
345
|
+
Filter extends valueof VisibilityFilter,
|
|
346
|
+
NameTemplate extends valueof string
|
|
347
|
+
> = applyVisibilityFilter(M, Filter, NameTemplate);
|
|
348
|
+
|
|
349
|
+
#suppress "experimental-feature"
|
|
350
|
+
internal extern fn applyVisibilityFilter(
|
|
351
|
+
input: Model,
|
|
352
|
+
filter: valueof VisibilityFilter,
|
|
353
|
+
nameTemplate?: valueof string
|
|
354
|
+
): Model;
|
|
355
|
+
|
|
308
356
|
/**
|
|
309
357
|
* Transforms the `target` model to include only properties that are visible during the
|
|
310
358
|
* "Update" lifecycle phase.
|
|
@@ -338,8 +386,12 @@ extern dec withVisibilityFilter(
|
|
|
338
386
|
* }
|
|
339
387
|
* ```
|
|
340
388
|
*/
|
|
389
|
+
#deprecated "withLifecycleUpdate is deprecated and will be removed in a future release. Use the `Update` template instead."
|
|
341
390
|
extern dec withLifecycleUpdate(target: Model, nameTemplate?: valueof string);
|
|
342
391
|
|
|
392
|
+
#suppress "experimental-feature"
|
|
393
|
+
internal extern fn applyLifecycleUpdate(input: Model, nameTemplate?: valueof string): Model;
|
|
394
|
+
|
|
343
395
|
/**
|
|
344
396
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
345
397
|
* "Create" resource lifecycle phase.
|
|
@@ -366,12 +418,10 @@ extern dec withLifecycleUpdate(target: Model, nameTemplate?: valueof string);
|
|
|
366
418
|
* model CreateDog is Create<Dog>;
|
|
367
419
|
* ```
|
|
368
420
|
*/
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
...T;
|
|
374
|
-
}
|
|
421
|
+
alias Create<
|
|
422
|
+
T extends Model,
|
|
423
|
+
NameTemplate extends valueof string = "Create{name}"
|
|
424
|
+
> = applyVisibilityFilter(T, #{ all: #[Lifecycle.Create] }, NameTemplate);
|
|
375
425
|
|
|
376
426
|
/**
|
|
377
427
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
@@ -405,12 +455,10 @@ model Create<T extends Reflection.Model, NameTemplate extends valueof string = "
|
|
|
405
455
|
* model ReadDog is Read<Dog>;
|
|
406
456
|
* ```
|
|
407
457
|
*/
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
...T;
|
|
413
|
-
}
|
|
458
|
+
alias Read<
|
|
459
|
+
T extends Model,
|
|
460
|
+
NameTemplate extends valueof string = "Read{name}"
|
|
461
|
+
> = applyVisibilityFilter(T, #{ all: #[Lifecycle.Read] }, NameTemplate);
|
|
414
462
|
|
|
415
463
|
/**
|
|
416
464
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
@@ -445,12 +493,10 @@ model Read<T extends Reflection.Model, NameTemplate extends valueof string = "Re
|
|
|
445
493
|
* model UpdateDog is Update<Dog>;
|
|
446
494
|
* ```
|
|
447
495
|
*/
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
...T;
|
|
453
|
-
}
|
|
496
|
+
alias Update<
|
|
497
|
+
T extends Model,
|
|
498
|
+
NameTemplate extends valueof string = "Update{name}"
|
|
499
|
+
> = applyLifecycleUpdate(T, NameTemplate);
|
|
454
500
|
|
|
455
501
|
/**
|
|
456
502
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
@@ -487,15 +533,10 @@ model Update<T extends Reflection.Model, NameTemplate extends valueof string = "
|
|
|
487
533
|
* model CreateOrUpdateDog is CreateOrUpdate<Dog>;
|
|
488
534
|
* ```
|
|
489
535
|
*/
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
@withVisibilityFilter(#{ any: #[Lifecycle.Create, Lifecycle.Update] }, NameTemplate)
|
|
493
|
-
model CreateOrUpdate<
|
|
494
|
-
T extends Reflection.Model,
|
|
536
|
+
alias CreateOrUpdate<
|
|
537
|
+
T extends Model,
|
|
495
538
|
NameTemplate extends valueof string = "CreateOrUpdate{name}"
|
|
496
|
-
> {
|
|
497
|
-
...T;
|
|
498
|
-
}
|
|
539
|
+
> = applyVisibilityFilter(T, #{ any: #[Lifecycle.Create, Lifecycle.Update] }, NameTemplate);
|
|
499
540
|
|
|
500
541
|
/**
|
|
501
542
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
@@ -531,12 +572,10 @@ model CreateOrUpdate<
|
|
|
531
572
|
* model DeleteDog is Delete<Dog>;
|
|
532
573
|
* ```
|
|
533
574
|
*/
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
...T;
|
|
539
|
-
}
|
|
575
|
+
alias Delete<
|
|
576
|
+
T extends Model,
|
|
577
|
+
NameTemplate extends valueof string = "Delete{name}"
|
|
578
|
+
> = applyVisibilityFilter(T, #{ all: #[Lifecycle.Delete] }, NameTemplate);
|
|
540
579
|
|
|
541
580
|
/**
|
|
542
581
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
@@ -580,9 +619,7 @@ model Delete<T extends Reflection.Model, NameTemplate extends valueof string = "
|
|
|
580
619
|
* model QueryDog is Query<Dog>;
|
|
581
620
|
* ```
|
|
582
621
|
*/
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
...T;
|
|
588
|
-
}
|
|
622
|
+
alias Query<
|
|
623
|
+
T extends Model,
|
|
624
|
+
NameTemplate extends valueof string = "Query{name}"
|
|
625
|
+
> = applyVisibilityFilter(T, #{ all: #[Lifecycle.Query] }, NameTemplate);
|