From 2e416f02b17e53ea3e61daa7e7e77efce6709851 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Tue, 11 Apr 2023 13:49:20 -0500 Subject: [PATCH 1/4] Prepare typespec publish --- .../compiler/bugfix_2023-03-22-15-29.json | 10 - .../core-DiagnosticFix_2023-03-20-21-45.json | 10 - ...re-metatype-accessor_2023-03-23-21-06.json | 10 - ...-override-conditions_2023-03-21-15-42.json | 10 - ...feature-std-lib-docs_2023-03-29-20-20.json | 10 - ...as-unknown-ref-crash_2023-03-27-21-15.json | 10 - .../fix-assign-to-array_2023-03-27-20-44.json | 10 - .../fix-code-uninstall_2023-03-21-20-22.json | 10 - ...-template-constraint_2023-03-28-17-22.json | 10 - .../fixTemplateTarget_2023-03-27-17-15.json | 10 - ...l-projected-name-fix_2023-03-17-22-52.json | 10 - ...erpolate-config-path_2023-04-05-15-24.json | 10 - ...t-typespec-namespace_2023-04-03-16-41.json | 10 - .../overload-int_2023-03-29-02-19.json | 10 - .../pre-projection3_2023-04-05-16-22.json | 10 - .../pre-projection3_2023-04-05-16-24.json | 10 - ...mber-order-on-rename_2023-03-22-21-07.json | 10 - .../test-prefix_2023-03-28-15-38.json | 10 - .../utc-date-time_2023-04-06-03-06.json | 10 - .../pre-projection3_2023-04-05-16-22.json | 10 - ...mber-order-on-rename_2023-03-22-21-07.json | 10 - ...SharedRoutesOpenAPI3_2023-03-30-23-41.json | 10 - ...SharedRoutesOpenAPI3_2023-04-04-20-35.json | 10 - ...uery-format-required_2023-03-22-17-21.json | 10 - .../http/httpDocsFixes_2023-03-27-20-20.json | 10 - ...t-typespec-namespace_2023-04-03-16-41.json | 10 - .../no-global-linter_2023-04-05-19-11.json | 10 - .../date-time-migrate_2023-04-07-23-20.json | 10 - ...uery-format-required_2023-03-22-17-21.json | 10 - ...t-typespec-namespace_2023-04-03-16-41.json | 10 - .../core-DiagnosticFix_2023-03-20-22-25.json | 10 - ...SharedRoutesOpenAPI3_2023-03-30-23-41.json | 10 - ...uery-format-required_2023-03-22-17-59.json | 10 - ...erpolate-config-path_2023-04-05-15-24.json | 10 - ...t-typespec-namespace_2023-04-03-16-41.json | 10 - .../overload-int_2023-03-29-02-19.json | 10 - .../pre-projection3_2023-04-05-16-22.json | 10 - ...mber-order-on-rename_2023-03-22-21-07.json | 10 - .../utc-date-time_2023-04-06-03-06.json | 10 - .../addVersioningDocs_2023-03-22-21-01.json | 10 - .../fixActionParameter_2023-03-21-21-15.json | 10 - ...t-typespec-namespace_2023-04-03-16-41.json | 10 - .../addVersioningDocs_2023-03-17-17-39.json | 10 - .../addVersioningDocs_2023-03-22-21-01.json | 10 - ...ng-across-namespaces_2023-03-31-18-34.json | 10 - ...t-typespec-namespace_2023-04-03-16-41.json | 10 - .../pre-projection3_2023-04-05-16-22.json | 10 - .../utc-date-time_2023-04-06-03-06.json | 10 - ...ing-removeDeprecated_2023-03-17-18-06.json | 10 - ...arkdown-highlighting_2023-03-21-20-12.json | 10 - common/config/rush/version-policies.json | 2 +- packages/bundler/package.json | 2 +- packages/compiler/CHANGELOG.json | 60 ++ packages/compiler/CHANGELOG.md | 25 +- packages/compiler/package.json | 2 +- .../eslint-plugin-typespec/CHANGELOG.json | 6 + packages/eslint-plugin-typespec/CHANGELOG.md | 7 +- packages/eslint-plugin-typespec/package.json | 2 +- packages/html-program-viewer/CHANGELOG.json | 6 + packages/html-program-viewer/CHANGELOG.md | 7 +- packages/html-program-viewer/package.json | 6 +- packages/http/CHANGELOG.json | 12 + packages/http/CHANGELOG.md | 9 +- packages/http/package.json | 10 +- packages/library-linter/CHANGELOG.json | 6 + packages/library-linter/CHANGELOG.md | 7 +- packages/library-linter/package.json | 6 +- packages/lint/CHANGELOG.json | 12 + packages/lint/CHANGELOG.md | 9 +- packages/lint/package.json | 8 +- packages/migrate/CHANGELOG.json | 15 + packages/migrate/CHANGELOG.md | 10 +- packages/migrate/package.json | 8 +- packages/openapi/CHANGELOG.json | 6 + packages/openapi/CHANGELOG.md | 7 +- packages/openapi/package.json | 18 +- packages/openapi3/CHANGELOG.json | 21 + packages/openapi3/CHANGELOG.md | 12 +- packages/openapi3/package.json | 26 +- packages/playground/package.json | 14 +- .../prettier-plugin-typespec/CHANGELOG.json | 6 + .../prettier-plugin-typespec/CHANGELOG.md | 7 +- .../prettier-plugin-typespec/package.json | 4 +- packages/ref-doc/package.json | 4 +- packages/rest/CHANGELOG.json | 12 + packages/rest/CHANGELOG.md | 9 +- packages/rest/package.json | 12 +- packages/samples/package.json | 14 +- packages/typespec-vs/CHANGELOG.json | 6 + packages/typespec-vs/CHANGELOG.md | 7 +- packages/typespec-vs/package.json | 4 +- packages/typespec-vscode/CHANGELOG.json | 12 + packages/typespec-vscode/CHANGELOG.md | 9 +- packages/typespec-vscode/package.json | 4 +- packages/versioning/CHANGELOG.json | 21 + packages/versioning/CHANGELOG.md | 12 +- packages/versioning/package.json | 8 +- packages/website/package.json | 8 +- .../compiler/reference/data-types.md | 115 --- .../compiler/reference/decorators.md | 665 ---------------- .../compiler/reference/index.md | 54 -- .../extending-typespec/linters.md | 13 +- .../typespec-for-openapi-dev.md | 3 +- .../configuration/configuration.md | 76 +- .../version-latest/introduction/releases.md | 2 +- .../introduction/reproducibility.md | 34 + .../built-in-types.md | 13 +- .../version-latest/language-basics/models.md | 8 + .../language-basics/operations.md | 17 + .../standard-library/built-in-decorators.md | 707 +++++++++++------- .../{rest => http}/authentication.md | 0 .../standard-library/http/overview.md | 73 ++ .../http/reference/data-types.md | 242 +++--- .../http/reference/decorators.md | 225 +++--- .../standard-library/http/reference/index.md | 55 +- .../standard-library/openapi/openapi.md | 25 +- .../openapi/reference/decorators.md | 71 +- .../openapi/reference/index.md | 4 +- .../reference/js-api/_category_.json | 0 .../js-api/classes/DuplicateTracker.md | 0 .../reference/js-api/classes/EventEmitter.md | 0 .../js-api/classes/ProjectionError.md | 0 .../reference/js-api/classes/Queue.md | 0 .../js-api/classes/ResolveModuleError.md | 0 .../reference/js-api/classes/TwoLevelMap.md | 6 +- .../reference/js-api/enums/IdentifierKind.md | 0 .../reference/js-api/enums/KeywordLimit.md | 0 .../reference/js-api/enums/ListenerFlow.md | 0 .../reference/js-api/enums/ModifierFlags.md | 0 .../reference/js-api/enums/NodeFlags.md | 0 .../js-api/enums/SemanticTokenKind.md | 0 .../reference/js-api/enums/SymbolFlags.md | 0 .../reference/js-api/enums/SyntaxKind.md | 69 +- .../reference/js-api/enums/Token.md | 0 .../reference/js-api/enums/TokenFlags.md | 0 .../reference/js-api/enums/UsageFlags.md | 0 .../reference/js-api/index.md | 72 +- .../js-api/interfaces/AliasStatementNode.md | 0 .../js-api/interfaces/AnyKeywordNode.md | 0 .../js-api/interfaces/ArrayExpressionNode.md | 0 .../js-api/interfaces/ArrayModelType.md | 13 +- .../AugmentDecoratorStatementNode.md | 0 .../reference/js-api/interfaces/BaseNode.md | 6 + .../reference/js-api/interfaces/BaseType.md | 0 .../js-api/interfaces/BlockComment.md | 0 .../js-api/interfaces/BooleanLiteral.md | 0 .../js-api/interfaces/BooleanLiteralNode.md | 0 .../js-api/interfaces/CallableMessage.md | 0 .../reference/js-api/interfaces/Checker.md | 0 .../js-api/interfaces/CompilerHost.md | 0 .../js-api/interfaces/DeclarationNode.md | 0 .../js-api/interfaces/DecoratedType.md | 0 .../reference/js-api/interfaces/Decorator.md | 0 .../js-api/interfaces/DecoratorApplication.md | 0 .../js-api/interfaces/DecoratorArgument.md | 0 .../js-api/interfaces/DecoratorContext.md | 0 .../DecoratorDeclarationStatementNode.md | 0 .../js-api/interfaces/DecoratorDefinition.md | 0 .../interfaces/DecoratorExpressionNode.md | 0 .../js-api/interfaces/DecoratorFunction.md | 0 .../interfaces/DecoratorParamDefinition.md | 0 .../js-api/interfaces/DecoratorValidator.md | 0 .../reference/js-api/interfaces/Diagnostic.md | 0 .../js-api/interfaces/DiagnosticCollector.md | 0 .../js-api/interfaces/DiagnosticCreator.md | 0 .../js-api/interfaces/DiagnosticDefinition.md | 0 .../js-api/interfaces/DiagnosticMessages.md | 0 .../js-api/interfaces/DirectiveBase.md | 0 .../interfaces/DirectiveExpressionNode.md | 0 .../reference/js-api/interfaces/Dirent.md | 0 .../js-api/interfaces/DiscriminatedUnion.md | 0 .../js-api/interfaces/Discriminator.md | 0 .../reference/js-api/interfaces/DocNode.md | 0 .../js-api/interfaces/DocParamTagNode.md | 0 .../js-api/interfaces/DocReturnsTagNode.md | 0 .../js-api/interfaces/DocTagBaseNode.md | 0 .../js-api/interfaces/DocTemplateTagNode.md | 0 .../js-api/interfaces/DocTextNode.md | 0 .../js-api/interfaces/DocUnknownTagNode.md | 0 .../js-api/interfaces/EmitContext.md | 0 .../js-api/interfaces/EmitFileOptions.md | 0 .../js-api/interfaces/EmptyStatementNode.md | 0 .../reference/js-api/interfaces/Enum.md | 7 +- .../reference/js-api/interfaces/EnumMember.md | 0 .../js-api/interfaces/EnumMemberNode.md | 0 .../js-api/interfaces/EnumSpreadMemberNode.md | 0 .../js-api/interfaces/EnumStatementNode.md | 0 .../reference/js-api/interfaces/ErrorType.md | 0 .../js-api/interfaces/ExternKeywordNode.md | 0 .../FunctionDeclarationStatementNode.md | 0 .../js-api/interfaces/FunctionParameter.md | 0 .../interfaces/FunctionParameterNode.md | 0 .../js-api/interfaces/FunctionType.md | 0 .../js-api/interfaces/IdentifierContext.md | 0 .../js-api/interfaces/IdentifierNode.md | 0 .../js-api/interfaces/ImportStatementNode.md | 0 .../reference/js-api/interfaces/Interface.md | 22 +- .../interfaces/InterfaceStatementNode.md | 0 .../interfaces/IntersectionExpressionNode.md | 0 .../js-api/interfaces/IntrinsicType.md | 0 .../js-api/interfaces/InvalidStatementNode.md | 0 .../js-api/interfaces/JSONSchemaValidator.md | 0 .../js-api/interfaces/JsSourceFileNode.md | 0 .../js-api/interfaces/LineAndCharacter.md | 0 .../js-api/interfaces/LineComment.md | 0 .../js-api/interfaces/ListOperationOptions.md | 0 .../reference/js-api/interfaces/LogInfo.md | 0 .../reference/js-api/interfaces/LogSink.md | 0 .../reference/js-api/interfaces/Logger.md | 0 .../js-api/interfaces/MemberExpressionNode.md | 7 + .../reference/js-api/interfaces/Model.md | 13 +- .../js-api/interfaces/ModelExpressionNode.md | 0 .../js-api/interfaces/ModelProperty.md | 0 .../js-api/interfaces/ModelPropertyNode.md | 0 .../interfaces/ModelSpreadPropertyNode.md | 0 .../js-api/interfaces/ModelStatementNode.md | 0 .../reference/js-api/interfaces/Namespace.md | 36 + .../interfaces/NamespaceNavigationOptions.md | 0 .../interfaces/NamespaceStatementNode.md | 0 .../js-api/interfaces/NavigationOptions.md | 0 .../js-api/interfaces/NeverKeywordNode.md | 0 .../reference/js-api/interfaces/NeverType.md | 0 .../js-api/interfaces/NodePackage.md | 0 .../reference/js-api/interfaces/NullType.md | 0 .../js-api/interfaces/NumericLiteral.md | 0 .../js-api/interfaces/NumericLiteralNode.md | 0 .../reference/js-api/interfaces/ObjectType.md | 0 .../reference/js-api/interfaces/Operation.md | 0 .../OperationSignatureDeclarationNode.md | 0 .../OperationSignatureReferenceNode.md | 0 .../interfaces/OperationStatementNode.md | 0 .../js-api/interfaces/ParseOptions.md | 0 .../js-api/interfaces/ProcessedLog.md | 0 .../reference/js-api/interfaces/Program.md | 0 .../js-api/interfaces/ProjectedNameView.md | 0 .../js-api/interfaces/ProjectedProgram.md | 0 .../reference/js-api/interfaces/Projection.md | 0 .../interfaces/ProjectionApplication.md | 0 .../ProjectionArithmeticExpressionNode.md | 0 .../ProjectionBlockExpressionNode.md | 0 .../ProjectionCallExpressionNode.md | 0 ...jectionDecoratorReferenceExpressionNode.md | 0 .../ProjectionEnumMemberSelectorNode.md | 111 +++ .../interfaces/ProjectionEnumSelectorNode.md | 0 .../ProjectionEqualityExpressionNode.md | 0 .../ProjectionExpressionStatementNode.md | 0 .../interfaces/ProjectionIfExpressionNode.md | 0 .../ProjectionInterfaceSelectorNode.md | 0 .../ProjectionLambdaExpressionNode.md | 2 +- ...rojectionLambdaParameterDeclarationNode.md | 0 .../ProjectionLogicalExpressionNode.md | 0 .../ProjectionMemberExpressionNode.md | 0 .../ProjectionModelExpressionNode.md | 0 .../interfaces/ProjectionModelPropertyNode.md | 0 .../ProjectionModelPropertySelectorNode.md | 111 +++ .../interfaces/ProjectionModelSelectorNode.md | 0 .../ProjectionModelSpreadPropertyNode.md | 0 .../js-api/interfaces/ProjectionNode.md | 11 +- .../ProjectionOperationSelectorNode.md | 0 .../ProjectionParameterDeclarationNode.md | 0 .../interfaces/ProjectionReferenceNode.md | 0 .../ProjectionRelationalExpressionNode.md | 0 .../interfaces/ProjectionStatementNode.md | 23 +- .../ProjectionTupleExpressionNode.md | 0 .../ProjectionUnaryExpressionNode.md | 0 .../interfaces/ProjectionUnionSelectorNode.md | 0 .../ProjectionUnionVariantSelectorNode.md | 111 +++ .../reference/js-api/interfaces/Projector.md | 0 .../js-api/interfaces/RecordModelType.md | 13 +- .../js-api/interfaces/RekeyableMap.md | 272 +++++++ .../js-api/interfaces/ResolveModuleHost.md | 0 .../js-api/interfaces/ResolveModuleOptions.md | 0 .../js-api/interfaces/ResolvedFile.md | 0 .../js-api/interfaces/ResolvedModule.md | 0 .../js-api/interfaces/ReturnExpressionNode.md | 0 .../js-api/interfaces/ReturnRecord.md | 0 .../reference/js-api/interfaces/RmOptions.md | 0 .../reference/js-api/interfaces/Scalar.md | 0 .../js-api/interfaces/ScalarStatementNode.md | 0 .../reference/js-api/interfaces/Scanner.md | 0 .../js-api/interfaces/SemanticToken.md | 0 .../reference/js-api/interfaces/Server.md | 0 .../reference/js-api/interfaces/ServerHost.md | 0 .../js-api/interfaces/ServerSourceFile.md | 0 .../interfaces/ServerWorkspaceFolder.md | 0 .../reference/js-api/interfaces/Service.md | 0 .../js-api/interfaces/ServiceDetails.md | 0 .../reference/js-api/interfaces/SourceFile.md | 0 .../js-api/interfaces/SourceLocation.md | 0 .../js-api/interfaces/StringLiteral.md | 0 .../js-api/interfaces/StringLiteralNode.md | 0 .../js-api/interfaces/SuppressDirective.md | 0 .../reference/js-api/interfaces/Sym.md | 9 + .../js-api/interfaces/SymbolLinks.md | 0 .../js-api/interfaces/SymbolTable.md | 2 +- .../interfaces/TemplateDeclarationNode.md | 0 .../js-api/interfaces/TemplateParameter.md | 0 .../TemplateParameterDeclarationNode.md | 0 .../js-api/interfaces/TemplatedTypeBase.md | 0 .../reference/js-api/interfaces/TextRange.md | 0 .../reference/js-api/interfaces/Tracer.md | 0 .../js-api/interfaces/TracerOptions.md | 0 .../reference/js-api/interfaces/Tuple.md | 0 .../js-api/interfaces/TupleExpressionNode.md | 0 .../js-api/interfaces/TypeInstantiationMap.md | 0 .../reference/js-api/interfaces/TypeMapper.md | 0 .../js-api/interfaces/TypeNameOptions.md | 0 .../js-api/interfaces/TypeReferenceNode.md | 0 .../interfaces/TypeSpecCompletionItem.md | 0 .../js-api/interfaces/TypeSpecLibrary.md | 0 .../js-api/interfaces/TypeSpecLibraryDef.md | 0 .../js-api/interfaces/TypeSpecManifest.md | 0 .../js-api/interfaces/TypeSpecScriptNode.md | 0 .../reference/js-api/interfaces/Union.md | 6 +- .../js-api/interfaces/UnionExpressionNode.md | 0 .../js-api/interfaces/UnionStatementNode.md | 0 .../js-api/interfaces/UnionVariant.md | 0 .../js-api/interfaces/UnionVariantNode.md | 0 .../js-api/interfaces/UnknownType.md | 0 .../js-api/interfaces/UsageTracker.md | 0 .../js-api/interfaces/UsingStatementNode.md | 0 .../js-api/interfaces/VoidKeywordNode.md | 0 .../reference/js-api/interfaces/VoidType.md | 0 .../interfaces/decorators.Discriminator.md | 0 .../js-api/interfaces/decorators.Service.md | 0 .../interfaces/decorators.ServiceDetails.md | 0 .../reference/js-api/modules/decorators.md | 0 .../standard-library/rest/overview.md | 54 +- .../rest/reference/data-types.md | 318 ++++---- .../rest/reference/decorators.md | 195 +++-- .../standard-library/rest/reference/index.md | 100 +-- .../rest/reference/interfaces.md | 258 +++---- .../standard-library/versioning/overview.md | 204 +++++ .../versioning/reference/decorators.md | 137 ++++ .../versioning/reference/index.md | 18 + .../reference/js-api/_category_.json | 1 + .../reference/js-api/classes/VersionMap.md | 77 ++ .../reference/js-api/enums/Availability.md | 36 + .../versioning/reference/js-api/index.md | 704 +++++++++++++++++ .../reference/js-api/interfaces/Version.md | 43 ++ .../js-api/interfaces/VersionResolution.md | 26 + .../version-latest-sidebars.json | 67 +- 342 files changed, 3998 insertions(+), 2564 deletions(-) delete mode 100644 common/changes/@typespec/compiler/bugfix_2023-03-22-15-29.json delete mode 100644 common/changes/@typespec/compiler/core-DiagnosticFix_2023-03-20-21-45.json delete mode 100644 common/changes/@typespec/compiler/feature-metatype-accessor_2023-03-23-21-06.json delete mode 100644 common/changes/@typespec/compiler/feature-relax-override-conditions_2023-03-21-15-42.json delete mode 100644 common/changes/@typespec/compiler/feature-std-lib-docs_2023-03-29-20-20.json delete mode 100644 common/changes/@typespec/compiler/fix-alias-unknown-ref-crash_2023-03-27-21-15.json delete mode 100644 common/changes/@typespec/compiler/fix-assign-to-array_2023-03-27-20-44.json delete mode 100644 common/changes/@typespec/compiler/fix-code-uninstall_2023-03-21-20-22.json delete mode 100644 common/changes/@typespec/compiler/fix-enum-member-template-constraint_2023-03-28-17-22.json delete mode 100644 common/changes/@typespec/compiler/fixTemplateTarget_2023-03-27-17-15.json delete mode 100644 common/changes/@typespec/compiler/general-projected-name-fix_2023-03-17-22-52.json delete mode 100644 common/changes/@typespec/compiler/interpolate-config-path_2023-04-05-15-24.json delete mode 100644 common/changes/@typespec/compiler/omit-typespec-namespace_2023-04-03-16-41.json delete mode 100644 common/changes/@typespec/compiler/overload-int_2023-03-29-02-19.json delete mode 100644 common/changes/@typespec/compiler/pre-projection3_2023-04-05-16-22.json delete mode 100644 common/changes/@typespec/compiler/pre-projection3_2023-04-05-16-24.json delete mode 100644 common/changes/@typespec/compiler/preserve-member-order-on-rename_2023-03-22-21-07.json delete mode 100644 common/changes/@typespec/compiler/test-prefix_2023-03-28-15-38.json delete mode 100644 common/changes/@typespec/compiler/utc-date-time_2023-04-06-03-06.json delete mode 100644 common/changes/@typespec/html-program-viewer/pre-projection3_2023-04-05-16-22.json delete mode 100644 common/changes/@typespec/html-program-viewer/preserve-member-order-on-rename_2023-03-22-21-07.json delete mode 100644 common/changes/@typespec/http/emitters-SharedRoutesOpenAPI3_2023-03-30-23-41.json delete mode 100644 common/changes/@typespec/http/emitters-SharedRoutesOpenAPI3_2023-04-04-20-35.json delete mode 100644 common/changes/@typespec/http/header-query-format-required_2023-03-22-17-21.json delete mode 100644 common/changes/@typespec/http/httpDocsFixes_2023-03-27-20-20.json delete mode 100644 common/changes/@typespec/http/omit-typespec-namespace_2023-04-03-16-41.json delete mode 100644 common/changes/@typespec/lint/no-global-linter_2023-04-05-19-11.json delete mode 100644 common/changes/@typespec/migrate/date-time-migrate_2023-04-07-23-20.json delete mode 100644 common/changes/@typespec/migrate/header-query-format-required_2023-03-22-17-21.json delete mode 100644 common/changes/@typespec/openapi/omit-typespec-namespace_2023-04-03-16-41.json delete mode 100644 common/changes/@typespec/openapi3/core-DiagnosticFix_2023-03-20-22-25.json delete mode 100644 common/changes/@typespec/openapi3/emitters-SharedRoutesOpenAPI3_2023-03-30-23-41.json delete mode 100644 common/changes/@typespec/openapi3/header-query-format-required_2023-03-22-17-59.json delete mode 100644 common/changes/@typespec/openapi3/interpolate-config-path_2023-04-05-15-24.json delete mode 100644 common/changes/@typespec/openapi3/omit-typespec-namespace_2023-04-03-16-41.json delete mode 100644 common/changes/@typespec/openapi3/overload-int_2023-03-29-02-19.json delete mode 100644 common/changes/@typespec/openapi3/pre-projection3_2023-04-05-16-22.json delete mode 100644 common/changes/@typespec/openapi3/preserve-member-order-on-rename_2023-03-22-21-07.json delete mode 100644 common/changes/@typespec/openapi3/utc-date-time_2023-04-06-03-06.json delete mode 100644 common/changes/@typespec/rest/addVersioningDocs_2023-03-22-21-01.json delete mode 100644 common/changes/@typespec/rest/fixActionParameter_2023-03-21-21-15.json delete mode 100644 common/changes/@typespec/rest/omit-typespec-namespace_2023-04-03-16-41.json delete mode 100644 common/changes/@typespec/versioning/addVersioningDocs_2023-03-17-17-39.json delete mode 100644 common/changes/@typespec/versioning/addVersioningDocs_2023-03-22-21-01.json delete mode 100644 common/changes/@typespec/versioning/fix-versioning-across-namespaces_2023-03-31-18-34.json delete mode 100644 common/changes/@typespec/versioning/omit-typespec-namespace_2023-04-03-16-41.json delete mode 100644 common/changes/@typespec/versioning/pre-projection3_2023-04-05-16-22.json delete mode 100644 common/changes/@typespec/versioning/utc-date-time_2023-04-06-03-06.json delete mode 100644 common/changes/@typespec/versioning/versioning-removeDeprecated_2023-03-17-18-06.json delete mode 100644 common/changes/typespec-vscode/missing-markdown-highlighting_2023-03-21-20-12.json delete mode 100644 packages/website/versioned_docs/version-latest/compiler/reference/data-types.md delete mode 100644 packages/website/versioned_docs/version-latest/compiler/reference/decorators.md delete mode 100644 packages/website/versioned_docs/version-latest/compiler/reference/index.md create mode 100644 packages/website/versioned_docs/version-latest/introduction/reproducibility.md rename packages/website/versioned_docs/version-latest/{standard-library => language-basics}/built-in-types.md (85%) rename packages/website/versioned_docs/version-latest/standard-library/{rest => http}/authentication.md (100%) create mode 100644 packages/website/versioned_docs/version-latest/standard-library/http/overview.md rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/_category_.json (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/classes/DuplicateTracker.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/classes/EventEmitter.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/classes/ProjectionError.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/classes/Queue.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/classes/ResolveModuleError.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/classes/TwoLevelMap.md (98%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/enums/IdentifierKind.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/enums/KeywordLimit.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/enums/ListenerFlow.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/enums/ModifierFlags.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/enums/NodeFlags.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/enums/SemanticTokenKind.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/enums/SymbolFlags.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/enums/SyntaxKind.md (85%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/enums/Token.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/enums/TokenFlags.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/enums/UsageFlags.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/index.md (98%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/AliasStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/AnyKeywordNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ArrayExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ArrayModelType.md (89%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/AugmentDecoratorStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/BaseNode.md (96%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/BaseType.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/BlockComment.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/BooleanLiteral.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/BooleanLiteralNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/CallableMessage.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Checker.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/CompilerHost.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DeclarationNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DecoratedType.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Decorator.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DecoratorApplication.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DecoratorArgument.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DecoratorContext.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DecoratorDeclarationStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DecoratorDefinition.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DecoratorExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DecoratorFunction.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DecoratorParamDefinition.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DecoratorValidator.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Diagnostic.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DiagnosticCollector.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DiagnosticCreator.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DiagnosticDefinition.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DiagnosticMessages.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DirectiveBase.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DirectiveExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Dirent.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DiscriminatedUnion.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Discriminator.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DocNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DocParamTagNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DocReturnsTagNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DocTagBaseNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DocTemplateTagNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DocTextNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/DocUnknownTagNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/EmitContext.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/EmitFileOptions.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/EmptyStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Enum.md (91%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/EnumMember.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/EnumMemberNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/EnumSpreadMemberNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/EnumStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ErrorType.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ExternKeywordNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/FunctionDeclarationStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/FunctionParameter.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/FunctionParameterNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/FunctionType.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/IdentifierContext.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/IdentifierNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ImportStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Interface.md (82%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/InterfaceStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/IntersectionExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/IntrinsicType.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/InvalidStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/JSONSchemaValidator.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/JsSourceFileNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/LineAndCharacter.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/LineComment.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ListOperationOptions.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/LogInfo.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/LogSink.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Logger.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/MemberExpressionNode.md (95%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Model.md (88%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ModelExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ModelProperty.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ModelPropertyNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ModelSpreadPropertyNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ModelStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Namespace.md (83%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/NamespaceNavigationOptions.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/NamespaceStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/NavigationOptions.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/NeverKeywordNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/NeverType.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/NodePackage.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/NullType.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/NumericLiteral.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/NumericLiteralNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ObjectType.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Operation.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/OperationSignatureDeclarationNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/OperationSignatureReferenceNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/OperationStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ParseOptions.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProcessedLog.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Program.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectedNameView.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectedProgram.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Projection.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionApplication.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionArithmeticExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionBlockExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionCallExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionDecoratorReferenceExpressionNode.md (100%) create mode 100644 packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionEnumMemberSelectorNode.md rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionEnumSelectorNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionEqualityExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionExpressionStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionIfExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionInterfaceSelectorNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionLambdaExpressionNode.md (95%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionLambdaParameterDeclarationNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionLogicalExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionMemberExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionModelExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionModelPropertyNode.md (100%) create mode 100644 packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelPropertySelectorNode.md rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionModelSelectorNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionModelSpreadPropertyNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionNode.md (87%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionOperationSelectorNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionParameterDeclarationNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionReferenceNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionRelationalExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionStatementNode.md (75%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionTupleExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionUnaryExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ProjectionUnionSelectorNode.md (100%) create mode 100644 packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionUnionVariantSelectorNode.md rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Projector.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/RecordModelType.md (89%) create mode 100644 packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/RekeyableMap.md rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ResolveModuleHost.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ResolveModuleOptions.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ResolvedFile.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ResolvedModule.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ReturnExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ReturnRecord.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/RmOptions.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Scalar.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ScalarStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Scanner.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/SemanticToken.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Server.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ServerHost.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ServerSourceFile.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ServerWorkspaceFolder.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Service.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/ServiceDetails.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/SourceFile.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/SourceLocation.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/StringLiteral.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/StringLiteralNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/SuppressDirective.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Sym.md (92%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/SymbolLinks.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/SymbolTable.md (98%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TemplateDeclarationNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TemplateParameter.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TemplateParameterDeclarationNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TemplatedTypeBase.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TextRange.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Tracer.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TracerOptions.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Tuple.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TupleExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TypeInstantiationMap.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TypeMapper.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TypeNameOptions.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TypeReferenceNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TypeSpecCompletionItem.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TypeSpecLibrary.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TypeSpecLibraryDef.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TypeSpecManifest.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/TypeSpecScriptNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/Union.md (95%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/UnionExpressionNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/UnionStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/UnionVariant.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/UnionVariantNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/UnknownType.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/UsageTracker.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/UsingStatementNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/VoidKeywordNode.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/VoidType.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/decorators.Discriminator.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/decorators.Service.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/interfaces/decorators.ServiceDetails.md (100%) rename packages/website/versioned_docs/version-latest/{compiler => standard-library}/reference/js-api/modules/decorators.md (100%) create mode 100644 packages/website/versioned_docs/version-latest/standard-library/versioning/overview.md create mode 100644 packages/website/versioned_docs/version-latest/standard-library/versioning/reference/decorators.md create mode 100644 packages/website/versioned_docs/version-latest/standard-library/versioning/reference/index.md create mode 100644 packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/_category_.json create mode 100644 packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/classes/VersionMap.md create mode 100644 packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/enums/Availability.md create mode 100644 packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/index.md create mode 100644 packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/interfaces/Version.md create mode 100644 packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/interfaces/VersionResolution.md diff --git a/common/changes/@typespec/compiler/bugfix_2023-03-22-15-29.json b/common/changes/@typespec/compiler/bugfix_2023-03-22-15-29.json deleted file mode 100644 index 93554f06ec0..00000000000 --- a/common/changes/@typespec/compiler/bugfix_2023-03-22-15-29.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Bug: Emitter framework will now visit scalar declarations", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/core-DiagnosticFix_2023-03-20-21-45.json b/common/changes/@typespec/compiler/core-DiagnosticFix_2023-03-20-21-45.json deleted file mode 100644 index b28816dfbba..00000000000 --- a/common/changes/@typespec/compiler/core-DiagnosticFix_2023-03-20-21-45.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Emit diagnostic when ambiguous symbol exists between global and usings.", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/feature-metatype-accessor_2023-03-23-21-06.json b/common/changes/@typespec/compiler/feature-metatype-accessor_2023-03-23-21-06.json deleted file mode 100644 index c7cdf2ba121..00000000000 --- a/common/changes/@typespec/compiler/feature-metatype-accessor_2023-03-23-21-06.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Feature: Add support for referencing metatypes ModelProperty `::type` and Operation `::returnType` and `::parameters`", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/feature-relax-override-conditions_2023-03-21-15-42.json b/common/changes/@typespec/compiler/feature-relax-override-conditions_2023-03-21-15-42.json deleted file mode 100644 index 0c2154618cb..00000000000 --- a/common/changes/@typespec/compiler/feature-relax-override-conditions_2023-03-21-15-42.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Relax constraint on derived type overrides", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/feature-std-lib-docs_2023-03-29-20-20.json b/common/changes/@typespec/compiler/feature-std-lib-docs_2023-03-29-20-20.json deleted file mode 100644 index 5945164bd23..00000000000 --- a/common/changes/@typespec/compiler/feature-std-lib-docs_2023-03-29-20-20.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/fix-alias-unknown-ref-crash_2023-03-27-21-15.json b/common/changes/@typespec/compiler/fix-alias-unknown-ref-crash_2023-03-27-21-15.json deleted file mode 100644 index 58d176003af..00000000000 --- a/common/changes/@typespec/compiler/fix-alias-unknown-ref-crash_2023-03-27-21-15.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Fix: Alias unknown ref crash", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/fix-assign-to-array_2023-03-27-20-44.json b/common/changes/@typespec/compiler/fix-assign-to-array_2023-03-27-20-44.json deleted file mode 100644 index 6c5542e83e9..00000000000 --- a/common/changes/@typespec/compiler/fix-assign-to-array_2023-03-27-20-44.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Fix: Empty model expression assignable to array", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/fix-code-uninstall_2023-03-21-20-22.json b/common/changes/@typespec/compiler/fix-code-uninstall_2023-03-21-20-22.json deleted file mode 100644 index 07bd6f80ee5..00000000000 --- a/common/changes/@typespec/compiler/fix-code-uninstall_2023-03-21-20-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Fix `tsp code uninstall` not finding extension to uninstall.", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/fix-enum-member-template-constraint_2023-03-28-17-22.json b/common/changes/@typespec/compiler/fix-enum-member-template-constraint_2023-03-28-17-22.json deleted file mode 100644 index 856165bf1ff..00000000000 --- a/common/changes/@typespec/compiler/fix-enum-member-template-constraint_2023-03-28-17-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Fix Issue where template parameter type check wouldn't work if constraint is exact same type as next validation.", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/fixTemplateTarget_2023-03-27-17-15.json b/common/changes/@typespec/compiler/fixTemplateTarget_2023-03-27-17-15.json deleted file mode 100644 index 2fad6f58d44..00000000000 --- a/common/changes/@typespec/compiler/fixTemplateTarget_2023-03-27-17-15.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Prevent use of augment decorators on instantiated templates.", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/general-projected-name-fix_2023-03-17-22-52.json b/common/changes/@typespec/compiler/general-projected-name-fix_2023-03-17-22-52.json deleted file mode 100644 index 7da520a7e4f..00000000000 --- a/common/changes/@typespec/compiler/general-projected-name-fix_2023-03-17-22-52.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Allow projectedNames helpers to work with previous projections", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/interpolate-config-path_2023-04-05-15-24.json b/common/changes/@typespec/compiler/interpolate-config-path_2023-04-05-15-24.json deleted file mode 100644 index 13d8dee3a40..00000000000 --- a/common/changes/@typespec/compiler/interpolate-config-path_2023-04-05-15-24.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Add helper `interpolatePath` for emitter to do additional interpolation on config properties", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/omit-typespec-namespace_2023-04-03-16-41.json b/common/changes/@typespec/compiler/omit-typespec-namespace_2023-04-03-16-41.json deleted file mode 100644 index b6642d158fb..00000000000 --- a/common/changes/@typespec/compiler/omit-typespec-namespace_2023-04-03-16-41.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Api: Update `getTypeName` to omit standard library namespace", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/overload-int_2023-03-29-02-19.json b/common/changes/@typespec/compiler/overload-int_2023-03-29-02-19.json deleted file mode 100644 index c1976c253c3..00000000000 --- a/common/changes/@typespec/compiler/overload-int_2023-03-29-02-19.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Allow overloads in interfaces to work under projection", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/pre-projection3_2023-04-05-16-22.json b/common/changes/@typespec/compiler/pre-projection3_2023-04-05-16-22.json deleted file mode 100644 index 4c4a064f5a8..00000000000 --- a/common/changes/@typespec/compiler/pre-projection3_2023-04-05-16-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Add pre-projection support.", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} diff --git a/common/changes/@typespec/compiler/pre-projection3_2023-04-05-16-24.json b/common/changes/@typespec/compiler/pre-projection3_2023-04-05-16-24.json deleted file mode 100644 index 473e2b395c4..00000000000 --- a/common/changes/@typespec/compiler/pre-projection3_2023-04-05-16-24.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Provide access to extended interfaces in type graph.", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/preserve-member-order-on-rename_2023-03-22-21-07.json b/common/changes/@typespec/compiler/preserve-member-order-on-rename_2023-03-22-21-07.json deleted file mode 100644 index 6487959180e..00000000000 --- a/common/changes/@typespec/compiler/preserve-member-order-on-rename_2023-03-22-21-07.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Document member ordering and fix projection rename reordering.", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/test-prefix_2023-03-28-15-38.json b/common/changes/@typespec/compiler/test-prefix_2023-03-28-15-38.json deleted file mode 100644 index 5945164bd23..00000000000 --- a/common/changes/@typespec/compiler/test-prefix_2023-03-28-15-38.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/compiler/utc-date-time_2023-04-06-03-06.json b/common/changes/@typespec/compiler/utc-date-time_2023-04-06-03-06.json deleted file mode 100644 index e50b3644244..00000000000 --- a/common/changes/@typespec/compiler/utc-date-time_2023-04-06-03-06.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/compiler", - "comment": "Replaced zonedDateTime with utcDateTime and offsetDateTime", - "type": "none" - } - ], - "packageName": "@typespec/compiler" -} \ No newline at end of file diff --git a/common/changes/@typespec/html-program-viewer/pre-projection3_2023-04-05-16-22.json b/common/changes/@typespec/html-program-viewer/pre-projection3_2023-04-05-16-22.json deleted file mode 100644 index ba2766951c9..00000000000 --- a/common/changes/@typespec/html-program-viewer/pre-projection3_2023-04-05-16-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/html-program-viewer", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/html-program-viewer" -} \ No newline at end of file diff --git a/common/changes/@typespec/html-program-viewer/preserve-member-order-on-rename_2023-03-22-21-07.json b/common/changes/@typespec/html-program-viewer/preserve-member-order-on-rename_2023-03-22-21-07.json deleted file mode 100644 index ba2766951c9..00000000000 --- a/common/changes/@typespec/html-program-viewer/preserve-member-order-on-rename_2023-03-22-21-07.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/html-program-viewer", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/html-program-viewer" -} \ No newline at end of file diff --git a/common/changes/@typespec/http/emitters-SharedRoutesOpenAPI3_2023-03-30-23-41.json b/common/changes/@typespec/http/emitters-SharedRoutesOpenAPI3_2023-03-30-23-41.json deleted file mode 100644 index e59b9bb12e2..00000000000 --- a/common/changes/@typespec/http/emitters-SharedRoutesOpenAPI3_2023-03-30-23-41.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/http", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/http" -} \ No newline at end of file diff --git a/common/changes/@typespec/http/emitters-SharedRoutesOpenAPI3_2023-04-04-20-35.json b/common/changes/@typespec/http/emitters-SharedRoutesOpenAPI3_2023-04-04-20-35.json deleted file mode 100644 index e59b9bb12e2..00000000000 --- a/common/changes/@typespec/http/emitters-SharedRoutesOpenAPI3_2023-04-04-20-35.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/http", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/http" -} \ No newline at end of file diff --git a/common/changes/@typespec/http/header-query-format-required_2023-03-22-17-21.json b/common/changes/@typespec/http/header-query-format-required_2023-03-22-17-21.json deleted file mode 100644 index caa5ff17376..00000000000 --- a/common/changes/@typespec/http/header-query-format-required_2023-03-22-17-21.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/http", - "comment": "**Breaking change** `@header` and `@query` no longer default the `format` to `csv` and `multi` respectively. A value must now be provided when the type is an array.", - "type": "none" - } - ], - "packageName": "@typespec/http" -} \ No newline at end of file diff --git a/common/changes/@typespec/http/httpDocsFixes_2023-03-27-20-20.json b/common/changes/@typespec/http/httpDocsFixes_2023-03-27-20-20.json deleted file mode 100644 index e59b9bb12e2..00000000000 --- a/common/changes/@typespec/http/httpDocsFixes_2023-03-27-20-20.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/http", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/http" -} \ No newline at end of file diff --git a/common/changes/@typespec/http/omit-typespec-namespace_2023-04-03-16-41.json b/common/changes/@typespec/http/omit-typespec-namespace_2023-04-03-16-41.json deleted file mode 100644 index e59b9bb12e2..00000000000 --- a/common/changes/@typespec/http/omit-typespec-namespace_2023-04-03-16-41.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/http", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/http" -} \ No newline at end of file diff --git a/common/changes/@typespec/lint/no-global-linter_2023-04-05-19-11.json b/common/changes/@typespec/lint/no-global-linter_2023-04-05-19-11.json deleted file mode 100644 index 28fac9ed729..00000000000 --- a/common/changes/@typespec/lint/no-global-linter_2023-04-05-19-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/lint", - "comment": "Remove global state. **Breaking change** Rules from another library cannot be enabled on a LibraryLinter.", - "type": "none" - } - ], - "packageName": "@typespec/lint" -} \ No newline at end of file diff --git a/common/changes/@typespec/migrate/date-time-migrate_2023-04-07-23-20.json b/common/changes/@typespec/migrate/date-time-migrate_2023-04-07-23-20.json deleted file mode 100644 index 54e119f5c77..00000000000 --- a/common/changes/@typespec/migrate/date-time-migrate_2023-04-07-23-20.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/migrate", - "comment": "Add migrate script for zonedDateTime", - "type": "none" - } - ], - "packageName": "@typespec/migrate" -} \ No newline at end of file diff --git a/common/changes/@typespec/migrate/header-query-format-required_2023-03-22-17-21.json b/common/changes/@typespec/migrate/header-query-format-required_2023-03-22-17-21.json deleted file mode 100644 index 82ee431c9a7..00000000000 --- a/common/changes/@typespec/migrate/header-query-format-required_2023-03-22-17-21.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/migrate", - "comment": "Add migration script for `@header` and `@query` format required", - "type": "none" - } - ], - "packageName": "@typespec/migrate" -} \ No newline at end of file diff --git a/common/changes/@typespec/openapi/omit-typespec-namespace_2023-04-03-16-41.json b/common/changes/@typespec/openapi/omit-typespec-namespace_2023-04-03-16-41.json deleted file mode 100644 index 4697c1be8b5..00000000000 --- a/common/changes/@typespec/openapi/omit-typespec-namespace_2023-04-03-16-41.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/openapi", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/openapi" -} \ No newline at end of file diff --git a/common/changes/@typespec/openapi3/core-DiagnosticFix_2023-03-20-22-25.json b/common/changes/@typespec/openapi3/core-DiagnosticFix_2023-03-20-22-25.json deleted file mode 100644 index d9a70151de5..00000000000 --- a/common/changes/@typespec/openapi3/core-DiagnosticFix_2023-03-20-22-25.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/openapi3", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/openapi3" -} \ No newline at end of file diff --git a/common/changes/@typespec/openapi3/emitters-SharedRoutesOpenAPI3_2023-03-30-23-41.json b/common/changes/@typespec/openapi3/emitters-SharedRoutesOpenAPI3_2023-03-30-23-41.json deleted file mode 100644 index 2ad8d3152a7..00000000000 --- a/common/changes/@typespec/openapi3/emitters-SharedRoutesOpenAPI3_2023-03-30-23-41.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/openapi3", - "comment": "Support shared routes.", - "type": "none" - } - ], - "packageName": "@typespec/openapi3" -} \ No newline at end of file diff --git a/common/changes/@typespec/openapi3/header-query-format-required_2023-03-22-17-59.json b/common/changes/@typespec/openapi3/header-query-format-required_2023-03-22-17-59.json deleted file mode 100644 index d9a70151de5..00000000000 --- a/common/changes/@typespec/openapi3/header-query-format-required_2023-03-22-17-59.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/openapi3", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/openapi3" -} \ No newline at end of file diff --git a/common/changes/@typespec/openapi3/interpolate-config-path_2023-04-05-15-24.json b/common/changes/@typespec/openapi3/interpolate-config-path_2023-04-05-15-24.json deleted file mode 100644 index 76e685d31df..00000000000 --- a/common/changes/@typespec/openapi3/interpolate-config-path_2023-04-05-15-24.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/openapi3", - "comment": "Update to use new `interpolatePath` logic to resolve the `output-file`", - "type": "none" - } - ], - "packageName": "@typespec/openapi3" -} \ No newline at end of file diff --git a/common/changes/@typespec/openapi3/omit-typespec-namespace_2023-04-03-16-41.json b/common/changes/@typespec/openapi3/omit-typespec-namespace_2023-04-03-16-41.json deleted file mode 100644 index d9a70151de5..00000000000 --- a/common/changes/@typespec/openapi3/omit-typespec-namespace_2023-04-03-16-41.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/openapi3", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/openapi3" -} \ No newline at end of file diff --git a/common/changes/@typespec/openapi3/overload-int_2023-03-29-02-19.json b/common/changes/@typespec/openapi3/overload-int_2023-03-29-02-19.json deleted file mode 100644 index 7eb59e962f5..00000000000 --- a/common/changes/@typespec/openapi3/overload-int_2023-03-29-02-19.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/openapi3", - "comment": "Add tests for overloads within interfaces", - "type": "none" - } - ], - "packageName": "@typespec/openapi3" -} \ No newline at end of file diff --git a/common/changes/@typespec/openapi3/pre-projection3_2023-04-05-16-22.json b/common/changes/@typespec/openapi3/pre-projection3_2023-04-05-16-22.json deleted file mode 100644 index d9a70151de5..00000000000 --- a/common/changes/@typespec/openapi3/pre-projection3_2023-04-05-16-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/openapi3", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/openapi3" -} \ No newline at end of file diff --git a/common/changes/@typespec/openapi3/preserve-member-order-on-rename_2023-03-22-21-07.json b/common/changes/@typespec/openapi3/preserve-member-order-on-rename_2023-03-22-21-07.json deleted file mode 100644 index d9a70151de5..00000000000 --- a/common/changes/@typespec/openapi3/preserve-member-order-on-rename_2023-03-22-21-07.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/openapi3", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/openapi3" -} \ No newline at end of file diff --git a/common/changes/@typespec/openapi3/utc-date-time_2023-04-06-03-06.json b/common/changes/@typespec/openapi3/utc-date-time_2023-04-06-03-06.json deleted file mode 100644 index 0e4425baad5..00000000000 --- a/common/changes/@typespec/openapi3/utc-date-time_2023-04-06-03-06.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/openapi3", - "comment": "Support new datetime types", - "type": "none" - } - ], - "packageName": "@typespec/openapi3" -} \ No newline at end of file diff --git a/common/changes/@typespec/rest/addVersioningDocs_2023-03-22-21-01.json b/common/changes/@typespec/rest/addVersioningDocs_2023-03-22-21-01.json deleted file mode 100644 index 64135d54e31..00000000000 --- a/common/changes/@typespec/rest/addVersioningDocs_2023-03-22-21-01.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/rest", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/rest" -} \ No newline at end of file diff --git a/common/changes/@typespec/rest/fixActionParameter_2023-03-21-21-15.json b/common/changes/@typespec/rest/fixActionParameter_2023-03-21-21-15.json deleted file mode 100644 index 3acd09d20ca..00000000000 --- a/common/changes/@typespec/rest/fixActionParameter_2023-03-21-21-15.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/rest", - "comment": "Fix issue where `@action(\"\")` was treated the same as `@action`. Now this emits an error.", - "type": "none" - } - ], - "packageName": "@typespec/rest" -} \ No newline at end of file diff --git a/common/changes/@typespec/rest/omit-typespec-namespace_2023-04-03-16-41.json b/common/changes/@typespec/rest/omit-typespec-namespace_2023-04-03-16-41.json deleted file mode 100644 index 64135d54e31..00000000000 --- a/common/changes/@typespec/rest/omit-typespec-namespace_2023-04-03-16-41.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/rest", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/rest" -} \ No newline at end of file diff --git a/common/changes/@typespec/versioning/addVersioningDocs_2023-03-17-17-39.json b/common/changes/@typespec/versioning/addVersioningDocs_2023-03-17-17-39.json deleted file mode 100644 index 3c8fd8571b8..00000000000 --- a/common/changes/@typespec/versioning/addVersioningDocs_2023-03-17-17-39.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/versioning", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/versioning" -} \ No newline at end of file diff --git a/common/changes/@typespec/versioning/addVersioningDocs_2023-03-22-21-01.json b/common/changes/@typespec/versioning/addVersioningDocs_2023-03-22-21-01.json deleted file mode 100644 index 3c8fd8571b8..00000000000 --- a/common/changes/@typespec/versioning/addVersioningDocs_2023-03-22-21-01.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/versioning", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/versioning" -} \ No newline at end of file diff --git a/common/changes/@typespec/versioning/fix-versioning-across-namespaces_2023-03-31-18-34.json b/common/changes/@typespec/versioning/fix-versioning-across-namespaces_2023-03-31-18-34.json deleted file mode 100644 index 7f8c3103a7b..00000000000 --- a/common/changes/@typespec/versioning/fix-versioning-across-namespaces_2023-03-31-18-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/versioning", - "comment": "Fix: Issue with using version as a template parameter across different namespace. Include a significant change in the versioning library internals.", - "type": "none" - } - ], - "packageName": "@typespec/versioning" -} diff --git a/common/changes/@typespec/versioning/omit-typespec-namespace_2023-04-03-16-41.json b/common/changes/@typespec/versioning/omit-typespec-namespace_2023-04-03-16-41.json deleted file mode 100644 index 3c8fd8571b8..00000000000 --- a/common/changes/@typespec/versioning/omit-typespec-namespace_2023-04-03-16-41.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/versioning", - "comment": "", - "type": "none" - } - ], - "packageName": "@typespec/versioning" -} \ No newline at end of file diff --git a/common/changes/@typespec/versioning/pre-projection3_2023-04-05-16-22.json b/common/changes/@typespec/versioning/pre-projection3_2023-04-05-16-22.json deleted file mode 100644 index 5e87bbef00f..00000000000 --- a/common/changes/@typespec/versioning/pre-projection3_2023-04-05-16-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/versioning", - "comment": "Use pre-projections to fix issues with versioned resources.", - "type": "none" - } - ], - "packageName": "@typespec/versioning" -} \ No newline at end of file diff --git a/common/changes/@typespec/versioning/utc-date-time_2023-04-06-03-06.json b/common/changes/@typespec/versioning/utc-date-time_2023-04-06-03-06.json deleted file mode 100644 index fc98d805bb8..00000000000 --- a/common/changes/@typespec/versioning/utc-date-time_2023-04-06-03-06.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/versioning", - "comment": "support new datetime types", - "type": "none" - } - ], - "packageName": "@typespec/versioning" -} \ No newline at end of file diff --git a/common/changes/@typespec/versioning/versioning-removeDeprecated_2023-03-17-18-06.json b/common/changes/@typespec/versioning/versioning-removeDeprecated_2023-03-17-18-06.json deleted file mode 100644 index a9e5580b634..00000000000 --- a/common/changes/@typespec/versioning/versioning-removeDeprecated_2023-03-17-18-06.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@typespec/versioning", - "comment": "Removed deprecated decorator @versionedDependency and deprecated versioning helper methods: getRenamedFromVersion, getRenamedFromOldName, getAddedOn, getRemovedOn, addedAfter, removedOnOrBefore, and renamedAfter.", - "type": "none" - } - ], - "packageName": "@typespec/versioning" -} \ No newline at end of file diff --git a/common/changes/typespec-vscode/missing-markdown-highlighting_2023-03-21-20-12.json b/common/changes/typespec-vscode/missing-markdown-highlighting_2023-03-21-20-12.json deleted file mode 100644 index 8853c3be1ca..00000000000 --- a/common/changes/typespec-vscode/missing-markdown-highlighting_2023-03-21-20-12.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "typespec-vscode", - "comment": "Fix highlighting of TypeSpec code blocks in markdown.", - "type": "none" - } - ], - "packageName": "typespec-vscode" -} \ No newline at end of file diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index cfa665d9207..fcb14ff9778 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -12,7 +12,7 @@ { "definitionName": "lockStepVersion", "policyName": "typespec", - "version": "0.42.0", + "version": "0.43.0", "nextBump": "minor" } // { diff --git a/packages/bundler/package.json b/packages/bundler/package.json index b78b9c56dd3..3cbd2dc1abe 100644 --- a/packages/bundler/package.json +++ b/packages/bundler/package.json @@ -38,7 +38,7 @@ "!dist/test/**" ], "dependencies": { - "@typespec/compiler": "~0.42.0", + "@typespec/compiler": "~0.43.0", "@rollup/plugin-virtual": "~3.0.1", "@rollup/plugin-commonjs": "~23.0.2", "@rollup/plugin-json": "~5.0.1", diff --git a/packages/compiler/CHANGELOG.json b/packages/compiler/CHANGELOG.json index 05dde60ed9c..70d6daa4367 100644 --- a/packages/compiler/CHANGELOG.json +++ b/packages/compiler/CHANGELOG.json @@ -1,6 +1,66 @@ { "name": "@typespec/compiler", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/compiler_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": { + "none": [ + { + "comment": "Bug: Emitter framework will now visit scalar declarations" + }, + { + "comment": "Emit diagnostic when ambiguous symbol exists between global and usings." + }, + { + "comment": "Feature: Add support for referencing metatypes ModelProperty `::type` and Operation `::returnType` and `::parameters`" + }, + { + "comment": "Relax constraint on derived type overrides" + }, + { + "comment": "Fix: Alias unknown ref crash" + }, + { + "comment": "Fix: Empty model expression assignable to array" + }, + { + "comment": "Fix `tsp code uninstall` not finding extension to uninstall." + }, + { + "comment": "Fix Issue where template parameter type check wouldn't work if constraint is exact same type as next validation." + }, + { + "comment": "Prevent use of augment decorators on instantiated templates." + }, + { + "comment": "Allow projectedNames helpers to work with previous projections" + }, + { + "comment": "Add helper `interpolatePath` for emitter to do additional interpolation on config properties" + }, + { + "comment": "Api: Update `getTypeName` to omit standard library namespace" + }, + { + "comment": "Allow overloads in interfaces to work under projection" + }, + { + "comment": "Add pre-projection support." + }, + { + "comment": "Provide access to extended interfaces in type graph." + }, + { + "comment": "Document member ordering and fix projection rename reordering." + }, + { + "comment": "Replaced zonedDateTime with utcDateTime and offsetDateTime" + } + ] + } + }, { "version": "0.42.0", "tag": "@typespec/compiler_v0.42.0", diff --git a/packages/compiler/CHANGELOG.md b/packages/compiler/CHANGELOG.md index cf5850b98bc..71a6194825a 100644 --- a/packages/compiler/CHANGELOG.md +++ b/packages/compiler/CHANGELOG.md @@ -1,6 +1,29 @@ # Change Log - @typespec/compiler -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +### Updates + +- Bug: Emitter framework will now visit scalar declarations +- Emit diagnostic when ambiguous symbol exists between global and usings. +- Feature: Add support for referencing metatypes ModelProperty `::type` and Operation `::returnType` and `::parameters` +- Relax constraint on derived type overrides +- Fix: Alias unknown ref crash +- Fix: Empty model expression assignable to array +- Fix `tsp code uninstall` not finding extension to uninstall. +- Fix Issue where template parameter type check wouldn't work if constraint is exact same type as next validation. +- Prevent use of augment decorators on instantiated templates. +- Allow projectedNames helpers to work with previous projections +- Add helper `interpolatePath` for emitter to do additional interpolation on config properties +- Api: Update `getTypeName` to omit standard library namespace +- Allow overloads in interfaces to work under projection +- Add pre-projection support. +- Provide access to extended interfaces in type graph. +- Document member ordering and fix projection rename reordering. +- Replaced zonedDateTime with utcDateTime and offsetDateTime ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/compiler/package.json b/packages/compiler/package.json index c273f689b7e..2fd556fdd7d 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/compiler", - "version": "0.42.0", + "version": "0.43.0", "description": "TypeSpec Compiler Preview", "author": "Microsoft Corporation", "license": "MIT", diff --git a/packages/eslint-plugin-typespec/CHANGELOG.json b/packages/eslint-plugin-typespec/CHANGELOG.json index 17c78034e9c..e8685ede85c 100644 --- a/packages/eslint-plugin-typespec/CHANGELOG.json +++ b/packages/eslint-plugin-typespec/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@typespec/eslint-plugin", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/eslint-plugin_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": {} + }, { "version": "0.42.0", "tag": "@typespec/eslint-plugin_v0.42.0", diff --git a/packages/eslint-plugin-typespec/CHANGELOG.md b/packages/eslint-plugin-typespec/CHANGELOG.md index 89b2064b67d..56b910d01ca 100644 --- a/packages/eslint-plugin-typespec/CHANGELOG.md +++ b/packages/eslint-plugin-typespec/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @typespec/eslint-plugin -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +_Version update only_ ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/eslint-plugin-typespec/package.json b/packages/eslint-plugin-typespec/package.json index 00863d67fc8..ded6d7b344e 100644 --- a/packages/eslint-plugin-typespec/package.json +++ b/packages/eslint-plugin-typespec/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/eslint-plugin", - "version": "0.42.0", + "version": "0.43.0", "author": "Microsoft Corporation", "description": "Eslint plugin providing set of rules to be used in the JS/TS code of TypeSpec libraries", "homepage": "https://microsoft.github.io/typespec", diff --git a/packages/html-program-viewer/CHANGELOG.json b/packages/html-program-viewer/CHANGELOG.json index 9cae27e407f..cc9bb782f95 100644 --- a/packages/html-program-viewer/CHANGELOG.json +++ b/packages/html-program-viewer/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@typespec/html-program-viewer", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/html-program-viewer_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": {} + }, { "version": "0.42.0", "tag": "@typespec/html-program-viewer_v0.42.0", diff --git a/packages/html-program-viewer/CHANGELOG.md b/packages/html-program-viewer/CHANGELOG.md index a459465b8f7..f68cf030505 100644 --- a/packages/html-program-viewer/CHANGELOG.md +++ b/packages/html-program-viewer/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @typespec/html-program-viewer -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +_Version update only_ ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/html-program-viewer/package.json b/packages/html-program-viewer/package.json index 27760e1da37..ded4b5021ee 100644 --- a/packages/html-program-viewer/package.json +++ b/packages/html-program-viewer/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/html-program-viewer", - "version": "0.42.0", + "version": "0.43.0", "author": "Microsoft Corporation", "description": "TypeSpec library for emitting an html view of the program.", "homepage": "https://microsoft.github.io/typespec", @@ -51,7 +51,7 @@ "!dist/test/**" ], "peerDependencies": { - "@typespec/compiler": "~0.42.0" + "@typespec/compiler": "~0.43.0" }, "dependencies": { "prettier": "~2.8.1", @@ -66,7 +66,7 @@ "@types/prettier": "2.6.0", "@types/react": "~18.0.5", "@types/react-dom": "~18.0.1", - "@typespec/compiler": "~0.42.0", + "@typespec/compiler": "~0.43.0", "@typespec/eslint-config-typespec": "~0.6.0", "@babel/core": "^7.0.0", "eslint": "^8.12.0", diff --git a/packages/http/CHANGELOG.json b/packages/http/CHANGELOG.json index 2eb54adb5d7..b244f1b5280 100644 --- a/packages/http/CHANGELOG.json +++ b/packages/http/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@typespec/http", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/http_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": { + "none": [ + { + "comment": "**Breaking change** `@header` and `@query` no longer default the `format` to `csv` and `multi` respectively. A value must now be provided when the type is an array." + } + ] + } + }, { "version": "0.42.0", "tag": "@typespec/http_v0.42.0", diff --git a/packages/http/CHANGELOG.md b/packages/http/CHANGELOG.md index c2006f312a4..7269fe28f41 100644 --- a/packages/http/CHANGELOG.md +++ b/packages/http/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @typespec/http -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +### Updates + +- **Breaking change** `@header` and `@query` no longer default the `format` to `csv` and `multi` respectively. A value must now be provided when the type is an array. ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/http/package.json b/packages/http/package.json index 87a5586593c..adcbc5fe1a0 100644 --- a/packages/http/package.json +++ b/packages/http/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/http", - "version": "0.42.0", + "version": "0.43.0", "author": "Microsoft Corporation", "description": "TypeSpec HTTP protocol binding", "homepage": "https://github.com/Microsoft/typespec", @@ -52,15 +52,15 @@ "!dist/test/**" ], "peerDependencies": { - "@typespec/compiler": "~0.42.0" + "@typespec/compiler": "~0.43.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@typespec/compiler": "~0.42.0", + "@typespec/compiler": "~0.43.0", "@typespec/eslint-config-typespec": "~0.6.0", - "@typespec/library-linter": "~0.42.0", - "@typespec/eslint-plugin": "~0.42.0", + "@typespec/library-linter": "~0.43.0", + "@typespec/eslint-plugin": "~0.43.0", "eslint": "^8.12.0", "mocha": "~10.1.0", "mocha-junit-reporter": "~2.2.0", diff --git a/packages/library-linter/CHANGELOG.json b/packages/library-linter/CHANGELOG.json index e25810a9e2d..99ba539b832 100644 --- a/packages/library-linter/CHANGELOG.json +++ b/packages/library-linter/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@typespec/library-linter", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/library-linter_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": {} + }, { "version": "0.42.0", "tag": "@typespec/library-linter_v0.42.0", diff --git a/packages/library-linter/CHANGELOG.md b/packages/library-linter/CHANGELOG.md index 3f30fcd75fc..be8919c6425 100644 --- a/packages/library-linter/CHANGELOG.md +++ b/packages/library-linter/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @typespec/library-linter -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +_Version update only_ ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/library-linter/package.json b/packages/library-linter/package.json index fb72ecde905..6e746558a0b 100644 --- a/packages/library-linter/package.json +++ b/packages/library-linter/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/library-linter", - "version": "0.42.0", + "version": "0.43.0", "author": "Microsoft Corporation", "description": "TypeSpec library for linting another library.", "homepage": "https://microsoft.github.io/typespec", @@ -51,12 +51,12 @@ "!dist/test/**" ], "peerDependencies": { - "@typespec/compiler": "~0.42.0" + "@typespec/compiler": "~0.43.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@typespec/compiler": "~0.42.0", + "@typespec/compiler": "~0.43.0", "@typespec/eslint-config-typespec": "~0.6.0", "eslint": "^8.12.0", "mocha": "~10.1.0", diff --git a/packages/lint/CHANGELOG.json b/packages/lint/CHANGELOG.json index 41c4ad2cf6a..ca800716d79 100644 --- a/packages/lint/CHANGELOG.json +++ b/packages/lint/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@typespec/lint", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/lint_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": { + "none": [ + { + "comment": "Remove global state. **Breaking change** Rules from another library cannot be enabled on a LibraryLinter." + } + ] + } + }, { "version": "0.42.0", "tag": "@typespec/lint_v0.42.0", diff --git a/packages/lint/CHANGELOG.md b/packages/lint/CHANGELOG.md index 0b50ddebb31..21ea3adeeca 100644 --- a/packages/lint/CHANGELOG.md +++ b/packages/lint/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @typespec/lint -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +### Updates + +- Remove global state. **Breaking change** Rules from another library cannot be enabled on a LibraryLinter. ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/lint/package.json b/packages/lint/package.json index 46ee7493e9b..b158eb05c79 100644 --- a/packages/lint/package.json +++ b/packages/lint/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/lint", - "version": "0.42.0", + "version": "0.43.0", "author": "Microsoft Corporation", "description": "Helper ", "homepage": "https://microsoft.github.io/typespec", @@ -50,14 +50,14 @@ "!dist/test/**" ], "peerDependencies": { - "@typespec/compiler": "~0.42.0" + "@typespec/compiler": "~0.43.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@typespec/compiler": "~0.42.0", + "@typespec/compiler": "~0.43.0", "@typespec/eslint-config-typespec": "~0.6.0", - "@typespec/eslint-plugin": "~0.42.0", + "@typespec/eslint-plugin": "~0.43.0", "eslint": "^8.12.0", "mocha": "~10.1.0", "mocha-junit-reporter": "~2.2.0", diff --git a/packages/migrate/CHANGELOG.json b/packages/migrate/CHANGELOG.json index de1aa0c5cd7..7bee99f1049 100644 --- a/packages/migrate/CHANGELOG.json +++ b/packages/migrate/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@typespec/migrate", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/migrate_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": { + "none": [ + { + "comment": "Add migrate script for zonedDateTime" + }, + { + "comment": "Add migration script for `@header` and `@query` format required" + } + ] + } + }, { "version": "0.42.0", "tag": "@typespec/migrate_v0.42.0", diff --git a/packages/migrate/CHANGELOG.md b/packages/migrate/CHANGELOG.md index 83795b2e755..0ba2e1a107f 100644 --- a/packages/migrate/CHANGELOG.md +++ b/packages/migrate/CHANGELOG.md @@ -1,6 +1,14 @@ # Change Log - @typespec/migrate -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +### Updates + +- Add migrate script for zonedDateTime +- Add migration script for `@header` and `@query` format required ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/migrate/package.json b/packages/migrate/package.json index 3cb386a0fe3..81a0d529620 100644 --- a/packages/migrate/package.json +++ b/packages/migrate/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/migrate", - "version": "0.42.0", + "version": "0.43.0", "author": "Microsoft Corporation", "description": "Migration tool for typespec.", "homepage": "https://microsoft.github.io/typespec", @@ -38,7 +38,7 @@ "!dist/test/**" ], "dependencies": { - "@typespec/compiler": "~0.42.0", + "@typespec/compiler": "~0.43.0", "@typespec/compiler-v0.37": "npm:@cadl-lang/compiler@0.37.0", "@typespec/compiler-v0.38": "npm:@cadl-lang/compiler@0.38.0", "@typespec/compiler-v0.40": "npm:@cadl-lang/compiler@0.40.0", @@ -57,9 +57,9 @@ "@types/prettier": "2.6.0", "@types/semver": "^7.3.13", "@types/yargs": "~17.0.2", - "@typespec/compiler": "~0.42.0", + "@typespec/compiler": "~0.43.0", "@typespec/eslint-config-typespec": "~0.6.0", - "@typespec/eslint-plugin": "~0.42.0", + "@typespec/eslint-plugin": "~0.43.0", "c8": "~7.12.0", "eslint": "^8.12.0", "mocha": "~10.1.0", diff --git a/packages/openapi/CHANGELOG.json b/packages/openapi/CHANGELOG.json index 2e36cfacbe2..ded26e4c243 100644 --- a/packages/openapi/CHANGELOG.json +++ b/packages/openapi/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@typespec/openapi", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/openapi_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": {} + }, { "version": "0.42.0", "tag": "@typespec/openapi_v0.42.0", diff --git a/packages/openapi/CHANGELOG.md b/packages/openapi/CHANGELOG.md index bce2813007f..7fb321d0d8c 100644 --- a/packages/openapi/CHANGELOG.md +++ b/packages/openapi/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @typespec/openapi -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +_Version update only_ ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/openapi/package.json b/packages/openapi/package.json index 051634ea452..4393a76b799 100644 --- a/packages/openapi/package.json +++ b/packages/openapi/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/openapi", - "version": "0.42.0", + "version": "0.43.0", "author": "Microsoft Corporation", "description": "TypeSpec library providing OpenAPI concepts", "homepage": "https://microsoft.github.io/typespec", @@ -52,19 +52,19 @@ "!dist/test/**" ], "peerDependencies": { - "@typespec/compiler": "~0.42.0", - "@typespec/http": "~0.42.0", - "@typespec/rest": "~0.42.0" + "@typespec/compiler": "~0.43.0", + "@typespec/http": "~0.43.0", + "@typespec/rest": "~0.43.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@typespec/compiler": "~0.42.0", - "@typespec/http": "~0.42.0", - "@typespec/rest": "~0.42.0", + "@typespec/compiler": "~0.43.0", + "@typespec/http": "~0.43.0", + "@typespec/rest": "~0.43.0", "@typespec/eslint-config-typespec": "~0.6.0", - "@typespec/library-linter": "~0.42.0", - "@typespec/eslint-plugin": "~0.42.0", + "@typespec/library-linter": "~0.43.0", + "@typespec/eslint-plugin": "~0.43.0", "eslint": "^8.12.0", "mocha": "~10.1.0", "mocha-junit-reporter": "~2.2.0", diff --git a/packages/openapi3/CHANGELOG.json b/packages/openapi3/CHANGELOG.json index f1d602015e2..8260e8dc6b0 100644 --- a/packages/openapi3/CHANGELOG.json +++ b/packages/openapi3/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@typespec/openapi3", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/openapi3_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": { + "none": [ + { + "comment": "Support shared routes." + }, + { + "comment": "Update to use new `interpolatePath` logic to resolve the `output-file`" + }, + { + "comment": "Add tests for overloads within interfaces" + }, + { + "comment": "Support new datetime types" + } + ] + } + }, { "version": "0.42.0", "tag": "@typespec/openapi3_v0.42.0", diff --git a/packages/openapi3/CHANGELOG.md b/packages/openapi3/CHANGELOG.md index 62b9726c531..3490726e64d 100644 --- a/packages/openapi3/CHANGELOG.md +++ b/packages/openapi3/CHANGELOG.md @@ -1,6 +1,16 @@ # Change Log - @typespec/openapi3 -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +### Updates + +- Support shared routes. +- Update to use new `interpolatePath` logic to resolve the `output-file` +- Add tests for overloads within interfaces +- Support new datetime types ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/openapi3/package.json b/packages/openapi3/package.json index abf6d731e61..1f8f37423d5 100644 --- a/packages/openapi3/package.json +++ b/packages/openapi3/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/openapi3", - "version": "0.42.0", + "version": "0.43.0", "author": "Microsoft Corporation", "description": "TypeSpec library for emitting OpenAPI 3.0 from the TypeSpec REST protocol binding", "homepage": "https://microsoft.github.io/typespec", @@ -55,24 +55,24 @@ "js-yaml": "~4.1.0" }, "peerDependencies": { - "@typespec/versioning": "~0.42.0", - "@typespec/compiler": "~0.42.0", - "@typespec/http": "~0.42.0", - "@typespec/rest": "~0.42.0", - "@typespec/openapi": "~0.42.0" + "@typespec/versioning": "~0.43.0", + "@typespec/compiler": "~0.43.0", + "@typespec/http": "~0.43.0", + "@typespec/rest": "~0.43.0", + "@typespec/openapi": "~0.43.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", "@types/js-yaml": "~4.0.1", - "@typespec/compiler": "~0.42.0", - "@typespec/http": "~0.42.0", - "@typespec/rest": "~0.42.0", - "@typespec/openapi": "~0.42.0", - "@typespec/versioning": "~0.42.0", + "@typespec/compiler": "~0.43.0", + "@typespec/http": "~0.43.0", + "@typespec/rest": "~0.43.0", + "@typespec/openapi": "~0.43.0", + "@typespec/versioning": "~0.43.0", "@typespec/eslint-config-typespec": "~0.6.0", - "@typespec/library-linter": "~0.42.0", - "@typespec/eslint-plugin": "~0.42.0", + "@typespec/library-linter": "~0.43.0", + "@typespec/eslint-plugin": "~0.43.0", "eslint": "^8.12.0", "mocha": "~10.1.0", "mocha-junit-reporter": "~2.2.0", diff --git a/packages/playground/package.json b/packages/playground/package.json index 5a4fc358d3a..c1dacbca187 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -41,13 +41,13 @@ "!dist/test/**" ], "dependencies": { - "@typespec/versioning": "~0.42.0", - "@typespec/compiler": "~0.42.0", - "@typespec/http": "~0.42.0", - "@typespec/rest": "~0.42.0", - "@typespec/openapi3": "~0.42.0", - "@typespec/openapi": "~0.42.0", - "@typespec/html-program-viewer": "~0.42.0", + "@typespec/versioning": "~0.43.0", + "@typespec/compiler": "~0.43.0", + "@typespec/http": "~0.43.0", + "@typespec/rest": "~0.43.0", + "@typespec/openapi3": "~0.43.0", + "@typespec/openapi": "~0.43.0", + "@typespec/html-program-viewer": "~0.43.0", "@emotion/react": "^11.10.4", "@vitejs/plugin-react": "~2.2.0", "es-module-shims": "~1.6.2", diff --git a/packages/prettier-plugin-typespec/CHANGELOG.json b/packages/prettier-plugin-typespec/CHANGELOG.json index 3981aae63df..3dc675f8bef 100644 --- a/packages/prettier-plugin-typespec/CHANGELOG.json +++ b/packages/prettier-plugin-typespec/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@typespec/prettier-plugin-typespec", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/prettier-plugin-typespec_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": {} + }, { "version": "0.42.0", "tag": "@typespec/prettier-plugin-typespec_v0.42.0", diff --git a/packages/prettier-plugin-typespec/CHANGELOG.md b/packages/prettier-plugin-typespec/CHANGELOG.md index ac64fa527e4..661b5983ebe 100644 --- a/packages/prettier-plugin-typespec/CHANGELOG.md +++ b/packages/prettier-plugin-typespec/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @typespec/prettier-plugin-typespec -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +_Version update only_ ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/prettier-plugin-typespec/package.json b/packages/prettier-plugin-typespec/package.json index 1299fa581ff..118bd387277 100644 --- a/packages/prettier-plugin-typespec/package.json +++ b/packages/prettier-plugin-typespec/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/prettier-plugin-typespec", - "version": "0.42.0", + "version": "0.43.0", "description": "", "main": "dist/index.js", "scripts": { @@ -15,7 +15,7 @@ "prettier": "~2.8.1" }, "devDependencies": { - "@typespec/compiler": "~0.42.0", + "@typespec/compiler": "~0.43.0", "@typespec/internal-build-utils": "~0.4.0", "@rollup/plugin-commonjs": "~23.0.2", "@rollup/plugin-json": "~5.0.1", diff --git a/packages/ref-doc/package.json b/packages/ref-doc/package.json index 2481b2bce22..5bf1187e242 100644 --- a/packages/ref-doc/package.json +++ b/packages/ref-doc/package.json @@ -51,11 +51,11 @@ "!dist/test/**" ], "dependencies": { - "@typespec/compiler": "~0.42.0", + "@typespec/compiler": "~0.43.0", "prettier": "~2.8.1" }, "devDependencies": { - "@typespec/compiler": "~0.42.0", + "@typespec/compiler": "~0.43.0", "@typespec/eslint-config-typespec": "~0.6.0", "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", diff --git a/packages/rest/CHANGELOG.json b/packages/rest/CHANGELOG.json index 5f088d1dbdc..674fe64ad79 100644 --- a/packages/rest/CHANGELOG.json +++ b/packages/rest/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@typespec/rest", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/rest_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": { + "none": [ + { + "comment": "Fix issue where `@action(\"\")` was treated the same as `@action`. Now this emits an error." + } + ] + } + }, { "version": "0.42.0", "tag": "@typespec/rest_v0.42.0", diff --git a/packages/rest/CHANGELOG.md b/packages/rest/CHANGELOG.md index e918d47b0c3..b7c980a8010 100644 --- a/packages/rest/CHANGELOG.md +++ b/packages/rest/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @typespec/rest -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +### Updates + +- Fix issue where `@action("")` was treated the same as `@action`. Now this emits an error. ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/rest/package.json b/packages/rest/package.json index 2653326dae1..bddd20eb06d 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/rest", - "version": "0.42.0", + "version": "0.43.0", "author": "Microsoft Corporation", "description": "TypeSpec REST protocol binding", "homepage": "https://microsoft.github.io/typespec", @@ -52,16 +52,16 @@ "!dist/test/**" ], "peerDependencies": { - "@typespec/compiler": "~0.42.0" + "@typespec/compiler": "~0.43.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@typespec/compiler": "~0.42.0", - "@typespec/http": "~0.42.0", + "@typespec/compiler": "~0.43.0", + "@typespec/http": "~0.43.0", "@typespec/eslint-config-typespec": "~0.6.0", - "@typespec/library-linter": "~0.42.0", - "@typespec/eslint-plugin": "~0.42.0", + "@typespec/library-linter": "~0.43.0", + "@typespec/eslint-plugin": "~0.43.0", "eslint": "^8.12.0", "mocha": "~10.1.0", "mocha-junit-reporter": "~2.2.0", diff --git a/packages/samples/package.json b/packages/samples/package.json index 17ffc014f12..cd8c2f478f6 100644 --- a/packages/samples/package.json +++ b/packages/samples/package.json @@ -34,13 +34,13 @@ "!dist/test/**" ], "dependencies": { - "@typespec/versioning": "~0.42.0", - "@typespec/compiler": "~0.42.0", - "@typespec/http": "~0.42.0", - "@typespec/rest": "~0.42.0", - "@typespec/openapi": "~0.42.0", - "@typespec/openapi3": "~0.42.0", - "@typespec/html-program-viewer": "~0.42.0" + "@typespec/versioning": "~0.43.0", + "@typespec/compiler": "~0.43.0", + "@typespec/http": "~0.43.0", + "@typespec/rest": "~0.43.0", + "@typespec/openapi": "~0.43.0", + "@typespec/openapi3": "~0.43.0", + "@typespec/html-program-viewer": "~0.43.0" }, "devDependencies": { "@typespec/internal-build-utils": "~0.4.0", diff --git a/packages/typespec-vs/CHANGELOG.json b/packages/typespec-vs/CHANGELOG.json index 759dc69c9df..0f2354da979 100644 --- a/packages/typespec-vs/CHANGELOG.json +++ b/packages/typespec-vs/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "typespec-vs", "entries": [ + { + "version": "0.43.0", + "tag": "typespec-vs_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": {} + }, { "version": "0.42.0", "tag": "typespec-vs_v0.42.0", diff --git a/packages/typespec-vs/CHANGELOG.md b/packages/typespec-vs/CHANGELOG.md index e03901a1e6e..e7221f36f3f 100644 --- a/packages/typespec-vs/CHANGELOG.md +++ b/packages/typespec-vs/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - typespec-vs -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +_Version update only_ ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/typespec-vs/package.json b/packages/typespec-vs/package.json index 29ff5fa5f4e..7a8e57356e4 100644 --- a/packages/typespec-vs/package.json +++ b/packages/typespec-vs/package.json @@ -1,7 +1,7 @@ { "name": "typespec-vs", "author": "Microsoft Corporation", - "version": "0.42.0", + "version": "0.43.0", "description": "TypeSpec Language Support for Visual Studio", "homepage": "https://microsoft.github.io/typespec", "readme": "https://github.com/Microsoft/typespec/blob/master/README.md", @@ -28,7 +28,7 @@ }, "dependencies": {}, "devDependencies": { - "typespec-vscode": "~0.42.0", + "typespec-vscode": "~0.43.0", "@typespec/internal-build-utils": "~0.4.0" } } diff --git a/packages/typespec-vscode/CHANGELOG.json b/packages/typespec-vscode/CHANGELOG.json index a37468036bb..b73804a29d3 100644 --- a/packages/typespec-vscode/CHANGELOG.json +++ b/packages/typespec-vscode/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "typespec-vscode", "entries": [ + { + "version": "0.43.0", + "tag": "typespec-vscode_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": { + "none": [ + { + "comment": "Fix highlighting of TypeSpec code blocks in markdown." + } + ] + } + }, { "version": "0.42.0", "tag": "typespec-vscode_v0.42.0", diff --git a/packages/typespec-vscode/CHANGELOG.md b/packages/typespec-vscode/CHANGELOG.md index 497de93fa49..f4456eeced3 100644 --- a/packages/typespec-vscode/CHANGELOG.md +++ b/packages/typespec-vscode/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - typespec-vscode -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +### Updates + +- Fix highlighting of TypeSpec code blocks in markdown. ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/typespec-vscode/package.json b/packages/typespec-vscode/package.json index db86199cc15..7265073ac23 100644 --- a/packages/typespec-vscode/package.json +++ b/packages/typespec-vscode/package.json @@ -1,6 +1,6 @@ { "name": "typespec-vscode", - "version": "0.42.0", + "version": "0.43.0", "author": "Microsoft Corporation", "description": "TypeSpec Language Support for VS Code", "homepage": "https://microsoft.github.io/typespec", @@ -121,7 +121,7 @@ "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", "@types/vscode": "~1.53.0", - "@typespec/compiler": "~0.42.0", + "@typespec/compiler": "~0.43.0", "@typespec/eslint-config-typespec": "~0.6.0", "@typespec/internal-build-utils": "~0.4.0", "eslint": "^8.12.0", diff --git a/packages/versioning/CHANGELOG.json b/packages/versioning/CHANGELOG.json index 38617d9e473..f827f876156 100644 --- a/packages/versioning/CHANGELOG.json +++ b/packages/versioning/CHANGELOG.json @@ -1,6 +1,27 @@ { "name": "@typespec/versioning", "entries": [ + { + "version": "0.43.0", + "tag": "@typespec/versioning_v0.43.0", + "date": "Tue, 11 Apr 2023 18:49:17 GMT", + "comments": { + "none": [ + { + "comment": "Fix: Issue with using version as a template parameter across different namespace. Include a significant change in the versioning library internals." + }, + { + "comment": "Use pre-projections to fix issues with versioned resources." + }, + { + "comment": "support new datetime types" + }, + { + "comment": "Removed deprecated decorator @versionedDependency and deprecated versioning helper methods: getRenamedFromVersion, getRenamedFromOldName, getAddedOn, getRemovedOn, addedAfter, removedOnOrBefore, and renamedAfter." + } + ] + } + }, { "version": "0.42.0", "tag": "@typespec/versioning_v0.42.0", diff --git a/packages/versioning/CHANGELOG.md b/packages/versioning/CHANGELOG.md index 0e618243ac1..3f94d0540a5 100644 --- a/packages/versioning/CHANGELOG.md +++ b/packages/versioning/CHANGELOG.md @@ -1,6 +1,16 @@ # Change Log - @typespec/versioning -This log was last generated on Mon, 13 Mar 2023 21:30:44 GMT and should not be manually modified. +This log was last generated on Tue, 11 Apr 2023 18:49:17 GMT and should not be manually modified. + +## 0.43.0 +Tue, 11 Apr 2023 18:49:17 GMT + +### Updates + +- Fix: Issue with using version as a template parameter across different namespace. Include a significant change in the versioning library internals. +- Use pre-projections to fix issues with versioned resources. +- support new datetime types +- Removed deprecated decorator @versionedDependency and deprecated versioning helper methods: getRenamedFromVersion, getRenamedFromOldName, getAddedOn, getRemovedOn, addedAfter, removedOnOrBefore, and renamedAfter. ## 0.42.0 Mon, 13 Mar 2023 21:30:44 GMT diff --git a/packages/versioning/package.json b/packages/versioning/package.json index 174a24d785a..8233f927712 100644 --- a/packages/versioning/package.json +++ b/packages/versioning/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/versioning", - "version": "0.42.0", + "version": "0.43.0", "author": "Microsoft Corporation", "description": "TypeSpec library for declaring and emitting versioned APIs", "homepage": "https://microsoft.github.io/typespec", @@ -52,14 +52,14 @@ "!dist/test/**" ], "dependencies": { - "@typespec/compiler": "~0.42.0" + "@typespec/compiler": "~0.43.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", "@typespec/eslint-config-typespec": "~0.6.0", - "@typespec/library-linter": "~0.42.0", - "@typespec/eslint-plugin": "~0.42.0", + "@typespec/library-linter": "~0.43.0", + "@typespec/eslint-plugin": "~0.43.0", "eslint": "^8.12.0", "mocha": "~10.1.0", "mocha-junit-reporter": "~2.2.0", diff --git a/packages/website/package.json b/packages/website/package.json index 631d852ef5b..2d41a5bc027 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -33,10 +33,10 @@ "devDependencies": { "@typespec/ref-doc": "~0.1.0", "@typespec/spec": "0.1.0", - "@typespec/http": "~0.42.0", - "@typespec/rest": "~0.42.0", - "@typespec/openapi": "~0.42.0", - "@typespec/versioning": "~0.42.0", + "@typespec/http": "~0.43.0", + "@typespec/rest": "~0.43.0", + "@typespec/openapi": "~0.43.0", + "@typespec/versioning": "~0.43.0", "@docusaurus/module-type-aliases": "^2.2.0", "@docusaurus/types": "^2.2.0", "@tsconfig/docusaurus": "^1.0.5", diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/data-types.md b/packages/website/versioned_docs/version-latest/compiler/reference/data-types.md deleted file mode 100644 index 02268646aaf..00000000000 --- a/packages/website/versioned_docs/version-latest/compiler/reference/data-types.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: "Data types" -toc_min_heading_level: 2 -toc_max_heading_level: 3 ---- - -# Data types - -## TypeSpec - -### `object` {#object} - -Represent any structured model.(With properties) - -```typespec -model TypeSpec.object -``` - -### `Array` {#Array} - -Array model type, equivalent to `T[]` - -```typespec -model Array -``` - -#### Template Parameters - -| Name | Description | -| ---- | ----------- | -| T | | - -### `Record` {#Record} - -Model with string properties where all the properties have type `T` - -```typespec -model Record -``` - -#### Template Parameters - -| Name | Description | -| ---- | ----------- | -| T | | - -### `OptionalProperties` {#OptionalProperties} - -```typespec -model OptionalProperties -``` - -#### Template Parameters - -| Name | Description | -| ---- | ----------- | -| T | | - -### `UpdateableProperties` {#UpdateableProperties} - -```typespec -model UpdateableProperties -``` - -#### Template Parameters - -| Name | Description | -| ---- | ----------- | -| T | | - -### `OmitProperties` {#OmitProperties} - -```typespec -model OmitProperties -``` - -#### Template Parameters - -| Name | Description | -| ----- | ----------- | -| T | | -| TKeys | | - -### `OmitDefaults` {#OmitDefaults} - -```typespec -model OmitDefaults -``` - -#### Template Parameters - -| Name | Description | -| ---- | ----------- | -| T | | - -### `DefaultKeyVisibility` {#DefaultKeyVisibility} - -```typespec -model DefaultKeyVisibility -``` - -#### Template Parameters - -| Name | Description | -| ---------- | ----------- | -| T | | -| Visibility | | - -### `ServiceOptions` {#ServiceOptions} - -Service options. - -```typespec -model TypeSpec.ServiceOptions -``` diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/decorators.md b/packages/website/versioned_docs/version-latest/compiler/reference/decorators.md deleted file mode 100644 index f6f6ca11df4..00000000000 --- a/packages/website/versioned_docs/version-latest/compiler/reference/decorators.md +++ /dev/null @@ -1,665 +0,0 @@ ---- -title: "Decorators" -toc_min_heading_level: 2 -toc_max_heading_level: 3 ---- - -# Decorators - -## TypeSpec - -### `@format` {#@format} - -Specify a known data format hint for this string type. For example `uuid`, `uri`, etc. -This differ from the - -```typespec -dec format(target: TypeSpec.string | TypeSpec.bytes | TypeSpec.Reflection.ModelProperty, format: TypeSpec.string) -``` - -#### Target - -`union TypeSpec.string | TypeSpec.bytes | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ------ | ------------------------ | ------------ | -| format | `scalar TypeSpec.string` | format name. | - -### `@doc` {#@doc} - -Attach a documentation string. - -```typespec -dec doc(target: unknown, doc: TypeSpec.string, formatArgs?: TypeSpec.object) -``` - -#### Target - -`(intrinsic) unknown` - -#### Parameters - -| Name | Type | Description | -| ---------- | ------------------------ | --------------------------------------------------------------- | -| doc | `scalar TypeSpec.string` | Documentation string | -| formatArgs | `model TypeSpec.object` | Record with key value pair that can be interpolated in the doc. | - -### `@withUpdateableProperties` {#@withUpdateableProperties} - -```typespec -dec withUpdateableProperties(target: TypeSpec.object) -``` - -#### Target - -`model TypeSpec.object` - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | - -### `@withoutOmittedProperties` {#@withoutOmittedProperties} - -```typespec -dec withoutOmittedProperties(target: TypeSpec.object, omit: TypeSpec.string | TypeSpec.Reflection.Union) -``` - -#### Target - -`model TypeSpec.object` - -#### Parameters - -| Name | Type | Description | -| ---- | ---------------------------------------------------- | ----------- | -| omit | `union TypeSpec.string \| TypeSpec.Reflection.Union` | | - -### `@withoutDefaultValues` {#@withoutDefaultValues} - -```typespec -dec withoutDefaultValues(target: TypeSpec.object) -``` - -#### Target - -`model TypeSpec.object` - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | - -### `@withDefaultKeyVisibility` {#@withDefaultKeyVisibility} - -```typespec -dec withDefaultKeyVisibility(target: TypeSpec.object, visibility: unknown) -``` - -#### Target - -`model TypeSpec.object` - -#### Parameters - -| Name | Type | Description | -| ---------- | --------------------- | ----------- | -| visibility | `(intrinsic) unknown` | | - -### `@summary` {#@summary} - -Typically a short, single-line description. - -```typespec -dec summary(target: unknown, summary: TypeSpec.string) -``` - -#### Target - -`(intrinsic) unknown` - -#### Parameters - -| Name | Type | Description | -| ------- | ------------------------ | --------------- | -| summary | `scalar TypeSpec.string` | Summary string. | - -### `@deprecated` {#@deprecated} - -Mark this type as deprecated - -```typespec -dec deprecated(target: unknown, message: TypeSpec.string) -``` - -#### Target - -`(intrinsic) unknown` - -#### Parameters - -| Name | Type | Description | -| ------- | ------------------------ | -------------------- | -| message | `scalar TypeSpec.string` | Deprecation message. | - -### `@service` {#@service} - -Mark this namespace as describing a service and configure service properties. - -```typespec -dec service(target: TypeSpec.Reflection.Namespace, options?: TypeSpec.ServiceOptions) -``` - -#### Target - -`Namespace` - -#### Parameters - -| Name | Type | Description | -| ------- | ------------------------------- | --------------------------------------- | -| options | `model TypeSpec.ServiceOptions` | Optional configuration for the service. | - -### `@error` {#@error} - -Specify that this model is an error type. Operations return error types when the operation has failed. - -```typespec -dec error(target: TypeSpec.object) -``` - -#### Target - -`model TypeSpec.object` - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | - -#### Examples - -```typespec -@error -model PetStoreError { -code: string; -message: string; -} -``` - -### `@pattern` {#@pattern} - -Specify the the pattern this string should respect using simple regular expression syntax. -The following syntax is allowed: alternations (`|`), quantifiers (`?`, `*`, `+`, and `{ }`), wildcard (`.`), and grouping parentheses. -Advanced features like look-around, capture groups, and references are not supported. - -```typespec -dec pattern(target: TypeSpec.string | TypeSpec.bytes | TypeSpec.Reflection.ModelProperty, pattern: TypeSpec.string) -``` - -#### Target - -`union TypeSpec.string | TypeSpec.bytes | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ------- | ------------------------ | ------------------- | -| pattern | `scalar TypeSpec.string` | Regular expression. | - -### `@minLength` {#@minLength} - -Specify the minimum length this string type should be. - -```typespec -dec minLength(target: TypeSpec.string | TypeSpec.Reflection.ModelProperty, value: TypeSpec.integer) -``` - -#### Target - -`union TypeSpec.string | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ----- | ------------------------- | -------------- | -| value | `scalar TypeSpec.integer` | Minimum length | - -### `@maxLength` {#@maxLength} - -Specify the maximum length this string type should be. - -```typespec -dec maxLength(target: TypeSpec.string | TypeSpec.Reflection.ModelProperty, value: TypeSpec.integer) -``` - -#### Target - -`union TypeSpec.string | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ----- | ------------------------- | -------------- | -| value | `scalar TypeSpec.integer` | Maximum length | - -### `@minItems` {#@minItems} - -Specify the minimum number of items this array should have. - -```typespec -dec minItems(target: unknown[] | TypeSpec.Reflection.ModelProperty, value: TypeSpec.integer) -``` - -#### Target - -`union unknown[] | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ----- | ------------------------- | -------------- | -| value | `scalar TypeSpec.integer` | Minimum number | - -### `@maxItems` {#@maxItems} - -Specify the maximum number of items this array should have. - -```typespec -dec maxItems(target: unknown[] | TypeSpec.Reflection.ModelProperty, value: TypeSpec.integer) -``` - -#### Target - -`union unknown[] | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ----- | ------------------------- | -------------- | -| value | `scalar TypeSpec.integer` | Maximum number | - -### `@minValue` {#@minValue} - -Specify the minimum value this numeric type should be. - -```typespec -dec minValue(target: TypeSpec.numeric | TypeSpec.Reflection.ModelProperty, value: TypeSpec.numeric) -``` - -#### Target - -`union TypeSpec.numeric | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ----- | ------------------------- | ------------- | -| value | `scalar TypeSpec.numeric` | Minimum value | - -### `@maxValue` {#@maxValue} - -Specify the maximum value this numeric type should be. - -```typespec -dec maxValue(target: TypeSpec.numeric | TypeSpec.Reflection.ModelProperty, value: TypeSpec.numeric) -``` - -#### Target - -`union TypeSpec.numeric | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ----- | ------------------------- | ------------- | -| value | `scalar TypeSpec.numeric` | Maximum value | - -### `@minValueExclusive` {#@minValueExclusive} - -Specify the minimum value this numeric type should be, exclusive of the given -value. - -```typespec -dec minValueExclusive(target: TypeSpec.numeric | TypeSpec.Reflection.ModelProperty, value: TypeSpec.numeric) -``` - -#### Target - -`union TypeSpec.numeric | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ----- | ------------------------- | ------------- | -| value | `scalar TypeSpec.numeric` | Minimum value | - -### `@maxValueExclusive` {#@maxValueExclusive} - -Specify the maximum value this numeric type should be, exclusive of the given -value. - -```typespec -dec maxValueExclusive(target: TypeSpec.numeric | TypeSpec.Reflection.ModelProperty, value: TypeSpec.numeric) -``` - -#### Target - -`union TypeSpec.numeric | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ----- | ------------------------- | ------------- | -| value | `scalar TypeSpec.numeric` | Maximum value | - -### `@secret` {#@secret} - -Mark this string as a secret value that should be treated carefully to avoid exposure - -```typespec -dec secret(target: TypeSpec.string | TypeSpec.Reflection.ModelProperty) -``` - -#### Target - -`union TypeSpec.string | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ---- | ---- | ----------- | - -#### Examples - -```typespec -@secret -scalar Password is string; -``` - -### `@tag` {#@tag} - -Attaches a tag to an operation, interface, or namespace. Multiple `@tag` decorators can be specified to attach multiple tags to a TypeSpec element. - -```typespec -dec tag(target: TypeSpec.Reflection.Namespace | TypeSpec.Reflection.Interface | TypeSpec.Reflection.Operation, tag: TypeSpec.string) -``` - -#### Target - -`union TypeSpec.Reflection.Namespace | TypeSpec.Reflection.Interface | TypeSpec.Reflection.Operation` - -#### Parameters - -| Name | Type | Description | -| ---- | ------------------------ | ----------- | -| tag | `scalar TypeSpec.string` | Tag value | - -### `@friendlyName` {#@friendlyName} - -Specifies how a templated type should name their instances. - -```typespec -dec friendlyName(target: unknown, name: TypeSpec.string, formatArgs?: unknown) -``` - -#### Target - -`(intrinsic) unknown` - -#### Parameters - -| Name | Type | Description | -| ---------- | ------------------------ | -------------------------------------- | -| name | `scalar TypeSpec.string` | name the template instance should take | -| formatArgs | `(intrinsic) unknown` | | - -### `@knownValues` {#@knownValues} - -Provide a set of known values to a string type. - -```typespec -dec knownValues(target: TypeSpec.string | TypeSpec.numeric | TypeSpec.Reflection.ModelProperty, values: TypeSpec.Reflection.Enum) -``` - -#### Target - -`union TypeSpec.string | TypeSpec.numeric | TypeSpec.Reflection.ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ------ | ------ | ------------------ | -| values | `Enum` | Known values enum. | - -### `@key` {#@key} - -Mark a model property as the key to identify instances of that type - -```typespec -dec key(target: TypeSpec.Reflection.ModelProperty, altName?: TypeSpec.string) -``` - -#### Target - -`ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ------- | ------------------------ | ----------- | -| altName | `scalar TypeSpec.string` | | - -#### Examples - -```typespec -model Pet { -@key id: string; -} -``` - -### `@overload` {#@overload} - -Specify this operation is an overload of the given operation. - -```typespec -dec overload(target: TypeSpec.Reflection.Operation, overloadbase: TypeSpec.Reflection.Operation) -``` - -#### Target - -`Operation` - -#### Parameters - -| Name | Type | Description | -| ------------ | ----------- | ------------------------------------------------------ | -| overloadbase | `Operation` | Base operation that should be a union of all overloads | - -### `@projectedName` {#@projectedName} - -Provide an alternative name for this type. - -```typespec -dec projectedName(target: unknown, targetName: TypeSpec.string, projectedName: TypeSpec.string) -``` - -#### Target - -`(intrinsic) unknown` - -#### Parameters - -| Name | Type | Description | -| ------------- | ------------------------ | ----------------- | -| targetName | `scalar TypeSpec.string` | Projection target | -| projectedName | `scalar TypeSpec.string` | Alternative name | - -### `@discriminator` {#@discriminator} - -Specify the property to be used to discriminate this type. - -```typespec -dec discriminator(target: TypeSpec.object | TypeSpec.Reflection.Union, propertyName: TypeSpec.string) -``` - -#### Target - -`union TypeSpec.object | TypeSpec.Reflection.Union` - -#### Parameters - -| Name | Type | Description | -| ------------ | ------------------------ | ----------- | -| propertyName | `scalar TypeSpec.string` | | - -#### Examples - -```typespec -@discriminator("kind") -union Pet{ cat: Cat, dog: Dog } - -model Cat {kind: "cat", meow: boolean} -model Dog {kind: "dog", bark: boolean} -``` - -```typespec -@discriminator("kind") -model Pet{ kind: string } - -model Cat extends Pet {kind: "cat", meow: boolean} -model Dog extends Pet {kind: "dog", bark: boolean} -``` - -### `@visibility` {#@visibility} - -Indicates that a property is only considered to be present or applicable ("visible") with -the in the given named contexts ("visibilities"). When a property has no visibilities applied -to it, it is implicitly visible always. - -As far as the TypeSpec core library is concerned, visibilities are open-ended and can be arbitrary -strings, but the following visibilities are well-known to standard libraries and should be used -with standard emitters that interpret them as follows: - -- "read": output of any operation. -- "create": input to operations that create an entity.. -- "query": input to operations that read data. -- "update": input to operations that update data. -- "delete": input to operations that delete data. - -See also: [Automatic visibility](https://microsoft.github.io/typespec/standard-library/rest/operations#automatic-visibility) - -```typespec -dec visibility(target: TypeSpec.Reflection.ModelProperty, ...visibilities: TypeSpec.string[]) -``` - -#### Target - -`ModelProperty` - -#### Parameters - -| Name | Type | Description | -| ------------ | ------------------------- | ----------- | -| visibilities | `model TypeSpec.string[]` | | - -#### Examples - -```typespec -model Dog { -// the service will generate an ID, so you don't need to send it. -@visibility("read") id: int32; -// the service will store this secret name, but won't ever return it -@visibility("create", "update") secretName: string; -// the regular name is always present -name: string; -} -``` - -### `@withVisibility` {#@withVisibility} - -Removes properties that are not considered to be present or applicable -("visible") in the given named contexts ("visibilities"). Can be used -together with spread to effectively spread only visible properties into -a new model. - -See also: [Automatic visibility](https://microsoft.github.io/typespec/standard-library/rest/operations#automatic-visibility) - -When using an emitter that applies visibility automatically, it is generally -not necessary to use this decorator. - -```typespec -dec withVisibility(target: TypeSpec.object, ...visibilities: TypeSpec.string[]) -``` - -#### Target - -`model TypeSpec.object` - -#### Parameters - -| Name | Type | Description | -| ------------ | ------------------------- | ----------- | -| visibilities | `model TypeSpec.string[]` | | - -#### Examples - -```typespec -model Dog { -@visibility("read") id: int32; -@visibility("create", "update") secretName: string; -name: string; -} - -// The spread operator will copy all the properties of Dog into DogRead, -// and @withVisibility will then remove those that are not visible with -// create or update visibility. -// -// In this case, the id property is removed, and the name and secretName -// properties are kept. -@withVisibility("create", "update") -model DogCreateOrUpdate { -...Dog; -} - -// In this case the id and name properties are kept and the secretName property -// is removed. -@withVisibility("read") -model DogRead { -...Dog; -} -``` - -### `@inspectType` {#@inspectType} - -```typespec -dec inspectType(target: unknown, text: TypeSpec.string) -``` - -#### Target - -`(intrinsic) unknown` - -#### Parameters - -| Name | Type | Description | -| ---- | ------------------------ | ----------- | -| text | `scalar TypeSpec.string` | | - -### `@inspectTypeName` {#@inspectTypeName} - -```typespec -dec inspectTypeName(target: unknown, text: TypeSpec.string) -``` - -#### Target - -`(intrinsic) unknown` - -#### Parameters - -| Name | Type | Description | -| ---- | ------------------------ | ----------- | -| text | `scalar TypeSpec.string` | | diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/index.md b/packages/website/versioned_docs/version-latest/compiler/reference/index.md deleted file mode 100644 index 5e4452ba2c0..00000000000 --- a/packages/website/versioned_docs/version-latest/compiler/reference/index.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Index -sidebar_position: 0 -toc_min_heading_level: 2 -toc_max_heading_level: 3 ---- - -## TypeSpec - -### Decorators - -- [`@format`](./decorators.md#@format) -- [`@doc`](./decorators.md#@doc) -- [`@withUpdateableProperties`](./decorators.md#@withUpdateableProperties) -- [`@withoutOmittedProperties`](./decorators.md#@withoutOmittedProperties) -- [`@withoutDefaultValues`](./decorators.md#@withoutDefaultValues) -- [`@withDefaultKeyVisibility`](./decorators.md#@withDefaultKeyVisibility) -- [`@summary`](./decorators.md#@summary) -- [`@deprecated`](./decorators.md#@deprecated) -- [`@service`](./decorators.md#@service) -- [`@error`](./decorators.md#@error) -- [`@pattern`](./decorators.md#@pattern) -- [`@minLength`](./decorators.md#@minLength) -- [`@maxLength`](./decorators.md#@maxLength) -- [`@minItems`](./decorators.md#@minItems) -- [`@maxItems`](./decorators.md#@maxItems) -- [`@minValue`](./decorators.md#@minValue) -- [`@maxValue`](./decorators.md#@maxValue) -- [`@minValueExclusive`](./decorators.md#@minValueExclusive) -- [`@maxValueExclusive`](./decorators.md#@maxValueExclusive) -- [`@secret`](./decorators.md#@secret) -- [`@tag`](./decorators.md#@tag) -- [`@friendlyName`](./decorators.md#@friendlyName) -- [`@knownValues`](./decorators.md#@knownValues) -- [`@key`](./decorators.md#@key) -- [`@overload`](./decorators.md#@overload) -- [`@projectedName`](./decorators.md#@projectedName) -- [`@discriminator`](./decorators.md#@discriminator) -- [`@visibility`](./decorators.md#@visibility) -- [`@withVisibility`](./decorators.md#@withVisibility) -- [`@inspectType`](./decorators.md#@inspectType) -- [`@inspectTypeName`](./decorators.md#@inspectTypeName) - -### Models - -- [`object`](./data-types.md#object) -- [`Array`](./data-types.md#Array) -- [`Record`](./data-types.md#Record) -- [`OptionalProperties`](./data-types.md#OptionalProperties) -- [`UpdateableProperties`](./data-types.md#UpdateableProperties) -- [`OmitProperties`](./data-types.md#OmitProperties) -- [`OmitDefaults`](./data-types.md#OmitDefaults) -- [`DefaultKeyVisibility`](./data-types.md#DefaultKeyVisibility) -- [`ServiceOptions`](./data-types.md#ServiceOptions) diff --git a/packages/website/versioned_docs/version-latest/extending-typespec/linters.md b/packages/website/versioned_docs/version-latest/extending-typespec/linters.md index 1bb347abf56..d43938a3dd3 100644 --- a/packages/website/versioned_docs/version-latest/extending-typespec/linters.md +++ b/packages/website/versioned_docs/version-latest/extending-typespec/linters.md @@ -76,7 +76,8 @@ When registering a rule, its name will be prefixed by the library named defined Rules are by default just registered but not enabled. This allows a library to provide a set of linting rules for other libraries to use or a user to enable. ```ts -// Note: the rule id here needs to be the fully qualified rule name prefixed with `/` +// Note: The rule ID here needs to be the fully qualified rule name prefixed with the +// `/` prefix and it cannot be a rule provided by another library. linter.enableRule("my-library/no-model-doc"); ``` @@ -96,8 +97,14 @@ The lint library still depends on `$onValidate` to run. For that each library pr ```ts export function $onValidate(program: Program) { - linter.autoEnableRules(); // Optional if you want to automatically enable your rules - linter.enableRules(["/"]); // Alternatively enable rules explicitly. Must be the rule fully qualified name. + // Optional if you want to automatically enable your rules. + linter.autoEnableRules(); + + // Alternatively enable rules explicitly. + // Note: The rule IDs here needs to be the fully qualified rule names with the + // `/` prefix and they cannot be rules provided by other libraries. + linter.enableRules(["/", "/]); + linter.lintOnValidate(program); } ``` diff --git a/packages/website/versioned_docs/version-latest/getting-started/typespec-for-openapi-dev.md b/packages/website/versioned_docs/version-latest/getting-started/typespec-for-openapi-dev.md index 326027c6e10..80d2bc63879 100644 --- a/packages/website/versioned_docs/version-latest/getting-started/typespec-for-openapi-dev.md +++ b/packages/website/versioned_docs/version-latest/getting-started/typespec-for-openapi-dev.md @@ -33,7 +33,8 @@ The following table shows how common OpenAPI types map to TypeSpec types: | `type: string, format: binary` | `bytes` | for "binary" content types, e.g. 'application/octet-stream', 'image/jpeg' | | `type: boolean` | `boolean` | | | `type: string, format: date` | `plainDate` | | -| `type: string, format: date-time` | `zonedDateTime` | RFC 3339 date | +| `type: string, format: date-time` | `utcDateTime` | RFC 3339 date in coordinated universal time (UTC) | +| `type: string, format: date-time` | `offsetDateTime` | RFC 3339 date with offset | | `type: string, format: password` | `@secret string` | | OpenAPI supports a variety of "assertions" that can be used further restrict the values allowed for a data type. diff --git a/packages/website/versioned_docs/version-latest/introduction/configuration/configuration.md b/packages/website/versioned_docs/version-latest/introduction/configuration/configuration.md index 236f7a47983..3b19d4110a0 100644 --- a/packages/website/versioned_docs/version-latest/introduction/configuration/configuration.md +++ b/packages/website/versioned_docs/version-latest/introduction/configuration/configuration.md @@ -87,6 +87,22 @@ Examples: - `{output-dir}/my-path` - `{env.SHARED_PATH}/my-path` +### Emitter path config interpolation + +Some config of emitters can be interpolated using a special rule that will collapse a path. + +If a variable is followed by a `/` or `.` and the emitter interpolating the config doesn't provide that variable it will then omit the path segment. + +For example given the following config value: `{service-name}/output.{version}.json` +The following would get produced + +| Service name value | Version value | Result | +| ------------------ | ------------- | ------------------------- | +| `"PetStore"` | `"v1"` | `PetStore/output.v1.json` | +| `"PetStore"` | `undefined` | `PetStore/output.json` | +| `undefined` | `"v1"` | `output.v1.json` | +| `undefined` | `undefined` | `output.json` | + #### Built-in variables | Variable name | Scope | Description | @@ -169,7 +185,7 @@ options: ### `output-dir` - Configure the default output dir -Specify which emitters to use and their options if applicable. +Specify the common output-dir for all emitters. See [this](#output-directory-configuration) to configure per emitter. ```yaml output-dir: {cwd}/typespec-build @@ -183,6 +199,8 @@ tsp compile . --output-dir "./typespec-build" Output dir must be an absolute path in the config. Use `{cwd}` or `{project-root}` to explicitly specify what it should be relative to. +See [output directory configuration for mode details](#output-directory-configuration) + ### `trace` - Configure what to trace Configure what area to trace. See [tracing docs](./tracing.md) @@ -281,6 +299,8 @@ Represent the path where the emitter should be outputing the generated files. Default: `{output-dir}/{emitter-name}` +See [output directory configuration for mode details](#output-directory-configuration) + ## Emitter control cli flags ### `--no-emit` @@ -328,3 +348,57 @@ Enable/Disable pretty logging(Colors, diagnostic preview, etc.). ```bash tsp compile . --pretty=false ``` + +## Output directory configuration + +Typespec compiler will provide a unique output directory for each emitter that is being run to reduce conflicts. +By default the output-dir of an emitter is set to this value: + +``` +{output-dir}/{emitter-name} +``` + +where + +- `output-dir` is the compiler common `output-dir` that can be configured via `--output-dir` +- `emitter-name` is the name of the emitter package(for example `@typespec/openapi3`) + +Example: +Given the following emitters: `@typespec/openapi3` and `@typespec/jsonschema`, the default output folder structure would be + +``` +{project-root}/tsp-output: + @typespec: + openapi3 + ... openapi3 files ... + jsonschema + ... json schema files ... +``` + +Changing the compiler `output-dir` with `--output-dir` or setting that value in the tspconfig.yaml would result in the following structure + +``` +--output-dir={cwd}/my-custom-output-dir + +{cwd}/my-custom-output-dir: + @typespec: + openapi3 + ... openapi3 files ... + jsonschema + ... json schema files ... + +``` + +Changing a specific emitter output-dir can be done by setting that emitter `emitter-output-dir` option + +``` +--option "@typespec/openapi3.output-dir={projectroot}/openapispec" + +{project-root} + openapispec: + ... openapi3 files ... + tsp-output: + @typespec: + jsonschema + ... json schema files ... +``` diff --git a/packages/website/versioned_docs/version-latest/introduction/releases.md b/packages/website/versioned_docs/version-latest/introduction/releases.md index ea146a4b55a..e60842968cf 100644 --- a/packages/website/versioned_docs/version-latest/introduction/releases.md +++ b/packages/website/versioned_docs/version-latest/introduction/releases.md @@ -7,7 +7,7 @@ title: Releases ## Package versioning strategy -TypeSpec is not stable yet, all packages are released with `0.` major version. Each minor version might have some breaking changes to the typespec language, library API or both. Those are documented [here](./release-notes). +TypeSpec is not stable yet, all packages are released with `0.` major version. Each minor version might have some breaking changes to the typespec language, library API or both. Those are documented [here](../release-notes). Every change to the `main` branch is automatically published under the npm `@next` tag. diff --git a/packages/website/versioned_docs/version-latest/introduction/reproducibility.md b/packages/website/versioned_docs/version-latest/introduction/reproducibility.md new file mode 100644 index 00000000000..8c1b191c61e --- /dev/null +++ b/packages/website/versioned_docs/version-latest/introduction/reproducibility.md @@ -0,0 +1,34 @@ +# Reproducibility + +A key point to service definition is the ability to reliably reproduce the exact same output over time. In cases like: + +1. A dependency or dependency of dependency was updated with an unintended breaking change +2. Changes to a new version of a service shouldn't affect the older versions +3. A change to the TypeSpec spec + +This can be mitigated with a few steps: + +## 1. Defend against dependency changes + +_Note: This section applies if using `cadl install` or `npm install` to install dependencies. However other package managers (`yarn`, `pnpm`, etc.) have their own similar lock mechanisms._ + +When using `cadl install` or `npm install` a `package-lock.json` will be installed. This file SHOULD be committed to source control. It will ensure that later calls to `cadl install` or `npm install` will use the exact versions resolved in the lock files unless the `package.json` was updated or a command like `npm update` was run. + +The command `npm ci` can also be used in the CI to ensure that the `package.json` and `package-lock.json` are in sync. + +## 2. Work with multiple versions of a service + +TypeSpec provides a library `@typespec/versioning` that can be used to describe changes to a service or library over time. Using this will ensure that a service can evolve while keeping track of the changes and allowing emitters to see the service representation at different versions. + +[See versioning docs](../standard-library/versioning/overview.md) + +## 3. Change to the TypeSpec spec + +If you don't directly control the spec, you might still want to make sure you remember which exact definition was used. +Using version control and pinning to a specific commit SHA will ensure that the spec will remain exactly as it was. + +## Summary + +1. Use `package-lock.json` +2. Use [versioning library](../standard-library/versioning/overview.md) +3. Keep track of commit IDs diff --git a/packages/website/versioned_docs/version-latest/standard-library/built-in-types.md b/packages/website/versioned_docs/version-latest/language-basics/built-in-types.md similarity index 85% rename from packages/website/versioned_docs/version-latest/standard-library/built-in-types.md rename to packages/website/versioned_docs/version-latest/language-basics/built-in-types.md index 6b2a1f69a67..350dd2857a3 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/built-in-types.md +++ b/packages/website/versioned_docs/version-latest/language-basics/built-in-types.md @@ -30,12 +30,13 @@ Built in types are related to each other according to the rules described in [ty ## Date and time types -| Type | Description | -| --------------- | ----------------------------------------------------------------------------- | -| `plainDate` | A date on a calendar without a time zone, e.g. "April 10th" | -| `plainTime` | A time on a clock without a time zone, e.g. "3:00 am" | -| `zonedDateTime` | A date and time in a particular time zone, e.g. "April 10th at 3:00am in PST" | -| `duration` | A duration/time period. e.g 5s, 10h | +| Type | Description | +| ---------------- | ----------------------------------------------------------------------------------- | +| `plainDate` | A date on a calendar without a time zone, e.g. "April 10th" | +| `plainTime` | A time on a clock without a time zone, e.g. "3:00 am" | +| `utcDateTime` | A date and time in coordinated universal time (UTC), e.g. "1985-04-12T23:20:50.52Z" | +| `offsetDateTime` | A date and time in a particular time zone, e.g. "April 10th at 3:00am in PST" | +| `duration` | A duration/time period. e.g 5s, 10h | ## Other core types diff --git a/packages/website/versioned_docs/version-latest/language-basics/models.md b/packages/website/versioned_docs/version-latest/language-basics/models.md index 86e49ad4dd8..28e535d6d27 100644 --- a/packages/website/versioned_docs/version-latest/language-basics/models.md +++ b/packages/website/versioned_docs/version-latest/language-basics/models.md @@ -146,3 +146,11 @@ model DogPage { ...Page; } ``` + +## Meta type references + +Some model property meta types can be referenced using `::` + +| Name | Example | Description | +| ---- | ---------------- | ---------------------------------------- | +| type | `Pet.name::type` | Reference the type of the model property | diff --git a/packages/website/versioned_docs/version-latest/language-basics/operations.md b/packages/website/versioned_docs/version-latest/language-basics/operations.md index cdf42c0c885..96161f10e57 100644 --- a/packages/website/versioned_docs/version-latest/language-basics/operations.md +++ b/packages/website/versioned_docs/version-latest/language-basics/operations.md @@ -64,3 +64,20 @@ The operation template can then be referenced via `is`: ```typespec op readPet is ReadResource; ``` + +## Referencing model properties + +Model properties can be referenced using the `.` operator for identifiers. + +```tsp +alias PetName = Pet.name; +``` + +## Meta type references + +Some operation meta types can be referenced using `::` + +| Name | Example | Description | +| ---------- | --------------------- | ----------------------------------------- | +| parameters | `readPet::parameters` | Reference the parameters model expression | +| returnType | `readPet::returnType` | Reference the operation return type | diff --git a/packages/website/versioned_docs/version-latest/standard-library/built-in-decorators.md b/packages/website/versioned_docs/version-latest/standard-library/built-in-decorators.md index dce4e4ad952..6920c543d3c 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/built-in-decorators.md +++ b/packages/website/versioned_docs/version-latest/standard-library/built-in-decorators.md @@ -1,392 +1,515 @@ --- -id: built-in-decorators -title: Built-in Decorators +title: "Built-in Decorators" +toc_min_heading_level: 2 +toc_max_heading_level: 3 --- +# Built-in Decorators +## TypeSpec -# Built-in decorators +### `@deprecated` {#@deprecated} -TypeSpec comes built-in with a number of decorators that are useful for defining service APIs regardless of what protocol or language you're targeting. +Mark this type as deprecated -[Documentation](#documentation-decorators) - -- [@deprecated](#deprecated) - indicates that the decorator target has been deprecated. -- [@doc](#doc) - attach a documentation string. Works great with multi-line string literals. -- [@summary](#summary) - attach a documentation string, typically a short, single-line description. - -[Service](#service-decorators) +```typespec +dec deprecated(target: unknown, message: string) +``` -- [@service](#service) +#### Target -[String](#string-decorators) +`(intrinsic) unknown` -- [@format](#format) - specify the data format hint for a string type -- [@pattern](#pattern) - set the pattern for a string using regular expression syntax -- [@knownValues](#knownvalues) - mark a string type with an enum that contains all known values -- [@secret](#secret) - mark a string as a secret value that should be treated carefully to avoid exposure -- [@minLength/@maxLength](#minlength-and-maxlength) - set the min and max lengths for strings +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| message | `scalar string` | Deprecation message. | -[Numeric](#numeric-decorators) -- [@minValue/@maxValue](#minvalue-and-maxvalue) - set the min and max values of number types +### `@discriminator` {#@discriminator} -[Array](#array-decorators) +Specify the property to be used to discriminate this type. -- [@minItems/@maxItems](#minitems-and-maxitems) - set the min and max number of items an array type can have +```typespec +dec discriminator(target: object | Union, propertyName: string) +``` -[Models](#model-decorators) +#### Target -- [@error](#error) - specify a model is representing an error -- [@key](#key) - mark a model property as the key to identify instances of that type +`union object | Union` -[Debugging](#debugging-decorators) +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| propertyName | `scalar string` | | -- [@inspectType/@inspectTypeName](#inspecttype) - displays information about a type during compilation +#### Examples -[Misc](#misc-decorators) +```typespec +@discriminator("kind") +union Pet{ cat: Cat, dog: Dog } -- [@friendlyName](#friendlyname) - specify a friendly name to be used instead of declared model name -- [@tag](#tag) - attach a simple tag to a declaration -- [@visibility/@withVisibility](#visibility-decorators) -- [@projectedNames](./projected-names.md) +model Cat {kind: "cat", meow: boolean} +model Dog {kind: "dog", bark: boolean} +``` -[Advanced](#advanced-decorators) _Those decorators shouldn't be need to be used directly, there is a template providing the functionality._ +```typespec +@discriminator("kind") +model Pet{ kind: string } -- [@withDefaultKeyVisibility](#withdefaultkeyvisibility) - set the visibility of key properties in a model if not already set. -- [@withOptionalProperties](#withoptionalproperties) - makes all properties of the target type optional. -- [@withoutDefaultValues](#withoutdefaultvalues) - removes all read-only properties from the target type. -- [@withoutOmittedProperties](#withoutomittedproperties) - removes all model properties that match a type. -- [@withUpdateableProperties](#withupdateableproperties) - remove all read-only properties from the target type +model Cat extends Pet {kind: "cat", meow: boolean} +model Dog extends Pet {kind: "dog", bark: boolean} +``` -## Documentation decorators -### `@doc` +### `@doc` {#@doc} -**Syntax:** +Attach a documentation string. ```typespec -@doc(text [, object]) +dec doc(target: unknown, doc: string, formatArgs?: object) ``` -`@doc` attaches a documentation string. Works great with multi-line string literals. +#### Target -The first argument to `@doc` is a string, which may contain template parameters, enclosed in braces, -which are replaced with an attribute for the type (commonly "name") passed as the second (optional) argument. +`(intrinsic) unknown` -`@doc` can be specified on any language element -- a model, an operation, a namespace, etc. +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| doc | `scalar string` | Documentation string | +| formatArgs | `model object` | Record with key value pair that can be interpolated in the doc. | -### `@summary` -**Syntax:** +### `@error` {#@error} + +Specify that this model is an error type. Operations return error types when the operation has failed. ```typespec -@summary(text [, object]) +dec error(target: object) ``` -`@summary` attaches a documentation string. It is typically used to give a short, single-line -description, and can be used in combination with or instead of `@doc`. - -The first argument to `@summary` is a string, which may contain template parameters, enclosed in braces, -which are replaced with an attribute for the type (commonly "name") passed as the second (optional) argument. +#### Target -`@summary` can be specified on any language element -- a model, an operation, a namespace, etc. +`model object` -### `@deprecated` +#### Parameters +None -**Syntax:** +#### Examples ```typespec -@deprecated("") +@error +model PetStoreError { +code: string; +message: string; +} ``` -`@deprecated` marks a type as deprecated. It can be specified on any language element -- a model, an operation, a namespace, etc. - -## Service decorators -### `@service` +### `@format` {#@format} -Mark a namespace as service namespace. - -**Syntax:** +Specify a known data format hint for this string type. For example `uuid`, `uri`, etc. +This differ from the ```typespec -@service(serviceConfig?: {title?: string, version?: string}) +dec format(target: string | bytes | ModelProperty, format: string) ``` -**Parameter:** +#### Target -- `serviceConfig`: - - `title`: Service title. By default it would assume the namespace name is the service title. - - `version`: Service version +`union string | bytes | ModelProperty` -**Examples:** +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| format | `scalar string` | format name. | -```ts -@service -namespace MyService -``` -Optionally you can specify the title +### `@friendlyName` {#@friendlyName} -```ts -@service({title: "My custom service"}) -namespace MyService +Specifies how a templated type should name their instances. + +```typespec +dec friendlyName(target: unknown, name: string, formatArgs?: unknown) ``` -And/Or the version of the service +#### Target -```ts -@service({version: "1.2.3"}) -namespace MyService -``` +`(intrinsic) unknown` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| name | `scalar string` | name the template instance should take | +| formatArgs | `(intrinsic) unknown` | | -## String decorators -### `@format` +### `@inspectType` {#@inspectType} -**Syntax:** ```typespec -@format(formatName) +dec inspectType(target: unknown, text: string) ``` -`@format` - specify the data format hint for a string type +#### Target -The first argument is a string that identifies the format that the string type expects. Any string -can be entered here, but a TypeSpec emitter must know how to interpret +`(intrinsic) unknown` -For TypeSpec specs that will be used with an OpenAPI emitter, the OpenAPI specification describes -possible valid values for a [string type's format](https://github.com/OAI/OpenAPI-Specification/blob/3.0.3/versions/3.0.3.md#dataTypes). +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| text | `scalar string` | | -`@format` can be applied to a type that extends from `string` or a `string`-typed model property. -### `@pattern` +### `@inspectTypeName` {#@inspectTypeName} -**Syntax:** ```typespec -@pattern(regularExpressionText) +dec inspectTypeName(target: unknown, text: string) ``` -`@pattern` specifies a regular expression on a string property. +#### Target + +`(intrinsic) unknown` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| text | `scalar string` | | + -### `@knownValues` +### `@key` {#@key} -**Syntax:** +Mark a model property as the key to identify instances of that type ```typespec -@knownValues(enumTypeReference) +dec key(target: ModelProperty, altName?: string) ``` -`@knownValues` marks a string type with an enum that contains all known values +#### Target -The first parameter is a reference to an enum type that enumerates all possible values that the -type accepts. +`ModelProperty` -`@knownValues` can only be applied to model types that extend `string`. +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| altName | `scalar string` | | -Example: +#### Examples ```typespec -enum OperationStateValues { - Running, - Completed, - Failed, +model Pet { +@key id: string; } - -@knownValues(OperationStateValues) -scalar OperationState extends string; ``` -### `@secret` -**Syntax:** +### `@knownValues` {#@knownValues} + +Provide a set of known values to a string type. ```typespec -@secret +dec knownValues(target: string | numeric | ModelProperty, values: Enum) ``` -`@secret` mark a string as a secret value that should be treated carefully to avoid exposure +#### Target + +`union string | numeric | ModelProperty` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| values | `Enum` | Known values enum. | -```typespec -@secret -scalar Password extends string; -``` -`@secret` can only be applied to string model; +### `@maxItems` {#@maxItems} -### `@minLength` and `@maxLength` +Specify the maximum number of items this array should have. ```typespec -@minLength() -@maxLength() -scalar Name extends string; +dec maxItems(target: unknown[] | ModelProperty, value: integer) ``` -Specify the min and max length of the string. +#### Target + +`union unknown[] | ModelProperty` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| value | `scalar integer` | Maximum number | + + +### `@maxLength` {#@maxLength} + +Specify the maximum length this string type should be. ```typespec -// Say that the name must be between 2 and 20 charchater long -@minLength(2) -@maxLength(20) -scalar Name extends string; +dec maxLength(target: string | ModelProperty, value: integer) ``` -The decorators can also be used on model properties +#### Target + +`union string | ModelProperty` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| value | `scalar integer` | Maximum length | + + +### `@maxValue` {#@maxValue} + +Specify the maximum value this numeric type should be. ```typespec -model Dog { - @minLength(2) - @maxLength(20) - name: string; -} +dec maxValue(target: numeric | ModelProperty, value: numeric) ``` -## Numeric decorators +#### Target + +`union numeric | ModelProperty` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| value | `scalar numeric` | Maximum value | + + +### `@maxValueExclusive` {#@maxValueExclusive} -### `@minValue` and `@maxValue` +Specify the maximum value this numeric type should be, exclusive of the given +value. ```typespec -@minValue() -@maxValue() -model Name is int32; +dec maxValueExclusive(target: numeric | ModelProperty, value: numeric) ``` -Specify the min and max value for an integer or float. +#### Target + +`union numeric | ModelProperty` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| value | `scalar numeric` | Maximum value | + + +### `@minItems` {#@minItems} + +Specify the minimum number of items this array should have. ```typespec -// Say that the Floor must be between 1 and 100 -@minValue(1) -@maxValue(100) -model Floor is int32; +dec minItems(target: unknown[] | ModelProperty, value: integer) ``` -The decorators can also be used on model properties +#### Target + +`union unknown[] | ModelProperty` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| value | `scalar integer` | Minimum number | + + +### `@minLength` {#@minLength} + +Specify the minimum length this string type should be. ```typespec -model Building { - @minValue(1) - @maxValue(100) - floors: int32; -} +dec minLength(target: string | ModelProperty, value: integer) ``` -## Array decorators +#### Target + +`union string | ModelProperty` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| value | `scalar integer` | Minimum length | + -### `@minItems` and `@maxItems` +### `@minValue` {#@minValue} + +Specify the minimum value this numeric type should be. ```typespec -@minItems() -@maxItems() -model Names is string[]; +dec minValue(target: numeric | ModelProperty, value: numeric) ``` -Specify the min and max number of items in an array type. +#### Target + +`union numeric | ModelProperty` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| value | `scalar numeric` | Minimum value | + + +### `@minValueExclusive` {#@minValueExclusive} + +Specify the minimum value this numeric type should be, exclusive of the given +value. ```typespec -// Say that the the Names array type can have have between 1 and 3 items. -@minItems(1) -@maxItems(3) -model Names is string[]; +dec minValueExclusive(target: numeric | ModelProperty, value: numeric) ``` -The decorators can also be used on model properties +#### Target + +`union numeric | ModelProperty` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| value | `scalar numeric` | Minimum value | + + +### `@overload` {#@overload} + +Specify this operation is an overload of the given operation. ```typespec -model Person { - @minItems(1) - @maxItems(3) - names: string[]; -} +dec overload(target: Operation, overloadbase: Operation) ``` -## Model decorators +#### Target + +`Operation` -### @error +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| overloadbase | `Operation` | Base operation that should be a union of all overloads | -**Syntax:** + +### `@pattern` {#@pattern} + +Specify the the pattern this string should respect using simple regular expression syntax. +The following syntax is allowed: alternations (`|`), quantifiers (`?`, `*`, `+`, and `{ }`), wildcard (`.`), and grouping parentheses. +Advanced features like look-around, capture groups, and references are not supported. ```typespec -@error +dec pattern(target: string | bytes | ModelProperty, pattern: string) ``` -`@error` - specify that this model is an error type +#### Target + +`union string | bytes | ModelProperty` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| pattern | `scalar string` | Regular expression. | -For HTTP API this can be used to represent a failure. -### `@key` +### `@projectedName` {#@projectedName} -**Syntax:** +Provide an alternative name for this type. ```typespec -@key([keyName]) +dec projectedName(target: unknown, targetName: string, projectedName: string) ``` -`@key` - mark a model property as the key to identify instances of that type +#### Target -The optional first argument accepts an alternate key name which may be used by emitters. -Otherwise, the name of the target property will be used. +`(intrinsic) unknown` -`@key` can only be applied to model properties. +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| targetName | `scalar string` | Projection target | +| projectedName | `scalar string` | Alternative name | -## Debugging decorators -### `@inspectType` +### `@secret` {#@secret} -**Syntax:** +Mark this string as a secret value that should be treated carefully to avoid exposure ```typespec -@inspectType(message) -@inspectTypeName(message) +dec secret(target: string | ModelProperty) ``` -`@inspectType` displays information about a type during compilation. -`@inspectTypeName` displays information and name of type during compilation. -They can be specified on any language element -- a model, an operation, a namespace, etc. +#### Target -## Misc decorators +`union string | ModelProperty` -### `@friendlyName` +#### Parameters +None -**Syntax:** +#### Examples ```typespec -@friendlyName(string) +@secret +scalar Password is string; ``` -`@friendlyName` specifies how a templated type should name their instances. It takes a string literal coresponding the the name. `{name}` can be used to interpolate the value of the template parameter which can be passed as a 2nd parameter. -Example: +### `@service` {#@service} + +Mark this namespace as describing a service and configure service properties. ```typespec -@friendlyName("{name}List", T) -model List {} +dec service(target: Namespace, options?: ServiceOptions) +``` + +#### Target + +`Namespace` -alias A = List; // Instance friendly name would be `FooBarList` -alias B = List; // Instance friendly name would be `PersonList` +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| options | `model ServiceOptions` | Optional configuration for the service. | + + +### `@summary` {#@summary} + +Typically a short, single-line description. + +```typespec +dec summary(target: unknown, summary: string) ``` -### `@tag` +#### Target + +`(intrinsic) unknown` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| summary | `scalar string` | Summary string. | + + +### `@tag` {#@tag} -**Syntax:** +Attaches a tag to an operation, interface, or namespace. Multiple `@tag` decorators can be specified to attach multiple tags to a TypeSpec element. ```typespec -@tag(text) +dec tag(target: Namespace | Interface | Operation, tag: string) ``` -`@tag` attaches a tag to an operation, interface, or namespace. Multiple `@tag` decorators can be specified -to attach multiple tags to a TypeSpec element. +#### Target -The argument to `@tag` is a string tag value. +`union Namespace | Interface | Operation` -### Visibility decorators +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| tag | `scalar string` | Tag value | -Additionally, the decorators `@visibility` and `@withVisibility` provide an extensible visibility framework that allows for defining a canonical model with fine-grained visibility flags and derived models that apply those flags. -### `@visibility` +### `@visibility` {#@visibility} -Indicates that a property is only considered to be present or applicable ("visible") with the in the given named contexts ("visibilities"). When a property has no visibilities applied to it, it is implicitly visible always. +Indicates that a property is only considered to be present or applicable ("visible") with +the in the given named contexts ("visibilities"). When a property has no visibilities applied +to it, it is implicitly visible always. -As far as the TypeSpec core library is concerned, visibilities are open-ended and can be arbitrary strings, but the following visibilities are well-known to standard libraries and should be used with standard emitters that interpret them as follows: +As far as the TypeSpec core library is concerned, visibilities are open-ended and can be arbitrary +strings, but the following visibilities are well-known to standard libraries and should be used +with standard emitters that interpret them as follows: - "read": output of any operation. - "create": input to operations that create an entity.. @@ -394,116 +517,150 @@ As far as the TypeSpec core library is concerned, visibilities are open-ended an - "update": input to operations that update data. - "delete": input to operations that delete data. -See also: [Automatic visibility](./rest/operations#automatic-visibility) - -#### Example +See also: [Automatic visibility](https://microsoft.github.io/typespec/standard-library/rest/operations#automatic-visibility) ```typespec -model Dog { - // the service will generate an ID, so you don't need to send it. - @visibility("read") id: int32; - // the service will store this secret name, but won't ever return it - @visibility("create", "update") secretName: string; - // the regular name is always present - name: string; -} +dec visibility(target: ModelProperty, ...visibilities: string[]) ``` -### `@withVisibility` +#### Target -Removes properties that are not considered to be present or applicable ("visible") in the given named contexts ("visibilities"). Can be used together with spread to effectively spread only visible properties into a new model. +`ModelProperty` -See also: [Automatic visibility](./rest/operations#automatic-visibility) +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| visibilities | `model string[]` | | -When using an emitter that applies visibility automatically, it is generally -not necessary to use this decorator. +#### Examples ```typespec model Dog { - @visibility("read") id: int32; - @visibility("create", "update") secretName: string; - name: string; -} -// The spread operator will copy all the properties of Dog into DogRead, -// and @withVisibility will then remove those that are not visible with -// create or update visibility. -// -// In this case, the id property is removed, and the name and secretName -// properties are kept. -@withVisibility("create", "update") -model DogCreateOrUpdate { - ...Dog; -} -// In this case the id and name properties are kept and the secretName property -// is removed. -@withVisibility("read") -model DogRead { - ...Dog; +// the service will generate an ID, so you don't need to send it. +@visibility("read") id: int32; +// the service will store this secret name, but won't ever return it +@visibility("create", "update") secretName: string; +// the regular name is always present +name: string; } ``` -## Advanced decorators -Those decorators shouldn't be need to be used directly, there is a template providing the functionality. +### `@withDefaultKeyVisibility` {#@withDefaultKeyVisibility} + + +```typespec +dec withDefaultKeyVisibility(target: object, visibility: unknown) +``` + +#### Target + +`model object` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| visibility | `(intrinsic) unknown` | | -### `@withDefaultKeyVisibility` -**Syntax:** +### `@withoutDefaultValues` {#@withoutDefaultValues} + ```typespec -@withDefaultKeyVisibility(string) +dec withoutDefaultValues(target: object) ``` -`@withDefaultKeyVisibility` - set the visibility of key properties in a model if not already set. The first argument accepts a string representing the desired default -visibility value. -If a key property already has a `visibility` decorator then the default visibility is not applied. +#### Target + +`model object` -`@withDefaultKeyVisibility` can only be applied to model types. +#### Parameters +None -### `@withOptionalProperties` -**Syntax:** +### `@withoutOmittedProperties` {#@withoutOmittedProperties} + ```typespec -@withOptionalProperties() +dec withoutOmittedProperties(target: object, omit: string | Union) ``` -`@withOptionalProperties` makes all properties of the target type optional. +#### Target + +`model object` + +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| omit | `union string \| Union` | | -`@withOptionalProperties` can only be applied to model types. -### @withoutDefaultValues +### `@withUpdateableProperties` {#@withUpdateableProperties} -**Syntax:** ```typespec -@withoutDefaultValues() +dec withUpdateableProperties(target: object) ``` -`@withoutDefaultValues` removes all read-only properties from the target type. +#### Target + +`model object` + +#### Parameters +None -`@withoutDefaultValues` can only be applied to model types. -### @withoutOmittedProperties +### `@withVisibility` {#@withVisibility} -**Syntax:** +Removes properties that are not considered to be present or applicable +("visible") in the given named contexts ("visibilities"). Can be used +together with spread to effectively spread only visible properties into +a new model. + +See also: [Automatic visibility](https://microsoft.github.io/typespec/standard-library/rest/operations#automatic-visibility) + +When using an emitter that applies visibility automatically, it is generally +not necessary to use this decorator. ```typespec -@withoutOmittedProperties(type) +dec withVisibility(target: object, ...visibilities: string[]) ``` -`@withoutOmittedProperties` removes all model properties that match a type. +#### Target -`@withoutOmittedProperties` can only be applied to model types. +`model object` -### @withUpdateableProperties +#### Parameters +| Name | Type | Description | +|------|------|-------------| +| visibilities | `model string[]` | | -**Syntax:** +#### Examples ```typespec -@withUpdateableProperties() +model Dog { +@visibility("read") id: int32; +@visibility("create", "update") secretName: string; +name: string; +} + +// The spread operator will copy all the properties of Dog into DogRead, +// and @withVisibility will then remove those that are not visible with +// create or update visibility. +// +// In this case, the id property is removed, and the name and secretName +// properties are kept. +@withVisibility("create", "update") +model DogCreateOrUpdate { +...Dog; +} + +// In this case the id and name properties are kept and the secretName property +// is removed. +@withVisibility("read") +model DogRead { +...Dog; +} ``` -`@withUpdateableProperties` remove all read-only properties from the target type. -`@withUpdateableProperties` can only be applied to model types. diff --git a/packages/website/versioned_docs/version-latest/standard-library/rest/authentication.md b/packages/website/versioned_docs/version-latest/standard-library/http/authentication.md similarity index 100% rename from packages/website/versioned_docs/version-latest/standard-library/rest/authentication.md rename to packages/website/versioned_docs/version-latest/standard-library/http/authentication.md diff --git a/packages/website/versioned_docs/version-latest/standard-library/http/overview.md b/packages/website/versioned_docs/version-latest/standard-library/http/overview.md new file mode 100644 index 00000000000..d0654029c43 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/http/overview.md @@ -0,0 +1,73 @@ +--- +title: Overview +--- + +# HTTP + +TypeSpec has an official HTTP API "binding" called `@typespec/http`. It's a set of TypeSpec declarations and decorators that describe HTTP APIs and can be used by code generators to generate OpenAPI descriptions, implementation code, and the like. + +## Installation + +In your typespec project + +```bash +npm install @typespec/http +``` + +## Details + +- [References](./reference/index.md) + - [Decorators](./reference/decorators.md) + - [Data types](./reference/data-types.md) +- [Authentication](./authentication.md) + +## Cheat sheet + +## Verb + +| Feature | Example | +| ---------------- | --------------------------- | +| Get operation | `@get op read(): void` | +| Put operation | `@put op set(): void` | +| Post operation | `@post op add(): void` | +| Patch operation | `@patch op patch(): void` | +| Delete operation | `@delete op delete(): void` | +| Head operation | `@head op read(): void` | + +## Routing + +| Feature | Example | +| ---------------------------------- | ------------------------------------------------------------------------------------------ | +| Fixed route | `@route("/pets") op list(): Pet[]` | +| Route with path parameter | `@route("/pets/{petId}") op getPet(petId: string): Pet` | +| Route with multiple path parameter | `@route("/stores/{storeId}/pets/{petId}/") op getPet(storeId: string, petId: string): Pet` | + +## Data types + +| Feature | Example | +| ----------------------- | ------------------------------------------- | +| Request header | `op read(@header traceparent: string): Pet` | +| Response header | `op read(): {@header eTag: string, ...Pet}` | +| Query parameter | `op list(@query filter: string): Pet[]` | +| Explicit body parameter | `op add(@body pet: Pet): void` | +| Implicit body parameter | `op add(...Pet): void` | +| Status code | `op read(): {@statusCode _: 200, ...Pet}` | + +## Server + +| Feature | Example | +| ------------- | ------------------------------------------------------------------------------------- | +| Single | `@server("https://example.com", "Example 1 endpoint")` | +| Multiple | `@server("https://example1.com", "E1") @server("https://example2.com", "E2")` | +| Parameterized | `@server("https://{region}.example.com", "Region scoped endpoint", {region: string})` | + +## Authentication + +_Details: [Authentication](./authentication.md)_ + +| Feature | Example | +| --------------- | ------------------------------------------- | +| Basic auth | `@useAuth(BasicAuth)` | +| Bearer auth | `@useAuth(BearerAuth)` | +| Api key auth | `@useAuth(ApiKeyAuth<"header", "Api-Key">)` | +| OAuth2 key auth | `@useAuth(OAuth2Flow<[MyScope]>)` | diff --git a/packages/website/versioned_docs/version-latest/standard-library/http/reference/data-types.md b/packages/website/versioned_docs/version-latest/standard-library/http/reference/data-types.md index 904359b688f..fe0d34604f4 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/http/reference/data-types.md +++ b/packages/website/versioned_docs/version-latest/standard-library/http/reference/data-types.md @@ -8,107 +8,110 @@ toc_max_heading_level: 3 ## TypeSpec.Http -### `Response` {#TypeSpec.Http.Response} +### `AcceptedResponse` {#TypeSpec.Http.AcceptedResponse} ```typespec -model Response +model TypeSpec.Http.AcceptedResponse ``` -#### Template Parameters - -| Name | Description | -| ------ | ----------- | -| Status | | +### `ApiKeyAuth` {#TypeSpec.Http.ApiKeyAuth} -### `Body` {#TypeSpec.Http.Body} +An API key is a token that a client provides when making API calls. The key can be sent in the query string: -Defines a model with a single property of the given type, marked with `@body`. +``` +GET /something?api_key=abcdef12345 +``` -This can be useful in situations where you cannot use a bare T as the body -and it is awkward to add a property. +or as a request header -```typespec -model Body +``` +GET /something HTTP/1.1 +X-API-Key: abcdef12345 ``` -#### Template Parameters - -| Name | Description | -| ---- | ----------- | -| T | | +or as a cookie -### `LocationHeader` {#TypeSpec.Http.LocationHeader} +``` +GET /something HTTP/1.1 +Cookie: X-API-KEY=abcdef12345 +``` ```typespec -model TypeSpec.Http.LocationHeader +model ApiKeyAuth ``` -### `HeaderOptions` {#TypeSpec.Http.HeaderOptions} +#### Template Parameters -Header options. +| Name | Description | +| --------- | ----------- | +| TLocation | | +| TName | | -```typespec -model TypeSpec.Http.HeaderOptions -``` +### `AuthorizationCodeFlow` {#TypeSpec.Http.AuthorizationCodeFlow} -### `OkResponse` {#TypeSpec.Http.OkResponse} +Authorization Code flow ```typespec -model TypeSpec.Http.OkResponse +model TypeSpec.Http.AuthorizationCodeFlow ``` -### `CreatedResponse` {#TypeSpec.Http.CreatedResponse} +### `BadRequestResponse` {#TypeSpec.Http.BadRequestResponse} ```typespec -model TypeSpec.Http.CreatedResponse +model TypeSpec.Http.BadRequestResponse ``` -### `AcceptedResponse` {#TypeSpec.Http.AcceptedResponse} +### `BasicAuth` {#TypeSpec.Http.BasicAuth} -```typespec -model TypeSpec.Http.AcceptedResponse -``` +Basic authentication is a simple authentication scheme built into the HTTP protocol. +The client sends HTTP requests with the Authorization header that contains the word Basic word followed by a space and a base64-encoded string username:password. +For example, to authorize as demo / `p@55w0rd` the client would send -### `NoContentResponse` {#TypeSpec.Http.NoContentResponse} +``` +Authorization: Basic ZGVtbzpwQDU1dzByZA== +``` ```typespec -model TypeSpec.Http.NoContentResponse +model TypeSpec.Http.BasicAuth ``` -### `MovedResponse` {#TypeSpec.Http.MovedResponse} +### `BearerAuth` {#TypeSpec.Http.BearerAuth} -```typespec -model TypeSpec.Http.MovedResponse -``` +Bearer authentication (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. +The name “Bearer authentication” can be understood as “give access to the bearer of this token.” The bearer token is a cryptic string, usually generated by the server in response to a login request. +The client must send this token in the Authorization header when making requests to protected resources: -### `NotModifiedResponse` {#TypeSpec.Http.NotModifiedResponse} +``` +Authorization: Bearer +``` ```typespec -model TypeSpec.Http.NotModifiedResponse +model TypeSpec.Http.BearerAuth ``` -### `BadRequestResponse` {#TypeSpec.Http.BadRequestResponse} +### `Body` {#TypeSpec.Http.Body} -```typespec -model TypeSpec.Http.BadRequestResponse -``` +Defines a model with a single property of the given type, marked with `@body`. -### `UnauthorizedResponse` {#TypeSpec.Http.UnauthorizedResponse} +This can be useful in situations where you cannot use a bare T as the body +and it is awkward to add a property. ```typespec -model TypeSpec.Http.UnauthorizedResponse +model Body ``` -### `ForbiddenResponse` {#TypeSpec.Http.ForbiddenResponse} +#### Template Parameters -```typespec -model TypeSpec.Http.ForbiddenResponse -``` +| Name | Description | +| ---- | ---------------------------------------- | +| T | The type of the model's `body` property. | -### `NotFoundResponse` {#TypeSpec.Http.NotFoundResponse} +### `ClientCredentialsFlow` {#TypeSpec.Http.ClientCredentialsFlow} + +Client credentials flow ```typespec -model TypeSpec.Http.NotFoundResponse +model TypeSpec.Http.ClientCredentialsFlow ``` ### `ConflictResponse` {#TypeSpec.Http.ConflictResponse} @@ -117,89 +120,63 @@ model TypeSpec.Http.NotFoundResponse model TypeSpec.Http.ConflictResponse ``` -### `PlainData` {#TypeSpec.Http.PlainData} - -Produces a new model with the same properties as T, but with `@query`, -`@header`, `@body`, and `@path` decorators removed from all properties. +### `CreatedResponse` {#TypeSpec.Http.CreatedResponse} ```typespec -model PlainData +model TypeSpec.Http.CreatedResponse ``` -#### Template Parameters - -| Name | Description | -| ---- | ----------- | -| T | | - -### `QueryOptions` {#TypeSpec.Http.QueryOptions} - -Query parameter options. +### `ForbiddenResponse` {#TypeSpec.Http.ForbiddenResponse} ```typespec -model TypeSpec.Http.QueryOptions +model TypeSpec.Http.ForbiddenResponse ``` -### `BasicAuth` {#TypeSpec.Http.BasicAuth} - -Basic authentication is a simple authentication scheme built into the HTTP protocol. -The client sends HTTP requests with the Authorization header that contains the word Basic word followed by a space and a base64-encoded string username:password. -For example, to authorize as demo / `p@55w0rd` the client would send +### `HeaderOptions` {#TypeSpec.Http.HeaderOptions} -``` -Authorization: Basic ZGVtbzpwQDU1dzByZA== -``` +Header options. ```typespec -model TypeSpec.Http.BasicAuth +model TypeSpec.Http.HeaderOptions ``` -### `BearerAuth` {#TypeSpec.Http.BearerAuth} - -Bearer authentication (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. -The name “Bearer authentication” can be understood as “give access to the bearer of this token.” The bearer token is a cryptic string, usually generated by the server in response to a login request. -The client must send this token in the Authorization header when making requests to protected resources: +### `ImplicitFlow` {#TypeSpec.Http.ImplicitFlow} -``` -Authorization: Bearer -``` +Implicit flow ```typespec -model TypeSpec.Http.BearerAuth +model TypeSpec.Http.ImplicitFlow ``` -### `ApiKeyAuth` {#TypeSpec.Http.ApiKeyAuth} - -An API key is a token that a client provides when making API calls. The key can be sent in the query string: +### `LocationHeader` {#TypeSpec.Http.LocationHeader} -``` -GET /something?api_key=abcdef12345 +```typespec +model TypeSpec.Http.LocationHeader ``` -or as a request header +### `MovedResponse` {#TypeSpec.Http.MovedResponse} -``` -GET /something HTTP/1.1 -X-API-Key: abcdef12345 +```typespec +model TypeSpec.Http.MovedResponse ``` -or as a cookie +### `NoContentResponse` {#TypeSpec.Http.NoContentResponse} +```typespec +model TypeSpec.Http.NoContentResponse ``` -GET /something HTTP/1.1 -Cookie: X-API-KEY=abcdef12345 -``` + +### `NotFoundResponse` {#TypeSpec.Http.NotFoundResponse} ```typespec -model ApiKeyAuth +model TypeSpec.Http.NotFoundResponse ``` -#### Template Parameters +### `NotModifiedResponse` {#TypeSpec.Http.NotModifiedResponse} -| Name | Description | -| --------- | ----------- | -| TLocation | | -| TName | | +```typespec +model TypeSpec.Http.NotModifiedResponse +``` ### `OAuth2Auth` {#TypeSpec.Http.OAuth2Auth} @@ -218,44 +195,61 @@ model OAuth2Auth | ------ | ----------- | | TFlows | | -### `AuthorizationCodeFlow` {#TypeSpec.Http.AuthorizationCodeFlow} +### `OkResponse` {#TypeSpec.Http.OkResponse} -Authorization Code flow +```typespec +model TypeSpec.Http.OkResponse +``` + +### `PasswordFlow` {#TypeSpec.Http.PasswordFlow} + +Resource Owner Password flow ```typespec -model TypeSpec.Http.AuthorizationCodeFlow +model TypeSpec.Http.PasswordFlow ``` -### `ImplicitFlow` {#TypeSpec.Http.ImplicitFlow} +### `PlainData` {#TypeSpec.Http.PlainData} -Implicit flow +Produces a new model with the same properties as T, but with `@query`, +`@header`, `@body`, and `@path` decorators removed from all properties. ```typespec -model TypeSpec.Http.ImplicitFlow +model PlainData ``` -### `PasswordFlow` {#TypeSpec.Http.PasswordFlow} +#### Template Parameters -Resource Owner Password flow +| Name | Description | +| ---- | -------------------------------------- | +| T | The model to spread as the plain data. | + +### `QueryOptions` {#TypeSpec.Http.QueryOptions} + +Query parameter options. ```typespec -model TypeSpec.Http.PasswordFlow +model TypeSpec.Http.QueryOptions ``` -### `ClientCredentialsFlow` {#TypeSpec.Http.ClientCredentialsFlow} +### `Response` {#TypeSpec.Http.Response} -Client credentials flow +Describes an HTTP response. ```typespec -model TypeSpec.Http.ClientCredentialsFlow +model Response ``` -### `AuthType` {#TypeSpec.Http.AuthType} +#### Template Parameters -Authentication type +| Name | Description | +| ------ | -------------------------------- | +| Status | The status code of the response. | + +### `UnauthorizedResponse` {#TypeSpec.Http.UnauthorizedResponse} ```typespec -enum TypeSpec.Http.AuthType +model TypeSpec.Http.UnauthorizedResponse ``` ### `ApiKeyLocation` {#TypeSpec.Http.ApiKeyLocation} @@ -266,6 +260,14 @@ Describes the location of the API key enum TypeSpec.Http.ApiKeyLocation ``` +### `AuthType` {#TypeSpec.Http.AuthType} + +Authentication type + +```typespec +enum TypeSpec.Http.AuthType +``` + ### `OAuth2FlowType` {#TypeSpec.Http.OAuth2FlowType} Describes the OAuth2 flow type diff --git a/packages/website/versioned_docs/version-latest/standard-library/http/reference/decorators.md b/packages/website/versioned_docs/version-latest/standard-library/http/reference/decorators.md index b2d38765a0e..4274400390b 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/http/reference/decorators.md +++ b/packages/website/versioned_docs/version-latest/standard-library/http/reference/decorators.md @@ -8,12 +8,12 @@ toc_max_heading_level: 3 ## TypeSpec.Http -### `@statusCode` {#@TypeSpec.Http.statusCode} +### `@body` {#@TypeSpec.Http.body} -Specify the status code for this response. Property type must be a status code integer or a union of status code integer. +Explicitly specify that this property is to be set as the body ```typespec -dec TypeSpec.Http.statusCode(target: TypeSpec.Reflection.ModelProperty) +dec TypeSpec.Http.body(target: ModelProperty) ``` #### Target @@ -22,82 +22,87 @@ dec TypeSpec.Http.statusCode(target: TypeSpec.Reflection.ModelProperty) #### Parameters -| Name | Type | Description | -| ---- | ---- | ----------- | +None #### Examples ```typespec -op read(): {@statusCode: 200, @body pet: Pet} -op create(): {@statusCode: 201 | 202} +op upload(@body image: bytes): void; +op download(): {@body image: bytes}; ``` -### `@body` {#@TypeSpec.Http.body} +### `@delete` {#@TypeSpec.Http.delete} -Explicitly specify that this property is to be set as the body +Specify the http verb for the target operation to be `DELETE`. ```typespec -dec TypeSpec.Http.body(target: TypeSpec.Reflection.ModelProperty) +dec TypeSpec.Http.delete(target: Operation) ``` #### Target -`ModelProperty` +`Operation` #### Parameters -| Name | Type | Description | -| ---- | ---- | ----------- | +None #### Examples ```typespec -op upload(@body image: bytes): void; -op download(): {@body image: bytes}; +@delete op set(petId: string): void ``` -### `@header` {#@TypeSpec.Http.header} +### `@get` {#@TypeSpec.Http.get} -Specify this property is to be sent or received as an http header. +Specify the http verb for the target operation to be `GET`. ```typespec -dec TypeSpec.Http.header(target: TypeSpec.Reflection.ModelProperty, headerNameOrOptions?: TypeSpec.string | TypeSpec.Http.HeaderOptions) +dec TypeSpec.Http.get(target: Operation) ``` #### Target -`ModelProperty` +`Operation` #### Parameters -| Name | Type | Description | -| ------------------- | ------------------------------------------------------ | ------------------------------------------------------------------ | -| headerNameOrOptions | `union TypeSpec.string \| TypeSpec.Http.HeaderOptions` | Optional name of the header when sent over http or header options. | +None -### `@query` {#@TypeSpec.Http.query} +#### Examples -Specify this property is to be sent as a query parameter. +```typespec +@get op read(): string +``` + +### `@head` {#@TypeSpec.Http.head} + +Specify the http verb for the target operation to be `HEAD`. ```typespec -dec TypeSpec.Http.query(target: TypeSpec.Reflection.ModelProperty, queryNameOrOptions?: TypeSpec.string | TypeSpec.Http.QueryOptions) +dec TypeSpec.Http.head(target: Operation) ``` #### Target -`ModelProperty` +`Operation` #### Parameters -| Name | Type | Description | -| ------------------ | ----------------------------------------------------- | ------------------------------------------------------------------------------- | -| queryNameOrOptions | `union TypeSpec.string \| TypeSpec.Http.QueryOptions` | Optional name of the query when included in the url or query parameter options. | +None -### `@path` {#@TypeSpec.Http.path} +#### Examples -Explicitly specify that this property is to be interpolated as a path parameter. +```typespec +@head op ping(petId: string): void +``` + +### `@header` {#@TypeSpec.Http.header} + +Specify this property is to be sent or received as an http header. ```typespec -dec TypeSpec.Http.path(target: TypeSpec.Reflection.ModelProperty, paramName?: TypeSpec.string) +dec TypeSpec.Http.header(target: ModelProperty, headerNameOrOptions?: string | TypeSpec.Http.HeaderOptions) ``` #### Target @@ -106,39 +111,34 @@ dec TypeSpec.Http.path(target: TypeSpec.Reflection.ModelProperty, paramName?: Ty #### Parameters -| Name | Type | Description | -| --------- | ------------------------ | --------------------------------------------------- | -| paramName | `scalar TypeSpec.string` | Optional name of the parameter in the url template. | +| Name | Type | Description | +| ------------------- | --------------------------------------------- | ------------------------------------------------------------------ | +| headerNameOrOptions | `union string \| TypeSpec.Http.HeaderOptions` | Optional name of the header when sent over http or header options. | -### `@get` {#@TypeSpec.Http.get} +### `@includeInapplicableMetadataInPayload` {#@TypeSpec.Http.includeInapplicableMetadataInPayload} -Specify the http verb for the target operation to be `GET`. +Specify if inapplicable metadata should be included in the payload for the given entity. ```typespec -dec TypeSpec.Http.get(target: TypeSpec.Reflection.Operation) +dec TypeSpec.Http.includeInapplicableMetadataInPayload(target: unknown, value: boolean) ``` #### Target -`Operation` +`(intrinsic) unknown` #### Parameters -| Name | Type | Description | -| ---- | ---- | ----------- | - -#### Examples +| Name | Type | Description | +| ----- | ---------------- | ----------- | +| value | `scalar boolean` | | -```typespec -@get op read(): string -``` - -### `@put` {#@TypeSpec.Http.put} +### `@patch` {#@TypeSpec.Http.patch} -Specify the http verb for the target operation to be `PUT`. +Specify the http verb for the target operation to be `PATCH`. ```typespec -dec TypeSpec.Http.put(target: TypeSpec.Reflection.Operation) +dec TypeSpec.Http.patch(target: Operation) ``` #### Target @@ -147,21 +147,38 @@ dec TypeSpec.Http.put(target: TypeSpec.Reflection.Operation) #### Parameters -| Name | Type | Description | -| ---- | ---- | ----------- | +None #### Examples ```typespec -@put op set(pet: Pet): void +@patch op update(pet: Pet): void +``` + +### `@path` {#@TypeSpec.Http.path} + +Explicitly specify that this property is to be interpolated as a path parameter. + +```typespec +dec TypeSpec.Http.path(target: ModelProperty, paramName?: string) ``` +#### Target + +`ModelProperty` + +#### Parameters + +| Name | Type | Description | +| --------- | --------------- | --------------------------------------------------- | +| paramName | `scalar string` | Optional name of the parameter in the url template. | + ### `@post` {#@TypeSpec.Http.post} Specify the http verb for the target operation to be `POST`. ```typespec -dec TypeSpec.Http.post(target: TypeSpec.Reflection.Operation) +dec TypeSpec.Http.post(target: Operation) ``` #### Target @@ -170,8 +187,7 @@ dec TypeSpec.Http.post(target: TypeSpec.Reflection.Operation) #### Parameters -| Name | Type | Description | -| ---- | ---- | ----------- | +None #### Examples @@ -179,12 +195,12 @@ dec TypeSpec.Http.post(target: TypeSpec.Reflection.Operation) @post op create(pet: Pet): void ``` -### `@patch` {#@TypeSpec.Http.patch} +### `@put` {#@TypeSpec.Http.put} -Specify the http verb for the target operation to be `PATCH`. +Specify the http verb for the target operation to be `PUT`. ```typespec -dec TypeSpec.Http.patch(target: TypeSpec.Reflection.Operation) +dec TypeSpec.Http.put(target: Operation) ``` #### Target @@ -193,67 +209,63 @@ dec TypeSpec.Http.patch(target: TypeSpec.Reflection.Operation) #### Parameters -| Name | Type | Description | -| ---- | ---- | ----------- | +None #### Examples ```typespec -@patch op update(pet: Pet): void +@put op set(pet: Pet): void ``` -### `@delete` {#@TypeSpec.Http.delete} +### `@query` {#@TypeSpec.Http.query} -Specify the http verb for the target operation to be `DELETE`. +Specify this property is to be sent as a query parameter. ```typespec -dec TypeSpec.Http.delete(target: TypeSpec.Reflection.Operation) +dec TypeSpec.Http.query(target: ModelProperty, queryNameOrOptions?: string | TypeSpec.Http.QueryOptions) ``` #### Target -`Operation` +`ModelProperty` #### Parameters -| Name | Type | Description | -| ---- | ---- | ----------- | +| Name | Type | Description | +| ------------------ | -------------------------------------------- | ------------------------------------------------------------------------------- | +| queryNameOrOptions | `union string \| TypeSpec.Http.QueryOptions` | Optional name of the query when included in the url or query parameter options. | -#### Examples +### `@route` {#@TypeSpec.Http.route} -```typespec -@delete op set(petId: string): void -``` +`@route` defines the relative route URI for the target operation -### `@head` {#@TypeSpec.Http.head} +The first argument should be a URI fragment that may contain one or more path parameter fields. +If the namespace or interface that contains the operation is also marked with a `@route` decorator, +it will be used as a prefix to the route URI of the operation. -Specify the http verb for the target operation to be `HEAD`. +`@route` can only be applied to operations, namespaces, and interfaces. ```typespec -dec TypeSpec.Http.head(target: TypeSpec.Reflection.Operation) +dec TypeSpec.Http.route(entity: unknown, path: string, parameters?: object) ``` #### Target -`Operation` +`(intrinsic) unknown` #### Parameters -| Name | Type | Description | -| ---- | ---- | ----------- | - -#### Examples - -```typespec -@head op ping(petId: string): void -``` +| Name | Type | Description | +| ---------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | +| path | `scalar string` | Relative route path. Cannot include query parameters. | +| parameters | `model object` | Optional set of parameters used to configure the route. Supports `{shared: true}` which indicates that the route may be shared by several operations. | ### `@server` {#@TypeSpec.Http.server} Specify the endpoint for this service. ```typespec -dec TypeSpec.Http.server(target: TypeSpec.Reflection.Namespace, url: TypeSpec.string, description: TypeSpec.string, parameters?: TypeSpec.object) +dec TypeSpec.Http.server(target: Namespace, url: string, description: string, parameters?: object) ``` #### Target @@ -262,44 +274,49 @@ dec TypeSpec.Http.server(target: TypeSpec.Reflection.Namespace, url: TypeSpec.st #### Parameters -| Name | Type | Description | -| ----------- | ------------------------ | ------------------------------------------------------- | -| url | `scalar TypeSpec.string` | Description of the endpoint | -| description | `scalar TypeSpec.string` | | -| parameters | `model TypeSpec.object` | Optional set of parameters used to interpolate the url. | +| Name | Type | Description | +| ----------- | --------------- | ------------------------------------------------------- | +| url | `scalar string` | Server endpoint | +| description | `scalar string` | Description of the endpoint | +| parameters | `model object` | Optional set of parameters used to interpolate the url. | -### `@useAuth` {#@TypeSpec.Http.useAuth} +### `@statusCode` {#@TypeSpec.Http.statusCode} -Specify this service authentication. See the [documentation in the Http library][https://microsoft.github.io/typespec/standard-library/rest/authentication] for full details. +Specify the status code for this response. Property type must be a status code integer or a union of status code integer. ```typespec -dec TypeSpec.Http.useAuth(target: TypeSpec.Reflection.Namespace, auth: TypeSpec.object | TypeSpec.Reflection.Union | TypeSpec.object[]) +dec TypeSpec.Http.statusCode(target: ModelProperty) ``` #### Target -`Namespace` +`ModelProperty` #### Parameters -| Name | Type | Description | -| ---- | ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| auth | `union TypeSpec.object \| TypeSpec.Reflection.Union \| TypeSpec.object[]` | Authentication configuration. Can be a single security scheme, a union(either option is valid authentication) or a tuple(Must use all authentication together) | +None -### `@includeInapplicableMetadataInPayload` {#@TypeSpec.Http.includeInapplicableMetadataInPayload} +#### Examples -Specify if inapplicable metadata should be included in the payload for the given entity. +```typespec +op read(): {@statusCode: 200, @body pet: Pet} +op create(): {@statusCode: 201 | 202} +``` + +### `@useAuth` {#@TypeSpec.Http.useAuth} + +Specify this service authentication. See the [documentation in the Http library][https://microsoft.github.io/typespec/standard-library/rest/authentication] for full details. ```typespec -dec TypeSpec.Http.includeInapplicableMetadataInPayload(target: unknown, value: TypeSpec.boolean) +dec TypeSpec.Http.useAuth(target: Namespace, auth: object | Union | object[]) ``` #### Target -`(intrinsic) unknown` +`Namespace` #### Parameters -| Name | Type | Description | -| ----- | ------------------------- | ----------- | -| value | `scalar TypeSpec.boolean` | | +| Name | Type | Description | +| ---- | ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| auth | `union object \| Union \| object[]` | Authentication configuration. Can be a single security scheme, a union(either option is valid authentication) or a tuple(Must use all authentication together) | diff --git a/packages/website/versioned_docs/version-latest/standard-library/http/reference/index.md b/packages/website/versioned_docs/version-latest/standard-library/http/reference/index.md index a9dcf4764f3..075c04fe0be 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/http/reference/index.md +++ b/packages/website/versioned_docs/version-latest/standard-library/http/reference/index.md @@ -9,45 +9,46 @@ toc_max_heading_level: 3 ### Decorators -- [`@statusCode`](./decorators.md#@TypeSpec.Http.statusCode) - [`@body`](./decorators.md#@TypeSpec.Http.body) +- [`@delete`](./decorators.md#@TypeSpec.Http.delete) +- [`@get`](./decorators.md#@TypeSpec.Http.get) +- [`@head`](./decorators.md#@TypeSpec.Http.head) - [`@header`](./decorators.md#@TypeSpec.Http.header) -- [`@query`](./decorators.md#@TypeSpec.Http.query) +- [`@includeInapplicableMetadataInPayload`](./decorators.md#@TypeSpec.Http.includeInapplicableMetadataInPayload) +- [`@patch`](./decorators.md#@TypeSpec.Http.patch) - [`@path`](./decorators.md#@TypeSpec.Http.path) -- [`@get`](./decorators.md#@TypeSpec.Http.get) -- [`@put`](./decorators.md#@TypeSpec.Http.put) - [`@post`](./decorators.md#@TypeSpec.Http.post) -- [`@patch`](./decorators.md#@TypeSpec.Http.patch) -- [`@delete`](./decorators.md#@TypeSpec.Http.delete) -- [`@head`](./decorators.md#@TypeSpec.Http.head) +- [`@put`](./decorators.md#@TypeSpec.Http.put) +- [`@query`](./decorators.md#@TypeSpec.Http.query) +- [`@route`](./decorators.md#@TypeSpec.Http.route) - [`@server`](./decorators.md#@TypeSpec.Http.server) +- [`@statusCode`](./decorators.md#@TypeSpec.Http.statusCode) - [`@useAuth`](./decorators.md#@TypeSpec.Http.useAuth) -- [`@includeInapplicableMetadataInPayload`](./decorators.md#@TypeSpec.Http.includeInapplicableMetadataInPayload) ### Models -- [`Response`](./data-types.md#TypeSpec.Http.Response) -- [`Body`](./data-types.md#TypeSpec.Http.Body) -- [`LocationHeader`](./data-types.md#TypeSpec.Http.LocationHeader) -- [`HeaderOptions`](./data-types.md#TypeSpec.Http.HeaderOptions) -- [`OkResponse`](./data-types.md#TypeSpec.Http.OkResponse) -- [`CreatedResponse`](./data-types.md#TypeSpec.Http.CreatedResponse) - [`AcceptedResponse`](./data-types.md#TypeSpec.Http.AcceptedResponse) -- [`NoContentResponse`](./data-types.md#TypeSpec.Http.NoContentResponse) -- [`MovedResponse`](./data-types.md#TypeSpec.Http.MovedResponse) -- [`NotModifiedResponse`](./data-types.md#TypeSpec.Http.NotModifiedResponse) +- [`ApiKeyAuth`](./data-types.md#TypeSpec.Http.ApiKeyAuth) +- [`AuthorizationCodeFlow`](./data-types.md#TypeSpec.Http.AuthorizationCodeFlow) - [`BadRequestResponse`](./data-types.md#TypeSpec.Http.BadRequestResponse) -- [`UnauthorizedResponse`](./data-types.md#TypeSpec.Http.UnauthorizedResponse) -- [`ForbiddenResponse`](./data-types.md#TypeSpec.Http.ForbiddenResponse) -- [`NotFoundResponse`](./data-types.md#TypeSpec.Http.NotFoundResponse) -- [`ConflictResponse`](./data-types.md#TypeSpec.Http.ConflictResponse) -- [`PlainData`](./data-types.md#TypeSpec.Http.PlainData) -- [`QueryOptions`](./data-types.md#TypeSpec.Http.QueryOptions) - [`BasicAuth`](./data-types.md#TypeSpec.Http.BasicAuth) - [`BearerAuth`](./data-types.md#TypeSpec.Http.BearerAuth) -- [`ApiKeyAuth`](./data-types.md#TypeSpec.Http.ApiKeyAuth) -- [`OAuth2Auth`](./data-types.md#TypeSpec.Http.OAuth2Auth) -- [`AuthorizationCodeFlow`](./data-types.md#TypeSpec.Http.AuthorizationCodeFlow) +- [`Body`](./data-types.md#TypeSpec.Http.Body) +- [`ClientCredentialsFlow`](./data-types.md#TypeSpec.Http.ClientCredentialsFlow) +- [`ConflictResponse`](./data-types.md#TypeSpec.Http.ConflictResponse) +- [`CreatedResponse`](./data-types.md#TypeSpec.Http.CreatedResponse) +- [`ForbiddenResponse`](./data-types.md#TypeSpec.Http.ForbiddenResponse) +- [`HeaderOptions`](./data-types.md#TypeSpec.Http.HeaderOptions) - [`ImplicitFlow`](./data-types.md#TypeSpec.Http.ImplicitFlow) +- [`LocationHeader`](./data-types.md#TypeSpec.Http.LocationHeader) +- [`MovedResponse`](./data-types.md#TypeSpec.Http.MovedResponse) +- [`NoContentResponse`](./data-types.md#TypeSpec.Http.NoContentResponse) +- [`NotFoundResponse`](./data-types.md#TypeSpec.Http.NotFoundResponse) +- [`NotModifiedResponse`](./data-types.md#TypeSpec.Http.NotModifiedResponse) +- [`OAuth2Auth`](./data-types.md#TypeSpec.Http.OAuth2Auth) +- [`OkResponse`](./data-types.md#TypeSpec.Http.OkResponse) - [`PasswordFlow`](./data-types.md#TypeSpec.Http.PasswordFlow) -- [`ClientCredentialsFlow`](./data-types.md#TypeSpec.Http.ClientCredentialsFlow) +- [`PlainData`](./data-types.md#TypeSpec.Http.PlainData) +- [`QueryOptions`](./data-types.md#TypeSpec.Http.QueryOptions) +- [`Response`](./data-types.md#TypeSpec.Http.Response) +- [`UnauthorizedResponse`](./data-types.md#TypeSpec.Http.UnauthorizedResponse) diff --git a/packages/website/versioned_docs/version-latest/standard-library/openapi/openapi.md b/packages/website/versioned_docs/version-latest/standard-library/openapi/openapi.md index 0de74bfb02e..f886689cf27 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/openapi/openapi.md +++ b/packages/website/versioned_docs/version-latest/standard-library/openapi/openapi.md @@ -129,18 +129,19 @@ a [(built-in) `@friendlyName` decorator][friendlyname], in which case the schema The following table shows how TypeSpec types are translated to JSON Schema types: -| TypeSpec type | OpenAPI `type`/`format` | Notes | -| --------------- | --------------------------------- | ------------------------------------------------------------------------- | -| `int32` | `type: integer, format: int32` | | -| `int64` | `type: integer, format: int64` | | -| `float32` | `type: number, format: float` | | -| `float64` | `type: number, format: double` | | -| `string` | `type: string` | | -| `bytes` | `type: string, format: byte` | for content-type == 'application/json' or 'text/plain' | -| `bytes` | `type: string, format: binary` | for "binary" content types, e.g. 'application/octet-stream', 'image/jpeg' | -| `boolean` | `type: boolean` | | -| `plainDate` | `type: string, format: date` | | -| `zonedDateTime` | `type: string, format: date-time` | RFC 3339 date | +| TypeSpec type | OpenAPI `type`/`format` | Notes | +| ---------------- | --------------------------------- | ------------------------------------------------------------------------- | +| `int32` | `type: integer, format: int32` | | +| `int64` | `type: integer, format: int64` | | +| `float32` | `type: number, format: float` | | +| `float64` | `type: number, format: double` | | +| `string` | `type: string` | | +| `bytes` | `type: string, format: byte` | for content-type == 'application/json' or 'text/plain' | +| `bytes` | `type: string, format: binary` | for "binary" content types, e.g. 'application/octet-stream', 'image/jpeg' | +| `boolean` | `type: boolean` | | +| `plainDate` | `type: string, format: date` | | +| `utcDateTime` | `type: string, format: date-time` | RFC 3339 date in coordinated universal time (UTC) | +| `offsetDateTime` | `type: string, format: date-time` | RFC 3339 date with timezone offset | There are a variety of decorators that can modify or add metadata to the definitions produced in the generated OpenAPI. diff --git a/packages/website/versioned_docs/version-latest/standard-library/openapi/reference/decorators.md b/packages/website/versioned_docs/version-latest/standard-library/openapi/reference/decorators.md index 8dfa08df0e7..71e00c58b8d 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/openapi/reference/decorators.md +++ b/packages/website/versioned_docs/version-latest/standard-library/openapi/reference/decorators.md @@ -8,30 +8,38 @@ toc_max_heading_level: 3 ## OpenAPI -### `@operationId` {#@OpenAPI.operationId} +### `@defaultResponse` {#@OpenAPI.defaultResponse} -Specify the OpenAPI `operationId` property for this operation. +Specify that this model is to be treated as the OpenAPI `default` response. +This differs from the compiler built-in `@error` decorator as this does not necessarily represent an error. ```typespec -dec OpenAPI.operationId(target: TypeSpec.Reflection.Operation, operationId: TypeSpec.string) +dec OpenAPI.defaultResponse(target: object) ``` #### Target -`Operation` +`model object` #### Parameters -| Name | Type | Description | -| ----------- | ------------------------ | ------------------- | -| operationId | `scalar TypeSpec.string` | Operation id value. | +None + +#### Examples + +```typespec +@defaultResponse +model PetStoreResponse is object; + +op listPets(): Pet[] | PetStoreResponse; +``` ### `@extension` {#@OpenAPI.extension} Attach some custom data to the OpenAPI element generated from this type. ```typespec -dec OpenAPI.extension(target: unknown, key: TypeSpec.string, value: unknown) +dec OpenAPI.extension(target: unknown, key: string, value: unknown) ``` #### Target @@ -40,53 +48,44 @@ dec OpenAPI.extension(target: unknown, key: TypeSpec.string, value: unknown) #### Parameters -| Name | Type | Description | -| ----- | ------------------------ | ----------------------------------- | -| key | `scalar TypeSpec.string` | Extension key. Must start with `x-` | -| value | `(intrinsic) unknown` | Extension value. | +| Name | Type | Description | +| ----- | --------------------- | ----------------------------------- | +| key | `scalar string` | Extension key. Must start with `x-` | +| value | `(intrinsic) unknown` | Extension value. | -### `@defaultResponse` {#@OpenAPI.defaultResponse} +### `@externalDocs` {#@OpenAPI.externalDocs} -Specify that this model is to be treated as the OpenAPI `default` response. -This differs from the compiler built-in `@error` decorator as this does not necessarily represent an error. +Specify the OpenAPI `externalDocs` property for this type. ```typespec -dec OpenAPI.defaultResponse(target: TypeSpec.object) +dec OpenAPI.externalDocs(target: unknown, url: string, description?: string) ``` #### Target -`model TypeSpec.object` +`(intrinsic) unknown` #### Parameters -| Name | Type | Description | -| ---- | ---- | ----------- | - -#### Examples - -```typespec -@defaultResponse -model PetStoreResponse is object; - -op listPets(): Pet[] | PetStoreResponse; -``` +| Name | Type | Description | +| ----------- | --------------- | ----------------------- | +| url | `scalar string` | Url to the docs | +| description | `scalar string` | Description of the docs | -### `@externalDocs` {#@OpenAPI.externalDocs} +### `@operationId` {#@OpenAPI.operationId} -Specify the OpenAPI `externalDocs` property for this type. +Specify the OpenAPI `operationId` property for this operation. ```typespec -dec OpenAPI.externalDocs(target: unknown, url: TypeSpec.string, description?: TypeSpec.string) +dec OpenAPI.operationId(target: Operation, operationId: string) ``` #### Target -`(intrinsic) unknown` +`Operation` #### Parameters -| Name | Type | Description | -| ----------- | ------------------------ | ----------------------- | -| url | `scalar TypeSpec.string` | Url to the docs | -| description | `scalar TypeSpec.string` | Description of the docs | +| Name | Type | Description | +| ----------- | --------------- | ------------------- | +| operationId | `scalar string` | Operation id value. | diff --git a/packages/website/versioned_docs/version-latest/standard-library/openapi/reference/index.md b/packages/website/versioned_docs/version-latest/standard-library/openapi/reference/index.md index 24d5c01a87f..9c8d4199f8f 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/openapi/reference/index.md +++ b/packages/website/versioned_docs/version-latest/standard-library/openapi/reference/index.md @@ -9,7 +9,7 @@ toc_max_heading_level: 3 ### Decorators -- [`@operationId`](./decorators.md#@OpenAPI.operationId) -- [`@extension`](./decorators.md#@OpenAPI.extension) - [`@defaultResponse`](./decorators.md#@OpenAPI.defaultResponse) +- [`@extension`](./decorators.md#@OpenAPI.extension) - [`@externalDocs`](./decorators.md#@OpenAPI.externalDocs) +- [`@operationId`](./decorators.md#@OpenAPI.operationId) diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/_category_.json b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/_category_.json similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/_category_.json rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/_category_.json diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/DuplicateTracker.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/DuplicateTracker.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/DuplicateTracker.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/DuplicateTracker.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/EventEmitter.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/EventEmitter.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/EventEmitter.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/EventEmitter.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/ProjectionError.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/ProjectionError.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/ProjectionError.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/ProjectionError.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/Queue.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/Queue.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/Queue.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/Queue.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/ResolveModuleError.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/ResolveModuleError.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/ResolveModuleError.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/ResolveModuleError.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/TwoLevelMap.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/TwoLevelMap.md similarity index 98% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/TwoLevelMap.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/TwoLevelMap.md index 29251d2234a..142afc92cfe 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/classes/TwoLevelMap.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/classes/TwoLevelMap.md @@ -98,7 +98,7 @@ Map\>.constructor #### Inherited from -Map.\_\_@toStringTag@34 +Map.\_\_@toStringTag@35 ___ @@ -118,7 +118,7 @@ ___ #### Inherited from -Map.\_\_@species@608 +Map.\_\_@species@609 ## Methods @@ -134,7 +134,7 @@ Returns an iterable of entries in the map. #### Inherited from -Map.\_\_@iterator@94 +Map.\_\_@iterator@95 ___ diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/IdentifierKind.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/IdentifierKind.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/IdentifierKind.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/IdentifierKind.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/KeywordLimit.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/KeywordLimit.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/KeywordLimit.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/KeywordLimit.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/ListenerFlow.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/ListenerFlow.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/ListenerFlow.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/ListenerFlow.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/ModifierFlags.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/ModifierFlags.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/ModifierFlags.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/ModifierFlags.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/NodeFlags.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/NodeFlags.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/NodeFlags.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/NodeFlags.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/SemanticTokenKind.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/SemanticTokenKind.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/SemanticTokenKind.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/SemanticTokenKind.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/SymbolFlags.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/SymbolFlags.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/SymbolFlags.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/SymbolFlags.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/SyntaxKind.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/SyntaxKind.md similarity index 85% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/SyntaxKind.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/SyntaxKind.md index ec1ae65dc59..6c975bd64b2 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/SyntaxKind.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/SyntaxKind.md @@ -53,6 +53,7 @@ AST types - [ProjectionBlockExpression](SyntaxKind.md#projectionblockexpression) - [ProjectionCallExpression](SyntaxKind.md#projectioncallexpression) - [ProjectionDecoratorReferenceExpression](SyntaxKind.md#projectiondecoratorreferenceexpression) +- [ProjectionEnumMemberSelector](SyntaxKind.md#projectionenummemberselector) - [ProjectionEnumSelector](SyntaxKind.md#projectionenumselector) - [ProjectionEqualityExpression](SyntaxKind.md#projectionequalityexpression) - [ProjectionExpressionStatement](SyntaxKind.md#projectionexpressionstatement) @@ -64,6 +65,7 @@ AST types - [ProjectionMemberExpression](SyntaxKind.md#projectionmemberexpression) - [ProjectionModelExpression](SyntaxKind.md#projectionmodelexpression) - [ProjectionModelProperty](SyntaxKind.md#projectionmodelproperty) +- [ProjectionModelPropertySelector](SyntaxKind.md#projectionmodelpropertyselector) - [ProjectionModelSelector](SyntaxKind.md#projectionmodelselector) - [ProjectionModelSpreadProperty](SyntaxKind.md#projectionmodelspreadproperty) - [ProjectionOperationSelector](SyntaxKind.md#projectionoperationselector) @@ -75,6 +77,7 @@ AST types - [ProjectionTupleExpression](SyntaxKind.md#projectiontupleexpression) - [ProjectionUnaryExpression](SyntaxKind.md#projectionunaryexpression) - [ProjectionUnionSelector](SyntaxKind.md#projectionunionselector) +- [ProjectionUnionVariantSelector](SyntaxKind.md#projectionunionvariantselector) - [Return](SyntaxKind.md#return) - [ScalarStatement](SyntaxKind.md#scalarstatement) - [StringLiteral](SyntaxKind.md#stringliteral) @@ -343,91 +346,103 @@ ___ ### ProjectionArithmeticExpression -• **ProjectionArithmeticExpression** = ``67`` +• **ProjectionArithmeticExpression** = ``70`` ___ ### ProjectionBlockExpression -• **ProjectionBlockExpression** = ``61`` +• **ProjectionBlockExpression** = ``64`` ___ ### ProjectionCallExpression -• **ProjectionCallExpression** = ``68`` +• **ProjectionCallExpression** = ``71`` ___ ### ProjectionDecoratorReferenceExpression -• **ProjectionDecoratorReferenceExpression** = ``77`` +• **ProjectionDecoratorReferenceExpression** = ``80`` + +___ + +### ProjectionEnumMemberSelector + +• **ProjectionEnumMemberSelector** = ``61`` ___ ### ProjectionEnumSelector -• **ProjectionEnumSelector** = ``58`` +• **ProjectionEnumSelector** = ``60`` ___ ### ProjectionEqualityExpression -• **ProjectionEqualityExpression** = ``64`` +• **ProjectionEqualityExpression** = ``67`` ___ ### ProjectionExpressionStatement -• **ProjectionExpressionStatement** = ``59`` +• **ProjectionExpressionStatement** = ``62`` ___ ### ProjectionIfExpression -• **ProjectionIfExpression** = ``60`` +• **ProjectionIfExpression** = ``63`` ___ ### ProjectionInterfaceSelector -• **ProjectionInterfaceSelector** = ``57`` +• **ProjectionInterfaceSelector** = ``59`` ___ ### ProjectionLambdaExpression -• **ProjectionLambdaExpression** = ``69`` +• **ProjectionLambdaExpression** = ``72`` ___ ### ProjectionLambdaParameterDeclaration -• **ProjectionLambdaParameterDeclaration** = ``70`` +• **ProjectionLambdaParameterDeclaration** = ``73`` ___ ### ProjectionLogicalExpression -• **ProjectionLogicalExpression** = ``63`` +• **ProjectionLogicalExpression** = ``66`` ___ ### ProjectionMemberExpression -• **ProjectionMemberExpression** = ``62`` +• **ProjectionMemberExpression** = ``65`` ___ ### ProjectionModelExpression -• **ProjectionModelExpression** = ``71`` +• **ProjectionModelExpression** = ``74`` ___ ### ProjectionModelProperty -• **ProjectionModelProperty** = ``72`` +• **ProjectionModelProperty** = ``75`` + +___ + +### ProjectionModelPropertySelector + +• **ProjectionModelPropertySelector** = ``55`` ___ @@ -439,13 +454,13 @@ ___ ### ProjectionModelSpreadProperty -• **ProjectionModelSpreadProperty** = ``73`` +• **ProjectionModelSpreadProperty** = ``76`` ___ ### ProjectionOperationSelector -• **ProjectionOperationSelector** = ``55`` +• **ProjectionOperationSelector** = ``56`` ___ @@ -463,43 +478,49 @@ ___ ### ProjectionRelationalExpression -• **ProjectionRelationalExpression** = ``66`` +• **ProjectionRelationalExpression** = ``69`` ___ ### ProjectionSpreadProperty -• **ProjectionSpreadProperty** = ``74`` +• **ProjectionSpreadProperty** = ``77`` ___ ### ProjectionStatement -• **ProjectionStatement** = ``76`` +• **ProjectionStatement** = ``79`` ___ ### ProjectionTupleExpression -• **ProjectionTupleExpression** = ``75`` +• **ProjectionTupleExpression** = ``78`` ___ ### ProjectionUnaryExpression -• **ProjectionUnaryExpression** = ``65`` +• **ProjectionUnaryExpression** = ``68`` ___ ### ProjectionUnionSelector -• **ProjectionUnionSelector** = ``56`` +• **ProjectionUnionSelector** = ``57`` + +___ + +### ProjectionUnionVariantSelector + +• **ProjectionUnionVariantSelector** = ``58`` ___ ### Return -• **Return** = ``78`` +• **Return** = ``81`` ___ diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/Token.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/Token.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/Token.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/Token.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/TokenFlags.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/TokenFlags.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/TokenFlags.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/TokenFlags.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/UsageFlags.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/UsageFlags.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/enums/UsageFlags.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/enums/UsageFlags.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/index.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/index.md similarity index 98% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/index.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/index.md index afceef7ec4e..72dcb3a0776 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/index.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/index.md @@ -138,6 +138,7 @@ JS Api - [ProjectionBlockExpressionNode](interfaces/ProjectionBlockExpressionNode.md) - [ProjectionCallExpressionNode](interfaces/ProjectionCallExpressionNode.md) - [ProjectionDecoratorReferenceExpressionNode](interfaces/ProjectionDecoratorReferenceExpressionNode.md) +- [ProjectionEnumMemberSelectorNode](interfaces/ProjectionEnumMemberSelectorNode.md) - [ProjectionEnumSelectorNode](interfaces/ProjectionEnumSelectorNode.md) - [ProjectionEqualityExpressionNode](interfaces/ProjectionEqualityExpressionNode.md) - [ProjectionExpressionStatementNode](interfaces/ProjectionExpressionStatementNode.md) @@ -149,6 +150,7 @@ JS Api - [ProjectionMemberExpressionNode](interfaces/ProjectionMemberExpressionNode.md) - [ProjectionModelExpressionNode](interfaces/ProjectionModelExpressionNode.md) - [ProjectionModelPropertyNode](interfaces/ProjectionModelPropertyNode.md) +- [ProjectionModelPropertySelectorNode](interfaces/ProjectionModelPropertySelectorNode.md) - [ProjectionModelSelectorNode](interfaces/ProjectionModelSelectorNode.md) - [ProjectionModelSpreadPropertyNode](interfaces/ProjectionModelSpreadPropertyNode.md) - [ProjectionNode](interfaces/ProjectionNode.md) @@ -160,8 +162,10 @@ JS Api - [ProjectionTupleExpressionNode](interfaces/ProjectionTupleExpressionNode.md) - [ProjectionUnaryExpressionNode](interfaces/ProjectionUnaryExpressionNode.md) - [ProjectionUnionSelectorNode](interfaces/ProjectionUnionSelectorNode.md) +- [ProjectionUnionVariantSelectorNode](interfaces/ProjectionUnionVariantSelectorNode.md) - [Projector](interfaces/Projector.md) - [RecordModelType](interfaces/RecordModelType.md) +- [RekeyableMap](interfaces/RekeyableMap.md) - [ResolveModuleHost](interfaces/ResolveModuleHost.md) - [ResolveModuleOptions](interfaces/ResolveModuleOptions.md) - [ResolvedFile](interfaces/ResolvedFile.md) @@ -284,14 +288,12 @@ JS Api ### Variables -- [CadlLanguageConfiguration](index.md#cadllanguageconfiguration) - [CadlPrettierPlugin](index.md#cadlprettierplugin) - [Keywords](index.md#keywords) - [MANIFEST](index.md#manifest) - [NoTarget](index.md#notarget) - [NodeHost](index.md#nodehost) - [TokenDisplay](index.md#tokendisplay) -- [TypeSpecLanguageConfiguration](index.md#typespeclanguageconfiguration) - [TypeSpecPrettierPlugin](index.md#typespecprettierplugin) - [altDirectorySeparator](index.md#altdirectoryseparator) - [cadlVersion](index.md#cadlversion) @@ -348,6 +350,7 @@ JS Api - [createDiagnosticCollector](index.md#creatediagnosticcollector) - [createDiagnosticCreator](index.md#creatediagnosticcreator) - [createProjectedNameProgram](index.md#createprojectednameprogram) +- [createRekeyableMap](index.md#createrekeyablemap) - [createScanner](index.md#createscanner) - [createServer](index.md#createserver) - [createSourceFile](index.md#createsourcefile) @@ -415,6 +418,7 @@ JS Api - [hasProjectedName](index.md#hasprojectedname) - [hasTrailingDirectorySeparator](index.md#hastrailingdirectoryseparator) - [ignoreDiagnostics](index.md#ignorediagnostics) +- [interpolatePath](index.md#interpolatepath) - [isAnyDirectorySeparator](index.md#isanydirectoryseparator) - [isArrayModelType](index.md#isarraymodeltype) - [isCadlValueTypeOf](index.md#iscadlvaluetypeof) @@ -439,6 +443,7 @@ JS Api - [isSecret](index.md#issecret) - [isService](index.md#isservice) - [isStatementKeyword](index.md#isstatementkeyword) +- [isStdNamespace](index.md#isstdnamespace) - [isStringType](index.md#isstringtype) - [isTemplateDeclaration](index.md#istemplatedeclaration) - [isTemplateDeclarationOrInstance](index.md#istemplatedeclarationorinstance) @@ -784,7 +789,7 @@ ___ ### IntrinsicScalarName -Ƭ **IntrinsicScalarName**: ``"bytes"`` \| ``"numeric"`` \| ``"integer"`` \| ``"float"`` \| ``"int64"`` \| ``"int32"`` \| ``"int16"`` \| ``"int8"`` \| ``"uint64"`` \| ``"uint32"`` \| ``"uint16"`` \| ``"uint8"`` \| ``"safeint"`` \| ``"float32"`` \| ``"float64"`` \| ``"string"`` \| ``"plainDate"`` \| ``"plainTime"`` \| ``"zonedDateTime"`` \| ``"duration"`` \| ``"boolean"`` \| ``"url"`` +Ƭ **IntrinsicScalarName**: ``"bytes"`` \| ``"numeric"`` \| ``"integer"`` \| ``"float"`` \| ``"int64"`` \| ``"int32"`` \| ``"int16"`` \| ``"int8"`` \| ``"uint64"`` \| ``"uint32"`` \| ``"uint16"`` \| ``"uint8"`` \| ``"safeint"`` \| ``"float32"`` \| ``"float64"`` \| ``"string"`` \| ``"plainDate"`` \| ``"plainTime"`` \| ``"utcDateTime"`` \| ``"offsetDateTime"`` \| ``"duration"`` \| ``"boolean"`` \| ``"url"`` ___ @@ -904,7 +909,7 @@ ___ ### Node -Ƭ **Node**: [`TypeSpecScriptNode`](interfaces/TypeSpecScriptNode.md) \| [`JsSourceFileNode`](interfaces/JsSourceFileNode.md) \| [`TemplateParameterDeclarationNode`](interfaces/TemplateParameterDeclarationNode.md) \| [`ProjectionParameterDeclarationNode`](interfaces/ProjectionParameterDeclarationNode.md) \| [`ProjectionLambdaParameterDeclarationNode`](interfaces/ProjectionLambdaParameterDeclarationNode.md) \| [`ModelPropertyNode`](interfaces/ModelPropertyNode.md) \| [`UnionVariantNode`](interfaces/UnionVariantNode.md) \| [`OperationStatementNode`](interfaces/OperationStatementNode.md) \| [`OperationSignatureDeclarationNode`](interfaces/OperationSignatureDeclarationNode.md) \| [`OperationSignatureReferenceNode`](interfaces/OperationSignatureReferenceNode.md) \| [`EnumMemberNode`](interfaces/EnumMemberNode.md) \| [`EnumSpreadMemberNode`](interfaces/EnumSpreadMemberNode.md) \| [`ModelSpreadPropertyNode`](interfaces/ModelSpreadPropertyNode.md) \| [`DecoratorExpressionNode`](interfaces/DecoratorExpressionNode.md) \| [`DirectiveExpressionNode`](interfaces/DirectiveExpressionNode.md) \| [`Statement`](index.md#statement) \| [`Expression`](index.md#expression) \| [`FunctionParameterNode`](interfaces/FunctionParameterNode.md) \| [`Modifier`](index.md#modifier) \| [`DocNode`](interfaces/DocNode.md) \| [`DocContent`](index.md#doccontent) \| [`DocTag`](index.md#doctag) \| [`ProjectionStatementItem`](index.md#projectionstatementitem) \| [`ProjectionExpression`](index.md#projectionexpression) \| [`ProjectionModelSelectorNode`](interfaces/ProjectionModelSelectorNode.md) \| [`ProjectionInterfaceSelectorNode`](interfaces/ProjectionInterfaceSelectorNode.md) \| [`ProjectionOperationSelectorNode`](interfaces/ProjectionOperationSelectorNode.md) \| [`ProjectionEnumSelectorNode`](interfaces/ProjectionEnumSelectorNode.md) \| [`ProjectionUnionSelectorNode`](interfaces/ProjectionUnionSelectorNode.md) \| [`ProjectionModelPropertyNode`](interfaces/ProjectionModelPropertyNode.md) \| [`ProjectionModelSpreadPropertyNode`](interfaces/ProjectionModelSpreadPropertyNode.md) \| [`ProjectionStatementNode`](interfaces/ProjectionStatementNode.md) \| [`ProjectionNode`](interfaces/ProjectionNode.md) +Ƭ **Node**: [`TypeSpecScriptNode`](interfaces/TypeSpecScriptNode.md) \| [`JsSourceFileNode`](interfaces/JsSourceFileNode.md) \| [`TemplateParameterDeclarationNode`](interfaces/TemplateParameterDeclarationNode.md) \| [`ProjectionParameterDeclarationNode`](interfaces/ProjectionParameterDeclarationNode.md) \| [`ProjectionLambdaParameterDeclarationNode`](interfaces/ProjectionLambdaParameterDeclarationNode.md) \| [`ModelPropertyNode`](interfaces/ModelPropertyNode.md) \| [`UnionVariantNode`](interfaces/UnionVariantNode.md) \| [`OperationStatementNode`](interfaces/OperationStatementNode.md) \| [`OperationSignatureDeclarationNode`](interfaces/OperationSignatureDeclarationNode.md) \| [`OperationSignatureReferenceNode`](interfaces/OperationSignatureReferenceNode.md) \| [`EnumMemberNode`](interfaces/EnumMemberNode.md) \| [`EnumSpreadMemberNode`](interfaces/EnumSpreadMemberNode.md) \| [`ModelSpreadPropertyNode`](interfaces/ModelSpreadPropertyNode.md) \| [`DecoratorExpressionNode`](interfaces/DecoratorExpressionNode.md) \| [`DirectiveExpressionNode`](interfaces/DirectiveExpressionNode.md) \| [`Statement`](index.md#statement) \| [`Expression`](index.md#expression) \| [`FunctionParameterNode`](interfaces/FunctionParameterNode.md) \| [`Modifier`](index.md#modifier) \| [`DocNode`](interfaces/DocNode.md) \| [`DocContent`](index.md#doccontent) \| [`DocTag`](index.md#doctag) \| [`ProjectionStatementItem`](index.md#projectionstatementitem) \| [`ProjectionExpression`](index.md#projectionexpression) \| [`ProjectionModelSelectorNode`](interfaces/ProjectionModelSelectorNode.md) \| [`ProjectionModelPropertySelectorNode`](interfaces/ProjectionModelPropertySelectorNode.md) \| [`ProjectionInterfaceSelectorNode`](interfaces/ProjectionInterfaceSelectorNode.md) \| [`ProjectionOperationSelectorNode`](interfaces/ProjectionOperationSelectorNode.md) \| [`ProjectionEnumSelectorNode`](interfaces/ProjectionEnumSelectorNode.md) \| [`ProjectionEnumMemberSelectorNode`](interfaces/ProjectionEnumMemberSelectorNode.md) \| [`ProjectionUnionSelectorNode`](interfaces/ProjectionUnionSelectorNode.md) \| [`ProjectionUnionVariantSelectorNode`](interfaces/ProjectionUnionVariantSelectorNode.md) \| [`ProjectionModelPropertyNode`](interfaces/ProjectionModelPropertyNode.md) \| [`ProjectionModelSpreadPropertyNode`](interfaces/ProjectionModelSpreadPropertyNode.md) \| [`ProjectionStatementNode`](interfaces/ProjectionStatementNode.md) \| [`ProjectionNode`](interfaces/ProjectionNode.md) ___ @@ -1074,7 +1079,6 @@ ___ ## Variables - ### CadlPrettierPlugin • `Const` **CadlPrettierPlugin**: `__module` = `TypeSpecPrettierPlugin` @@ -2153,6 +2157,29 @@ ProjectedNameView ___ +### createRekeyableMap + +▸ **createRekeyableMap**<`K`, `V`\>(`entries?`): [`RekeyableMap`](interfaces/RekeyableMap.md)<`K`, `V`\> + +#### Type parameters + +| Name | +| :------ | +| `K` | +| `V` | + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `entries?` | [`K`, `V`][] | + +#### Returns + +[`RekeyableMap`](interfaces/RekeyableMap.md)<`K`, `V`\> + +___ + ### createScanner ▸ **createScanner**(`source`, `diagnosticHandler`): [`Scanner`](interfaces/Scanner.md) @@ -3520,6 +3547,25 @@ Actual result. ___ +### interpolatePath + +▸ **interpolatePath**(`pathTemplate`, `predefinedVariables`): `string` + +Interpolate a path template + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `pathTemplate` | `string` | Path template | +| `predefinedVariables` | `Record`<`string`, `undefined` \| `string`\> | Variables that can be used in the path template. | + +#### Returns + +`string` + +___ + ### isAnyDirectorySeparator ▸ **isAnyDirectorySeparator**(`charCode`): `boolean` @@ -3944,6 +3990,22 @@ ___ ___ +### isStdNamespace + +▸ **isStdNamespace**(`namespace`): `boolean` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `namespace` | [`Namespace`](interfaces/Namespace.md) | + +#### Returns + +`boolean` + +___ + ### isStringType ▸ **isStringType**(`program`, `target`): target is Scalar diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/AliasStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/AliasStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/AliasStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/AliasStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/AnyKeywordNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/AnyKeywordNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/AnyKeywordNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/AnyKeywordNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ArrayExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ArrayExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ArrayExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ArrayExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ArrayModelType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ArrayModelType.md similarity index 89% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ArrayModelType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ArrayModelType.md index d3d5c4a80b5..168cdbfef58 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ArrayModelType.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ArrayModelType.md @@ -173,7 +173,18 @@ ___ ### properties -• **properties**: `Map`<`string`, [`ModelProperty`](ModelProperty.md)\> +• **properties**: [`RekeyableMap`](RekeyableMap.md)<`string`, [`ModelProperty`](ModelProperty.md)\> + +The properties of the model. + +Properties are ordered in the order that they appear in source. +Properties obtained via `model is` appear before properties defined in +the model body. Properties obtained via `...` are inserted where the +spread appears in source. + +Properties inherited via `model extends` are not included. Use +[walkPropertiesInherited](../index.md#walkpropertiesinherited) to enumerate all properties in the +inheritance hierarchy. #### Inherited from diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/AugmentDecoratorStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/AugmentDecoratorStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/AugmentDecoratorStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/AugmentDecoratorStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/BaseNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/BaseNode.md similarity index 96% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/BaseNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/BaseNode.md index 8aee42156a7..844bf7c2460 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/BaseNode.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/BaseNode.md @@ -98,14 +98,20 @@ ↳↳ [`ProjectionModelSelectorNode`](ProjectionModelSelectorNode.md) + ↳↳ [`ProjectionModelPropertySelectorNode`](ProjectionModelPropertySelectorNode.md) + ↳↳ [`ProjectionInterfaceSelectorNode`](ProjectionInterfaceSelectorNode.md) ↳↳ [`ProjectionOperationSelectorNode`](ProjectionOperationSelectorNode.md) ↳↳ [`ProjectionUnionSelectorNode`](ProjectionUnionSelectorNode.md) + ↳↳ [`ProjectionUnionVariantSelectorNode`](ProjectionUnionVariantSelectorNode.md) + ↳↳ [`ProjectionEnumSelectorNode`](ProjectionEnumSelectorNode.md) + ↳↳ [`ProjectionEnumMemberSelectorNode`](ProjectionEnumMemberSelectorNode.md) + ↳↳ [`ProjectionParameterDeclarationNode`](ProjectionParameterDeclarationNode.md) ↳↳ [`ProjectionExpressionStatementNode`](ProjectionExpressionStatementNode.md) diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/BaseType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/BaseType.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/BaseType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/BaseType.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/BlockComment.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/BlockComment.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/BlockComment.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/BlockComment.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/BooleanLiteral.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/BooleanLiteral.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/BooleanLiteral.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/BooleanLiteral.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/BooleanLiteralNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/BooleanLiteralNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/BooleanLiteralNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/BooleanLiteralNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/CallableMessage.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/CallableMessage.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/CallableMessage.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/CallableMessage.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Checker.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Checker.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Checker.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Checker.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/CompilerHost.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/CompilerHost.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/CompilerHost.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/CompilerHost.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DeclarationNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DeclarationNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DeclarationNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DeclarationNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratedType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratedType.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratedType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratedType.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Decorator.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Decorator.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Decorator.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Decorator.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorApplication.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorApplication.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorApplication.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorApplication.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorArgument.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorArgument.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorArgument.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorArgument.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorContext.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorContext.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorContext.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorContext.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorDeclarationStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorDeclarationStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorDeclarationStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorDeclarationStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorDefinition.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorDefinition.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorDefinition.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorDefinition.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorFunction.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorFunction.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorFunction.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorFunction.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorParamDefinition.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorParamDefinition.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorParamDefinition.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorParamDefinition.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorValidator.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorValidator.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DecoratorValidator.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DecoratorValidator.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Diagnostic.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Diagnostic.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Diagnostic.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Diagnostic.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DiagnosticCollector.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DiagnosticCollector.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DiagnosticCollector.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DiagnosticCollector.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DiagnosticCreator.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DiagnosticCreator.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DiagnosticCreator.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DiagnosticCreator.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DiagnosticDefinition.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DiagnosticDefinition.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DiagnosticDefinition.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DiagnosticDefinition.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DiagnosticMessages.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DiagnosticMessages.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DiagnosticMessages.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DiagnosticMessages.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DirectiveBase.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DirectiveBase.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DirectiveBase.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DirectiveBase.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DirectiveExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DirectiveExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DirectiveExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DirectiveExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Dirent.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Dirent.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Dirent.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Dirent.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DiscriminatedUnion.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DiscriminatedUnion.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DiscriminatedUnion.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DiscriminatedUnion.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Discriminator.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Discriminator.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Discriminator.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Discriminator.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocParamTagNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocParamTagNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocParamTagNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocParamTagNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocReturnsTagNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocReturnsTagNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocReturnsTagNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocReturnsTagNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocTagBaseNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocTagBaseNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocTagBaseNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocTagBaseNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocTemplateTagNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocTemplateTagNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocTemplateTagNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocTemplateTagNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocTextNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocTextNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocTextNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocTextNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocUnknownTagNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocUnknownTagNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/DocUnknownTagNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/DocUnknownTagNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EmitContext.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EmitContext.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EmitContext.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EmitContext.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EmitFileOptions.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EmitFileOptions.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EmitFileOptions.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EmitFileOptions.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EmptyStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EmptyStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EmptyStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EmptyStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Enum.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Enum.md similarity index 91% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Enum.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Enum.md index 49368ea17c0..85d0e0a2877 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Enum.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Enum.md @@ -67,7 +67,12 @@ ___ ### members -• **members**: `Map`<`string`, [`EnumMember`](EnumMember.md)\> +• **members**: [`RekeyableMap`](RekeyableMap.md)<`string`, [`EnumMember`](EnumMember.md)\> + +The members of the enum. + +Members are ordered in the order that they appear in source. Members +obtained via `...` are inserted where the spread appears in source. ___ diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EnumMember.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EnumMember.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EnumMember.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EnumMember.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EnumMemberNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EnumMemberNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EnumMemberNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EnumMemberNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EnumSpreadMemberNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EnumSpreadMemberNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EnumSpreadMemberNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EnumSpreadMemberNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EnumStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EnumStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/EnumStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/EnumStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ErrorType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ErrorType.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ErrorType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ErrorType.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ExternKeywordNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ExternKeywordNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ExternKeywordNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ExternKeywordNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/FunctionDeclarationStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/FunctionDeclarationStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/FunctionDeclarationStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/FunctionDeclarationStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/FunctionParameter.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/FunctionParameter.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/FunctionParameter.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/FunctionParameter.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/FunctionParameterNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/FunctionParameterNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/FunctionParameterNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/FunctionParameterNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/FunctionType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/FunctionType.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/FunctionType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/FunctionType.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/IdentifierContext.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/IdentifierContext.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/IdentifierContext.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/IdentifierContext.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/IdentifierNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/IdentifierNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/IdentifierNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/IdentifierNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ImportStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ImportStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ImportStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ImportStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Interface.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Interface.md similarity index 82% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Interface.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Interface.md index 96c1419681c..37b1ed3b7f5 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Interface.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Interface.md @@ -26,6 +26,7 @@ - [projectionBase](Interface.md#projectionbase) - [projectionSource](Interface.md#projectionsource) - [projector](Interface.md#projector) +- [sourceInterfaces](Interface.md#sourceinterfaces) - [symbol](Interface.md#symbol) - [templateArguments](Interface.md#templatearguments) - [templateMapper](Interface.md#templatemapper) @@ -95,7 +96,13 @@ ___ ### operations -• **operations**: `Map`<`string`, [`Operation`](Operation.md)\> +• **operations**: [`RekeyableMap`](RekeyableMap.md)<`string`, [`Operation`](Operation.md)\> + +The operations of the interface. + +Operations are ordered in the order that they appear in the source. +Operations obtained via `interface extends` appear before operations +declared in the interface body. ___ @@ -129,6 +136,19 @@ ___ ___ +### sourceInterfaces + +• **sourceInterfaces**: [`Interface`](Interface.md)[] + +The interfaces that provide additional operations via `interface extends`. + +Note that despite the same `extends` keyword in source form, this is a +different semantic relationship than the one from [Model](Model.md) to +[baseModel](Model.md#basemodel). Operations from extended interfaces are copied +into [operations](Interface.md#operations). + +___ + ### symbol • `Optional` **symbol**: [`Sym`](Sym.md) diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/InterfaceStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/InterfaceStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/InterfaceStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/InterfaceStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/IntersectionExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/IntersectionExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/IntersectionExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/IntersectionExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/IntrinsicType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/IntrinsicType.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/IntrinsicType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/IntrinsicType.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/InvalidStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/InvalidStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/InvalidStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/InvalidStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/JSONSchemaValidator.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/JSONSchemaValidator.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/JSONSchemaValidator.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/JSONSchemaValidator.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/JsSourceFileNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/JsSourceFileNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/JsSourceFileNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/JsSourceFileNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/LineAndCharacter.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/LineAndCharacter.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/LineAndCharacter.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/LineAndCharacter.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/LineComment.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/LineComment.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/LineComment.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/LineComment.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ListOperationOptions.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ListOperationOptions.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ListOperationOptions.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ListOperationOptions.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/LogInfo.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/LogInfo.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/LogInfo.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/LogInfo.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/LogSink.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/LogSink.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/LogSink.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/LogSink.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Logger.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Logger.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Logger.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Logger.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/MemberExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/MemberExpressionNode.md similarity index 95% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/MemberExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/MemberExpressionNode.md index 45f6fad959b..0205fe71471 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/MemberExpressionNode.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/MemberExpressionNode.md @@ -21,6 +21,7 @@ - [kind](MemberExpressionNode.md#kind) - [parent](MemberExpressionNode.md#parent) - [pos](MemberExpressionNode.md#pos) +- [selector](MemberExpressionNode.md#selector) - [symbol](MemberExpressionNode.md#symbol) ## Properties @@ -113,6 +114,12 @@ start of the full string. Inclusive. ___ +### selector + +• `Readonly` **selector**: ``"."`` \| ``"::"`` + +___ + ### symbol • `Readonly` **symbol**: [`Sym`](Sym.md) diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Model.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Model.md similarity index 88% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Model.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Model.md index ece7961cf0f..74809dc9677 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Model.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Model.md @@ -154,7 +154,18 @@ ___ ### properties -• **properties**: `Map`<`string`, [`ModelProperty`](ModelProperty.md)\> +• **properties**: [`RekeyableMap`](RekeyableMap.md)<`string`, [`ModelProperty`](ModelProperty.md)\> + +The properties of the model. + +Properties are ordered in the order that they appear in source. +Properties obtained via `model is` appear before properties defined in +the model body. Properties obtained via `...` are inserted where the +spread appears in source. + +Properties inherited via `model extends` are not included. Use +[walkPropertiesInherited](../index.md#walkpropertiesinherited) to enumerate all properties in the +inheritance hierarchy. ___ diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ModelExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ModelExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ModelExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ModelExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ModelProperty.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ModelProperty.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ModelProperty.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ModelProperty.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ModelPropertyNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ModelPropertyNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ModelPropertyNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ModelPropertyNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ModelSpreadPropertyNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ModelSpreadPropertyNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ModelSpreadPropertyNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ModelSpreadPropertyNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ModelStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ModelStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ModelStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ModelStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Namespace.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Namespace.md similarity index 83% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Namespace.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Namespace.md index 64a03a190b7..f522817f02f 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Namespace.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Namespace.md @@ -47,6 +47,10 @@ • **decoratorDeclarations**: `Map`<`string`, [`Decorator`](Decorator.md)\> +The decorators declared in the namespace. + +Order is implementation-defined and may change. + ___ ### decorators @@ -63,12 +67,20 @@ ___ • **enums**: `Map`<`string`, [`Enum`](Enum.md)\> +The enums in the namespace. + +Order is implementation-defined and may change. + ___ ### functionDeclarations • **functionDeclarations**: `Map`<`string`, [`FunctionType`](FunctionType.md)\> +The functions declared in the namespace. + +Order is implementation-defined and may change. + ___ ### instantiationParameters @@ -85,6 +97,10 @@ ___ • **interfaces**: `Map`<`string`, [`Interface`](Interface.md)\> +The scalars in the namespace. + +Order is implementation-defined and may change. + ___ ### kind @@ -101,6 +117,10 @@ ___ • **models**: `Map`<`string`, [`Model`](Model.md)\> +The models in the namespace. + +Order is implementation-defined and may change. + ___ ### name @@ -119,6 +139,10 @@ ___ • **namespaces**: `Map`<`string`, [`Namespace`](Namespace.md)\> +The scalars in the namespace. + +Order is implementation-defined and may change. + ___ ### node @@ -135,6 +159,10 @@ ___ • **operations**: `Map`<`string`, [`Operation`](Operation.md)\> +The operations in the namespace. + +Order is implementation-defined and may change. + ___ ### projectionBase @@ -171,12 +199,20 @@ ___ • **scalars**: `Map`<`string`, [`Scalar`](Scalar.md)\> +The scalars in the namespace. + +Order is implementation-defined and may change. + ___ ### unions • **unions**: `Map`<`string`, [`Union`](Union.md)\> +The unions in the namespace. + +Order is implementation-defined and may change. + ## Accessors ### projections diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NamespaceNavigationOptions.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NamespaceNavigationOptions.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NamespaceNavigationOptions.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NamespaceNavigationOptions.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NamespaceStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NamespaceStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NamespaceStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NamespaceStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NavigationOptions.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NavigationOptions.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NavigationOptions.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NavigationOptions.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NeverKeywordNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NeverKeywordNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NeverKeywordNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NeverKeywordNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NeverType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NeverType.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NeverType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NeverType.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NodePackage.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NodePackage.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NodePackage.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NodePackage.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NullType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NullType.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NullType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NullType.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NumericLiteral.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NumericLiteral.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NumericLiteral.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NumericLiteral.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NumericLiteralNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NumericLiteralNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/NumericLiteralNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/NumericLiteralNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ObjectType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ObjectType.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ObjectType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ObjectType.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Operation.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Operation.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Operation.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Operation.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/OperationSignatureDeclarationNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/OperationSignatureDeclarationNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/OperationSignatureDeclarationNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/OperationSignatureDeclarationNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/OperationSignatureReferenceNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/OperationSignatureReferenceNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/OperationSignatureReferenceNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/OperationSignatureReferenceNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/OperationStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/OperationStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/OperationStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/OperationStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ParseOptions.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ParseOptions.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ParseOptions.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ParseOptions.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProcessedLog.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProcessedLog.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProcessedLog.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProcessedLog.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Program.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Program.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Program.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Program.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectedNameView.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectedNameView.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectedNameView.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectedNameView.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectedProgram.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectedProgram.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectedProgram.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectedProgram.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Projection.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Projection.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Projection.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Projection.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionApplication.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionApplication.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionApplication.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionApplication.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionArithmeticExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionArithmeticExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionArithmeticExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionArithmeticExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionBlockExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionBlockExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionBlockExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionBlockExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionCallExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionCallExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionCallExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionCallExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionDecoratorReferenceExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionDecoratorReferenceExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionDecoratorReferenceExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionDecoratorReferenceExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionEnumMemberSelectorNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionEnumMemberSelectorNode.md new file mode 100644 index 00000000000..8645dee980a --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionEnumMemberSelectorNode.md @@ -0,0 +1,111 @@ +[JS Api](../index.md) / ProjectionEnumMemberSelectorNode + +# Interface: ProjectionEnumMemberSelectorNode + +## Hierarchy + +- [`BaseNode`](BaseNode.md) + + ↳ **`ProjectionEnumMemberSelectorNode`** + +## Table of contents + +### Properties + +- [directives](ProjectionEnumMemberSelectorNode.md#directives) +- [docs](ProjectionEnumMemberSelectorNode.md#docs) +- [end](ProjectionEnumMemberSelectorNode.md#end) +- [flags](ProjectionEnumMemberSelectorNode.md#flags) +- [kind](ProjectionEnumMemberSelectorNode.md#kind) +- [parent](ProjectionEnumMemberSelectorNode.md#parent) +- [pos](ProjectionEnumMemberSelectorNode.md#pos) +- [symbol](ProjectionEnumMemberSelectorNode.md#symbol) + +## Properties + +### directives + +• `Optional` `Readonly` **directives**: readonly [`DirectiveExpressionNode`](DirectiveExpressionNode.md)[] + +#### Inherited from + +[BaseNode](BaseNode.md).[directives](BaseNode.md#directives) + +___ + +### docs + +• `Optional` `Readonly` **docs**: readonly [`DocNode`](DocNode.md)[] + +#### Inherited from + +[BaseNode](BaseNode.md).[docs](BaseNode.md#docs) + +___ + +### end + +• `Readonly` **end**: `number` + +The ending position measured in UTF-16 code units from the start of the +full string. Exclusive. + +#### Inherited from + +[BaseNode](BaseNode.md).[end](BaseNode.md#end) + +___ + +### flags + +• `Readonly` **flags**: [`NodeFlags`](../enums/NodeFlags.md) + +#### Inherited from + +[BaseNode](BaseNode.md).[flags](BaseNode.md#flags) + +___ + +### kind + +• `Readonly` **kind**: [`ProjectionEnumMemberSelector`](../enums/SyntaxKind.md#projectionenummemberselector) + +#### Overrides + +[BaseNode](BaseNode.md).[kind](BaseNode.md#kind) + +___ + +### parent + +• `Optional` `Readonly` **parent**: [`Node`](../index.md#node) + +#### Inherited from + +[BaseNode](BaseNode.md).[parent](BaseNode.md#parent) + +___ + +### pos + +• `Readonly` **pos**: `number` + +The starting position of the ranger measured in UTF-16 code units from the +start of the full string. Inclusive. + +#### Inherited from + +[BaseNode](BaseNode.md).[pos](BaseNode.md#pos) + +___ + +### symbol + +• `Readonly` **symbol**: [`Sym`](Sym.md) + +Could be undefined but making this optional creates a lot of noise. In practice, +you will likely only access symbol in cases where you know the node has a symbol. + +#### Inherited from + +[BaseNode](BaseNode.md).[symbol](BaseNode.md#symbol) diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionEnumSelectorNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionEnumSelectorNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionEnumSelectorNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionEnumSelectorNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionEqualityExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionEqualityExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionEqualityExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionEqualityExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionExpressionStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionExpressionStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionExpressionStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionExpressionStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionIfExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionIfExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionIfExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionIfExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionInterfaceSelectorNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionInterfaceSelectorNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionInterfaceSelectorNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionInterfaceSelectorNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionLambdaExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionLambdaExpressionNode.md similarity index 95% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionLambdaExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionLambdaExpressionNode.md index 9f5c09c1ec7..5c1609a980d 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionLambdaExpressionNode.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionLambdaExpressionNode.md @@ -93,7 +93,7 @@ ___ ### parameters -• `Readonly` **parameters**: [`ProjectionLambdaParameterDeclarationNode`](ProjectionLambdaParameterDeclarationNode.md)[] +• `Readonly` **parameters**: readonly [`ProjectionLambdaParameterDeclarationNode`](ProjectionLambdaParameterDeclarationNode.md)[] ___ diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionLambdaParameterDeclarationNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionLambdaParameterDeclarationNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionLambdaParameterDeclarationNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionLambdaParameterDeclarationNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionLogicalExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionLogicalExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionLogicalExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionLogicalExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionMemberExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionMemberExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionMemberExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionMemberExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionModelExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionModelExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionModelPropertyNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelPropertyNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionModelPropertyNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelPropertyNode.md diff --git a/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelPropertySelectorNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelPropertySelectorNode.md new file mode 100644 index 00000000000..4273f0dcf04 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelPropertySelectorNode.md @@ -0,0 +1,111 @@ +[JS Api](../index.md) / ProjectionModelPropertySelectorNode + +# Interface: ProjectionModelPropertySelectorNode + +## Hierarchy + +- [`BaseNode`](BaseNode.md) + + ↳ **`ProjectionModelPropertySelectorNode`** + +## Table of contents + +### Properties + +- [directives](ProjectionModelPropertySelectorNode.md#directives) +- [docs](ProjectionModelPropertySelectorNode.md#docs) +- [end](ProjectionModelPropertySelectorNode.md#end) +- [flags](ProjectionModelPropertySelectorNode.md#flags) +- [kind](ProjectionModelPropertySelectorNode.md#kind) +- [parent](ProjectionModelPropertySelectorNode.md#parent) +- [pos](ProjectionModelPropertySelectorNode.md#pos) +- [symbol](ProjectionModelPropertySelectorNode.md#symbol) + +## Properties + +### directives + +• `Optional` `Readonly` **directives**: readonly [`DirectiveExpressionNode`](DirectiveExpressionNode.md)[] + +#### Inherited from + +[BaseNode](BaseNode.md).[directives](BaseNode.md#directives) + +___ + +### docs + +• `Optional` `Readonly` **docs**: readonly [`DocNode`](DocNode.md)[] + +#### Inherited from + +[BaseNode](BaseNode.md).[docs](BaseNode.md#docs) + +___ + +### end + +• `Readonly` **end**: `number` + +The ending position measured in UTF-16 code units from the start of the +full string. Exclusive. + +#### Inherited from + +[BaseNode](BaseNode.md).[end](BaseNode.md#end) + +___ + +### flags + +• `Readonly` **flags**: [`NodeFlags`](../enums/NodeFlags.md) + +#### Inherited from + +[BaseNode](BaseNode.md).[flags](BaseNode.md#flags) + +___ + +### kind + +• `Readonly` **kind**: [`ProjectionModelPropertySelector`](../enums/SyntaxKind.md#projectionmodelpropertyselector) + +#### Overrides + +[BaseNode](BaseNode.md).[kind](BaseNode.md#kind) + +___ + +### parent + +• `Optional` `Readonly` **parent**: [`Node`](../index.md#node) + +#### Inherited from + +[BaseNode](BaseNode.md).[parent](BaseNode.md#parent) + +___ + +### pos + +• `Readonly` **pos**: `number` + +The starting position of the ranger measured in UTF-16 code units from the +start of the full string. Inclusive. + +#### Inherited from + +[BaseNode](BaseNode.md).[pos](BaseNode.md#pos) + +___ + +### symbol + +• `Readonly` **symbol**: [`Sym`](Sym.md) + +Could be undefined but making this optional creates a lot of noise. In practice, +you will likely only access symbol in cases where you know the node has a symbol. + +#### Inherited from + +[BaseNode](BaseNode.md).[symbol](BaseNode.md#symbol) diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionModelSelectorNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelSelectorNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionModelSelectorNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelSelectorNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionModelSpreadPropertyNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelSpreadPropertyNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionModelSpreadPropertyNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionModelSpreadPropertyNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionNode.md similarity index 87% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionNode.md index 89334af59c0..af64df2c9d9 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionNode.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionNode.md @@ -21,6 +21,7 @@ - [flags](ProjectionNode.md#flags) - [kind](ProjectionNode.md#kind) - [locals](ProjectionNode.md#locals) +- [modifierIds](ProjectionNode.md#modifierids) - [parameters](ProjectionNode.md#parameters) - [parent](ProjectionNode.md#parent) - [pos](ProjectionNode.md#pos) @@ -30,13 +31,13 @@ ### body -• `Readonly` **body**: [`ProjectionExpressionStatementNode`](ProjectionExpressionStatementNode.md)[] +• `Readonly` **body**: readonly [`ProjectionExpressionStatementNode`](ProjectionExpressionStatementNode.md)[] ___ ### direction -• `Readonly` **direction**: ``"from"`` \| ``"to"`` +• `Readonly` **direction**: ``"from"`` \| ``"to"`` \| ``"pre_to"`` \| ``"pre_from"`` \| ``""`` ___ @@ -105,6 +106,12 @@ ___ ___ +### modifierIds + +• `Readonly` **modifierIds**: readonly [`IdentifierNode`](IdentifierNode.md)[] + +___ + ### parameters • `Readonly` **parameters**: [`ProjectionParameterDeclarationNode`](ProjectionParameterDeclarationNode.md)[] diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionOperationSelectorNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionOperationSelectorNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionOperationSelectorNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionOperationSelectorNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionParameterDeclarationNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionParameterDeclarationNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionParameterDeclarationNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionParameterDeclarationNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionReferenceNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionReferenceNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionReferenceNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionReferenceNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionRelationalExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionRelationalExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionRelationalExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionRelationalExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionStatementNode.md similarity index 75% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionStatementNode.md index 158690cf484..0bf165c4a63 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionStatementNode.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionStatementNode.md @@ -23,6 +23,9 @@ - [kind](ProjectionStatementNode.md#kind) - [parent](ProjectionStatementNode.md#parent) - [pos](ProjectionStatementNode.md#pos) +- [preFrom](ProjectionStatementNode.md#prefrom) +- [preTo](ProjectionStatementNode.md#preto) +- [projections](ProjectionStatementNode.md#projections) - [selector](ProjectionStatementNode.md#selector) - [symbol](ProjectionStatementNode.md#symbol) - [to](ProjectionStatementNode.md#to) @@ -121,9 +124,27 @@ start of the full string. Inclusive. ___ +### preFrom + +• `Optional` `Readonly` **preFrom**: [`ProjectionNode`](ProjectionNode.md) + +___ + +### preTo + +• `Optional` `Readonly` **preTo**: [`ProjectionNode`](ProjectionNode.md) + +___ + +### projections + +• `Readonly` **projections**: readonly [`ProjectionNode`](ProjectionNode.md)[] + +___ + ### selector -• `Readonly` **selector**: [`MemberExpressionNode`](MemberExpressionNode.md) \| [`IdentifierNode`](IdentifierNode.md) \| [`ProjectionModelSelectorNode`](ProjectionModelSelectorNode.md) \| [`ProjectionInterfaceSelectorNode`](ProjectionInterfaceSelectorNode.md) \| [`ProjectionOperationSelectorNode`](ProjectionOperationSelectorNode.md) \| [`ProjectionEnumSelectorNode`](ProjectionEnumSelectorNode.md) \| [`ProjectionUnionSelectorNode`](ProjectionUnionSelectorNode.md) +• `Readonly` **selector**: [`MemberExpressionNode`](MemberExpressionNode.md) \| [`IdentifierNode`](IdentifierNode.md) \| [`ProjectionModelSelectorNode`](ProjectionModelSelectorNode.md) \| [`ProjectionModelPropertySelectorNode`](ProjectionModelPropertySelectorNode.md) \| [`ProjectionInterfaceSelectorNode`](ProjectionInterfaceSelectorNode.md) \| [`ProjectionOperationSelectorNode`](ProjectionOperationSelectorNode.md) \| [`ProjectionEnumSelectorNode`](ProjectionEnumSelectorNode.md) \| [`ProjectionEnumMemberSelectorNode`](ProjectionEnumMemberSelectorNode.md) \| [`ProjectionUnionSelectorNode`](ProjectionUnionSelectorNode.md) \| [`ProjectionUnionVariantSelectorNode`](ProjectionUnionVariantSelectorNode.md) ___ diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionTupleExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionTupleExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionTupleExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionTupleExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionUnaryExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionUnaryExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionUnaryExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionUnaryExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionUnionSelectorNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionUnionSelectorNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ProjectionUnionSelectorNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionUnionSelectorNode.md diff --git a/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionUnionVariantSelectorNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionUnionVariantSelectorNode.md new file mode 100644 index 00000000000..ebb4c157c77 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ProjectionUnionVariantSelectorNode.md @@ -0,0 +1,111 @@ +[JS Api](../index.md) / ProjectionUnionVariantSelectorNode + +# Interface: ProjectionUnionVariantSelectorNode + +## Hierarchy + +- [`BaseNode`](BaseNode.md) + + ↳ **`ProjectionUnionVariantSelectorNode`** + +## Table of contents + +### Properties + +- [directives](ProjectionUnionVariantSelectorNode.md#directives) +- [docs](ProjectionUnionVariantSelectorNode.md#docs) +- [end](ProjectionUnionVariantSelectorNode.md#end) +- [flags](ProjectionUnionVariantSelectorNode.md#flags) +- [kind](ProjectionUnionVariantSelectorNode.md#kind) +- [parent](ProjectionUnionVariantSelectorNode.md#parent) +- [pos](ProjectionUnionVariantSelectorNode.md#pos) +- [symbol](ProjectionUnionVariantSelectorNode.md#symbol) + +## Properties + +### directives + +• `Optional` `Readonly` **directives**: readonly [`DirectiveExpressionNode`](DirectiveExpressionNode.md)[] + +#### Inherited from + +[BaseNode](BaseNode.md).[directives](BaseNode.md#directives) + +___ + +### docs + +• `Optional` `Readonly` **docs**: readonly [`DocNode`](DocNode.md)[] + +#### Inherited from + +[BaseNode](BaseNode.md).[docs](BaseNode.md#docs) + +___ + +### end + +• `Readonly` **end**: `number` + +The ending position measured in UTF-16 code units from the start of the +full string. Exclusive. + +#### Inherited from + +[BaseNode](BaseNode.md).[end](BaseNode.md#end) + +___ + +### flags + +• `Readonly` **flags**: [`NodeFlags`](../enums/NodeFlags.md) + +#### Inherited from + +[BaseNode](BaseNode.md).[flags](BaseNode.md#flags) + +___ + +### kind + +• `Readonly` **kind**: [`ProjectionUnionVariantSelector`](../enums/SyntaxKind.md#projectionunionvariantselector) + +#### Overrides + +[BaseNode](BaseNode.md).[kind](BaseNode.md#kind) + +___ + +### parent + +• `Optional` `Readonly` **parent**: [`Node`](../index.md#node) + +#### Inherited from + +[BaseNode](BaseNode.md).[parent](BaseNode.md#parent) + +___ + +### pos + +• `Readonly` **pos**: `number` + +The starting position of the ranger measured in UTF-16 code units from the +start of the full string. Inclusive. + +#### Inherited from + +[BaseNode](BaseNode.md).[pos](BaseNode.md#pos) + +___ + +### symbol + +• `Readonly` **symbol**: [`Sym`](Sym.md) + +Could be undefined but making this optional creates a lot of noise. In practice, +you will likely only access symbol in cases where you know the node has a symbol. + +#### Inherited from + +[BaseNode](BaseNode.md).[symbol](BaseNode.md#symbol) diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Projector.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Projector.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Projector.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Projector.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/RecordModelType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/RecordModelType.md similarity index 89% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/RecordModelType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/RecordModelType.md index 0fea761c4c6..36c5d227ff6 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/RecordModelType.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/RecordModelType.md @@ -173,7 +173,18 @@ ___ ### properties -• **properties**: `Map`<`string`, [`ModelProperty`](ModelProperty.md)\> +• **properties**: [`RekeyableMap`](RekeyableMap.md)<`string`, [`ModelProperty`](ModelProperty.md)\> + +The properties of the model. + +Properties are ordered in the order that they appear in source. +Properties obtained via `model is` appear before properties defined in +the model body. Properties obtained via `...` are inserted where the +spread appears in source. + +Properties inherited via `model extends` are not included. Use +[walkPropertiesInherited](../index.md#walkpropertiesinherited) to enumerate all properties in the +inheritance hierarchy. #### Inherited from diff --git a/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/RekeyableMap.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/RekeyableMap.md new file mode 100644 index 00000000000..9563802b661 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/RekeyableMap.md @@ -0,0 +1,272 @@ +[JS Api](../index.md) / RekeyableMap + +# Interface: RekeyableMap + +A map where keys can be changed without changing enumeration order. + +## Type parameters + +| Name | +| :------ | +| `K` | +| `V` | + +## Hierarchy + +- `Map`<`K`, `V`\> + + ↳ **`RekeyableMap`** + +## Table of contents + +### Properties + +- [[toStringTag]](RekeyableMap.md#[tostringtag]) +- [size](RekeyableMap.md#size) + +### Methods + +- [[iterator]](RekeyableMap.md#[iterator]) +- [clear](RekeyableMap.md#clear) +- [delete](RekeyableMap.md#delete) +- [entries](RekeyableMap.md#entries) +- [forEach](RekeyableMap.md#foreach) +- [get](RekeyableMap.md#get) +- [has](RekeyableMap.md#has) +- [keys](RekeyableMap.md#keys) +- [rekey](RekeyableMap.md#rekey) +- [set](RekeyableMap.md#set) +- [values](RekeyableMap.md#values) + +## Properties + +### [toStringTag] + +• `Readonly` **[toStringTag]**: `string` + +#### Inherited from + +Map.\_\_@toStringTag@35 + +___ + +### size + +• `Readonly` **size**: `number` + +#### Inherited from + +Map.size + +## Methods + +### [iterator] + +▸ **[iterator]**(): `IterableIterator`<[`K`, `V`]\> + +Returns an iterable of entries in the map. + +#### Returns + +`IterableIterator`<[`K`, `V`]\> + +#### Inherited from + +Map.\_\_@iterator@95 + +___ + +### clear + +▸ **clear**(): `void` + +#### Returns + +`void` + +#### Inherited from + +Map.clear + +___ + +### delete + +▸ **delete**(`key`): `boolean` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `key` | `K` | + +#### Returns + +`boolean` + +true if an element in the Map existed and has been removed, or false if the element does not exist. + +#### Inherited from + +Map.delete + +___ + +### entries + +▸ **entries**(): `IterableIterator`<[`K`, `V`]\> + +Returns an iterable of key, value pairs for every entry in the map. + +#### Returns + +`IterableIterator`<[`K`, `V`]\> + +#### Inherited from + +Map.entries + +___ + +### forEach + +▸ **forEach**(`callbackfn`, `thisArg?`): `void` + +Executes a provided function once per each key/value pair in the Map, in insertion order. + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `callbackfn` | (`value`: `V`, `key`: `K`, `map`: `Map`<`K`, `V`\>) => `void` | +| `thisArg?` | `any` | + +#### Returns + +`void` + +#### Inherited from + +Map.forEach + +___ + +### get + +▸ **get**(`key`): `undefined` \| `V` + +Returns a specified element from the Map object. If the value that is associated to the provided key is an object, then you will get a reference to that object and any change made to that object will effectively modify it inside the Map. + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `key` | `K` | + +#### Returns + +`undefined` \| `V` + +Returns the element associated with the specified key. If no element is associated with the specified key, undefined is returned. + +#### Inherited from + +Map.get + +___ + +### has + +▸ **has**(`key`): `boolean` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `key` | `K` | + +#### Returns + +`boolean` + +boolean indicating whether an element with the specified key exists or not. + +#### Inherited from + +Map.has + +___ + +### keys + +▸ **keys**(): `IterableIterator`<`K`\> + +Returns an iterable of keys in the map + +#### Returns + +`IterableIterator`<`K`\> + +#### Inherited from + +Map.keys + +___ + +### rekey + +▸ **rekey**(`existingKey`, `newKey`): `boolean` + +Change the given key without impacting enumeration order. + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `existingKey` | `K` | Existing key | +| `newKey` | `K` | New key | + +#### Returns + +`boolean` + +boolean if updated successfully. + +___ + +### set + +▸ **set**(`key`, `value`): [`RekeyableMap`](RekeyableMap.md)<`K`, `V`\> + +Adds a new element with a specified key and value to the Map. If an element with the same key already exists, the element will be updated. + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `key` | `K` | +| `value` | `V` | + +#### Returns + +[`RekeyableMap`](RekeyableMap.md)<`K`, `V`\> + +#### Inherited from + +Map.set + +___ + +### values + +▸ **values**(): `IterableIterator`<`V`\> + +Returns an iterable of values in the map + +#### Returns + +`IterableIterator`<`V`\> + +#### Inherited from + +Map.values diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ResolveModuleHost.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ResolveModuleHost.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ResolveModuleHost.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ResolveModuleHost.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ResolveModuleOptions.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ResolveModuleOptions.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ResolveModuleOptions.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ResolveModuleOptions.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ResolvedFile.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ResolvedFile.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ResolvedFile.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ResolvedFile.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ResolvedModule.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ResolvedModule.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ResolvedModule.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ResolvedModule.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ReturnExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ReturnExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ReturnExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ReturnExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ReturnRecord.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ReturnRecord.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ReturnRecord.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ReturnRecord.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/RmOptions.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/RmOptions.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/RmOptions.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/RmOptions.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Scalar.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Scalar.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Scalar.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Scalar.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ScalarStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ScalarStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ScalarStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ScalarStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Scanner.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Scanner.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Scanner.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Scanner.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SemanticToken.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SemanticToken.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SemanticToken.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SemanticToken.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Server.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Server.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Server.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Server.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ServerHost.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ServerHost.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ServerHost.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ServerHost.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ServerSourceFile.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ServerSourceFile.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ServerSourceFile.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ServerSourceFile.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ServerWorkspaceFolder.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ServerWorkspaceFolder.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ServerWorkspaceFolder.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ServerWorkspaceFolder.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Service.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Service.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Service.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Service.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ServiceDetails.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ServiceDetails.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/ServiceDetails.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/ServiceDetails.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SourceFile.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SourceFile.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SourceFile.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SourceFile.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SourceLocation.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SourceLocation.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SourceLocation.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SourceLocation.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/StringLiteral.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/StringLiteral.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/StringLiteral.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/StringLiteral.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/StringLiteralNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/StringLiteralNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/StringLiteralNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/StringLiteralNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SuppressDirective.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SuppressDirective.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SuppressDirective.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SuppressDirective.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Sym.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Sym.md similarity index 92% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Sym.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Sym.md index 38377ae2402..0d14083bc14 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Sym.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Sym.md @@ -11,6 +11,7 @@ - [flags](Sym.md#flags) - [id](Sym.md#id) - [members](Sym.md#members) +- [metatypeMembers](Sym.md#metatypemembers) - [name](Sym.md#name) - [parent](Sym.md#parent) - [symbolSource](Sym.md#symbolsource) @@ -60,6 +61,14 @@ name). ___ +### metatypeMembers + +• `Optional` `Readonly` **metatypeMembers**: [`SymbolTable`](SymbolTable.md) + +Symbol table + +___ + ### name • `Readonly` **name**: `string` diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SymbolLinks.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SymbolLinks.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SymbolLinks.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SymbolLinks.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SymbolTable.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SymbolTable.md similarity index 98% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SymbolTable.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SymbolTable.md index e39fbe4cee5..3d722965d54 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/SymbolTable.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/SymbolTable.md @@ -57,7 +57,7 @@ Returns an iterable of entries in the map. #### Inherited from -ReadonlyMap.\_\_@iterator@94 +ReadonlyMap.\_\_@iterator@95 ___ diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TemplateDeclarationNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TemplateDeclarationNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TemplateDeclarationNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TemplateDeclarationNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TemplateParameter.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TemplateParameter.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TemplateParameter.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TemplateParameter.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TemplateParameterDeclarationNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TemplateParameterDeclarationNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TemplateParameterDeclarationNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TemplateParameterDeclarationNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TemplatedTypeBase.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TemplatedTypeBase.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TemplatedTypeBase.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TemplatedTypeBase.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TextRange.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TextRange.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TextRange.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TextRange.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Tracer.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Tracer.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Tracer.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Tracer.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TracerOptions.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TracerOptions.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TracerOptions.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TracerOptions.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Tuple.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Tuple.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Tuple.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Tuple.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TupleExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TupleExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TupleExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TupleExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeInstantiationMap.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeInstantiationMap.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeInstantiationMap.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeInstantiationMap.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeMapper.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeMapper.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeMapper.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeMapper.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeNameOptions.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeNameOptions.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeNameOptions.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeNameOptions.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeReferenceNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeReferenceNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeReferenceNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeReferenceNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeSpecCompletionItem.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeSpecCompletionItem.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeSpecCompletionItem.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeSpecCompletionItem.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeSpecLibrary.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeSpecLibrary.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeSpecLibrary.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeSpecLibrary.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeSpecLibraryDef.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeSpecLibraryDef.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeSpecLibraryDef.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeSpecLibraryDef.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeSpecManifest.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeSpecManifest.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeSpecManifest.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeSpecManifest.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeSpecScriptNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeSpecScriptNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/TypeSpecScriptNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/TypeSpecScriptNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Union.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Union.md similarity index 95% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Union.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Union.md index 0cc4d298efc..3d550904b57 100644 --- a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/Union.md +++ b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/Union.md @@ -185,7 +185,11 @@ ___ ### variants -• **variants**: `Map`<`string` \| `symbol`, [`UnionVariant`](UnionVariant.md)\> +• **variants**: [`RekeyableMap`](RekeyableMap.md)<`string` \| `symbol`, [`UnionVariant`](UnionVariant.md)\> + +The variants of the union. + +Variants are ordered in order that they appear in source. ## Accessors diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UnionExpressionNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UnionExpressionNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UnionExpressionNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UnionExpressionNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UnionStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UnionStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UnionStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UnionStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UnionVariant.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UnionVariant.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UnionVariant.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UnionVariant.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UnionVariantNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UnionVariantNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UnionVariantNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UnionVariantNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UnknownType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UnknownType.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UnknownType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UnknownType.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UsageTracker.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UsageTracker.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UsageTracker.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UsageTracker.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UsingStatementNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UsingStatementNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/UsingStatementNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/UsingStatementNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/VoidKeywordNode.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/VoidKeywordNode.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/VoidKeywordNode.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/VoidKeywordNode.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/VoidType.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/VoidType.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/VoidType.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/VoidType.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/decorators.Discriminator.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/decorators.Discriminator.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/decorators.Discriminator.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/decorators.Discriminator.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/decorators.Service.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/decorators.Service.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/decorators.Service.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/decorators.Service.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/decorators.ServiceDetails.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/decorators.ServiceDetails.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/interfaces/decorators.ServiceDetails.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/interfaces/decorators.ServiceDetails.md diff --git a/packages/website/versioned_docs/version-latest/compiler/reference/js-api/modules/decorators.md b/packages/website/versioned_docs/version-latest/standard-library/reference/js-api/modules/decorators.md similarity index 100% rename from packages/website/versioned_docs/version-latest/compiler/reference/js-api/modules/decorators.md rename to packages/website/versioned_docs/version-latest/standard-library/reference/js-api/modules/decorators.md diff --git a/packages/website/versioned_docs/version-latest/standard-library/rest/overview.md b/packages/website/versioned_docs/version-latest/standard-library/rest/overview.md index 53e46f9ed33..a27433560eb 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/rest/overview.md +++ b/packages/website/versioned_docs/version-latest/standard-library/rest/overview.md @@ -2,7 +2,7 @@ title: Overview --- -# Http and rest +# REST TypeSpec has an official REST API "binding" called `@typespec/rest`. It's a set of TypeSpec declarations and decorators that describe REST APIs and can be used by code generators to generate OpenAPI descriptions, implementation code, and the like. @@ -20,62 +20,14 @@ npm install @typespec/rest - [Decorators](./reference/decorators.md) - [Data types](./reference/data-types.md) - [Interface and operations](./reference/interfaces.md) -- [Authentication](./authentication.md) ## Cheat sheet -## Verb - -| Feature | Example | -| ---------------- | --------------------------- | -| Get operation | `@get op read(): void` | -| Put operation | `@put op set(): void` | -| Post operation | `@post op add(): void` | -| Patch operation | `@patch op patch(): void` | -| Delete operation | `@delete op delete(): void` | -| Head operation | `@head op read(): void` | - -## Routing - -| Feature | Example | -| ---------------------------------- | ------------------------------------------------------------------------------------------ | -| Fixed route | `@route("/pets") op list(): Pet[]` | -| Route with path parameter | `@route("/pets/{petId}") op getPet(petId: string): Pet` | -| Route with multiple path parameter | `@route("/stores/{storeId}/pets/{petId}/") op getPet(storeId: string, petId: string): Pet` | - ## Resource Routing +_Details: [Resource Routing](./resource-routing.md)_ + | Feature | Example | Resolved Route | | ------------------------ | ----------------------------------------------------------------------------------- | -------------- | | Auto route | `@autoRoute op get(@segment("pets") @path id: string): void` | `/pets/{id}` | | Custom segment seperator | `@autoRoute op get(@segment("pets") @path @segmentSeparator(":") id: string): void` | `:pets/{id}` | - -## Data types - -| Feature | Example | -| ----------------------- | ------------------------------------------- | -| Request header | `op read(@header traceparent: string): Pet` | -| Response header | `op read(): {@header eTag: string, ...Pet}` | -| Query parameter | `op list(@query filter: string): Pet[]` | -| Explicit body parameter | `op add(@body pet: Pet): void` | -| Implicit body parameter | `op add(...Pet): void` | -| Status code | `op read(): {@statusCode _: 200, ...Pet}` | - -## Server - -| Feature | Example | -| ------------- | ------------------------------------------------------------------------------------- | -| Single | `@server("https://example.com", "Example 1 endpoint")` | -| Multiple | `@server("https://example1.com", "E1") @server("https://example2.com", "E2")` | -| Parameterized | `@server("https://{region}.example.com", "Region scoped endpoint", {region: string})` | - -## Authentication - -_Details: [Authentication](./authentication.md)_ - -| Feature | Example | -| --------------- | ------------------------------------------- | -| Basic auth | `@useAuth(BasicAuth)` | -| Bearer auth | `@useAuth(BearerAuth)` | -| Api key auth | `@useAuth(ApiKeyAuth<"header", "Api-Key">)` | -| OAuth2 key auth | `@useAuth(OAuth2Flow<[MyScope]>)` | diff --git a/packages/website/versioned_docs/version-latest/standard-library/rest/reference/data-types.md b/packages/website/versioned_docs/version-latest/standard-library/rest/reference/data-types.md index 8b826473ee9..a8f44f82fb5 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/rest/reference/data-types.md +++ b/packages/website/versioned_docs/version-latest/standard-library/rest/reference/data-types.md @@ -8,18 +8,14 @@ toc_max_heading_level: 3 ## TypeSpec.Rest.Resource -### `ResourceError` {#TypeSpec.Rest.Resource.ResourceError} - -The default error response for resource operations. - -```typespec -model TypeSpec.Rest.Resource.ResourceError -``` +### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} -### `KeysOf` {#TypeSpec.Rest.Resource.KeysOf} +Structure for a paging response using `value` and `nextLink` to represent pagination. +This only provides the model structure and not actual pagination support. +See https://github.com/microsoft/typespec/issues/705 for general paging support. ```typespec -model KeysOf +model CollectionWithNextLink ``` #### Template Parameters @@ -28,10 +24,14 @@ model KeysOf | ---- | ----------- | | T | | -### `ParentKeysOf` {#TypeSpec.Rest.Resource.ParentKeysOf} +### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} + +Structure for a paging response using `value` and `nextLink` to represent pagination. +This only provides the model structure and not actual pagination support. +See https://github.com/microsoft/typespec/issues/705 for general paging support. ```typespec -model ParentKeysOf +model CollectionWithNextLink ``` #### Template Parameters @@ -40,34 +40,46 @@ model ParentKeysOf | ---- | ----------- | | T | | -### `ResourceParameters` {#TypeSpec.Rest.Resource.ResourceParameters} +### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} + +Structure for a paging response using `value` and `nextLink` to represent pagination. +This only provides the model structure and not actual pagination support. +See https://github.com/microsoft/typespec/issues/705 for general paging support. ```typespec -model ResourceParameters +model CollectionWithNextLink ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | +| Name | Description | +| ---- | ----------- | +| T | | -### `ResourceCollectionParameters` {#TypeSpec.Rest.Resource.ResourceCollectionParameters} +### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} + +Structure for a paging response using `value` and `nextLink` to represent pagination. +This only provides the model structure and not actual pagination support. +See https://github.com/microsoft/typespec/issues/705 for general paging support. ```typespec -model ResourceCollectionParameters +model CollectionWithNextLink ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | +| Name | Description | +| ---- | ----------- | +| T | | -### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} +### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} + +Structure for a paging response using `value` and `nextLink` to represent pagination. +This only provides the model structure and not actual pagination support. +See https://github.com/microsoft/typespec/issues/705 for general paging support. ```typespec -model ResourceCreatedResponse +model CollectionWithNextLink ``` #### Template Parameters @@ -76,46 +88,54 @@ model ResourceCreatedResponse | ---- | ----------- | | T | | -### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} +### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} + +Structure for a paging response using `value` and `nextLink` to represent pagination. +This only provides the model structure and not actual pagination support. +See https://github.com/microsoft/typespec/issues/705 for general paging support. ```typespec -model ResourceCreateModel +model CollectionWithNextLink ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | +| Name | Description | +| ---- | ----------- | +| T | | -### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} +### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} + +Structure for a paging response using `value` and `nextLink` to represent pagination. +This only provides the model structure and not actual pagination support. +See https://github.com/microsoft/typespec/issues/705 for general paging support. ```typespec -model ResourceCreateOrUpdateModel +model CollectionWithNextLink ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | - -### `ResourceDeletedResponse` {#TypeSpec.Rest.Resource.ResourceDeletedResponse} +| Name | Description | +| ---- | ----------- | +| T | | -Resource deleted successfully. +### `KeysOf` {#TypeSpec.Rest.Resource.KeysOf} ```typespec -model TypeSpec.Rest.Resource.ResourceDeletedResponse +model KeysOf ``` -### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} +#### Template Parameters -Structure for a paging response using `value` and `nextLink` to represent pagination. -This only provides the model structure and not actual pagination support. -See https://github.com/microsoft/typespec/issues/705 for general paging support. +| Name | Description | +| ---- | ----------- | +| T | | + +### `ParentKeysOf` {#TypeSpec.Rest.Resource.ParentKeysOf} ```typespec -model CollectionWithNextLink +model ParentKeysOf ``` #### Template Parameters @@ -124,10 +144,10 @@ model CollectionWithNextLink | ---- | ----------- | | T | | -### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} +### `ResourceCollectionParameters` {#TypeSpec.Rest.Resource.ResourceCollectionParameters} ```typespec -model ResourceCreateModel +model ResourceCollectionParameters ``` #### Template Parameters @@ -148,17 +168,17 @@ model ResourceCreatedResponse | ---- | ----------- | | T | | -### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} +### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} ```typespec -model ResourceCreateOrUpdateModel +model ResourceCreatedResponse ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | +| Name | Description | +| ---- | ----------- | +| T | | ### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} @@ -172,17 +192,17 @@ model ResourceCreatedResponse | ---- | ----------- | | T | | -### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} +### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} ```typespec -model ResourceCreateModel +model ResourceCreatedResponse ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | +| Name | Description | +| ---- | ----------- | +| T | | ### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} @@ -196,26 +216,22 @@ model ResourceCreatedResponse | ---- | ----------- | | T | | -### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} +### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} ```typespec -model ResourceCreateOrUpdateModel +model ResourceCreatedResponse ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | - -### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} +| Name | Description | +| ---- | ----------- | +| T | | -Structure for a paging response using `value` and `nextLink` to represent pagination. -This only provides the model structure and not actual pagination support. -See https://github.com/microsoft/typespec/issues/705 for general paging support. +### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} ```typespec -model CollectionWithNextLink +model ResourceCreatedResponse ``` #### Template Parameters @@ -224,29 +240,29 @@ model CollectionWithNextLink | ---- | ----------- | | T | | -### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} +### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} ```typespec -model ResourceCreateOrUpdateModel +model ResourceCreatedResponse ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | +| Name | Description | +| ---- | ----------- | +| T | | -### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} +### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} ```typespec -model ResourceCreateModel +model ResourceCreatedResponse ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | +| Name | Description | +| ---- | ----------- | +| T | | ### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} @@ -260,26 +276,22 @@ model ResourceCreatedResponse | ---- | ----------- | | T | | -### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} - -Structure for a paging response using `value` and `nextLink` to represent pagination. -This only provides the model structure and not actual pagination support. -See https://github.com/microsoft/typespec/issues/705 for general paging support. +### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} ```typespec -model CollectionWithNextLink +model ResourceCreateModel ``` #### Template Parameters -| Name | Description | -| ---- | ----------- | -| T | | +| Name | Description | +| --------- | ----------- | +| TResource | | -### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} +### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} ```typespec -model ResourceCreateOrUpdateModel +model ResourceCreateModel ``` #### Template Parameters @@ -300,38 +312,34 @@ model ResourceCreateModel | --------- | ----------- | | TResource | | -### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} +### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} ```typespec -model ResourceCreatedResponse +model ResourceCreateModel ``` #### Template Parameters -| Name | Description | -| ---- | ----------- | -| T | | - -### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} +| Name | Description | +| --------- | ----------- | +| TResource | | -Structure for a paging response using `value` and `nextLink` to represent pagination. -This only provides the model structure and not actual pagination support. -See https://github.com/microsoft/typespec/issues/705 for general paging support. +### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} ```typespec -model CollectionWithNextLink +model ResourceCreateModel ``` #### Template Parameters -| Name | Description | -| ---- | ----------- | -| T | | +| Name | Description | +| --------- | ----------- | +| TResource | | -### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} +### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} ```typespec -model ResourceCreateOrUpdateModel +model ResourceCreateModel ``` #### Template Parameters @@ -340,10 +348,10 @@ model ResourceCreateOrUpdateModel | --------- | ----------- | | TResource | | -### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} +### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} ```typespec -model ResourceCreateOrUpdateModel +model ResourceCreateModel ``` #### Template Parameters @@ -352,10 +360,10 @@ model ResourceCreateOrUpdateModel | --------- | ----------- | | TResource | | -### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} +### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} ```typespec -model ResourceCreateOrUpdateModel +model ResourceCreateModel ``` #### Template Parameters @@ -364,22 +372,22 @@ model ResourceCreateOrUpdateModel | --------- | ----------- | | TResource | | -### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} +### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} ```typespec -model ResourceCreatedResponse +model ResourceCreateOrUpdateModel ``` #### Template Parameters -| Name | Description | -| ---- | ----------- | -| T | | +| Name | Description | +| --------- | ----------- | +| TResource | | -### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} +### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} ```typespec -model ResourceCreateModel +model ResourceCreateOrUpdateModel ``` #### Template Parameters @@ -388,17 +396,17 @@ model ResourceCreateModel | --------- | ----------- | | TResource | | -### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} +### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} ```typespec -model ResourceCreatedResponse +model ResourceCreateOrUpdateModel ``` #### Template Parameters -| Name | Description | -| ---- | ----------- | -| T | | +| Name | Description | +| --------- | ----------- | +| TResource | | ### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} @@ -412,21 +420,17 @@ model ResourceCreateOrUpdateModel | --------- | ----------- | | TResource | | -### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} - -Structure for a paging response using `value` and `nextLink` to represent pagination. -This only provides the model structure and not actual pagination support. -See https://github.com/microsoft/typespec/issues/705 for general paging support. +### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} ```typespec -model CollectionWithNextLink +model ResourceCreateOrUpdateModel ``` #### Template Parameters -| Name | Description | -| ---- | ----------- | -| T | | +| Name | Description | +| --------- | ----------- | +| TResource | | ### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} @@ -440,10 +444,10 @@ model ResourceCreateOrUpdateModel | --------- | ----------- | | TResource | | -### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} +### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} ```typespec -model ResourceCreateModel +model ResourceCreateOrUpdateModel ``` #### Template Parameters @@ -452,33 +456,29 @@ model ResourceCreateModel | --------- | ----------- | | TResource | | -### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} +### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} ```typespec -model ResourceCreatedResponse +model ResourceCreateOrUpdateModel ``` #### Template Parameters -| Name | Description | -| ---- | ----------- | -| T | | - -### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} +| Name | Description | +| --------- | ----------- | +| TResource | | -Structure for a paging response using `value` and `nextLink` to represent pagination. -This only provides the model structure and not actual pagination support. -See https://github.com/microsoft/typespec/issues/705 for general paging support. +### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} ```typespec -model CollectionWithNextLink +model ResourceCreateOrUpdateModel ``` #### Template Parameters -| Name | Description | -| ---- | ----------- | -| T | | +| Name | Description | +| --------- | ----------- | +| TResource | | ### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} @@ -492,10 +492,10 @@ model ResourceCreateOrUpdateModel | --------- | ----------- | | TResource | | -### `ResourceCreateModel` {#TypeSpec.Rest.Resource.ResourceCreateModel} +### `ResourceCreateOrUpdateModel` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel} ```typespec -model ResourceCreateModel +model ResourceCreateOrUpdateModel ``` #### Template Parameters @@ -504,30 +504,30 @@ model ResourceCreateModel | --------- | ----------- | | TResource | | -### `ResourceCreatedResponse` {#TypeSpec.Rest.Resource.ResourceCreatedResponse} +### `ResourceDeletedResponse` {#TypeSpec.Rest.Resource.ResourceDeletedResponse} + +Resource deleted successfully. ```typespec -model ResourceCreatedResponse +model TypeSpec.Rest.Resource.ResourceDeletedResponse ``` -#### Template Parameters +### `ResourceError` {#TypeSpec.Rest.Resource.ResourceError} -| Name | Description | -| ---- | ----------- | -| T | | +The default error response for resource operations. -### `CollectionWithNextLink` {#TypeSpec.Rest.Resource.CollectionWithNextLink} +```typespec +model TypeSpec.Rest.Resource.ResourceError +``` -Structure for a paging response using `value` and `nextLink` to represent pagination. -This only provides the model structure and not actual pagination support. -See https://github.com/microsoft/typespec/issues/705 for general paging support. +### `ResourceParameters` {#TypeSpec.Rest.Resource.ResourceParameters} ```typespec -model CollectionWithNextLink +model ResourceParameters ``` #### Template Parameters -| Name | Description | -| ---- | ----------- | -| T | | +| Name | Description | +| --------- | ----------- | +| TResource | | diff --git a/packages/website/versioned_docs/version-latest/standard-library/rest/reference/decorators.md b/packages/website/versioned_docs/version-latest/standard-library/rest/reference/decorators.md index d8b9afc774c..68c8b4c424a 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/rest/reference/decorators.md +++ b/packages/website/versioned_docs/version-latest/standard-library/rest/reference/decorators.md @@ -8,110 +8,110 @@ toc_max_heading_level: 3 ## TypeSpec.Rest -### `@autoRoute` {#@TypeSpec.Rest.autoRoute} +### `@action` {#@TypeSpec.Rest.action} -This interface or operation should resolve its route automatically. To be used with resource types where the route segments area defined on the models. +Specify this operation is an action. (Scopped to a resource item /pets/{petId}/my-action) ```typespec -dec TypeSpec.Rest.autoRoute(target: TypeSpec.Reflection.Interface | TypeSpec.Reflection.Operation) +dec TypeSpec.Rest.action(target: Operation, name?: string) ``` #### Target -`union TypeSpec.Reflection.Interface | TypeSpec.Reflection.Operation` +`Operation` #### Parameters -| Name | Type | Description | -| ---- | ---- | ----------- | +| Name | Type | Description | +| ---- | --------------- | ----------- | +| name | `scalar string` | | -#### Examples - -```typespec -@autoRoute -interface Pets { -get(@segment("pets") @path id: string): void; //-> route: /pets/{id} -} -``` - -### `@segment` {#@TypeSpec.Rest.segment} +### `@actionSeparator` {#@TypeSpec.Rest.actionSeparator} -Defines the preceding path segment for a +Defines the separator string that is inserted before the action name in auto-generated routes for actions. ```typespec -dec TypeSpec.Rest.segment(target: TypeSpec.object | TypeSpec.Reflection.ModelProperty | TypeSpec.Reflection.Operation, name: TypeSpec.string) +dec TypeSpec.Rest.actionSeparator(target: object | ModelProperty | Operation, seperator: / | : | /:) ``` #### Target -`union TypeSpec.object | TypeSpec.Reflection.ModelProperty | TypeSpec.Reflection.Operation` +`union object | ModelProperty | Operation` #### Parameters -| Name | Type | Description | -| ---- | ------------------------ | ---------------------------------------------------------------------------------------------- | -| name | `scalar TypeSpec.string` | Segment that will be inserted into the operation route before the path parameter's name field. | +| Name | Type | Description | +| --------- | -------------------- | ---------------------------------------------------------------- | +| seperator | `union / \| : \| /:` | Seperator seperating the action segment from the rest of the url | -### `@segmentOf` {#@TypeSpec.Rest.segmentOf} +### `@autoRoute` {#@TypeSpec.Rest.autoRoute} -Returns the URL segment of a given model if it has `@segment` and `@key` decorator. +This interface or operation should resolve its route automatically. To be used with resource types where the route segments area defined on the models. ```typespec -dec TypeSpec.Rest.segmentOf(target: TypeSpec.Reflection.Operation, type: TypeSpec.object) +dec TypeSpec.Rest.autoRoute(target: Interface | Operation) ``` #### Target -`Operation` +`union Interface | Operation` #### Parameters -| Name | Type | Description | -| ---- | ----------------------- | ----------- | -| type | `model TypeSpec.object` | | +None -### `@actionSeparator` {#@TypeSpec.Rest.actionSeparator} +#### Examples -Defines the separator string that is inserted before the action name in auto-generated routes for actions. +```typespec +@autoRoute +interface Pets { +get(@segment("pets") @path id: string): void; //-> route: /pets/{id} +} +``` + +### `@collectionAction` {#@TypeSpec.Rest.collectionAction} + +Specify this operation is a collection action. (Scopped to a resource, /pets/my-action) ```typespec -dec TypeSpec.Rest.actionSeparator(target: TypeSpec.object | TypeSpec.Reflection.ModelProperty | TypeSpec.Reflection.Operation, seperator: / | : | /:) +dec TypeSpec.Rest.collectionAction(target: Operation, resourceType: object, name?: string) ``` #### Target -`union TypeSpec.object | TypeSpec.Reflection.ModelProperty | TypeSpec.Reflection.Operation` +`Operation` #### Parameters -| Name | Type | Description | -| --------- | -------------------- | ---------------------------------------------------------------- | -| seperator | `union / \| : \| /:` | Seperator seperating the action segment from the rest of the url | +| Name | Type | Description | +| ------------ | --------------- | ----------- | +| resourceType | `model object` | | +| name | `scalar string` | | -### `@resource` {#@TypeSpec.Rest.resource} +### `@createsOrReplacesResource` {#@TypeSpec.Rest.createsOrReplacesResource} -Mark this model as a resource type with a name. +Specify that this is a CreateOrReplace operation for a given resource. ```typespec -dec TypeSpec.Rest.resource(target: TypeSpec.object, collectionName: TypeSpec.string) +dec TypeSpec.Rest.createsOrReplacesResource(target: Operation, resourceType: object) ``` #### Target -`model TypeSpec.object` +`Operation` #### Parameters -| Name | Type | Description | -| -------------- | ------------------------ | ---------------------- | -| collectionName | `scalar TypeSpec.string` | type's collection name | +| Name | Type | Description | +| ------------ | -------------- | ----------- | +| resourceType | `model object` | | -### `@readsResource` {#@TypeSpec.Rest.readsResource} +### `@createsOrUpdatesResource` {#@TypeSpec.Rest.createsOrUpdatesResource} -Specify that this is a Read operation for a given resource. +Specify that this is a CreatesOrUpdate operation for a given resource. ```typespec -dec TypeSpec.Rest.readsResource(target: TypeSpec.Reflection.Operation, resourceType: TypeSpec.object) +dec TypeSpec.Rest.createsOrUpdatesResource(target: Operation, resourceType: object) ``` #### Target @@ -120,16 +120,16 @@ dec TypeSpec.Rest.readsResource(target: TypeSpec.Reflection.Operation, resourceT #### Parameters -| Name | Type | Description | -| ------------ | ----------------------- | ----------- | -| resourceType | `model TypeSpec.object` | | +| Name | Type | Description | +| ------------ | -------------- | ----------- | +| resourceType | `model object` | | ### `@createsResource` {#@TypeSpec.Rest.createsResource} Specify that this is a Create operation for a given resource. ```typespec -dec TypeSpec.Rest.createsResource(target: TypeSpec.Reflection.Operation, resourceType: TypeSpec.object) +dec TypeSpec.Rest.createsResource(target: Operation, resourceType: object) ``` #### Target @@ -138,16 +138,16 @@ dec TypeSpec.Rest.createsResource(target: TypeSpec.Reflection.Operation, resourc #### Parameters -| Name | Type | Description | -| ------------ | ----------------------- | ----------- | -| resourceType | `model TypeSpec.object` | | +| Name | Type | Description | +| ------------ | -------------- | ----------- | +| resourceType | `model object` | | -### `@createsOrReplacesResource` {#@TypeSpec.Rest.createsOrReplacesResource} +### `@deletesResource` {#@TypeSpec.Rest.deletesResource} -Specify that this is a CreateOrReplace operation for a given resource. +Specify that this is a Delete operation for a given resource. ```typespec -dec TypeSpec.Rest.createsOrReplacesResource(target: TypeSpec.Reflection.Operation, resourceType: TypeSpec.object) +dec TypeSpec.Rest.deletesResource(target: Operation, resourceType: object) ``` #### Target @@ -156,16 +156,16 @@ dec TypeSpec.Rest.createsOrReplacesResource(target: TypeSpec.Reflection.Operatio #### Parameters -| Name | Type | Description | -| ------------ | ----------------------- | ----------- | -| resourceType | `model TypeSpec.object` | | +| Name | Type | Description | +| ------------ | -------------- | ----------- | +| resourceType | `model object` | | -### `@createsOrUpdatesResource` {#@TypeSpec.Rest.createsOrUpdatesResource} +### `@listsResource` {#@TypeSpec.Rest.listsResource} -Specify that this is a CreatesOrUpdate operation for a given resource. +Specify that this is a List operation for a given resource. ```typespec -dec TypeSpec.Rest.createsOrUpdatesResource(target: TypeSpec.Reflection.Operation, resourceType: TypeSpec.object) +dec TypeSpec.Rest.listsResource(target: Operation, resourceType: object) ``` #### Target @@ -174,16 +174,16 @@ dec TypeSpec.Rest.createsOrUpdatesResource(target: TypeSpec.Reflection.Operation #### Parameters -| Name | Type | Description | -| ------------ | ----------------------- | ----------- | -| resourceType | `model TypeSpec.object` | | +| Name | Type | Description | +| ------------ | -------------- | ----------- | +| resourceType | `model object` | | -### `@updatesResource` {#@TypeSpec.Rest.updatesResource} +### `@readsResource` {#@TypeSpec.Rest.readsResource} -Specify that this is a Update operation for a given resource. +Specify that this is a Read operation for a given resource. ```typespec -dec TypeSpec.Rest.updatesResource(target: TypeSpec.Reflection.Operation, resourceType: TypeSpec.object) +dec TypeSpec.Rest.readsResource(target: Operation, resourceType: object) ``` #### Target @@ -192,52 +192,52 @@ dec TypeSpec.Rest.updatesResource(target: TypeSpec.Reflection.Operation, resourc #### Parameters -| Name | Type | Description | -| ------------ | ----------------------- | ----------- | -| resourceType | `model TypeSpec.object` | | +| Name | Type | Description | +| ------------ | -------------- | ----------- | +| resourceType | `model object` | | -### `@deletesResource` {#@TypeSpec.Rest.deletesResource} +### `@resource` {#@TypeSpec.Rest.resource} -Specify that this is a Delete operation for a given resource. +Mark this model as a resource type with a name. ```typespec -dec TypeSpec.Rest.deletesResource(target: TypeSpec.Reflection.Operation, resourceType: TypeSpec.object) +dec TypeSpec.Rest.resource(target: object, collectionName: string) ``` #### Target -`Operation` +`model object` #### Parameters -| Name | Type | Description | -| ------------ | ----------------------- | ----------- | -| resourceType | `model TypeSpec.object` | | +| Name | Type | Description | +| -------------- | --------------- | ---------------------- | +| collectionName | `scalar string` | type's collection name | -### `@listsResource` {#@TypeSpec.Rest.listsResource} +### `@segment` {#@TypeSpec.Rest.segment} -Specify that this is a List operation for a given resource. +Defines the preceding path segment for a ```typespec -dec TypeSpec.Rest.listsResource(target: TypeSpec.Reflection.Operation, resourceType: TypeSpec.object) +dec TypeSpec.Rest.segment(target: object | ModelProperty | Operation, name: string) ``` #### Target -`Operation` +`union object | ModelProperty | Operation` #### Parameters -| Name | Type | Description | -| ------------ | ----------------------- | ----------- | -| resourceType | `model TypeSpec.object` | | +| Name | Type | Description | +| ---- | --------------- | ---------------------------------------------------------------------------------------------- | +| name | `scalar string` | Segment that will be inserted into the operation route before the path parameter's name field. | -### `@action` {#@TypeSpec.Rest.action} +### `@segmentOf` {#@TypeSpec.Rest.segmentOf} -Specify this operation is an action. (Scopped to a resource item /pets/{petId}/my-action) +Returns the URL segment of a given model if it has `@segment` and `@key` decorator. ```typespec -dec TypeSpec.Rest.action(target: TypeSpec.Reflection.Operation, name?: TypeSpec.string) +dec TypeSpec.Rest.segmentOf(target: Operation, type: object) ``` #### Target @@ -246,16 +246,16 @@ dec TypeSpec.Rest.action(target: TypeSpec.Reflection.Operation, name?: TypeSpec. #### Parameters -| Name | Type | Description | -| ---- | ------------------------ | ----------- | -| name | `scalar TypeSpec.string` | | +| Name | Type | Description | +| ---- | -------------- | ----------- | +| type | `model object` | | -### `@collectionAction` {#@TypeSpec.Rest.collectionAction} +### `@updatesResource` {#@TypeSpec.Rest.updatesResource} -Specify this operation is a collection action. (Scopped to a resource, /pets/my-action) +Specify that this is a Update operation for a given resource. ```typespec -dec TypeSpec.Rest.collectionAction(target: TypeSpec.Reflection.Operation, resourceType: TypeSpec.object, name?: TypeSpec.string) +dec TypeSpec.Rest.updatesResource(target: Operation, resourceType: object) ``` #### Target @@ -264,7 +264,6 @@ dec TypeSpec.Rest.collectionAction(target: TypeSpec.Reflection.Operation, resour #### Parameters -| Name | Type | Description | -| ------------ | ------------------------ | ----------- | -| resourceType | `model TypeSpec.object` | | -| name | `scalar TypeSpec.string` | | +| Name | Type | Description | +| ------------ | -------------- | ----------- | +| resourceType | `model object` | | diff --git a/packages/website/versioned_docs/version-latest/standard-library/rest/reference/index.md b/packages/website/versioned_docs/version-latest/standard-library/rest/reference/index.md index 3dc21abeee7..e9ed3910e00 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/rest/reference/index.md +++ b/packages/website/versioned_docs/version-latest/standard-library/rest/reference/index.md @@ -9,89 +9,89 @@ toc_max_heading_level: 3 ### Decorators -- [`@autoRoute`](./decorators.md#@TypeSpec.Rest.autoRoute) -- [`@segment`](./decorators.md#@TypeSpec.Rest.segment) -- [`@segmentOf`](./decorators.md#@TypeSpec.Rest.segmentOf) +- [`@action`](./decorators.md#@TypeSpec.Rest.action) - [`@actionSeparator`](./decorators.md#@TypeSpec.Rest.actionSeparator) -- [`@resource`](./decorators.md#@TypeSpec.Rest.resource) -- [`@readsResource`](./decorators.md#@TypeSpec.Rest.readsResource) -- [`@createsResource`](./decorators.md#@TypeSpec.Rest.createsResource) +- [`@autoRoute`](./decorators.md#@TypeSpec.Rest.autoRoute) +- [`@collectionAction`](./decorators.md#@TypeSpec.Rest.collectionAction) - [`@createsOrReplacesResource`](./decorators.md#@TypeSpec.Rest.createsOrReplacesResource) - [`@createsOrUpdatesResource`](./decorators.md#@TypeSpec.Rest.createsOrUpdatesResource) -- [`@updatesResource`](./decorators.md#@TypeSpec.Rest.updatesResource) +- [`@createsResource`](./decorators.md#@TypeSpec.Rest.createsResource) - [`@deletesResource`](./decorators.md#@TypeSpec.Rest.deletesResource) - [`@listsResource`](./decorators.md#@TypeSpec.Rest.listsResource) -- [`@action`](./decorators.md#@TypeSpec.Rest.action) -- [`@collectionAction`](./decorators.md#@TypeSpec.Rest.collectionAction) +- [`@readsResource`](./decorators.md#@TypeSpec.Rest.readsResource) +- [`@resource`](./decorators.md#@TypeSpec.Rest.resource) +- [`@segment`](./decorators.md#@TypeSpec.Rest.segment) +- [`@segmentOf`](./decorators.md#@TypeSpec.Rest.segmentOf) +- [`@updatesResource`](./decorators.md#@TypeSpec.Rest.updatesResource) ## TypeSpec.Rest.Resource ### Interfaces -- [`ResourceRead`](./interfaces.md#TypeSpec.Rest.Resource.ResourceRead) +- [`ExtensionResourceCollectionOperations`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceCollectionOperations) +- [`ExtensionResourceCreate`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceCreate) +- [`ExtensionResourceCreateOrUpdate`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceCreateOrUpdate) +- [`ExtensionResourceDelete`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceDelete) +- [`ExtensionResourceInstanceOperations`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceInstanceOperations) +- [`ExtensionResourceList`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceList) +- [`ExtensionResourceOperations`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceOperations) +- [`ExtensionResourceRead`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceRead) +- [`ExtensionResourceUpdate`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceUpdate) +- [`ResourceCollectionOperations`](./interfaces.md#TypeSpec.Rest.Resource.ResourceCollectionOperations) +- [`ResourceCreate`](./interfaces.md#TypeSpec.Rest.Resource.ResourceCreate) - [`ResourceCreateOrReplace`](./interfaces.md#TypeSpec.Rest.Resource.ResourceCreateOrReplace) - [`ResourceCreateOrUpdate`](./interfaces.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdate) -- [`ResourceCreate`](./interfaces.md#TypeSpec.Rest.Resource.ResourceCreate) -- [`ResourceUpdate`](./interfaces.md#TypeSpec.Rest.Resource.ResourceUpdate) - [`ResourceDelete`](./interfaces.md#TypeSpec.Rest.Resource.ResourceDelete) -- [`ResourceList`](./interfaces.md#TypeSpec.Rest.Resource.ResourceList) - [`ResourceInstanceOperations`](./interfaces.md#TypeSpec.Rest.Resource.ResourceInstanceOperations) -- [`ResourceCollectionOperations`](./interfaces.md#TypeSpec.Rest.Resource.ResourceCollectionOperations) +- [`ResourceList`](./interfaces.md#TypeSpec.Rest.Resource.ResourceList) - [`ResourceOperations`](./interfaces.md#TypeSpec.Rest.Resource.ResourceOperations) +- [`ResourceRead`](./interfaces.md#TypeSpec.Rest.Resource.ResourceRead) +- [`ResourceUpdate`](./interfaces.md#TypeSpec.Rest.Resource.ResourceUpdate) +- [`SingletonResourceOperations`](./interfaces.md#TypeSpec.Rest.Resource.SingletonResourceOperations) - [`SingletonResourceRead`](./interfaces.md#TypeSpec.Rest.Resource.SingletonResourceRead) - [`SingletonResourceUpdate`](./interfaces.md#TypeSpec.Rest.Resource.SingletonResourceUpdate) -- [`SingletonResourceOperations`](./interfaces.md#TypeSpec.Rest.Resource.SingletonResourceOperations) -- [`ExtensionResourceRead`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceRead) -- [`ExtensionResourceCreateOrUpdate`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceCreateOrUpdate) -- [`ExtensionResourceCreate`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceCreate) -- [`ExtensionResourceUpdate`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceUpdate) -- [`ExtensionResourceDelete`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceDelete) -- [`ExtensionResourceList`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceList) -- [`ExtensionResourceInstanceOperations`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceInstanceOperations) -- [`ExtensionResourceCollectionOperations`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceCollectionOperations) -- [`ExtensionResourceOperations`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceOperations) ### Models -- [`ResourceError`](./data-types.md#TypeSpec.Rest.Resource.ResourceError) +- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) +- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) +- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) +- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) +- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) +- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) +- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) - [`KeysOf`](./data-types.md#TypeSpec.Rest.Resource.KeysOf) - [`ParentKeysOf`](./data-types.md#TypeSpec.Rest.Resource.ParentKeysOf) -- [`ResourceParameters`](./data-types.md#TypeSpec.Rest.Resource.ResourceParameters) - [`ResourceCollectionParameters`](./data-types.md#TypeSpec.Rest.Resource.ResourceCollectionParameters) - [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) -- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) -- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) -- [`ResourceDeletedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceDeletedResponse) -- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) -- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) - [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) -- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) - [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) -- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) - [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) +- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) +- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) +- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) +- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) +- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) +- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) +- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) +- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) +- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) +- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) +- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) +- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) +- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) +- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) - [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) -- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) - [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) -- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) -- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) -- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) - [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) -- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) -- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) -- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) - [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) - [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) - [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) -- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) -- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) -- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) - [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) -- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) - [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) -- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) -- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) -- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) - [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) -- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel) -- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse) -- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink) +- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) +- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel) +- [`ResourceDeletedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceDeletedResponse) +- [`ResourceError`](./data-types.md#TypeSpec.Rest.Resource.ResourceError) +- [`ResourceParameters`](./data-types.md#TypeSpec.Rest.Resource.ResourceParameters) diff --git a/packages/website/versioned_docs/version-latest/standard-library/rest/reference/interfaces.md b/packages/website/versioned_docs/version-latest/standard-library/rest/reference/interfaces.md index 091b21b3599..7d7b57c5e49 100644 --- a/packages/website/versioned_docs/version-latest/standard-library/rest/reference/interfaces.md +++ b/packages/website/versioned_docs/version-latest/standard-library/rest/reference/interfaces.md @@ -8,111 +8,131 @@ toc_max_heading_level: 3 ## TypeSpec.Rest.Resource -### `ResourceRead` {#TypeSpec.Rest.Resource.ResourceRead} +### `ExtensionResourceCollectionOperations` {#TypeSpec.Rest.Resource.ExtensionResourceCollectionOperations} -Represent the resource GET operation. +```typespec +interface TypeSpec.Rest.Resource.ExtensionResourceCollectionOperations +``` + +#### Template Parameters + +| Name | Description | +| ---------- | ----------- | +| TExtension | | +| TResource | | +| TError | | + +### `ExtensionResourceCreate` {#TypeSpec.Rest.Resource.ExtensionResourceCreate} ```typespec -interface TypeSpec.Rest.Resource.ResourceRead +interface TypeSpec.Rest.Resource.ExtensionResourceCreate ``` #### Template Parameters -| Name | Description | -| --------- | ------------------- | -| TResource | The resource model. | -| TError | The error response. | +| Name | Description | +| ---------- | ----------- | +| TExtension | | +| TResource | | +| TError | | -### `ResourceCreateOrReplace` {#TypeSpec.Rest.Resource.ResourceCreateOrReplace} +### `ExtensionResourceCreateOrUpdate` {#TypeSpec.Rest.Resource.ExtensionResourceCreateOrUpdate} ```typespec -interface TypeSpec.Rest.Resource.ResourceCreateOrReplace +interface TypeSpec.Rest.Resource.ExtensionResourceCreateOrUpdate ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | -| TError | | +| Name | Description | +| ---------- | ----------- | +| TExtension | | +| TResource | | +| TError | | -### `ResourceCreateOrUpdate` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdate} +### `ExtensionResourceDelete` {#TypeSpec.Rest.Resource.ExtensionResourceDelete} ```typespec -interface TypeSpec.Rest.Resource.ResourceCreateOrUpdate +interface TypeSpec.Rest.Resource.ExtensionResourceDelete ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | -| TError | | +| Name | Description | +| ---------- | ----------- | +| TExtension | | +| TResource | | +| TError | | -### `ResourceCreate` {#TypeSpec.Rest.Resource.ResourceCreate} +### `ExtensionResourceInstanceOperations` {#TypeSpec.Rest.Resource.ExtensionResourceInstanceOperations} ```typespec -interface TypeSpec.Rest.Resource.ResourceCreate +interface TypeSpec.Rest.Resource.ExtensionResourceInstanceOperations ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | -| TError | | +| Name | Description | +| ---------- | ----------- | +| TExtension | | +| TResource | | +| TError | | -### `ResourceUpdate` {#TypeSpec.Rest.Resource.ResourceUpdate} +### `ExtensionResourceList` {#TypeSpec.Rest.Resource.ExtensionResourceList} ```typespec -interface TypeSpec.Rest.Resource.ResourceUpdate +interface TypeSpec.Rest.Resource.ExtensionResourceList ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | -| TError | | +| Name | Description | +| ---------- | ----------- | +| TExtension | | +| TResource | | +| TError | | -### `ResourceDelete` {#TypeSpec.Rest.Resource.ResourceDelete} +### `ExtensionResourceOperations` {#TypeSpec.Rest.Resource.ExtensionResourceOperations} ```typespec -interface TypeSpec.Rest.Resource.ResourceDelete +interface TypeSpec.Rest.Resource.ExtensionResourceOperations ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | -| TError | | +| Name | Description | +| ---------- | ----------- | +| TExtension | | +| TResource | | +| TError | | -### `ResourceList` {#TypeSpec.Rest.Resource.ResourceList} +### `ExtensionResourceRead` {#TypeSpec.Rest.Resource.ExtensionResourceRead} ```typespec -interface TypeSpec.Rest.Resource.ResourceList +interface TypeSpec.Rest.Resource.ExtensionResourceRead ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | -| TError | | +| Name | Description | +| ---------- | ----------- | +| TExtension | | +| TResource | | +| TError | | -### `ResourceInstanceOperations` {#TypeSpec.Rest.Resource.ResourceInstanceOperations} +### `ExtensionResourceUpdate` {#TypeSpec.Rest.Resource.ExtensionResourceUpdate} ```typespec -interface TypeSpec.Rest.Resource.ResourceInstanceOperations +interface TypeSpec.Rest.Resource.ExtensionResourceUpdate ``` #### Template Parameters -| Name | Description | -| --------- | ----------- | -| TResource | | -| TError | | +| Name | Description | +| ---------- | ----------- | +| TExtension | | +| TResource | | +| TError | | ### `ResourceCollectionOperations` {#TypeSpec.Rest.Resource.ResourceCollectionOperations} @@ -127,10 +147,10 @@ interface TypeSpec.Rest.Resource.ResourceCollectionOperations | TResource | | | TError | | -### `ResourceOperations` {#TypeSpec.Rest.Resource.ResourceOperations} +### `ResourceCreate` {#TypeSpec.Rest.Resource.ResourceCreate} ```typespec -interface TypeSpec.Rest.Resource.ResourceOperations +interface TypeSpec.Rest.Resource.ResourceCreate ``` #### Template Parameters @@ -140,170 +160,150 @@ interface TypeSpec.Rest.Resource.ResourceOperations | TResource | | | TError | | -### `SingletonResourceRead` {#TypeSpec.Rest.Resource.SingletonResourceRead} +### `ResourceCreateOrReplace` {#TypeSpec.Rest.Resource.ResourceCreateOrReplace} ```typespec -interface TypeSpec.Rest.Resource.SingletonResourceRead +interface TypeSpec.Rest.Resource.ResourceCreateOrReplace ``` #### Template Parameters -| Name | Description | -| ---------- | ----------- | -| TSingleton | | -| TResource | | -| TError | | +| Name | Description | +| --------- | ----------- | +| TResource | | +| TError | | -### `SingletonResourceUpdate` {#TypeSpec.Rest.Resource.SingletonResourceUpdate} +### `ResourceCreateOrUpdate` {#TypeSpec.Rest.Resource.ResourceCreateOrUpdate} ```typespec -interface TypeSpec.Rest.Resource.SingletonResourceUpdate +interface TypeSpec.Rest.Resource.ResourceCreateOrUpdate ``` #### Template Parameters -| Name | Description | -| ---------- | ----------- | -| TSingleton | | -| TResource | | -| TError | | +| Name | Description | +| --------- | ----------- | +| TResource | | +| TError | | -### `SingletonResourceOperations` {#TypeSpec.Rest.Resource.SingletonResourceOperations} +### `ResourceDelete` {#TypeSpec.Rest.Resource.ResourceDelete} ```typespec -interface TypeSpec.Rest.Resource.SingletonResourceOperations +interface TypeSpec.Rest.Resource.ResourceDelete ``` #### Template Parameters -| Name | Description | -| ---------- | ----------- | -| TSingleton | | -| TResource | | -| TError | | +| Name | Description | +| --------- | ----------- | +| TResource | | +| TError | | -### `ExtensionResourceRead` {#TypeSpec.Rest.Resource.ExtensionResourceRead} +### `ResourceInstanceOperations` {#TypeSpec.Rest.Resource.ResourceInstanceOperations} ```typespec -interface TypeSpec.Rest.Resource.ExtensionResourceRead +interface TypeSpec.Rest.Resource.ResourceInstanceOperations ``` #### Template Parameters -| Name | Description | -| ---------- | ----------- | -| TExtension | | -| TResource | | -| TError | | +| Name | Description | +| --------- | ----------- | +| TResource | | +| TError | | -### `ExtensionResourceCreateOrUpdate` {#TypeSpec.Rest.Resource.ExtensionResourceCreateOrUpdate} +### `ResourceList` {#TypeSpec.Rest.Resource.ResourceList} ```typespec -interface TypeSpec.Rest.Resource.ExtensionResourceCreateOrUpdate +interface TypeSpec.Rest.Resource.ResourceList ``` #### Template Parameters -| Name | Description | -| ---------- | ----------- | -| TExtension | | -| TResource | | -| TError | | +| Name | Description | +| --------- | ----------- | +| TResource | | +| TError | | -### `ExtensionResourceCreate` {#TypeSpec.Rest.Resource.ExtensionResourceCreate} +### `ResourceOperations` {#TypeSpec.Rest.Resource.ResourceOperations} ```typespec -interface TypeSpec.Rest.Resource.ExtensionResourceCreate +interface TypeSpec.Rest.Resource.ResourceOperations ``` #### Template Parameters -| Name | Description | -| ---------- | ----------- | -| TExtension | | -| TResource | | -| TError | | - -### `ExtensionResourceUpdate` {#TypeSpec.Rest.Resource.ExtensionResourceUpdate} - -```typespec -interface TypeSpec.Rest.Resource.ExtensionResourceUpdate -``` - -#### Template Parameters +| Name | Description | +| --------- | ----------- | +| TResource | | +| TError | | -| Name | Description | -| ---------- | ----------- | -| TExtension | | -| TResource | | -| TError | | +### `ResourceRead` {#TypeSpec.Rest.Resource.ResourceRead} -### `ExtensionResourceDelete` {#TypeSpec.Rest.Resource.ExtensionResourceDelete} +Represent the resource GET operation. ```typespec -interface TypeSpec.Rest.Resource.ExtensionResourceDelete +interface TypeSpec.Rest.Resource.ResourceRead ``` #### Template Parameters -| Name | Description | -| ---------- | ----------- | -| TExtension | | -| TResource | | -| TError | | +| Name | Description | +| --------- | ------------------- | +| TResource | The resource model. | +| TError | The error response. | -### `ExtensionResourceList` {#TypeSpec.Rest.Resource.ExtensionResourceList} +### `ResourceUpdate` {#TypeSpec.Rest.Resource.ResourceUpdate} ```typespec -interface TypeSpec.Rest.Resource.ExtensionResourceList +interface TypeSpec.Rest.Resource.ResourceUpdate ``` #### Template Parameters -| Name | Description | -| ---------- | ----------- | -| TExtension | | -| TResource | | -| TError | | +| Name | Description | +| --------- | ----------- | +| TResource | | +| TError | | -### `ExtensionResourceInstanceOperations` {#TypeSpec.Rest.Resource.ExtensionResourceInstanceOperations} +### `SingletonResourceOperations` {#TypeSpec.Rest.Resource.SingletonResourceOperations} ```typespec -interface TypeSpec.Rest.Resource.ExtensionResourceInstanceOperations +interface TypeSpec.Rest.Resource.SingletonResourceOperations ``` #### Template Parameters | Name | Description | | ---------- | ----------- | -| TExtension | | +| TSingleton | | | TResource | | | TError | | -### `ExtensionResourceCollectionOperations` {#TypeSpec.Rest.Resource.ExtensionResourceCollectionOperations} +### `SingletonResourceRead` {#TypeSpec.Rest.Resource.SingletonResourceRead} ```typespec -interface TypeSpec.Rest.Resource.ExtensionResourceCollectionOperations +interface TypeSpec.Rest.Resource.SingletonResourceRead ``` #### Template Parameters | Name | Description | | ---------- | ----------- | -| TExtension | | +| TSingleton | | | TResource | | | TError | | -### `ExtensionResourceOperations` {#TypeSpec.Rest.Resource.ExtensionResourceOperations} +### `SingletonResourceUpdate` {#TypeSpec.Rest.Resource.SingletonResourceUpdate} ```typespec -interface TypeSpec.Rest.Resource.ExtensionResourceOperations +interface TypeSpec.Rest.Resource.SingletonResourceUpdate ``` #### Template Parameters | Name | Description | | ---------- | ----------- | -| TExtension | | +| TSingleton | | | TResource | | | TError | | diff --git a/packages/website/versioned_docs/version-latest/standard-library/versioning/overview.md b/packages/website/versioned_docs/version-latest/standard-library/versioning/overview.md new file mode 100644 index 00000000000..88136cd9e2c --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/versioning/overview.md @@ -0,0 +1,204 @@ +--- +title: Overview +--- + +# Versioning + +TypeSpec has an official library called `@typespec/versioning`. It's a set of TypeSpec declarations and decorators that describe how APIs can be versioned. + +## Installation + +In your typespec project + +```bash +npm install @typespec/versioning +``` + +To avoid having to use the fully qualified name for all versioning types, you can include the following: + +```typespec +using TypeSpec.Versioning; +``` + +## Details + +- [References](./reference/index.md) + +## Creating Versioned APIs + +The primary purpose of the TypeSpec.Versioning library is to provide a way to version APIs. Let's start with an unversioned API. + +```typespec +@service({ + title: "Contoso Widget Manager", +}) +namespace Contoso.WidgetManager; +``` + +To make this API versioned, we need to add the `@versioned` decorator to the namespace and declare an enum that identifies the supported versions. + +```typespec +@service({ + title: "Contoso Widget Manager", +}) +@versioned(Contoso.WidgetManager.Versions) +namespace Contoso.WidgetManager; + +enum Versions { + v1, +} +``` + +## Declaring Versioned Dependencies + +Both versioned and unversioned services can declare their dependency on versioned TypeSpec libraries. To declare a dependency on a versioned library, use the `@useDependency` decorator. For unversioned services, this will be declared on the namespace. For versioned services, this will be declared on the versioned enum. + +For example, if our unversioned WidgetManager service has a dependency on the Azure.Core library, we would declare it like this: + +```typespec +@service({ + title: "Contoso Widget Manager Unversioned", +}) +@useDependency(Azure.Core.v1_0_Preview_1) +namespace Contoso.WidgetManager.Unversioned; +``` + +If our versioned WidgetManager service has a dependency on the Azure.Core library, we would declare it like this: + +```typespec +@service({ + title: "Contoso Widget Manager", +}) +@versioned(Contoso.WidgetManager.Versions) +namespace Contoso.WidgetManager; + +enum Versions { + @useDependency(Azure.Core.v1_0_Preview_1) + v1, +} +``` + +Let's assume we add a new version to our service, and it takes advantage of features in a newer version of the Azure.Core library. We can declare that dependency like this: + +```typespec +@service({ + title: "Contoso Widget Manager", +}) +@versioned(Contoso.WidgetManager.Versions) +namespace Contoso.WidgetManager; + +enum Versions { + @useDependency(Azure.Core.v1_0_Preview_1) + v1, + + @useDependency(Azure.Core.v1_0_Preview_2) + v2, +} +``` + +## Versioning APIs + +The versioning library makes it easy to version APIs. Let's start with a simple example. Let's say we have a service that has a single API that returns a list of widgets. We can declare that API like this: + +```typespec +using TypeSpec.Versioning; +using TypeSpec.Rest; +using TypeSpec.Http; + +@service({ + title: "Contoso Widget Manager", +}) +@versioned(Contoso.WidgetManager.Versions) +namespace Contoso.WidgetManager; + +enum Versions { + v1, +} + +@error +model Error { + code: string; + message?: string; +} + +model Widget { + @key + id: string; + name: string; +} + +op list(): Widget[] | Error; +``` + +Now let's say that in version 2 of the service, we add a get operation to retrieve a single widget. We can add that like this: + +```typespec +enum Versions { + v1, + v2, +} + +model Widget { + @key + id: string; + name: string; +} + +@route("/widget") +op list(): Widget[] | Error; + +@added(Versions.v2) +@route("/widget/{id}") +op get(...Resource.KeysOf): Widget | Error; +``` + +Now let's say that in version 3 of the service, we realize that `name` is inaccurate and that this field should be called `description`. Also, you +don't always have a description, so you decide it should be optional, not required. We can make these changes like this: + +```typespec +model Widget { + @key + widgetId: string; + + @renamedFrom(Versions.v3, "name") + @madeOptional(Versions.v3) + description?: string; +} +``` + +You can see that we made the change to the actual model property so that it now reflects the correct name and optional nature of the property. Both the +`@renamedFrom` and `@madeOptional` decorators identify the version in which the change was made, and the `@renamedFrom` decorator also identifies the +previous name of the property. This allows us to generate code that is aware of the change and can handle it appropriately. + +The OpenAPI defintion of `Widget` for version 3 reflects the change: + +```yaml +Widget: + type: object + properties: + id: + type: string + description: + type: string + required: + - id +``` + +But the OpenAPI definition for versions 1 and 2 still reflect the original name and required nature of the property: + +```yaml +Widget: + type: object + properties: + id: + type: string + name: + type: string + required: + - id + - name +``` + +This is the common pattern with the versioning decorators. The TypeSpec should reflect the _current state_ of the API. The decorators identify the +version at which this definition became true and, depending on the decorator, the other parameters reflect the preview values in order to preserve +that information. diff --git a/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/decorators.md b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/decorators.md new file mode 100644 index 00000000000..f21cdef20aa --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/decorators.md @@ -0,0 +1,137 @@ +--- +title: "Decorators" +toc_min_heading_level: 2 +toc_max_heading_level: 3 +--- + +# Decorators + +## TypeSpec.Versioning + +### `@added` {#@TypeSpec.Versioning.added} + +Identifies when the target was added. + +```typespec +dec TypeSpec.Versioning.added(target: unknown, version: EnumMember) +``` + +#### Target + +`(intrinsic) unknown` + +#### Parameters + +| Name | Type | Description | +| ------- | ------------ | ----------- | +| version | `EnumMember` | | + +### `@madeOptional` {#@TypeSpec.Versioning.madeOptional} + +Identifies when a target was made optional. + +```typespec +dec TypeSpec.Versioning.madeOptional(target: unknown, version: EnumMember) +``` + +#### Target + +`(intrinsic) unknown` + +#### Parameters + +| Name | Type | Description | +| ------- | ------------ | ----------- | +| version | `EnumMember` | | + +### `@removed` {#@TypeSpec.Versioning.removed} + +Identifies when the target was removed. + +```typespec +dec TypeSpec.Versioning.removed(target: unknown, version: EnumMember) +``` + +#### Target + +`(intrinsic) unknown` + +#### Parameters + +| Name | Type | Description | +| ------- | ------------ | ----------- | +| version | `EnumMember` | | + +### `@renamedFrom` {#@TypeSpec.Versioning.renamedFrom} + +Identifies when the target has been renamed. + +```typespec +dec TypeSpec.Versioning.renamedFrom(target: unknown, version: EnumMember, oldName: string) +``` + +#### Target + +`(intrinsic) unknown` + +#### Parameters + +| Name | Type | Description | +| ------- | --------------- | ----------- | +| version | `EnumMember` | | +| oldName | `scalar string` | | + +### `@typeChangedFrom` {#@TypeSpec.Versioning.typeChangedFrom} + +Identifies when the target type changed. + +```typespec +dec TypeSpec.Versioning.typeChangedFrom(target: unknown, version: EnumMember, oldType: unknown) +``` + +#### Target + +`(intrinsic) unknown` + +#### Parameters + +| Name | Type | Description | +| ------- | --------------------- | ----------- | +| version | `EnumMember` | | +| oldType | `(intrinsic) unknown` | | + +### `@useDependency` {#@TypeSpec.Versioning.useDependency} + +Identifies that a namespace or a given versioning enum member relies upon a versioned package. + +```typespec +dec TypeSpec.Versioning.useDependency(target: EnumMember | Namespace, ...versionRecords: EnumMember[]) +``` + +#### Target + +`union EnumMember | Namespace` + +#### Parameters + +| Name | Type | Description | +| -------------- | -------------------- | ----------- | +| versionRecords | `model EnumMember[]` | | + +### `@versioned` {#@TypeSpec.Versioning.versioned} + +Identifies that the decorated namespace is versioned by the provided enum. + +```typespec +dec TypeSpec.Versioning.versioned(target: Namespace, versions: Enum) +``` + +#### Target + +`Namespace` + +#### Parameters + +| Name | Type | Description | +| -------- | ------ | ----------- | +| versions | `Enum` | | diff --git a/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/index.md b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/index.md new file mode 100644 index 00000000000..e2c4836770d --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/index.md @@ -0,0 +1,18 @@ +--- +title: Index +sidebar_position: 0 +toc_min_heading_level: 2 +toc_max_heading_level: 3 +--- + +## TypeSpec.Versioning + +### Decorators + +- [`@added`](./decorators.md#@TypeSpec.Versioning.added) +- [`@madeOptional`](./decorators.md#@TypeSpec.Versioning.madeOptional) +- [`@removed`](./decorators.md#@TypeSpec.Versioning.removed) +- [`@renamedFrom`](./decorators.md#@TypeSpec.Versioning.renamedFrom) +- [`@typeChangedFrom`](./decorators.md#@TypeSpec.Versioning.typeChangedFrom) +- [`@useDependency`](./decorators.md#@TypeSpec.Versioning.useDependency) +- [`@versioned`](./decorators.md#@TypeSpec.Versioning.versioned) diff --git a/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/_category_.json b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/_category_.json new file mode 100644 index 00000000000..eb101a83783 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/_category_.json @@ -0,0 +1 @@ +{"label":"JS Api","link":{"type":"doc","id":"index"}} \ No newline at end of file diff --git a/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/classes/VersionMap.md b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/classes/VersionMap.md new file mode 100644 index 00000000000..d2729d0d413 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/classes/VersionMap.md @@ -0,0 +1,77 @@ +[JS Api](../index.md) / VersionMap + +# Class: VersionMap + +## Table of contents + +### Constructors + +- [constructor](VersionMap.md#constructor) + +### Properties + +- [map](VersionMap.md#map) + +### Accessors + +- [size](VersionMap.md#size) + +### Methods + +- [getVersionForEnumMember](VersionMap.md#getversionforenummember) +- [getVersions](VersionMap.md#getversions) + +## Constructors + +### constructor + +• **new VersionMap**(`namespace`, `enumType`) + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `namespace` | `Namespace` | +| `enumType` | `Enum` | + +## Properties + +### map + +• `Private` **map**: `Map`<`EnumMember`, [`Version`](../interfaces/Version.md)\> + +## Accessors + +### size + +• `get` **size**(): `number` + +#### Returns + +`number` + +## Methods + +### getVersionForEnumMember + +▸ **getVersionForEnumMember**(`member`): `undefined` \| [`Version`](../interfaces/Version.md) + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `member` | `EnumMember` | + +#### Returns + +`undefined` \| [`Version`](../interfaces/Version.md) + +___ + +### getVersions + +▸ **getVersions**(): [`Version`](../interfaces/Version.md)[] + +#### Returns + +[`Version`](../interfaces/Version.md)[] diff --git a/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/enums/Availability.md b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/enums/Availability.md new file mode 100644 index 00000000000..be1f00188ff --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/enums/Availability.md @@ -0,0 +1,36 @@ +[JS Api](../index.md) / Availability + +# Enumeration: Availability + +## Table of contents + +### Enumeration Members + +- [Added](Availability.md#added) +- [Available](Availability.md#available) +- [Removed](Availability.md#removed) +- [Unavailable](Availability.md#unavailable) + +## Enumeration Members + +### Added + +• **Added** = ``"Added"`` + +___ + +### Available + +• **Available** = ``"Available"`` + +___ + +### Removed + +• **Removed** = ``"Removed"`` + +___ + +### Unavailable + +• **Unavailable** = ``"Unavailable"`` diff --git a/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/index.md b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/index.md new file mode 100644 index 00000000000..d1ab9e9fe6d --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/index.md @@ -0,0 +1,704 @@ +JS Api + +# JS Api + +## Table of contents + +### Enumerations + +- [Availability](enums/Availability.md) + +### Classes + +- [VersionMap](classes/VersionMap.md) + +### Interfaces + +- [Version](interfaces/Version.md) +- [VersionResolution](interfaces/VersionResolution.md) + +### Variables + +- [namespace](index.md#namespace) + +### Functions + +- [$added](index.md#$added) +- [$madeOptional](index.md#$madeoptional) +- [$onValidate](index.md#$onvalidate) +- [$removed](index.md#$removed) +- [$renamedFrom](index.md#$renamedfrom) +- [$returnTypeChangedFrom](index.md#$returntypechangedfrom) +- [$typeChangedFrom](index.md#$typechangedfrom) +- [$useDependency](index.md#$usedependency) +- [$versioned](index.md#$versioned) +- [buildVersionProjections](index.md#buildversionprojections) +- [existsAtVersion](index.md#existsatversion) +- [findVersionedNamespace](index.md#findversionednamespace) +- [getAddedOnVersions](index.md#getaddedonversions) +- [getAvailabilityMap](index.md#getavailabilitymap) +- [getAvailabilityMapInTimeline](index.md#getavailabilitymapintimeline) +- [getMadeOptionalOn](index.md#getmadeoptionalon) +- [getNameAtVersion](index.md#getnameatversion) +- [getRemovedOnVersions](index.md#getremovedonversions) +- [getRenamedFromVersions](index.md#getrenamedfromversions) +- [getReturnTypeBeforeVersion](index.md#getreturntypebeforeversion) +- [getReturnTypeChangedFrom](index.md#getreturntypechangedfrom) +- [getTypeBeforeVersion](index.md#gettypebeforeversion) +- [getTypeChangedFrom](index.md#gettypechangedfrom) +- [getUseDependencies](index.md#getusedependencies) +- [getVersion](index.md#getversion) +- [getVersionDependencies](index.md#getversiondependencies) +- [getVersionForEnumMember](index.md#getversionforenummember) +- [getVersions](index.md#getversions) +- [getVersionsForEnum](index.md#getversionsforenum) +- [hasDifferentNameAtVersion](index.md#hasdifferentnameatversion) +- [hasDifferentReturnTypeAtVersion](index.md#hasdifferentreturntypeatversion) +- [hasDifferentTypeAtVersion](index.md#hasdifferenttypeatversion) +- [indexTimeline](index.md#indextimeline) +- [madeOptionalAfter](index.md#madeoptionalafter) +- [resolveVersions](index.md#resolveversions) + +## Variables + +### namespace + +• `Const` **namespace**: ``"TypeSpec.Versioning"`` + +## Functions + +### $added + +▸ **$added**(`context`, `t`, `v`): `void` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `context` | `DecoratorContext` | +| `t` | `Type` | +| `v` | `EnumMember` | + +#### Returns + +`void` + +___ + +### $madeOptional + +▸ **$madeOptional**(`context`, `t`, `v`): `void` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `context` | `DecoratorContext` | +| `t` | `ModelProperty` | +| `v` | `EnumMember` | + +#### Returns + +`void` + +___ + +### $onValidate + +▸ **$onValidate**(`program`): `void` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `program` | `Program` | + +#### Returns + +`void` + +___ + +### $removed + +▸ **$removed**(`context`, `t`, `v`): `void` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `context` | `DecoratorContext` | +| `t` | `Type` | +| `v` | `EnumMember` | + +#### Returns + +`void` + +___ + +### $renamedFrom + +▸ **$renamedFrom**(`context`, `t`, `v`, `oldName`): `void` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `context` | `DecoratorContext` | +| `t` | `Type` | +| `v` | `EnumMember` | +| `oldName` | `string` | + +#### Returns + +`void` + +___ + +### $returnTypeChangedFrom + +▸ **$returnTypeChangedFrom**(`context`, `op`, `v`, `oldReturnType`): `void` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `context` | `DecoratorContext` | +| `op` | `Operation` | +| `v` | `EnumMember` | +| `oldReturnType` | `any` | + +#### Returns + +`void` + +___ + +### $typeChangedFrom + +▸ **$typeChangedFrom**(`context`, `prop`, `v`, `oldType`): `void` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `context` | `DecoratorContext` | +| `prop` | `ModelProperty` | +| `v` | `EnumMember` | +| `oldType` | `any` | + +#### Returns + +`void` + +___ + +### $useDependency + +▸ **$useDependency**(`context`, `target`, `...versionRecords`): `void` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `context` | `DecoratorContext` | +| `target` | `EnumMember` \| `Namespace` | +| `...versionRecords` | `EnumMember`[] | + +#### Returns + +`void` + +___ + +### $versioned + +▸ **$versioned**(`context`, `t`, `versions`): `void` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `context` | `DecoratorContext` | +| `t` | `Namespace` | +| `versions` | `Enum` | + +#### Returns + +`void` + +___ + +### buildVersionProjections + +▸ **buildVersionProjections**(`program`, `rootNs`): `VersionProjections`[] + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `program` | `Program` | +| `rootNs` | `Namespace` | + +#### Returns + +`VersionProjections`[] + +___ + +### existsAtVersion + +▸ **existsAtVersion**(`p`, `type`, `versionKey`): `boolean` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `type` | `Type` | +| `versionKey` | `ObjectType` | + +#### Returns + +`boolean` + +___ + +### findVersionedNamespace + +▸ **findVersionedNamespace**(`program`, `namespace`): `Namespace` \| `undefined` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `program` | `Program` | +| `namespace` | `Namespace` | + +#### Returns + +`Namespace` \| `undefined` + +___ + +### getAddedOnVersions + +▸ **getAddedOnVersions**(`p`, `t`): [`Version`](interfaces/Version.md)[] \| `undefined` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `t` | `Type` | + +#### Returns + +[`Version`](interfaces/Version.md)[] \| `undefined` + +___ + +### getAvailabilityMap + +▸ **getAvailabilityMap**(`program`, `type`): `Map`<`string`, [`Availability`](enums/Availability.md)\> \| `undefined` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `program` | `Program` | +| `type` | `Type` | + +#### Returns + +`Map`<`string`, [`Availability`](enums/Availability.md)\> \| `undefined` + +___ + +### getAvailabilityMapInTimeline + +▸ **getAvailabilityMapInTimeline**(`program`, `type`, `timeline`): `Map`<`TimelineMoment`, [`Availability`](enums/Availability.md)\> \| `undefined` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `program` | `Program` | +| `type` | `Type` | +| `timeline` | `VersioningTimeline` | + +#### Returns + +`Map`<`TimelineMoment`, [`Availability`](enums/Availability.md)\> \| `undefined` + +___ + +### getMadeOptionalOn + +▸ **getMadeOptionalOn**(`p`, `t`): [`Version`](interfaces/Version.md) \| `undefined` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `t` | `Type` | + +#### Returns + +[`Version`](interfaces/Version.md) \| `undefined` + +version when the given type was made optional if applicable. + +___ + +### getNameAtVersion + +▸ **getNameAtVersion**(`p`, `t`, `versionKey`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `t` | `Type` | +| `versionKey` | `ObjectType` | + +#### Returns + +`string` + +get old name if applicable. + +___ + +### getRemovedOnVersions + +▸ **getRemovedOnVersions**(`p`, `t`): [`Version`](interfaces/Version.md)[] \| `undefined` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `t` | `Type` | + +#### Returns + +[`Version`](interfaces/Version.md)[] \| `undefined` + +___ + +### getRenamedFromVersions + +▸ **getRenamedFromVersions**(`p`, `t`): [`Version`](interfaces/Version.md)[] \| `undefined` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `t` | `Type` | + +#### Returns + +[`Version`](interfaces/Version.md)[] \| `undefined` + +the list of versions for which this decorator has been applied + +___ + +### getReturnTypeBeforeVersion + +▸ **getReturnTypeBeforeVersion**(`p`, `t`, `versionKey`): `any` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `t` | `Type` | +| `versionKey` | `ObjectType` | + +#### Returns + +`any` + +get old type if applicable. + +___ + +### getReturnTypeChangedFrom + +▸ **getReturnTypeChangedFrom**(`p`, `t`): `Map`<[`Version`](interfaces/Version.md), `Type`\> \| `undefined` + +Returns the mapping of versions to old return type values, if applicable + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `p` | `Program` | TypeSpec program | +| `t` | `Type` | type to query | + +#### Returns + +`Map`<[`Version`](interfaces/Version.md), `Type`\> \| `undefined` + +Map of versions to old types, if any + +___ + +### getTypeBeforeVersion + +▸ **getTypeBeforeVersion**(`p`, `t`, `versionKey`): `Type` \| `undefined` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `t` | `Type` | +| `versionKey` | `ObjectType` | + +#### Returns + +`Type` \| `undefined` + +get old type if applicable. + +___ + +### getTypeChangedFrom + +▸ **getTypeChangedFrom**(`p`, `t`): `Map`<[`Version`](interfaces/Version.md), `Type`\> \| `undefined` + +Returns the mapping of versions to old type values, if applicable + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `p` | `Program` | TypeSpec program | +| `t` | `Type` | type to query | + +#### Returns + +`Map`<[`Version`](interfaces/Version.md), `Type`\> \| `undefined` + +Map of versions to old types, if any + +___ + +### getUseDependencies + +▸ **getUseDependencies**(`program`, `target`, `searchEnum?`): `Map`<`Namespace`, `Map`<[`Version`](interfaces/Version.md), [`Version`](interfaces/Version.md)\> \| [`Version`](interfaces/Version.md)\> \| `undefined` + +#### Parameters + +| Name | Type | Default value | +| :------ | :------ | :------ | +| `program` | `Program` | `undefined` | +| `target` | `Enum` \| `Namespace` | `undefined` | +| `searchEnum` | `boolean` | `true` | + +#### Returns + +`Map`<`Namespace`, `Map`<[`Version`](interfaces/Version.md), [`Version`](interfaces/Version.md)\> \| [`Version`](interfaces/Version.md)\> \| `undefined` + +___ + +### getVersion + +▸ **getVersion**(`program`, `namespace`): [`VersionMap`](classes/VersionMap.md) \| `undefined` + +Get the version map of the namespace. + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `program` | `Program` | +| `namespace` | `Namespace` | + +#### Returns + +[`VersionMap`](classes/VersionMap.md) \| `undefined` + +___ + +### getVersionDependencies + +▸ **getVersionDependencies**(`program`, `namespace`): `Map`<`Namespace`, `Map`<[`Version`](interfaces/Version.md), [`Version`](interfaces/Version.md)\> \| [`Version`](interfaces/Version.md)\> \| `undefined` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `program` | `Program` | +| `namespace` | `Namespace` | + +#### Returns + +`Map`<`Namespace`, `Map`<[`Version`](interfaces/Version.md), [`Version`](interfaces/Version.md)\> \| [`Version`](interfaces/Version.md)\> \| `undefined` + +___ + +### getVersionForEnumMember + +▸ **getVersionForEnumMember**(`program`, `member`): [`Version`](interfaces/Version.md) \| `undefined` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `program` | `Program` | +| `member` | `EnumMember` | + +#### Returns + +[`Version`](interfaces/Version.md) \| `undefined` + +___ + +### getVersions + +▸ **getVersions**(`p`, `t`): [`Namespace`, [`VersionMap`](classes/VersionMap.md)] \| [] + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `t` | `Type` | + +#### Returns + +[`Namespace`, [`VersionMap`](classes/VersionMap.md)] \| [] + +___ + +### getVersionsForEnum + +▸ **getVersionsForEnum**(`program`, `en`): [`Namespace`, [`VersionMap`](classes/VersionMap.md)] \| [] + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `program` | `Program` | +| `en` | `Enum` | + +#### Returns + +[`Namespace`, [`VersionMap`](classes/VersionMap.md)] \| [] + +___ + +### hasDifferentNameAtVersion + +▸ **hasDifferentNameAtVersion**(`p`, `type`, `version`): `boolean` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `type` | `Type` | +| `version` | `ObjectType` | + +#### Returns + +`boolean` + +___ + +### hasDifferentReturnTypeAtVersion + +▸ **hasDifferentReturnTypeAtVersion**(`p`, `type`, `version`): `boolean` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `type` | `Type` | +| `version` | `ObjectType` | + +#### Returns + +`boolean` + +___ + +### hasDifferentTypeAtVersion + +▸ **hasDifferentTypeAtVersion**(`p`, `type`, `version`): `boolean` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `p` | `Program` | +| `type` | `Type` | +| `version` | `ObjectType` | + +#### Returns + +`boolean` + +___ + +### indexTimeline + +▸ **indexTimeline**(`program`, `timeline`, `projectingMoment`): `ObjectType` & `TypePrototype` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `program` | `Program` | +| `timeline` | `VersioningTimeline` | +| `projectingMoment` | `TimelineMoment` | + +#### Returns + +`ObjectType` & `TypePrototype` + +___ + +### madeOptionalAfter + +▸ **madeOptionalAfter**(`program`, `type`, `versionKey`): `boolean` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `program` | `Program` | +| `type` | `Type` | +| `versionKey` | `ObjectType` | + +#### Returns + +`boolean` + +___ + +### resolveVersions + +▸ **resolveVersions**(`program`, `rootNs`): [`VersionResolution`](interfaces/VersionResolution.md)[] + +Resolve the version to use for all namespace for each of the root namespace versions. + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `program` | `Program` | | +| `rootNs` | `Namespace` | Root namespace. | + +#### Returns + +[`VersionResolution`](interfaces/VersionResolution.md)[] diff --git a/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/interfaces/Version.md b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/interfaces/Version.md new file mode 100644 index 00000000000..de7d15fa454 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/interfaces/Version.md @@ -0,0 +1,43 @@ +[JS Api](../index.md) / Version + +# Interface: Version + +## Table of contents + +### Properties + +- [enumMember](Version.md#enummember) +- [index](Version.md#index) +- [name](Version.md#name) +- [namespace](Version.md#namespace) +- [value](Version.md#value) + +## Properties + +### enumMember + +• **enumMember**: `EnumMember` + +___ + +### index + +• **index**: `number` + +___ + +### name + +• **name**: `string` + +___ + +### namespace + +• **namespace**: `Namespace` + +___ + +### value + +• **value**: `string` diff --git a/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/interfaces/VersionResolution.md b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/interfaces/VersionResolution.md new file mode 100644 index 00000000000..b3d520790bb --- /dev/null +++ b/packages/website/versioned_docs/version-latest/standard-library/versioning/reference/js-api/interfaces/VersionResolution.md @@ -0,0 +1,26 @@ +[JS Api](../index.md) / VersionResolution + +# Interface: VersionResolution + +## Table of contents + +### Properties + +- [rootVersion](VersionResolution.md#rootversion) +- [versions](VersionResolution.md#versions) + +## Properties + +### rootVersion + +• **rootVersion**: `undefined` \| [`Version`](Version.md) + +Version for the root namespace. `undefined` if not versioned. + +___ + +### versions + +• **versions**: `Map`<`Namespace`, [`Version`](Version.md)\> + +Resolved version for all the referenced namespaces. diff --git a/packages/website/versioned_sidebars/version-latest-sidebars.json b/packages/website/versioned_sidebars/version-latest-sidebars.json index b231cd6b8f4..5614ed767dc 100644 --- a/packages/website/versioned_sidebars/version-latest-sidebars.json +++ b/packages/website/versioned_sidebars/version-latest-sidebars.json @@ -9,6 +9,7 @@ "introduction/usage", "introduction/style-guide", "introduction/formatter", + "introduction/reproducibility", { "type": "category", "label": "Configuration", @@ -34,6 +35,7 @@ "label": "Language Basics", "items": [ "language-basics/overview", + "language-basics/built-in-types", "language-basics/imports", "language-basics/namespaces", "language-basics/decorators", @@ -54,12 +56,37 @@ "type": "category", "label": "TypeSpec Standard Library", "items": [ - "standard-library/built-in-types", "standard-library/built-in-decorators", + { + "type": "autogenerated", + "dirName": "standard-library/reference" + }, "standard-library/projected-names", { "type": "category", - "label": "Http And Rest", + "label": "Http", + "items": [ + "standard-library/http/overview", + { + "type": "category", + "label": "Reference", + "link": { + "type": "doc", + "id": "standard-library/http/reference/index" + }, + "items": [ + { + "type": "autogenerated", + "dirName": "standard-library/http/reference" + } + ] + }, + "standard-library/http/authentication" + ] + }, + { + "type": "category", + "label": "Rest", "items": [ "standard-library/rest/overview", { @@ -77,7 +104,6 @@ ] }, "standard-library/rest/operations", - "standard-library/rest/authentication", "standard-library/rest/resource-routing" ] }, @@ -103,6 +129,27 @@ }, "standard-library/openapi/openapi" ] + }, + { + "type": "category", + "label": "Versioning", + "items": [ + "standard-library/versioning/overview", + { + "type": "category", + "label": "Reference", + "link": { + "type": "doc", + "id": "standard-library/versioning/reference/index" + }, + "items": [ + { + "type": "autogenerated", + "dirName": "standard-library/versioning/reference" + } + ] + } + ] } ] }, @@ -119,20 +166,6 @@ "extending-typespec/writing-scaffolding-template" ] }, - { - "type": "category", - "label": "Compiler Reference", - "link": { - "type": "doc", - "id": "compiler/reference/index" - }, - "items": [ - { - "type": "autogenerated", - "dirName": "compiler" - } - ] - }, { "type": "category", "label": "Release Notes", From 1f74f7a6b0828e42b8fcfa0f371c02b766fcdc22 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Tue, 11 Apr 2023 13:04:01 -0500 Subject: [PATCH 2/4] Add versioned counterpart to .prettierignore --- .prettierignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.prettierignore b/.prettierignore index 362fe4aee74..bdd8dbc70e2 100644 --- a/.prettierignore +++ b/.prettierignore @@ -35,6 +35,7 @@ spec.emu.html docs/**/reference/ docs/standard-library/built-in-decorators.md packages/website/versioned_docs/**/reference/ +packages/website/versioned_docs/**/standard-library/built-in-decorators.md #.tsp init template eng/feeds/ From a0431f50a719bb7db46111d93b0161996e48bdd5 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Tue, 11 Apr 2023 14:06:36 -0500 Subject: [PATCH 3/4] Release notes --- docs/release-notes/release-2022-04-11.md | 61 +++++++++++++++++++ .../release-notes/release-2022-04-11.md | 61 +++++++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 docs/release-notes/release-2022-04-11.md create mode 100644 packages/website/versioned_docs/version-latest/release-notes/release-2022-04-11.md diff --git a/docs/release-notes/release-2022-04-11.md b/docs/release-notes/release-2022-04-11.md new file mode 100644 index 00000000000..a8695447321 --- /dev/null +++ b/docs/release-notes/release-2022-04-11.md @@ -0,0 +1,61 @@ +--- +title: April 2023 +--- + +# Release Notes April 2023 (2023-04-11) + +:::danger +This release contains **breaking changes** +::: + +## Breaking Changes + +### Versioning + +Removed deprecated versioning symbols. + +- Removed `@versionedDependency` decorator. Use `@useDependency` instead. +- Removed `getRenamedFromVersion`. Use `getRenamedFromVersions` instead. +- Removed `getRenamedFromOldName`. Use `getNameAtVersion` instead. +- Removed `getAddedOn`, `addedAfter`, `getRemovedOn` and `removedOnOrBefore`. Use `existsAtVersion` instead. +- Removed `renamedAfter`. Use `hasDifferentNameAtVersion` instead. + +### Removed `zonedDateTime` and replaced with `utcDateTime` and `offsetDateTime` + +To disambiguate important time concepts and encourage best practice behavior in representing date-time types we +removed `zonedDateTime` which was being used to represent a time with offset, and replaced it with two new types that are more precisely defined: + +- `utcDateTime` which represents a precise instant in time. This type should be used to represent time values given in coordinated universal time (UTC) and unix timestamps. This is the preferred mechanism for capturing dateTime in most service specifications. +- `offsetDateTime` which represents a time with offset. Note that while this time contains an offset from UTC, it does not contain any additional time zone information. + +#### Change instances of `zonedDateTime` to `utcDateTime` + +##### Old + +```typespec +model MyModel { + createdAt: zonedDateTime; +} +``` + +#### New + +```typespec +model MyModel { + createdAt: utcDateTime; +} +``` + +#### Use the (experimental) Migration tool to make this change + +The (experimental) migration tool will automatically migrate instances of `zonedDateTime` to `utcDateTime`. To perform all migrations in a TypeSpec or Cadl specification package, execute: + +```typespec +npx @typespec/migrate +``` + +If you would like to execute from a different folder or don't have a package.json that indicates compiler package versions, please see command line options: + +```typespec +npx @typespec/migrate --help +``` diff --git a/packages/website/versioned_docs/version-latest/release-notes/release-2022-04-11.md b/packages/website/versioned_docs/version-latest/release-notes/release-2022-04-11.md new file mode 100644 index 00000000000..a8695447321 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/release-notes/release-2022-04-11.md @@ -0,0 +1,61 @@ +--- +title: April 2023 +--- + +# Release Notes April 2023 (2023-04-11) + +:::danger +This release contains **breaking changes** +::: + +## Breaking Changes + +### Versioning + +Removed deprecated versioning symbols. + +- Removed `@versionedDependency` decorator. Use `@useDependency` instead. +- Removed `getRenamedFromVersion`. Use `getRenamedFromVersions` instead. +- Removed `getRenamedFromOldName`. Use `getNameAtVersion` instead. +- Removed `getAddedOn`, `addedAfter`, `getRemovedOn` and `removedOnOrBefore`. Use `existsAtVersion` instead. +- Removed `renamedAfter`. Use `hasDifferentNameAtVersion` instead. + +### Removed `zonedDateTime` and replaced with `utcDateTime` and `offsetDateTime` + +To disambiguate important time concepts and encourage best practice behavior in representing date-time types we +removed `zonedDateTime` which was being used to represent a time with offset, and replaced it with two new types that are more precisely defined: + +- `utcDateTime` which represents a precise instant in time. This type should be used to represent time values given in coordinated universal time (UTC) and unix timestamps. This is the preferred mechanism for capturing dateTime in most service specifications. +- `offsetDateTime` which represents a time with offset. Note that while this time contains an offset from UTC, it does not contain any additional time zone information. + +#### Change instances of `zonedDateTime` to `utcDateTime` + +##### Old + +```typespec +model MyModel { + createdAt: zonedDateTime; +} +``` + +#### New + +```typespec +model MyModel { + createdAt: utcDateTime; +} +``` + +#### Use the (experimental) Migration tool to make this change + +The (experimental) migration tool will automatically migrate instances of `zonedDateTime` to `utcDateTime`. To perform all migrations in a TypeSpec or Cadl specification package, execute: + +```typespec +npx @typespec/migrate +``` + +If you would like to execute from a different folder or don't have a package.json that indicates compiler package versions, please see command line options: + +```typespec +npx @typespec/migrate --help +``` From d69670543c5f035d401600f6a44c2b061dc2b73e Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Tue, 11 Apr 2023 14:39:27 -0500 Subject: [PATCH 4/4] Update release notes --- docs/release-notes/release-2022-04-11.md | 67 +++++++++++++++++-- .../release-notes/release-2022-04-11.md | 67 +++++++++++++++++-- 2 files changed, 122 insertions(+), 12 deletions(-) diff --git a/docs/release-notes/release-2022-04-11.md b/docs/release-notes/release-2022-04-11.md index a8695447321..6f0fa537708 100644 --- a/docs/release-notes/release-2022-04-11.md +++ b/docs/release-notes/release-2022-04-11.md @@ -8,11 +8,58 @@ title: April 2023 This release contains **breaking changes** ::: -## Breaking Changes +## New Features + +### @typespec/compiler + +- Emit diagnostic when ambiguous symbol exists between global and usings +- Add support for referencing metatypes ModelProperty `::type` and Operation `::returnType` and `::parameters` +- Relax constraint on derived type overrides +- Prevent use of augment decorators on instantiated templates. +- Allow projectedNames helpers to work with previous projections +- Add helper `interpolatePath` for emitter to do additional interpolation on config properties +- Api: Update `getTypeName` to omit standard library namespace +- Allow overloads in interfaces to work under projection +- Add pre-projection support +- Provide access to extended interfaces in type graph +- Document member ordering and fix projection rename reordering + +### @typespec/openapi3 + +- Support shared routes +- Update to use new `interpolatePath` logic to resolve the `output-file` + +### @typespec/migrate + +- Add migrate script for zonedDateTime +- Add migration script for `@header` and `@query` format required + +## Bug Fixes + +### @typespec/compiler + +- Fix: emitter framework will now visit scalar declarations +- Fix: Alias unknown ref crash +- Fix: Empty model expression assignable to array +- Fix: `tsp code uninstall` not finding extension to uninstall +- Fix: Issue where template parameter type check wouldn't work if constraint is exact same type as next validation + +### @typespec/rest + +- Fix: Issue where `@action("")` was treated the same as `@action`. Now this emits an error. -### Versioning +### @typespec/versioning -Removed deprecated versioning symbols. +- Fix: Issue with using version as a template parameter across different namespaces. Includes a significant change in the versioning library internals. +- Fix:Use pre-projections to fix issues with versioned resources. + +### VS Code extension + +- Fix: Highlighting of TypeSpec code blocks in markdown. + +## Breaking Changes + +### @typespec/versioning: Removed deprecated versioning symbols. - Removed `@versionedDependency` decorator. Use `@useDependency` instead. - Removed `getRenamedFromVersion`. Use `getRenamedFromVersions` instead. @@ -20,7 +67,7 @@ Removed deprecated versioning symbols. - Removed `getAddedOn`, `addedAfter`, `getRemovedOn` and `removedOnOrBefore`. Use `existsAtVersion` instead. - Removed `renamedAfter`. Use `hasDifferentNameAtVersion` instead. -### Removed `zonedDateTime` and replaced with `utcDateTime` and `offsetDateTime` +### @typespec/compiler: Removed `zonedDateTime` and replaced with `utcDateTime` and `offsetDateTime` To disambiguate important time concepts and encourage best practice behavior in representing date-time types we removed `zonedDateTime` which was being used to represent a time with offset, and replaced it with two new types that are more precisely defined: @@ -50,12 +97,20 @@ model MyModel { The (experimental) migration tool will automatically migrate instances of `zonedDateTime` to `utcDateTime`. To perform all migrations in a TypeSpec or Cadl specification package, execute: -```typespec +```bash npx @typespec/migrate ``` If you would like to execute from a different folder or don't have a package.json that indicates compiler package versions, please see command line options: -```typespec +```bash npx @typespec/migrate --help ``` + +### @typespec/http: Removed header and query default format + +`@header` and `@query` no longer default the `format` to `csv` and `multi` respectively. A value must now be provided when the type is an array. The migration tool can also be used to make this change. + +### @typespec/lint: Removed global state + +Rules from another library can no longer be enabled on a LibraryLinter. diff --git a/packages/website/versioned_docs/version-latest/release-notes/release-2022-04-11.md b/packages/website/versioned_docs/version-latest/release-notes/release-2022-04-11.md index a8695447321..6f0fa537708 100644 --- a/packages/website/versioned_docs/version-latest/release-notes/release-2022-04-11.md +++ b/packages/website/versioned_docs/version-latest/release-notes/release-2022-04-11.md @@ -8,11 +8,58 @@ title: April 2023 This release contains **breaking changes** ::: -## Breaking Changes +## New Features + +### @typespec/compiler + +- Emit diagnostic when ambiguous symbol exists between global and usings +- Add support for referencing metatypes ModelProperty `::type` and Operation `::returnType` and `::parameters` +- Relax constraint on derived type overrides +- Prevent use of augment decorators on instantiated templates. +- Allow projectedNames helpers to work with previous projections +- Add helper `interpolatePath` for emitter to do additional interpolation on config properties +- Api: Update `getTypeName` to omit standard library namespace +- Allow overloads in interfaces to work under projection +- Add pre-projection support +- Provide access to extended interfaces in type graph +- Document member ordering and fix projection rename reordering + +### @typespec/openapi3 + +- Support shared routes +- Update to use new `interpolatePath` logic to resolve the `output-file` + +### @typespec/migrate + +- Add migrate script for zonedDateTime +- Add migration script for `@header` and `@query` format required + +## Bug Fixes + +### @typespec/compiler + +- Fix: emitter framework will now visit scalar declarations +- Fix: Alias unknown ref crash +- Fix: Empty model expression assignable to array +- Fix: `tsp code uninstall` not finding extension to uninstall +- Fix: Issue where template parameter type check wouldn't work if constraint is exact same type as next validation + +### @typespec/rest + +- Fix: Issue where `@action("")` was treated the same as `@action`. Now this emits an error. -### Versioning +### @typespec/versioning -Removed deprecated versioning symbols. +- Fix: Issue with using version as a template parameter across different namespaces. Includes a significant change in the versioning library internals. +- Fix:Use pre-projections to fix issues with versioned resources. + +### VS Code extension + +- Fix: Highlighting of TypeSpec code blocks in markdown. + +## Breaking Changes + +### @typespec/versioning: Removed deprecated versioning symbols. - Removed `@versionedDependency` decorator. Use `@useDependency` instead. - Removed `getRenamedFromVersion`. Use `getRenamedFromVersions` instead. @@ -20,7 +67,7 @@ Removed deprecated versioning symbols. - Removed `getAddedOn`, `addedAfter`, `getRemovedOn` and `removedOnOrBefore`. Use `existsAtVersion` instead. - Removed `renamedAfter`. Use `hasDifferentNameAtVersion` instead. -### Removed `zonedDateTime` and replaced with `utcDateTime` and `offsetDateTime` +### @typespec/compiler: Removed `zonedDateTime` and replaced with `utcDateTime` and `offsetDateTime` To disambiguate important time concepts and encourage best practice behavior in representing date-time types we removed `zonedDateTime` which was being used to represent a time with offset, and replaced it with two new types that are more precisely defined: @@ -50,12 +97,20 @@ model MyModel { The (experimental) migration tool will automatically migrate instances of `zonedDateTime` to `utcDateTime`. To perform all migrations in a TypeSpec or Cadl specification package, execute: -```typespec +```bash npx @typespec/migrate ``` If you would like to execute from a different folder or don't have a package.json that indicates compiler package versions, please see command line options: -```typespec +```bash npx @typespec/migrate --help ``` + +### @typespec/http: Removed header and query default format + +`@header` and `@query` no longer default the `format` to `csv` and `multi` respectively. A value must now be provided when the type is an array. The migration tool can also be used to make this change. + +### @typespec/lint: Removed global state + +Rules from another library can no longer be enabled on a LibraryLinter.