@azure/digital-twins-core 2.0.0-alpha.20241028.1 → 2.0.0-alpha.20241030.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/generated/pagingHelper.ts","../src/generated/models/mappers.ts","../src/generated/models/parameters.ts","../src/generated/operations/digitalTwinModels.ts","../src/generated/operations/query.ts","../src/generated/operations/digitalTwins.ts","../src/generated/operations/eventRoutes.ts","../src/generated/azureDigitalTwinsAPI.ts","../src/constants.ts","../src/tracing.ts","../src/logger.ts","../src/digitalTwinsClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport interface PageInfo {\n continuationToken?: string;\n}\n\nconst pageMap = new WeakMap<object, PageInfo>();\n\n/**\n * Given the last `.value` produced by the `byPage` iterator,\n * returns a continuation token that can be used to begin paging from\n * that point later.\n * @param page An object from accessing `value` on the IteratorResult from a `byPage` iterator.\n * @returns The continuation token that can be passed into byPage() during future calls.\n */\nexport function getContinuationToken(page: unknown): string | undefined {\n if (typeof page !== \"object\" || page === null) {\n return undefined;\n }\n return pageMap.get(page)?.continuationToken;\n}\n\nexport function setContinuationToken(\n page: unknown,\n continuationToken: string | undefined\n): void {\n if (typeof page !== \"object\" || page === null || !continuationToken) {\n return;\n }\n const pageInfo = pageMap.get(page) ?? {};\n pageInfo.continuationToken = continuationToken;\n pageMap.set(page, pageInfo);\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const DigitalTwinsModelData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsModelData\",\n modelProperties: {\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n uploadTime: {\n serializedName: \"uploadTime\",\n type: {\n name: \"DateTime\"\n }\n },\n decommissioned: {\n defaultValue: false,\n serializedName: \"decommissioned\",\n type: {\n name: \"Boolean\"\n }\n },\n model: {\n serializedName: \"model\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const ErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorModel\"\n }\n }\n }\n }\n};\n\nexport const ErrorModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorModel\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ErrorModel\"\n }\n }\n }\n },\n innererror: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"InnerError\"\n }\n }\n }\n }\n};\n\nexport const InnerError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InnerError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n innererror: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"InnerError\"\n }\n }\n }\n }\n};\n\nexport const PagedDigitalTwinsModelDataCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PagedDigitalTwinsModelDataCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsModelData\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const QuerySpecification: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"QuerySpecification\",\n modelProperties: {\n query: {\n serializedName: \"query\",\n type: {\n name: \"String\"\n }\n },\n continuationToken: {\n serializedName: \"continuationToken\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const QueryResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"QueryResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n },\n continuationToken: {\n serializedName: \"continuationToken\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RelationshipCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RelationshipCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const IncomingRelationshipCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IncomingRelationshipCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"IncomingRelationship\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const IncomingRelationship: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IncomingRelationship\",\n modelProperties: {\n relationshipId: {\n serializedName: \"$relationshipId\",\n type: {\n name: \"String\"\n }\n },\n sourceId: {\n serializedName: \"$sourceId\",\n type: {\n name: \"String\"\n }\n },\n relationshipName: {\n serializedName: \"$relationshipName\",\n type: {\n name: \"String\"\n }\n },\n relationshipLink: {\n serializedName: \"$relationshipLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const EventRouteCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"EventRouteCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"EventRoute\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const EventRoute: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"EventRoute\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n endpointName: {\n serializedName: \"endpointName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n filter: {\n serializedName: \"filter\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const QueryQueryTwinsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"QueryQueryTwinsHeaders\",\n modelProperties: {\n queryCharge: {\n serializedName: \"query-charge\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsGetByIdHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsGetByIdHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsAddHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsAddHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsUpdateHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsUpdateHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsGetRelationshipByIdHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsGetRelationshipByIdHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsAddRelationshipHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsAddRelationshipHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsUpdateRelationshipHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsUpdateRelationshipHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsGetComponentHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsGetComponentHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsUpdateComponentHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsUpdateComponentHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n QuerySpecification as QuerySpecificationMapper,\n EventRoute as EventRouteMapper\n} from \"../models/mappers\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const models: OperationParameter = {\n parameterPath: [\"options\", \"models\"],\n mapper: {\n constraints: {\n MinItems: 1,\n UniqueItems: true\n },\n serializedName: \"models\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const $host: OperationURLParameter = {\n parameterPath: \"$host\",\n mapper: {\n serializedName: \"$host\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2020-10-31\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const dependenciesFor: OperationQueryParameter = {\n parameterPath: [\"options\", \"dependenciesFor\"],\n mapper: {\n serializedName: \"dependenciesFor\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"Multi\"\n};\n\nexport const includeModelDefinition: OperationQueryParameter = {\n parameterPath: [\"options\", \"includeModelDefinition\"],\n mapper: {\n defaultValue: false,\n serializedName: \"includeModelDefinition\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const resultsPerPage: OperationParameter = {\n parameterPath: [\"options\", \"resultsPerPage\"],\n mapper: {\n serializedName: \"max-items-per-page\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const id: OperationURLParameter = {\n parameterPath: \"id\",\n mapper: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType1: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json-patch+json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const updateModel: OperationParameter = {\n parameterPath: \"updateModel\",\n mapper: {\n serializedName: \"updateModel\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const querySpecification: OperationParameter = {\n parameterPath: \"querySpecification\",\n mapper: QuerySpecificationMapper\n};\n\nexport const twin: OperationParameter = {\n parameterPath: \"twin\",\n mapper: {\n serializedName: \"twin\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n};\n\nexport const ifNoneMatch: OperationParameter = {\n parameterPath: [\"options\", \"ifNoneMatch\"],\n mapper: {\n serializedName: \"If-None-Match\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const ifMatch: OperationParameter = {\n parameterPath: [\"options\", \"ifMatch\"],\n mapper: {\n serializedName: \"If-Match\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const patchDocument: OperationParameter = {\n parameterPath: \"patchDocument\",\n mapper: {\n serializedName: \"patchDocument\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const relationshipId: OperationURLParameter = {\n parameterPath: \"relationshipId\",\n mapper: {\n serializedName: \"relationshipId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const relationship: OperationParameter = {\n parameterPath: \"relationship\",\n mapper: {\n serializedName: \"relationship\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n};\n\nexport const relationshipName: OperationQueryParameter = {\n parameterPath: [\"options\", \"relationshipName\"],\n mapper: {\n serializedName: \"relationshipName\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const telemetry: OperationParameter = {\n parameterPath: \"telemetry\",\n mapper: {\n serializedName: \"telemetry\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n};\n\nexport const messageId: OperationParameter = {\n parameterPath: \"messageId\",\n mapper: {\n serializedName: \"Message-Id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const telemetrySourceTime: OperationParameter = {\n parameterPath: [\"options\", \"telemetrySourceTime\"],\n mapper: {\n serializedName: \"Telemetry-Source-Time\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const componentPath: OperationURLParameter = {\n parameterPath: \"componentPath\",\n mapper: {\n serializedName: \"componentPath\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const eventRoute: OperationParameter = {\n parameterPath: [\"options\", \"eventRoute\"],\n mapper: EventRouteMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper\";\nimport { DigitalTwinModels } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { AzureDigitalTwinsAPI } from \"../azureDigitalTwinsAPI\";\nimport {\n DigitalTwinsModelData,\n DigitalTwinModelsListNextOptionalParams,\n DigitalTwinModelsListOptionalParams,\n DigitalTwinModelsListResponse,\n DigitalTwinModelsAddOptionalParams,\n DigitalTwinModelsAddResponse,\n DigitalTwinModelsGetByIdOptionalParams,\n DigitalTwinModelsGetByIdResponse,\n DigitalTwinModelsUpdateOptionalParams,\n DigitalTwinModelsDeleteOptionalParams,\n DigitalTwinModelsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing DigitalTwinModels operations. */\nexport class DigitalTwinModelsImpl implements DigitalTwinModels {\n private readonly client: AzureDigitalTwinsAPI;\n\n /**\n * Initialize a new instance of the class DigitalTwinModels class.\n * @param client Reference to the service client\n */\n constructor(client: AzureDigitalTwinsAPI) {\n this.client = client;\n }\n\n /**\n * Retrieves model metadata and, optionally, model definitions.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The model id is invalid.\n * * LimitExceeded - The maximum number of model ids allowed in 'dependenciesFor' has been reached.\n * * 404 Not Found\n * * ModelNotFound - The model was not found.\n * @param options The options parameters.\n */\n public list(\n options?: DigitalTwinModelsListOptionalParams\n ): PagedAsyncIterableIterator<DigitalTwinsModelData> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listPagingPage(options, settings);\n }\n };\n }\n\n private async *listPagingPage(\n options?: DigitalTwinModelsListOptionalParams,\n settings?: PageSettings\n ): AsyncIterableIterator<DigitalTwinsModelData[]> {\n let result: DigitalTwinModelsListResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._list(options);\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listPagingAll(\n options?: DigitalTwinModelsListOptionalParams\n ): AsyncIterableIterator<DigitalTwinsModelData> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Uploads one or more models. When any error occurs, no models are uploaded.\n * Status codes:\n * * 201 Created\n * * 400 Bad Request\n * * DTDLParserError - The models provided are not valid DTDL.\n * * InvalidArgument - The model id is invalid.\n * * LimitExceeded - The maximum number of model ids allowed in 'dependenciesFor' has been reached.\n * * ModelVersionNotSupported - The version of DTDL used is not supported.\n * * 409 Conflict\n * * ModelAlreadyExists - The model provided already exists.\n * @param options The options parameters.\n */\n add(\n options?: DigitalTwinModelsAddOptionalParams\n ): Promise<DigitalTwinModelsAddResponse> {\n return this.client.sendOperationRequest({ options }, addOperationSpec);\n }\n\n /**\n * Retrieves model metadata and, optionally, model definitions.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The model id is invalid.\n * * LimitExceeded - The maximum number of model ids allowed in 'dependenciesFor' has been reached.\n * * 404 Not Found\n * * ModelNotFound - The model was not found.\n * @param options The options parameters.\n */\n private _list(\n options?: DigitalTwinModelsListOptionalParams\n ): Promise<DigitalTwinModelsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Retrieves model metadata and optionally the model definition.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The model id is invalid.\n * * MissingArgument - The model id was not provided.\n * * 404 Not Found\n * * ModelNotFound - The model was not found.\n * @param id The id for the model. The id is globally unique and case sensitive.\n * @param options The options parameters.\n */\n getById(\n id: string,\n options?: DigitalTwinModelsGetByIdOptionalParams\n ): Promise<DigitalTwinModelsGetByIdResponse> {\n return this.client.sendOperationRequest(\n { id, options },\n getByIdOperationSpec\n );\n }\n\n /**\n * Updates the metadata for a model.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The model id is invalid.\n * * JsonPatchInvalid - The JSON Patch provided is invalid.\n * * MissingArgument - The model id was not provided.\n * * 404 Not Found\n * * ModelNotFound - The model was not found.\n * * 409 Conflict\n * * ModelReferencesNotDecommissioned - The model refers to models that are not decommissioned.\n * @param id The id for the model. The id is globally unique and case sensitive.\n * @param updateModel An update specification described by JSON Patch. Only the decommissioned property\n * can be replaced.\n * @param options The options parameters.\n */\n update(\n id: string,\n updateModel: Record<string, unknown>[],\n options?: DigitalTwinModelsUpdateOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, updateModel, options },\n updateOperationSpec\n );\n }\n\n /**\n * Deletes a model. A model can only be deleted if no other models reference it.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The model id is invalid.\n * * MissingArgument - The model id was not provided.\n * * 404 Not Found\n * * ModelNotFound - The model was not found.\n * * 409 Conflict\n * * ModelReferencesNotDeleted - The model refers to models that are not deleted.\n * @param id The id for the model. The id is globally unique and case sensitive.\n * @param options The options parameters.\n */\n delete(\n id: string,\n options?: DigitalTwinModelsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: DigitalTwinModelsListNextOptionalParams\n ): Promise<DigitalTwinModelsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst addOperationSpec: coreClient.OperationSpec = {\n path: \"/models\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: {\n type: {\n name: \"Sequence\",\n element: {\n type: { name: \"Composite\", className: \"DigitalTwinsModelData\" }\n }\n }\n }\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.models,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/models\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PagedDigitalTwinsModelDataCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.dependenciesFor,\n Parameters.includeModelDefinition\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept, Parameters.resultsPerPage],\n serializer\n};\nconst getByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/models/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DigitalTwinsModelData\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeModelDefinition],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path: \"/models/{id}\",\n httpMethod: \"PATCH\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.updateModel,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/models/{id}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PagedDigitalTwinsModelDataCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept, Parameters.resultsPerPage],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Query } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { AzureDigitalTwinsAPI } from \"../azureDigitalTwinsAPI\";\nimport {\n QuerySpecification,\n QueryQueryTwinsOptionalParams,\n QueryQueryTwinsResponse\n} from \"../models\";\n\n/** Class containing Query operations. */\nexport class QueryImpl implements Query {\n private readonly client: AzureDigitalTwinsAPI;\n\n /**\n * Initialize a new instance of the class Query class.\n * @param client Reference to the service client\n */\n constructor(client: AzureDigitalTwinsAPI) {\n this.client = client;\n }\n\n /**\n * Executes a query that allows traversing relationships and filtering by property values.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * BadRequest - The continuation token is invalid.\n * * SqlQueryError - The query contains some errors.\n * * TimeoutError - The query execution timed out after 60 seconds. Try simplifying the query or\n * adding conditions to reduce the result size.\n * * 429 Too Many Requests\n * * QuotaReachedError - The maximum query rate limit has been reached.\n * @param querySpecification The query specification to execute.\n * @param options The options parameters.\n */\n queryTwins(\n querySpecification: QuerySpecification,\n options?: QueryQueryTwinsOptionalParams\n ): Promise<QueryQueryTwinsResponse> {\n return this.client.sendOperationRequest(\n { querySpecification, options },\n queryTwinsOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst queryTwinsOperationSpec: coreClient.OperationSpec = {\n path: \"/query\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.QueryResult,\n headersMapper: Mappers.QueryQueryTwinsHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.querySpecification,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.resultsPerPage\n ],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper\";\nimport { DigitalTwins } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { AzureDigitalTwinsAPI } from \"../azureDigitalTwinsAPI\";\nimport {\n DigitalTwinsListRelationshipsNextOptionalParams,\n DigitalTwinsListRelationshipsOptionalParams,\n DigitalTwinsListRelationshipsResponse,\n IncomingRelationship,\n DigitalTwinsListIncomingRelationshipsNextOptionalParams,\n DigitalTwinsListIncomingRelationshipsOptionalParams,\n DigitalTwinsListIncomingRelationshipsResponse,\n DigitalTwinsGetByIdOptionalParams,\n DigitalTwinsGetByIdResponse,\n DigitalTwinsAddOptionalParams,\n DigitalTwinsAddResponse,\n DigitalTwinsDeleteOptionalParams,\n DigitalTwinsUpdateOptionalParams,\n DigitalTwinsUpdateResponse,\n DigitalTwinsGetRelationshipByIdOptionalParams,\n DigitalTwinsGetRelationshipByIdResponse,\n DigitalTwinsAddRelationshipOptionalParams,\n DigitalTwinsAddRelationshipResponse,\n DigitalTwinsDeleteRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipResponse,\n DigitalTwinsSendTelemetryOptionalParams,\n DigitalTwinsSendComponentTelemetryOptionalParams,\n DigitalTwinsGetComponentOptionalParams,\n DigitalTwinsGetComponentResponse,\n DigitalTwinsUpdateComponentOptionalParams,\n DigitalTwinsUpdateComponentResponse,\n DigitalTwinsListRelationshipsNextResponse,\n DigitalTwinsListIncomingRelationshipsNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing DigitalTwins operations. */\nexport class DigitalTwinsImpl implements DigitalTwins {\n private readonly client: AzureDigitalTwinsAPI;\n\n /**\n * Initialize a new instance of the class DigitalTwins class.\n * @param client Reference to the service client\n */\n constructor(client: AzureDigitalTwinsAPI) {\n this.client = client;\n }\n\n /**\n * Retrieves the relationships from a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n public listRelationships(\n id: string,\n options?: DigitalTwinsListRelationshipsOptionalParams\n ): PagedAsyncIterableIterator<Record<string, unknown>> {\n const iter = this.listRelationshipsPagingAll(id, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listRelationshipsPagingPage(id, options, settings);\n }\n };\n }\n\n private async *listRelationshipsPagingPage(\n id: string,\n options?: DigitalTwinsListRelationshipsOptionalParams,\n settings?: PageSettings\n ): AsyncIterableIterator<Record<string, unknown>[]> {\n let result: DigitalTwinsListRelationshipsResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._listRelationships(id, options);\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listRelationshipsNext(\n id,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listRelationshipsPagingAll(\n id: string,\n options?: DigitalTwinsListRelationshipsOptionalParams\n ): AsyncIterableIterator<Record<string, unknown>> {\n for await (const page of this.listRelationshipsPagingPage(id, options)) {\n yield* page;\n }\n }\n\n /**\n * Retrieves all incoming relationship for a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n public listIncomingRelationships(\n id: string,\n options?: DigitalTwinsListIncomingRelationshipsOptionalParams\n ): PagedAsyncIterableIterator<IncomingRelationship> {\n const iter = this.listIncomingRelationshipsPagingAll(id, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listIncomingRelationshipsPagingPage(id, options, settings);\n }\n };\n }\n\n private async *listIncomingRelationshipsPagingPage(\n id: string,\n options?: DigitalTwinsListIncomingRelationshipsOptionalParams,\n settings?: PageSettings\n ): AsyncIterableIterator<IncomingRelationship[]> {\n let result: DigitalTwinsListIncomingRelationshipsResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._listIncomingRelationships(id, options);\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listIncomingRelationshipsNext(\n id,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listIncomingRelationshipsPagingAll(\n id: string,\n options?: DigitalTwinsListIncomingRelationshipsOptionalParams\n ): AsyncIterableIterator<IncomingRelationship> {\n for await (const page of this.listIncomingRelationshipsPagingPage(\n id,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Retrieves a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n getById(\n id: string,\n options?: DigitalTwinsGetByIdOptionalParams\n ): Promise<DigitalTwinsGetByIdResponse> {\n return this.client.sendOperationRequest(\n { id, options },\n getByIdOperationSpec\n );\n }\n\n /**\n * Adds or replaces a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or payload is invalid.\n * * ModelDecommissioned - The model for the digital twin is decommissioned.\n * * TwinLimitReached - The maximum number of digital twins allowed has been reached.\n * * ValidationFailed - The digital twin payload is not valid.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param twin The digital twin instance being added. If provided, the $dtId property is ignored.\n * @param options The options parameters.\n */\n add(\n id: string,\n twin: Record<string, unknown>,\n options?: DigitalTwinsAddOptionalParams\n ): Promise<DigitalTwinsAddResponse> {\n return this.client.sendOperationRequest(\n { id, twin, options },\n addOperationSpec\n );\n }\n\n /**\n * Deletes a digital twin. All relationships referencing the digital twin must already be deleted.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * RelationshipsNotDeleted - The digital twin contains relationships.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n delete(\n id: string,\n options?: DigitalTwinsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Updates a digital twin.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or payload is invalid.\n * * JsonPatchInvalid - The JSON Patch provided is invalid.\n * * ValidationFailed - Applying the patch results in an invalid digital twin.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param patchDocument An update specification described by JSON Patch. Updates to property values and\n * $model elements may happen in the same request. Operations are limited to add, replace and remove.\n * @param options The options parameters.\n */\n update(\n id: string,\n patchDocument: Record<string, unknown>[],\n options?: DigitalTwinsUpdateOptionalParams\n ): Promise<DigitalTwinsUpdateResponse> {\n return this.client.sendOperationRequest(\n { id, patchDocument, options },\n updateOperationSpec\n );\n }\n\n /**\n * Retrieves a relationship between two digital twins.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or relationship id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * RelationshipNotFound - The relationship was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param relationshipId The id of the relationship. The id is unique within the digital twin and case\n * sensitive.\n * @param options The options parameters.\n */\n getRelationshipById(\n id: string,\n relationshipId: string,\n options?: DigitalTwinsGetRelationshipByIdOptionalParams\n ): Promise<DigitalTwinsGetRelationshipByIdResponse> {\n return this.client.sendOperationRequest(\n { id, relationshipId, options },\n getRelationshipByIdOperationSpec\n );\n }\n\n /**\n * Adds a relationship between two digital twins.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id, relationship id, or payload is invalid.\n * * InvalidRelationship - The relationship is invalid.\n * * OperationNotAllowed - The relationship cannot connect to the same digital twin.\n * * ValidationFailed - The relationship content is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * TargetTwinNotFound - The digital twin target of the relationship was not found.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param relationshipId The id of the relationship. The id is unique within the digital twin and case\n * sensitive.\n * @param relationship The data for the relationship.\n * @param options The options parameters.\n */\n addRelationship(\n id: string,\n relationshipId: string,\n relationship: Record<string, unknown>,\n options?: DigitalTwinsAddRelationshipOptionalParams\n ): Promise<DigitalTwinsAddRelationshipResponse> {\n return this.client.sendOperationRequest(\n { id, relationshipId, relationship, options },\n addRelationshipOperationSpec\n );\n }\n\n /**\n * Deletes a relationship between two digital twins.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or relationship id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * RelationshipNotFound - The relationship was not found.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param relationshipId The id of the relationship. The id is unique within the digital twin and case\n * sensitive.\n * @param options The options parameters.\n */\n deleteRelationship(\n id: string,\n relationshipId: string,\n options?: DigitalTwinsDeleteRelationshipOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, relationshipId, options },\n deleteRelationshipOperationSpec\n );\n }\n\n /**\n * Updates the properties on a relationship between two digital twins.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or relationship id is invalid.\n * * InvalidRelationship - The relationship is invalid.\n * * JsonPatchInvalid - The JSON Patch provided is invalid.\n * * ValidationFailed - The relationship content is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * RelationshipNotFound - The relationship was not found.\n * * 409 Conflict\n * * RelationshipAlreadyExists - The relationship already exists.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param relationshipId The id of the relationship. The id is unique within the digital twin and case\n * sensitive.\n * @param patchDocument JSON Patch description of the update to the relationship properties.\n * @param options The options parameters.\n */\n updateRelationship(\n id: string,\n relationshipId: string,\n patchDocument: Record<string, unknown>[],\n options?: DigitalTwinsUpdateRelationshipOptionalParams\n ): Promise<DigitalTwinsUpdateRelationshipResponse> {\n return this.client.sendOperationRequest(\n { id, relationshipId, patchDocument, options },\n updateRelationshipOperationSpec\n );\n }\n\n /**\n * Retrieves the relationships from a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n private _listRelationships(\n id: string,\n options?: DigitalTwinsListRelationshipsOptionalParams\n ): Promise<DigitalTwinsListRelationshipsResponse> {\n return this.client.sendOperationRequest(\n { id, options },\n listRelationshipsOperationSpec\n );\n }\n\n /**\n * Retrieves all incoming relationship for a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n private _listIncomingRelationships(\n id: string,\n options?: DigitalTwinsListIncomingRelationshipsOptionalParams\n ): Promise<DigitalTwinsListIncomingRelationshipsResponse> {\n return this.client.sendOperationRequest(\n { id, options },\n listIncomingRelationshipsOperationSpec\n );\n }\n\n /**\n * Sends telemetry on behalf of a digital twin.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or message id is invalid.\n * * ValidationFailed - The telemetry content is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param messageId A unique message identifier (in the scope of the digital twin id) that is commonly\n * used for de-duplicating messages.\n * @param telemetry The telemetry measurements to send from the digital twin.\n * @param options The options parameters.\n */\n sendTelemetry(\n id: string,\n messageId: string,\n telemetry: Record<string, unknown>,\n options?: DigitalTwinsSendTelemetryOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, messageId, telemetry, options },\n sendTelemetryOperationSpec\n );\n }\n\n /**\n * Sends telemetry on behalf of a component in a digital twin.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id, message id, or component path is invalid.\n * * ValidationFailed - The telemetry content is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * ComponentNotFound - The component path was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param componentPath The name of the DTDL component.\n * @param messageId A unique message identifier (in the scope of the digital twin id) that is commonly\n * used for de-duplicating messages.\n * @param telemetry The telemetry measurements to send from the digital twin's component.\n * @param options The options parameters.\n */\n sendComponentTelemetry(\n id: string,\n componentPath: string,\n messageId: string,\n telemetry: Record<string, unknown>,\n options?: DigitalTwinsSendComponentTelemetryOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, componentPath, messageId, telemetry, options },\n sendComponentTelemetryOperationSpec\n );\n }\n\n /**\n * Retrieves a component from a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or component path is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * ComponentNotFound - The component path was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param componentPath The name of the DTDL component.\n * @param options The options parameters.\n */\n getComponent(\n id: string,\n componentPath: string,\n options?: DigitalTwinsGetComponentOptionalParams\n ): Promise<DigitalTwinsGetComponentResponse> {\n return this.client.sendOperationRequest(\n { id, componentPath, options },\n getComponentOperationSpec\n );\n }\n\n /**\n * Updates a component on a digital twin.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id, component path, or payload is invalid.\n * * JsonPatchInvalid - The JSON Patch provided is invalid.\n * * ValidationFailed - Applying the patch results in an invalid digital twin.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param componentPath The name of the DTDL component.\n * @param patchDocument An update specification described by JSON Patch. Updates to property values and\n * $model elements may happen in the same request. Operations are limited to add, replace and remove.\n * @param options The options parameters.\n */\n updateComponent(\n id: string,\n componentPath: string,\n patchDocument: Record<string, unknown>[],\n options?: DigitalTwinsUpdateComponentOptionalParams\n ): Promise<DigitalTwinsUpdateComponentResponse> {\n return this.client.sendOperationRequest(\n { id, componentPath, patchDocument, options },\n updateComponentOperationSpec\n );\n }\n\n /**\n * ListRelationshipsNext\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param nextLink The nextLink from the previous successful call to the ListRelationships method.\n * @param options The options parameters.\n */\n private _listRelationshipsNext(\n id: string,\n nextLink: string,\n options?: DigitalTwinsListRelationshipsNextOptionalParams\n ): Promise<DigitalTwinsListRelationshipsNextResponse> {\n return this.client.sendOperationRequest(\n { id, nextLink, options },\n listRelationshipsNextOperationSpec\n );\n }\n\n /**\n * ListIncomingRelationshipsNext\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param nextLink The nextLink from the previous successful call to the ListIncomingRelationships\n * method.\n * @param options The options parameters.\n */\n private _listIncomingRelationshipsNext(\n id: string,\n nextLink: string,\n options?: DigitalTwinsListIncomingRelationshipsNextOptionalParams\n ): Promise<DigitalTwinsListIncomingRelationshipsNextResponse> {\n return this.client.sendOperationRequest(\n { id, nextLink, options },\n listIncomingRelationshipsNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } }\n },\n headersMapper: Mappers.DigitalTwinsGetByIdHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst addOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } }\n },\n headersMapper: Mappers.DigitalTwinsAddHeaders\n },\n 202: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.twin,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifNoneMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept, Parameters.ifMatch],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}\",\n httpMethod: \"PATCH\",\n responses: {\n 202: {},\n 204: {\n headersMapper: Mappers.DigitalTwinsUpdateHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.patchDocument,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [\n Parameters.accept,\n Parameters.contentType1,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst getRelationshipByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/relationships/{relationshipId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } }\n },\n headersMapper: Mappers.DigitalTwinsGetRelationshipByIdHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.relationshipId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst addRelationshipOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/relationships/{relationshipId}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } }\n },\n headersMapper: Mappers.DigitalTwinsAddRelationshipHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.relationship,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.relationshipId],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifNoneMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteRelationshipOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/relationships/{relationshipId}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.relationshipId],\n headerParameters: [Parameters.accept, Parameters.ifMatch],\n serializer\n};\nconst updateRelationshipOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/relationships/{relationshipId}\",\n httpMethod: \"PATCH\",\n responses: {\n 204: {\n headersMapper: Mappers.DigitalTwinsUpdateRelationshipHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.patchDocument,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.relationshipId],\n headerParameters: [\n Parameters.accept,\n Parameters.contentType1,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst listRelationshipsOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/relationships\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.RelationshipCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.relationshipName],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listIncomingRelationshipsOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/incomingrelationships\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.IncomingRelationshipCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst sendTelemetryOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/telemetry\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.telemetry,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.messageId,\n Parameters.telemetrySourceTime\n ],\n mediaType: \"json\",\n serializer\n};\nconst sendComponentTelemetryOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/components/{componentPath}/telemetry\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.telemetry,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.componentPath],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.messageId,\n Parameters.telemetrySourceTime\n ],\n mediaType: \"json\",\n serializer\n};\nconst getComponentOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/components/{componentPath}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } }\n },\n headersMapper: Mappers.DigitalTwinsGetComponentHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.componentPath],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateComponentOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/components/{componentPath}\",\n httpMethod: \"PATCH\",\n responses: {\n 202: {},\n 204: {\n headersMapper: Mappers.DigitalTwinsUpdateComponentHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.patchDocument,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.componentPath],\n headerParameters: [\n Parameters.accept,\n Parameters.contentType1,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst listRelationshipsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.RelationshipCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n urlParameters: [Parameters.$host, Parameters.id, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listIncomingRelationshipsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.IncomingRelationshipCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n urlParameters: [Parameters.$host, Parameters.id, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper\";\nimport { EventRoutes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { AzureDigitalTwinsAPI } from \"../azureDigitalTwinsAPI\";\nimport {\n EventRoute,\n EventRoutesListNextOptionalParams,\n EventRoutesListOptionalParams,\n EventRoutesListResponse,\n EventRoutesGetByIdOptionalParams,\n EventRoutesGetByIdResponse,\n EventRoutesAddOptionalParams,\n EventRoutesDeleteOptionalParams,\n EventRoutesListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing EventRoutes operations. */\nexport class EventRoutesImpl implements EventRoutes {\n private readonly client: AzureDigitalTwinsAPI;\n\n /**\n * Initialize a new instance of the class EventRoutes class.\n * @param client Reference to the service client\n */\n constructor(client: AzureDigitalTwinsAPI) {\n this.client = client;\n }\n\n /**\n * Retrieves all event routes.\n * Status codes:\n * * 200 OK\n * @param options The options parameters.\n */\n public list(\n options?: EventRoutesListOptionalParams\n ): PagedAsyncIterableIterator<EventRoute> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listPagingPage(options, settings);\n }\n };\n }\n\n private async *listPagingPage(\n options?: EventRoutesListOptionalParams,\n settings?: PageSettings\n ): AsyncIterableIterator<EventRoute[]> {\n let result: EventRoutesListResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._list(options);\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listPagingAll(\n options?: EventRoutesListOptionalParams\n ): AsyncIterableIterator<EventRoute> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Retrieves all event routes.\n * Status codes:\n * * 200 OK\n * @param options The options parameters.\n */\n private _list(\n options?: EventRoutesListOptionalParams\n ): Promise<EventRoutesListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Retrieves an event route.\n * Status codes:\n * * 200 OK\n * * 404 Not Found\n * * EventRouteNotFound - The event route was not found.\n * @param id The id for an event route. The id is unique within event routes and case sensitive.\n * @param options The options parameters.\n */\n getById(\n id: string,\n options?: EventRoutesGetByIdOptionalParams\n ): Promise<EventRoutesGetByIdResponse> {\n return this.client.sendOperationRequest(\n { id, options },\n getByIdOperationSpec\n );\n }\n\n /**\n * Adds or replaces an event route.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * EventRouteEndpointInvalid - The endpoint provided does not exist or is not active.\n * * EventRouteFilterInvalid - The event route filter is invalid.\n * * EventRouteIdInvalid - The event route id is invalid.\n * * LimitExceeded - The maximum number of event routes allowed has been reached.\n * @param id The id for an event route. The id is unique within event routes and case sensitive.\n * @param options The options parameters.\n */\n add(id: string, options?: EventRoutesAddOptionalParams): Promise<void> {\n return this.client.sendOperationRequest({ id, options }, addOperationSpec);\n }\n\n /**\n * Deletes an event route.\n * Status codes:\n * * 204 No Content\n * * 404 Not Found\n * * EventRouteNotFound - The event route was not found.\n * @param id The id for an event route. The id is unique within event routes and case sensitive.\n * @param options The options parameters.\n */\n delete(id: string, options?: EventRoutesDeleteOptionalParams): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: EventRoutesListNextOptionalParams\n ): Promise<EventRoutesListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/eventroutes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.EventRouteCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept, Parameters.resultsPerPage],\n serializer\n};\nconst getByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/eventroutes/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.EventRoute\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst addOperationSpec: coreClient.OperationSpec = {\n path: \"/eventroutes/{id}\",\n httpMethod: \"PUT\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.eventRoute,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/eventroutes/{id}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.EventRouteCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept, Parameters.resultsPerPage],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport {\n PipelineRequest,\n PipelineResponse,\n SendRequest\n} from \"@azure/core-rest-pipeline\";\nimport {\n DigitalTwinModelsImpl,\n QueryImpl,\n DigitalTwinsImpl,\n EventRoutesImpl\n} from \"./operations\";\nimport {\n DigitalTwinModels,\n Query,\n DigitalTwins,\n EventRoutes\n} from \"./operationsInterfaces\";\nimport { AzureDigitalTwinsAPIOptionalParams } from \"./models\";\n\nexport class AzureDigitalTwinsAPI extends coreClient.ServiceClient {\n $host: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the AzureDigitalTwinsAPI class.\n * @param options The parameter options\n */\n constructor(options?: AzureDigitalTwinsAPIOptionalParams) {\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: AzureDigitalTwinsAPIOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-digital-twins-core/2.0.0`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n endpoint:\n options.endpoint ?? options.baseUri ?? \"https://digitaltwins-hostname\"\n };\n super(optionsWithDefaults);\n\n // Assigning values to Constant parameters\n this.$host = options.$host || \"https://digitaltwins-hostname\";\n this.apiVersion = options.apiVersion || \"2020-10-31\";\n this.digitalTwinModels = new DigitalTwinModelsImpl(this);\n this.query = new QueryImpl(this);\n this.digitalTwins = new DigitalTwinsImpl(this);\n this.eventRoutes = new EventRoutesImpl(this);\n this.addCustomApiVersionPolicy(options.apiVersion);\n }\n\n /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */\n private addCustomApiVersionPolicy(apiVersion?: string) {\n if (!apiVersion) {\n return;\n }\n const apiVersionPolicy = {\n name: \"CustomApiVersionPolicy\",\n async sendRequest(\n request: PipelineRequest,\n next: SendRequest\n ): Promise<PipelineResponse> {\n const param = request.url.split(\"?\");\n if (param.length > 1) {\n const newParams = param[1].split(\"&\").map((item) => {\n if (item.indexOf(\"api-version\") > -1) {\n return \"api-version=\" + apiVersion;\n } else {\n return item;\n }\n });\n request.url = param[0] + \"?\" + newParams.join(\"&\");\n }\n return next(request);\n }\n };\n this.pipeline.addPolicy(apiVersionPolicy);\n }\n\n digitalTwinModels: DigitalTwinModels;\n query: Query;\n digitalTwins: DigitalTwins;\n eventRoutes: EventRoutes;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const SDK_VERSION: string = \"2.0.0\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\nimport { SDK_VERSION } from \"./constants\";\n\n/**\n * Creates a tracing client to manage tracing spans.\n * @internal\n */\nexport const tracingClient = createTracingClient({\n namespace: \"Microsoft.DigitalTwins\",\n packageName: \"@azure/digital-twins-core\",\n packageVersion: SDK_VERSION,\n});\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * The \\@azure/logger configuration for this package.\n */\nexport const logger = createClientLogger(\"azure-digitaltwins-core\");\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @azure/azure-sdk/ts-naming-options */\nimport {\n OperationOptions,\n InternalClientPipelineOptions,\n CommonClientOptions,\n} from \"@azure/core-client\";\nimport { TokenCredential } from \"@azure/core-auth\";\nimport { PageSettings, PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { v4 as generateUuid } from \"uuid\";\nimport { AzureDigitalTwinsAPI as GeneratedClient } from \"./generated/azureDigitalTwinsAPI\";\nimport {\n DigitalTwinsGetByIdResponse,\n DigitalTwinsAddOptionalParams,\n DigitalTwinsAddResponse,\n DigitalTwinsUpdateOptionalParams,\n DigitalTwinsUpdateResponse,\n DigitalTwinsDeleteOptionalParams,\n DigitalTwinsGetComponentResponse,\n DigitalTwinsUpdateComponentResponse,\n DigitalTwinsUpdateComponentOptionalParams,\n DigitalTwinsAddRelationshipResponse,\n DigitalTwinsAddRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipResponse,\n DigitalTwinsDeleteRelationshipOptionalParams,\n IncomingRelationship,\n DigitalTwinsGetRelationshipByIdResponse,\n DigitalTwinsModelData,\n DigitalTwinModelsGetByIdResponse,\n DigitalTwinModelsAddResponse,\n EventRoutesGetByIdResponse,\n EventRoute,\n QueryQueryTwinsResponse,\n DigitalTwinModelsGetByIdOptionalParams as GetModelOptions,\n DigitalTwinModelsListOptionalParams as ListModelsOptions,\n QueryQueryTwinsOptionalParams as QueryTwinsOptions,\n EventRoutesListOptionalParams as ListEventRoutesOptions,\n DigitalTwinsListRelationshipsOptionalParams as ListRelationshipsOptions,\n DigitalTwinsListIncomingRelationshipsOptionalParams as ListIncomingRelationshipsOptions,\n} from \"./generated/models\";\nimport { tracingClient } from \"./tracing\";\nimport { logger } from \"./logger\";\nexport {\n GetModelOptions,\n ListModelsOptions,\n QueryTwinsOptions,\n ListEventRoutesOptions,\n ListIncomingRelationshipsOptions,\n ListRelationshipsOptions,\n};\n\n/**\n * Options for the DigitalTwinsClient class\n */\nexport interface DigitalTwinsClientOptions extends CommonClientOptions {}\n\nconst DEFAULT_DIGITALTWINS_SCOPE = \"https://digitaltwins.azure.net/.default\";\n\n/**\n * Client for Azure IoT DigitalTwins API.\n */\nexport class DigitalTwinsClient {\n /**\n * A reference to the auto-generated AzureDigitalTwinsAPI\n */\n private readonly client: GeneratedClient;\n\n /**\n * Creates an instance of AzureDigitalTwinsAPI.\n *\n * Example usage:\n * ```ts\n * const { DigitalTwinsClient, ServiceClientCredentials } = require(\"@azure/digital-twins-core\");\n *\n * const client = new DigitalTwinsClient(\n * \"<endpoint>\",\n * new DefaultAzureCredential();\n * );\n * ```\n * @param endpointUrl - The endpoint URL of the service.\n * @param credential - Used to authenticate requests to the service.\n * @param options - Used to configure the service client.\n */\n constructor(\n endpointUrl: string,\n credential: TokenCredential,\n options: DigitalTwinsClientOptions = {},\n ) {\n const internalPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n loggingOptions: {\n logger: logger.info,\n additionalAllowedHeaderNames: [\"x-ms-request-id\"],\n },\n };\n\n this.client = new GeneratedClient({\n endpoint: endpointUrl,\n credential,\n credentialScopes: DEFAULT_DIGITALTWINS_SCOPE,\n ...internalPipelineOptions,\n });\n }\n\n /**\n * Get a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param options - The operation options\n * @returns The application/json digital twin.\n */\n public getDigitalTwin(\n digitalTwinId: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getById(digitalTwinId, updatedOptions);\n },\n );\n }\n\n /**\n * Create or update a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin to create or update.\n * @param digitalTwinJson - The application/json digital twin to create.\n * @param options - Extended operation options including\n * ifNoneMatch: Only perform the operation if the entity does not already exist.\n * @returns The created application/json digital twin.\n */\n public upsertDigitalTwin(\n digitalTwinId: string,\n digitalTwinJson: string,\n options: DigitalTwinsAddOptionalParams = {},\n ): Promise<DigitalTwinsAddResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertDigitalTwin\",\n options,\n async (updatedOptions) => {\n const payload = JSON.parse(digitalTwinJson);\n return this.client.digitalTwins.add(digitalTwinId, payload, updatedOptions);\n },\n );\n }\n\n /**\n * Update a digital twin using a json patch.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param jsonPatch - An update specification described by JSON Patch. Updates to property values\n * and $model elements may happen in the same request. Operations are limited to add, replace and\n * remove.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public updateDigitalTwin(\n digitalTwinId: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateOptionalParams = {},\n ): Promise<DigitalTwinsUpdateResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.update(digitalTwinId, jsonPatch, updatedOptions);\n },\n );\n }\n\n /**\n * Delete a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public deleteDigitalTwin(\n digitalTwinId: string,\n options: DigitalTwinsDeleteOptionalParams = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.delete(digitalTwinId, updatedOptions);\n },\n );\n }\n\n /**\n * Get a component on a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param componentName - The component being retrieved.\n * @param options - The operation options\n * @returns Json string representation of the component corresponding to the provided componentName.\n */\n public getComponent(\n digitalTwinId: string,\n componentName: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetComponentResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getComponent\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getComponent(digitalTwinId, componentName, updatedOptions);\n },\n );\n }\n\n /**\n * Update properties of a component on a digital twin using a JSON patch.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param componentName - The component being updated.\n * @param jsonPatch - The application/json-patch+json operations to be performed on the specified digital twin's component.\n * @param enableUpdate - If true then update of an existing digital twin is enabled.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public updateComponent(\n digitalTwinId: string,\n componentName: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateComponentOptionalParams = {},\n ): Promise<DigitalTwinsUpdateComponentResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateComponent\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.updateComponent(\n digitalTwinId,\n componentName,\n jsonPatch,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Get a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to retrieve.\n * @param options - The operation options\n * @returns The pageable list of application/json relationships belonging to the specified digital twin.\n */\n public getRelationship(\n digitalTwinId: string,\n relationshipId: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetRelationshipByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getRelationshipById(\n digitalTwinId,\n relationshipId,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Create or update a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to create.\n * @param relationship - The application/json relationship to be created.\n * @param options - Extended operation options including\n * ifNoneMatch: Only perform the operation if the entity does not already exist.\n */\n public upsertRelationship(\n digitalTwinId: string,\n relationshipId: string,\n relationship: Record<string, unknown>,\n options: DigitalTwinsAddRelationshipOptionalParams = {},\n ): Promise<DigitalTwinsAddRelationshipResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.addRelationship(\n digitalTwinId,\n relationshipId,\n relationship,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Updates the properties of a relationship on a digital twin using a JSON patch.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param relationshipId - The Id of the relationship to be updated.\n * @param jsonPatch - The application/json-patch+json operations to be performed on the specified digital twin's relationship.\n * @param options - Extended operation options\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n */\n public updateRelationship(\n digitalTwinId: string,\n relationshipId: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateRelationshipOptionalParams = {},\n ): Promise<DigitalTwinsUpdateRelationshipResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.updateRelationship(\n digitalTwinId,\n relationshipId,\n jsonPatch,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Delete a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to delete.\n * @param options - The operation options\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is\n\n */\n public deleteRelationship(\n digitalTwinId: string,\n relationshipId: string,\n options: DigitalTwinsDeleteRelationshipOptionalParams = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.deleteRelationship(\n digitalTwinId,\n relationshipId,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Retrieve relationships for a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n */\n public listRelationships(\n digitalTwinId: string,\n options?: ListRelationshipsOptions,\n ): PagedAsyncIterableIterator<Record<string, unknown>> {\n return this.client.digitalTwins.listRelationships(digitalTwinId, options);\n }\n\n /**\n * Retrieve all incoming relationships for a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n */\n public listIncomingRelationships(\n digitalTwinId: string,\n options?: ListIncomingRelationshipsOptions,\n ): PagedAsyncIterableIterator<IncomingRelationship> {\n return this.client.digitalTwins.listIncomingRelationships(digitalTwinId, options);\n }\n\n /**\n * Publish telemetry from a digital twin, which is then consumed by one or many destination endpoints (subscribers) defined under.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param payload - The application/json telemetry payload to be sent.\n * @param messageId - The message Id.\n * @param options - The operation options\n\n */\n public publishTelemetry(\n digitalTwinId: string,\n payload: Record<string, unknown>,\n messageId: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.publishTelemetry\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.sendTelemetry(\n digitalTwinId,\n messageId || generateUuid(),\n payload,\n {\n ...updatedOptions,\n telemetrySourceTime: new Date().toISOString(),\n },\n );\n },\n );\n }\n\n /**\n * Publish telemetry from a digital twin's component, which is then consumed by one or many destination endpoints (subscribers) defined under.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param componentName - The name of the DTDL component.\n * @param payload - The application/json telemetry payload to be sent.\n * @param messageId - The message Id.\n * @param options - The operation options\n\n */\n public publishComponentTelemetry(\n digitalTwinId: string,\n componentName: string,\n payload: Record<string, unknown>,\n messageId: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.publishComponentTelemetry\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.sendComponentTelemetry(\n digitalTwinId,\n componentName,\n messageId || generateUuid(),\n payload,\n { ...updatedOptions, telemetrySourceTime: new Date().toISOString() },\n );\n },\n );\n }\n\n /**\n * Get a model, including the model metadata and the model definition.\n *\n * @param modelId - The Id of the model.\n * @param options - Options for this operation\n * @returns The application/json model.\n */\n public getModel(\n modelId: string,\n options: GetModelOptions = {},\n ): Promise<DigitalTwinModelsGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getModel\",\n {\n ...options,\n includeModelDefinition: options?.includeModelDefinition ?? false,\n },\n async (updatedOptions) => {\n return this.client.digitalTwinModels.getById(modelId, updatedOptions);\n },\n );\n }\n\n /**\n * Get the list of models\n *\n * @param options - Options for listing models.\n * @returns A pageable set of application/json models.\n */\n public listModels(\n options: ListModelsOptions = {},\n ): PagedAsyncIterableIterator<DigitalTwinsModelData> {\n return this.client.digitalTwinModels.list({\n ...options,\n includeModelDefinition: options?.includeModelDefinition ?? false,\n });\n }\n\n /**\n * Create one or many\n *\n * @param dtdlModels - The set of models to create. Each string corresponds to exactly one model.\n * @param options - The operation options\n * @returns The created application/json models.\n */\n public createModels(\n dtdlModels: Array<Record<string, unknown>>,\n options: OperationOptions = {},\n ): Promise<DigitalTwinModelsAddResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.createModels\",\n {\n ...options,\n models: dtdlModels,\n },\n async (updatedOptions) => {\n return this.client.digitalTwinModels.add(updatedOptions);\n },\n );\n }\n\n /**\n * Decommission a model using a json patch.\n * When a model is decommissioned, new digital twins will no longer be able to be\n * defined by this model. However, existing digital twins may continue to use this model.\n * Once a model is decommissioned, it may not be recommissioned.\n *\n * @param modelId - The Id of the model to decommission.\n * property can be replaced.\n * @param options - The operation options\n\n *\n */\n public decomissionModel(modelId: string, options: OperationOptions = {}): Promise<void> {\n const jsonPatch = [{ op: \"replace\", path: \"/decommissioned\", value: true }];\n\n return tracingClient.withSpan(\n \"DigitalTwinsClient.decomissionModel\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwinModels.update(modelId, jsonPatch, updatedOptions);\n },\n );\n }\n\n /**\n * Delete a model.\n *\n * @param modelId - The Id of the model to delete.\n * @param options - The operation options\n\n */\n public deleteModel(modelId: string, options: OperationOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteModel\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwinModels.delete(modelId, updatedOptions);\n },\n );\n }\n\n /**\n * Get an event route.\n *\n * @param modelId - The Id of the event route.\n * @param options - The operation options\n * @returns The application/json event route.\n */\n public getEventRoute(\n eventRouteId: string,\n options: OperationOptions = {},\n ): Promise<EventRoutesGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getEventRoute\",\n options,\n async (updatedOptions) => {\n return this.client.eventRoutes.getById(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * List the event routes in a digital twins instance.\n *\n * @param options - Options for listEventRoutes.\n * @returns The application/json event route.\n */\n public listEventRoutes(options?: ListEventRoutesOptions): PagedAsyncIterableIterator<EventRoute> {\n return this.client.eventRoutes.list(options);\n }\n\n /**\n * Create or update an event route.\n *\n * @param eventRouteId - The Id of the event route to create or update.\n * @param endpointId - The id of the endpoint this event route is bound to.\n * @param filter - An expression which describes the events which are routed to the endpoint.\n * @param options - The operation options\n\n */\n public upsertEventRoute(\n eventRouteId: string,\n endpointId: string,\n filter: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertEventRoute\",\n {\n eventRoute: {\n endpointName: endpointId,\n filter,\n },\n ...options,\n },\n async (updatedOptions) => {\n return this.client.eventRoutes.add(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * Delete an event route.\n *\n * @param eventRouteId - The Id of the eventRoute to delete.\n * @param options - The operation options\n\n */\n public deleteEventRoute(eventRouteId: string, options: OperationOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteEventRoute\",\n options,\n async (updatedOptions) => {\n return this.client.eventRoutes.delete(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * Deals with the pagination of {@link query}.\n *\n * @param query - The query string, in SQL-like syntax.\n * @param options - Common options for the iterative endpoints.\n * @param continuationState - An object that indicates the position of the paginated request.\n *\n */\n private async *queryTwinsPage(\n query: string,\n options: QueryTwinsOptions,\n continuationState?: PageSettings,\n ): AsyncIterableIterator<QueryQueryTwinsResponse> {\n let { continuationToken } = continuationState ?? {};\n if (!continuationToken) {\n const queryResult = await this.client.query.queryTwins({ query }, options);\n continuationToken = queryResult.continuationToken;\n yield queryResult;\n }\n while (continuationToken) {\n const queryResult = await this.client.query.queryTwins({ query, continuationToken }, options);\n continuationToken = queryResult.continuationToken;\n yield queryResult;\n }\n }\n\n /**\n * Deals with the iteration of all the available results of {@link query}.\n * @param query - The query string, in SQL-like syntax.\n * @param options - Common options for the iterative endpoints.\n */\n private async *queryTwinsAll(\n query: string,\n options: QueryTwinsOptions,\n ): AsyncIterableIterator<Record<string, unknown>> {\n for await (const page of this.queryTwinsPage(query, options)) {\n if (page.value) {\n yield* page.value;\n }\n }\n }\n\n /**\n * Query for digital twins.\n *\n * @param query - The query string, in SQL-like syntax.\n * @param options - Options for the query operation.\n * @returns The pageable list of query results.\n */\n public queryTwins(\n query: string,\n options: QueryTwinsOptions = {},\n ): PagedAsyncIterableIterator<Record<string, unknown>, QueryQueryTwinsResponse> {\n const iter = this.queryTwinsAll(query, options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => this.queryTwinsPage(query, options, settings),\n };\n }\n}\n"],"names":["QuerySpecificationMapper","EventRouteMapper","__await","__asyncValues","__asyncDelegator","addOperationSpec","listOperationSpec","getByIdOperationSpec","updateOperationSpec","deleteOperationSpec","listNextOperationSpec","serializer","coreClient","Mappers.ErrorResponse","Parameters.models","Parameters.apiVersion","Parameters.$host","Parameters.contentType","Parameters.accept","Mappers.PagedDigitalTwinsModelDataCollection","Parameters.dependenciesFor","Parameters.includeModelDefinition","Parameters.resultsPerPage","Mappers.DigitalTwinsModelData","Parameters.id","Parameters.updateModel","Parameters.contentType1","Parameters.nextLink","Mappers.QueryResult","Mappers.QueryQueryTwinsHeaders","Parameters.querySpecification","Mappers.DigitalTwinsGetByIdHeaders","Mappers.DigitalTwinsAddHeaders","Parameters.twin","Parameters.ifNoneMatch","Parameters.ifMatch","Mappers.DigitalTwinsUpdateHeaders","Parameters.patchDocument","Mappers.DigitalTwinsGetRelationshipByIdHeaders","Parameters.relationshipId","Mappers.DigitalTwinsAddRelationshipHeaders","Parameters.relationship","Mappers.DigitalTwinsUpdateRelationshipHeaders","Mappers.RelationshipCollection","Parameters.relationshipName","Mappers.IncomingRelationshipCollection","Parameters.telemetry","Parameters.messageId","Parameters.telemetrySourceTime","Parameters.componentPath","Mappers.DigitalTwinsGetComponentHeaders","Mappers.DigitalTwinsUpdateComponentHeaders","Mappers.EventRouteCollection","Mappers.EventRoute","Parameters.eventRoute","createTracingClient","createClientLogger","GeneratedClient","generateUuid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/generated/pagingHelper.ts","../src/generated/models/mappers.ts","../src/generated/models/parameters.ts","../src/generated/operations/digitalTwinModels.ts","../src/generated/operations/query.ts","../src/generated/operations/digitalTwins.ts","../src/generated/operations/eventRoutes.ts","../src/generated/azureDigitalTwinsAPI.ts","../src/constants.ts","../src/tracing.ts","../src/logger.ts","../src/digitalTwinsClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport interface PageInfo {\n continuationToken?: string;\n}\n\nconst pageMap = new WeakMap<object, PageInfo>();\n\n/**\n * Given the last `.value` produced by the `byPage` iterator,\n * returns a continuation token that can be used to begin paging from\n * that point later.\n * @param page An object from accessing `value` on the IteratorResult from a `byPage` iterator.\n * @returns The continuation token that can be passed into byPage() during future calls.\n */\nexport function getContinuationToken(page: unknown): string | undefined {\n if (typeof page !== \"object\" || page === null) {\n return undefined;\n }\n return pageMap.get(page)?.continuationToken;\n}\n\nexport function setContinuationToken(\n page: unknown,\n continuationToken: string | undefined\n): void {\n if (typeof page !== \"object\" || page === null || !continuationToken) {\n return;\n }\n const pageInfo = pageMap.get(page) ?? {};\n pageInfo.continuationToken = continuationToken;\n pageMap.set(page, pageInfo);\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const DigitalTwinsModelData: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsModelData\",\n modelProperties: {\n displayName: {\n serializedName: \"displayName\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n uploadTime: {\n serializedName: \"uploadTime\",\n type: {\n name: \"DateTime\"\n }\n },\n decommissioned: {\n defaultValue: false,\n serializedName: \"decommissioned\",\n type: {\n name: \"Boolean\"\n }\n },\n model: {\n serializedName: \"model\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const ErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorModel\"\n }\n }\n }\n }\n};\n\nexport const ErrorModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorModel\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ErrorModel\"\n }\n }\n }\n },\n innererror: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"InnerError\"\n }\n }\n }\n }\n};\n\nexport const InnerError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InnerError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n innererror: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"InnerError\"\n }\n }\n }\n }\n};\n\nexport const PagedDigitalTwinsModelDataCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"PagedDigitalTwinsModelDataCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsModelData\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const QuerySpecification: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"QuerySpecification\",\n modelProperties: {\n query: {\n serializedName: \"query\",\n type: {\n name: \"String\"\n }\n },\n continuationToken: {\n serializedName: \"continuationToken\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const QueryResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"QueryResult\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n },\n continuationToken: {\n serializedName: \"continuationToken\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RelationshipCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RelationshipCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const IncomingRelationshipCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IncomingRelationshipCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"IncomingRelationship\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const IncomingRelationship: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IncomingRelationship\",\n modelProperties: {\n relationshipId: {\n serializedName: \"$relationshipId\",\n type: {\n name: \"String\"\n }\n },\n sourceId: {\n serializedName: \"$sourceId\",\n type: {\n name: \"String\"\n }\n },\n relationshipName: {\n serializedName: \"$relationshipName\",\n type: {\n name: \"String\"\n }\n },\n relationshipLink: {\n serializedName: \"$relationshipLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const EventRouteCollection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"EventRouteCollection\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"EventRoute\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const EventRoute: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"EventRoute\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n endpointName: {\n serializedName: \"endpointName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n filter: {\n serializedName: \"filter\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const QueryQueryTwinsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"QueryQueryTwinsHeaders\",\n modelProperties: {\n queryCharge: {\n serializedName: \"query-charge\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsGetByIdHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsGetByIdHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsAddHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsAddHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsUpdateHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsUpdateHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsGetRelationshipByIdHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsGetRelationshipByIdHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsAddRelationshipHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsAddRelationshipHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsUpdateRelationshipHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsUpdateRelationshipHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsGetComponentHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsGetComponentHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DigitalTwinsUpdateComponentHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DigitalTwinsUpdateComponentHeaders\",\n modelProperties: {\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n QuerySpecification as QuerySpecificationMapper,\n EventRoute as EventRouteMapper\n} from \"../models/mappers\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const models: OperationParameter = {\n parameterPath: [\"options\", \"models\"],\n mapper: {\n constraints: {\n MinItems: 1,\n UniqueItems: true\n },\n serializedName: \"models\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const $host: OperationURLParameter = {\n parameterPath: \"$host\",\n mapper: {\n serializedName: \"$host\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2020-10-31\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const dependenciesFor: OperationQueryParameter = {\n parameterPath: [\"options\", \"dependenciesFor\"],\n mapper: {\n serializedName: \"dependenciesFor\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"Multi\"\n};\n\nexport const includeModelDefinition: OperationQueryParameter = {\n parameterPath: [\"options\", \"includeModelDefinition\"],\n mapper: {\n defaultValue: false,\n serializedName: \"includeModelDefinition\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const resultsPerPage: OperationParameter = {\n parameterPath: [\"options\", \"resultsPerPage\"],\n mapper: {\n serializedName: \"max-items-per-page\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const id: OperationURLParameter = {\n parameterPath: \"id\",\n mapper: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType1: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json-patch+json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const updateModel: OperationParameter = {\n parameterPath: \"updateModel\",\n mapper: {\n serializedName: \"updateModel\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const querySpecification: OperationParameter = {\n parameterPath: \"querySpecification\",\n mapper: QuerySpecificationMapper\n};\n\nexport const twin: OperationParameter = {\n parameterPath: \"twin\",\n mapper: {\n serializedName: \"twin\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n};\n\nexport const ifNoneMatch: OperationParameter = {\n parameterPath: [\"options\", \"ifNoneMatch\"],\n mapper: {\n serializedName: \"If-None-Match\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const ifMatch: OperationParameter = {\n parameterPath: [\"options\", \"ifMatch\"],\n mapper: {\n serializedName: \"If-Match\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const patchDocument: OperationParameter = {\n parameterPath: \"patchDocument\",\n mapper: {\n serializedName: \"patchDocument\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const relationshipId: OperationURLParameter = {\n parameterPath: \"relationshipId\",\n mapper: {\n serializedName: \"relationshipId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const relationship: OperationParameter = {\n parameterPath: \"relationship\",\n mapper: {\n serializedName: \"relationship\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n};\n\nexport const relationshipName: OperationQueryParameter = {\n parameterPath: [\"options\", \"relationshipName\"],\n mapper: {\n serializedName: \"relationshipName\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const telemetry: OperationParameter = {\n parameterPath: \"telemetry\",\n mapper: {\n serializedName: \"telemetry\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n};\n\nexport const messageId: OperationParameter = {\n parameterPath: \"messageId\",\n mapper: {\n serializedName: \"Message-Id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const telemetrySourceTime: OperationParameter = {\n parameterPath: [\"options\", \"telemetrySourceTime\"],\n mapper: {\n serializedName: \"Telemetry-Source-Time\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const componentPath: OperationURLParameter = {\n parameterPath: \"componentPath\",\n mapper: {\n serializedName: \"componentPath\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const eventRoute: OperationParameter = {\n parameterPath: [\"options\", \"eventRoute\"],\n mapper: EventRouteMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper\";\nimport { DigitalTwinModels } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { AzureDigitalTwinsAPI } from \"../azureDigitalTwinsAPI\";\nimport {\n DigitalTwinsModelData,\n DigitalTwinModelsListNextOptionalParams,\n DigitalTwinModelsListOptionalParams,\n DigitalTwinModelsListResponse,\n DigitalTwinModelsAddOptionalParams,\n DigitalTwinModelsAddResponse,\n DigitalTwinModelsGetByIdOptionalParams,\n DigitalTwinModelsGetByIdResponse,\n DigitalTwinModelsUpdateOptionalParams,\n DigitalTwinModelsDeleteOptionalParams,\n DigitalTwinModelsListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing DigitalTwinModels operations. */\nexport class DigitalTwinModelsImpl implements DigitalTwinModels {\n private readonly client: AzureDigitalTwinsAPI;\n\n /**\n * Initialize a new instance of the class DigitalTwinModels class.\n * @param client Reference to the service client\n */\n constructor(client: AzureDigitalTwinsAPI) {\n this.client = client;\n }\n\n /**\n * Retrieves model metadata and, optionally, model definitions.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The model id is invalid.\n * * LimitExceeded - The maximum number of model ids allowed in 'dependenciesFor' has been reached.\n * * 404 Not Found\n * * ModelNotFound - The model was not found.\n * @param options The options parameters.\n */\n public list(\n options?: DigitalTwinModelsListOptionalParams\n ): PagedAsyncIterableIterator<DigitalTwinsModelData> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listPagingPage(options, settings);\n }\n };\n }\n\n private async *listPagingPage(\n options?: DigitalTwinModelsListOptionalParams,\n settings?: PageSettings\n ): AsyncIterableIterator<DigitalTwinsModelData[]> {\n let result: DigitalTwinModelsListResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._list(options);\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listPagingAll(\n options?: DigitalTwinModelsListOptionalParams\n ): AsyncIterableIterator<DigitalTwinsModelData> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Uploads one or more models. When any error occurs, no models are uploaded.\n * Status codes:\n * * 201 Created\n * * 400 Bad Request\n * * DTDLParserError - The models provided are not valid DTDL.\n * * InvalidArgument - The model id is invalid.\n * * LimitExceeded - The maximum number of model ids allowed in 'dependenciesFor' has been reached.\n * * ModelVersionNotSupported - The version of DTDL used is not supported.\n * * 409 Conflict\n * * ModelAlreadyExists - The model provided already exists.\n * @param options The options parameters.\n */\n add(\n options?: DigitalTwinModelsAddOptionalParams\n ): Promise<DigitalTwinModelsAddResponse> {\n return this.client.sendOperationRequest({ options }, addOperationSpec);\n }\n\n /**\n * Retrieves model metadata and, optionally, model definitions.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The model id is invalid.\n * * LimitExceeded - The maximum number of model ids allowed in 'dependenciesFor' has been reached.\n * * 404 Not Found\n * * ModelNotFound - The model was not found.\n * @param options The options parameters.\n */\n private _list(\n options?: DigitalTwinModelsListOptionalParams\n ): Promise<DigitalTwinModelsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Retrieves model metadata and optionally the model definition.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The model id is invalid.\n * * MissingArgument - The model id was not provided.\n * * 404 Not Found\n * * ModelNotFound - The model was not found.\n * @param id The id for the model. The id is globally unique and case sensitive.\n * @param options The options parameters.\n */\n getById(\n id: string,\n options?: DigitalTwinModelsGetByIdOptionalParams\n ): Promise<DigitalTwinModelsGetByIdResponse> {\n return this.client.sendOperationRequest(\n { id, options },\n getByIdOperationSpec\n );\n }\n\n /**\n * Updates the metadata for a model.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The model id is invalid.\n * * JsonPatchInvalid - The JSON Patch provided is invalid.\n * * MissingArgument - The model id was not provided.\n * * 404 Not Found\n * * ModelNotFound - The model was not found.\n * * 409 Conflict\n * * ModelReferencesNotDecommissioned - The model refers to models that are not decommissioned.\n * @param id The id for the model. The id is globally unique and case sensitive.\n * @param updateModel An update specification described by JSON Patch. Only the decommissioned property\n * can be replaced.\n * @param options The options parameters.\n */\n update(\n id: string,\n updateModel: Record<string, unknown>[],\n options?: DigitalTwinModelsUpdateOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, updateModel, options },\n updateOperationSpec\n );\n }\n\n /**\n * Deletes a model. A model can only be deleted if no other models reference it.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The model id is invalid.\n * * MissingArgument - The model id was not provided.\n * * 404 Not Found\n * * ModelNotFound - The model was not found.\n * * 409 Conflict\n * * ModelReferencesNotDeleted - The model refers to models that are not deleted.\n * @param id The id for the model. The id is globally unique and case sensitive.\n * @param options The options parameters.\n */\n delete(\n id: string,\n options?: DigitalTwinModelsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: DigitalTwinModelsListNextOptionalParams\n ): Promise<DigitalTwinModelsListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst addOperationSpec: coreClient.OperationSpec = {\n path: \"/models\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: {\n type: {\n name: \"Sequence\",\n element: {\n type: { name: \"Composite\", className: \"DigitalTwinsModelData\" }\n }\n }\n }\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.models,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/models\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PagedDigitalTwinsModelDataCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.dependenciesFor,\n Parameters.includeModelDefinition\n ],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept, Parameters.resultsPerPage],\n serializer\n};\nconst getByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/models/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DigitalTwinsModelData\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.includeModelDefinition],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path: \"/models/{id}\",\n httpMethod: \"PATCH\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.updateModel,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/models/{id}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.PagedDigitalTwinsModelDataCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept, Parameters.resultsPerPage],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Query } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { AzureDigitalTwinsAPI } from \"../azureDigitalTwinsAPI\";\nimport {\n QuerySpecification,\n QueryQueryTwinsOptionalParams,\n QueryQueryTwinsResponse\n} from \"../models\";\n\n/** Class containing Query operations. */\nexport class QueryImpl implements Query {\n private readonly client: AzureDigitalTwinsAPI;\n\n /**\n * Initialize a new instance of the class Query class.\n * @param client Reference to the service client\n */\n constructor(client: AzureDigitalTwinsAPI) {\n this.client = client;\n }\n\n /**\n * Executes a query that allows traversing relationships and filtering by property values.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * BadRequest - The continuation token is invalid.\n * * SqlQueryError - The query contains some errors.\n * * TimeoutError - The query execution timed out after 60 seconds. Try simplifying the query or\n * adding conditions to reduce the result size.\n * * 429 Too Many Requests\n * * QuotaReachedError - The maximum query rate limit has been reached.\n * @param querySpecification The query specification to execute.\n * @param options The options parameters.\n */\n queryTwins(\n querySpecification: QuerySpecification,\n options?: QueryQueryTwinsOptionalParams\n ): Promise<QueryQueryTwinsResponse> {\n return this.client.sendOperationRequest(\n { querySpecification, options },\n queryTwinsOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst queryTwinsOperationSpec: coreClient.OperationSpec = {\n path: \"/query\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.QueryResult,\n headersMapper: Mappers.QueryQueryTwinsHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.querySpecification,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.resultsPerPage\n ],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper\";\nimport { DigitalTwins } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { AzureDigitalTwinsAPI } from \"../azureDigitalTwinsAPI\";\nimport {\n DigitalTwinsListRelationshipsNextOptionalParams,\n DigitalTwinsListRelationshipsOptionalParams,\n DigitalTwinsListRelationshipsResponse,\n IncomingRelationship,\n DigitalTwinsListIncomingRelationshipsNextOptionalParams,\n DigitalTwinsListIncomingRelationshipsOptionalParams,\n DigitalTwinsListIncomingRelationshipsResponse,\n DigitalTwinsGetByIdOptionalParams,\n DigitalTwinsGetByIdResponse,\n DigitalTwinsAddOptionalParams,\n DigitalTwinsAddResponse,\n DigitalTwinsDeleteOptionalParams,\n DigitalTwinsUpdateOptionalParams,\n DigitalTwinsUpdateResponse,\n DigitalTwinsGetRelationshipByIdOptionalParams,\n DigitalTwinsGetRelationshipByIdResponse,\n DigitalTwinsAddRelationshipOptionalParams,\n DigitalTwinsAddRelationshipResponse,\n DigitalTwinsDeleteRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipResponse,\n DigitalTwinsSendTelemetryOptionalParams,\n DigitalTwinsSendComponentTelemetryOptionalParams,\n DigitalTwinsGetComponentOptionalParams,\n DigitalTwinsGetComponentResponse,\n DigitalTwinsUpdateComponentOptionalParams,\n DigitalTwinsUpdateComponentResponse,\n DigitalTwinsListRelationshipsNextResponse,\n DigitalTwinsListIncomingRelationshipsNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing DigitalTwins operations. */\nexport class DigitalTwinsImpl implements DigitalTwins {\n private readonly client: AzureDigitalTwinsAPI;\n\n /**\n * Initialize a new instance of the class DigitalTwins class.\n * @param client Reference to the service client\n */\n constructor(client: AzureDigitalTwinsAPI) {\n this.client = client;\n }\n\n /**\n * Retrieves the relationships from a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n public listRelationships(\n id: string,\n options?: DigitalTwinsListRelationshipsOptionalParams\n ): PagedAsyncIterableIterator<Record<string, unknown>> {\n const iter = this.listRelationshipsPagingAll(id, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listRelationshipsPagingPage(id, options, settings);\n }\n };\n }\n\n private async *listRelationshipsPagingPage(\n id: string,\n options?: DigitalTwinsListRelationshipsOptionalParams,\n settings?: PageSettings\n ): AsyncIterableIterator<Record<string, unknown>[]> {\n let result: DigitalTwinsListRelationshipsResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._listRelationships(id, options);\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listRelationshipsNext(\n id,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listRelationshipsPagingAll(\n id: string,\n options?: DigitalTwinsListRelationshipsOptionalParams\n ): AsyncIterableIterator<Record<string, unknown>> {\n for await (const page of this.listRelationshipsPagingPage(id, options)) {\n yield* page;\n }\n }\n\n /**\n * Retrieves all incoming relationship for a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n public listIncomingRelationships(\n id: string,\n options?: DigitalTwinsListIncomingRelationshipsOptionalParams\n ): PagedAsyncIterableIterator<IncomingRelationship> {\n const iter = this.listIncomingRelationshipsPagingAll(id, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listIncomingRelationshipsPagingPage(id, options, settings);\n }\n };\n }\n\n private async *listIncomingRelationshipsPagingPage(\n id: string,\n options?: DigitalTwinsListIncomingRelationshipsOptionalParams,\n settings?: PageSettings\n ): AsyncIterableIterator<IncomingRelationship[]> {\n let result: DigitalTwinsListIncomingRelationshipsResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._listIncomingRelationships(id, options);\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listIncomingRelationshipsNext(\n id,\n continuationToken,\n options\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listIncomingRelationshipsPagingAll(\n id: string,\n options?: DigitalTwinsListIncomingRelationshipsOptionalParams\n ): AsyncIterableIterator<IncomingRelationship> {\n for await (const page of this.listIncomingRelationshipsPagingPage(\n id,\n options\n )) {\n yield* page;\n }\n }\n\n /**\n * Retrieves a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n getById(\n id: string,\n options?: DigitalTwinsGetByIdOptionalParams\n ): Promise<DigitalTwinsGetByIdResponse> {\n return this.client.sendOperationRequest(\n { id, options },\n getByIdOperationSpec\n );\n }\n\n /**\n * Adds or replaces a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or payload is invalid.\n * * ModelDecommissioned - The model for the digital twin is decommissioned.\n * * TwinLimitReached - The maximum number of digital twins allowed has been reached.\n * * ValidationFailed - The digital twin payload is not valid.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param twin The digital twin instance being added. If provided, the $dtId property is ignored.\n * @param options The options parameters.\n */\n add(\n id: string,\n twin: Record<string, unknown>,\n options?: DigitalTwinsAddOptionalParams\n ): Promise<DigitalTwinsAddResponse> {\n return this.client.sendOperationRequest(\n { id, twin, options },\n addOperationSpec\n );\n }\n\n /**\n * Deletes a digital twin. All relationships referencing the digital twin must already be deleted.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * RelationshipsNotDeleted - The digital twin contains relationships.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n delete(\n id: string,\n options?: DigitalTwinsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Updates a digital twin.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or payload is invalid.\n * * JsonPatchInvalid - The JSON Patch provided is invalid.\n * * ValidationFailed - Applying the patch results in an invalid digital twin.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param patchDocument An update specification described by JSON Patch. Updates to property values and\n * $model elements may happen in the same request. Operations are limited to add, replace and remove.\n * @param options The options parameters.\n */\n update(\n id: string,\n patchDocument: Record<string, unknown>[],\n options?: DigitalTwinsUpdateOptionalParams\n ): Promise<DigitalTwinsUpdateResponse> {\n return this.client.sendOperationRequest(\n { id, patchDocument, options },\n updateOperationSpec\n );\n }\n\n /**\n * Retrieves a relationship between two digital twins.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or relationship id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * RelationshipNotFound - The relationship was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param relationshipId The id of the relationship. The id is unique within the digital twin and case\n * sensitive.\n * @param options The options parameters.\n */\n getRelationshipById(\n id: string,\n relationshipId: string,\n options?: DigitalTwinsGetRelationshipByIdOptionalParams\n ): Promise<DigitalTwinsGetRelationshipByIdResponse> {\n return this.client.sendOperationRequest(\n { id, relationshipId, options },\n getRelationshipByIdOperationSpec\n );\n }\n\n /**\n * Adds a relationship between two digital twins.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id, relationship id, or payload is invalid.\n * * InvalidRelationship - The relationship is invalid.\n * * OperationNotAllowed - The relationship cannot connect to the same digital twin.\n * * ValidationFailed - The relationship content is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * TargetTwinNotFound - The digital twin target of the relationship was not found.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param relationshipId The id of the relationship. The id is unique within the digital twin and case\n * sensitive.\n * @param relationship The data for the relationship.\n * @param options The options parameters.\n */\n addRelationship(\n id: string,\n relationshipId: string,\n relationship: Record<string, unknown>,\n options?: DigitalTwinsAddRelationshipOptionalParams\n ): Promise<DigitalTwinsAddRelationshipResponse> {\n return this.client.sendOperationRequest(\n { id, relationshipId, relationship, options },\n addRelationshipOperationSpec\n );\n }\n\n /**\n * Deletes a relationship between two digital twins.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or relationship id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * RelationshipNotFound - The relationship was not found.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param relationshipId The id of the relationship. The id is unique within the digital twin and case\n * sensitive.\n * @param options The options parameters.\n */\n deleteRelationship(\n id: string,\n relationshipId: string,\n options?: DigitalTwinsDeleteRelationshipOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, relationshipId, options },\n deleteRelationshipOperationSpec\n );\n }\n\n /**\n * Updates the properties on a relationship between two digital twins.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or relationship id is invalid.\n * * InvalidRelationship - The relationship is invalid.\n * * JsonPatchInvalid - The JSON Patch provided is invalid.\n * * ValidationFailed - The relationship content is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * RelationshipNotFound - The relationship was not found.\n * * 409 Conflict\n * * RelationshipAlreadyExists - The relationship already exists.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param relationshipId The id of the relationship. The id is unique within the digital twin and case\n * sensitive.\n * @param patchDocument JSON Patch description of the update to the relationship properties.\n * @param options The options parameters.\n */\n updateRelationship(\n id: string,\n relationshipId: string,\n patchDocument: Record<string, unknown>[],\n options?: DigitalTwinsUpdateRelationshipOptionalParams\n ): Promise<DigitalTwinsUpdateRelationshipResponse> {\n return this.client.sendOperationRequest(\n { id, relationshipId, patchDocument, options },\n updateRelationshipOperationSpec\n );\n }\n\n /**\n * Retrieves the relationships from a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n private _listRelationships(\n id: string,\n options?: DigitalTwinsListRelationshipsOptionalParams\n ): Promise<DigitalTwinsListRelationshipsResponse> {\n return this.client.sendOperationRequest(\n { id, options },\n listRelationshipsOperationSpec\n );\n }\n\n /**\n * Retrieves all incoming relationship for a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param options The options parameters.\n */\n private _listIncomingRelationships(\n id: string,\n options?: DigitalTwinsListIncomingRelationshipsOptionalParams\n ): Promise<DigitalTwinsListIncomingRelationshipsResponse> {\n return this.client.sendOperationRequest(\n { id, options },\n listIncomingRelationshipsOperationSpec\n );\n }\n\n /**\n * Sends telemetry on behalf of a digital twin.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or message id is invalid.\n * * ValidationFailed - The telemetry content is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param messageId A unique message identifier (in the scope of the digital twin id) that is commonly\n * used for de-duplicating messages.\n * @param telemetry The telemetry measurements to send from the digital twin.\n * @param options The options parameters.\n */\n sendTelemetry(\n id: string,\n messageId: string,\n telemetry: Record<string, unknown>,\n options?: DigitalTwinsSendTelemetryOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, messageId, telemetry, options },\n sendTelemetryOperationSpec\n );\n }\n\n /**\n * Sends telemetry on behalf of a component in a digital twin.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id, message id, or component path is invalid.\n * * ValidationFailed - The telemetry content is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * ComponentNotFound - The component path was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param componentPath The name of the DTDL component.\n * @param messageId A unique message identifier (in the scope of the digital twin id) that is commonly\n * used for de-duplicating messages.\n * @param telemetry The telemetry measurements to send from the digital twin's component.\n * @param options The options parameters.\n */\n sendComponentTelemetry(\n id: string,\n componentPath: string,\n messageId: string,\n telemetry: Record<string, unknown>,\n options?: DigitalTwinsSendComponentTelemetryOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, componentPath, messageId, telemetry, options },\n sendComponentTelemetryOperationSpec\n );\n }\n\n /**\n * Retrieves a component from a digital twin.\n * Status codes:\n * * 200 OK\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id or component path is invalid.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * ComponentNotFound - The component path was not found.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param componentPath The name of the DTDL component.\n * @param options The options parameters.\n */\n getComponent(\n id: string,\n componentPath: string,\n options?: DigitalTwinsGetComponentOptionalParams\n ): Promise<DigitalTwinsGetComponentResponse> {\n return this.client.sendOperationRequest(\n { id, componentPath, options },\n getComponentOperationSpec\n );\n }\n\n /**\n * Updates a component on a digital twin.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * InvalidArgument - The digital twin id, component path, or payload is invalid.\n * * JsonPatchInvalid - The JSON Patch provided is invalid.\n * * ValidationFailed - Applying the patch results in an invalid digital twin.\n * * 404 Not Found\n * * DigitalTwinNotFound - The digital twin was not found.\n * * 412 Precondition Failed\n * * PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param componentPath The name of the DTDL component.\n * @param patchDocument An update specification described by JSON Patch. Updates to property values and\n * $model elements may happen in the same request. Operations are limited to add, replace and remove.\n * @param options The options parameters.\n */\n updateComponent(\n id: string,\n componentPath: string,\n patchDocument: Record<string, unknown>[],\n options?: DigitalTwinsUpdateComponentOptionalParams\n ): Promise<DigitalTwinsUpdateComponentResponse> {\n return this.client.sendOperationRequest(\n { id, componentPath, patchDocument, options },\n updateComponentOperationSpec\n );\n }\n\n /**\n * ListRelationshipsNext\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param nextLink The nextLink from the previous successful call to the ListRelationships method.\n * @param options The options parameters.\n */\n private _listRelationshipsNext(\n id: string,\n nextLink: string,\n options?: DigitalTwinsListRelationshipsNextOptionalParams\n ): Promise<DigitalTwinsListRelationshipsNextResponse> {\n return this.client.sendOperationRequest(\n { id, nextLink, options },\n listRelationshipsNextOperationSpec\n );\n }\n\n /**\n * ListIncomingRelationshipsNext\n * @param id The id of the digital twin. The id is unique within the service and case sensitive.\n * @param nextLink The nextLink from the previous successful call to the ListIncomingRelationships\n * method.\n * @param options The options parameters.\n */\n private _listIncomingRelationshipsNext(\n id: string,\n nextLink: string,\n options?: DigitalTwinsListIncomingRelationshipsNextOptionalParams\n ): Promise<DigitalTwinsListIncomingRelationshipsNextResponse> {\n return this.client.sendOperationRequest(\n { id, nextLink, options },\n listIncomingRelationshipsNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } }\n },\n headersMapper: Mappers.DigitalTwinsGetByIdHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst addOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } }\n },\n headersMapper: Mappers.DigitalTwinsAddHeaders\n },\n 202: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.twin,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifNoneMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept, Parameters.ifMatch],\n serializer\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}\",\n httpMethod: \"PATCH\",\n responses: {\n 202: {},\n 204: {\n headersMapper: Mappers.DigitalTwinsUpdateHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.patchDocument,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [\n Parameters.accept,\n Parameters.contentType1,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst getRelationshipByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/relationships/{relationshipId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } }\n },\n headersMapper: Mappers.DigitalTwinsGetRelationshipByIdHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.relationshipId],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst addRelationshipOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/relationships/{relationshipId}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } }\n },\n headersMapper: Mappers.DigitalTwinsAddRelationshipHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.relationship,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.relationshipId],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifNoneMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteRelationshipOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/relationships/{relationshipId}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.relationshipId],\n headerParameters: [Parameters.accept, Parameters.ifMatch],\n serializer\n};\nconst updateRelationshipOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/relationships/{relationshipId}\",\n httpMethod: \"PATCH\",\n responses: {\n 204: {\n headersMapper: Mappers.DigitalTwinsUpdateRelationshipHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.patchDocument,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.relationshipId],\n headerParameters: [\n Parameters.accept,\n Parameters.contentType1,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst listRelationshipsOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/relationships\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.RelationshipCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.relationshipName],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listIncomingRelationshipsOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/incomingrelationships\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.IncomingRelationshipCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst sendTelemetryOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/telemetry\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.telemetry,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.messageId,\n Parameters.telemetrySourceTime\n ],\n mediaType: \"json\",\n serializer\n};\nconst sendComponentTelemetryOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/components/{componentPath}/telemetry\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.telemetry,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.componentPath],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.messageId,\n Parameters.telemetrySourceTime\n ],\n mediaType: \"json\",\n serializer\n};\nconst getComponentOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/components/{componentPath}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } }\n },\n headersMapper: Mappers.DigitalTwinsGetComponentHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.componentPath],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateComponentOperationSpec: coreClient.OperationSpec = {\n path: \"/digitaltwins/{id}/components/{componentPath}\",\n httpMethod: \"PATCH\",\n responses: {\n 202: {},\n 204: {\n headersMapper: Mappers.DigitalTwinsUpdateComponentHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.patchDocument,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id, Parameters.componentPath],\n headerParameters: [\n Parameters.accept,\n Parameters.contentType1,\n Parameters.ifMatch\n ],\n mediaType: \"json\",\n serializer\n};\nconst listRelationshipsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.RelationshipCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n urlParameters: [Parameters.$host, Parameters.id, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listIncomingRelationshipsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.IncomingRelationshipCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n urlParameters: [Parameters.$host, Parameters.id, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper\";\nimport { EventRoutes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { AzureDigitalTwinsAPI } from \"../azureDigitalTwinsAPI\";\nimport {\n EventRoute,\n EventRoutesListNextOptionalParams,\n EventRoutesListOptionalParams,\n EventRoutesListResponse,\n EventRoutesGetByIdOptionalParams,\n EventRoutesGetByIdResponse,\n EventRoutesAddOptionalParams,\n EventRoutesDeleteOptionalParams,\n EventRoutesListNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing EventRoutes operations. */\nexport class EventRoutesImpl implements EventRoutes {\n private readonly client: AzureDigitalTwinsAPI;\n\n /**\n * Initialize a new instance of the class EventRoutes class.\n * @param client Reference to the service client\n */\n constructor(client: AzureDigitalTwinsAPI) {\n this.client = client;\n }\n\n /**\n * Retrieves all event routes.\n * Status codes:\n * * 200 OK\n * @param options The options parameters.\n */\n public list(\n options?: EventRoutesListOptionalParams\n ): PagedAsyncIterableIterator<EventRoute> {\n const iter = this.listPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listPagingPage(options, settings);\n }\n };\n }\n\n private async *listPagingPage(\n options?: EventRoutesListOptionalParams,\n settings?: PageSettings\n ): AsyncIterableIterator<EventRoute[]> {\n let result: EventRoutesListResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._list(options);\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listNext(continuationToken, options);\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listPagingAll(\n options?: EventRoutesListOptionalParams\n ): AsyncIterableIterator<EventRoute> {\n for await (const page of this.listPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Retrieves all event routes.\n * Status codes:\n * * 200 OK\n * @param options The options parameters.\n */\n private _list(\n options?: EventRoutesListOptionalParams\n ): Promise<EventRoutesListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Retrieves an event route.\n * Status codes:\n * * 200 OK\n * * 404 Not Found\n * * EventRouteNotFound - The event route was not found.\n * @param id The id for an event route. The id is unique within event routes and case sensitive.\n * @param options The options parameters.\n */\n getById(\n id: string,\n options?: EventRoutesGetByIdOptionalParams\n ): Promise<EventRoutesGetByIdResponse> {\n return this.client.sendOperationRequest(\n { id, options },\n getByIdOperationSpec\n );\n }\n\n /**\n * Adds or replaces an event route.\n * Status codes:\n * * 204 No Content\n * * 400 Bad Request\n * * EventRouteEndpointInvalid - The endpoint provided does not exist or is not active.\n * * EventRouteFilterInvalid - The event route filter is invalid.\n * * EventRouteIdInvalid - The event route id is invalid.\n * * LimitExceeded - The maximum number of event routes allowed has been reached.\n * @param id The id for an event route. The id is unique within event routes and case sensitive.\n * @param options The options parameters.\n */\n add(id: string, options?: EventRoutesAddOptionalParams): Promise<void> {\n return this.client.sendOperationRequest({ id, options }, addOperationSpec);\n }\n\n /**\n * Deletes an event route.\n * Status codes:\n * * 204 No Content\n * * 404 Not Found\n * * EventRouteNotFound - The event route was not found.\n * @param id The id for an event route. The id is unique within event routes and case sensitive.\n * @param options The options parameters.\n */\n delete(id: string, options?: EventRoutesDeleteOptionalParams): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n );\n }\n\n /**\n * ListNext\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n nextLink: string,\n options?: EventRoutesListNextOptionalParams\n ): Promise<EventRoutesListNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/eventroutes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.EventRouteCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host],\n headerParameters: [Parameters.accept, Parameters.resultsPerPage],\n serializer\n};\nconst getByIdOperationSpec: coreClient.OperationSpec = {\n path: \"/eventroutes/{id}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.EventRoute\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst addOperationSpec: coreClient.OperationSpec = {\n path: \"/eventroutes/{id}\",\n httpMethod: \"PUT\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.eventRoute,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/eventroutes/{id}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.$host, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.EventRouteCollection\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n urlParameters: [Parameters.$host, Parameters.nextLink],\n headerParameters: [Parameters.accept, Parameters.resultsPerPage],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport {\n PipelineRequest,\n PipelineResponse,\n SendRequest\n} from \"@azure/core-rest-pipeline\";\nimport {\n DigitalTwinModelsImpl,\n QueryImpl,\n DigitalTwinsImpl,\n EventRoutesImpl\n} from \"./operations\";\nimport {\n DigitalTwinModels,\n Query,\n DigitalTwins,\n EventRoutes\n} from \"./operationsInterfaces\";\nimport { AzureDigitalTwinsAPIOptionalParams } from \"./models\";\n\nexport class AzureDigitalTwinsAPI extends coreClient.ServiceClient {\n $host: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the AzureDigitalTwinsAPI class.\n * @param options The parameter options\n */\n constructor(options?: AzureDigitalTwinsAPIOptionalParams) {\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: AzureDigitalTwinsAPIOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-digital-twins-core/2.0.0`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n endpoint:\n options.endpoint ?? options.baseUri ?? \"https://digitaltwins-hostname\"\n };\n super(optionsWithDefaults);\n\n // Assigning values to Constant parameters\n this.$host = options.$host || \"https://digitaltwins-hostname\";\n this.apiVersion = options.apiVersion || \"2020-10-31\";\n this.digitalTwinModels = new DigitalTwinModelsImpl(this);\n this.query = new QueryImpl(this);\n this.digitalTwins = new DigitalTwinsImpl(this);\n this.eventRoutes = new EventRoutesImpl(this);\n this.addCustomApiVersionPolicy(options.apiVersion);\n }\n\n /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */\n private addCustomApiVersionPolicy(apiVersion?: string) {\n if (!apiVersion) {\n return;\n }\n const apiVersionPolicy = {\n name: \"CustomApiVersionPolicy\",\n async sendRequest(\n request: PipelineRequest,\n next: SendRequest\n ): Promise<PipelineResponse> {\n const param = request.url.split(\"?\");\n if (param.length > 1) {\n const newParams = param[1].split(\"&\").map((item) => {\n if (item.indexOf(\"api-version\") > -1) {\n return \"api-version=\" + apiVersion;\n } else {\n return item;\n }\n });\n request.url = param[0] + \"?\" + newParams.join(\"&\");\n }\n return next(request);\n }\n };\n this.pipeline.addPolicy(apiVersionPolicy);\n }\n\n digitalTwinModels: DigitalTwinModels;\n query: Query;\n digitalTwins: DigitalTwins;\n eventRoutes: EventRoutes;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const SDK_VERSION: string = \"2.0.0\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\nimport { SDK_VERSION } from \"./constants\";\n\n/**\n * Creates a tracing client to manage tracing spans.\n * @internal\n */\nexport const tracingClient = createTracingClient({\n namespace: \"Microsoft.DigitalTwins\",\n packageName: \"@azure/digital-twins-core\",\n packageVersion: SDK_VERSION,\n});\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * The \\@azure/logger configuration for this package.\n */\nexport const logger = createClientLogger(\"azure-digitaltwins-core\");\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @azure/azure-sdk/ts-naming-options */\nimport type {\n OperationOptions,\n InternalClientPipelineOptions,\n CommonClientOptions,\n} from \"@azure/core-client\";\nimport type { TokenCredential } from \"@azure/core-auth\";\nimport type { PageSettings, PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { v4 as generateUuid } from \"uuid\";\nimport { AzureDigitalTwinsAPI as GeneratedClient } from \"./generated/azureDigitalTwinsAPI\";\nimport type {\n DigitalTwinsGetByIdResponse,\n DigitalTwinsAddOptionalParams,\n DigitalTwinsAddResponse,\n DigitalTwinsUpdateOptionalParams,\n DigitalTwinsUpdateResponse,\n DigitalTwinsDeleteOptionalParams,\n DigitalTwinsGetComponentResponse,\n DigitalTwinsUpdateComponentResponse,\n DigitalTwinsUpdateComponentOptionalParams,\n DigitalTwinsAddRelationshipResponse,\n DigitalTwinsAddRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipResponse,\n DigitalTwinsDeleteRelationshipOptionalParams,\n IncomingRelationship,\n DigitalTwinsGetRelationshipByIdResponse,\n DigitalTwinsModelData,\n DigitalTwinModelsGetByIdResponse,\n DigitalTwinModelsAddResponse,\n EventRoutesGetByIdResponse,\n EventRoute,\n QueryQueryTwinsResponse,\n} from \"./generated/models\";\nimport {\n DigitalTwinModelsGetByIdOptionalParams as GetModelOptions,\n DigitalTwinModelsListOptionalParams as ListModelsOptions,\n QueryQueryTwinsOptionalParams as QueryTwinsOptions,\n EventRoutesListOptionalParams as ListEventRoutesOptions,\n DigitalTwinsListRelationshipsOptionalParams as ListRelationshipsOptions,\n DigitalTwinsListIncomingRelationshipsOptionalParams as ListIncomingRelationshipsOptions,\n} from \"./generated/models\";\nimport { tracingClient } from \"./tracing\";\nimport { logger } from \"./logger\";\nexport {\n GetModelOptions,\n ListModelsOptions,\n QueryTwinsOptions,\n ListEventRoutesOptions,\n ListIncomingRelationshipsOptions,\n ListRelationshipsOptions,\n};\n\n/**\n * Options for the DigitalTwinsClient class\n */\nexport interface DigitalTwinsClientOptions extends CommonClientOptions {}\n\nconst DEFAULT_DIGITALTWINS_SCOPE = \"https://digitaltwins.azure.net/.default\";\n\n/**\n * Client for Azure IoT DigitalTwins API.\n */\nexport class DigitalTwinsClient {\n /**\n * A reference to the auto-generated AzureDigitalTwinsAPI\n */\n private readonly client: GeneratedClient;\n\n /**\n * Creates an instance of AzureDigitalTwinsAPI.\n *\n * Example usage:\n * ```ts\n * const { DigitalTwinsClient, ServiceClientCredentials } = require(\"@azure/digital-twins-core\");\n *\n * const client = new DigitalTwinsClient(\n * \"<endpoint>\",\n * new DefaultAzureCredential();\n * );\n * ```\n * @param endpointUrl - The endpoint URL of the service.\n * @param credential - Used to authenticate requests to the service.\n * @param options - Used to configure the service client.\n */\n constructor(\n endpointUrl: string,\n credential: TokenCredential,\n options: DigitalTwinsClientOptions = {},\n ) {\n const internalPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n loggingOptions: {\n logger: logger.info,\n additionalAllowedHeaderNames: [\"x-ms-request-id\"],\n },\n };\n\n this.client = new GeneratedClient({\n endpoint: endpointUrl,\n credential,\n credentialScopes: DEFAULT_DIGITALTWINS_SCOPE,\n ...internalPipelineOptions,\n });\n }\n\n /**\n * Get a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param options - The operation options\n * @returns The application/json digital twin.\n */\n public getDigitalTwin(\n digitalTwinId: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getById(digitalTwinId, updatedOptions);\n },\n );\n }\n\n /**\n * Create or update a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin to create or update.\n * @param digitalTwinJson - The application/json digital twin to create.\n * @param options - Extended operation options including\n * ifNoneMatch: Only perform the operation if the entity does not already exist.\n * @returns The created application/json digital twin.\n */\n public upsertDigitalTwin(\n digitalTwinId: string,\n digitalTwinJson: string,\n options: DigitalTwinsAddOptionalParams = {},\n ): Promise<DigitalTwinsAddResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertDigitalTwin\",\n options,\n async (updatedOptions) => {\n const payload = JSON.parse(digitalTwinJson);\n return this.client.digitalTwins.add(digitalTwinId, payload, updatedOptions);\n },\n );\n }\n\n /**\n * Update a digital twin using a json patch.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param jsonPatch - An update specification described by JSON Patch. Updates to property values\n * and $model elements may happen in the same request. Operations are limited to add, replace and\n * remove.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public updateDigitalTwin(\n digitalTwinId: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateOptionalParams = {},\n ): Promise<DigitalTwinsUpdateResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.update(digitalTwinId, jsonPatch, updatedOptions);\n },\n );\n }\n\n /**\n * Delete a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public deleteDigitalTwin(\n digitalTwinId: string,\n options: DigitalTwinsDeleteOptionalParams = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.delete(digitalTwinId, updatedOptions);\n },\n );\n }\n\n /**\n * Get a component on a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param componentName - The component being retrieved.\n * @param options - The operation options\n * @returns Json string representation of the component corresponding to the provided componentName.\n */\n public getComponent(\n digitalTwinId: string,\n componentName: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetComponentResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getComponent\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getComponent(digitalTwinId, componentName, updatedOptions);\n },\n );\n }\n\n /**\n * Update properties of a component on a digital twin using a JSON patch.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param componentName - The component being updated.\n * @param jsonPatch - The application/json-patch+json operations to be performed on the specified digital twin's component.\n * @param enableUpdate - If true then update of an existing digital twin is enabled.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public updateComponent(\n digitalTwinId: string,\n componentName: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateComponentOptionalParams = {},\n ): Promise<DigitalTwinsUpdateComponentResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateComponent\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.updateComponent(\n digitalTwinId,\n componentName,\n jsonPatch,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Get a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to retrieve.\n * @param options - The operation options\n * @returns The pageable list of application/json relationships belonging to the specified digital twin.\n */\n public getRelationship(\n digitalTwinId: string,\n relationshipId: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetRelationshipByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getRelationshipById(\n digitalTwinId,\n relationshipId,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Create or update a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to create.\n * @param relationship - The application/json relationship to be created.\n * @param options - Extended operation options including\n * ifNoneMatch: Only perform the operation if the entity does not already exist.\n */\n public upsertRelationship(\n digitalTwinId: string,\n relationshipId: string,\n relationship: Record<string, unknown>,\n options: DigitalTwinsAddRelationshipOptionalParams = {},\n ): Promise<DigitalTwinsAddRelationshipResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.addRelationship(\n digitalTwinId,\n relationshipId,\n relationship,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Updates the properties of a relationship on a digital twin using a JSON patch.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param relationshipId - The Id of the relationship to be updated.\n * @param jsonPatch - The application/json-patch+json operations to be performed on the specified digital twin's relationship.\n * @param options - Extended operation options\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n */\n public updateRelationship(\n digitalTwinId: string,\n relationshipId: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateRelationshipOptionalParams = {},\n ): Promise<DigitalTwinsUpdateRelationshipResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.updateRelationship(\n digitalTwinId,\n relationshipId,\n jsonPatch,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Delete a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to delete.\n * @param options - The operation options\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is\n\n */\n public deleteRelationship(\n digitalTwinId: string,\n relationshipId: string,\n options: DigitalTwinsDeleteRelationshipOptionalParams = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.deleteRelationship(\n digitalTwinId,\n relationshipId,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Retrieve relationships for a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n */\n public listRelationships(\n digitalTwinId: string,\n options?: ListRelationshipsOptions,\n ): PagedAsyncIterableIterator<Record<string, unknown>> {\n return this.client.digitalTwins.listRelationships(digitalTwinId, options);\n }\n\n /**\n * Retrieve all incoming relationships for a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n */\n public listIncomingRelationships(\n digitalTwinId: string,\n options?: ListIncomingRelationshipsOptions,\n ): PagedAsyncIterableIterator<IncomingRelationship> {\n return this.client.digitalTwins.listIncomingRelationships(digitalTwinId, options);\n }\n\n /**\n * Publish telemetry from a digital twin, which is then consumed by one or many destination endpoints (subscribers) defined under.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param payload - The application/json telemetry payload to be sent.\n * @param messageId - The message Id.\n * @param options - The operation options\n\n */\n public publishTelemetry(\n digitalTwinId: string,\n payload: Record<string, unknown>,\n messageId: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.publishTelemetry\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.sendTelemetry(\n digitalTwinId,\n messageId || generateUuid(),\n payload,\n {\n ...updatedOptions,\n telemetrySourceTime: new Date().toISOString(),\n },\n );\n },\n );\n }\n\n /**\n * Publish telemetry from a digital twin's component, which is then consumed by one or many destination endpoints (subscribers) defined under.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param componentName - The name of the DTDL component.\n * @param payload - The application/json telemetry payload to be sent.\n * @param messageId - The message Id.\n * @param options - The operation options\n\n */\n public publishComponentTelemetry(\n digitalTwinId: string,\n componentName: string,\n payload: Record<string, unknown>,\n messageId: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.publishComponentTelemetry\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.sendComponentTelemetry(\n digitalTwinId,\n componentName,\n messageId || generateUuid(),\n payload,\n { ...updatedOptions, telemetrySourceTime: new Date().toISOString() },\n );\n },\n );\n }\n\n /**\n * Get a model, including the model metadata and the model definition.\n *\n * @param modelId - The Id of the model.\n * @param options - Options for this operation\n * @returns The application/json model.\n */\n public getModel(\n modelId: string,\n options: GetModelOptions = {},\n ): Promise<DigitalTwinModelsGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getModel\",\n {\n ...options,\n includeModelDefinition: options?.includeModelDefinition ?? false,\n },\n async (updatedOptions) => {\n return this.client.digitalTwinModels.getById(modelId, updatedOptions);\n },\n );\n }\n\n /**\n * Get the list of models\n *\n * @param options - Options for listing models.\n * @returns A pageable set of application/json models.\n */\n public listModels(\n options: ListModelsOptions = {},\n ): PagedAsyncIterableIterator<DigitalTwinsModelData> {\n return this.client.digitalTwinModels.list({\n ...options,\n includeModelDefinition: options?.includeModelDefinition ?? false,\n });\n }\n\n /**\n * Create one or many\n *\n * @param dtdlModels - The set of models to create. Each string corresponds to exactly one model.\n * @param options - The operation options\n * @returns The created application/json models.\n */\n public createModels(\n dtdlModels: Array<Record<string, unknown>>,\n options: OperationOptions = {},\n ): Promise<DigitalTwinModelsAddResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.createModels\",\n {\n ...options,\n models: dtdlModels,\n },\n async (updatedOptions) => {\n return this.client.digitalTwinModels.add(updatedOptions);\n },\n );\n }\n\n /**\n * Decommission a model using a json patch.\n * When a model is decommissioned, new digital twins will no longer be able to be\n * defined by this model. However, existing digital twins may continue to use this model.\n * Once a model is decommissioned, it may not be recommissioned.\n *\n * @param modelId - The Id of the model to decommission.\n * property can be replaced.\n * @param options - The operation options\n\n *\n */\n public decomissionModel(modelId: string, options: OperationOptions = {}): Promise<void> {\n const jsonPatch = [{ op: \"replace\", path: \"/decommissioned\", value: true }];\n\n return tracingClient.withSpan(\n \"DigitalTwinsClient.decomissionModel\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwinModels.update(modelId, jsonPatch, updatedOptions);\n },\n );\n }\n\n /**\n * Delete a model.\n *\n * @param modelId - The Id of the model to delete.\n * @param options - The operation options\n\n */\n public deleteModel(modelId: string, options: OperationOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteModel\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwinModels.delete(modelId, updatedOptions);\n },\n );\n }\n\n /**\n * Get an event route.\n *\n * @param modelId - The Id of the event route.\n * @param options - The operation options\n * @returns The application/json event route.\n */\n public getEventRoute(\n eventRouteId: string,\n options: OperationOptions = {},\n ): Promise<EventRoutesGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getEventRoute\",\n options,\n async (updatedOptions) => {\n return this.client.eventRoutes.getById(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * List the event routes in a digital twins instance.\n *\n * @param options - Options for listEventRoutes.\n * @returns The application/json event route.\n */\n public listEventRoutes(options?: ListEventRoutesOptions): PagedAsyncIterableIterator<EventRoute> {\n return this.client.eventRoutes.list(options);\n }\n\n /**\n * Create or update an event route.\n *\n * @param eventRouteId - The Id of the event route to create or update.\n * @param endpointId - The id of the endpoint this event route is bound to.\n * @param filter - An expression which describes the events which are routed to the endpoint.\n * @param options - The operation options\n\n */\n public upsertEventRoute(\n eventRouteId: string,\n endpointId: string,\n filter: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertEventRoute\",\n {\n eventRoute: {\n endpointName: endpointId,\n filter,\n },\n ...options,\n },\n async (updatedOptions) => {\n return this.client.eventRoutes.add(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * Delete an event route.\n *\n * @param eventRouteId - The Id of the eventRoute to delete.\n * @param options - The operation options\n\n */\n public deleteEventRoute(eventRouteId: string, options: OperationOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteEventRoute\",\n options,\n async (updatedOptions) => {\n return this.client.eventRoutes.delete(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * Deals with the pagination of {@link query}.\n *\n * @param query - The query string, in SQL-like syntax.\n * @param options - Common options for the iterative endpoints.\n * @param continuationState - An object that indicates the position of the paginated request.\n *\n */\n private async *queryTwinsPage(\n query: string,\n options: QueryTwinsOptions,\n continuationState?: PageSettings,\n ): AsyncIterableIterator<QueryQueryTwinsResponse> {\n let { continuationToken } = continuationState ?? {};\n if (!continuationToken) {\n const queryResult = await this.client.query.queryTwins({ query }, options);\n continuationToken = queryResult.continuationToken;\n yield queryResult;\n }\n while (continuationToken) {\n const queryResult = await this.client.query.queryTwins({ query, continuationToken }, options);\n continuationToken = queryResult.continuationToken;\n yield queryResult;\n }\n }\n\n /**\n * Deals with the iteration of all the available results of {@link query}.\n * @param query - The query string, in SQL-like syntax.\n * @param options - Common options for the iterative endpoints.\n */\n private async *queryTwinsAll(\n query: string,\n options: QueryTwinsOptions,\n ): AsyncIterableIterator<Record<string, unknown>> {\n for await (const page of this.queryTwinsPage(query, options)) {\n if (page.value) {\n yield* page.value;\n }\n }\n }\n\n /**\n * Query for digital twins.\n *\n * @param query - The query string, in SQL-like syntax.\n * @param options - Options for the query operation.\n * @returns The pageable list of query results.\n */\n public queryTwins(\n query: string,\n options: QueryTwinsOptions = {},\n ): PagedAsyncIterableIterator<Record<string, unknown>, QueryQueryTwinsResponse> {\n const iter = this.queryTwinsAll(query, options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => this.queryTwinsPage(query, options, settings),\n };\n }\n}\n"],"names":["QuerySpecificationMapper","EventRouteMapper","__await","__asyncValues","__asyncDelegator","addOperationSpec","listOperationSpec","getByIdOperationSpec","updateOperationSpec","deleteOperationSpec","listNextOperationSpec","serializer","coreClient","Mappers.ErrorResponse","Parameters.models","Parameters.apiVersion","Parameters.$host","Parameters.contentType","Parameters.accept","Mappers.PagedDigitalTwinsModelDataCollection","Parameters.dependenciesFor","Parameters.includeModelDefinition","Parameters.resultsPerPage","Mappers.DigitalTwinsModelData","Parameters.id","Parameters.updateModel","Parameters.contentType1","Parameters.nextLink","Mappers.QueryResult","Mappers.QueryQueryTwinsHeaders","Parameters.querySpecification","Mappers.DigitalTwinsGetByIdHeaders","Mappers.DigitalTwinsAddHeaders","Parameters.twin","Parameters.ifNoneMatch","Parameters.ifMatch","Mappers.DigitalTwinsUpdateHeaders","Parameters.patchDocument","Mappers.DigitalTwinsGetRelationshipByIdHeaders","Parameters.relationshipId","Mappers.DigitalTwinsAddRelationshipHeaders","Parameters.relationship","Mappers.DigitalTwinsUpdateRelationshipHeaders","Mappers.RelationshipCollection","Parameters.relationshipName","Mappers.IncomingRelationshipCollection","Parameters.telemetry","Parameters.messageId","Parameters.telemetrySourceTime","Parameters.componentPath","Mappers.DigitalTwinsGetComponentHeaders","Mappers.DigitalTwinsUpdateComponentHeaders","Mappers.EventRouteCollection","Mappers.EventRoute","Parameters.eventRoute","createTracingClient","createClientLogger","GeneratedClient","generateUuid"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"digitalTwinsClient.js","sourceRoot":"","sources":["../../src/digitalTwinsClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @azure/azure-sdk/ts-naming-options */\nimport {\n OperationOptions,\n InternalClientPipelineOptions,\n CommonClientOptions,\n} from \"@azure/core-client\";\nimport { TokenCredential } from \"@azure/core-auth\";\nimport { PageSettings, PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { v4 as generateUuid } from \"uuid\";\nimport { AzureDigitalTwinsAPI as GeneratedClient } from \"./generated/azureDigitalTwinsAPI\";\nimport {\n DigitalTwinsGetByIdResponse,\n DigitalTwinsAddOptionalParams,\n DigitalTwinsAddResponse,\n DigitalTwinsUpdateOptionalParams,\n DigitalTwinsUpdateResponse,\n DigitalTwinsDeleteOptionalParams,\n DigitalTwinsGetComponentResponse,\n DigitalTwinsUpdateComponentResponse,\n DigitalTwinsUpdateComponentOptionalParams,\n DigitalTwinsAddRelationshipResponse,\n DigitalTwinsAddRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipResponse,\n DigitalTwinsDeleteRelationshipOptionalParams,\n IncomingRelationship,\n DigitalTwinsGetRelationshipByIdResponse,\n DigitalTwinsModelData,\n DigitalTwinModelsGetByIdResponse,\n DigitalTwinModelsAddResponse,\n EventRoutesGetByIdResponse,\n EventRoute,\n QueryQueryTwinsResponse,\n DigitalTwinModelsGetByIdOptionalParams as GetModelOptions,\n DigitalTwinModelsListOptionalParams as ListModelsOptions,\n QueryQueryTwinsOptionalParams as QueryTwinsOptions,\n EventRoutesListOptionalParams as ListEventRoutesOptions,\n DigitalTwinsListRelationshipsOptionalParams as ListRelationshipsOptions,\n DigitalTwinsListIncomingRelationshipsOptionalParams as ListIncomingRelationshipsOptions,\n} from \"./generated/models\";\nimport { tracingClient } from \"./tracing\";\nimport { logger } from \"./logger\";\nexport {\n GetModelOptions,\n ListModelsOptions,\n QueryTwinsOptions,\n ListEventRoutesOptions,\n ListIncomingRelationshipsOptions,\n ListRelationshipsOptions,\n};\n\n/**\n * Options for the DigitalTwinsClient class\n */\nexport interface DigitalTwinsClientOptions extends CommonClientOptions {}\n\nconst DEFAULT_DIGITALTWINS_SCOPE = \"https://digitaltwins.azure.net/.default\";\n\n/**\n * Client for Azure IoT DigitalTwins API.\n */\nexport class DigitalTwinsClient {\n /**\n * A reference to the auto-generated AzureDigitalTwinsAPI\n */\n private readonly client: GeneratedClient;\n\n /**\n * Creates an instance of AzureDigitalTwinsAPI.\n *\n * Example usage:\n * ```ts\n * const { DigitalTwinsClient, ServiceClientCredentials } = require(\"@azure/digital-twins-core\");\n *\n * const client = new DigitalTwinsClient(\n * \"<endpoint>\",\n * new DefaultAzureCredential();\n * );\n * ```\n * @param endpointUrl - The endpoint URL of the service.\n * @param credential - Used to authenticate requests to the service.\n * @param options - Used to configure the service client.\n */\n constructor(\n endpointUrl: string,\n credential: TokenCredential,\n options: DigitalTwinsClientOptions = {},\n ) {\n const internalPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n loggingOptions: {\n logger: logger.info,\n additionalAllowedHeaderNames: [\"x-ms-request-id\"],\n },\n };\n\n this.client = new GeneratedClient({\n endpoint: endpointUrl,\n credential,\n credentialScopes: DEFAULT_DIGITALTWINS_SCOPE,\n ...internalPipelineOptions,\n });\n }\n\n /**\n * Get a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param options - The operation options\n * @returns The application/json digital twin.\n */\n public getDigitalTwin(\n digitalTwinId: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getById(digitalTwinId, updatedOptions);\n },\n );\n }\n\n /**\n * Create or update a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin to create or update.\n * @param digitalTwinJson - The application/json digital twin to create.\n * @param options - Extended operation options including\n * ifNoneMatch: Only perform the operation if the entity does not already exist.\n * @returns The created application/json digital twin.\n */\n public upsertDigitalTwin(\n digitalTwinId: string,\n digitalTwinJson: string,\n options: DigitalTwinsAddOptionalParams = {},\n ): Promise<DigitalTwinsAddResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertDigitalTwin\",\n options,\n async (updatedOptions) => {\n const payload = JSON.parse(digitalTwinJson);\n return this.client.digitalTwins.add(digitalTwinId, payload, updatedOptions);\n },\n );\n }\n\n /**\n * Update a digital twin using a json patch.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param jsonPatch - An update specification described by JSON Patch. Updates to property values\n * and $model elements may happen in the same request. Operations are limited to add, replace and\n * remove.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public updateDigitalTwin(\n digitalTwinId: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateOptionalParams = {},\n ): Promise<DigitalTwinsUpdateResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.update(digitalTwinId, jsonPatch, updatedOptions);\n },\n );\n }\n\n /**\n * Delete a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public deleteDigitalTwin(\n digitalTwinId: string,\n options: DigitalTwinsDeleteOptionalParams = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.delete(digitalTwinId, updatedOptions);\n },\n );\n }\n\n /**\n * Get a component on a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param componentName - The component being retrieved.\n * @param options - The operation options\n * @returns Json string representation of the component corresponding to the provided componentName.\n */\n public getComponent(\n digitalTwinId: string,\n componentName: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetComponentResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getComponent\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getComponent(digitalTwinId, componentName, updatedOptions);\n },\n );\n }\n\n /**\n * Update properties of a component on a digital twin using a JSON patch.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param componentName - The component being updated.\n * @param jsonPatch - The application/json-patch+json operations to be performed on the specified digital twin's component.\n * @param enableUpdate - If true then update of an existing digital twin is enabled.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public updateComponent(\n digitalTwinId: string,\n componentName: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateComponentOptionalParams = {},\n ): Promise<DigitalTwinsUpdateComponentResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateComponent\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.updateComponent(\n digitalTwinId,\n componentName,\n jsonPatch,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Get a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to retrieve.\n * @param options - The operation options\n * @returns The pageable list of application/json relationships belonging to the specified digital twin.\n */\n public getRelationship(\n digitalTwinId: string,\n relationshipId: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetRelationshipByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getRelationshipById(\n digitalTwinId,\n relationshipId,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Create or update a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to create.\n * @param relationship - The application/json relationship to be created.\n * @param options - Extended operation options including\n * ifNoneMatch: Only perform the operation if the entity does not already exist.\n */\n public upsertRelationship(\n digitalTwinId: string,\n relationshipId: string,\n relationship: Record<string, unknown>,\n options: DigitalTwinsAddRelationshipOptionalParams = {},\n ): Promise<DigitalTwinsAddRelationshipResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.addRelationship(\n digitalTwinId,\n relationshipId,\n relationship,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Updates the properties of a relationship on a digital twin using a JSON patch.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param relationshipId - The Id of the relationship to be updated.\n * @param jsonPatch - The application/json-patch+json operations to be performed on the specified digital twin's relationship.\n * @param options - Extended operation options\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n */\n public updateRelationship(\n digitalTwinId: string,\n relationshipId: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateRelationshipOptionalParams = {},\n ): Promise<DigitalTwinsUpdateRelationshipResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.updateRelationship(\n digitalTwinId,\n relationshipId,\n jsonPatch,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Delete a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to delete.\n * @param options - The operation options\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is\n\n */\n public deleteRelationship(\n digitalTwinId: string,\n relationshipId: string,\n options: DigitalTwinsDeleteRelationshipOptionalParams = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.deleteRelationship(\n digitalTwinId,\n relationshipId,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Retrieve relationships for a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n */\n public listRelationships(\n digitalTwinId: string,\n options?: ListRelationshipsOptions,\n ): PagedAsyncIterableIterator<Record<string, unknown>> {\n return this.client.digitalTwins.listRelationships(digitalTwinId, options);\n }\n\n /**\n * Retrieve all incoming relationships for a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n */\n public listIncomingRelationships(\n digitalTwinId: string,\n options?: ListIncomingRelationshipsOptions,\n ): PagedAsyncIterableIterator<IncomingRelationship> {\n return this.client.digitalTwins.listIncomingRelationships(digitalTwinId, options);\n }\n\n /**\n * Publish telemetry from a digital twin, which is then consumed by one or many destination endpoints (subscribers) defined under.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param payload - The application/json telemetry payload to be sent.\n * @param messageId - The message Id.\n * @param options - The operation options\n\n */\n public publishTelemetry(\n digitalTwinId: string,\n payload: Record<string, unknown>,\n messageId: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.publishTelemetry\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.sendTelemetry(\n digitalTwinId,\n messageId || generateUuid(),\n payload,\n {\n ...updatedOptions,\n telemetrySourceTime: new Date().toISOString(),\n },\n );\n },\n );\n }\n\n /**\n * Publish telemetry from a digital twin's component, which is then consumed by one or many destination endpoints (subscribers) defined under.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param componentName - The name of the DTDL component.\n * @param payload - The application/json telemetry payload to be sent.\n * @param messageId - The message Id.\n * @param options - The operation options\n\n */\n public publishComponentTelemetry(\n digitalTwinId: string,\n componentName: string,\n payload: Record<string, unknown>,\n messageId: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.publishComponentTelemetry\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.sendComponentTelemetry(\n digitalTwinId,\n componentName,\n messageId || generateUuid(),\n payload,\n { ...updatedOptions, telemetrySourceTime: new Date().toISOString() },\n );\n },\n );\n }\n\n /**\n * Get a model, including the model metadata and the model definition.\n *\n * @param modelId - The Id of the model.\n * @param options - Options for this operation\n * @returns The application/json model.\n */\n public getModel(\n modelId: string,\n options: GetModelOptions = {},\n ): Promise<DigitalTwinModelsGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getModel\",\n {\n ...options,\n includeModelDefinition: options?.includeModelDefinition ?? false,\n },\n async (updatedOptions) => {\n return this.client.digitalTwinModels.getById(modelId, updatedOptions);\n },\n );\n }\n\n /**\n * Get the list of models\n *\n * @param options - Options for listing models.\n * @returns A pageable set of application/json models.\n */\n public listModels(\n options: ListModelsOptions = {},\n ): PagedAsyncIterableIterator<DigitalTwinsModelData> {\n return this.client.digitalTwinModels.list({\n ...options,\n includeModelDefinition: options?.includeModelDefinition ?? false,\n });\n }\n\n /**\n * Create one or many\n *\n * @param dtdlModels - The set of models to create. Each string corresponds to exactly one model.\n * @param options - The operation options\n * @returns The created application/json models.\n */\n public createModels(\n dtdlModels: Array<Record<string, unknown>>,\n options: OperationOptions = {},\n ): Promise<DigitalTwinModelsAddResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.createModels\",\n {\n ...options,\n models: dtdlModels,\n },\n async (updatedOptions) => {\n return this.client.digitalTwinModels.add(updatedOptions);\n },\n );\n }\n\n /**\n * Decommission a model using a json patch.\n * When a model is decommissioned, new digital twins will no longer be able to be\n * defined by this model. However, existing digital twins may continue to use this model.\n * Once a model is decommissioned, it may not be recommissioned.\n *\n * @param modelId - The Id of the model to decommission.\n * property can be replaced.\n * @param options - The operation options\n\n *\n */\n public decomissionModel(modelId: string, options: OperationOptions = {}): Promise<void> {\n const jsonPatch = [{ op: \"replace\", path: \"/decommissioned\", value: true }];\n\n return tracingClient.withSpan(\n \"DigitalTwinsClient.decomissionModel\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwinModels.update(modelId, jsonPatch, updatedOptions);\n },\n );\n }\n\n /**\n * Delete a model.\n *\n * @param modelId - The Id of the model to delete.\n * @param options - The operation options\n\n */\n public deleteModel(modelId: string, options: OperationOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteModel\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwinModels.delete(modelId, updatedOptions);\n },\n );\n }\n\n /**\n * Get an event route.\n *\n * @param modelId - The Id of the event route.\n * @param options - The operation options\n * @returns The application/json event route.\n */\n public getEventRoute(\n eventRouteId: string,\n options: OperationOptions = {},\n ): Promise<EventRoutesGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getEventRoute\",\n options,\n async (updatedOptions) => {\n return this.client.eventRoutes.getById(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * List the event routes in a digital twins instance.\n *\n * @param options - Options for listEventRoutes.\n * @returns The application/json event route.\n */\n public listEventRoutes(options?: ListEventRoutesOptions): PagedAsyncIterableIterator<EventRoute> {\n return this.client.eventRoutes.list(options);\n }\n\n /**\n * Create or update an event route.\n *\n * @param eventRouteId - The Id of the event route to create or update.\n * @param endpointId - The id of the endpoint this event route is bound to.\n * @param filter - An expression which describes the events which are routed to the endpoint.\n * @param options - The operation options\n\n */\n public upsertEventRoute(\n eventRouteId: string,\n endpointId: string,\n filter: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertEventRoute\",\n {\n eventRoute: {\n endpointName: endpointId,\n filter,\n },\n ...options,\n },\n async (updatedOptions) => {\n return this.client.eventRoutes.add(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * Delete an event route.\n *\n * @param eventRouteId - The Id of the eventRoute to delete.\n * @param options - The operation options\n\n */\n public deleteEventRoute(eventRouteId: string, options: OperationOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteEventRoute\",\n options,\n async (updatedOptions) => {\n return this.client.eventRoutes.delete(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * Deals with the pagination of {@link query}.\n *\n * @param query - The query string, in SQL-like syntax.\n * @param options - Common options for the iterative endpoints.\n * @param continuationState - An object that indicates the position of the paginated request.\n *\n */\n private async *queryTwinsPage(\n query: string,\n options: QueryTwinsOptions,\n continuationState?: PageSettings,\n ): AsyncIterableIterator<QueryQueryTwinsResponse> {\n let { continuationToken } = continuationState ?? {};\n if (!continuationToken) {\n const queryResult = await this.client.query.queryTwins({ query }, options);\n continuationToken = queryResult.continuationToken;\n yield queryResult;\n }\n while (continuationToken) {\n const queryResult = await this.client.query.queryTwins({ query, continuationToken }, options);\n continuationToken = queryResult.continuationToken;\n yield queryResult;\n }\n }\n\n /**\n * Deals with the iteration of all the available results of {@link query}.\n * @param query - The query string, in SQL-like syntax.\n * @param options - Common options for the iterative endpoints.\n */\n private async *queryTwinsAll(\n query: string,\n options: QueryTwinsOptions,\n ): AsyncIterableIterator<Record<string, unknown>> {\n for await (const page of this.queryTwinsPage(query, options)) {\n if (page.value) {\n yield* page.value;\n }\n }\n }\n\n /**\n * Query for digital twins.\n *\n * @param query - The query string, in SQL-like syntax.\n * @param options - Options for the query operation.\n * @returns The pageable list of query results.\n */\n public queryTwins(\n query: string,\n options: QueryTwinsOptions = {},\n ): PagedAsyncIterableIterator<Record<string, unknown>, QueryQueryTwinsResponse> {\n const iter = this.queryTwinsAll(query, options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => this.queryTwinsPage(query, options, settings),\n };\n }\n}\n"]}
1
+ {"version":3,"file":"digitalTwinsClient.js","sourceRoot":"","sources":["../../src/digitalTwinsClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @azure/azure-sdk/ts-naming-options */\nimport type {\n OperationOptions,\n InternalClientPipelineOptions,\n CommonClientOptions,\n} from \"@azure/core-client\";\nimport type { TokenCredential } from \"@azure/core-auth\";\nimport type { PageSettings, PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { v4 as generateUuid } from \"uuid\";\nimport { AzureDigitalTwinsAPI as GeneratedClient } from \"./generated/azureDigitalTwinsAPI\";\nimport type {\n DigitalTwinsGetByIdResponse,\n DigitalTwinsAddOptionalParams,\n DigitalTwinsAddResponse,\n DigitalTwinsUpdateOptionalParams,\n DigitalTwinsUpdateResponse,\n DigitalTwinsDeleteOptionalParams,\n DigitalTwinsGetComponentResponse,\n DigitalTwinsUpdateComponentResponse,\n DigitalTwinsUpdateComponentOptionalParams,\n DigitalTwinsAddRelationshipResponse,\n DigitalTwinsAddRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipOptionalParams,\n DigitalTwinsUpdateRelationshipResponse,\n DigitalTwinsDeleteRelationshipOptionalParams,\n IncomingRelationship,\n DigitalTwinsGetRelationshipByIdResponse,\n DigitalTwinsModelData,\n DigitalTwinModelsGetByIdResponse,\n DigitalTwinModelsAddResponse,\n EventRoutesGetByIdResponse,\n EventRoute,\n QueryQueryTwinsResponse,\n} from \"./generated/models\";\nimport {\n DigitalTwinModelsGetByIdOptionalParams as GetModelOptions,\n DigitalTwinModelsListOptionalParams as ListModelsOptions,\n QueryQueryTwinsOptionalParams as QueryTwinsOptions,\n EventRoutesListOptionalParams as ListEventRoutesOptions,\n DigitalTwinsListRelationshipsOptionalParams as ListRelationshipsOptions,\n DigitalTwinsListIncomingRelationshipsOptionalParams as ListIncomingRelationshipsOptions,\n} from \"./generated/models\";\nimport { tracingClient } from \"./tracing\";\nimport { logger } from \"./logger\";\nexport {\n GetModelOptions,\n ListModelsOptions,\n QueryTwinsOptions,\n ListEventRoutesOptions,\n ListIncomingRelationshipsOptions,\n ListRelationshipsOptions,\n};\n\n/**\n * Options for the DigitalTwinsClient class\n */\nexport interface DigitalTwinsClientOptions extends CommonClientOptions {}\n\nconst DEFAULT_DIGITALTWINS_SCOPE = \"https://digitaltwins.azure.net/.default\";\n\n/**\n * Client for Azure IoT DigitalTwins API.\n */\nexport class DigitalTwinsClient {\n /**\n * A reference to the auto-generated AzureDigitalTwinsAPI\n */\n private readonly client: GeneratedClient;\n\n /**\n * Creates an instance of AzureDigitalTwinsAPI.\n *\n * Example usage:\n * ```ts\n * const { DigitalTwinsClient, ServiceClientCredentials } = require(\"@azure/digital-twins-core\");\n *\n * const client = new DigitalTwinsClient(\n * \"<endpoint>\",\n * new DefaultAzureCredential();\n * );\n * ```\n * @param endpointUrl - The endpoint URL of the service.\n * @param credential - Used to authenticate requests to the service.\n * @param options - Used to configure the service client.\n */\n constructor(\n endpointUrl: string,\n credential: TokenCredential,\n options: DigitalTwinsClientOptions = {},\n ) {\n const internalPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n loggingOptions: {\n logger: logger.info,\n additionalAllowedHeaderNames: [\"x-ms-request-id\"],\n },\n };\n\n this.client = new GeneratedClient({\n endpoint: endpointUrl,\n credential,\n credentialScopes: DEFAULT_DIGITALTWINS_SCOPE,\n ...internalPipelineOptions,\n });\n }\n\n /**\n * Get a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param options - The operation options\n * @returns The application/json digital twin.\n */\n public getDigitalTwin(\n digitalTwinId: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getById(digitalTwinId, updatedOptions);\n },\n );\n }\n\n /**\n * Create or update a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin to create or update.\n * @param digitalTwinJson - The application/json digital twin to create.\n * @param options - Extended operation options including\n * ifNoneMatch: Only perform the operation if the entity does not already exist.\n * @returns The created application/json digital twin.\n */\n public upsertDigitalTwin(\n digitalTwinId: string,\n digitalTwinJson: string,\n options: DigitalTwinsAddOptionalParams = {},\n ): Promise<DigitalTwinsAddResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertDigitalTwin\",\n options,\n async (updatedOptions) => {\n const payload = JSON.parse(digitalTwinJson);\n return this.client.digitalTwins.add(digitalTwinId, payload, updatedOptions);\n },\n );\n }\n\n /**\n * Update a digital twin using a json patch.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param jsonPatch - An update specification described by JSON Patch. Updates to property values\n * and $model elements may happen in the same request. Operations are limited to add, replace and\n * remove.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public updateDigitalTwin(\n digitalTwinId: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateOptionalParams = {},\n ): Promise<DigitalTwinsUpdateResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.update(digitalTwinId, jsonPatch, updatedOptions);\n },\n );\n }\n\n /**\n * Delete a digital twin\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public deleteDigitalTwin(\n digitalTwinId: string,\n options: DigitalTwinsDeleteOptionalParams = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteDigitalTwin\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.delete(digitalTwinId, updatedOptions);\n },\n );\n }\n\n /**\n * Get a component on a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param componentName - The component being retrieved.\n * @param options - The operation options\n * @returns Json string representation of the component corresponding to the provided componentName.\n */\n public getComponent(\n digitalTwinId: string,\n componentName: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetComponentResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getComponent\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getComponent(digitalTwinId, componentName, updatedOptions);\n },\n );\n }\n\n /**\n * Update properties of a component on a digital twin using a JSON patch.\n *\n * @param digitalTwinId - The Id of the digital twin.\n * @param componentName - The component being updated.\n * @param jsonPatch - The application/json-patch+json operations to be performed on the specified digital twin's component.\n * @param enableUpdate - If true then update of an existing digital twin is enabled.\n * @param options - Extended operation options including\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n\n */\n public updateComponent(\n digitalTwinId: string,\n componentName: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateComponentOptionalParams = {},\n ): Promise<DigitalTwinsUpdateComponentResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateComponent\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.updateComponent(\n digitalTwinId,\n componentName,\n jsonPatch,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Get a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to retrieve.\n * @param options - The operation options\n * @returns The pageable list of application/json relationships belonging to the specified digital twin.\n */\n public getRelationship(\n digitalTwinId: string,\n relationshipId: string,\n options: OperationOptions = {},\n ): Promise<DigitalTwinsGetRelationshipByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.getRelationshipById(\n digitalTwinId,\n relationshipId,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Create or update a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to create.\n * @param relationship - The application/json relationship to be created.\n * @param options - Extended operation options including\n * ifNoneMatch: Only perform the operation if the entity does not already exist.\n */\n public upsertRelationship(\n digitalTwinId: string,\n relationshipId: string,\n relationship: Record<string, unknown>,\n options: DigitalTwinsAddRelationshipOptionalParams = {},\n ): Promise<DigitalTwinsAddRelationshipResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.addRelationship(\n digitalTwinId,\n relationshipId,\n relationship,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Updates the properties of a relationship on a digital twin using a JSON patch.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param relationshipId - The Id of the relationship to be updated.\n * @param jsonPatch - The application/json-patch+json operations to be performed on the specified digital twin's relationship.\n * @param options - Extended operation options\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is provided.\n */\n public updateRelationship(\n digitalTwinId: string,\n relationshipId: string,\n jsonPatch: Array<Record<string, unknown>>,\n options: DigitalTwinsUpdateRelationshipOptionalParams = {},\n ): Promise<DigitalTwinsUpdateRelationshipResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.updateRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.updateRelationship(\n digitalTwinId,\n relationshipId,\n jsonPatch,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Delete a relationship on a digital twin.\n *\n * @param digitalTwinId - The Id of the source digital twin.\n * @param relationshipId - The Id of the relationship to delete.\n * @param options - The operation options\n * ifMatch: Only perform the operation if the entity's etag matches one of the etags provided or * is\n\n */\n public deleteRelationship(\n digitalTwinId: string,\n relationshipId: string,\n options: DigitalTwinsDeleteRelationshipOptionalParams = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteRelationship\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.deleteRelationship(\n digitalTwinId,\n relationshipId,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Retrieve relationships for a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n */\n public listRelationships(\n digitalTwinId: string,\n options?: ListRelationshipsOptions,\n ): PagedAsyncIterableIterator<Record<string, unknown>> {\n return this.client.digitalTwins.listRelationships(digitalTwinId, options);\n }\n\n /**\n * Retrieve all incoming relationships for a digital twin.\n *\n * @param digitalTwinId - The Id of the digital twin.\n */\n public listIncomingRelationships(\n digitalTwinId: string,\n options?: ListIncomingRelationshipsOptions,\n ): PagedAsyncIterableIterator<IncomingRelationship> {\n return this.client.digitalTwins.listIncomingRelationships(digitalTwinId, options);\n }\n\n /**\n * Publish telemetry from a digital twin, which is then consumed by one or many destination endpoints (subscribers) defined under.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param payload - The application/json telemetry payload to be sent.\n * @param messageId - The message Id.\n * @param options - The operation options\n\n */\n public publishTelemetry(\n digitalTwinId: string,\n payload: Record<string, unknown>,\n messageId: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.publishTelemetry\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.sendTelemetry(\n digitalTwinId,\n messageId || generateUuid(),\n payload,\n {\n ...updatedOptions,\n telemetrySourceTime: new Date().toISOString(),\n },\n );\n },\n );\n }\n\n /**\n * Publish telemetry from a digital twin's component, which is then consumed by one or many destination endpoints (subscribers) defined under.\n *\n * @param digitalTwinId - The Id of the digital twin to delete.\n * @param componentName - The name of the DTDL component.\n * @param payload - The application/json telemetry payload to be sent.\n * @param messageId - The message Id.\n * @param options - The operation options\n\n */\n public publishComponentTelemetry(\n digitalTwinId: string,\n componentName: string,\n payload: Record<string, unknown>,\n messageId: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.publishComponentTelemetry\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwins.sendComponentTelemetry(\n digitalTwinId,\n componentName,\n messageId || generateUuid(),\n payload,\n { ...updatedOptions, telemetrySourceTime: new Date().toISOString() },\n );\n },\n );\n }\n\n /**\n * Get a model, including the model metadata and the model definition.\n *\n * @param modelId - The Id of the model.\n * @param options - Options for this operation\n * @returns The application/json model.\n */\n public getModel(\n modelId: string,\n options: GetModelOptions = {},\n ): Promise<DigitalTwinModelsGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getModel\",\n {\n ...options,\n includeModelDefinition: options?.includeModelDefinition ?? false,\n },\n async (updatedOptions) => {\n return this.client.digitalTwinModels.getById(modelId, updatedOptions);\n },\n );\n }\n\n /**\n * Get the list of models\n *\n * @param options - Options for listing models.\n * @returns A pageable set of application/json models.\n */\n public listModels(\n options: ListModelsOptions = {},\n ): PagedAsyncIterableIterator<DigitalTwinsModelData> {\n return this.client.digitalTwinModels.list({\n ...options,\n includeModelDefinition: options?.includeModelDefinition ?? false,\n });\n }\n\n /**\n * Create one or many\n *\n * @param dtdlModels - The set of models to create. Each string corresponds to exactly one model.\n * @param options - The operation options\n * @returns The created application/json models.\n */\n public createModels(\n dtdlModels: Array<Record<string, unknown>>,\n options: OperationOptions = {},\n ): Promise<DigitalTwinModelsAddResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.createModels\",\n {\n ...options,\n models: dtdlModels,\n },\n async (updatedOptions) => {\n return this.client.digitalTwinModels.add(updatedOptions);\n },\n );\n }\n\n /**\n * Decommission a model using a json patch.\n * When a model is decommissioned, new digital twins will no longer be able to be\n * defined by this model. However, existing digital twins may continue to use this model.\n * Once a model is decommissioned, it may not be recommissioned.\n *\n * @param modelId - The Id of the model to decommission.\n * property can be replaced.\n * @param options - The operation options\n\n *\n */\n public decomissionModel(modelId: string, options: OperationOptions = {}): Promise<void> {\n const jsonPatch = [{ op: \"replace\", path: \"/decommissioned\", value: true }];\n\n return tracingClient.withSpan(\n \"DigitalTwinsClient.decomissionModel\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwinModels.update(modelId, jsonPatch, updatedOptions);\n },\n );\n }\n\n /**\n * Delete a model.\n *\n * @param modelId - The Id of the model to delete.\n * @param options - The operation options\n\n */\n public deleteModel(modelId: string, options: OperationOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteModel\",\n options,\n async (updatedOptions) => {\n return this.client.digitalTwinModels.delete(modelId, updatedOptions);\n },\n );\n }\n\n /**\n * Get an event route.\n *\n * @param modelId - The Id of the event route.\n * @param options - The operation options\n * @returns The application/json event route.\n */\n public getEventRoute(\n eventRouteId: string,\n options: OperationOptions = {},\n ): Promise<EventRoutesGetByIdResponse> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.getEventRoute\",\n options,\n async (updatedOptions) => {\n return this.client.eventRoutes.getById(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * List the event routes in a digital twins instance.\n *\n * @param options - Options for listEventRoutes.\n * @returns The application/json event route.\n */\n public listEventRoutes(options?: ListEventRoutesOptions): PagedAsyncIterableIterator<EventRoute> {\n return this.client.eventRoutes.list(options);\n }\n\n /**\n * Create or update an event route.\n *\n * @param eventRouteId - The Id of the event route to create or update.\n * @param endpointId - The id of the endpoint this event route is bound to.\n * @param filter - An expression which describes the events which are routed to the endpoint.\n * @param options - The operation options\n\n */\n public upsertEventRoute(\n eventRouteId: string,\n endpointId: string,\n filter: string,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.upsertEventRoute\",\n {\n eventRoute: {\n endpointName: endpointId,\n filter,\n },\n ...options,\n },\n async (updatedOptions) => {\n return this.client.eventRoutes.add(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * Delete an event route.\n *\n * @param eventRouteId - The Id of the eventRoute to delete.\n * @param options - The operation options\n\n */\n public deleteEventRoute(eventRouteId: string, options: OperationOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"DigitalTwinsClient.deleteEventRoute\",\n options,\n async (updatedOptions) => {\n return this.client.eventRoutes.delete(eventRouteId, updatedOptions);\n },\n );\n }\n\n /**\n * Deals with the pagination of {@link query}.\n *\n * @param query - The query string, in SQL-like syntax.\n * @param options - Common options for the iterative endpoints.\n * @param continuationState - An object that indicates the position of the paginated request.\n *\n */\n private async *queryTwinsPage(\n query: string,\n options: QueryTwinsOptions,\n continuationState?: PageSettings,\n ): AsyncIterableIterator<QueryQueryTwinsResponse> {\n let { continuationToken } = continuationState ?? {};\n if (!continuationToken) {\n const queryResult = await this.client.query.queryTwins({ query }, options);\n continuationToken = queryResult.continuationToken;\n yield queryResult;\n }\n while (continuationToken) {\n const queryResult = await this.client.query.queryTwins({ query, continuationToken }, options);\n continuationToken = queryResult.continuationToken;\n yield queryResult;\n }\n }\n\n /**\n * Deals with the iteration of all the available results of {@link query}.\n * @param query - The query string, in SQL-like syntax.\n * @param options - Common options for the iterative endpoints.\n */\n private async *queryTwinsAll(\n query: string,\n options: QueryTwinsOptions,\n ): AsyncIterableIterator<Record<string, unknown>> {\n for await (const page of this.queryTwinsPage(query, options)) {\n if (page.value) {\n yield* page.value;\n }\n }\n }\n\n /**\n * Query for digital twins.\n *\n * @param query - The query string, in SQL-like syntax.\n * @param options - Options for the query operation.\n * @returns The pageable list of query results.\n */\n public queryTwins(\n query: string,\n options: QueryTwinsOptions = {},\n ): PagedAsyncIterableIterator<Record<string, unknown>, QueryQueryTwinsResponse> {\n const iter = this.queryTwinsAll(query, options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => this.queryTwinsPage(query, options, settings),\n };\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/digital-twins-core",
3
- "version": "2.0.0-alpha.20241028.1",
3
+ "version": "2.0.0-alpha.20241030.1",
4
4
  "description": "An isomorphic client library for Azure Digital Twins",
5
5
  "sdk-type": "client",
6
6
  "author": "Microsoft Corporation",
@@ -1,8 +1,8 @@
1
- import { CommonClientOptions } from '@azure/core-client';
1
+ import type { CommonClientOptions } from '@azure/core-client';
2
2
  import * as coreClient from '@azure/core-client';
3
- import { OperationOptions } from '@azure/core-client';
4
- import { PagedAsyncIterableIterator } from '@azure/core-paging';
5
- import { TokenCredential } from '@azure/core-auth';
3
+ import type { OperationOptions } from '@azure/core-client';
4
+ import type { PagedAsyncIterableIterator } from '@azure/core-paging';
5
+ import type { TokenCredential } from '@azure/core-auth';
6
6
 
7
7
  /** Contains response data for the add operation. */
8
8
  export declare type DigitalTwinModelsAddResponse = DigitalTwinsModelData[];