@azure/ai-form-recognizer 5.0.0 → 5.1.0

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 (849) hide show
  1. package/LICENSE +3 -3
  2. package/README.md +322 -340
  3. package/dist/browser/azureKeyCredentialPolicy.d.ts +8 -0
  4. package/dist/browser/azureKeyCredentialPolicy.d.ts.map +1 -0
  5. package/{dist-esm/src → dist/browser}/azureKeyCredentialPolicy.js +1 -1
  6. package/dist/browser/azureKeyCredentialPolicy.js.map +1 -0
  7. package/dist/browser/bin/defaultFields.d.ts +14 -0
  8. package/dist/browser/bin/defaultFields.d.ts.map +1 -0
  9. package/dist/browser/bin/defaultFields.js +83 -0
  10. package/dist/browser/bin/defaultFields.js.map +1 -0
  11. package/dist/browser/bin/gen-model.d.ts +3 -0
  12. package/dist/browser/bin/gen-model.d.ts.map +1 -0
  13. package/dist/browser/bin/gen-model.js +101 -0
  14. package/dist/browser/bin/gen-model.js.map +1 -0
  15. package/dist/browser/bin/utils.d.ts +22 -0
  16. package/dist/browser/bin/utils.d.ts.map +1 -0
  17. package/dist/browser/bin/utils.js +21 -0
  18. package/dist/browser/bin/utils.js.map +1 -0
  19. package/dist/browser/bin/writeModelCode.d.ts +9 -0
  20. package/dist/browser/bin/writeModelCode.d.ts.map +1 -0
  21. package/dist/browser/bin/writeModelCode.js +323 -0
  22. package/dist/browser/bin/writeModelCode.js.map +1 -0
  23. package/dist/browser/constants.d.ts +29 -0
  24. package/dist/browser/constants.d.ts.map +1 -0
  25. package/dist/browser/constants.js +32 -0
  26. package/dist/browser/constants.js.map +1 -0
  27. package/dist/browser/documentAnalysisClient.d.ts +485 -0
  28. package/dist/browser/documentAnalysisClient.d.ts.map +1 -0
  29. package/{dist-esm/src → dist/browser}/documentAnalysisClient.js +85 -47
  30. package/dist/browser/documentAnalysisClient.js.map +1 -0
  31. package/dist/browser/documentModel.d.ts +34 -0
  32. package/dist/browser/documentModel.d.ts.map +1 -0
  33. package/{dist-esm/src → dist/browser}/documentModel.js +3 -3
  34. package/dist/browser/documentModel.js.map +1 -0
  35. package/dist/browser/documentModelAdministrationClient.d.ts +792 -0
  36. package/dist/browser/documentModelAdministrationClient.d.ts.map +1 -0
  37. package/{dist-esm/src → dist/browser}/documentModelAdministrationClient.js +202 -92
  38. package/dist/browser/documentModelAdministrationClient.js.map +1 -0
  39. package/dist/browser/error.d.ts +31 -0
  40. package/dist/browser/error.d.ts.map +1 -0
  41. package/{dist-esm/src → dist/browser}/error.js +1 -1
  42. package/dist/browser/error.js.map +1 -0
  43. package/dist/browser/generated/generatedClient.d.ts +21 -0
  44. package/dist/browser/generated/generatedClient.d.ts.map +1 -0
  45. package/{dist-esm/src → dist/browser}/generated/generatedClient.js +2 -2
  46. package/dist/browser/generated/generatedClient.js.map +1 -0
  47. package/dist/browser/generated/index.d.ts +4 -0
  48. package/dist/browser/generated/index.d.ts.map +1 -0
  49. package/{dist-esm/src → dist/browser}/generated/index.js +3 -3
  50. package/dist/browser/generated/index.js.map +1 -0
  51. package/dist/browser/generated/models/index.d.ts +1208 -0
  52. package/dist/browser/generated/models/index.d.ts.map +1 -0
  53. package/dist/browser/generated/models/mappers.d.ts +67 -0
  54. package/dist/browser/generated/models/mappers.d.ts.map +1 -0
  55. package/dist/browser/generated/models/parameters.d.ts +31 -0
  56. package/dist/browser/generated/models/parameters.d.ts.map +1 -0
  57. package/{dist-esm/src → dist/browser}/generated/models/parameters.js +1 -1
  58. package/dist/browser/generated/models/parameters.js.map +1 -0
  59. package/dist/browser/generated/operations/documentClassifiers.d.ts +78 -0
  60. package/dist/browser/generated/operations/documentClassifiers.d.ts.map +1 -0
  61. package/{dist-esm/src → dist/browser}/generated/operations/documentClassifiers.js +5 -10
  62. package/dist/browser/generated/operations/documentClassifiers.js.map +1 -0
  63. package/dist/browser/generated/operations/documentModels.d.ts +98 -0
  64. package/dist/browser/generated/operations/documentModels.d.ts.map +1 -0
  65. package/{dist-esm/src → dist/browser}/generated/operations/documentModels.js +5 -10
  66. package/dist/browser/generated/operations/documentModels.js.map +1 -0
  67. package/dist/browser/generated/operations/index.d.ts +4 -0
  68. package/dist/browser/generated/operations/index.d.ts.map +1 -0
  69. package/{dist-esm/src/generated/operationsInterfaces → dist/browser/generated/operations}/index.js +3 -3
  70. package/{dist-esm/src → dist/browser}/generated/operations/index.js.map +1 -1
  71. package/dist/browser/generated/operations/miscellaneous.d.ts +43 -0
  72. package/dist/browser/generated/operations/miscellaneous.d.ts.map +1 -0
  73. package/{dist-esm/src → dist/browser}/generated/operations/miscellaneous.js +5 -10
  74. package/dist/browser/generated/operations/miscellaneous.js.map +1 -0
  75. package/dist/browser/generated/operationsInterfaces/documentClassifiers.d.ts +53 -0
  76. package/dist/browser/generated/operationsInterfaces/documentClassifiers.d.ts.map +1 -0
  77. package/dist/browser/generated/operationsInterfaces/documentClassifiers.js.map +1 -0
  78. package/dist/browser/generated/operationsInterfaces/documentModels.d.ts +69 -0
  79. package/dist/browser/generated/operationsInterfaces/documentModels.d.ts.map +1 -0
  80. package/dist/browser/generated/operationsInterfaces/documentModels.js.map +1 -0
  81. package/dist/browser/generated/operationsInterfaces/index.d.ts +4 -0
  82. package/dist/browser/generated/operationsInterfaces/index.d.ts.map +1 -0
  83. package/dist/browser/generated/operationsInterfaces/index.js +11 -0
  84. package/{dist-esm/src → dist/browser}/generated/operationsInterfaces/index.js.map +1 -1
  85. package/dist/browser/generated/operationsInterfaces/miscellaneous.d.ts +22 -0
  86. package/dist/browser/generated/operationsInterfaces/miscellaneous.d.ts.map +1 -0
  87. package/dist/browser/generated/operationsInterfaces/miscellaneous.js.map +1 -0
  88. package/dist/browser/index.d.ts +18 -0
  89. package/dist/browser/index.d.ts.map +1 -0
  90. package/{dist-esm/src → dist/browser}/index.js +8 -7
  91. package/dist/browser/index.js.map +1 -0
  92. package/dist/browser/lro/administration.d.ts +101 -0
  93. package/dist/browser/lro/administration.d.ts.map +1 -0
  94. package/{dist-esm/src → dist/browser}/lro/administration.js +2 -2
  95. package/dist/browser/lro/administration.js.map +1 -0
  96. package/dist/browser/lro/analysis.d.ts +210 -0
  97. package/dist/browser/lro/analysis.d.ts.map +1 -0
  98. package/{dist-esm/src → dist/browser}/lro/analysis.js +5 -5
  99. package/dist/browser/lro/analysis.js.map +1 -0
  100. package/dist/browser/lro/util/delayMs.d.ts +32 -0
  101. package/dist/browser/lro/util/delayMs.d.ts.map +1 -0
  102. package/{dist-esm/src → dist/browser}/lro/util/delayMs.js +3 -3
  103. package/dist/browser/lro/util/delayMs.js.map +1 -0
  104. package/dist/browser/lro/util/poller.d.ts +41 -0
  105. package/dist/browser/lro/util/poller.d.ts.map +1 -0
  106. package/{dist-esm/src → dist/browser}/lro/util/poller.js +2 -2
  107. package/dist/browser/lro/util/poller.js.map +1 -0
  108. package/dist/browser/models/contentSource.d.ts +56 -0
  109. package/dist/browser/models/contentSource.d.ts.map +1 -0
  110. package/dist/browser/models/contentSource.js +4 -0
  111. package/dist/browser/models/contentSource.js.map +1 -0
  112. package/dist/browser/models/documentElements.d.ts +210 -0
  113. package/dist/browser/models/documentElements.d.ts.map +1 -0
  114. package/dist/browser/models/documentElements.js +4 -0
  115. package/dist/browser/models/documentElements.js.map +1 -0
  116. package/dist/browser/models/fields.d.ts +205 -0
  117. package/dist/browser/models/fields.d.ts.map +1 -0
  118. package/{dist-esm/src → dist/browser}/models/fields.js +3 -3
  119. package/{dist-esm/src → dist/browser}/models/fields.js.map +1 -1
  120. package/dist/browser/models/index.d.ts +4 -0
  121. package/dist/browser/models/index.d.ts.map +1 -0
  122. package/dist/browser/models/index.js +4 -0
  123. package/dist/browser/models/index.js.map +1 -0
  124. package/dist/browser/options/AnalyzeDocumentOptions.d.ts +69 -0
  125. package/dist/browser/options/AnalyzeDocumentOptions.d.ts.map +1 -0
  126. package/{dist-esm/src → dist/browser}/options/AnalyzeDocumentOptions.js +1 -1
  127. package/dist/browser/options/AnalyzeDocumentOptions.js.map +1 -0
  128. package/dist/browser/options/BeginCopyModelOptions.d.ts +9 -0
  129. package/dist/browser/options/BeginCopyModelOptions.d.ts.map +1 -0
  130. package/dist/browser/options/BeginCopyModelOptions.js +4 -0
  131. package/dist/browser/options/BeginCopyModelOptions.js.map +1 -0
  132. package/dist/browser/options/BuildDocumentClassifierOptions.d.ts +13 -0
  133. package/dist/browser/options/BuildDocumentClassifierOptions.d.ts.map +1 -0
  134. package/dist/browser/options/BuildDocumentClassifierOptions.js +4 -0
  135. package/dist/browser/options/BuildDocumentClassifierOptions.js.map +1 -0
  136. package/dist/browser/options/BuildModelOptions.d.ts +61 -0
  137. package/dist/browser/options/BuildModelOptions.d.ts.map +1 -0
  138. package/{dist-esm/src → dist/browser}/options/BuildModelOptions.js +1 -1
  139. package/dist/browser/options/BuildModelOptions.js.map +1 -0
  140. package/dist/browser/options/ClassifyDocumentOptions.d.ts +9 -0
  141. package/dist/browser/options/ClassifyDocumentOptions.d.ts.map +1 -0
  142. package/dist/browser/options/ClassifyDocumentOptions.js +4 -0
  143. package/dist/browser/options/ClassifyDocumentOptions.js.map +1 -0
  144. package/dist/browser/options/DeleteModelOptions.d.ts +7 -0
  145. package/dist/browser/options/DeleteModelOptions.d.ts.map +1 -0
  146. package/dist/browser/options/DeleteModelOptions.js +4 -0
  147. package/dist/browser/options/DeleteModelOptions.js.map +1 -0
  148. package/dist/browser/options/FormRecognizerClientOptions.d.ts +70 -0
  149. package/dist/browser/options/FormRecognizerClientOptions.d.ts.map +1 -0
  150. package/{dist-esm/src → dist/browser}/options/FormRecognizerClientOptions.js +1 -1
  151. package/dist/browser/options/FormRecognizerClientOptions.js.map +1 -0
  152. package/dist/browser/options/GetCopyAuthorizationOptions.d.ts +8 -0
  153. package/dist/browser/options/GetCopyAuthorizationOptions.d.ts.map +1 -0
  154. package/dist/browser/options/GetCopyAuthorizationOptions.js +4 -0
  155. package/dist/browser/options/GetCopyAuthorizationOptions.js.map +1 -0
  156. package/dist/browser/options/GetModelOptions.d.ts +7 -0
  157. package/dist/browser/options/GetModelOptions.d.ts.map +1 -0
  158. package/dist/browser/options/GetModelOptions.js +4 -0
  159. package/dist/browser/options/GetModelOptions.js.map +1 -0
  160. package/dist/browser/options/GetOperationOptions.d.ts +7 -0
  161. package/dist/browser/options/GetOperationOptions.d.ts.map +1 -0
  162. package/dist/browser/options/GetOperationOptions.js +4 -0
  163. package/dist/browser/options/GetOperationOptions.js.map +1 -0
  164. package/dist/browser/options/GetResourceDetailsOptions.d.ts +7 -0
  165. package/dist/browser/options/GetResourceDetailsOptions.d.ts.map +1 -0
  166. package/dist/browser/options/GetResourceDetailsOptions.js +4 -0
  167. package/{dist-esm/src → dist/browser}/options/GetResourceDetailsOptions.js.map +1 -1
  168. package/dist/browser/options/ListModelsOptions.d.ts +7 -0
  169. package/dist/browser/options/ListModelsOptions.d.ts.map +1 -0
  170. package/dist/browser/options/ListModelsOptions.js +4 -0
  171. package/dist/browser/options/ListModelsOptions.js.map +1 -0
  172. package/dist/browser/options/ListOperationsOptions.d.ts +7 -0
  173. package/dist/browser/options/ListOperationsOptions.d.ts.map +1 -0
  174. package/dist/browser/options/ListOperationsOptions.js +4 -0
  175. package/{dist-esm/src → dist/browser}/options/ListOperationsOptions.js.map +1 -1
  176. package/dist/browser/options/PollerOptions.d.ts +22 -0
  177. package/dist/browser/options/PollerOptions.d.ts.map +1 -0
  178. package/dist/browser/options/PollerOptions.js +4 -0
  179. package/dist/browser/options/PollerOptions.js.map +1 -0
  180. package/dist/browser/options/index.d.ts +16 -0
  181. package/dist/browser/options/index.d.ts.map +1 -0
  182. package/dist/browser/options/index.js +7 -0
  183. package/dist/browser/options/index.js.map +1 -0
  184. package/dist/browser/package.json +3 -0
  185. package/dist/browser/transforms/polygon.d.ts +20 -0
  186. package/dist/browser/transforms/polygon.d.ts.map +1 -0
  187. package/{dist-esm/src → dist/browser}/transforms/polygon.js +1 -1
  188. package/dist/browser/transforms/polygon.js.map +1 -0
  189. package/dist/browser/util.d.ts +33 -0
  190. package/dist/browser/util.d.ts.map +1 -0
  191. package/{dist-esm/src → dist/browser}/util.js +12 -7
  192. package/dist/browser/util.js.map +1 -0
  193. package/dist/commonjs/azureKeyCredentialPolicy.d.ts +8 -0
  194. package/dist/commonjs/azureKeyCredentialPolicy.d.ts.map +1 -0
  195. package/dist/commonjs/azureKeyCredentialPolicy.js +20 -0
  196. package/dist/commonjs/azureKeyCredentialPolicy.js.map +1 -0
  197. package/dist/commonjs/bin/defaultFields.d.ts +14 -0
  198. package/dist/commonjs/bin/defaultFields.d.ts.map +1 -0
  199. package/dist/commonjs/bin/defaultFields.js +87 -0
  200. package/dist/commonjs/bin/defaultFields.js.map +1 -0
  201. package/dist/commonjs/bin/gen-model.d.ts +3 -0
  202. package/dist/commonjs/bin/gen-model.d.ts.map +1 -0
  203. package/dist/commonjs/bin/gen-model.js +103 -0
  204. package/dist/commonjs/bin/gen-model.js.map +1 -0
  205. package/dist/commonjs/bin/utils.d.ts +22 -0
  206. package/dist/commonjs/bin/utils.d.ts.map +1 -0
  207. package/dist/commonjs/bin/utils.js +26 -0
  208. package/dist/commonjs/bin/utils.js.map +1 -0
  209. package/dist/commonjs/bin/writeModelCode.d.ts +9 -0
  210. package/dist/commonjs/bin/writeModelCode.d.ts.map +1 -0
  211. package/dist/commonjs/bin/writeModelCode.js +326 -0
  212. package/dist/commonjs/bin/writeModelCode.js.map +1 -0
  213. package/dist/commonjs/constants.d.ts +29 -0
  214. package/dist/commonjs/constants.d.ts.map +1 -0
  215. package/dist/commonjs/constants.js +35 -0
  216. package/dist/commonjs/constants.js.map +1 -0
  217. package/dist/commonjs/documentAnalysisClient.d.ts +485 -0
  218. package/dist/commonjs/documentAnalysisClient.d.ts.map +1 -0
  219. package/dist/commonjs/documentAnalysisClient.js +351 -0
  220. package/dist/commonjs/documentAnalysisClient.js.map +1 -0
  221. package/dist/commonjs/documentModel.d.ts +34 -0
  222. package/dist/commonjs/documentModel.d.ts.map +1 -0
  223. package/dist/commonjs/documentModel.js +76 -0
  224. package/dist/commonjs/documentModel.js.map +1 -0
  225. package/dist/commonjs/documentModelAdministrationClient.d.ts +792 -0
  226. package/dist/commonjs/documentModelAdministrationClient.d.ts.map +1 -0
  227. package/dist/commonjs/documentModelAdministrationClient.js +763 -0
  228. package/dist/commonjs/documentModelAdministrationClient.js.map +1 -0
  229. package/dist/commonjs/error.d.ts +31 -0
  230. package/dist/commonjs/error.d.ts.map +1 -0
  231. package/dist/commonjs/error.js +43 -0
  232. package/dist/commonjs/error.js.map +1 -0
  233. package/dist/commonjs/generated/generatedClient.d.ts +21 -0
  234. package/dist/commonjs/generated/generatedClient.d.ts.map +1 -0
  235. package/dist/commonjs/generated/generatedClient.js +94 -0
  236. package/dist/commonjs/generated/generatedClient.js.map +1 -0
  237. package/dist/commonjs/generated/index.d.ts +4 -0
  238. package/dist/commonjs/generated/index.d.ts.map +1 -0
  239. package/dist/commonjs/generated/index.js +17 -0
  240. package/dist/commonjs/generated/index.js.map +1 -0
  241. package/dist/commonjs/generated/models/index.d.ts +1208 -0
  242. package/dist/commonjs/generated/models/index.d.ts.map +1 -0
  243. package/dist/commonjs/generated/models/index.js +207 -0
  244. package/dist/commonjs/generated/models/index.js.map +1 -0
  245. package/dist/commonjs/generated/models/mappers.d.ts +67 -0
  246. package/dist/commonjs/generated/models/mappers.d.ts.map +1 -0
  247. package/dist/commonjs/generated/models/mappers.js +2505 -0
  248. package/dist/commonjs/generated/models/mappers.js.map +1 -0
  249. package/dist/commonjs/generated/models/parameters.d.ts +31 -0
  250. package/dist/commonjs/generated/models/parameters.d.ts.map +1 -0
  251. package/dist/commonjs/generated/models/parameters.js +294 -0
  252. package/dist/commonjs/generated/models/parameters.js.map +1 -0
  253. package/dist/commonjs/generated/operations/documentClassifiers.d.ts +78 -0
  254. package/dist/commonjs/generated/operations/documentClassifiers.d.ts.map +1 -0
  255. package/dist/commonjs/generated/operations/documentClassifiers.js +334 -0
  256. package/dist/commonjs/generated/operations/documentClassifiers.js.map +1 -0
  257. package/dist/commonjs/generated/operations/documentModels.d.ts +98 -0
  258. package/dist/commonjs/generated/operations/documentModels.d.ts.map +1 -0
  259. package/dist/commonjs/generated/operations/documentModels.js +428 -0
  260. package/dist/commonjs/generated/operations/documentModels.js.map +1 -0
  261. package/dist/commonjs/generated/operations/index.d.ts +4 -0
  262. package/dist/commonjs/generated/operations/index.d.ts.map +1 -0
  263. package/dist/commonjs/generated/operations/index.js +14 -0
  264. package/dist/commonjs/generated/operations/index.js.map +1 -0
  265. package/dist/commonjs/generated/operations/miscellaneous.d.ts +43 -0
  266. package/dist/commonjs/generated/operations/miscellaneous.d.ts.map +1 -0
  267. package/dist/commonjs/generated/operations/miscellaneous.js +173 -0
  268. package/dist/commonjs/generated/operations/miscellaneous.js.map +1 -0
  269. package/dist/commonjs/generated/operationsInterfaces/documentClassifiers.d.ts +53 -0
  270. package/dist/commonjs/generated/operationsInterfaces/documentClassifiers.d.ts.map +1 -0
  271. package/{dist-esm/src/generated/operations/index.js → dist/commonjs/generated/operationsInterfaces/documentClassifiers.js} +3 -4
  272. package/dist/commonjs/generated/operationsInterfaces/documentClassifiers.js.map +1 -0
  273. package/dist/commonjs/generated/operationsInterfaces/documentModels.d.ts +69 -0
  274. package/dist/commonjs/generated/operationsInterfaces/documentModels.d.ts.map +1 -0
  275. package/dist/commonjs/generated/operationsInterfaces/documentModels.js +10 -0
  276. package/dist/commonjs/generated/operationsInterfaces/documentModels.js.map +1 -0
  277. package/dist/commonjs/generated/operationsInterfaces/index.d.ts +4 -0
  278. package/dist/commonjs/generated/operationsInterfaces/index.d.ts.map +1 -0
  279. package/dist/commonjs/generated/operationsInterfaces/index.js +14 -0
  280. package/dist/commonjs/generated/operationsInterfaces/index.js.map +1 -0
  281. package/dist/commonjs/generated/operationsInterfaces/miscellaneous.d.ts +22 -0
  282. package/dist/commonjs/generated/operationsInterfaces/miscellaneous.d.ts.map +1 -0
  283. package/dist/commonjs/generated/operationsInterfaces/miscellaneous.js +10 -0
  284. package/dist/commonjs/generated/operationsInterfaces/miscellaneous.js.map +1 -0
  285. package/dist/commonjs/index.d.ts +18 -0
  286. package/dist/commonjs/index.d.ts.map +1 -0
  287. package/dist/commonjs/index.js +38 -0
  288. package/dist/commonjs/index.js.map +1 -0
  289. package/dist/commonjs/lro/administration.d.ts +101 -0
  290. package/dist/commonjs/lro/administration.d.ts.map +1 -0
  291. package/dist/commonjs/lro/administration.js +32 -0
  292. package/dist/commonjs/lro/administration.js.map +1 -0
  293. package/dist/commonjs/lro/analysis.d.ts +210 -0
  294. package/dist/commonjs/lro/analysis.d.ts.map +1 -0
  295. package/dist/commonjs/lro/analysis.js +186 -0
  296. package/dist/commonjs/lro/analysis.js.map +1 -0
  297. package/dist/commonjs/lro/util/delayMs.d.ts +32 -0
  298. package/dist/commonjs/lro/util/delayMs.d.ts.map +1 -0
  299. package/dist/commonjs/lro/util/delayMs.js +55 -0
  300. package/dist/commonjs/lro/util/delayMs.js.map +1 -0
  301. package/dist/commonjs/lro/util/poller.d.ts +41 -0
  302. package/dist/commonjs/lro/util/poller.d.ts.map +1 -0
  303. package/dist/commonjs/lro/util/poller.js +87 -0
  304. package/dist/commonjs/lro/util/poller.js.map +1 -0
  305. package/dist/commonjs/models/contentSource.d.ts +56 -0
  306. package/dist/commonjs/models/contentSource.d.ts.map +1 -0
  307. package/dist/commonjs/models/contentSource.js +5 -0
  308. package/dist/commonjs/models/contentSource.js.map +1 -0
  309. package/dist/commonjs/models/documentElements.d.ts +210 -0
  310. package/dist/commonjs/models/documentElements.d.ts.map +1 -0
  311. package/dist/commonjs/models/documentElements.js +5 -0
  312. package/dist/commonjs/models/documentElements.js.map +1 -0
  313. package/dist/commonjs/models/fields.d.ts +205 -0
  314. package/dist/commonjs/models/fields.d.ts.map +1 -0
  315. package/dist/commonjs/models/fields.js +59 -0
  316. package/dist/commonjs/models/fields.js.map +1 -0
  317. package/dist/commonjs/models/index.d.ts +4 -0
  318. package/dist/commonjs/models/index.d.ts.map +1 -0
  319. package/dist/commonjs/models/index.js +5 -0
  320. package/dist/commonjs/models/index.js.map +1 -0
  321. package/dist/commonjs/options/AnalyzeDocumentOptions.d.ts +69 -0
  322. package/dist/commonjs/options/AnalyzeDocumentOptions.d.ts.map +1 -0
  323. package/dist/commonjs/options/AnalyzeDocumentOptions.js +36 -0
  324. package/dist/commonjs/options/AnalyzeDocumentOptions.js.map +1 -0
  325. package/dist/commonjs/options/BeginCopyModelOptions.d.ts +9 -0
  326. package/dist/commonjs/options/BeginCopyModelOptions.d.ts.map +1 -0
  327. package/dist/commonjs/options/BeginCopyModelOptions.js +5 -0
  328. package/dist/commonjs/options/BeginCopyModelOptions.js.map +1 -0
  329. package/dist/commonjs/options/BuildDocumentClassifierOptions.d.ts +13 -0
  330. package/dist/commonjs/options/BuildDocumentClassifierOptions.d.ts.map +1 -0
  331. package/dist/commonjs/options/BuildDocumentClassifierOptions.js +5 -0
  332. package/dist/commonjs/options/BuildDocumentClassifierOptions.js.map +1 -0
  333. package/dist/commonjs/options/BuildModelOptions.d.ts +61 -0
  334. package/dist/commonjs/options/BuildModelOptions.d.ts.map +1 -0
  335. package/dist/commonjs/options/BuildModelOptions.js +22 -0
  336. package/dist/commonjs/options/BuildModelOptions.js.map +1 -0
  337. package/dist/commonjs/options/ClassifyDocumentOptions.d.ts +9 -0
  338. package/dist/commonjs/options/ClassifyDocumentOptions.d.ts.map +1 -0
  339. package/dist/commonjs/options/ClassifyDocumentOptions.js +5 -0
  340. package/dist/commonjs/options/ClassifyDocumentOptions.js.map +1 -0
  341. package/dist/commonjs/options/DeleteModelOptions.d.ts +7 -0
  342. package/dist/commonjs/options/DeleteModelOptions.d.ts.map +1 -0
  343. package/dist/commonjs/options/DeleteModelOptions.js +5 -0
  344. package/dist/commonjs/options/DeleteModelOptions.js.map +1 -0
  345. package/dist/commonjs/options/FormRecognizerClientOptions.d.ts +70 -0
  346. package/dist/commonjs/options/FormRecognizerClientOptions.d.ts.map +1 -0
  347. package/dist/commonjs/options/FormRecognizerClientOptions.js +28 -0
  348. package/dist/commonjs/options/FormRecognizerClientOptions.js.map +1 -0
  349. package/dist/commonjs/options/GetCopyAuthorizationOptions.d.ts +8 -0
  350. package/dist/commonjs/options/GetCopyAuthorizationOptions.d.ts.map +1 -0
  351. package/dist/commonjs/options/GetCopyAuthorizationOptions.js +5 -0
  352. package/dist/commonjs/options/GetCopyAuthorizationOptions.js.map +1 -0
  353. package/dist/commonjs/options/GetModelOptions.d.ts +7 -0
  354. package/dist/commonjs/options/GetModelOptions.d.ts.map +1 -0
  355. package/dist/commonjs/options/GetModelOptions.js +5 -0
  356. package/dist/commonjs/options/GetModelOptions.js.map +1 -0
  357. package/dist/commonjs/options/GetOperationOptions.d.ts +7 -0
  358. package/dist/commonjs/options/GetOperationOptions.d.ts.map +1 -0
  359. package/dist/commonjs/options/GetOperationOptions.js +5 -0
  360. package/dist/commonjs/options/GetOperationOptions.js.map +1 -0
  361. package/dist/commonjs/options/GetResourceDetailsOptions.d.ts +7 -0
  362. package/dist/commonjs/options/GetResourceDetailsOptions.d.ts.map +1 -0
  363. package/dist/commonjs/options/GetResourceDetailsOptions.js +5 -0
  364. package/dist/commonjs/options/GetResourceDetailsOptions.js.map +1 -0
  365. package/dist/commonjs/options/ListModelsOptions.d.ts +7 -0
  366. package/dist/commonjs/options/ListModelsOptions.d.ts.map +1 -0
  367. package/dist/commonjs/options/ListModelsOptions.js +5 -0
  368. package/dist/commonjs/options/ListModelsOptions.js.map +1 -0
  369. package/dist/commonjs/options/ListOperationsOptions.d.ts +7 -0
  370. package/dist/commonjs/options/ListOperationsOptions.d.ts.map +1 -0
  371. package/dist/commonjs/options/ListOperationsOptions.js +5 -0
  372. package/dist/commonjs/options/ListOperationsOptions.js.map +1 -0
  373. package/dist/commonjs/options/PollerOptions.d.ts +22 -0
  374. package/dist/commonjs/options/PollerOptions.d.ts.map +1 -0
  375. package/dist/commonjs/options/PollerOptions.js +5 -0
  376. package/dist/commonjs/options/PollerOptions.js.map +1 -0
  377. package/dist/commonjs/options/index.d.ts +16 -0
  378. package/dist/commonjs/options/index.d.ts.map +1 -0
  379. package/dist/commonjs/options/index.js +12 -0
  380. package/dist/commonjs/options/index.js.map +1 -0
  381. package/dist/commonjs/package.json +3 -0
  382. package/dist/commonjs/transforms/polygon.d.ts +20 -0
  383. package/dist/commonjs/transforms/polygon.d.ts.map +1 -0
  384. package/dist/commonjs/transforms/polygon.js +32 -0
  385. package/dist/commonjs/transforms/polygon.js.map +1 -0
  386. package/dist/commonjs/tsdoc-metadata.json +11 -0
  387. package/dist/commonjs/util.d.ts +33 -0
  388. package/dist/commonjs/util.d.ts.map +1 -0
  389. package/dist/commonjs/util.js +65 -0
  390. package/dist/commonjs/util.js.map +1 -0
  391. package/dist/esm/azureKeyCredentialPolicy.d.ts +8 -0
  392. package/dist/esm/azureKeyCredentialPolicy.d.ts.map +1 -0
  393. package/dist/esm/azureKeyCredentialPolicy.js +17 -0
  394. package/dist/esm/azureKeyCredentialPolicy.js.map +1 -0
  395. package/dist/esm/bin/defaultFields.d.ts +14 -0
  396. package/dist/esm/bin/defaultFields.d.ts.map +1 -0
  397. package/dist/esm/bin/defaultFields.js +83 -0
  398. package/dist/esm/bin/defaultFields.js.map +1 -0
  399. package/dist/esm/bin/gen-model.d.ts +3 -0
  400. package/dist/esm/bin/gen-model.d.ts.map +1 -0
  401. package/dist/esm/bin/gen-model.js +101 -0
  402. package/dist/esm/bin/gen-model.js.map +1 -0
  403. package/dist/esm/bin/utils.d.ts +22 -0
  404. package/dist/esm/bin/utils.d.ts.map +1 -0
  405. package/dist/esm/bin/utils.js +21 -0
  406. package/dist/esm/bin/utils.js.map +1 -0
  407. package/dist/esm/bin/writeModelCode.d.ts +9 -0
  408. package/dist/esm/bin/writeModelCode.d.ts.map +1 -0
  409. package/dist/esm/bin/writeModelCode.js +323 -0
  410. package/dist/esm/bin/writeModelCode.js.map +1 -0
  411. package/dist/esm/constants.d.ts +29 -0
  412. package/dist/esm/constants.d.ts.map +1 -0
  413. package/dist/esm/constants.js +32 -0
  414. package/dist/esm/constants.js.map +1 -0
  415. package/dist/esm/documentAnalysisClient.d.ts +485 -0
  416. package/dist/esm/documentAnalysisClient.d.ts.map +1 -0
  417. package/dist/esm/documentAnalysisClient.js +347 -0
  418. package/dist/esm/documentAnalysisClient.js.map +1 -0
  419. package/dist/esm/documentModel.d.ts +34 -0
  420. package/dist/esm/documentModel.d.ts.map +1 -0
  421. package/dist/esm/documentModel.js +73 -0
  422. package/dist/esm/documentModel.js.map +1 -0
  423. package/dist/esm/documentModelAdministrationClient.d.ts +792 -0
  424. package/dist/esm/documentModelAdministrationClient.d.ts.map +1 -0
  425. package/dist/esm/documentModelAdministrationClient.js +759 -0
  426. package/dist/esm/documentModelAdministrationClient.js.map +1 -0
  427. package/dist/esm/error.d.ts +31 -0
  428. package/dist/esm/error.d.ts.map +1 -0
  429. package/dist/esm/error.js +39 -0
  430. package/dist/esm/error.js.map +1 -0
  431. package/dist/esm/generated/generatedClient.d.ts +21 -0
  432. package/dist/esm/generated/generatedClient.d.ts.map +1 -0
  433. package/dist/esm/generated/generatedClient.js +89 -0
  434. package/dist/esm/generated/generatedClient.js.map +1 -0
  435. package/dist/esm/generated/index.d.ts +4 -0
  436. package/dist/esm/generated/index.d.ts.map +1 -0
  437. package/dist/esm/generated/index.js +12 -0
  438. package/dist/esm/generated/index.js.map +1 -0
  439. package/dist/esm/generated/models/index.d.ts +1208 -0
  440. package/dist/esm/generated/models/index.d.ts.map +1 -0
  441. package/dist/esm/generated/models/index.js +204 -0
  442. package/dist/esm/generated/models/index.js.map +1 -0
  443. package/dist/esm/generated/models/mappers.d.ts +67 -0
  444. package/dist/esm/generated/models/mappers.d.ts.map +1 -0
  445. package/dist/esm/generated/models/mappers.js +2501 -0
  446. package/dist/esm/generated/models/mappers.js.map +1 -0
  447. package/dist/esm/generated/models/parameters.d.ts +31 -0
  448. package/dist/esm/generated/models/parameters.d.ts.map +1 -0
  449. package/dist/esm/generated/models/parameters.js +291 -0
  450. package/dist/esm/generated/models/parameters.js.map +1 -0
  451. package/dist/esm/generated/operations/documentClassifiers.d.ts +78 -0
  452. package/dist/esm/generated/operations/documentClassifiers.d.ts.map +1 -0
  453. package/dist/esm/generated/operations/documentClassifiers.js +330 -0
  454. package/dist/esm/generated/operations/documentClassifiers.js.map +1 -0
  455. package/dist/esm/generated/operations/documentModels.d.ts +98 -0
  456. package/dist/esm/generated/operations/documentModels.d.ts.map +1 -0
  457. package/dist/esm/generated/operations/documentModels.js +424 -0
  458. package/dist/esm/generated/operations/documentModels.js.map +1 -0
  459. package/dist/esm/generated/operations/index.d.ts +4 -0
  460. package/dist/esm/generated/operations/index.d.ts.map +1 -0
  461. package/dist/esm/generated/operations/index.js +11 -0
  462. package/dist/esm/generated/operations/index.js.map +1 -0
  463. package/dist/esm/generated/operations/miscellaneous.d.ts +43 -0
  464. package/dist/esm/generated/operations/miscellaneous.d.ts.map +1 -0
  465. package/dist/esm/generated/operations/miscellaneous.js +169 -0
  466. package/dist/esm/generated/operations/miscellaneous.js.map +1 -0
  467. package/dist/esm/generated/operationsInterfaces/documentClassifiers.d.ts +53 -0
  468. package/dist/esm/generated/operationsInterfaces/documentClassifiers.d.ts.map +1 -0
  469. package/dist/esm/generated/operationsInterfaces/documentClassifiers.js +9 -0
  470. package/dist/esm/generated/operationsInterfaces/documentClassifiers.js.map +1 -0
  471. package/dist/esm/generated/operationsInterfaces/documentModels.d.ts +69 -0
  472. package/dist/esm/generated/operationsInterfaces/documentModels.d.ts.map +1 -0
  473. package/dist/esm/generated/operationsInterfaces/documentModels.js +9 -0
  474. package/dist/esm/generated/operationsInterfaces/documentModels.js.map +1 -0
  475. package/dist/esm/generated/operationsInterfaces/index.d.ts +4 -0
  476. package/dist/esm/generated/operationsInterfaces/index.d.ts.map +1 -0
  477. package/dist/esm/generated/operationsInterfaces/index.js +11 -0
  478. package/dist/esm/generated/operationsInterfaces/index.js.map +1 -0
  479. package/dist/esm/generated/operationsInterfaces/miscellaneous.d.ts +22 -0
  480. package/dist/esm/generated/operationsInterfaces/miscellaneous.d.ts.map +1 -0
  481. package/dist/esm/generated/operationsInterfaces/miscellaneous.js +9 -0
  482. package/dist/esm/generated/operationsInterfaces/miscellaneous.js.map +1 -0
  483. package/dist/esm/index.d.ts +18 -0
  484. package/dist/esm/index.d.ts.map +1 -0
  485. package/dist/esm/index.js +19 -0
  486. package/dist/esm/index.js.map +1 -0
  487. package/dist/esm/lro/administration.d.ts +101 -0
  488. package/dist/esm/lro/administration.d.ts.map +1 -0
  489. package/dist/esm/lro/administration.js +29 -0
  490. package/dist/esm/lro/administration.js.map +1 -0
  491. package/dist/esm/lro/analysis.d.ts +210 -0
  492. package/dist/esm/lro/analysis.d.ts.map +1 -0
  493. package/dist/esm/lro/analysis.js +175 -0
  494. package/dist/esm/lro/analysis.js.map +1 -0
  495. package/dist/esm/lro/util/delayMs.d.ts +32 -0
  496. package/dist/esm/lro/util/delayMs.d.ts.map +1 -0
  497. package/dist/esm/lro/util/delayMs.js +52 -0
  498. package/dist/esm/lro/util/delayMs.js.map +1 -0
  499. package/dist/esm/lro/util/poller.d.ts +41 -0
  500. package/dist/esm/lro/util/poller.d.ts.map +1 -0
  501. package/dist/esm/lro/util/poller.js +84 -0
  502. package/dist/esm/lro/util/poller.js.map +1 -0
  503. package/dist/esm/models/contentSource.d.ts +56 -0
  504. package/dist/esm/models/contentSource.d.ts.map +1 -0
  505. package/dist/esm/models/contentSource.js +4 -0
  506. package/dist/esm/models/contentSource.js.map +1 -0
  507. package/dist/esm/models/documentElements.d.ts +210 -0
  508. package/dist/esm/models/documentElements.d.ts.map +1 -0
  509. package/dist/esm/models/documentElements.js +4 -0
  510. package/dist/esm/models/documentElements.js.map +1 -0
  511. package/dist/esm/models/fields.d.ts +205 -0
  512. package/dist/esm/models/fields.d.ts.map +1 -0
  513. package/dist/esm/models/fields.js +55 -0
  514. package/dist/esm/models/fields.js.map +1 -0
  515. package/dist/esm/models/index.d.ts +4 -0
  516. package/dist/esm/models/index.d.ts.map +1 -0
  517. package/dist/esm/models/index.js +4 -0
  518. package/dist/esm/models/index.js.map +1 -0
  519. package/dist/esm/options/AnalyzeDocumentOptions.d.ts +69 -0
  520. package/dist/esm/options/AnalyzeDocumentOptions.d.ts.map +1 -0
  521. package/dist/esm/options/AnalyzeDocumentOptions.js +33 -0
  522. package/dist/esm/options/AnalyzeDocumentOptions.js.map +1 -0
  523. package/dist/esm/options/BeginCopyModelOptions.d.ts +9 -0
  524. package/dist/esm/options/BeginCopyModelOptions.d.ts.map +1 -0
  525. package/dist/esm/options/BeginCopyModelOptions.js +4 -0
  526. package/dist/esm/options/BeginCopyModelOptions.js.map +1 -0
  527. package/dist/esm/options/BuildDocumentClassifierOptions.d.ts +13 -0
  528. package/dist/esm/options/BuildDocumentClassifierOptions.d.ts.map +1 -0
  529. package/dist/esm/options/BuildDocumentClassifierOptions.js +4 -0
  530. package/dist/esm/options/BuildDocumentClassifierOptions.js.map +1 -0
  531. package/dist/esm/options/BuildModelOptions.d.ts +61 -0
  532. package/dist/esm/options/BuildModelOptions.d.ts.map +1 -0
  533. package/dist/esm/options/BuildModelOptions.js +19 -0
  534. package/dist/esm/options/BuildModelOptions.js.map +1 -0
  535. package/dist/esm/options/ClassifyDocumentOptions.d.ts +9 -0
  536. package/dist/esm/options/ClassifyDocumentOptions.d.ts.map +1 -0
  537. package/dist/esm/options/ClassifyDocumentOptions.js +4 -0
  538. package/dist/esm/options/ClassifyDocumentOptions.js.map +1 -0
  539. package/dist/esm/options/DeleteModelOptions.d.ts +7 -0
  540. package/dist/esm/options/DeleteModelOptions.d.ts.map +1 -0
  541. package/dist/esm/options/DeleteModelOptions.js +4 -0
  542. package/dist/esm/options/DeleteModelOptions.js.map +1 -0
  543. package/dist/esm/options/FormRecognizerClientOptions.d.ts +70 -0
  544. package/dist/esm/options/FormRecognizerClientOptions.d.ts.map +1 -0
  545. package/dist/esm/options/FormRecognizerClientOptions.js +25 -0
  546. package/dist/esm/options/FormRecognizerClientOptions.js.map +1 -0
  547. package/dist/esm/options/GetCopyAuthorizationOptions.d.ts +8 -0
  548. package/dist/esm/options/GetCopyAuthorizationOptions.d.ts.map +1 -0
  549. package/dist/esm/options/GetCopyAuthorizationOptions.js +4 -0
  550. package/dist/esm/options/GetCopyAuthorizationOptions.js.map +1 -0
  551. package/dist/esm/options/GetModelOptions.d.ts +7 -0
  552. package/dist/esm/options/GetModelOptions.d.ts.map +1 -0
  553. package/dist/esm/options/GetModelOptions.js +4 -0
  554. package/dist/esm/options/GetModelOptions.js.map +1 -0
  555. package/dist/esm/options/GetOperationOptions.d.ts +7 -0
  556. package/dist/esm/options/GetOperationOptions.d.ts.map +1 -0
  557. package/dist/esm/options/GetOperationOptions.js +4 -0
  558. package/dist/esm/options/GetOperationOptions.js.map +1 -0
  559. package/dist/esm/options/GetResourceDetailsOptions.d.ts +7 -0
  560. package/dist/esm/options/GetResourceDetailsOptions.d.ts.map +1 -0
  561. package/dist/esm/options/GetResourceDetailsOptions.js +4 -0
  562. package/dist/esm/options/GetResourceDetailsOptions.js.map +1 -0
  563. package/dist/esm/options/ListModelsOptions.d.ts +7 -0
  564. package/dist/esm/options/ListModelsOptions.d.ts.map +1 -0
  565. package/dist/esm/options/ListModelsOptions.js +4 -0
  566. package/dist/esm/options/ListModelsOptions.js.map +1 -0
  567. package/dist/esm/options/ListOperationsOptions.d.ts +7 -0
  568. package/dist/esm/options/ListOperationsOptions.d.ts.map +1 -0
  569. package/dist/esm/options/ListOperationsOptions.js +4 -0
  570. package/dist/esm/options/ListOperationsOptions.js.map +1 -0
  571. package/dist/esm/options/PollerOptions.d.ts +22 -0
  572. package/dist/esm/options/PollerOptions.d.ts.map +1 -0
  573. package/dist/esm/options/PollerOptions.js +4 -0
  574. package/dist/esm/options/PollerOptions.js.map +1 -0
  575. package/dist/esm/options/index.d.ts +16 -0
  576. package/dist/esm/options/index.d.ts.map +1 -0
  577. package/dist/esm/options/index.js +7 -0
  578. package/dist/esm/options/index.js.map +1 -0
  579. package/dist/esm/package.json +3 -0
  580. package/dist/esm/transforms/polygon.d.ts +20 -0
  581. package/dist/esm/transforms/polygon.d.ts.map +1 -0
  582. package/dist/esm/transforms/polygon.js +26 -0
  583. package/dist/esm/transforms/polygon.js.map +1 -0
  584. package/dist/esm/util.d.ts +33 -0
  585. package/dist/esm/util.d.ts.map +1 -0
  586. package/dist/esm/util.js +56 -0
  587. package/dist/esm/util.js.map +1 -0
  588. package/dist/react-native/azureKeyCredentialPolicy.d.ts +8 -0
  589. package/dist/react-native/azureKeyCredentialPolicy.d.ts.map +1 -0
  590. package/dist/react-native/azureKeyCredentialPolicy.js +17 -0
  591. package/dist/react-native/azureKeyCredentialPolicy.js.map +1 -0
  592. package/dist/react-native/bin/defaultFields.d.ts +14 -0
  593. package/dist/react-native/bin/defaultFields.d.ts.map +1 -0
  594. package/dist/react-native/bin/defaultFields.js +83 -0
  595. package/dist/react-native/bin/defaultFields.js.map +1 -0
  596. package/dist/react-native/bin/gen-model.d.ts +3 -0
  597. package/dist/react-native/bin/gen-model.d.ts.map +1 -0
  598. package/dist/react-native/bin/gen-model.js +101 -0
  599. package/dist/react-native/bin/gen-model.js.map +1 -0
  600. package/dist/react-native/bin/utils.d.ts +22 -0
  601. package/dist/react-native/bin/utils.d.ts.map +1 -0
  602. package/dist/react-native/bin/utils.js +21 -0
  603. package/dist/react-native/bin/utils.js.map +1 -0
  604. package/dist/react-native/bin/writeModelCode.d.ts +9 -0
  605. package/dist/react-native/bin/writeModelCode.d.ts.map +1 -0
  606. package/dist/react-native/bin/writeModelCode.js +323 -0
  607. package/dist/react-native/bin/writeModelCode.js.map +1 -0
  608. package/dist/react-native/constants.d.ts +29 -0
  609. package/dist/react-native/constants.d.ts.map +1 -0
  610. package/dist/react-native/constants.js +32 -0
  611. package/dist/react-native/constants.js.map +1 -0
  612. package/dist/react-native/documentAnalysisClient.d.ts +485 -0
  613. package/dist/react-native/documentAnalysisClient.d.ts.map +1 -0
  614. package/dist/react-native/documentAnalysisClient.js +347 -0
  615. package/dist/react-native/documentAnalysisClient.js.map +1 -0
  616. package/dist/react-native/documentModel.d.ts +34 -0
  617. package/dist/react-native/documentModel.d.ts.map +1 -0
  618. package/dist/react-native/documentModel.js +73 -0
  619. package/dist/react-native/documentModel.js.map +1 -0
  620. package/dist/react-native/documentModelAdministrationClient.d.ts +792 -0
  621. package/dist/react-native/documentModelAdministrationClient.d.ts.map +1 -0
  622. package/dist/react-native/documentModelAdministrationClient.js +759 -0
  623. package/dist/react-native/documentModelAdministrationClient.js.map +1 -0
  624. package/dist/react-native/error.d.ts +31 -0
  625. package/dist/react-native/error.d.ts.map +1 -0
  626. package/dist/react-native/error.js +39 -0
  627. package/dist/react-native/error.js.map +1 -0
  628. package/dist/react-native/generated/generatedClient.d.ts +21 -0
  629. package/dist/react-native/generated/generatedClient.d.ts.map +1 -0
  630. package/dist/react-native/generated/generatedClient.js +89 -0
  631. package/dist/react-native/generated/generatedClient.js.map +1 -0
  632. package/dist/react-native/generated/index.d.ts +4 -0
  633. package/dist/react-native/generated/index.d.ts.map +1 -0
  634. package/dist/react-native/generated/index.js +12 -0
  635. package/dist/react-native/generated/index.js.map +1 -0
  636. package/dist/react-native/generated/models/index.d.ts +1208 -0
  637. package/dist/react-native/generated/models/index.d.ts.map +1 -0
  638. package/dist/react-native/generated/models/index.js +204 -0
  639. package/dist/react-native/generated/models/index.js.map +1 -0
  640. package/dist/react-native/generated/models/mappers.d.ts +67 -0
  641. package/dist/react-native/generated/models/mappers.d.ts.map +1 -0
  642. package/dist/react-native/generated/models/mappers.js +2501 -0
  643. package/dist/react-native/generated/models/mappers.js.map +1 -0
  644. package/dist/react-native/generated/models/parameters.d.ts +31 -0
  645. package/dist/react-native/generated/models/parameters.d.ts.map +1 -0
  646. package/dist/react-native/generated/models/parameters.js +291 -0
  647. package/dist/react-native/generated/models/parameters.js.map +1 -0
  648. package/dist/react-native/generated/operations/documentClassifiers.d.ts +78 -0
  649. package/dist/react-native/generated/operations/documentClassifiers.d.ts.map +1 -0
  650. package/dist/react-native/generated/operations/documentClassifiers.js +330 -0
  651. package/dist/react-native/generated/operations/documentClassifiers.js.map +1 -0
  652. package/dist/react-native/generated/operations/documentModels.d.ts +98 -0
  653. package/dist/react-native/generated/operations/documentModels.d.ts.map +1 -0
  654. package/dist/react-native/generated/operations/documentModels.js +424 -0
  655. package/dist/react-native/generated/operations/documentModels.js.map +1 -0
  656. package/dist/react-native/generated/operations/index.d.ts +4 -0
  657. package/dist/react-native/generated/operations/index.d.ts.map +1 -0
  658. package/dist/react-native/generated/operations/index.js +11 -0
  659. package/dist/react-native/generated/operations/index.js.map +1 -0
  660. package/dist/react-native/generated/operations/miscellaneous.d.ts +43 -0
  661. package/dist/react-native/generated/operations/miscellaneous.d.ts.map +1 -0
  662. package/dist/react-native/generated/operations/miscellaneous.js +169 -0
  663. package/dist/react-native/generated/operations/miscellaneous.js.map +1 -0
  664. package/dist/react-native/generated/operationsInterfaces/documentClassifiers.d.ts +53 -0
  665. package/dist/react-native/generated/operationsInterfaces/documentClassifiers.d.ts.map +1 -0
  666. package/dist/react-native/generated/operationsInterfaces/documentClassifiers.js +9 -0
  667. package/dist/react-native/generated/operationsInterfaces/documentClassifiers.js.map +1 -0
  668. package/dist/react-native/generated/operationsInterfaces/documentModels.d.ts +69 -0
  669. package/dist/react-native/generated/operationsInterfaces/documentModels.d.ts.map +1 -0
  670. package/dist/react-native/generated/operationsInterfaces/documentModels.js +9 -0
  671. package/dist/react-native/generated/operationsInterfaces/documentModels.js.map +1 -0
  672. package/dist/react-native/generated/operationsInterfaces/index.d.ts +4 -0
  673. package/dist/react-native/generated/operationsInterfaces/index.d.ts.map +1 -0
  674. package/dist/react-native/generated/operationsInterfaces/index.js +11 -0
  675. package/dist/react-native/generated/operationsInterfaces/index.js.map +1 -0
  676. package/dist/react-native/generated/operationsInterfaces/miscellaneous.d.ts +22 -0
  677. package/dist/react-native/generated/operationsInterfaces/miscellaneous.d.ts.map +1 -0
  678. package/dist/react-native/generated/operationsInterfaces/miscellaneous.js +9 -0
  679. package/dist/react-native/generated/operationsInterfaces/miscellaneous.js.map +1 -0
  680. package/dist/react-native/index.d.ts +18 -0
  681. package/dist/react-native/index.d.ts.map +1 -0
  682. package/dist/react-native/index.js +19 -0
  683. package/dist/react-native/index.js.map +1 -0
  684. package/dist/react-native/lro/administration.d.ts +101 -0
  685. package/dist/react-native/lro/administration.d.ts.map +1 -0
  686. package/dist/react-native/lro/administration.js +29 -0
  687. package/dist/react-native/lro/administration.js.map +1 -0
  688. package/dist/react-native/lro/analysis.d.ts +210 -0
  689. package/dist/react-native/lro/analysis.d.ts.map +1 -0
  690. package/dist/react-native/lro/analysis.js +175 -0
  691. package/dist/react-native/lro/analysis.js.map +1 -0
  692. package/dist/react-native/lro/util/delayMs.d.ts +32 -0
  693. package/dist/react-native/lro/util/delayMs.d.ts.map +1 -0
  694. package/dist/react-native/lro/util/delayMs.js +52 -0
  695. package/dist/react-native/lro/util/delayMs.js.map +1 -0
  696. package/dist/react-native/lro/util/poller.d.ts +41 -0
  697. package/dist/react-native/lro/util/poller.d.ts.map +1 -0
  698. package/dist/react-native/lro/util/poller.js +84 -0
  699. package/dist/react-native/lro/util/poller.js.map +1 -0
  700. package/dist/react-native/models/contentSource.d.ts +56 -0
  701. package/dist/react-native/models/contentSource.d.ts.map +1 -0
  702. package/dist/react-native/models/contentSource.js +4 -0
  703. package/dist/react-native/models/contentSource.js.map +1 -0
  704. package/dist/react-native/models/documentElements.d.ts +210 -0
  705. package/dist/react-native/models/documentElements.d.ts.map +1 -0
  706. package/dist/react-native/models/documentElements.js +4 -0
  707. package/dist/react-native/models/documentElements.js.map +1 -0
  708. package/dist/react-native/models/fields.d.ts +205 -0
  709. package/dist/react-native/models/fields.d.ts.map +1 -0
  710. package/dist/react-native/models/fields.js +55 -0
  711. package/dist/react-native/models/fields.js.map +1 -0
  712. package/dist/react-native/models/index.d.ts +4 -0
  713. package/dist/react-native/models/index.d.ts.map +1 -0
  714. package/dist/react-native/models/index.js +4 -0
  715. package/dist/react-native/models/index.js.map +1 -0
  716. package/dist/react-native/options/AnalyzeDocumentOptions.d.ts +69 -0
  717. package/dist/react-native/options/AnalyzeDocumentOptions.d.ts.map +1 -0
  718. package/dist/react-native/options/AnalyzeDocumentOptions.js +33 -0
  719. package/dist/react-native/options/AnalyzeDocumentOptions.js.map +1 -0
  720. package/dist/react-native/options/BeginCopyModelOptions.d.ts +9 -0
  721. package/dist/react-native/options/BeginCopyModelOptions.d.ts.map +1 -0
  722. package/dist/react-native/options/BeginCopyModelOptions.js +4 -0
  723. package/dist/react-native/options/BeginCopyModelOptions.js.map +1 -0
  724. package/dist/react-native/options/BuildDocumentClassifierOptions.d.ts +13 -0
  725. package/dist/react-native/options/BuildDocumentClassifierOptions.d.ts.map +1 -0
  726. package/dist/react-native/options/BuildDocumentClassifierOptions.js +4 -0
  727. package/dist/react-native/options/BuildDocumentClassifierOptions.js.map +1 -0
  728. package/dist/react-native/options/BuildModelOptions.d.ts +61 -0
  729. package/dist/react-native/options/BuildModelOptions.d.ts.map +1 -0
  730. package/dist/react-native/options/BuildModelOptions.js +19 -0
  731. package/dist/react-native/options/BuildModelOptions.js.map +1 -0
  732. package/dist/react-native/options/ClassifyDocumentOptions.d.ts +9 -0
  733. package/dist/react-native/options/ClassifyDocumentOptions.d.ts.map +1 -0
  734. package/dist/react-native/options/ClassifyDocumentOptions.js +4 -0
  735. package/dist/react-native/options/ClassifyDocumentOptions.js.map +1 -0
  736. package/dist/react-native/options/DeleteModelOptions.d.ts +7 -0
  737. package/dist/react-native/options/DeleteModelOptions.d.ts.map +1 -0
  738. package/dist/react-native/options/DeleteModelOptions.js +4 -0
  739. package/dist/react-native/options/DeleteModelOptions.js.map +1 -0
  740. package/dist/react-native/options/FormRecognizerClientOptions.d.ts +70 -0
  741. package/dist/react-native/options/FormRecognizerClientOptions.d.ts.map +1 -0
  742. package/dist/react-native/options/FormRecognizerClientOptions.js +25 -0
  743. package/dist/react-native/options/FormRecognizerClientOptions.js.map +1 -0
  744. package/dist/react-native/options/GetCopyAuthorizationOptions.d.ts +8 -0
  745. package/dist/react-native/options/GetCopyAuthorizationOptions.d.ts.map +1 -0
  746. package/dist/react-native/options/GetCopyAuthorizationOptions.js +4 -0
  747. package/dist/react-native/options/GetCopyAuthorizationOptions.js.map +1 -0
  748. package/dist/react-native/options/GetModelOptions.d.ts +7 -0
  749. package/dist/react-native/options/GetModelOptions.d.ts.map +1 -0
  750. package/dist/react-native/options/GetModelOptions.js +4 -0
  751. package/dist/react-native/options/GetModelOptions.js.map +1 -0
  752. package/dist/react-native/options/GetOperationOptions.d.ts +7 -0
  753. package/dist/react-native/options/GetOperationOptions.d.ts.map +1 -0
  754. package/dist/react-native/options/GetOperationOptions.js +4 -0
  755. package/dist/react-native/options/GetOperationOptions.js.map +1 -0
  756. package/dist/react-native/options/GetResourceDetailsOptions.d.ts +7 -0
  757. package/dist/react-native/options/GetResourceDetailsOptions.d.ts.map +1 -0
  758. package/dist/react-native/options/GetResourceDetailsOptions.js +4 -0
  759. package/dist/react-native/options/GetResourceDetailsOptions.js.map +1 -0
  760. package/dist/react-native/options/ListModelsOptions.d.ts +7 -0
  761. package/dist/react-native/options/ListModelsOptions.d.ts.map +1 -0
  762. package/dist/react-native/options/ListModelsOptions.js +4 -0
  763. package/dist/react-native/options/ListModelsOptions.js.map +1 -0
  764. package/dist/react-native/options/ListOperationsOptions.d.ts +7 -0
  765. package/dist/react-native/options/ListOperationsOptions.d.ts.map +1 -0
  766. package/dist/react-native/options/ListOperationsOptions.js +4 -0
  767. package/dist/react-native/options/ListOperationsOptions.js.map +1 -0
  768. package/dist/react-native/options/PollerOptions.d.ts +22 -0
  769. package/dist/react-native/options/PollerOptions.d.ts.map +1 -0
  770. package/dist/react-native/options/PollerOptions.js +4 -0
  771. package/dist/react-native/options/PollerOptions.js.map +1 -0
  772. package/dist/react-native/options/index.d.ts +16 -0
  773. package/dist/react-native/options/index.d.ts.map +1 -0
  774. package/dist/react-native/options/index.js +7 -0
  775. package/dist/react-native/options/index.js.map +1 -0
  776. package/dist/react-native/package.json +3 -0
  777. package/dist/react-native/transforms/polygon.d.ts +20 -0
  778. package/dist/react-native/transforms/polygon.d.ts.map +1 -0
  779. package/dist/react-native/transforms/polygon.js +26 -0
  780. package/dist/react-native/transforms/polygon.js.map +1 -0
  781. package/dist/react-native/util.d.ts +33 -0
  782. package/dist/react-native/util.d.ts.map +1 -0
  783. package/dist/react-native/util.js +56 -0
  784. package/dist/react-native/util.js.map +1 -0
  785. package/package.json +85 -74
  786. package/dist/index.js +0 -5721
  787. package/dist/index.js.map +0 -1
  788. package/dist-esm/src/azureKeyCredentialPolicy.js.map +0 -1
  789. package/dist-esm/src/constants.js +0 -13
  790. package/dist-esm/src/constants.js.map +0 -1
  791. package/dist-esm/src/documentAnalysisClient.js.map +0 -1
  792. package/dist-esm/src/documentModel.js.map +0 -1
  793. package/dist-esm/src/documentModelAdministrationClient.js.map +0 -1
  794. package/dist-esm/src/error.js.map +0 -1
  795. package/dist-esm/src/generated/generatedClient.js.map +0 -1
  796. package/dist-esm/src/generated/index.js.map +0 -1
  797. package/dist-esm/src/generated/models/parameters.js.map +0 -1
  798. package/dist-esm/src/generated/operations/documentClassifiers.js.map +0 -1
  799. package/dist-esm/src/generated/operations/documentModels.js.map +0 -1
  800. package/dist-esm/src/generated/operations/miscellaneous.js.map +0 -1
  801. package/dist-esm/src/generated/operationsInterfaces/documentClassifiers.js.map +0 -1
  802. package/dist-esm/src/generated/operationsInterfaces/documentModels.js.map +0 -1
  803. package/dist-esm/src/generated/operationsInterfaces/miscellaneous.js.map +0 -1
  804. package/dist-esm/src/index.js.map +0 -1
  805. package/dist-esm/src/lro/administration.js.map +0 -1
  806. package/dist-esm/src/lro/analysis.js.map +0 -1
  807. package/dist-esm/src/lro/util/delayMs.js.map +0 -1
  808. package/dist-esm/src/lro/util/poller.js.map +0 -1
  809. package/dist-esm/src/models/contentSource.js +0 -4
  810. package/dist-esm/src/models/contentSource.js.map +0 -1
  811. package/dist-esm/src/models/documentElements.js +0 -4
  812. package/dist-esm/src/models/documentElements.js.map +0 -1
  813. package/dist-esm/src/models/index.js +0 -4
  814. package/dist-esm/src/models/index.js.map +0 -1
  815. package/dist-esm/src/options/AnalyzeDocumentOptions.js.map +0 -1
  816. package/dist-esm/src/options/BeginCopyModelOptions.js +0 -4
  817. package/dist-esm/src/options/BeginCopyModelOptions.js.map +0 -1
  818. package/dist-esm/src/options/BuildDocumentClassifierOptions.js +0 -4
  819. package/dist-esm/src/options/BuildDocumentClassifierOptions.js.map +0 -1
  820. package/dist-esm/src/options/BuildModelOptions.js.map +0 -1
  821. package/dist-esm/src/options/ClassifyDocumentOptions.js +0 -4
  822. package/dist-esm/src/options/ClassifyDocumentOptions.js.map +0 -1
  823. package/dist-esm/src/options/DeleteModelOptions.js +0 -4
  824. package/dist-esm/src/options/DeleteModelOptions.js.map +0 -1
  825. package/dist-esm/src/options/FormRecognizerClientOptions.js.map +0 -1
  826. package/dist-esm/src/options/GetCopyAuthorizationOptions.js +0 -4
  827. package/dist-esm/src/options/GetCopyAuthorizationOptions.js.map +0 -1
  828. package/dist-esm/src/options/GetModelOptions.js +0 -4
  829. package/dist-esm/src/options/GetModelOptions.js.map +0 -1
  830. package/dist-esm/src/options/GetOperationOptions.js +0 -4
  831. package/dist-esm/src/options/GetOperationOptions.js.map +0 -1
  832. package/dist-esm/src/options/GetResourceDetailsOptions.js +0 -4
  833. package/dist-esm/src/options/ListModelsOptions.js +0 -4
  834. package/dist-esm/src/options/ListModelsOptions.js.map +0 -1
  835. package/dist-esm/src/options/ListOperationsOptions.js +0 -4
  836. package/dist-esm/src/options/PollerOptions.js +0 -4
  837. package/dist-esm/src/options/PollerOptions.js.map +0 -1
  838. package/dist-esm/src/options/index.js +0 -7
  839. package/dist-esm/src/options/index.js.map +0 -1
  840. package/dist-esm/src/transforms/polygon.js.map +0 -1
  841. package/dist-esm/src/util.js.map +0 -1
  842. package/types/ai-form-recognizer.d.ts +0 -2670
  843. /package/{dist-esm/src → dist/browser}/generated/models/index.js +0 -0
  844. /package/{dist-esm/src → dist/browser}/generated/models/index.js.map +0 -0
  845. /package/{dist-esm/src → dist/browser}/generated/models/mappers.js +0 -0
  846. /package/{dist-esm/src → dist/browser}/generated/models/mappers.js.map +0 -0
  847. /package/{dist-esm/src → dist/browser}/generated/operationsInterfaces/documentClassifiers.js +0 -0
  848. /package/{dist-esm/src → dist/browser}/generated/operationsInterfaces/documentModels.js +0 -0
  849. /package/{dist-esm/src → dist/browser}/generated/operationsInterfaces/miscellaneous.js +0 -0
@@ -1,11 +1,11 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  import { createTracingClient } from "@azure/core-tracing";
4
- import { FORM_RECOGNIZER_API_VERSION, SDK_VERSION } from "./constants";
5
- import { accept1 } from "./generated/models/parameters";
6
- import { toAnalyzeResultFromGenerated, toDocumentAnalysisPollOperationState, } from "./lro/analysis";
7
- import { lro } from "./lro/util/poller";
8
- import { makeServiceClient, Mappers, SERIALIZER } from "./util";
4
+ import { FORM_RECOGNIZER_API_VERSION, SDK_VERSION } from "./constants.js";
5
+ import { accept1 } from "./generated/models/parameters.js";
6
+ import { toAnalyzeResultFromGenerated, toDocumentAnalysisPollOperationState, } from "./lro/analysis.js";
7
+ import { lro } from "./lro/util/poller.js";
8
+ import { makeServiceClient, Mappers, SERIALIZER } from "./util.js";
9
9
  /**
10
10
  * A client for interacting with the Form Recognizer service's analysis features.
11
11
  *
@@ -15,25 +15,27 @@ import { makeServiceClient, Mappers, SERIALIZER } from "./util";
15
15
  *
16
16
  * #### Azure Active Directory
17
17
  *
18
- * ```javascript
19
- * import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
18
+ * ```ts snippet:ReadmeSampleCreateClient_TokenCredential
20
19
  * import { DefaultAzureCredential } from "@azure/identity";
20
+ * import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
21
21
  *
22
- * const endpoint = "https://<resource name>.cognitiveservices.azure.com";
23
22
  * const credential = new DefaultAzureCredential();
24
- *
25
- * const client = new DocumentAnalysisClient(endpoint, credential);
23
+ * const client = new DocumentAnalysisClient(
24
+ * "https://<resource name>.cognitiveservices.azure.com",
25
+ * credential,
26
+ * );
26
27
  * ```
27
28
  *
28
29
  * #### API Key (Subscription Key)
29
30
  *
30
- * ```javascript
31
- * import { DocumentAnalysisClient, AzureKeyCredential } from "@azure/ai-form-recognizer";
32
- *
33
- * const endpoint = "https://<resource name>.cognitiveservices.azure.com";
34
- * const credential = new AzureKeyCredential("<api key>");
31
+ * ```ts snippet:ReadmeSampleCreateClient_KeyCredential
32
+ * import { AzureKeyCredential, DocumentAnalysisClient } from "@azure/ai-form-recognizer";
35
33
  *
36
- * const client = new DocumentAnalysisClient(endpoint, credential);
34
+ * const credential = new AzureKeyCredential("<API key>");
35
+ * const client = new DocumentAnalysisClient(
36
+ * "https://<resource name>.cognitiveservices.azure.com",
37
+ * credential,
38
+ * );
37
39
  * ```
38
40
  */
39
41
  export class DocumentAnalysisClient {
@@ -45,13 +47,17 @@ export class DocumentAnalysisClient {
45
47
  namespace: "Microsoft.CognitiveServices",
46
48
  });
47
49
  }
48
- async beginAnalyzeDocument(model, document, options = {}) {
50
+ async beginAnalyzeDocument(model, document,
51
+ // eslint-disable-next-line @azure/azure-sdk/ts-naming-options
52
+ options = {}) {
49
53
  return this._tracing.withSpan("DocumentAnalysisClient.beginAnalyzeDocument", options,
50
54
  // In the first version of the SDK, the document input was treated as a URL if it was a string, and we preserve
51
55
  // this behavior to avoid introducing a breaking change.
52
56
  this.analyze.bind(this, model, typeof document === "string" ? source("url", document) : source("body", document)));
53
57
  }
54
- async beginAnalyzeDocumentFromUrl(model, documentUrl, options = {}) {
58
+ async beginAnalyzeDocumentFromUrl(model, documentUrl,
59
+ // eslint-disable-next-line @azure/azure-sdk/ts-naming-options
60
+ options = {}) {
55
61
  return this._tracing.withSpan("DocumentAnalysisClient.beginAnalyzeDocumentFromUrl", options, this.analyze.bind(this, model, source("url", documentUrl)));
56
62
  }
57
63
  /**
@@ -75,8 +81,14 @@ export class DocumentAnalysisClient {
75
81
  }
76
82
  return this.createUnifiedPoller((abortSignal) => {
77
83
  const [contentType, analyzeRequest] = toAnalyzeRequest(input);
78
- return this._restClient.documentModels.analyzeDocument(initialModelId, contentType, Object.assign(Object.assign({}, options), { abortSignal,
79
- analyzeRequest }));
84
+ if (contentType === "application/json") {
85
+ return this._restClient.documentModels.analyzeDocument(initialModelId, contentType, Object.assign(Object.assign({}, options), { abortSignal,
86
+ analyzeRequest }));
87
+ }
88
+ else {
89
+ return this._restClient.documentModels.analyzeDocument(initialModelId, contentType, Object.assign(Object.assign({}, options), { abortSignal,
90
+ analyzeRequest }));
91
+ }
80
92
  }, {
81
93
  initialModelId,
82
94
  options,
@@ -97,22 +109,32 @@ export class DocumentAnalysisClient {
97
109
  * This method supports streamable request bodies ({@link FormRecognizerRequestBody}) such as Node.JS `ReadableStream`
98
110
  * objects, browser `Blob`s, and `ArrayBuffer`s. The contents of the body will be uploaded to the service for analysis.
99
111
  *
100
- * ```typescript
101
- * import * as fs from "fs";
112
+ * ```ts snippet:ReadmeSampleClassifyDocument_File
113
+ * import { DefaultAzureCredential } from "@azure/identity";
114
+ * import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
115
+ * import { createReadStream } from "node:fs";
102
116
  *
103
- * const file = fs.createReadStream("path/to/file.pdf");
117
+ * const credential = new DefaultAzureCredential();
118
+ * const client = new DocumentAnalysisClient(
119
+ * "https://<resource name>.cognitiveservices.azure.com",
120
+ * credential,
121
+ * );
104
122
  *
105
- * const poller = await client.beginClassifyDocument("<classifier ID>", file);
123
+ * const path = "<path to a document>";
124
+ * const readStream = createReadStream(path);
106
125
  *
107
- * // The result is a long-running operation (poller), which must itself be polled until the operation completes
108
- * const {
109
- * pages, // pages extracted from the document, which contain only basic information for classifiers
110
- * documents // extracted documents and their types
111
- * } = await poller.pollUntilDone();
126
+ * const poller = await client.beginClassifyDocument("<classifier id>", readStream);
112
127
  *
113
- * // We'll print the documents and their types
114
- * for (const { docType } of documents) {
115
- * console.log("The type of this document is:", docType);
128
+ * const result = await poller.pollUntilDone();
129
+ *
130
+ * if (result?.documents?.length === 0) {
131
+ * throw new Error("Failed to extract any documents.");
132
+ * }
133
+ *
134
+ * for (const document of result.documents) {
135
+ * console.log(
136
+ * `Extracted a document with type '${document.docType}' on page ${document.boundingRegions?.[0].pageNumber} (confidence: ${document.confidence})`,
137
+ * );
116
138
  * }
117
139
  * ```
118
140
  *
@@ -142,21 +164,31 @@ export class DocumentAnalysisClient {
142
164
  * token can be used to grant read access to a blob in Azure Storage, and the service will use the SAS-encoded URL to
143
165
  * request the file.
144
166
  *
145
- * ```typescript
146
- * // the URL must be publicly accessible
147
- * const url = "<file url>";
167
+ * ```ts snippet:ReadmeSampleClassifyDocument
168
+ * import { DefaultAzureCredential } from "@azure/identity";
169
+ * import { DocumentAnalysisClient } from "@azure/ai-form-recognizer";
170
+ *
171
+ * const credential = new DefaultAzureCredential();
172
+ * const client = new DocumentAnalysisClient(
173
+ * "https://<resource name>.cognitiveservices.azure.com",
174
+ * credential,
175
+ * );
148
176
  *
149
- * const poller = await client.beginClassifyDocument("<classifier ID>", url);
177
+ * const documentUrl =
178
+ * "https://raw.githubusercontent.com/Azure/azure-sdk-for-js/main/sdk/formrecognizer/ai-form-recognizer/assets/invoice/Invoice_1.pdf";
150
179
  *
151
- * // The result is a long-running operation (poller), which must itself be polled until the operation completes
152
- * const {
153
- * pages, // pages extracted from the document, which contain only basic information for classifiers
154
- * documents // extracted documents and their types
155
- * } = await poller.pollUntilDone();
180
+ * const poller = await client.beginClassifyDocumentFromUrl("<classifier id>", documentUrl);
181
+ *
182
+ * const result = await poller.pollUntilDone();
183
+ *
184
+ * if (result?.documents?.length === 0) {
185
+ * throw new Error("Failed to extract any documents.");
186
+ * }
156
187
  *
157
- * // We'll print the documents and their types
158
- * for (const { docType } of documents) {
159
- * console.log("The type of this document is:", docType);
188
+ * for (const document of result.documents) {
189
+ * console.log(
190
+ * `Extracted a document with type '${document.docType}' on page ${document.boundingRegions?.[0].pageNumber} (confidence: ${document.confidence})`,
191
+ * );
160
192
  * }
161
193
  * ```
162
194
  * @param classifierId - the ID of the custom classifier to use for analysis
@@ -179,8 +211,14 @@ export class DocumentAnalysisClient {
179
211
  classify(classifierId, input, options) {
180
212
  return this.createUnifiedPoller(async (abortSignal) => {
181
213
  const [contentType, classifyRequest] = toAnalyzeRequest(input);
182
- return this._restClient.documentClassifiers.classifyDocument(classifierId, contentType, Object.assign(Object.assign({}, options), { abortSignal,
183
- classifyRequest }));
214
+ if (contentType === "application/json") {
215
+ return this._restClient.documentClassifiers.classifyDocument(classifierId, contentType, Object.assign(Object.assign({}, options), { abortSignal,
216
+ classifyRequest }));
217
+ }
218
+ else {
219
+ return this._restClient.documentClassifiers.classifyDocument(classifierId, contentType, Object.assign(Object.assign({}, options), { abortSignal,
220
+ classifyRequest }));
221
+ }
184
222
  }, {
185
223
  initialModelId: classifierId,
186
224
  options,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentAnalysisClient.js","sourceRoot":"","sources":["../../src/documentAnalysisClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { createTracingClient } from \"@azure/core-tracing\";\nimport type { TracingClient } from \"@azure/core-tracing\";\nimport { FORM_RECOGNIZER_API_VERSION, SDK_VERSION } from \"./constants.js\";\nimport type {\n AnalyzeDocumentRequest,\n AnalyzeResultOperation,\n GeneratedClient,\n} from \"./generated/index.js\";\nimport { accept1 } from \"./generated/models/parameters.js\";\nimport type {\n AnalysisOperationDefinition,\n AnalysisPoller,\n AnalyzeResult,\n DocumentAnalysisPollOperationState,\n FormRecognizerRequestBody,\n} from \"./lro/analysis.js\";\nimport {\n toAnalyzeResultFromGenerated,\n toDocumentAnalysisPollOperationState,\n} from \"./lro/analysis.js\";\nimport type { OperationContext } from \"./lro/util/poller.js\";\nimport { lro } from \"./lro/util/poller.js\";\nimport type { AnalyzeDocumentOptions } from \"./options/AnalyzeDocumentOptions.js\";\nimport type { DocumentAnalysisClientOptions } from \"./options/FormRecognizerClientOptions.js\";\nimport type { DocumentModel } from \"./documentModel.js\";\nimport { makeServiceClient, Mappers, SERIALIZER } from \"./util.js\";\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport type { ClassifyDocumentOptions } from \"./options/ClassifyDocumentOptions.js\";\n\n/**\n * A client for interacting with the Form Recognizer service's analysis features.\n *\n * ### Examples:\n *\n * The Form Recognizer service and clients support two means of authentication:\n *\n * #### Azure Active Directory\n *\n * ```ts snippet:ReadmeSampleCreateClient_TokenCredential\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { DocumentAnalysisClient } from \"@azure/ai-form-recognizer\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new DocumentAnalysisClient(\n * \"https://<resource name>.cognitiveservices.azure.com\",\n * credential,\n * );\n * ```\n *\n * #### API Key (Subscription Key)\n *\n * ```ts snippet:ReadmeSampleCreateClient_KeyCredential\n * import { AzureKeyCredential, DocumentAnalysisClient } from \"@azure/ai-form-recognizer\";\n *\n * const credential = new AzureKeyCredential(\"<API key>\");\n * const client = new DocumentAnalysisClient(\n * \"https://<resource name>.cognitiveservices.azure.com\",\n * credential,\n * );\n * ```\n */\nexport class DocumentAnalysisClient {\n private _restClient: GeneratedClient;\n private _tracing: TracingClient;\n\n /**\n * Create a `DocumentAnalysisClient` instance from a resource endpoint and a an Azure Identity `TokenCredential`.\n *\n * See the [`@azure/identity`](https://npmjs.com/package/\\@azure/identity) package for more information about\n * authenticating with Azure Active Directory.\n *\n * ### Example:\n *\n * ```ts snippet:ReadmeSampleCreateClient_TokenCredential\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { DocumentAnalysisClient } from \"@azure/ai-form-recognizer\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new DocumentAnalysisClient(\n * \"https://<resource name>.cognitiveservices.azure.com\",\n * credential,\n * );\n * ```\n *\n * @param endpoint - the endpoint URL of an Azure Cognitive Services instance\n * @param credential - a TokenCredential instance from the `@azure/identity` package\n * @param options - optional settings for configuring all methods in the client\n */\n public constructor(\n endpoint: string,\n credential: TokenCredential,\n options?: DocumentAnalysisClientOptions,\n );\n /**\n * Create a `DocumentAnalysisClient` instance from a resource endpoint and a static API key (`KeyCredential`),\n *\n * ### Example:\n *\n * ```ts snippet:ReadmeSampleCreateClient_KeyCredential\n * import { AzureKeyCredential, DocumentAnalysisClient } from \"@azure/ai-form-recognizer\";\n *\n * const credential = new AzureKeyCredential(\"<API key>\");\n * const client = new DocumentAnalysisClient(\n * \"https://<resource name>.cognitiveservices.azure.com\",\n * credential,\n * );\n * ```\n *\n * @param endpoint - the endpoint URL of an Azure Cognitive Services instance\n * @param credential - a KeyCredential containing the Cognitive Services instance subscription key\n * @param options - optional settings for configuring all methods in the client\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential,\n options?: DocumentAnalysisClientOptions,\n );\n /**\n * @hidden\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options?: DocumentAnalysisClientOptions,\n );\n public constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options: DocumentAnalysisClientOptions = {},\n ) {\n this._restClient = makeServiceClient(endpoint, credential, options);\n this._tracing = createTracingClient({\n packageName: \"@azure/ai-form-recognizer\",\n packageVersion: SDK_VERSION,\n namespace: \"Microsoft.CognitiveServices\",\n });\n }\n\n // #region Analysis\n\n /**\n * Extract data from an input using a model given by its unique ID.\n *\n * This operation supports custom as well as prebuilt models. For example, to use the prebuilt invoice model, provide\n * the model ID \"prebuilt-invoice\", or to use the simpler prebuilt layout model, provide the model ID\n * \"prebuilt-layout\".\n *\n * The fields produced in the `AnalyzeResult` depend on the model that is used for analysis, and the values in any\n * extracted documents' fields depend on the document types in the model (if any) and their corresponding field\n * schemas.\n *\n * ### Examples\n *\n * This method supports streamable request bodies ({@link FormRecognizerRequestBody}) such as Node.JS `ReadableStream`\n * objects, browser `Blob`s, and `ArrayBuffer`s. The contents of the body will be uploaded to the service for analysis.\n *\n * ```ts snippet:ReadmeSamplePrebuiltReceipt\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { DocumentAnalysisClient } from \"@azure/ai-form-recognizer\";\n * import { createReadStream } from \"node:fs\";\n * import { PrebuiltReceiptModel } from \"../samples-dev/prebuilt/prebuilt-receipt.js\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new DocumentAnalysisClient(\n * \"https://<resource name>.cognitiveservices.azure.com\",\n * credential,\n * );\n *\n * const path = \"<path to a document>\";\n * const readStream = createReadStream(path);\n *\n * // The PrebuiltReceiptModel `DocumentModel` instance encodes both the model ID and a stronger return type for the operation\n * const poller = await client.beginAnalyzeDocument(PrebuiltReceiptModel, readStream, {\n * onProgress: ({ status }) => {\n * console.log(`status: ${status}`);\n * },\n * });\n *\n * const {\n * documents: [receiptDocument],\n * } = await poller.pollUntilDone();\n *\n * // The fields of the document constitute the extracted receipt data.\n * const receipt = receiptDocument.fields;\n *\n * if (receipt === undefined) {\n * throw new Error(\"Expected at least one receipt in analysis result.\");\n * }\n *\n * console.log(`Receipt data (${receiptDocument.docType})`);\n * console.log(\" Merchant Name:\", receipt.merchantName?.value);\n *\n * // The items of the receipt are an example of a `DocumentArrayValue`\n * if (receipt.items !== undefined) {\n * console.log(\"Items:\");\n * for (const { properties: item } of receipt.items.values) {\n * console.log(\"- Description:\", item.description?.value);\n * console.log(\" Total Price:\", item.totalPrice?.value);\n * }\n * }\n *\n * console.log(\" Total:\", receipt.total?.value);\n * ```\n *\n *\n * @param modelId - the unique ID (name) of the model within this client's resource\n * @param document - a {@link FormRecognizerRequestBody} that will be uploaded with the request\n * @param options - optional settings for the analysis operation and poller\n * @returns a long-running operation (poller) that will eventually produce an `AnalyzeResult`\n */\n public async beginAnalyzeDocument(\n modelId: string,\n document: FormRecognizerRequestBody,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options?: AnalyzeDocumentOptions,\n ): Promise<AnalysisPoller>;\n /**\n * Extract data from an input using a model that has a known, strongly-typed document schema (a {@link DocumentModel}).\n *\n * The fields produced in the `AnalyzeResult` depend on the model that is used for analysis. In TypeScript, the type\n * of the result for this method overload is inferred from the type of the input `DocumentModel`.\n *\n * ### Examples\n *\n * This method supports streamable request bodies ({@link FormRecognizerRequestBody}) such as Node.JS `ReadableStream`\n * objects, browser `Blob`s, and `ArrayBuffer`s. The contents of the body will be uploaded to the service for analysis.\n *\n * If the input provided is a string, it will be treated as a URL to the location of a document to be analyzed. See the\n * {@link beginAnalyzeDocumentFromUrl} method for more information. Use of that method is preferred when using URLs,\n * and URL support is only provided in this method for backwards compatibility.\n *\n * ```ts snippet:ReadmeSamplePrebuiltReceipt\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { DocumentAnalysisClient } from \"@azure/ai-form-recognizer\";\n * import { createReadStream } from \"node:fs\";\n * import { PrebuiltReceiptModel } from \"../samples-dev/prebuilt/prebuilt-receipt.js\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new DocumentAnalysisClient(\n * \"https://<resource name>.cognitiveservices.azure.com\",\n * credential,\n * );\n *\n * const path = \"<path to a document>\";\n * const readStream = createReadStream(path);\n *\n * // The PrebuiltReceiptModel `DocumentModel` instance encodes both the model ID and a stronger return type for the operation\n * const poller = await client.beginAnalyzeDocument(PrebuiltReceiptModel, readStream, {\n * onProgress: ({ status }) => {\n * console.log(`status: ${status}`);\n * },\n * });\n *\n * const {\n * documents: [receiptDocument],\n * } = await poller.pollUntilDone();\n *\n * // The fields of the document constitute the extracted receipt data.\n * const receipt = receiptDocument.fields;\n *\n * if (receipt === undefined) {\n * throw new Error(\"Expected at least one receipt in analysis result.\");\n * }\n *\n * console.log(`Receipt data (${receiptDocument.docType})`);\n * console.log(\" Merchant Name:\", receipt.merchantName?.value);\n *\n * // The items of the receipt are an example of a `DocumentArrayValue`\n * if (receipt.items !== undefined) {\n * console.log(\"Items:\");\n * for (const { properties: item } of receipt.items.values) {\n * console.log(\"- Description:\", item.description?.value);\n * console.log(\" Total Price:\", item.totalPrice?.value);\n * }\n * }\n *\n * console.log(\" Total:\", receipt.total?.value);\n * ```\n *\n * @param model - a {@link DocumentModel} representing the model to use for analysis and the expected output type\n * @param document - a {@link FormRecognizerRequestBody} that will be uploaded with the request\n * @param options - optional settings for the analysis operation and poller\n * @returns a long-running operation (poller) that will eventually produce an `AnalyzeResult` with documents that have\n * the result type associated with the input model\n */\n public async beginAnalyzeDocument<Result>(\n model: DocumentModel<Result>,\n document: FormRecognizerRequestBody,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options?: AnalyzeDocumentOptions<Result>,\n ): Promise<AnalysisPoller<Result>>;\n public async beginAnalyzeDocument(\n model: string | DocumentModel<unknown>,\n document: FormRecognizerRequestBody,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options: AnalyzeDocumentOptions<unknown> = {},\n ): Promise<AnalysisPoller<unknown>> {\n return this._tracing.withSpan(\n \"DocumentAnalysisClient.beginAnalyzeDocument\",\n options,\n // In the first version of the SDK, the document input was treated as a URL if it was a string, and we preserve\n // this behavior to avoid introducing a breaking change.\n this.analyze.bind(\n this,\n model,\n typeof document === \"string\" ? source(\"url\", document) : source(\"body\", document),\n ),\n );\n }\n\n /**\n * Extract data from an input using a model given by its unique ID.\n *\n * This operation supports custom as well as prebuilt models. For example, to use the prebuilt invoice model, provide\n * the model ID \"prebuilt-invoice\", or to use the simpler prebuilt layout model, provide the model ID\n * \"prebuilt-layout\".\n *\n * The fields produced in the `AnalyzeResult` depend on the model that is used for analysis, and the values in any\n * extracted documents' fields depend on the document types in the model (if any) and their corresponding field\n * schemas.\n *\n * ### Examples\n *\n * This method supports extracting data from a file at a given URL. The Form Recognizer service will attempt to\n * download a file using the submitted URL, so the URL must be accessible from the public internet. For example, a SAS\n * token can be used to grant read access to a blob in Azure Storage, and the service will use the SAS-encoded URL to\n * request the file.\n *\n * ```ts snippet:ReadmeSampleReceiptModelID_URL\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import {\n * DocumentAnalysisClient,\n * DocumentStringField,\n * DocumentArrayField,\n * DocumentObjectField,\n * } from \"@azure/ai-form-recognizer\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new DocumentAnalysisClient(\n * \"https://<resource name>.cognitiveservices.azure.com\",\n * credential,\n * );\n *\n * const poller = await client.beginAnalyzeDocumentFromUrl(\n * \"prebuilt-receipt\",\n * // The Document Intelligence service will access the following URL to a receipt image and extract data from it\n * \"https://raw.githubusercontent.com/Azure/azure-sdk-for-js/main/sdk/formrecognizer/ai-form-recognizer/assets/receipt/contoso-receipt.png\",\n * );\n * poller.onProgress((state) => console.log(\"Operation:\", state.modelId, state.status));\n *\n * const { documents } = await poller.pollUntilDone();\n *\n * const result = documents && documents[0];\n * if (result) {\n * const receipt = result.fields;\n * console.log(\"=== Receipt Information ===\");\n * console.log(\"Type:\", result.docType);\n * console.log(\"Merchant:\", (receipt[\"MerchantName\"] as DocumentStringField).value);\n *\n * console.log(\"Items:\");\n * for (const { properties: item } of ((receipt[\"Items\"] as DocumentArrayField).values ||\n * []) as DocumentObjectField[]) {\n * console.log(\"- Description:\", (item[\"Description\"] as DocumentStringField).value);\n * console.log(\" Total Price:\", (item[\"TotalPrice\"] as DocumentStringField).value);\n * }\n * } else {\n * throw new Error(\"Expected at least one receipt in the result.\");\n * }\n * ```\n *\n * @param modelId - the unique ID (name) of the model within this client's resource\n * @param documentUrl - a URL (string) to an input document accessible from the public internet\n * @param options - optional settings for the analysis operation and poller\n * @returns a long-running operation (poller) that will eventually produce an `AnalyzeResult`\n */\n public async beginAnalyzeDocumentFromUrl(\n modelId: string,\n documentUrl: string,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options?: AnalyzeDocumentOptions,\n ): Promise<AnalysisPoller>;\n /**\n * Extract data from an input using a model that has a known, strongly-typed document schema (a {@link DocumentModel}).\n *\n * The fields produced in the `AnalyzeResult` depend on the model that is used for analysis. In TypeScript, the type\n * of the result for this method overload is inferred from the type of the input `DocumentModel`.\n *\n * ### Examples\n *\n * This method supports extracting data from a file at a given URL. The Form Recognizer service will attempt to\n * download a file using the submitted URL, so the URL must be accessible from the public internet. For example, a SAS\n * token can be used to grant read access to a blob in Azure Storage, and the service will use the SAS-encoded URL to\n * request the file.\n *\n * ```ts snippet:ReadmeSampleReceiptPrebuilt_URL\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { DocumentAnalysisClient } from \"@azure/ai-form-recognizer\";\n * import { PrebuiltReceiptModel } from \"../samples-dev/prebuilt/prebuilt-receipt.js\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new DocumentAnalysisClient(\n * \"https://<resource name>.cognitiveservices.azure.com\",\n * credential,\n * );\n *\n * const poller = await client.beginAnalyzeDocumentFromUrl(\n * PrebuiltReceiptModel,\n * // The Document Intelligence service will access the following URL to a receipt image and extract data from it\n * \"https://raw.githubusercontent.com/Azure/azure-sdk-for-js/main/sdk/formrecognizer/ai-form-recognizer/assets/receipt/contoso-receipt.png\",\n * );\n *\n * const {\n * documents: [document],\n * } = await poller.pollUntilDone();\n *\n * // Use of PrebuiltModels.Receipt above (rather than the raw model ID), as it adds strong typing of the model's output\n * if (document) {\n * const { merchantName, items, total } = document.fields;\n *\n * console.log(\"=== Receipt Information ===\");\n * console.log(\"Type:\", document.docType);\n * console.log(\"Merchant:\", merchantName && merchantName.value);\n *\n * console.log(\"Items:\");\n * for (const item of (items && items.values) || []) {\n * const { description, totalPrice } = item.properties;\n *\n * console.log(\"- Description:\", description && description.value);\n * console.log(\" Total Price:\", totalPrice && totalPrice.value);\n * }\n *\n * console.log(\"Total:\", total && total.value);\n * } else {\n * throw new Error(\"Expected at least one receipt in the result.\");\n * }\n * ```\n *\n * @param model - a {@link DocumentModel} representing the model to use for analysis and the expected output type\n * @param documentUrl - a URL (string) to an input document accessible from the public internet\n * @param options - optional settings for the analysis operation and poller\n * @returns a long-running operation (poller) that will eventually produce an `AnalyzeResult`\n */\n public async beginAnalyzeDocumentFromUrl<Result>(\n model: DocumentModel<Result>,\n documentUrl: string,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options?: AnalyzeDocumentOptions<Result>,\n ): Promise<AnalysisPoller<Result>>;\n public async beginAnalyzeDocumentFromUrl(\n model: string | DocumentModel<unknown>,\n documentUrl: string,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options: AnalyzeDocumentOptions<unknown> = {},\n ): Promise<AnalysisPoller<unknown>> {\n return this._tracing.withSpan(\n \"DocumentAnalysisClient.beginAnalyzeDocumentFromUrl\",\n options,\n this.analyze.bind(this, model, source(\"url\", documentUrl)),\n );\n }\n\n /**\n * A helper method for running analysis polymorphically.\n *\n * @param model - the model ID or DocumentModel to use for analysis\n * @param input - the string URL or request body to use\n * @param options - analysis options\n * @returns - an analysis poller\n */\n private analyze(\n model: string | DocumentModel<unknown>,\n input: DocumentSource,\n options: AnalyzeDocumentOptions<unknown>,\n ): Promise<AnalysisPoller<unknown>> {\n const {\n modelId: initialModelId,\n apiVersion: requestApiVersion,\n transformResult,\n } = typeof model === \"string\"\n ? { modelId: model, apiVersion: undefined, transformResult: (v: AnalyzeResult) => v }\n : model;\n\n if (requestApiVersion && requestApiVersion !== FORM_RECOGNIZER_API_VERSION) {\n throw new Error(\n [\n `API Version mismatch: the provided model wants version: ${requestApiVersion},`,\n `but the client is using ${FORM_RECOGNIZER_API_VERSION}.`,\n \"The API version of the model must match the client's API version.\",\n ].join(\" \"),\n );\n }\n\n return this.createUnifiedPoller<unknown>(\n (abortSignal) => {\n const [contentType, analyzeRequest] = toAnalyzeRequest(input);\n\n if (contentType === \"application/json\") {\n return this._restClient.documentModels.analyzeDocument(initialModelId, contentType, {\n ...options,\n abortSignal,\n analyzeRequest,\n });\n } else {\n return this._restClient.documentModels.analyzeDocument(initialModelId, contentType, {\n ...options,\n abortSignal,\n analyzeRequest,\n });\n }\n },\n {\n initialModelId,\n options,\n transformResult: (result) => transformResult(toAnalyzeResultFromGenerated(result)),\n },\n );\n }\n\n /**\n * Classify a document using a custom classifier given by its ID.\n *\n * This method produces a long-running operation (poller) that will eventually produce an `AnalyzeResult`. This is the\n * same type as `beginAnalyzeDocument` and `beginAnalyzeDocumentFromUrl`, but the result will only contain a small\n * subset of its fields. Only the `documents` field and `pages` field will be populated, and only minimal page\n * information will be returned. The `documents` field will contain information about all the identified documents and\n * the `docType` that they were classified as.\n *\n * ### Example\n *\n * This method supports streamable request bodies ({@link FormRecognizerRequestBody}) such as Node.JS `ReadableStream`\n * objects, browser `Blob`s, and `ArrayBuffer`s. The contents of the body will be uploaded to the service for analysis.\n *\n * ```ts snippet:ReadmeSampleClassifyDocument_File\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { DocumentAnalysisClient } from \"@azure/ai-form-recognizer\";\n * import { createReadStream } from \"node:fs\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new DocumentAnalysisClient(\n * \"https://<resource name>.cognitiveservices.azure.com\",\n * credential,\n * );\n *\n * const path = \"<path to a document>\";\n * const readStream = createReadStream(path);\n *\n * const poller = await client.beginClassifyDocument(\"<classifier id>\", readStream);\n *\n * const result = await poller.pollUntilDone();\n *\n * if (result?.documents?.length === 0) {\n * throw new Error(\"Failed to extract any documents.\");\n * }\n *\n * for (const document of result.documents) {\n * console.log(\n * `Extracted a document with type '${document.docType}' on page ${document.boundingRegions?.[0].pageNumber} (confidence: ${document.confidence})`,\n * );\n * }\n * ```\n *\n * @param classifierId - the ID of the custom classifier to use for analysis\n * @param document - the document to classify\n * @param options - options for the classification operation\n * @returns a long-running operation (poller) that will eventually produce an `AnalyzeResult`\n */\n public async beginClassifyDocument(\n classifierId: string,\n document: FormRecognizerRequestBody,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options: ClassifyDocumentOptions = {},\n ): Promise<AnalysisPoller> {\n return this._tracing.withSpan(\n \"DocumentAnalysisClient.beginClassifyDocument\",\n options,\n this.classify.bind(this, classifierId, source(\"body\", document)),\n );\n }\n\n /**\n * Classify a document from a URL using a custom classifier given by its ID.\n *\n * This method produces a long-running operation (poller) that will eventually produce an `AnalyzeResult`. This is the\n * same type as `beginAnalyzeDocument` and `beginAnalyzeDocumentFromUrl`, but the result will only contain a small\n * subset of its fields. Only the `documents` field and `pages` field will be populated, and only minimal page\n * information will be returned. The `documents` field will contain information about all the identified documents and\n * the `docType` that they were classified as.\n *\n * ### Example\n *\n * This method supports extracting data from a file at a given URL. The Form Recognizer service will attempt to\n * download a file using the submitted URL, so the URL must be accessible from the public internet. For example, a SAS\n * token can be used to grant read access to a blob in Azure Storage, and the service will use the SAS-encoded URL to\n * request the file.\n *\n * ```ts snippet:ReadmeSampleClassifyDocument\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { DocumentAnalysisClient } from \"@azure/ai-form-recognizer\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new DocumentAnalysisClient(\n * \"https://<resource name>.cognitiveservices.azure.com\",\n * credential,\n * );\n *\n * const documentUrl =\n * \"https://raw.githubusercontent.com/Azure/azure-sdk-for-js/main/sdk/formrecognizer/ai-form-recognizer/assets/invoice/Invoice_1.pdf\";\n *\n * const poller = await client.beginClassifyDocumentFromUrl(\"<classifier id>\", documentUrl);\n *\n * const result = await poller.pollUntilDone();\n *\n * if (result?.documents?.length === 0) {\n * throw new Error(\"Failed to extract any documents.\");\n * }\n *\n * for (const document of result.documents) {\n * console.log(\n * `Extracted a document with type '${document.docType}' on page ${document.boundingRegions?.[0].pageNumber} (confidence: ${document.confidence})`,\n * );\n * }\n * ```\n * @param classifierId - the ID of the custom classifier to use for analysis\n * @param documentUrl - the URL of the document to classify\n * @param options -\n * @returns\n */\n public async beginClassifyDocumentFromUrl(\n classifierId: string,\n documentUrl: string,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options: ClassifyDocumentOptions = {},\n ): Promise<AnalysisPoller> {\n return this._tracing.withSpan(\n \"DocumentAnalysisClient.beginClassifyDocumentFromUrl\",\n options,\n this.classify.bind(this, classifierId, source(\"url\", documentUrl)),\n );\n }\n\n /**\n * A helper method for running classification polymorphically.\n * @param classifierId - the ID of the classifier to use\n * @param input - the string URL or request body to use\n * @param options - analysis options\n * @returns an analysis poller\n */\n private classify(\n classifierId: string,\n input: DocumentSource,\n options: ClassifyDocumentOptions,\n ): Promise<AnalysisPoller> {\n return this.createUnifiedPoller(\n async (abortSignal) => {\n const [contentType, classifyRequest] = toAnalyzeRequest(input);\n\n if (contentType === \"application/json\") {\n return this._restClient.documentClassifiers.classifyDocument(\n classifierId,\n contentType as any,\n {\n ...options,\n abortSignal,\n classifyRequest,\n },\n );\n } else {\n return this._restClient.documentClassifiers.classifyDocument(\n classifierId,\n contentType as any,\n {\n ...options,\n abortSignal,\n classifyRequest,\n },\n );\n }\n },\n {\n initialModelId: classifierId,\n options,\n transformResult: toAnalyzeResultFromGenerated,\n },\n );\n }\n\n /**\n * Create an LRO poller that handles analysis operations.\n *\n * This is the meat of all analysis polling operations.\n *\n * @param startOperation - function that starts the operation and returns the operation location\n * @param definition - operation definition (initial model ID, operation transforms, request options)\n * @returns - an analysis poller that produces the given return types according to the operation spec\n */\n private async createUnifiedPoller<Result>(\n startOperation: (\n abortSignal: AbortSignalLike | undefined,\n ) => Promise<{ operationLocation?: string }>,\n definition: AnalysisOperationDefinition<Result>,\n ): Promise<AnalysisPoller<Result>> {\n const { resumeFrom } = definition.options;\n\n // TODO: what should we do if resumeFrom.modelId is different from initialModelId?\n // And what do we do with the redundant input??\n\n const getAnalyzeResult = (\n ctx: OperationContext,\n operationLocation: string,\n ): Promise<AnalyzeResultOperation> =>\n this._tracing.withSpan(\n \"DocumentAnalysisClient.createAnalysisPoller-getAnalyzeResult\",\n definition.options,\n (finalOptions) =>\n this._restClient.sendOperationRequest<AnalyzeResultOperation>(\n {\n options: {\n onResponse: async (rawResponse, ...args) => {\n // Capture the `Retry-After` header if it was sent.\n const retryAfterHeader = rawResponse.headers.get(\"retry-after\");\n // Convert the header value to milliseconds. If the header is not a valid number, then it is an HTTP\n // date.\n if (retryAfterHeader) {\n const retryAfterMs = Number(retryAfterHeader) * 1000;\n if (!Number.isNaN(retryAfterMs)) {\n ctx.updateDelay(retryAfterMs);\n } else {\n ctx.updateDelay(Date.parse(retryAfterHeader) - Date.now());\n }\n } else {\n ctx.updateDelay(undefined);\n }\n\n // Forward the `onResponse` callback if it was provided.\n return finalOptions.onResponse?.(rawResponse, ...args);\n },\n ...finalOptions,\n // We need to pass the abort signal from the context rather than from the options, since the user could\n // poll the LRO with a different AbortSignal than it was instantiated with.\n abortSignal: ctx.abortSignal,\n },\n },\n {\n path: operationLocation,\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AnalyzeResultOperation,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n // URL is fully-formed, so we don't need any query parameters\n headerParameters: [accept1],\n serializer: SERIALIZER,\n },\n ),\n );\n\n const toInit =\n // If the user gave us a stored token, we'll poll it again\n resumeFrom !== undefined\n ? async (ctx: OperationContext) =>\n this._tracing.withSpan(\n \"DocumentAnalysisClient.createAnalysisPoller-resume\",\n definition.options,\n async () => {\n const { clientVersion, operationLocation, modelId } = JSON.parse(resumeFrom) as {\n clientVersion?: string;\n operationLocation: string;\n modelId: string;\n };\n\n if (!clientVersion || clientVersion !== SDK_VERSION) {\n throw new Error(\n [\n \"Cannot restore poller from a serialized state from a different version of the client\",\n `library (restoreFrom: '${clientVersion}', current: '${SDK_VERSION}').`,\n ].join(\" \"),\n );\n }\n\n const result = await getAnalyzeResult(ctx, operationLocation);\n\n return toDocumentAnalysisPollOperationState(\n definition,\n modelId,\n operationLocation,\n result,\n );\n },\n )\n : // Otherwise, we'll start a new operation from the initialModelId\n async (ctx: OperationContext) =>\n this._tracing.withSpan(\n \"DocumentAnalysisClient.createAnalysisPoller-start\",\n definition.options,\n async () => {\n const { operationLocation } = await startOperation(ctx.abortSignal);\n\n if (operationLocation === undefined) {\n throw new Error(\n \"Unable to start analysis operation: no Operation-Location received.\",\n );\n }\n\n const result = await getAnalyzeResult(ctx, operationLocation);\n\n return toDocumentAnalysisPollOperationState(\n definition,\n definition.initialModelId,\n operationLocation,\n result,\n );\n },\n );\n\n const poller = await lro<Result, DocumentAnalysisPollOperationState<Result>>(\n {\n init: toInit,\n poll: async (ctx, { operationLocation, modelId }) =>\n this._tracing.withSpan(\n \"DocumentAnalysisClient.createAnalysisPoller-poll\",\n {},\n async () => {\n const result = await getAnalyzeResult(ctx, operationLocation);\n\n return toDocumentAnalysisPollOperationState(\n definition,\n modelId,\n operationLocation,\n result,\n );\n },\n ),\n serialize: ({ operationLocation, modelId }) =>\n JSON.stringify({ clientVersion: SDK_VERSION, id: modelId, operationLocation }),\n },\n definition.options.updateIntervalInMs,\n definition.options.abortSignal,\n );\n\n if (definition.options.onProgress !== undefined) {\n poller.onProgress(definition.options.onProgress);\n definition.options.onProgress(poller.getOperationState());\n }\n\n return poller;\n }\n\n // #endregion\n}\n\n/**\n * Produce an appropriate pair of content-type and analyzeRequest value for the analysis request.\n * @internal\n */\nfunction toAnalyzeRequest(\n input: DocumentSource,\n):\n | [\"application/json\", AnalyzeDocumentRequest]\n | [\"application/octet-stream\", FormRecognizerRequestBody] {\n switch (input.kind) {\n case \"body\":\n return [\"application/octet-stream\", input.body];\n case \"url\":\n return [\"application/json\", { urlSource: input.url }];\n case \"base64\":\n return [\"application/json\", { base64Source: input.base64 }];\n default: {\n const __exhaust: never = input;\n throw new Error(`Unreachable 'toAnalyzeRequest' case: ${__exhaust}`);\n }\n }\n}\n\n/**\n * The input to a document analysis operation.\n */\n// type DocumentSource = DocumentBodySource | DocumentUrlSource | DocumentBase64Source;\n\nfunction source<K extends DocumentSource[\"kind\"]>(\n kind: K,\n value: Extract<DocumentSource, { kind: K }>[K & keyof Extract<DocumentSource, { kind: K }>],\n): DocumentSource {\n return {\n kind,\n [kind]: value,\n } as unknown as DocumentSource;\n}\n\n/**\n * The input to a document analysis operation.\n *\n * @internal\n */\ntype DocumentSource = {\n [K in keyof DocumentSourceTypes]: {\n /** The input kind. */\n kind: K;\n } & { [_ in K]: DocumentSourceTypes[K] };\n}[keyof DocumentSourceTypes];\n\n/**\n * A map of input discriminants to concrete input types.\n *\n * @internal\n */\ninterface DocumentSourceTypes {\n /**\n * A document buffer or stream to be uploaded in the request body.\n */\n body: FormRecognizerRequestBody;\n\n /**\n * A URL to a document to be analyzed.\n */\n url: string;\n\n /**\n * The data of a document to be analyzed. This is NOT base64-encoded, but will\n * be base64-encoded by the client before uploading.\n *\n * NOTE: This is never used by the client because it is inefficient compared to direct uploads and does not currently\n * support any features that `body` does not.\n */\n base64: Uint8Array;\n}\n"]}
@@ -0,0 +1,34 @@
1
+ import type { DocumentModelDetails } from "./generated/index.js";
2
+ import type { AnalyzeResult } from "./lro/analysis.js";
3
+ /**
4
+ * A well-known model specification that supports extracting structured documents.
5
+ *
6
+ * See the `beginAnalyzeDocument` method of {@link DocumentAnalysisClient}, which supports consuming these
7
+ * `DocumentModel` objects instead of model ID strings to provide stronger result types.
8
+ */
9
+ export interface DocumentModel<Result> {
10
+ /**
11
+ * The unique ID of this model.
12
+ */
13
+ modelId: string;
14
+ /**
15
+ * The API version of the model.
16
+ */
17
+ apiVersion?: string;
18
+ /**
19
+ * An associated transformation that is used to conver the base (weak) Result type to the strong version.
20
+ */
21
+ transformResult: (input: AnalyzeResult) => Result;
22
+ }
23
+ /**
24
+ * Create a DocumentModel that performs analysis using the given schema.
25
+ *
26
+ * The types of `documents` are created from the schema, so they are `unknown` unless they are asserted to be a
27
+ * different type.
28
+ *
29
+ * @hidden
30
+ * @param schema - model schema contents
31
+ * @returns - a DocumentModel that encodes the schema
32
+ */
33
+ export declare function createModelFromSchema(schema: Omit<DocumentModelDetails, "createdOn">): DocumentModel<AnalyzeResult<unknown>>;
34
+ //# sourceMappingURL=documentModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentModel.d.ts","sourceRoot":"","sources":["../../src/documentModel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAuB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIzE;;;;;GAKG;AACH,MAAM,WAAW,aAAa,CAAC,MAAM;IACnC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;CACnD;AAqDD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAC9C,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CA+CvC"}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
3
- import { isAcronymic, uncapitalize } from "./util";
2
+ // Licensed under the MIT License.
3
+ import { isAcronymic, uncapitalize } from "./util.js";
4
4
  /**
5
5
  * Checks a field value against a schema and converts it into a strong idiomatic DocumentField,
6
6
  * @internal
@@ -49,7 +49,7 @@ export function createModelFromSchema(schema) {
49
49
  const hasDocuments = Object.entries((_a = schema.docTypes) !== null && _a !== void 0 ? _a : {}).length > 0;
50
50
  return Object.assign(Object.assign({}, baseResult), { documents: hasDocuments
51
51
  ? (_b = baseResult.documents) === null || _b === void 0 ? void 0 : _b.map(toDocument)
52
- : (_c = baseResult.documents) !== null && _c !== void 0 ? _c : [] });
52
+ : ((_c = baseResult.documents) !== null && _c !== void 0 ? _c : []) });
53
53
  function toDocument(document) {
54
54
  var _a;
55
55
  const result = {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentModel.js","sourceRoot":"","sources":["../../src/documentModel.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { DocumentFieldSchema, DocumentModelDetails } from \"./generated/index.js\";\nimport type { AnalyzedDocument, AnalyzeResult } from \"./lro/analysis.js\";\nimport type { DocumentField } from \"./models/fields.js\";\nimport { isAcronymic, uncapitalize } from \"./util.js\";\n\n/**\n * A well-known model specification that supports extracting structured documents.\n *\n * See the `beginAnalyzeDocument` method of {@link DocumentAnalysisClient}, which supports consuming these\n * `DocumentModel` objects instead of model ID strings to provide stronger result types.\n */\nexport interface DocumentModel<Result> {\n /**\n * The unique ID of this model.\n */\n modelId: string;\n /**\n * The API version of the model.\n */\n apiVersion?: string;\n /**\n * An associated transformation that is used to conver the base (weak) Result type to the strong version.\n */\n transformResult: (input: AnalyzeResult) => Result;\n}\n\n/**\n * Checks a field value against a schema and converts it into a strong idiomatic DocumentField,\n * @internal\n * @param fieldName - the name of the field (used in diagnostics)\n * @param schema - the field's schema\n * @param field - the raw DocumentField value\n * @returns\n */\nfunction extractField(\n fieldName: string,\n schema: DocumentFieldSchema,\n field: DocumentField,\n): DocumentField {\n if (schema.type !== field.kind) {\n throw new Error(\n `Schema violation: ${fieldName} had type \"${field.kind}\", but expected \"${schema.type}\"`,\n );\n }\n\n // Objects need to be handled specially, so that we can camelCase the field names.\n if (field.kind === \"object\") {\n const result: any = {};\n\n for (const [subFieldName, subFieldSchema] of Object.entries(schema.properties!)) {\n if (field.properties[subFieldName] !== undefined && field.properties[subFieldName] !== null) {\n const trueFieldName = (\n isAcronymic(subFieldName) ? subFieldName : uncapitalize(subFieldName)\n ).replace(/\\s/g, \"\");\n\n result[trueFieldName] = extractField(\n fieldName + \".\" + subFieldName,\n subFieldSchema,\n field.properties[subFieldName]!,\n );\n }\n }\n\n return {\n ...field,\n properties: result,\n };\n } else if (field.kind === \"array\") {\n return {\n ...field,\n values: field.values.map((val, idx) =>\n extractField(fieldName + \"[\" + idx + \"]\", schema.items!, val),\n ),\n };\n } else return field;\n}\n\n/**\n * Create a DocumentModel that performs analysis using the given schema.\n *\n * The types of `documents` are created from the schema, so they are `unknown` unless they are asserted to be a\n * different type.\n *\n * @hidden\n * @param schema - model schema contents\n * @returns - a DocumentModel that encodes the schema\n */\nexport function createModelFromSchema(\n schema: Omit<DocumentModelDetails, \"createdOn\">,\n): DocumentModel<AnalyzeResult<unknown>> {\n return {\n modelId: schema.modelId,\n apiVersion: schema.apiVersion,\n transformResult(baseResult: AnalyzeResult): AnalyzeResult<unknown> {\n const hasDocuments = Object.entries(schema.docTypes ?? {}).length > 0;\n\n return {\n ...baseResult,\n documents: hasDocuments\n ? baseResult.documents?.map(toDocument)\n : (baseResult.documents ?? []),\n };\n\n function toDocument(document: AnalyzedDocument): unknown {\n const result: Record<string, unknown> = {};\n const model = schema.docTypes?.[document.docType];\n\n if (model === undefined) {\n throw new Error(\n `Unexpected document type \"${document.docType}\" in result using model \"${schema.modelId}\"`,\n );\n }\n for (const [fieldName, fieldSchema] of Object.entries(model.fieldSchema)) {\n if (\n document.fields &&\n document.fields[fieldName] !== undefined &&\n document.fields[fieldName] !== null\n ) {\n const trueFieldName = (\n isAcronymic(fieldName) ? fieldName : uncapitalize(fieldName)\n ).replace(/\\s/g, \"\");\n result[trueFieldName] = extractField(\n fieldName,\n fieldSchema,\n document.fields[fieldName],\n );\n }\n }\n\n return {\n ...document,\n fields: result,\n };\n }\n },\n };\n}\n"]}