@azure/data-tables 13.3.1 → 13.3.3-alpha.20251117.2

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.
Files changed (204) hide show
  1. package/dist/browser/TableClient.js +105 -61
  2. package/dist/browser/TableClient.js.map +1 -1
  3. package/dist/browser/TableServiceClient.js +59 -48
  4. package/dist/browser/TableServiceClient.js.map +1 -1
  5. package/dist/browser/TableTransaction.js +34 -9
  6. package/dist/browser/TableTransaction.js.map +1 -1
  7. package/dist/browser/generated/generatedClient.js +11 -3
  8. package/dist/browser/generated/generatedClient.js.map +1 -1
  9. package/dist/browser/generated/generatedClientContext.js +10 -3
  10. package/dist/browser/generated/generatedClientContext.js.map +1 -1
  11. package/dist/browser/generated/models/mappers.js +5 -2
  12. package/dist/browser/generated/models/mappers.js.map +1 -1
  13. package/dist/browser/generated/operations/service.js +1 -0
  14. package/dist/browser/generated/operations/service.js.map +1 -1
  15. package/dist/browser/generated/operations/table.js +1 -0
  16. package/dist/browser/generated/operations/table.js.map +1 -1
  17. package/dist/browser/sas/accountSasPermissions.d.ts +1 -1
  18. package/dist/browser/sas/accountSasPermissions.js +2 -2
  19. package/dist/browser/sas/accountSasPermissions.js.map +1 -1
  20. package/dist/browser/sas/accountSasResourceTypes.d.ts +1 -1
  21. package/dist/browser/sas/accountSasResourceTypes.js +1 -1
  22. package/dist/browser/sas/accountSasResourceTypes.js.map +1 -1
  23. package/dist/browser/sas/accountSasSignatureValues.d.ts +1 -1
  24. package/dist/browser/sas/accountSasSignatureValues.js +1 -1
  25. package/dist/browser/sas/accountSasSignatureValues.js.map +1 -1
  26. package/dist/browser/sas/generateAccountSas.d.ts +1 -1
  27. package/dist/browser/sas/generateAccountSas.js +9 -4
  28. package/dist/browser/sas/generateAccountSas.js.map +1 -1
  29. package/dist/browser/sas/generateTableSas.d.ts +1 -1
  30. package/dist/browser/sas/generateTableSas.js +6 -3
  31. package/dist/browser/sas/generateTableSas.js.map +1 -1
  32. package/dist/browser/sas/sasQueryParameters.d.ts +1 -1
  33. package/dist/browser/sas/sasQueryParameters.js +112 -0
  34. package/dist/browser/sas/sasQueryParameters.js.map +1 -1
  35. package/dist/browser/sas/tableSasSignatureValues.d.ts +1 -1
  36. package/dist/browser/sas/tableSasSignatureValues.js +6 -7
  37. package/dist/browser/sas/tableSasSignatureValues.js.map +1 -1
  38. package/dist/browser/secondaryEndpointPolicy.js +10 -2
  39. package/dist/browser/secondaryEndpointPolicy.js.map +1 -1
  40. package/dist/browser/serialization.js +16 -10
  41. package/dist/browser/serialization.js.map +1 -1
  42. package/dist/browser/utils/continuationToken.js +5 -1
  43. package/dist/browser/utils/continuationToken.js.map +1 -1
  44. package/dist/browser/utils/errorHelpers.js +3 -4
  45. package/dist/browser/utils/errorHelpers.js.map +1 -1
  46. package/dist/browser/utils/isCosmosEndpoint.js +2 -3
  47. package/dist/browser/utils/isCosmosEndpoint.js.map +1 -1
  48. package/dist/browser/utils/tracing.js +1 -1
  49. package/dist/browser/utils/tracing.js.map +1 -1
  50. package/dist/commonjs/TableClient.js +105 -61
  51. package/dist/commonjs/TableClient.js.map +1 -1
  52. package/dist/commonjs/TableServiceClient.js +59 -48
  53. package/dist/commonjs/TableServiceClient.js.map +1 -1
  54. package/dist/commonjs/TableTransaction.js +34 -9
  55. package/dist/commonjs/TableTransaction.js.map +1 -1
  56. package/dist/commonjs/generated/generatedClient.js +11 -3
  57. package/dist/commonjs/generated/generatedClient.js.map +1 -1
  58. package/dist/commonjs/generated/generatedClientContext.js +10 -3
  59. package/dist/commonjs/generated/generatedClientContext.js.map +1 -1
  60. package/dist/commonjs/generated/models/mappers.js +5 -2
  61. package/dist/commonjs/generated/models/mappers.js.map +1 -1
  62. package/dist/commonjs/generated/operations/service.js +1 -0
  63. package/dist/commonjs/generated/operations/service.js.map +1 -1
  64. package/dist/commonjs/generated/operations/table.js +1 -0
  65. package/dist/commonjs/generated/operations/table.js.map +1 -1
  66. package/dist/commonjs/sas/accountSasPermissions.d.ts +1 -1
  67. package/dist/commonjs/sas/accountSasPermissions.js +2 -2
  68. package/dist/commonjs/sas/accountSasPermissions.js.map +1 -1
  69. package/dist/commonjs/sas/accountSasResourceTypes.d.ts +1 -1
  70. package/dist/commonjs/sas/accountSasResourceTypes.js +1 -1
  71. package/dist/commonjs/sas/accountSasResourceTypes.js.map +1 -1
  72. package/dist/commonjs/sas/accountSasSignatureValues.d.ts +1 -1
  73. package/dist/commonjs/sas/accountSasSignatureValues.js +1 -1
  74. package/dist/commonjs/sas/accountSasSignatureValues.js.map +1 -1
  75. package/dist/commonjs/sas/generateAccountSas.d.ts +1 -1
  76. package/dist/commonjs/sas/generateAccountSas.js +9 -4
  77. package/dist/commonjs/sas/generateAccountSas.js.map +1 -1
  78. package/dist/commonjs/sas/generateTableSas.d.ts +1 -1
  79. package/dist/commonjs/sas/generateTableSas.js +6 -3
  80. package/dist/commonjs/sas/generateTableSas.js.map +1 -1
  81. package/dist/commonjs/sas/sasQueryParameters.d.ts +1 -1
  82. package/dist/commonjs/sas/sasQueryParameters.js +112 -0
  83. package/dist/commonjs/sas/sasQueryParameters.js.map +1 -1
  84. package/dist/commonjs/sas/tableSasSignatureValues.d.ts +1 -1
  85. package/dist/commonjs/sas/tableSasSignatureValues.js +6 -7
  86. package/dist/commonjs/sas/tableSasSignatureValues.js.map +1 -1
  87. package/dist/commonjs/secondaryEndpointPolicy.js +10 -2
  88. package/dist/commonjs/secondaryEndpointPolicy.js.map +1 -1
  89. package/dist/commonjs/serialization.js +16 -10
  90. package/dist/commonjs/serialization.js.map +1 -1
  91. package/dist/commonjs/tsdoc-metadata.json +11 -11
  92. package/dist/commonjs/utils/continuationToken.js +5 -1
  93. package/dist/commonjs/utils/continuationToken.js.map +1 -1
  94. package/dist/commonjs/utils/errorHelpers.js +3 -4
  95. package/dist/commonjs/utils/errorHelpers.js.map +1 -1
  96. package/dist/commonjs/utils/isCosmosEndpoint.js +2 -3
  97. package/dist/commonjs/utils/isCosmosEndpoint.js.map +1 -1
  98. package/dist/commonjs/utils/tracing.js +1 -1
  99. package/dist/commonjs/utils/tracing.js.map +1 -1
  100. package/dist/commonjs/utils/transactionHeaders.js +5 -2
  101. package/dist/commonjs/utils/transactionHeaders.js.map +1 -1
  102. package/dist/esm/TableClient.js +105 -61
  103. package/dist/esm/TableClient.js.map +1 -1
  104. package/dist/esm/TableServiceClient.js +59 -48
  105. package/dist/esm/TableServiceClient.js.map +1 -1
  106. package/dist/esm/TableTransaction.js +34 -9
  107. package/dist/esm/TableTransaction.js.map +1 -1
  108. package/dist/esm/generated/generatedClient.js +11 -3
  109. package/dist/esm/generated/generatedClient.js.map +1 -1
  110. package/dist/esm/generated/generatedClientContext.js +10 -3
  111. package/dist/esm/generated/generatedClientContext.js.map +1 -1
  112. package/dist/esm/generated/models/mappers.js +5 -2
  113. package/dist/esm/generated/models/mappers.js.map +1 -1
  114. package/dist/esm/generated/operations/service.js +1 -0
  115. package/dist/esm/generated/operations/service.js.map +1 -1
  116. package/dist/esm/generated/operations/table.js +1 -0
  117. package/dist/esm/generated/operations/table.js.map +1 -1
  118. package/dist/esm/sas/accountSasPermissions.d.ts +1 -1
  119. package/dist/esm/sas/accountSasPermissions.js +2 -2
  120. package/dist/esm/sas/accountSasPermissions.js.map +1 -1
  121. package/dist/esm/sas/accountSasResourceTypes.d.ts +1 -1
  122. package/dist/esm/sas/accountSasResourceTypes.js +1 -1
  123. package/dist/esm/sas/accountSasResourceTypes.js.map +1 -1
  124. package/dist/esm/sas/accountSasSignatureValues.d.ts +1 -1
  125. package/dist/esm/sas/accountSasSignatureValues.js +1 -1
  126. package/dist/esm/sas/accountSasSignatureValues.js.map +1 -1
  127. package/dist/esm/sas/generateAccountSas.d.ts +1 -1
  128. package/dist/esm/sas/generateAccountSas.js +9 -4
  129. package/dist/esm/sas/generateAccountSas.js.map +1 -1
  130. package/dist/esm/sas/generateTableSas.d.ts +1 -1
  131. package/dist/esm/sas/generateTableSas.js +6 -3
  132. package/dist/esm/sas/generateTableSas.js.map +1 -1
  133. package/dist/esm/sas/sasQueryParameters.d.ts +1 -1
  134. package/dist/esm/sas/sasQueryParameters.js +112 -0
  135. package/dist/esm/sas/sasQueryParameters.js.map +1 -1
  136. package/dist/esm/sas/tableSasSignatureValues.d.ts +1 -1
  137. package/dist/esm/sas/tableSasSignatureValues.js +6 -7
  138. package/dist/esm/sas/tableSasSignatureValues.js.map +1 -1
  139. package/dist/esm/secondaryEndpointPolicy.js +10 -2
  140. package/dist/esm/secondaryEndpointPolicy.js.map +1 -1
  141. package/dist/esm/serialization.js +16 -10
  142. package/dist/esm/serialization.js.map +1 -1
  143. package/dist/esm/utils/continuationToken.js +5 -1
  144. package/dist/esm/utils/continuationToken.js.map +1 -1
  145. package/dist/esm/utils/errorHelpers.js +3 -4
  146. package/dist/esm/utils/errorHelpers.js.map +1 -1
  147. package/dist/esm/utils/isCosmosEndpoint.js +2 -3
  148. package/dist/esm/utils/isCosmosEndpoint.js.map +1 -1
  149. package/dist/esm/utils/tracing.js +1 -1
  150. package/dist/esm/utils/tracing.js.map +1 -1
  151. package/dist/esm/utils/transactionHeaders.js +5 -2
  152. package/dist/esm/utils/transactionHeaders.js.map +1 -1
  153. package/dist/react-native/TableClient.js +105 -61
  154. package/dist/react-native/TableClient.js.map +1 -1
  155. package/dist/react-native/TableServiceClient.js +59 -48
  156. package/dist/react-native/TableServiceClient.js.map +1 -1
  157. package/dist/react-native/TableTransaction.js +34 -9
  158. package/dist/react-native/TableTransaction.js.map +1 -1
  159. package/dist/react-native/generated/generatedClient.js +11 -3
  160. package/dist/react-native/generated/generatedClient.js.map +1 -1
  161. package/dist/react-native/generated/generatedClientContext.js +10 -3
  162. package/dist/react-native/generated/generatedClientContext.js.map +1 -1
  163. package/dist/react-native/generated/models/mappers.js +5 -2
  164. package/dist/react-native/generated/models/mappers.js.map +1 -1
  165. package/dist/react-native/generated/operations/service.js +1 -0
  166. package/dist/react-native/generated/operations/service.js.map +1 -1
  167. package/dist/react-native/generated/operations/table.js +1 -0
  168. package/dist/react-native/generated/operations/table.js.map +1 -1
  169. package/dist/react-native/sas/accountSasPermissions.d.ts +1 -1
  170. package/dist/react-native/sas/accountSasPermissions.js +2 -2
  171. package/dist/react-native/sas/accountSasPermissions.js.map +1 -1
  172. package/dist/react-native/sas/accountSasResourceTypes.d.ts +1 -1
  173. package/dist/react-native/sas/accountSasResourceTypes.js +1 -1
  174. package/dist/react-native/sas/accountSasResourceTypes.js.map +1 -1
  175. package/dist/react-native/sas/accountSasSignatureValues.d.ts +1 -1
  176. package/dist/react-native/sas/accountSasSignatureValues.js +1 -1
  177. package/dist/react-native/sas/accountSasSignatureValues.js.map +1 -1
  178. package/dist/react-native/sas/generateAccountSas.d.ts +1 -1
  179. package/dist/react-native/sas/generateAccountSas.js +9 -4
  180. package/dist/react-native/sas/generateAccountSas.js.map +1 -1
  181. package/dist/react-native/sas/generateTableSas.d.ts +1 -1
  182. package/dist/react-native/sas/generateTableSas.js +6 -3
  183. package/dist/react-native/sas/generateTableSas.js.map +1 -1
  184. package/dist/react-native/sas/sasQueryParameters.d.ts +1 -1
  185. package/dist/react-native/sas/sasQueryParameters.js +112 -0
  186. package/dist/react-native/sas/sasQueryParameters.js.map +1 -1
  187. package/dist/react-native/sas/tableSasSignatureValues.d.ts +1 -1
  188. package/dist/react-native/sas/tableSasSignatureValues.js +6 -7
  189. package/dist/react-native/sas/tableSasSignatureValues.js.map +1 -1
  190. package/dist/react-native/secondaryEndpointPolicy.js +10 -2
  191. package/dist/react-native/secondaryEndpointPolicy.js.map +1 -1
  192. package/dist/react-native/serialization.js +16 -10
  193. package/dist/react-native/serialization.js.map +1 -1
  194. package/dist/react-native/utils/continuationToken.js +5 -1
  195. package/dist/react-native/utils/continuationToken.js.map +1 -1
  196. package/dist/react-native/utils/errorHelpers.js +3 -4
  197. package/dist/react-native/utils/errorHelpers.js.map +1 -1
  198. package/dist/react-native/utils/isCosmosEndpoint.js +2 -3
  199. package/dist/react-native/utils/isCosmosEndpoint.js.map +1 -1
  200. package/dist/react-native/utils/tracing.js +1 -1
  201. package/dist/react-native/utils/tracing.js.map +1 -1
  202. package/dist/react-native/utils/transactionHeaders.js +5 -2
  203. package/dist/react-native/utils/transactionHeaders.js.map +1 -1
  204. package/package.json +36 -33
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../src/serialization.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { EdmTypes, SignedIdentifier, TableEntityQueryOptions } from \"./models.js\";\nimport type {\n QueryOptions as GeneratedQueryOptions,\n SignedIdentifier as GeneratedSignedIdentifier,\n} from \"./generated/models/index.js\";\nimport { base64Decode, base64Encode } from \"./utils/bufferSerializer.js\";\nimport { truncatedISO8061Date } from \"./utils/truncateISO8061Date.js\";\n\nconst propertyCaseMap: Map<string, string> = new Map<string, string>([\n [\"PartitionKey\", \"partitionKey\"],\n [\"RowKey\", \"rowKey\"],\n [\"odata.etag\", \"etag\"],\n [\"Timestamp\", \"timestamp\"],\n]);\n\nconst Edm = {\n Binary: \"Edm.Binary\",\n Boolean: \"Edm.Boolean\",\n DateTime: \"Edm.DateTime\",\n Double: \"Edm.Double\",\n Guid: \"Edm.Guid\",\n Int32: \"Edm.Int32\",\n Int64: \"Edm.Int64\",\n String: \"Edm.String\",\n} as const;\n\ntype supportedTypes = boolean | string | number | Date | Uint8Array | bigint;\n\ntype serializedType = {\n value: supportedTypes;\n type?: string;\n};\n\nfunction serializePrimitive(value: any): serializedType {\n const serializedValue: serializedType = { value };\n if (\n value === undefined ||\n value === null ||\n typeof value === \"boolean\" ||\n typeof value === \"string\" ||\n typeof value === \"number\"\n ) {\n serializedValue.value = value;\n } else if (typeof value === \"bigint\") {\n serializedValue.value = value.toString();\n serializedValue.type = Edm.Int64;\n } else if (value instanceof Date) {\n serializedValue.value = value;\n serializedValue.type = Edm.DateTime;\n } else if (value instanceof Uint8Array) {\n serializedValue.value = base64Encode(value);\n serializedValue.type = Edm.Binary;\n } else {\n throw new Error(`Unknown EDM type ${typeof value}`);\n }\n\n return serializedValue;\n}\n\nfunction serializeObject(obj: { value: any; type: EdmTypes }): serializedType {\n const serializedValue: serializedType = { value: obj.value };\n if (\n obj.type === \"Boolean\" ||\n obj.type === \"DateTime\" ||\n obj.type === \"Double\" ||\n obj.type === \"Guid\" ||\n obj.type === \"Int32\" ||\n obj.type === \"Int64\" ||\n obj.type === \"String\" ||\n obj.type === \"Binary\"\n ) {\n serializedValue.value = obj.value;\n serializedValue.type = Edm[obj.type];\n } else {\n throw new Error(`Unknown EDM type ${typeof obj.value}`);\n }\n\n return serializedValue;\n}\n\nfunction getSerializedValue(value: any): serializedType {\n if (typeof value === \"object\" && value?.value !== undefined && value?.type !== undefined) {\n return serializeObject(value);\n } else {\n return serializePrimitive(value);\n }\n}\n\nfunction translatePropertyNameForSerialization(propertyName: string): string {\n for (const [original, internal] of propertyCaseMap) {\n if (internal === propertyName) {\n return original;\n }\n }\n\n return propertyName;\n}\n\nexport function serialize(obj: object): Record<string, Record<string, unknown>> {\n const serialized: any = {};\n for (const [propertyName, propertyValue] of Object.entries(obj)) {\n const transformedKey = translatePropertyNameForSerialization(propertyName);\n const serializedVal = getSerializedValue(propertyValue);\n serialized[transformedKey] = serializedVal.value;\n if (serializedVal.type) {\n serialized[`${transformedKey}@odata.type`] = serializedVal.type;\n }\n }\n return serialized;\n}\n\nfunction getTypedObject(value: any, type: string, disableTypeConversion: boolean): any {\n switch (type) {\n case Edm.Boolean:\n return disableTypeConversion ? { value, type: \"Boolean\" } : value;\n case Edm.Double:\n return disableTypeConversion ? { value, type: \"Double\" } : value;\n case Edm.Int32:\n return disableTypeConversion ? { value, type: \"Int32\" } : value;\n case Edm.String:\n return disableTypeConversion ? { value, type: \"String\" } : value;\n case Edm.DateTime:\n return disableTypeConversion ? { value, type: \"DateTime\" } : new Date(value);\n case Edm.Int64:\n return disableTypeConversion ? { value, type: \"Int64\" } : BigInt(value);\n case Edm.Guid:\n return { value, type: \"Guid\" };\n case Edm.Binary:\n return disableTypeConversion ? { value, type: \"Binary\" } : base64Decode(value);\n default:\n throw new Error(`Unknown EDM type ${type}`);\n }\n}\n\nexport function deserialize<T extends object = Record<string, any>>(\n obj: object,\n disableTypeConversion: boolean = false,\n): T {\n const deserialized: any = {};\n for (const [key, value] of Object.entries(obj)) {\n if (key.indexOf(\"@odata.type\") === -1) {\n const transformedKey = propertyCaseMap.get(key) ?? key;\n let typedValue = value;\n if (`${key}@odata.type` in obj) {\n const type = (obj as any)[`${key}@odata.type`];\n typedValue = getTypedObject(value, type, disableTypeConversion);\n } else if (disableTypeConversion && [\"number\", \"string\", \"boolean\"].includes(typeof value)) {\n // The service, doesn't return type metadata for number, strings or booleans\n // if automatic type conversion is disabled we'll infer the EDM object\n typedValue = inferTypedObject(key, value);\n }\n\n deserialized[transformedKey] = typedValue;\n }\n }\n return deserialized;\n}\n\nfunction inferTypedObject(\n propertyName: string,\n value: number | string | boolean,\n):\n | string\n | number\n | boolean\n | {\n value: string;\n type: string;\n } {\n // We need to skip service metadata fields such as partitionKey and rowKey and use the same value returned by the service\n if (propertyCaseMap.has(propertyName)) {\n return value;\n }\n\n switch (typeof value) {\n case \"boolean\":\n return { value: String(value), type: \"Boolean\" };\n case \"number\":\n return getTypedNumber(value);\n case \"string\":\n return { value, type: \"String\" };\n default:\n return value;\n }\n}\n\n/**\n * Returns the number when typeConversion is enabled or the EDM object with the correct number format Double or Int32 if disabled\n */\nfunction getTypedNumber(value: number): { value: string; type: \"Int32\" | \"Double\" } {\n const valueStr = String(value);\n if (Number.isSafeInteger(value)) {\n return { value: valueStr, type: \"Int32\" };\n } else {\n return { value: valueStr, type: \"Double\" };\n }\n}\n\nexport function deserializeObjectsArray<T extends object>(\n objArray: object[],\n disableTypeConversion: boolean,\n): T[] {\n return objArray.map((obj) => deserialize<T>(obj, disableTypeConversion));\n}\n\n/**\n * For ACL endpoints the Tables Service takes an ISO Date without decimals however\n * serializing a JavaScript date gives us a date with decimals 2021-07-08T09:10:09.000Z\n * which makes the XML request body invalid, these 2 functions serialize and deserialize the\n * dates so that they are in the expected format\n */\nexport function serializeSignedIdentifiers(\n signedIdentifiers: SignedIdentifier[],\n): GeneratedSignedIdentifier[] {\n return signedIdentifiers.map((acl) => {\n const { id, accessPolicy } = acl;\n const { start, expiry, ...rest } = accessPolicy ?? {};\n const serializedStart = start\n ? truncatedISO8061Date(start, false /** withMilliseconds */)\n : undefined;\n const serializedExpiry = expiry\n ? truncatedISO8061Date(expiry, false /** withMilliseconds */)\n : undefined;\n\n return {\n id,\n accessPolicy: {\n ...(serializedExpiry && { expiry: serializedExpiry }),\n ...(serializedStart && { start: serializedStart }),\n ...rest,\n },\n };\n });\n}\n\nexport function deserializeSignedIdentifier(\n signedIdentifiers: GeneratedSignedIdentifier[],\n): SignedIdentifier[] {\n return signedIdentifiers.map((si) => {\n const { id, accessPolicy } = si;\n const { start, expiry, ...restAcl } = accessPolicy ?? {};\n const deserializedStart = start ? new Date(start) : undefined;\n const deserializedExpiry = expiry ? new Date(expiry) : undefined;\n\n return {\n id,\n accessPolicy: {\n ...(deserializedExpiry && { expiry: deserializedExpiry }),\n ...(deserializedStart && { start: deserializedStart }),\n ...restAcl,\n },\n };\n });\n}\n\nexport function serializeQueryOptions(query: TableEntityQueryOptions): GeneratedQueryOptions {\n const { select, ...queryOptions } = query;\n const mappedQuery: GeneratedQueryOptions = { ...queryOptions };\n // Properties that are always returned by the service but are not allowed in select\n const excludeFromSelect = [\"etag\", \"odata.etag\"];\n if (select) {\n mappedQuery.select = select\n .filter((p) => !excludeFromSelect.includes(p))\n .map(translatePropertyNameForSerialization)\n .join(\",\");\n }\n return mappedQuery;\n}\n"]}
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../src/serialization.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { EdmTypes, SignedIdentifier, TableEntityQueryOptions } from \"./models.js\";\nimport type {\n QueryOptions as GeneratedQueryOptions,\n SignedIdentifier as GeneratedSignedIdentifier,\n} from \"./generated/models/index.js\";\nimport { base64Decode, base64Encode } from \"./utils/bufferSerializer.js\";\nimport { truncatedISO8061Date } from \"./utils/truncateISO8061Date.js\";\n\nconst propertyCaseMap: Map<string, string> = new Map<string, string>([\n [\"PartitionKey\", \"partitionKey\"],\n [\"RowKey\", \"rowKey\"],\n [\"odata.etag\", \"etag\"],\n [\"Timestamp\", \"timestamp\"],\n]);\n\nconst Edm = {\n Binary: \"Edm.Binary\",\n Boolean: \"Edm.Boolean\",\n DateTime: \"Edm.DateTime\",\n Double: \"Edm.Double\",\n Guid: \"Edm.Guid\",\n Int32: \"Edm.Int32\",\n Int64: \"Edm.Int64\",\n String: \"Edm.String\",\n} as const;\n\ntype supportedTypes = boolean | string | number | Date | Uint8Array | bigint;\n\ntype serializedType = {\n value: supportedTypes;\n type?: string;\n};\n\nfunction serializePrimitive(value: any): serializedType {\n const serializedValue: serializedType = { value };\n if (\n value === undefined ||\n value === null ||\n typeof value === \"boolean\" ||\n typeof value === \"string\" ||\n typeof value === \"number\"\n ) {\n serializedValue.value = value;\n } else if (typeof value === \"bigint\") {\n serializedValue.value = value.toString();\n serializedValue.type = Edm.Int64;\n } else if (value instanceof Date) {\n serializedValue.value = value;\n serializedValue.type = Edm.DateTime;\n } else if (value instanceof Uint8Array) {\n serializedValue.value = base64Encode(value);\n serializedValue.type = Edm.Binary;\n } else {\n throw new Error(`Unknown EDM type ${typeof value}`);\n }\n\n return serializedValue;\n}\n\nfunction serializeObject(obj: { value: any; type: EdmTypes }): serializedType {\n const serializedValue: serializedType = { value: obj.value };\n if (\n obj.type === \"Boolean\" ||\n obj.type === \"DateTime\" ||\n obj.type === \"Double\" ||\n obj.type === \"Guid\" ||\n obj.type === \"Int32\" ||\n obj.type === \"Int64\" ||\n obj.type === \"String\" ||\n obj.type === \"Binary\"\n ) {\n serializedValue.value = obj.value;\n serializedValue.type = Edm[obj.type];\n } else {\n throw new Error(`Unknown EDM type ${typeof obj.value}`);\n }\n\n return serializedValue;\n}\n\nfunction getSerializedValue(value: any): serializedType {\n if (typeof value === \"object\" && value?.value !== undefined && value?.type !== undefined) {\n return serializeObject(value);\n } else {\n return serializePrimitive(value);\n }\n}\n\nfunction translatePropertyNameForSerialization(propertyName: string): string {\n for (const [original, internal] of propertyCaseMap) {\n if (internal === propertyName) {\n return original;\n }\n }\n\n return propertyName;\n}\n\nexport function serialize(obj: object): Record<string, Record<string, unknown>> {\n const serialized: any = {};\n for (const [propertyName, propertyValue] of Object.entries(obj)) {\n const transformedKey = translatePropertyNameForSerialization(propertyName);\n const serializedVal = getSerializedValue(propertyValue);\n serialized[transformedKey] = serializedVal.value;\n if (serializedVal.type) {\n serialized[`${transformedKey}@odata.type`] = serializedVal.type;\n }\n }\n return serialized;\n}\n\nfunction getTypedObject(value: any, type: string, disableTypeConversion: boolean): any {\n switch (type) {\n case Edm.Boolean:\n return disableTypeConversion ? { value, type: \"Boolean\" } : value;\n case Edm.Double:\n return disableTypeConversion ? { value, type: \"Double\" } : value;\n case Edm.Int32:\n return disableTypeConversion ? { value, type: \"Int32\" } : value;\n case Edm.String:\n return disableTypeConversion ? { value, type: \"String\" } : value;\n case Edm.DateTime:\n return disableTypeConversion ? { value, type: \"DateTime\" } : new Date(value);\n case Edm.Int64:\n return disableTypeConversion ? { value, type: \"Int64\" } : BigInt(value);\n case Edm.Guid:\n return { value, type: \"Guid\" };\n case Edm.Binary:\n return disableTypeConversion ? { value, type: \"Binary\" } : base64Decode(value);\n default:\n throw new Error(`Unknown EDM type ${type}`);\n }\n}\n\nexport function deserialize<T extends object = Record<string, any>>(\n obj: object,\n disableTypeConversion: boolean = false,\n): T {\n const deserialized: any = {};\n for (const [key, value] of Object.entries(obj)) {\n if (key.indexOf(\"@odata.type\") === -1) {\n const transformedKey = propertyCaseMap.get(key) ?? key;\n let typedValue = value;\n if (`${key}@odata.type` in obj) {\n const type = (obj as any)[`${key}@odata.type`];\n typedValue = getTypedObject(value, type, disableTypeConversion);\n } else if (disableTypeConversion && [\"number\", \"string\", \"boolean\"].includes(typeof value)) {\n // The service, doesn't return type metadata for number, strings or booleans\n // if automatic type conversion is disabled we'll infer the EDM object\n typedValue = inferTypedObject(key, value);\n }\n\n deserialized[transformedKey] = typedValue;\n }\n }\n return deserialized;\n}\n\nfunction inferTypedObject(\n propertyName: string,\n value: number | string | boolean,\n):\n | string\n | number\n | boolean\n | {\n value: string;\n type: string;\n } {\n // We need to skip service metadata fields such as partitionKey and rowKey and use the same value returned by the service\n if (propertyCaseMap.has(propertyName)) {\n return value;\n }\n\n switch (typeof value) {\n case \"boolean\":\n return { value: String(value), type: \"Boolean\" };\n case \"number\":\n return getTypedNumber(value);\n case \"string\":\n return { value, type: \"String\" };\n default:\n return value;\n }\n}\n\n/**\n * Returns the number when typeConversion is enabled or the EDM object with the correct number format Double or Int32 if disabled\n */\nfunction getTypedNumber(value: number): { value: string; type: \"Int32\" | \"Double\" } {\n const valueStr = String(value);\n if (Number.isSafeInteger(value)) {\n return { value: valueStr, type: \"Int32\" };\n } else {\n return { value: valueStr, type: \"Double\" };\n }\n}\n\nexport function deserializeObjectsArray<T extends object>(\n objArray: object[],\n disableTypeConversion: boolean,\n): T[] {\n return objArray.map((obj) => deserialize<T>(obj, disableTypeConversion));\n}\n\n/**\n * For ACL endpoints the Tables Service takes an ISO Date without decimals however\n * serializing a JavaScript date gives us a date with decimals 2021-07-08T09:10:09.000Z\n * which makes the XML request body invalid, these 2 functions serialize and deserialize the\n * dates so that they are in the expected format\n */\nexport function serializeSignedIdentifiers(\n signedIdentifiers: SignedIdentifier[],\n): GeneratedSignedIdentifier[] {\n return signedIdentifiers.map((acl) => {\n const { id, accessPolicy } = acl;\n const { start, expiry, ...rest } = accessPolicy ?? {};\n const serializedStart = start\n ? truncatedISO8061Date(start, false /** withMilliseconds */)\n : undefined;\n const serializedExpiry = expiry\n ? truncatedISO8061Date(expiry, false /** withMilliseconds */)\n : undefined;\n\n return {\n id,\n accessPolicy: {\n ...(serializedExpiry && { expiry: serializedExpiry }),\n ...(serializedStart && { start: serializedStart }),\n ...rest,\n },\n };\n });\n}\n\nexport function deserializeSignedIdentifier(\n signedIdentifiers: GeneratedSignedIdentifier[],\n): SignedIdentifier[] {\n return signedIdentifiers.map((si) => {\n const { id, accessPolicy } = si;\n const { start, expiry, ...restAcl } = accessPolicy ?? {};\n const deserializedStart = start ? new Date(start) : undefined;\n const deserializedExpiry = expiry ? new Date(expiry) : undefined;\n\n return {\n id,\n accessPolicy: {\n ...(deserializedExpiry && { expiry: deserializedExpiry }),\n ...(deserializedStart && { start: deserializedStart }),\n ...restAcl,\n },\n };\n });\n}\n\nexport function serializeQueryOptions(query: TableEntityQueryOptions): GeneratedQueryOptions {\n const { select, ...queryOptions } = query;\n const mappedQuery: GeneratedQueryOptions = { ...queryOptions };\n // Properties that are always returned by the service but are not allowed in select\n const excludeFromSelect = [\"etag\", \"odata.etag\"];\n if (select) {\n mappedQuery.select = select\n .filter((p) => !excludeFromSelect.includes(p))\n .map(translatePropertyNameForSerialization)\n .join(\",\");\n }\n return mappedQuery;\n}\n"]}
@@ -8,7 +8,11 @@ export function encodeContinuationToken(nextPartitionKey, nextRowKey) {
8
8
  if (!nextPartitionKey) {
9
9
  return undefined;
10
10
  }
11
- const continuationToken = Object.assign({ nextPartitionKey }, (nextRowKey && { nextRowKey }));
11
+ const continuationToken = {
12
+ nextPartitionKey,
13
+ // Only add nextRowKey if the value is not null, undefined or empty string.
14
+ ...(nextRowKey && { nextRowKey }),
15
+ };
12
16
  return base64Encode(JSON.stringify(continuationToken));
13
17
  }
14
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"continuationToken.js","sourceRoot":"","sources":["../../../src/utils/continuationToken.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOnE;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,gBAAyB,EACzB,UAAmB;IAEnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,mBACrB,gBAAgB,IAEb,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC,CAClC,CAAC;IAEF,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAoB;IAC1D,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,iBAAiB,GAAsB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElE,OAAO,iBAAiB,CAAC;AAC3B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { base64Decode, base64Encode } from \"./bufferSerializer.js\";\n\ninterface ContinuationToken {\n nextPartitionKey: string;\n nextRowKey?: string;\n}\n\n/**\n * Encodes the nextPartitionKey and nextRowKey into a single continuation token\n */\nexport function encodeContinuationToken(\n nextPartitionKey?: string,\n nextRowKey?: string,\n): string | undefined {\n if (!nextPartitionKey) {\n return undefined;\n }\n\n const continuationToken = {\n nextPartitionKey,\n // Only add nextRowKey if the value is not null, undefined or empty string.\n ...(nextRowKey && { nextRowKey }),\n };\n\n return base64Encode(JSON.stringify(continuationToken));\n}\n\n/**\n * Decodes a continuationToken into an object containing a nextPartitionKey and nextRowKey\n */\nexport function decodeContinuationToken(encodedToken: string): ContinuationToken {\n const decodedToken = base64Decode(encodedToken);\n let tokenStr = \"\";\n\n for (const byte of decodedToken) {\n tokenStr += String.fromCharCode(byte);\n }\n const continuationToken: ContinuationToken = JSON.parse(tokenStr);\n\n return continuationToken;\n}\n"]}
1
+ {"version":3,"file":"continuationToken.js","sourceRoot":"","sources":["../../../src/utils/continuationToken.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOnE;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,gBAAyB,EACzB,UAAmB;IAEnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,GAAG;QACxB,gBAAgB;QAChB,2EAA2E;QAC3E,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;KAClC,CAAC;IAEF,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAoB;IAC1D,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,iBAAiB,GAAsB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElE,OAAO,iBAAiB,CAAC;AAC3B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { base64Decode, base64Encode } from \"./bufferSerializer.js\";\n\ninterface ContinuationToken {\n nextPartitionKey: string;\n nextRowKey?: string;\n}\n\n/**\n * Encodes the nextPartitionKey and nextRowKey into a single continuation token\n */\nexport function encodeContinuationToken(\n nextPartitionKey?: string,\n nextRowKey?: string,\n): string | undefined {\n if (!nextPartitionKey) {\n return undefined;\n }\n\n const continuationToken = {\n nextPartitionKey,\n // Only add nextRowKey if the value is not null, undefined or empty string.\n ...(nextRowKey && { nextRowKey }),\n };\n\n return base64Encode(JSON.stringify(continuationToken));\n}\n\n/**\n * Decodes a continuationToken into an object containing a nextPartitionKey and nextRowKey\n */\nexport function decodeContinuationToken(encodedToken: string): ContinuationToken {\n const decodedToken = base64Decode(encodedToken);\n let tokenStr = \"\";\n\n for (const byte of decodedToken) {\n tokenStr += String.fromCharCode(byte);\n }\n const continuationToken: ContinuationToken = JSON.parse(tokenStr);\n\n return continuationToken;\n}\n"]}
@@ -1,12 +1,11 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  export function handleTableAlreadyExists(error, options = {}) {
4
- var _a, _b;
5
4
  const responseError = getErrorResponse(error);
6
5
  if (responseError &&
7
6
  responseError.status === 409 &&
8
- ((_a = responseError.parsedBody.odataError) === null || _a === void 0 ? void 0 : _a.code) === "TableAlreadyExists") {
9
- (_b = options.logger) === null || _b === void 0 ? void 0 : _b.info(`Table ${options.tableName} already Exists`);
7
+ responseError.parsedBody.odataError?.code === "TableAlreadyExists") {
8
+ options.logger?.info(`Table ${options.tableName} already Exists`);
10
9
  if (options.onResponse) {
11
10
  options.onResponse(responseError, {});
12
11
  }
@@ -29,6 +28,6 @@ function isRestError(error) {
29
28
  return error.name === "RestError";
30
29
  }
31
30
  function isTableServiceErrorResponse(errorResponseBody) {
32
- return Boolean(errorResponseBody === null || errorResponseBody === void 0 ? void 0 : errorResponseBody.odataError);
31
+ return Boolean(errorResponseBody?.odataError);
33
32
  }
34
33
  //# sourceMappingURL=errorHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errorHelpers.js","sourceRoot":"","sources":["../../../src/utils/errorHelpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAsBlC,MAAM,UAAU,wBAAwB,CACtC,KAAc,EACd,UAA2E,EAAE;;IAE7E,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,IACE,aAAa;QACb,aAAa,CAAC,MAAM,KAAK,GAAG;QAC5B,CAAA,MAAA,aAAa,CAAC,UAAU,CAAC,UAAU,0CAAE,IAAI,MAAK,oBAAoB,EAClE,CAAC;QACD,MAAA,OAAO,CAAC,MAAM,0CAAE,IAAI,CAAC,SAAS,OAAO,CAAC,SAAS,iBAAiB,CAAC,CAAC;QAElE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAA8B,KAAK,CAAC,QAAqC,CAAC;IAE7F,IAAI,CAAC,aAAa,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAQ,KAAmB,CAAC,IAAI,KAAK,WAAW,CAAC;AACnD,CAAC;AAED,SAAS,2BAA2B,CAClC,iBAAsB;IAEtB,OAAO,OAAO,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,UAAU,CAAC,CAAC;AAChD,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { OperationOptions, OperationRequest } from \"@azure/core-client\";\nimport type { PipelineResponse, RestError } from \"@azure/core-rest-pipeline\";\nimport type { AzureLogger } from \"@azure/logger\";\nimport type { TableServiceError } from \"../generated/index.js\";\n\nexport type TableServiceErrorResponse = PipelineResponse & {\n /**\n * The parsed HTTP response headers.\n */\n parsedHeaders?: Record<string, unknown>;\n /**\n * The response body as parsed JSON or XML.\n */\n parsedBody: TableServiceError;\n /**\n * The request that generated the response.\n */\n request: OperationRequest;\n};\n\nexport function handleTableAlreadyExists(\n error: unknown,\n options: OperationOptions & { tableName?: string; logger?: AzureLogger } = {},\n): void {\n const responseError = getErrorResponse(error);\n if (\n responseError &&\n responseError.status === 409 &&\n responseError.parsedBody.odataError?.code === \"TableAlreadyExists\"\n ) {\n options.logger?.info(`Table ${options.tableName} already Exists`);\n\n if (options.onResponse) {\n options.onResponse(responseError, {});\n }\n } else {\n throw error;\n }\n}\n\nfunction getErrorResponse(error: unknown): TableServiceErrorResponse | undefined {\n if (!isRestError(error)) {\n return undefined;\n }\n\n const errorResponse: TableServiceErrorResponse = error.response as TableServiceErrorResponse;\n\n if (!errorResponse || !isTableServiceErrorResponse(errorResponse.parsedBody)) {\n return undefined;\n }\n\n return errorResponse;\n}\n\nfunction isRestError(error: unknown): error is RestError {\n return (error as RestError).name === \"RestError\";\n}\n\nfunction isTableServiceErrorResponse(\n errorResponseBody: any,\n): errorResponseBody is TableServiceError {\n return Boolean(errorResponseBody?.odataError);\n}\n"]}
1
+ {"version":3,"file":"errorHelpers.js","sourceRoot":"","sources":["../../../src/utils/errorHelpers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAsBlC,MAAM,UAAU,wBAAwB,CACtC,KAAc,EACd,UAA2E,EAAE;IAE7E,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,IACE,aAAa;QACb,aAAa,CAAC,MAAM,KAAK,GAAG;QAC5B,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,KAAK,oBAAoB,EAClE,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,OAAO,CAAC,SAAS,iBAAiB,CAAC,CAAC;QAElE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAA8B,KAAK,CAAC,QAAqC,CAAC;IAE7F,IAAI,CAAC,aAAa,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAQ,KAAmB,CAAC,IAAI,KAAK,WAAW,CAAC;AACnD,CAAC;AAED,SAAS,2BAA2B,CAClC,iBAAsB;IAEtB,OAAO,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { OperationOptions, OperationRequest } from \"@azure/core-client\";\nimport type { PipelineResponse, RestError } from \"@azure/core-rest-pipeline\";\nimport type { AzureLogger } from \"@azure/logger\";\nimport type { TableServiceError } from \"../generated/index.js\";\n\nexport type TableServiceErrorResponse = PipelineResponse & {\n /**\n * The parsed HTTP response headers.\n */\n parsedHeaders?: Record<string, unknown>;\n /**\n * The response body as parsed JSON or XML.\n */\n parsedBody: TableServiceError;\n /**\n * The request that generated the response.\n */\n request: OperationRequest;\n};\n\nexport function handleTableAlreadyExists(\n error: unknown,\n options: OperationOptions & { tableName?: string; logger?: AzureLogger } = {},\n): void {\n const responseError = getErrorResponse(error);\n if (\n responseError &&\n responseError.status === 409 &&\n responseError.parsedBody.odataError?.code === \"TableAlreadyExists\"\n ) {\n options.logger?.info(`Table ${options.tableName} already Exists`);\n\n if (options.onResponse) {\n options.onResponse(responseError, {});\n }\n } else {\n throw error;\n }\n}\n\nfunction getErrorResponse(error: unknown): TableServiceErrorResponse | undefined {\n if (!isRestError(error)) {\n return undefined;\n }\n\n const errorResponse: TableServiceErrorResponse = error.response as TableServiceErrorResponse;\n\n if (!errorResponse || !isTableServiceErrorResponse(errorResponse.parsedBody)) {\n return undefined;\n }\n\n return errorResponse;\n}\n\nfunction isRestError(error: unknown): error is RestError {\n return (error as RestError).name === \"RestError\";\n}\n\nfunction isTableServiceErrorResponse(\n errorResponseBody: any,\n): errorResponseBody is TableServiceError {\n return Boolean(errorResponseBody?.odataError);\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  export function isCosmosEndpoint(url) {
4
- var _a, _b;
5
4
  const parsedURL = new URL(url);
6
5
  if (parsedURL.hostname.indexOf(".table.cosmosdb.") !== -1) {
7
6
  return true;
@@ -14,8 +13,8 @@ export function isCosmosEndpoint(url) {
14
13
  parsedURL.pathname.startsWith("/devstoreaccount1")) {
15
14
  return false;
16
15
  }
17
- const azuriteAccounts = (_b = (_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.AZURITE_ACCOUNTS) === null || _b === void 0 ? void 0 : _b.split(":");
18
- if ((azuriteAccounts === null || azuriteAccounts === void 0 ? void 0 : azuriteAccounts[0]) && parsedURL.hostname.includes(azuriteAccounts[0])) {
16
+ const azuriteAccounts = globalThis.process?.env?.AZURITE_ACCOUNTS?.split(":");
17
+ if (azuriteAccounts?.[0] && parsedURL.hostname.includes(azuriteAccounts[0])) {
19
18
  return false;
20
19
  }
21
20
  if (parsedURL.hostname === "localhost") {
@@ -1 +1 @@
1
- {"version":3,"file":"isCosmosEndpoint.js","sourceRoot":"","sources":["../../../src/utils/isCosmosEndpoint.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,UAAU,gBAAgB,CAAC,GAAW;;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IAC3C,IACE,CAAC,SAAS,CAAC,QAAQ,KAAK,WAAW,IAAI,SAAS,CAAC,QAAQ,KAAK,WAAW,CAAC;QAC1E,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,eAAe,GAAG,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,0CAAE,gBAAgB,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACnE,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,CAAC,CAAC,KAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport function isCosmosEndpoint(url: string): boolean {\n const parsedURL = new URL(url);\n if (parsedURL.hostname.indexOf(\".table.cosmosdb.\") !== -1) {\n return true;\n }\n\n if (parsedURL.hostname.indexOf(\".table.cosmos.\") !== -1) {\n return true;\n }\n\n // Azurite emulator IP-style URL for table?\n if (\n (parsedURL.hostname === \"localhost\" || parsedURL.hostname === \"127.0.0.1\") &&\n parsedURL.pathname.startsWith(\"/devstoreaccount1\")\n ) {\n return false;\n }\n\n const azuriteAccounts = process?.env?.AZURITE_ACCOUNTS?.split(\":\");\n if (azuriteAccounts?.[0] && parsedURL.hostname.includes(azuriteAccounts[0])) {\n return false;\n }\n\n if (parsedURL.hostname === \"localhost\") {\n return true;\n }\n\n return false;\n}\n"]}
1
+ {"version":3,"file":"isCosmosEndpoint.js","sourceRoot":"","sources":["../../../src/utils/isCosmosEndpoint.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IAC3C,IACE,CAAC,SAAS,CAAC,QAAQ,KAAK,WAAW,IAAI,SAAS,CAAC,QAAQ,KAAK,WAAW,CAAC;QAC1E,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9E,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport function isCosmosEndpoint(url: string): boolean {\n const parsedURL = new URL(url);\n if (parsedURL.hostname.indexOf(\".table.cosmosdb.\") !== -1) {\n return true;\n }\n\n if (parsedURL.hostname.indexOf(\".table.cosmos.\") !== -1) {\n return true;\n }\n\n // Azurite emulator IP-style URL for table?\n if (\n (parsedURL.hostname === \"localhost\" || parsedURL.hostname === \"127.0.0.1\") &&\n parsedURL.pathname.startsWith(\"/devstoreaccount1\")\n ) {\n return false;\n }\n\n const azuriteAccounts = globalThis.process?.env?.AZURITE_ACCOUNTS?.split(\":\");\n if (azuriteAccounts?.[0] && parsedURL.hostname.includes(azuriteAccounts[0])) {\n return false;\n }\n\n if (parsedURL.hostname === \"localhost\") {\n return true;\n }\n\n return false;\n}\n"]}
@@ -8,6 +8,6 @@ import { createTracingClient } from "@azure/core-tracing";
8
8
  export const tracingClient = createTracingClient({
9
9
  namespace: "Microsoft.Data.Tables",
10
10
  packageName: "@azure/data-tables",
11
- packageVersion: "13.3.1",
11
+ packageVersion: "13.3.3",
12
12
  });
13
13
  //# sourceMappingURL=tracing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/utils/tracing.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC;IAC/C,SAAS,EAAE,uBAAuB;IAClC,WAAW,EAAE,oBAAoB;IACjC,cAAc,EAAE,QAAQ;CACzB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\n\n/**\n * A tracing client that can be used to manage spans.\n * @internal\n */\nexport const tracingClient = createTracingClient({\n namespace: \"Microsoft.Data.Tables\",\n packageName: \"@azure/data-tables\",\n packageVersion: \"13.3.1\",\n});\n"]}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/utils/tracing.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC;IAC/C,SAAS,EAAE,uBAAuB;IAClC,WAAW,EAAE,oBAAoB;IACjC,cAAc,EAAE,QAAQ;CACzB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\n\n/**\n * A tracing client that can be used to manage spans.\n * @internal\n */\nexport const tracingClient = createTracingClient({\n namespace: \"Microsoft.Data.Tables\",\n packageName: \"@azure/data-tables\",\n packageVersion: \"13.3.3\",\n});\n"]}
@@ -3,7 +3,6 @@
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.TableClient = void 0;
6
- const tslib_1 = require("tslib");
7
6
  const index_js_1 = require("./generated/index.js");
8
7
  const core_auth_1 = require("@azure/core-auth");
9
8
  const constants_js_1 = require("./utils/constants.js");
@@ -29,23 +28,46 @@ const tracing_js_1 = require("./utils/tracing.js");
29
28
  * to perform operations on a single table.
30
29
  */
31
30
  class TableClient {
31
+ /**
32
+ * Table Account URL
33
+ */
34
+ url;
35
+ /**
36
+ * Represents a pipeline for making a HTTP request to a URL.
37
+ * Pipelines can have multiple policies to manage manipulating each request before and after it is made to the server.
38
+ */
39
+ pipeline;
40
+ table;
41
+ generatedClient;
42
+ credential;
43
+ clientOptions;
44
+ allowInsecureConnection;
45
+ /**
46
+ * Name of the table to perform operations on.
47
+ */
48
+ tableName;
32
49
  constructor(url, tableName, credentialOrOptions, options = {}) {
33
- var _a;
34
50
  this.url = url;
35
51
  this.tableName = tableName;
36
52
  const isCosmos = (0, isCosmosEndpoint_js_1.isCosmosEndpoint)(this.url);
37
53
  const credential = (0, isCredential_js_1.isCredential)(credentialOrOptions) ? credentialOrOptions : undefined;
38
54
  this.credential = credential;
39
55
  this.clientOptions = (!(0, isCredential_js_1.isCredential)(credentialOrOptions) ? credentialOrOptions : options) || {};
40
- this.allowInsecureConnection = (_a = this.clientOptions.allowInsecureConnection) !== null && _a !== void 0 ? _a : false;
41
- const internalPipelineOptions = Object.assign(Object.assign({}, this.clientOptions), { endpoint: this.clientOptions.endpoint || this.url, loggingOptions: {
56
+ this.allowInsecureConnection = this.clientOptions.allowInsecureConnection ?? false;
57
+ const internalPipelineOptions = {
58
+ ...this.clientOptions,
59
+ endpoint: this.clientOptions.endpoint || this.url,
60
+ loggingOptions: {
42
61
  logger: logger_js_1.logger.info,
43
62
  additionalAllowedHeaderNames: [...constants_js_1.TablesLoggingAllowedHeaderNames],
44
- }, deserializationOptions: {
63
+ },
64
+ deserializationOptions: {
45
65
  parseXML: core_xml_1.parseXML,
46
- }, serializationOptions: {
66
+ },
67
+ serializationOptions: {
47
68
  stringifyXML: core_xml_1.stringifyXML,
48
- } });
69
+ },
70
+ };
49
71
  const generatedClient = new index_js_1.GeneratedClient(this.url, internalPipelineOptions);
50
72
  if ((0, core_auth_1.isNamedKeyCredential)(credential)) {
51
73
  generatedClient.pipeline.addPolicy((0, tablesNamedCredentialPolicy_js_1.tablesNamedKeyCredentialPolicy)(credential));
@@ -127,7 +149,7 @@ class TableClient {
127
149
  await this.table.create({ name: this.tableName }, updatedOptions);
128
150
  }
129
151
  catch (e) {
130
- (0, errorHelpers_js_1.handleTableAlreadyExists)(e, Object.assign(Object.assign({}, updatedOptions), { logger: logger_js_1.logger, tableName: this.tableName }));
152
+ (0, errorHelpers_js_1.handleTableAlreadyExists)(e, { ...updatedOptions, logger: logger_js_1.logger, tableName: this.tableName });
131
153
  }
132
154
  });
133
155
  }
@@ -170,9 +192,13 @@ class TableClient {
170
192
  updatedOptions.onResponse(rawResponse, flatResponse);
171
193
  }
172
194
  }
173
- const { disableTypeConversion, queryOptions } = updatedOptions, getEntityOptions = tslib_1.__rest(updatedOptions, ["disableTypeConversion", "queryOptions"]);
174
- await this.table.queryEntitiesWithPartitionAndRowKey(this.tableName, (0, odata_js_1.escapeQuotes)(partitionKey), (0, odata_js_1.escapeQuotes)(rowKey), Object.assign(Object.assign({}, getEntityOptions), { queryOptions: (0, serialization_js_1.serializeQueryOptions)(queryOptions || {}), onResponse }));
175
- const tableEntity = (0, serialization_js_1.deserialize)(parsedBody, disableTypeConversion !== null && disableTypeConversion !== void 0 ? disableTypeConversion : false);
195
+ const { disableTypeConversion, queryOptions, ...getEntityOptions } = updatedOptions;
196
+ await this.table.queryEntitiesWithPartitionAndRowKey(this.tableName, (0, odata_js_1.escapeQuotes)(partitionKey), (0, odata_js_1.escapeQuotes)(rowKey), {
197
+ ...getEntityOptions,
198
+ queryOptions: (0, serialization_js_1.serializeQueryOptions)(queryOptions || {}),
199
+ onResponse,
200
+ });
201
+ const tableEntity = (0, serialization_js_1.deserialize)(parsedBody, disableTypeConversion ?? false);
176
202
  return tableEntity;
177
203
  });
178
204
  }
@@ -212,57 +238,52 @@ class TableClient {
212
238
  return this;
213
239
  },
214
240
  byPage: (settings) => {
215
- const pageOptions = Object.assign(Object.assign({}, options), { queryOptions: Object.assign(Object.assign({}, options.queryOptions), { top: settings === null || settings === void 0 ? void 0 : settings.maxPageSize }) });
216
- if (settings === null || settings === void 0 ? void 0 : settings.continuationToken) {
241
+ const pageOptions = {
242
+ ...options,
243
+ queryOptions: { ...options.queryOptions, top: settings?.maxPageSize },
244
+ };
245
+ if (settings?.continuationToken) {
217
246
  pageOptions.continuationToken = settings.continuationToken;
218
247
  }
219
248
  return this.listEntitiesPage(tableName, pageOptions);
220
249
  },
221
250
  };
222
251
  }
223
- listEntitiesAll(tableName, options) {
224
- return tslib_1.__asyncGenerator(this, arguments, function* listEntitiesAll_1() {
225
- var _a, e_1, _b, _c;
226
- const firstPage = yield tslib_1.__await(this._listEntities(tableName, options));
227
- yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(firstPage)));
228
- if (firstPage.continuationToken) {
229
- const optionsWithContinuation = Object.assign(Object.assign({}, options), { continuationToken: firstPage.continuationToken });
230
- try {
231
- for (var _d = true, _e = tslib_1.__asyncValues(this.listEntitiesPage(tableName, optionsWithContinuation)), _f; _f = yield tslib_1.__await(_e.next()), _a = _f.done, !_a; _d = true) {
232
- _c = _f.value;
233
- _d = false;
234
- const page = _c;
235
- yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(page)));
236
- }
237
- }
238
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
239
- finally {
240
- try {
241
- if (!_d && !_a && (_b = _e.return)) yield tslib_1.__await(_b.call(_e));
242
- }
243
- finally { if (e_1) throw e_1.error; }
244
- }
252
+ async *listEntitiesAll(tableName, options) {
253
+ const firstPage = await this._listEntities(tableName, options);
254
+ yield* firstPage;
255
+ if (firstPage.continuationToken) {
256
+ const optionsWithContinuation = {
257
+ ...options,
258
+ continuationToken: firstPage.continuationToken,
259
+ };
260
+ for await (const page of this.listEntitiesPage(tableName, optionsWithContinuation)) {
261
+ yield* page;
245
262
  }
246
- });
263
+ }
247
264
  }
248
- listEntitiesPage(tableName_1) {
249
- return tslib_1.__asyncGenerator(this, arguments, function* listEntitiesPage_1(tableName, options = {}) {
250
- let result = yield tslib_1.__await(tracing_js_1.tracingClient.withSpan("TableClient.listEntitiesPage", options, (updatedOptions) => this._listEntities(tableName, updatedOptions)));
251
- yield yield tslib_1.__await(result);
252
- while (result.continuationToken) {
253
- const optionsWithContinuation = Object.assign(Object.assign({}, options), { continuationToken: result.continuationToken });
254
- result = yield tslib_1.__await(tracing_js_1.tracingClient.withSpan("TableClient.listEntitiesPage", optionsWithContinuation, (updatedOptions, span) => {
255
- span.setAttribute("continuationToken", result.continuationToken);
256
- return this._listEntities(tableName, updatedOptions);
257
- }));
258
- yield yield tslib_1.__await(result);
259
- }
260
- });
265
+ async *listEntitiesPage(tableName, options = {}) {
266
+ let result = await tracing_js_1.tracingClient.withSpan("TableClient.listEntitiesPage", options, (updatedOptions) => this._listEntities(tableName, updatedOptions));
267
+ yield result;
268
+ while (result.continuationToken) {
269
+ const optionsWithContinuation = {
270
+ ...options,
271
+ continuationToken: result.continuationToken,
272
+ };
273
+ result = await tracing_js_1.tracingClient.withSpan("TableClient.listEntitiesPage", optionsWithContinuation, (updatedOptions, span) => {
274
+ span.setAttribute("continuationToken", result.continuationToken);
275
+ return this._listEntities(tableName, updatedOptions);
276
+ });
277
+ yield result;
278
+ }
261
279
  }
262
280
  async _listEntities(tableName, options = {}) {
263
281
  const { disableTypeConversion = false } = options;
264
282
  const queryOptions = (0, serialization_js_1.serializeQueryOptions)(options.queryOptions || {});
265
- const listEntitiesOptions = Object.assign(Object.assign({}, options), { queryOptions });
283
+ const listEntitiesOptions = {
284
+ ...options,
285
+ queryOptions,
286
+ };
266
287
  // If a continuation token is used, decode it and set the next row and partition key
267
288
  if (options.continuationToken) {
268
289
  const continuationToken = (0, continuationToken_js_1.decodeContinuationToken)(options.continuationToken);
@@ -270,7 +291,7 @@ class TableClient {
270
291
  listEntitiesOptions.nextPartitionKey = continuationToken.nextPartitionKey;
271
292
  }
272
293
  const { xMsContinuationNextPartitionKey: nextPartitionKey, xMsContinuationNextRowKey: nextRowKey, value, } = await this.table.queryEntities(tableName, listEntitiesOptions);
273
- const tableEntities = (0, serialization_js_1.deserializeObjectsArray)(value !== null && value !== void 0 ? value : [], disableTypeConversion);
294
+ const tableEntities = (0, serialization_js_1.deserializeObjectsArray)(value ?? [], disableTypeConversion);
274
295
  // Encode nextPartitionKey and nextRowKey as a single continuation token and add it as a
275
296
  // property to the page.
276
297
  const continuationToken = (0, continuationToken_js_1.encodeContinuationToken)(nextPartitionKey, nextRowKey);
@@ -307,8 +328,12 @@ class TableClient {
307
328
  */
308
329
  createEntity(entity, options = {}) {
309
330
  return tracing_js_1.tracingClient.withSpan("TableClient.createEntity", options, (updatedOptions) => {
310
- const createTableEntity = tslib_1.__rest(updatedOptions || {}, []);
311
- return this.table.insertEntity(this.tableName, Object.assign(Object.assign({}, createTableEntity), { tableEntityProperties: (0, serialization_js_1.serialize)(entity), responsePreference: "return-no-content" }));
331
+ const { ...createTableEntity } = updatedOptions || {};
332
+ return this.table.insertEntity(this.tableName, {
333
+ ...createTableEntity,
334
+ tableEntityProperties: (0, serialization_js_1.serialize)(entity),
335
+ responsePreference: "return-no-content",
336
+ });
312
337
  });
313
338
  }
314
339
  /**
@@ -343,8 +368,10 @@ class TableClient {
343
368
  throw new Error("The entity's rowKey cannot be undefined or null.");
344
369
  }
345
370
  return tracing_js_1.tracingClient.withSpan("TableClient.deleteEntity", options, (updatedOptions) => {
346
- const { etag = "*" } = updatedOptions, rest = tslib_1.__rest(updatedOptions, ["etag"]);
347
- const deleteOptions = Object.assign({}, rest);
371
+ const { etag = "*", ...rest } = updatedOptions;
372
+ const deleteOptions = {
373
+ ...rest,
374
+ };
348
375
  return this.table.deleteEntity(this.tableName, (0, odata_js_1.escapeQuotes)(partitionKey), (0, odata_js_1.escapeQuotes)(rowKey), etag, deleteOptions);
349
376
  });
350
377
  }
@@ -397,12 +424,20 @@ class TableClient {
397
424
  return tracing_js_1.tracingClient.withSpan("TableClient.updateEntity", options, async (updatedOptions) => {
398
425
  const partitionKey = (0, odata_js_1.escapeQuotes)(entity.partitionKey);
399
426
  const rowKey = (0, odata_js_1.escapeQuotes)(entity.rowKey);
400
- const _a = updatedOptions || {}, { etag = "*" } = _a, updateEntityOptions = tslib_1.__rest(_a, ["etag"]);
427
+ const { etag = "*", ...updateEntityOptions } = updatedOptions || {};
401
428
  if (mode === "Merge") {
402
- return this.table.mergeEntity(this.tableName, partitionKey, rowKey, Object.assign({ tableEntityProperties: (0, serialization_js_1.serialize)(entity), ifMatch: etag }, updateEntityOptions));
429
+ return this.table.mergeEntity(this.tableName, partitionKey, rowKey, {
430
+ tableEntityProperties: (0, serialization_js_1.serialize)(entity),
431
+ ifMatch: etag,
432
+ ...updateEntityOptions,
433
+ });
403
434
  }
404
435
  if (mode === "Replace") {
405
- return this.table.updateEntity(this.tableName, partitionKey, rowKey, Object.assign({ tableEntityProperties: (0, serialization_js_1.serialize)(entity), ifMatch: etag }, updateEntityOptions));
436
+ return this.table.updateEntity(this.tableName, partitionKey, rowKey, {
437
+ tableEntityProperties: (0, serialization_js_1.serialize)(entity),
438
+ ifMatch: etag,
439
+ ...updateEntityOptions,
440
+ });
406
441
  }
407
442
  throw new Error(`Unexpected value for update mode: ${mode}`);
408
443
  }, {
@@ -455,10 +490,16 @@ class TableClient {
455
490
  const partitionKey = (0, odata_js_1.escapeQuotes)(entity.partitionKey);
456
491
  const rowKey = (0, odata_js_1.escapeQuotes)(entity.rowKey);
457
492
  if (mode === "Merge") {
458
- return this.table.mergeEntity(this.tableName, partitionKey, rowKey, Object.assign({ tableEntityProperties: (0, serialization_js_1.serialize)(entity) }, updatedOptions));
493
+ return this.table.mergeEntity(this.tableName, partitionKey, rowKey, {
494
+ tableEntityProperties: (0, serialization_js_1.serialize)(entity),
495
+ ...updatedOptions,
496
+ });
459
497
  }
460
498
  if (mode === "Replace") {
461
- return this.table.updateEntity(this.tableName, partitionKey, rowKey, Object.assign({ tableEntityProperties: (0, serialization_js_1.serialize)(entity) }, updatedOptions));
499
+ return this.table.updateEntity(this.tableName, partitionKey, rowKey, {
500
+ tableEntityProperties: (0, serialization_js_1.serialize)(entity),
501
+ ...updatedOptions,
502
+ });
462
503
  }
463
504
  throw new Error(`Unexpected value for update mode: ${mode}`);
464
505
  }, {
@@ -486,7 +527,10 @@ class TableClient {
486
527
  setAccessPolicy(tableAcl, options = {}) {
487
528
  return tracing_js_1.tracingClient.withSpan("TableClient.setAccessPolicy", options, (updatedOptions) => {
488
529
  const serlializedAcl = (0, serialization_js_1.serializeSignedIdentifiers)(tableAcl);
489
- return this.table.setAccessPolicy(this.tableName, Object.assign(Object.assign({}, updatedOptions), { tableAcl: serlializedAcl }));
530
+ return this.table.setAccessPolicy(this.tableName, {
531
+ ...updatedOptions,
532
+ tableAcl: serlializedAcl,
533
+ });
490
534
  });
491
535
  }
492
536
  /**