@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
@@ -0,0 +1,101 @@
1
+ #!/bin/env node
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ // This file is ignored by the linter because it is impossible to move the copyright header above the shebang line.
5
+ import { DefaultAzureCredential } from "@azure/identity";
6
+ import { writeFile } from "node:fs/promises";
7
+ import { DocumentModelAdministrationClient } from "../documentModelAdministrationClient.js";
8
+ import { writeModelCode } from "./writeModelCode.js";
9
+ import { format } from "prettier";
10
+ /**
11
+ * @internal
12
+ * Prints a help message for the gen-model command.
13
+ */
14
+ function printHelp() {
15
+ console.error(`
16
+ Usage:
17
+ gen-model [options] <model-id>
18
+
19
+ Create a strongly-typed DocumentModel for the Azure Document Intelligence SDK for JavaScript.
20
+
21
+ Options:
22
+ -h, --help \tshow this help message
23
+ -o, --output\tdetermines where to output the model
24
+
25
+ --endpoint <endpoint>\tthe Form Recognizer resource's endpoint
26
+
27
+ Default values:
28
+
29
+ If the \`--endpoint\` option is not provided, then the value
30
+ of the \`FORM_RECOGNIZER_ENDPOINT\` environment
31
+ variable will be used as default.
32
+
33
+ Authentication:
34
+
35
+ If the \`@azure/identity\` package is installed, the \`DefaultAzureCredential\`
36
+ from that package will be used.
37
+ `);
38
+ }
39
+ /**
40
+ * @internal
41
+ * The main function of the gen-model command.
42
+ */
43
+ async function main() {
44
+ const args = process.argv.slice(2);
45
+ let modelId = undefined;
46
+ let endpoint = process.env.FORM_RECOGNIZER_ENDPOINT;
47
+ let output = undefined;
48
+ let test = false;
49
+ console.error("gen-model - create strong TypeScript types for models");
50
+ if (args.some((arg) => arg === "--help" || arg === "-h")) {
51
+ printHelp();
52
+ return;
53
+ }
54
+ let idx = 0;
55
+ while (idx < args.length) {
56
+ switch (args[idx]) {
57
+ case "--endpoint":
58
+ endpoint = args[(idx += 1)];
59
+ break;
60
+ case "-o":
61
+ case "--output":
62
+ output = args[(idx += 1)];
63
+ break;
64
+ case "--test":
65
+ test = true;
66
+ break;
67
+ default:
68
+ modelId = args[idx];
69
+ break;
70
+ }
71
+ idx += 1;
72
+ }
73
+ if (idx + 1 <= args.length) {
74
+ console.error("warning: unused arguments:", args.slice(idx + 1).join(" "));
75
+ }
76
+ if (!modelId) {
77
+ throw new Error("no model ID provided");
78
+ }
79
+ if (!endpoint) {
80
+ throw new Error("no endpoint provided");
81
+ }
82
+ const client = new DocumentModelAdministrationClient(endpoint, new DefaultAzureCredential());
83
+ const modelInfo = await client.getDocumentModel(modelId);
84
+ console.error("Generating model code for:", modelInfo.modelId);
85
+ const file = await writeModelCode(modelInfo, test);
86
+ const data = Buffer.from(await format(file, { parser: "typescript" }), "utf-8");
87
+ if (output !== undefined) {
88
+ // output is only refined in this context, so assigning it to "path" preserves that
89
+ const path = output;
90
+ await writeFile(path, data);
91
+ }
92
+ else {
93
+ process.stdout.write(data);
94
+ }
95
+ }
96
+ main().catch((e) => {
97
+ console.error(e);
98
+ console.error("see `gen-model --help` for more information");
99
+ process.exit(1);
100
+ });
101
+ //# sourceMappingURL=gen-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gen-model.js","sourceRoot":"","sources":["../../../src/bin/gen-model.ts"],"names":[],"mappings":"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","sourcesContent":["#!/bin/env node\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// This file is ignored by the linter because it is impossible to move the copyright header above the shebang line.\n\nimport { DefaultAzureCredential } from \"@azure/identity\";\nimport { writeFile } from \"node:fs/promises\";\nimport { DocumentModelAdministrationClient } from \"../documentModelAdministrationClient.js\";\nimport { writeModelCode } from \"./writeModelCode.js\";\nimport { format } from \"prettier\";\n\n/**\n * @internal\n * Prints a help message for the gen-model command.\n */\nfunction printHelp(): void {\n console.error(`\nUsage:\n gen-model [options] <model-id>\n \nCreate a strongly-typed DocumentModel for the Azure Document Intelligence SDK for JavaScript.\n\nOptions:\n -h, --help \\tshow this help message\n -o, --output\\tdetermines where to output the model\n\n --endpoint <endpoint>\\tthe Form Recognizer resource's endpoint\n\nDefault values:\n\nIf the \\`--endpoint\\` option is not provided, then the value\nof the \\`FORM_RECOGNIZER_ENDPOINT\\` environment\nvariable will be used as default.\n\nAuthentication:\n\nIf the \\`@azure/identity\\` package is installed, the \\`DefaultAzureCredential\\`\nfrom that package will be used.\n`);\n}\n\n/**\n * @internal\n * The main function of the gen-model command.\n */\nasync function main(): Promise<void> {\n const args = process.argv.slice(2);\n\n let modelId: string | undefined = undefined;\n let endpoint = process.env.FORM_RECOGNIZER_ENDPOINT;\n let output: string | undefined = undefined;\n let test: boolean = false;\n\n console.error(\"gen-model - create strong TypeScript types for models\");\n\n if (args.some((arg) => arg === \"--help\" || arg === \"-h\")) {\n printHelp();\n return;\n }\n\n let idx = 0;\n while (idx < args.length) {\n switch (args[idx]) {\n case \"--endpoint\":\n endpoint = args[(idx += 1)];\n break;\n case \"-o\":\n case \"--output\":\n output = args[(idx += 1)];\n break;\n case \"--test\":\n test = true;\n break;\n default:\n modelId = args[idx];\n break;\n }\n idx += 1;\n }\n\n if (idx + 1 <= args.length) {\n console.error(\"warning: unused arguments:\", args.slice(idx + 1).join(\" \"));\n }\n\n if (!modelId) {\n throw new Error(\"no model ID provided\");\n }\n\n if (!endpoint) {\n throw new Error(\"no endpoint provided\");\n }\n\n const client = new DocumentModelAdministrationClient(endpoint, new DefaultAzureCredential());\n\n const modelInfo = await client.getDocumentModel(modelId);\n\n console.error(\"Generating model code for:\", modelInfo.modelId);\n\n const file = await writeModelCode(modelInfo, test);\n\n const data = Buffer.from(await format(file, { parser: \"typescript\" }), \"utf-8\");\n\n if (output !== undefined) {\n // output is only refined in this context, so assigning it to \"path\" preserves that\n const path = output;\n\n await writeFile(path, data);\n } else {\n process.stdout.write(data);\n }\n}\n\nmain().catch((e) => {\n console.error(e);\n console.error(\"see `gen-model --help` for more information\");\n process.exit(1);\n});\n"]}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Convert a list of strings into a camelCase joined representation.
3
+ */
4
+ export declare function camelCase(slug: string[]): string;
5
+ /**
6
+ * Capitalize a string.
7
+ */
8
+ export declare function capitalize(s: string): string;
9
+ /**
10
+ * Uncapitalize a string.
11
+ */
12
+ export declare function uncapitalize(s: string): string;
13
+ /**
14
+ * A simple representation of a field in an interface.
15
+ */
16
+ export interface Field {
17
+ name: string;
18
+ docContents: string;
19
+ type: string;
20
+ optional?: true;
21
+ }
22
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/bin/utils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB"}
@@ -0,0 +1,21 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * Convert a list of strings into a camelCase joined representation.
5
+ */
6
+ export function camelCase(slug) {
7
+ return slug.map(capitalize).join("");
8
+ }
9
+ /**
10
+ * Capitalize a string.
11
+ */
12
+ export function capitalize(s) {
13
+ return s.slice(0, 1).toUpperCase() + s.slice(1);
14
+ }
15
+ /**
16
+ * Uncapitalize a string.
17
+ */
18
+ export function uncapitalize(s) {
19
+ return s.slice(0, 1).toLowerCase() + s.slice(1);
20
+ }
21
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/bin/utils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Convert a list of strings into a camelCase joined representation.\n */\nexport function camelCase(slug: string[]): string {\n return slug.map(capitalize).join(\"\");\n}\n\n/**\n * Capitalize a string.\n */\nexport function capitalize(s: string): string {\n return s.slice(0, 1).toUpperCase() + s.slice(1);\n}\n\n/**\n * Uncapitalize a string.\n */\nexport function uncapitalize(s: string): string {\n return s.slice(0, 1).toLowerCase() + s.slice(1);\n}\n\n/**\n * A simple representation of a field in an interface.\n */\nexport interface Field {\n name: string;\n docContents: string;\n type: string;\n optional?: true;\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import type { DocumentModelDetails } from "../index.js";
2
+ /**
3
+ * Generate a TypeScript source file for a given model.
4
+ *
5
+ * @param model - the ModelInfo to generate code for
6
+ * @returns a string of TypeScript source code
7
+ */
8
+ export declare function writeModelCode(model: DocumentModelDetails, test: boolean): Promise<string>;
9
+ //# sourceMappingURL=writeModelCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeModelCode.d.ts","sourceRoot":"","sources":["../../../src/bin/writeModelCode.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAuB,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAmC7E;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAoGhG"}
@@ -0,0 +1,323 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { EOL } from "node:os";
4
+ import { defaultResultFields, getFeatures } from "./defaultFields.js";
5
+ import { camelCase, capitalize, uncapitalize } from "./utils.js";
6
+ // NOTE: currently, this command is set up to generate sample files for the SDK itself. If we want to expose this
7
+ // functionality outside of samples, then we'll need to change the way the headers are generated for external use.
8
+ /**
9
+ * The header to append to the top of every file.
10
+ */
11
+ const sampleHeader = `
12
+ /**
13
+ * @azsdk-util
14
+ * @azsdk-skip-javascript
15
+ */
16
+ `;
17
+ /**
18
+ * Generate a header with the model information.
19
+ */
20
+ function templateHeader(model, test) {
21
+ return `// Copyright (c) Microsoft Corporation.
22
+ // Licensed under the MIT License.
23
+ ${!test ? sampleHeader : ""}
24
+ // Model: ${model.modelId}
25
+ // Description: ${model.description}
26
+ // API Version: ${model.apiVersion}
27
+ // Created: ${new Date().toDateString()}
28
+
29
+ `;
30
+ }
31
+ /**
32
+ * Generate a TypeScript source file for a given model.
33
+ *
34
+ * @param model - the ModelInfo to generate code for
35
+ * @returns a string of TypeScript source code
36
+ */
37
+ export async function writeModelCode(model, test) {
38
+ let contents = templateHeader(model, test);
39
+ if (test) {
40
+ contents += 'import * as fr from "../../../src";' + EOL + EOL;
41
+ }
42
+ else {
43
+ contents += 'import * as fr from "@azure/ai-form-recognizer";' + EOL + EOL;
44
+ }
45
+ const modelNameSlug = [
46
+ ...model.modelId
47
+ .split("-", 2)
48
+ // for lack of a flatMap
49
+ .reduce((acc, cur) => [...acc, ...cur.split(".")], []),
50
+ ];
51
+ const modelName = camelCase([...modelNameSlug, "Model"]);
52
+ const documentTypeName = camelCase([...modelNameSlug, "Document"]);
53
+ const resultName = camelCase([...modelNameSlug, "Result"]);
54
+ const modelFeatures = getFeatures(model);
55
+ const hasDocuments = modelFeatures.some((f) => f === "_documents");
56
+ if (model.description) {
57
+ contents += "/**" + EOL;
58
+ contents +=
59
+ model.description
60
+ // Split the comment into lines.
61
+ .split(/\r?\n/)
62
+ // Add the asterisk to the beginning of each line to block-align the comment
63
+ .map((l) => " * " + l)
64
+ .join(EOL) + EOL;
65
+ contents += " */" + EOL;
66
+ }
67
+ // Create the exported model object. We rely on a function named `modelInfo` to exist in the module scope, and we will
68
+ // add it later.
69
+ contents += `export const ${modelName} = fr.createModelFromSchema(modelInfo()) as fr.DocumentModel<${resultName}>;${EOL + EOL}`;
70
+ // Write the main Result interface.
71
+ for (const line of writeResultInterface(resultName, documentTypeName, modelFeatures)) {
72
+ contents += line + EOL;
73
+ }
74
+ contents += EOL;
75
+ // Now add a variant for each document type in the model, if there are any.
76
+ if (hasDocuments) {
77
+ const variants = extractModelVariants(model, modelNameSlug);
78
+ const variantNames = Object.keys(variants);
79
+ const documentType = variantNames.length > 1
80
+ ? // In the case of multiple variants, a union
81
+ variantNames.map((n) => `${EOL} | ${n}`).join("")
82
+ : variantNames.length === 1
83
+ ? // For a single variant, just emit its name.
84
+ ` ${variantNames[0]}`
85
+ : // This should probably be unreachable, since there's no case where
86
+ // `hasDocuments && variantNames.length === 0`, but we'll still emit "never" just in case.
87
+ " never";
88
+ // Finally, add the type alias for the type of a Document
89
+ contents += `export type ${documentTypeName} =${documentType};${EOL + EOL}`;
90
+ // Write the root interface for the variant.
91
+ for (const info of Object.values(variants)) {
92
+ for (const line of writeDocTypeInterface(info)) {
93
+ contents += line + EOL;
94
+ }
95
+ contents += EOL;
96
+ }
97
+ // Write all the fields interfaces that the variant uses
98
+ for (const info of Object.values(variants)) {
99
+ for (const line of writeFieldsInterfaces(info)) {
100
+ contents += line + EOL;
101
+ }
102
+ contents += EOL;
103
+ }
104
+ }
105
+ // Finally, emit the modelInfo function that provides the raw schema.
106
+ contents += "/**" + EOL;
107
+ contents += " * The raw model schema." + EOL;
108
+ contents += " */" + EOL;
109
+ contents += "function modelInfo() {" + EOL;
110
+ contents +=
111
+ ` return ${JSON.stringify(model, null, 2)
112
+ .split(/\r?\n/)
113
+ .join(EOL + " ")} as const;` + EOL;
114
+ contents += "}" + EOL;
115
+ return contents;
116
+ }
117
+ // Get the doc type variants of a model.
118
+ function extractModelVariants(model, _rootSlug) {
119
+ var _a;
120
+ const result = {};
121
+ for (const [docType, info] of Object.entries((_a = model.docTypes) !== null && _a !== void 0 ? _a : {})) {
122
+ const slug = docType.split(".");
123
+ const docTypeName = camelCase(slug);
124
+ result[docTypeName] = Object.assign(Object.assign({}, info), { name: docTypeName, originalDocType: docType, slug });
125
+ }
126
+ return result;
127
+ }
128
+ // Write the interface for a given DocType.
129
+ function* writeDocTypeInterface(docType) {
130
+ if (docType.description) {
131
+ yield "/**";
132
+ yield* docType.description.split(/\r?\n/).map((l) => " * " + l);
133
+ yield " */";
134
+ }
135
+ yield `export interface ${docType.name} {`;
136
+ yield* indent(writeField({
137
+ name: "docType",
138
+ type: `"${docType.originalDocType}"`,
139
+ docContents: `Document type: "${docType.originalDocType}".`,
140
+ }));
141
+ yield* indent(writeField({
142
+ name: "fields",
143
+ type: docType.name + "Fields",
144
+ docContents: "Document fields.",
145
+ }));
146
+ yield* indent(flatMap([
147
+ {
148
+ name: "boundingRegions",
149
+ docContents: "Bounding regions covering the document.",
150
+ type: "fr.BoundingRegion[]",
151
+ optional: true,
152
+ },
153
+ {
154
+ name: "spans",
155
+ docContents: "Locations of the document's elements in the `content` text (reading-order-concatenated content).",
156
+ type: "fr.DocumentSpan[]",
157
+ },
158
+ {
159
+ name: "confidence",
160
+ docContents: "The service's confidence that it has correctly extracted the document.",
161
+ type: "number",
162
+ },
163
+ ], writeField));
164
+ yield "}";
165
+ }
166
+ /**
167
+ * Write a field and its comment to an iterable of strings.
168
+ */
169
+ function* writeField(field) {
170
+ yield "/**";
171
+ yield* field.docContents.split(/\r?\n/).map((line) => ` * ${line}`);
172
+ yield " */";
173
+ // If the field name has an illegal character, we need to quote it.
174
+ const needsQuotes = !/^[a-zA-Z_$][a-zA-Z_$0-9]*$/.test(field.name);
175
+ const printedFieldName = needsQuotes ? `"${field.name}"` : field.name;
176
+ yield `${printedFieldName}${field.optional ? "?" : ""}: ${field.type};`;
177
+ }
178
+ /**
179
+ * Recursively write the fields interfaces for a given document type.
180
+ */
181
+ function* writeFieldsInterfaces(docType) {
182
+ const name = docType.name + "Fields";
183
+ yield* writeInterfaceDeclaration(name, docType.description, docType.fieldSchema);
184
+ // Recursively visit all child interfaces and write them.
185
+ yield* (function* collectNestedInterfaces(fields, namingContext) {
186
+ var _a, _b, _c, _d, _e, _f, _g;
187
+ for (const [fieldName, schema] of Object.entries(fields)) {
188
+ if (schema.type === "array" && ((_a = schema.items) === null || _a === void 0 ? void 0 : _a.type) === "object") {
189
+ // Generate element interface and recur if the nested type is an object
190
+ const nextNamingContext = namingContext + fieldName + "Element";
191
+ yield "";
192
+ yield "";
193
+ yield* writeInterfaceDeclaration(nextNamingContext, schema.description, (_c = (_b = schema.items) === null || _b === void 0 ? void 0 : _b.properties) !== null && _c !== void 0 ? _c : {});
194
+ yield* collectNestedInterfaces((_e = (_d = schema.items) === null || _d === void 0 ? void 0 : _d.properties) !== null && _e !== void 0 ? _e : {}, nextNamingContext);
195
+ }
196
+ else if (schema.type === "object") {
197
+ // Generate named interface and recur
198
+ yield "";
199
+ yield "";
200
+ yield* writeInterfaceDeclaration(namingContext + fieldName, schema.description, (_f = schema.properties) !== null && _f !== void 0 ? _f : {});
201
+ yield* collectNestedInterfaces((_g = schema.properties) !== null && _g !== void 0 ? _g : {}, namingContext + fieldName);
202
+ }
203
+ }
204
+ })(docType.fieldSchema, docType.name);
205
+ /**
206
+ * Write a simple interface declaration.
207
+ *
208
+ * @param interfaceName - the symbolic name of the interface
209
+ * @param description - the interface's documentation string.
210
+ * @param fields - the fields of the interface (a map of names to schemas)
211
+ */
212
+ function* writeInterfaceDeclaration(interfaceName, description, fields) {
213
+ yield "/**";
214
+ yield ` * Describes the fields of \`${interfaceName}\`.`;
215
+ if (description) {
216
+ yield " * ";
217
+ yield* description.split(/\r?\n/).map((l) => " * " + l);
218
+ }
219
+ yield " */";
220
+ const prefix = `export interface ${interfaceName} {`;
221
+ const suffix = "}";
222
+ const fieldEntries = Object.entries(fields);
223
+ if (fieldEntries.length === 0) {
224
+ yield prefix + suffix;
225
+ }
226
+ else {
227
+ yield prefix;
228
+ yield* indent(flatMap(fieldEntries.map(([fieldName, schema]) => {
229
+ var _a;
230
+ return ({
231
+ // Uncapitalize the field name and remove all whitespace
232
+ name: uncapitalize(fieldName).replace(/\s/g, ""),
233
+ type: writeType(schema, fieldName, docType.slug),
234
+ docContents: (_a = schema.description) !== null && _a !== void 0 ? _a : `\`${docType.name}\` "${fieldName}" field`,
235
+ optional: true,
236
+ });
237
+ }), writeField));
238
+ yield suffix;
239
+ }
240
+ }
241
+ }
242
+ /**
243
+ * Generate a type name for a field schema.
244
+ *
245
+ * @param schema - the schema of the type
246
+ * @param name - the name to append to the field type, if necessary (only applies to objects and arrays)
247
+ * @param slug - the current taxonomic naming context of the field name (used to name object types)
248
+ * @returns a string representing the type name for the field
249
+ */
250
+ function writeType(schema, name, slug) {
251
+ const kind = schema.type;
252
+ if (kind === "array") {
253
+ return `fr.DocumentArrayField<${writeType(schema.items, "Element", [...slug, name])}>`;
254
+ }
255
+ else if (kind === "object") {
256
+ const propertiesName = slug.map(capitalize).join("") + name;
257
+ return `fr.DocumentObjectField<${propertiesName}>`;
258
+ }
259
+ else {
260
+ return {
261
+ integer: "fr.DocumentIntegerField",
262
+ string: "fr.DocumentStringField",
263
+ countryRegion: "fr.DocumentCountryRegionField",
264
+ currency: "fr.DocumentCurrencyField",
265
+ time: "fr.DocumentTimeField",
266
+ date: "fr.DocumentDateField",
267
+ number: "fr.DocumentNumberField",
268
+ boolean: "fr.DocumentBooleanField",
269
+ phoneNumber: "fr.DocumentPhoneNumberField",
270
+ selectionMark: "fr.DocumentSelectionMarkField",
271
+ signature: "fr.DocumentSignatureField",
272
+ address: "fr.DocumentAddressField",
273
+ }[kind];
274
+ }
275
+ }
276
+ /**
277
+ * Generate an AnalyzeResult-level interface.
278
+ *
279
+ * @param name - the name of the interface.
280
+ * @param documentInterfaceName - the name of the interface's document type.
281
+ * @param features - the features supported by the model
282
+ */
283
+ function* writeResultInterface(name, documentInterfaceName, features) {
284
+ const hasDocuments = features.some((f) => f === "_documents");
285
+ yield `export interface ${name} extends fr.AnalyzeResultCommon {`;
286
+ yield* indent(flatMap(features.filter((f) => f !== "_documents"), (f) => writeField(defaultResultFields[f])));
287
+ if (hasDocuments) {
288
+ yield* indent(writeField({
289
+ name: "documents",
290
+ type: documentInterfaceName + "[]",
291
+ docContents: "Extracted documents.",
292
+ }));
293
+ }
294
+ yield "}";
295
+ }
296
+ /**
297
+ * A helper function to indent an iterable.
298
+ */
299
+ function* indent(contents, level = 2) {
300
+ const indentationString = " ".repeat(level);
301
+ for (const line of contents) {
302
+ yield indentationString + line;
303
+ }
304
+ }
305
+ /**
306
+ * A `flatMap` helper that works with generic iterables, not only arrays. If the result of `f` is iterable, its elements
307
+ * will be produced instead of itself.
308
+ *
309
+ * @param it - the iterable to map over
310
+ * @param f - the function to apply to each item in `it`
311
+ */
312
+ function* flatMap(it, f) {
313
+ for (const value of it) {
314
+ const result = f(value);
315
+ if (typeof result === "object" && result !== null && Symbol.iterator in result) {
316
+ yield* result;
317
+ }
318
+ else {
319
+ yield result;
320
+ }
321
+ }
322
+ }
323
+ //# sourceMappingURL=writeModelCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeModelCode.js","sourceRoot":"","sources":["../../../src/bin/writeModelCode.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { EOL } from \"node:os\";\nimport type { DocumentTypeDetails, DocumentModelDetails } from \"../index.js\";\nimport type { DocumentFieldSchema } from \"../generated/index.js\";\nimport type { DocumentField } from \"../models/index.js\";\nimport { defaultResultFields, getFeatures } from \"./defaultFields.js\";\nimport type { Field } from \"./utils.js\";\nimport { camelCase, capitalize, uncapitalize } from \"./utils.js\";\n\n// NOTE: currently, this command is set up to generate sample files for the SDK itself. If we want to expose this\n// functionality outside of samples, then we'll need to change the way the headers are generated for external use.\n\n/**\n * The header to append to the top of every file.\n */\nconst sampleHeader = `\n/**\n * @azsdk-util\n * @azsdk-skip-javascript\n */\n`;\n\n/**\n * Generate a header with the model information.\n */\nfunction templateHeader(model: DocumentModelDetails, test: boolean): string {\n return `// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n${!test ? sampleHeader : \"\"}\n// Model: ${model.modelId}\n// Description: ${model.description}\n// API Version: ${model.apiVersion}\n// Created: ${new Date().toDateString()}\n\n`;\n}\n\n/**\n * Generate a TypeScript source file for a given model.\n *\n * @param model - the ModelInfo to generate code for\n * @returns a string of TypeScript source code\n */\nexport async function writeModelCode(model: DocumentModelDetails, test: boolean): Promise<string> {\n let contents = templateHeader(model, test);\n\n if (test) {\n contents += 'import * as fr from \"../../../src\";' + EOL + EOL;\n } else {\n contents += 'import * as fr from \"@azure/ai-form-recognizer\";' + EOL + EOL;\n }\n\n const modelNameSlug = [\n ...model.modelId\n .split(\"-\", 2)\n // for lack of a flatMap\n .reduce((acc, cur) => [...acc, ...cur.split(\".\")], [] as string[]),\n ];\n\n const modelName = camelCase([...modelNameSlug, \"Model\"]);\n const documentTypeName = camelCase([...modelNameSlug, \"Document\"]);\n const resultName = camelCase([...modelNameSlug, \"Result\"]);\n\n const modelFeatures = getFeatures(model);\n\n const hasDocuments = modelFeatures.some((f) => f === \"_documents\");\n\n if (model.description) {\n contents += \"/**\" + EOL;\n contents +=\n model.description\n // Split the comment into lines.\n .split(/\\r?\\n/)\n // Add the asterisk to the beginning of each line to block-align the comment\n .map((l) => \" * \" + l)\n .join(EOL) + EOL;\n contents += \" */\" + EOL;\n }\n\n // Create the exported model object. We rely on a function named `modelInfo` to exist in the module scope, and we will\n // add it later.\n contents += `export const ${modelName} = fr.createModelFromSchema(modelInfo()) as fr.DocumentModel<${resultName}>;${\n EOL + EOL\n }`;\n\n // Write the main Result interface.\n for (const line of writeResultInterface(resultName, documentTypeName, modelFeatures)) {\n contents += line + EOL;\n }\n\n contents += EOL;\n\n // Now add a variant for each document type in the model, if there are any.\n if (hasDocuments) {\n const variants = extractModelVariants(model, modelNameSlug);\n\n const variantNames = Object.keys(variants);\n\n const documentType =\n variantNames.length > 1\n ? // In the case of multiple variants, a union\n variantNames.map((n) => `${EOL} | ${n}`).join(\"\")\n : variantNames.length === 1\n ? // For a single variant, just emit its name.\n ` ${variantNames[0]}`\n : // This should probably be unreachable, since there's no case where\n // `hasDocuments && variantNames.length === 0`, but we'll still emit \"never\" just in case.\n \" never\";\n\n // Finally, add the type alias for the type of a Document\n contents += `export type ${documentTypeName} =${documentType};${EOL + EOL}`;\n\n // Write the root interface for the variant.\n for (const info of Object.values(variants)) {\n for (const line of writeDocTypeInterface(info)) {\n contents += line + EOL;\n }\n\n contents += EOL;\n }\n\n // Write all the fields interfaces that the variant uses\n for (const info of Object.values(variants)) {\n for (const line of writeFieldsInterfaces(info)) {\n contents += line + EOL;\n }\n\n contents += EOL;\n }\n }\n\n // Finally, emit the modelInfo function that provides the raw schema.\n contents += \"/**\" + EOL;\n contents += \" * The raw model schema.\" + EOL;\n contents += \" */\" + EOL;\n contents += \"function modelInfo() {\" + EOL;\n contents +=\n ` return ${JSON.stringify(model, null, 2)\n .split(/\\r?\\n/)\n .join(EOL + \" \")} as const;` + EOL;\n contents += \"}\" + EOL;\n\n return contents;\n}\n\n// Get the doc type variants of a model.\nfunction extractModelVariants(\n model: DocumentModelDetails,\n _rootSlug: string[],\n): Record<string, DocType> {\n const result: ReturnType<typeof extractModelVariants> = {};\n\n for (const [docType, info] of Object.entries(model.docTypes ?? {})) {\n const slug = docType.split(\".\");\n const docTypeName = camelCase(slug);\n result[docTypeName] = {\n ...info,\n name: docTypeName,\n originalDocType: docType,\n slug,\n };\n }\n\n return result;\n}\n\n// Write the interface for a given DocType.\nfunction* writeDocTypeInterface(docType: DocType): Iterable<string> {\n if (docType.description) {\n yield \"/**\";\n yield* docType.description.split(/\\r?\\n/).map((l) => \" * \" + l);\n yield \" */\";\n }\n yield `export interface ${docType.name} {`;\n yield* indent(\n writeField({\n name: \"docType\",\n type: `\"${docType.originalDocType}\"`,\n docContents: `Document type: \"${docType.originalDocType}\".`,\n }),\n );\n\n yield* indent(\n writeField({\n name: \"fields\",\n type: docType.name + \"Fields\",\n docContents: \"Document fields.\",\n }),\n );\n\n yield* indent(\n flatMap(\n [\n {\n name: \"boundingRegions\",\n docContents: \"Bounding regions covering the document.\",\n type: \"fr.BoundingRegion[]\",\n optional: true,\n },\n {\n name: \"spans\",\n docContents:\n \"Locations of the document's elements in the `content` text (reading-order-concatenated content).\",\n type: \"fr.DocumentSpan[]\",\n },\n {\n name: \"confidence\",\n docContents: \"The service's confidence that it has correctly extracted the document.\",\n type: \"number\",\n },\n ],\n writeField,\n ),\n );\n\n yield \"}\";\n}\n\n/**\n * Write a field and its comment to an iterable of strings.\n */\nfunction* writeField(field: Field): Iterable<string> {\n yield \"/**\";\n yield* field.docContents.split(/\\r?\\n/).map((line) => ` * ${line}`);\n yield \" */\";\n\n // If the field name has an illegal character, we need to quote it.\n const needsQuotes = !/^[a-zA-Z_$][a-zA-Z_$0-9]*$/.test(field.name);\n const printedFieldName = needsQuotes ? `\"${field.name}\"` : field.name;\n\n yield `${printedFieldName}${field.optional ? \"?\" : \"\"}: ${field.type};`;\n}\n\n/**\n * Recursively write the fields interfaces for a given document type.\n */\nfunction* writeFieldsInterfaces(docType: DocType): Iterable<string> {\n const name = docType.name + \"Fields\";\n\n yield* writeInterfaceDeclaration(name, docType.description, docType.fieldSchema);\n\n // Recursively visit all child interfaces and write them.\n yield* (function* collectNestedInterfaces(\n fields: Record<string, DocumentFieldSchema>,\n namingContext: string,\n ): Iterable<string> {\n for (const [fieldName, schema] of Object.entries(fields)) {\n if (schema.type === \"array\" && schema.items?.type === \"object\") {\n // Generate element interface and recur if the nested type is an object\n\n const nextNamingContext = namingContext + fieldName + \"Element\";\n\n yield \"\";\n yield \"\";\n yield* writeInterfaceDeclaration(\n nextNamingContext,\n schema.description,\n schema.items?.properties ?? {},\n );\n\n yield* collectNestedInterfaces(schema.items?.properties ?? {}, nextNamingContext);\n } else if (schema.type === \"object\") {\n // Generate named interface and recur\n\n yield \"\";\n yield \"\";\n yield* writeInterfaceDeclaration(\n namingContext + fieldName,\n schema.description,\n schema.properties ?? {},\n );\n\n yield* collectNestedInterfaces(schema.properties ?? {}, namingContext + fieldName);\n }\n }\n })(docType.fieldSchema, docType.name);\n\n /**\n * Write a simple interface declaration.\n *\n * @param interfaceName - the symbolic name of the interface\n * @param description - the interface's documentation string.\n * @param fields - the fields of the interface (a map of names to schemas)\n */\n function* writeInterfaceDeclaration(\n interfaceName: string,\n description: string | undefined,\n fields: Record<string, DocumentFieldSchema>,\n ): Generator<string, void, any> {\n yield \"/**\";\n yield ` * Describes the fields of \\`${interfaceName}\\`.`;\n if (description) {\n yield \" * \";\n yield* description.split(/\\r?\\n/).map((l) => \" * \" + l);\n }\n yield \" */\";\n const prefix = `export interface ${interfaceName} {`;\n const suffix = \"}\";\n\n const fieldEntries = Object.entries(fields);\n\n if (fieldEntries.length === 0) {\n yield prefix + suffix;\n } else {\n yield prefix;\n yield* indent(\n flatMap(\n fieldEntries.map(([fieldName, schema]) => ({\n // Uncapitalize the field name and remove all whitespace\n name: uncapitalize(fieldName).replace(/\\s/g, \"\"),\n type: writeType(schema, fieldName, docType.slug),\n docContents: schema.description ?? `\\`${docType.name}\\` \"${fieldName}\" field`,\n optional: true as const,\n })),\n writeField,\n ),\n );\n yield suffix;\n }\n }\n}\n\n/**\n * Generate a type name for a field schema.\n *\n * @param schema - the schema of the type\n * @param name - the name to append to the field type, if necessary (only applies to objects and arrays)\n * @param slug - the current taxonomic naming context of the field name (used to name object types)\n * @returns a string representing the type name for the field\n */\nfunction writeType(schema: DocumentFieldSchema, name: string, slug: string[]): string {\n const kind = schema.type as DocumentField[\"kind\"];\n\n if (kind === \"array\") {\n return `fr.DocumentArrayField<${writeType(schema.items!, \"Element\", [...slug, name])}>`;\n } else if (kind === \"object\") {\n const propertiesName = slug.map(capitalize).join(\"\") + name;\n return `fr.DocumentObjectField<${propertiesName}>`;\n } else {\n return {\n integer: \"fr.DocumentIntegerField\",\n string: \"fr.DocumentStringField\",\n countryRegion: \"fr.DocumentCountryRegionField\",\n currency: \"fr.DocumentCurrencyField\",\n time: \"fr.DocumentTimeField\",\n date: \"fr.DocumentDateField\",\n number: \"fr.DocumentNumberField\",\n boolean: \"fr.DocumentBooleanField\",\n phoneNumber: \"fr.DocumentPhoneNumberField\",\n selectionMark: \"fr.DocumentSelectionMarkField\",\n signature: \"fr.DocumentSignatureField\",\n address: \"fr.DocumentAddressField\",\n }[kind];\n }\n}\n\n/**\n * Generate an AnalyzeResult-level interface.\n *\n * @param name - the name of the interface.\n * @param documentInterfaceName - the name of the interface's document type.\n * @param features - the features supported by the model\n */\nfunction* writeResultInterface(\n name: string,\n documentInterfaceName: string,\n features: string[],\n): Iterable<string> {\n const hasDocuments = features.some((f) => f === \"_documents\");\n\n yield `export interface ${name} extends fr.AnalyzeResultCommon {`;\n yield* indent(\n flatMap(\n features.filter((f) => f !== \"_documents\"),\n (f) => writeField(defaultResultFields[f]),\n ),\n );\n if (hasDocuments) {\n yield* indent(\n writeField({\n name: \"documents\",\n type: documentInterfaceName + \"[]\",\n docContents: \"Extracted documents.\",\n }),\n );\n }\n yield \"}\";\n}\n\n/**\n * A helper function to indent an iterable.\n */\nfunction* indent(contents: Iterable<string>, level: number = 2): Iterable<string> {\n const indentationString = \" \".repeat(level);\n\n for (const line of contents) {\n yield indentationString + line;\n }\n}\n\n/**\n * A `flatMap` helper that works with generic iterables, not only arrays. If the result of `f` is iterable, its elements\n * will be produced instead of itself.\n *\n * @param it - the iterable to map over\n * @param f - the function to apply to each item in `it`\n */\nfunction* flatMap<T1, T2>(it: Iterable<T1>, f: (v: T1) => T2 | Iterable<T2>): Iterable<T2> {\n for (const value of it) {\n const result = f(value);\n if (typeof result === \"object\" && result !== null && Symbol.iterator in result) {\n yield* result as Iterable<T2>;\n } else {\n yield result as T2;\n }\n }\n}\n\n/**\n * Helper interface for representing a DocType during generation, allowing for renaming and contextual, taxonomic naming.\n */\ninterface DocType extends DocumentTypeDetails {\n originalDocType: string;\n name: string;\n slug: string[];\n}\n"]}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Defines the known cloud audiences for Form Recognizer.
3
+ *
4
+ * To authenticate with Entra Id (using a `TokenCredential`) in a [Sovereign Cloud](https://learn.microsoft.com/entra/identity-platform/authentication-national-cloud)
5
+ * environment, provide the appropriate value below as the `audience` option when creating a
6
+ * `DocumentAnalysisClient` or `DocumentModelAdministrationClient`.
7
+ *
8
+ * The default value is suitable for Form Recognizer resources created in the Azure Public Cloud, so this value
9
+ * is only required to use Form Recognizer in a different cloud environment.
10
+ */
11
+ export declare enum KnownFormRecognizerAudience {
12
+ /** Azure China */
13
+ AzureChina = "https://cognitiveservices.azure.cn",
14
+ /** Azure Government */
15
+ AzureGovernment = "https://cognitiveservices.azure.us",
16
+ /** Azure Public Cloud */
17
+ AzurePublicCloud = "https://cognitiveservices.azure.com"
18
+ }
19
+ /**
20
+ * The default Entra Id permissions scope for Cognitive Services.
21
+ * @internal
22
+ */
23
+ export declare const DEFAULT_COGNITIVE_SCOPE = "https://cognitiveservices.azure.com/.default";
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare const SDK_VERSION = "5.1.0";
28
+ export declare const FORM_RECOGNIZER_API_VERSION = "2023-07-31";
29
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,oBAAY,2BAA2B;IACrC,kBAAkB;IAClB,UAAU,uCAAuC;IACjD,uBAAuB;IACvB,eAAe,uCAAuC;IACtD,yBAAyB;IACzB,gBAAgB,wCAAwC;CACzD;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,iDAA6D,CAAC;AAElG;;GAEG;AACH,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,eAAO,MAAM,2BAA2B,eAAe,CAAC"}
@@ -0,0 +1,32 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * Defines the known cloud audiences for Form Recognizer.
5
+ *
6
+ * To authenticate with Entra Id (using a `TokenCredential`) in a [Sovereign Cloud](https://learn.microsoft.com/entra/identity-platform/authentication-national-cloud)
7
+ * environment, provide the appropriate value below as the `audience` option when creating a
8
+ * `DocumentAnalysisClient` or `DocumentModelAdministrationClient`.
9
+ *
10
+ * The default value is suitable for Form Recognizer resources created in the Azure Public Cloud, so this value
11
+ * is only required to use Form Recognizer in a different cloud environment.
12
+ */
13
+ export var KnownFormRecognizerAudience;
14
+ (function (KnownFormRecognizerAudience) {
15
+ /** Azure China */
16
+ KnownFormRecognizerAudience["AzureChina"] = "https://cognitiveservices.azure.cn";
17
+ /** Azure Government */
18
+ KnownFormRecognizerAudience["AzureGovernment"] = "https://cognitiveservices.azure.us";
19
+ /** Azure Public Cloud */
20
+ KnownFormRecognizerAudience["AzurePublicCloud"] = "https://cognitiveservices.azure.com";
21
+ })(KnownFormRecognizerAudience || (KnownFormRecognizerAudience = {}));
22
+ /**
23
+ * The default Entra Id permissions scope for Cognitive Services.
24
+ * @internal
25
+ */
26
+ export const DEFAULT_COGNITIVE_SCOPE = `${KnownFormRecognizerAudience.AzurePublicCloud}/.default`;
27
+ /**
28
+ * @internal
29
+ */
30
+ export const SDK_VERSION = "5.1.0";
31
+ export const FORM_RECOGNIZER_API_VERSION = "2023-07-31";
32
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;;GASG;AACH,MAAM,CAAN,IAAY,2BAOX;AAPD,WAAY,2BAA2B;IACrC,kBAAkB;IAClB,gFAAiD,CAAA;IACjD,uBAAuB;IACvB,qFAAsD,CAAA;IACtD,yBAAyB;IACzB,uFAAwD,CAAA;AAC1D,CAAC,EAPW,2BAA2B,KAA3B,2BAA2B,QAOtC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,2BAA2B,CAAC,gBAAgB,WAAW,CAAC;AAElG;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AAEnC,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAY,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Defines the known cloud audiences for Form Recognizer.\n *\n * To authenticate with Entra Id (using a `TokenCredential`) in a [Sovereign Cloud](https://learn.microsoft.com/entra/identity-platform/authentication-national-cloud)\n * environment, provide the appropriate value below as the `audience` option when creating a\n * `DocumentAnalysisClient` or `DocumentModelAdministrationClient`.\n *\n * The default value is suitable for Form Recognizer resources created in the Azure Public Cloud, so this value\n * is only required to use Form Recognizer in a different cloud environment.\n */\nexport enum KnownFormRecognizerAudience {\n /** Azure China */\n AzureChina = \"https://cognitiveservices.azure.cn\",\n /** Azure Government */\n AzureGovernment = \"https://cognitiveservices.azure.us\",\n /** Azure Public Cloud */\n AzurePublicCloud = \"https://cognitiveservices.azure.com\",\n}\n\n/**\n * The default Entra Id permissions scope for Cognitive Services.\n * @internal\n */\nexport const DEFAULT_COGNITIVE_SCOPE = `${KnownFormRecognizerAudience.AzurePublicCloud}/.default`;\n\n/**\n * @internal\n */\nexport const SDK_VERSION = \"5.1.0\";\n\nexport const FORM_RECOGNIZER_API_VERSION = \"2023-07-31\";\n"]}