@azure/search-documents 12.3.0-alpha.20260310.2 → 13.0.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 (744) hide show
  1. package/dist/browser/base64.d.ts.map +1 -1
  2. package/dist/browser/base64.js +3 -2
  3. package/dist/browser/base64.js.map +1 -1
  4. package/dist/browser/index.d.ts +9 -7
  5. package/dist/browser/index.d.ts.map +1 -1
  6. package/dist/browser/index.js +3 -4
  7. package/dist/browser/index.js.map +1 -1
  8. package/dist/browser/indexModels.d.ts +13 -112
  9. package/dist/browser/indexModels.d.ts.map +1 -1
  10. package/dist/browser/indexModels.js.map +1 -1
  11. package/dist/browser/knowledgeBaseModels.d.ts +4 -17
  12. package/dist/browser/knowledgeBaseModels.d.ts.map +1 -1
  13. package/dist/browser/knowledgeBaseModels.js.map +1 -1
  14. package/dist/browser/knowledgeBaseRetrieval/api/index.d.ts +2 -1
  15. package/dist/browser/knowledgeBaseRetrieval/api/index.d.ts.map +1 -1
  16. package/dist/browser/knowledgeBaseRetrieval/api/index.js +1 -1
  17. package/dist/browser/knowledgeBaseRetrieval/api/index.js.map +1 -1
  18. package/dist/browser/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.d.ts +3 -1
  19. package/dist/browser/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.d.ts.map +1 -1
  20. package/dist/browser/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.js +3 -3
  21. package/dist/browser/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.js.map +1 -1
  22. package/dist/browser/knowledgeBaseRetrieval/api/operations.d.ts +2 -2
  23. package/dist/browser/knowledgeBaseRetrieval/api/operations.d.ts.map +1 -1
  24. package/dist/browser/knowledgeBaseRetrieval/api/operations.js +9 -8
  25. package/dist/browser/knowledgeBaseRetrieval/api/operations.js.map +1 -1
  26. package/dist/browser/knowledgeBaseRetrieval/api/options.d.ts +2 -2
  27. package/dist/browser/knowledgeBaseRetrieval/api/options.d.ts.map +1 -1
  28. package/dist/browser/knowledgeBaseRetrieval/api/options.js.map +1 -1
  29. package/dist/browser/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.d.ts +2 -2
  30. package/dist/browser/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.d.ts.map +1 -1
  31. package/dist/browser/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.js +4 -4
  32. package/dist/browser/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.js.map +1 -1
  33. package/dist/browser/knowledgeRetrievalClient.d.ts +2 -2
  34. package/dist/browser/knowledgeRetrievalClient.d.ts.map +1 -1
  35. package/dist/browser/knowledgeRetrievalClient.js +4 -4
  36. package/dist/browser/knowledgeRetrievalClient.js.map +1 -1
  37. package/dist/browser/models/azure/search/documents/index.d.ts +2 -1
  38. package/dist/browser/models/azure/search/documents/index.d.ts.map +1 -1
  39. package/dist/browser/models/azure/search/documents/index.js +1 -1
  40. package/dist/browser/models/azure/search/documents/index.js.map +1 -1
  41. package/dist/browser/models/azure/search/documents/indexes/index.d.ts +2 -1
  42. package/dist/browser/models/azure/search/documents/indexes/index.d.ts.map +1 -1
  43. package/dist/browser/models/azure/search/documents/indexes/index.js +1 -1
  44. package/dist/browser/models/azure/search/documents/indexes/index.js.map +1 -1
  45. package/dist/browser/models/azure/search/documents/indexes/models.d.ts +50 -477
  46. package/dist/browser/models/azure/search/documents/indexes/models.d.ts.map +1 -1
  47. package/dist/browser/models/azure/search/documents/indexes/models.js +40 -526
  48. package/dist/browser/models/azure/search/documents/indexes/models.js.map +1 -1
  49. package/dist/browser/models/azure/search/documents/knowledgeBases/index.d.ts +2 -1
  50. package/dist/browser/models/azure/search/documents/knowledgeBases/index.d.ts.map +1 -1
  51. package/dist/browser/models/azure/search/documents/knowledgeBases/index.js +1 -1
  52. package/dist/browser/models/azure/search/documents/knowledgeBases/index.js.map +1 -1
  53. package/dist/browser/models/azure/search/documents/knowledgeBases/models.d.ts +135 -242
  54. package/dist/browser/models/azure/search/documents/knowledgeBases/models.d.ts.map +1 -1
  55. package/dist/browser/models/azure/search/documents/knowledgeBases/models.js +131 -291
  56. package/dist/browser/models/azure/search/documents/knowledgeBases/models.js.map +1 -1
  57. package/dist/browser/models/azure/search/documents/models.d.ts +2 -466
  58. package/dist/browser/models/azure/search/documents/models.d.ts.map +1 -1
  59. package/dist/browser/models/azure/search/documents/models.js +1 -429
  60. package/dist/browser/models/azure/search/documents/models.js.map +1 -1
  61. package/dist/browser/models/index.d.ts +1 -0
  62. package/dist/browser/models/index.d.ts.map +1 -1
  63. package/dist/browser/models/index.js.map +1 -1
  64. package/dist/browser/models/models.d.ts +3 -3
  65. package/dist/browser/models/models.d.ts.map +1 -1
  66. package/dist/browser/models/models.js +3 -3
  67. package/dist/browser/models/models.js.map +1 -1
  68. package/dist/browser/search/api/index.d.ts +2 -1
  69. package/dist/browser/search/api/index.d.ts.map +1 -1
  70. package/dist/browser/search/api/index.js +1 -1
  71. package/dist/browser/search/api/index.js.map +1 -1
  72. package/dist/browser/search/api/operations.d.ts.map +1 -1
  73. package/dist/browser/search/api/operations.js +35 -54
  74. package/dist/browser/search/api/operations.js.map +1 -1
  75. package/dist/browser/search/api/options.d.ts +19 -31
  76. package/dist/browser/search/api/options.d.ts.map +1 -1
  77. package/dist/browser/search/api/options.js.map +1 -1
  78. package/dist/browser/search/api/searchContext.js +1 -1
  79. package/dist/browser/search/api/searchContext.js.map +1 -1
  80. package/dist/browser/searchClient.d.ts +0 -1
  81. package/dist/browser/searchClient.d.ts.map +1 -1
  82. package/dist/browser/searchClient.js +22 -39
  83. package/dist/browser/searchClient.js.map +1 -1
  84. package/dist/browser/searchIndex/api/index.d.ts +4 -3
  85. package/dist/browser/searchIndex/api/index.d.ts.map +1 -1
  86. package/dist/browser/searchIndex/api/index.js +2 -2
  87. package/dist/browser/searchIndex/api/index.js.map +1 -1
  88. package/dist/browser/searchIndex/api/operations.d.ts +2 -6
  89. package/dist/browser/searchIndex/api/operations.d.ts.map +1 -1
  90. package/dist/browser/searchIndex/api/operations.js +186 -96
  91. package/dist/browser/searchIndex/api/operations.js.map +1 -1
  92. package/dist/browser/searchIndex/api/options.d.ts +60 -5
  93. package/dist/browser/searchIndex/api/options.d.ts.map +1 -1
  94. package/dist/browser/searchIndex/api/options.js.map +1 -1
  95. package/dist/browser/searchIndex/api/searchIndexContext.js +1 -1
  96. package/dist/browser/searchIndex/api/searchIndexContext.js.map +1 -1
  97. package/dist/browser/searchIndex/index.d.ts +1 -1
  98. package/dist/browser/searchIndex/index.d.ts.map +1 -1
  99. package/dist/browser/searchIndex/index.js.map +1 -1
  100. package/dist/browser/searchIndex/searchIndexClient.d.ts +2 -4
  101. package/dist/browser/searchIndex/searchIndexClient.d.ts.map +1 -1
  102. package/dist/browser/searchIndex/searchIndexClient.js +1 -5
  103. package/dist/browser/searchIndex/searchIndexClient.js.map +1 -1
  104. package/dist/browser/searchIndexClient.d.ts +2 -7
  105. package/dist/browser/searchIndexClient.d.ts.map +1 -1
  106. package/dist/browser/searchIndexClient.js +2 -9
  107. package/dist/browser/searchIndexClient.js.map +1 -1
  108. package/dist/browser/searchIndexer/api/index.d.ts +4 -3
  109. package/dist/browser/searchIndexer/api/index.d.ts.map +1 -1
  110. package/dist/browser/searchIndexer/api/index.js +2 -2
  111. package/dist/browser/searchIndexer/api/index.js.map +1 -1
  112. package/dist/browser/searchIndexer/api/operations.d.ts +2 -14
  113. package/dist/browser/searchIndexer/api/operations.d.ts.map +1 -1
  114. package/dist/browser/searchIndexer/api/operations.js +112 -150
  115. package/dist/browser/searchIndexer/api/operations.js.map +1 -1
  116. package/dist/browser/searchIndexer/api/options.d.ts +36 -30
  117. package/dist/browser/searchIndexer/api/options.d.ts.map +1 -1
  118. package/dist/browser/searchIndexer/api/options.js.map +1 -1
  119. package/dist/browser/searchIndexer/api/searchIndexerContext.js +1 -1
  120. package/dist/browser/searchIndexer/api/searchIndexerContext.js.map +1 -1
  121. package/dist/browser/searchIndexer/index.d.ts +1 -1
  122. package/dist/browser/searchIndexer/index.d.ts.map +1 -1
  123. package/dist/browser/searchIndexer/index.js.map +1 -1
  124. package/dist/browser/searchIndexer/searchIndexerClient.d.ts +2 -8
  125. package/dist/browser/searchIndexer/searchIndexerClient.d.ts.map +1 -1
  126. package/dist/browser/searchIndexer/searchIndexerClient.js +1 -13
  127. package/dist/browser/searchIndexer/searchIndexerClient.js.map +1 -1
  128. package/dist/browser/searchIndexerClient.d.ts +1 -14
  129. package/dist/browser/searchIndexerClient.d.ts.map +1 -1
  130. package/dist/browser/searchIndexerClient.js +0 -27
  131. package/dist/browser/searchIndexerClient.js.map +1 -1
  132. package/dist/browser/searchIndexingBufferedSender.d.ts.map +1 -1
  133. package/dist/browser/searchIndexingBufferedSender.js +3 -7
  134. package/dist/browser/searchIndexingBufferedSender.js.map +1 -1
  135. package/dist/browser/serviceModels.d.ts +7 -191
  136. package/dist/browser/serviceModels.d.ts.map +1 -1
  137. package/dist/browser/serviceModels.js.map +1 -1
  138. package/dist/browser/serviceUtils.d.ts +3 -5
  139. package/dist/browser/serviceUtils.d.ts.map +1 -1
  140. package/dist/browser/serviceUtils.js +30 -87
  141. package/dist/browser/serviceUtils.js.map +1 -1
  142. package/dist/browser/static-helpers/pagingHelpers.js.map +1 -1
  143. package/dist/browser/{synonymMapHelper.d.ts → synonymMapHelper-browser.d.mts} +3 -3
  144. package/dist/browser/synonymMapHelper-browser.d.mts.map +1 -0
  145. package/dist/browser/{synonymMapHelper.js → synonymMapHelper-browser.mjs} +3 -3
  146. package/dist/browser/synonymMapHelper-browser.mjs.map +1 -0
  147. package/dist/browser/timers-browser.d.mts +8 -0
  148. package/dist/browser/timers-browser.d.mts.map +1 -0
  149. package/dist/browser/timers-browser.mjs +13 -0
  150. package/dist/browser/timers-browser.mjs.map +1 -0
  151. package/dist/browser/tracing.d.ts.map +1 -1
  152. package/dist/browser/walk.js +1 -1
  153. package/dist/browser/walk.js.map +1 -1
  154. package/dist/commonjs/base64.d.ts.map +1 -1
  155. package/dist/commonjs/base64.js +4 -2
  156. package/dist/commonjs/base64.js.map +3 -3
  157. package/dist/commonjs/geographyPoint.js +1 -0
  158. package/dist/commonjs/geographyPoint.js.map +1 -1
  159. package/dist/commonjs/index.d.ts +8 -6
  160. package/dist/commonjs/index.d.ts.map +1 -1
  161. package/dist/commonjs/index.js +1 -29
  162. package/dist/commonjs/index.js.map +3 -3
  163. package/dist/commonjs/indexDocumentsBatch.js +1 -0
  164. package/dist/commonjs/indexDocumentsBatch.js.map +1 -1
  165. package/dist/commonjs/indexModels.d.ts +13 -112
  166. package/dist/commonjs/indexModels.d.ts.map +1 -1
  167. package/dist/commonjs/indexModels.js +1 -0
  168. package/dist/commonjs/indexModels.js.map +2 -2
  169. package/dist/commonjs/knowledgeBaseModels.d.ts +4 -17
  170. package/dist/commonjs/knowledgeBaseModels.d.ts.map +1 -1
  171. package/dist/commonjs/knowledgeBaseModels.js +1 -0
  172. package/dist/commonjs/knowledgeBaseModels.js.map +2 -2
  173. package/dist/commonjs/knowledgeBaseRetrieval/api/index.d.ts +2 -1
  174. package/dist/commonjs/knowledgeBaseRetrieval/api/index.d.ts.map +1 -1
  175. package/dist/commonjs/knowledgeBaseRetrieval/api/index.js +1 -0
  176. package/dist/commonjs/knowledgeBaseRetrieval/api/index.js.map +3 -3
  177. package/dist/commonjs/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.d.ts +3 -1
  178. package/dist/commonjs/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.d.ts.map +1 -1
  179. package/dist/commonjs/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.js +4 -3
  180. package/dist/commonjs/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.js.map +3 -3
  181. package/dist/commonjs/knowledgeBaseRetrieval/api/operations.d.ts +2 -2
  182. package/dist/commonjs/knowledgeBaseRetrieval/api/operations.d.ts.map +1 -1
  183. package/dist/commonjs/knowledgeBaseRetrieval/api/operations.js +9 -7
  184. package/dist/commonjs/knowledgeBaseRetrieval/api/operations.js.map +3 -3
  185. package/dist/commonjs/knowledgeBaseRetrieval/api/options.d.ts +2 -2
  186. package/dist/commonjs/knowledgeBaseRetrieval/api/options.d.ts.map +1 -1
  187. package/dist/commonjs/knowledgeBaseRetrieval/api/options.js +1 -0
  188. package/dist/commonjs/knowledgeBaseRetrieval/api/options.js.map +2 -2
  189. package/dist/commonjs/knowledgeBaseRetrieval/index.js +1 -0
  190. package/dist/commonjs/knowledgeBaseRetrieval/index.js.map +1 -1
  191. package/dist/commonjs/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.d.ts +2 -2
  192. package/dist/commonjs/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.d.ts.map +1 -1
  193. package/dist/commonjs/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.js +5 -4
  194. package/dist/commonjs/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.js.map +3 -3
  195. package/dist/commonjs/knowledgeRetrievalClient.d.ts +2 -2
  196. package/dist/commonjs/knowledgeRetrievalClient.d.ts.map +1 -1
  197. package/dist/commonjs/knowledgeRetrievalClient.js +10 -4
  198. package/dist/commonjs/knowledgeRetrievalClient.js.map +3 -3
  199. package/dist/commonjs/logger.js +1 -0
  200. package/dist/commonjs/logger.js.map +1 -1
  201. package/dist/commonjs/models/azure/search/documents/index.d.ts +2 -1
  202. package/dist/commonjs/models/azure/search/documents/index.d.ts.map +1 -1
  203. package/dist/commonjs/models/azure/search/documents/index.js +3 -16
  204. package/dist/commonjs/models/azure/search/documents/index.js.map +3 -3
  205. package/dist/commonjs/models/azure/search/documents/indexes/index.d.ts +2 -1
  206. package/dist/commonjs/models/azure/search/documents/indexes/index.d.ts.map +1 -1
  207. package/dist/commonjs/models/azure/search/documents/indexes/index.js +1 -18
  208. package/dist/commonjs/models/azure/search/documents/indexes/index.js.map +3 -3
  209. package/dist/commonjs/models/azure/search/documents/indexes/models.d.ts +50 -477
  210. package/dist/commonjs/models/azure/search/documents/indexes/models.d.ts.map +1 -1
  211. package/dist/commonjs/models/azure/search/documents/indexes/models.js +40 -501
  212. package/dist/commonjs/models/azure/search/documents/indexes/models.js.map +4 -4
  213. package/dist/commonjs/models/azure/search/documents/knowledgeBases/index.d.ts +2 -1
  214. package/dist/commonjs/models/azure/search/documents/knowledgeBases/index.d.ts.map +1 -1
  215. package/dist/commonjs/models/azure/search/documents/knowledgeBases/index.js +1 -2
  216. package/dist/commonjs/models/azure/search/documents/knowledgeBases/index.js.map +3 -3
  217. package/dist/commonjs/models/azure/search/documents/knowledgeBases/models.d.ts +135 -242
  218. package/dist/commonjs/models/azure/search/documents/knowledgeBases/models.d.ts.map +1 -1
  219. package/dist/commonjs/models/azure/search/documents/knowledgeBases/models.js +136 -335
  220. package/dist/commonjs/models/azure/search/documents/knowledgeBases/models.js.map +4 -4
  221. package/dist/commonjs/models/azure/search/documents/models.d.ts +2 -466
  222. package/dist/commonjs/models/azure/search/documents/models.d.ts.map +1 -1
  223. package/dist/commonjs/models/azure/search/documents/models.js +8 -354
  224. package/dist/commonjs/models/azure/search/documents/models.js.map +4 -4
  225. package/dist/commonjs/models/index.d.ts +1 -0
  226. package/dist/commonjs/models/index.d.ts.map +1 -1
  227. package/dist/commonjs/models/index.js +1 -0
  228. package/dist/commonjs/models/index.js.map +2 -2
  229. package/dist/commonjs/models/models.d.ts +3 -3
  230. package/dist/commonjs/models/models.d.ts.map +1 -1
  231. package/dist/commonjs/models/models.js +2 -1
  232. package/dist/commonjs/models/models.js.map +3 -3
  233. package/dist/commonjs/odata.js +1 -0
  234. package/dist/commonjs/odata.js.map +1 -1
  235. package/dist/commonjs/odataMetadataPolicy.js +1 -0
  236. package/dist/commonjs/odataMetadataPolicy.js.map +1 -1
  237. package/dist/commonjs/search/api/index.d.ts +2 -1
  238. package/dist/commonjs/search/api/index.d.ts.map +1 -1
  239. package/dist/commonjs/search/api/index.js +1 -0
  240. package/dist/commonjs/search/api/index.js.map +3 -3
  241. package/dist/commonjs/search/api/operations.d.ts.map +1 -1
  242. package/dist/commonjs/search/api/operations.js +22 -42
  243. package/dist/commonjs/search/api/operations.js.map +3 -3
  244. package/dist/commonjs/search/api/options.d.ts +19 -31
  245. package/dist/commonjs/search/api/options.d.ts.map +1 -1
  246. package/dist/commonjs/search/api/options.js +1 -0
  247. package/dist/commonjs/search/api/options.js.map +2 -2
  248. package/dist/commonjs/search/api/searchContext.js +2 -1
  249. package/dist/commonjs/search/api/searchContext.js.map +2 -2
  250. package/dist/commonjs/search/index.js +1 -0
  251. package/dist/commonjs/search/index.js.map +1 -1
  252. package/dist/commonjs/search/searchClient.js +1 -0
  253. package/dist/commonjs/search/searchClient.js.map +1 -1
  254. package/dist/commonjs/searchApiKeyCredentialPolicy.js +1 -0
  255. package/dist/commonjs/searchApiKeyCredentialPolicy.js.map +1 -1
  256. package/dist/commonjs/searchAudience.js +1 -0
  257. package/dist/commonjs/searchAudience.js.map +1 -1
  258. package/dist/commonjs/searchClient.d.ts +0 -1
  259. package/dist/commonjs/searchClient.d.ts.map +1 -1
  260. package/dist/commonjs/searchClient.js +24 -43
  261. package/dist/commonjs/searchClient.js.map +3 -3
  262. package/dist/commonjs/searchIndex/api/index.d.ts +4 -3
  263. package/dist/commonjs/searchIndex/api/index.d.ts.map +1 -1
  264. package/dist/commonjs/searchIndex/api/index.js +1 -2
  265. package/dist/commonjs/searchIndex/api/index.js.map +3 -3
  266. package/dist/commonjs/searchIndex/api/operations.d.ts +2 -6
  267. package/dist/commonjs/searchIndex/api/operations.d.ts.map +1 -1
  268. package/dist/commonjs/searchIndex/api/operations.js +126 -108
  269. package/dist/commonjs/searchIndex/api/operations.js.map +3 -3
  270. package/dist/commonjs/searchIndex/api/options.d.ts +60 -5
  271. package/dist/commonjs/searchIndex/api/options.d.ts.map +1 -1
  272. package/dist/commonjs/searchIndex/api/options.js +1 -0
  273. package/dist/commonjs/searchIndex/api/options.js.map +2 -2
  274. package/dist/commonjs/searchIndex/api/searchIndexContext.js +2 -1
  275. package/dist/commonjs/searchIndex/api/searchIndexContext.js.map +2 -2
  276. package/dist/commonjs/searchIndex/index.d.ts +1 -1
  277. package/dist/commonjs/searchIndex/index.d.ts.map +1 -1
  278. package/dist/commonjs/searchIndex/index.js +1 -0
  279. package/dist/commonjs/searchIndex/index.js.map +2 -2
  280. package/dist/commonjs/searchIndex/searchIndexClient.d.ts +2 -4
  281. package/dist/commonjs/searchIndex/searchIndexClient.d.ts.map +1 -1
  282. package/dist/commonjs/searchIndex/searchIndexClient.js +1 -4
  283. package/dist/commonjs/searchIndex/searchIndexClient.js.map +3 -3
  284. package/dist/commonjs/searchIndexClient.d.ts +2 -7
  285. package/dist/commonjs/searchIndexClient.d.ts.map +1 -1
  286. package/dist/commonjs/searchIndexClient.js +3 -9
  287. package/dist/commonjs/searchIndexClient.js.map +3 -3
  288. package/dist/commonjs/searchIndexer/api/index.d.ts +4 -3
  289. package/dist/commonjs/searchIndexer/api/index.d.ts.map +1 -1
  290. package/dist/commonjs/searchIndexer/api/index.js +1 -6
  291. package/dist/commonjs/searchIndexer/api/index.js.map +3 -3
  292. package/dist/commonjs/searchIndexer/api/operations.d.ts +2 -14
  293. package/dist/commonjs/searchIndexer/api/operations.d.ts.map +1 -1
  294. package/dist/commonjs/searchIndexer/api/operations.js +76 -168
  295. package/dist/commonjs/searchIndexer/api/operations.js.map +3 -3
  296. package/dist/commonjs/searchIndexer/api/options.d.ts +36 -30
  297. package/dist/commonjs/searchIndexer/api/options.d.ts.map +1 -1
  298. package/dist/commonjs/searchIndexer/api/options.js +1 -0
  299. package/dist/commonjs/searchIndexer/api/options.js.map +2 -2
  300. package/dist/commonjs/searchIndexer/api/searchIndexerContext.js +2 -1
  301. package/dist/commonjs/searchIndexer/api/searchIndexerContext.js.map +2 -2
  302. package/dist/commonjs/searchIndexer/index.d.ts +1 -1
  303. package/dist/commonjs/searchIndexer/index.d.ts.map +1 -1
  304. package/dist/commonjs/searchIndexer/index.js +1 -0
  305. package/dist/commonjs/searchIndexer/index.js.map +2 -2
  306. package/dist/commonjs/searchIndexer/searchIndexerClient.d.ts +2 -8
  307. package/dist/commonjs/searchIndexer/searchIndexerClient.d.ts.map +1 -1
  308. package/dist/commonjs/searchIndexer/searchIndexerClient.js +1 -12
  309. package/dist/commonjs/searchIndexer/searchIndexerClient.js.map +3 -3
  310. package/dist/commonjs/searchIndexerClient.d.ts +1 -14
  311. package/dist/commonjs/searchIndexerClient.d.ts.map +1 -1
  312. package/dist/commonjs/searchIndexerClient.js +1 -39
  313. package/dist/commonjs/searchIndexerClient.js.map +3 -3
  314. package/dist/commonjs/searchIndexingBufferedSender.d.ts.map +1 -1
  315. package/dist/commonjs/searchIndexingBufferedSender.js +4 -7
  316. package/dist/commonjs/searchIndexingBufferedSender.js.map +3 -3
  317. package/dist/commonjs/serialization.js +1 -0
  318. package/dist/commonjs/serialization.js.map +1 -1
  319. package/dist/commonjs/serviceModels.d.ts +7 -191
  320. package/dist/commonjs/serviceModels.d.ts.map +1 -1
  321. package/dist/commonjs/serviceModels.js +1 -0
  322. package/dist/commonjs/serviceModels.js.map +3 -3
  323. package/dist/commonjs/serviceUtils.d.ts +3 -5
  324. package/dist/commonjs/serviceUtils.d.ts.map +1 -1
  325. package/dist/commonjs/serviceUtils.js +31 -89
  326. package/dist/commonjs/serviceUtils.js.map +3 -3
  327. package/dist/commonjs/static-helpers/pagingHelpers.js +1 -0
  328. package/dist/commonjs/static-helpers/pagingHelpers.js.map +2 -2
  329. package/dist/commonjs/static-helpers/serialization/build-csv-collection.js +1 -0
  330. package/dist/commonjs/static-helpers/serialization/build-csv-collection.js.map +1 -1
  331. package/dist/commonjs/static-helpers/serialization/build-newline-collection.js +1 -0
  332. package/dist/commonjs/static-helpers/serialization/build-newline-collection.js.map +1 -1
  333. package/dist/commonjs/static-helpers/serialization/build-pipe-collection.js +1 -0
  334. package/dist/commonjs/static-helpers/serialization/build-pipe-collection.js.map +1 -1
  335. package/dist/commonjs/static-helpers/serialization/check-prop-undefined.js +1 -0
  336. package/dist/commonjs/static-helpers/serialization/check-prop-undefined.js.map +1 -1
  337. package/dist/commonjs/static-helpers/serialization/parse-csv-collection.js +1 -0
  338. package/dist/commonjs/static-helpers/serialization/parse-csv-collection.js.map +1 -1
  339. package/dist/commonjs/static-helpers/serialization/parse-newline-collection.js +1 -0
  340. package/dist/commonjs/static-helpers/serialization/parse-newline-collection.js.map +1 -1
  341. package/dist/commonjs/static-helpers/serialization/parse-pipe-collection.js +1 -0
  342. package/dist/commonjs/static-helpers/serialization/parse-pipe-collection.js.map +1 -1
  343. package/dist/commonjs/static-helpers/serialization/serialize-record.js +1 -0
  344. package/dist/commonjs/static-helpers/serialization/serialize-record.js.map +1 -1
  345. package/dist/commonjs/static-helpers/urlTemplate.js +1 -0
  346. package/dist/commonjs/static-helpers/urlTemplate.js.map +1 -1
  347. package/dist/commonjs/synonymMapHelper.js +1 -0
  348. package/dist/commonjs/synonymMapHelper.js.map +1 -1
  349. package/dist/commonjs/timers.d.ts +9 -0
  350. package/dist/commonjs/timers.d.ts.map +1 -0
  351. package/dist/commonjs/{errorModels.js → timers.js} +19 -2
  352. package/dist/commonjs/timers.js.map +7 -0
  353. package/dist/commonjs/tracing.d.ts.map +1 -1
  354. package/dist/commonjs/tracing.js +1 -0
  355. package/dist/commonjs/tracing.js.map +1 -1
  356. package/dist/commonjs/tsdoc-metadata.json +1 -1
  357. package/dist/commonjs/walk.js +2 -1
  358. package/dist/commonjs/walk.js.map +3 -3
  359. package/dist/esm/base64.d.ts.map +1 -1
  360. package/dist/esm/base64.js +16 -8
  361. package/dist/esm/base64.js.map +1 -7
  362. package/dist/esm/geographyPoint.js +35 -32
  363. package/dist/esm/geographyPoint.js.map +1 -7
  364. package/dist/esm/index.d.ts +8 -6
  365. package/dist/esm/index.d.ts.map +1 -1
  366. package/dist/esm/index.js +17 -190
  367. package/dist/esm/index.js.map +1 -7
  368. package/dist/esm/indexDocumentsBatch.js +78 -73
  369. package/dist/esm/indexDocumentsBatch.js.map +1 -7
  370. package/dist/esm/indexModels.d.ts +13 -112
  371. package/dist/esm/indexModels.d.ts.map +1 -1
  372. package/dist/esm/indexModels.js +4 -0
  373. package/dist/esm/indexModels.js.map +1 -7
  374. package/dist/esm/knowledgeBaseModels.d.ts +4 -17
  375. package/dist/esm/knowledgeBaseModels.d.ts.map +1 -1
  376. package/dist/esm/knowledgeBaseModels.js +4 -0
  377. package/dist/esm/knowledgeBaseModels.js.map +1 -7
  378. package/dist/esm/knowledgeBaseRetrieval/api/index.d.ts +2 -1
  379. package/dist/esm/knowledgeBaseRetrieval/api/index.d.ts.map +1 -1
  380. package/dist/esm/knowledgeBaseRetrieval/api/index.js +5 -8
  381. package/dist/esm/knowledgeBaseRetrieval/api/index.js.map +1 -7
  382. package/dist/esm/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.d.ts +3 -1
  383. package/dist/esm/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.d.ts.map +1 -1
  384. package/dist/esm/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.js +22 -20
  385. package/dist/esm/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.js.map +1 -7
  386. package/dist/esm/knowledgeBaseRetrieval/api/operations.d.ts +2 -2
  387. package/dist/esm/knowledgeBaseRetrieval/api/operations.d.ts.map +1 -1
  388. package/dist/esm/knowledgeBaseRetrieval/api/operations.js +39 -42
  389. package/dist/esm/knowledgeBaseRetrieval/api/operations.js.map +1 -7
  390. package/dist/esm/knowledgeBaseRetrieval/api/options.d.ts +2 -2
  391. package/dist/esm/knowledgeBaseRetrieval/api/options.d.ts.map +1 -1
  392. package/dist/esm/knowledgeBaseRetrieval/api/options.js +4 -0
  393. package/dist/esm/knowledgeBaseRetrieval/api/options.js.map +1 -7
  394. package/dist/esm/knowledgeBaseRetrieval/index.js +4 -4
  395. package/dist/esm/knowledgeBaseRetrieval/index.js.map +1 -7
  396. package/dist/esm/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.d.ts +2 -2
  397. package/dist/esm/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.d.ts.map +1 -1
  398. package/dist/esm/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.js +22 -20
  399. package/dist/esm/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.js.map +1 -7
  400. package/dist/esm/knowledgeRetrievalClient.d.ts +2 -2
  401. package/dist/esm/knowledgeRetrievalClient.d.ts.map +1 -1
  402. package/dist/esm/knowledgeRetrievalClient.js +89 -91
  403. package/dist/esm/knowledgeRetrievalClient.js.map +1 -7
  404. package/dist/esm/logger.js +7 -4
  405. package/dist/esm/logger.js.map +1 -7
  406. package/dist/esm/models/azure/search/documents/index.d.ts +2 -1
  407. package/dist/esm/models/azure/search/documents/index.d.ts.map +1 -1
  408. package/dist/esm/models/azure/search/documents/index.js +4 -36
  409. package/dist/esm/models/azure/search/documents/index.js.map +1 -7
  410. package/dist/esm/models/azure/search/documents/indexes/index.d.ts +2 -1
  411. package/dist/esm/models/azure/search/documents/indexes/index.d.ts.map +1 -1
  412. package/dist/esm/models/azure/search/documents/indexes/index.js +4 -130
  413. package/dist/esm/models/azure/search/documents/indexes/index.js.map +1 -7
  414. package/dist/esm/models/azure/search/documents/indexes/models.d.ts +50 -477
  415. package/dist/esm/models/azure/search/documents/indexes/models.d.ts.map +1 -1
  416. package/dist/esm/models/azure/search/documents/indexes/models.js +6374 -6188
  417. package/dist/esm/models/azure/search/documents/indexes/models.js.map +1 -7
  418. package/dist/esm/models/azure/search/documents/knowledgeBases/index.d.ts +2 -1
  419. package/dist/esm/models/azure/search/documents/knowledgeBases/index.d.ts.map +1 -1
  420. package/dist/esm/models/azure/search/documents/knowledgeBases/index.js +4 -16
  421. package/dist/esm/models/azure/search/documents/knowledgeBases/index.js.map +1 -7
  422. package/dist/esm/models/azure/search/documents/knowledgeBases/models.d.ts +135 -242
  423. package/dist/esm/models/azure/search/documents/knowledgeBases/models.d.ts.map +1 -1
  424. package/dist/esm/models/azure/search/documents/knowledgeBases/models.js +592 -790
  425. package/dist/esm/models/azure/search/documents/knowledgeBases/models.js.map +1 -7
  426. package/dist/esm/models/azure/search/documents/models.d.ts +2 -466
  427. package/dist/esm/models/azure/search/documents/models.d.ts.map +1 -1
  428. package/dist/esm/models/azure/search/documents/models.js +591 -919
  429. package/dist/esm/models/azure/search/documents/models.js.map +1 -7
  430. package/dist/esm/models/index.d.ts +1 -0
  431. package/dist/esm/models/index.d.ts.map +1 -1
  432. package/dist/esm/models/index.js +4 -4
  433. package/dist/esm/models/index.js.map +1 -7
  434. package/dist/esm/models/models.d.ts +3 -3
  435. package/dist/esm/models/models.d.ts.map +1 -1
  436. package/dist/esm/models/models.js +14 -13
  437. package/dist/esm/models/models.js.map +1 -7
  438. package/dist/esm/odata.js +43 -26
  439. package/dist/esm/odata.js.map +1 -7
  440. package/dist/esm/odataMetadataPolicy.js +15 -11
  441. package/dist/esm/odataMetadataPolicy.js.map +1 -7
  442. package/dist/esm/search/api/index.d.ts +2 -1
  443. package/dist/esm/search/api/index.d.ts.map +1 -1
  444. package/dist/esm/search/api/index.js +5 -26
  445. package/dist/esm/search/api/index.js.map +1 -7
  446. package/dist/esm/search/api/operations.d.ts.map +1 -1
  447. package/dist/esm/search/api/operations.js +418 -452
  448. package/dist/esm/search/api/operations.js.map +1 -7
  449. package/dist/esm/search/api/options.d.ts +19 -31
  450. package/dist/esm/search/api/options.d.ts.map +1 -1
  451. package/dist/esm/search/api/options.js +4 -0
  452. package/dist/esm/search/api/options.js.map +1 -7
  453. package/dist/esm/search/api/searchContext.js +22 -20
  454. package/dist/esm/search/api/searchContext.js.map +1 -7
  455. package/dist/esm/search/index.js +4 -4
  456. package/dist/esm/search/index.js.map +1 -7
  457. package/dist/esm/search/searchClient.js +55 -63
  458. package/dist/esm/search/searchClient.js.map +1 -7
  459. package/dist/esm/searchApiKeyCredentialPolicy.js +17 -13
  460. package/dist/esm/searchApiKeyCredentialPolicy.js.map +1 -7
  461. package/dist/esm/searchAudience.js +21 -9
  462. package/dist/esm/searchAudience.js.map +1 -7
  463. package/dist/esm/searchClient.d.ts +0 -1
  464. package/dist/esm/searchClient.d.ts.map +1 -1
  465. package/dist/esm/searchClient.js +539 -624
  466. package/dist/esm/searchClient.js.map +1 -7
  467. package/dist/esm/searchIndex/api/index.d.ts +4 -3
  468. package/dist/esm/searchIndex/api/index.d.ts.map +1 -1
  469. package/dist/esm/searchIndex/api/index.js +5 -70
  470. package/dist/esm/searchIndex/api/index.js.map +1 -7
  471. package/dist/esm/searchIndex/api/operations.d.ts +2 -6
  472. package/dist/esm/searchIndex/api/operations.d.ts.map +1 -1
  473. package/dist/esm/searchIndex/api/operations.js +1087 -1177
  474. package/dist/esm/searchIndex/api/operations.js.map +1 -7
  475. package/dist/esm/searchIndex/api/options.d.ts +60 -5
  476. package/dist/esm/searchIndex/api/options.d.ts.map +1 -1
  477. package/dist/esm/searchIndex/api/options.js +4 -0
  478. package/dist/esm/searchIndex/api/options.js.map +1 -7
  479. package/dist/esm/searchIndex/api/searchIndexContext.js +22 -20
  480. package/dist/esm/searchIndex/api/searchIndexContext.js.map +1 -7
  481. package/dist/esm/searchIndex/index.d.ts +1 -1
  482. package/dist/esm/searchIndex/index.d.ts.map +1 -1
  483. package/dist/esm/searchIndex/index.js +4 -4
  484. package/dist/esm/searchIndex/index.js.map +1 -7
  485. package/dist/esm/searchIndex/searchIndexClient.d.ts +2 -4
  486. package/dist/esm/searchIndex/searchIndexClient.d.ts.map +1 -1
  487. package/dist/esm/searchIndex/searchIndexClient.js +139 -173
  488. package/dist/esm/searchIndex/searchIndexClient.js.map +1 -7
  489. package/dist/esm/searchIndexClient.d.ts +2 -7
  490. package/dist/esm/searchIndexClient.d.ts.map +1 -1
  491. package/dist/esm/searchIndexClient.js +448 -588
  492. package/dist/esm/searchIndexClient.js.map +1 -7
  493. package/dist/esm/searchIndexer/api/index.d.ts +4 -3
  494. package/dist/esm/searchIndexer/api/index.d.ts.map +1 -1
  495. package/dist/esm/searchIndexer/api/index.js +5 -50
  496. package/dist/esm/searchIndexer/api/index.js.map +1 -7
  497. package/dist/esm/searchIndexer/api/operations.d.ts +2 -14
  498. package/dist/esm/searchIndexer/api/operations.d.ts.map +1 -1
  499. package/dist/esm/searchIndexer/api/operations.js +676 -809
  500. package/dist/esm/searchIndexer/api/operations.js.map +1 -7
  501. package/dist/esm/searchIndexer/api/options.d.ts +36 -30
  502. package/dist/esm/searchIndexer/api/options.d.ts.map +1 -1
  503. package/dist/esm/searchIndexer/api/options.js +4 -0
  504. package/dist/esm/searchIndexer/api/options.js.map +1 -7
  505. package/dist/esm/searchIndexer/api/searchIndexerContext.js +22 -20
  506. package/dist/esm/searchIndexer/api/searchIndexerContext.js.map +1 -7
  507. package/dist/esm/searchIndexer/index.d.ts +1 -1
  508. package/dist/esm/searchIndexer/index.d.ts.map +1 -1
  509. package/dist/esm/searchIndexer/index.js +4 -4
  510. package/dist/esm/searchIndexer/index.js.map +1 -7
  511. package/dist/esm/searchIndexer/searchIndexerClient.d.ts +2 -8
  512. package/dist/esm/searchIndexer/searchIndexerClient.d.ts.map +1 -1
  513. package/dist/esm/searchIndexer/searchIndexerClient.js +91 -123
  514. package/dist/esm/searchIndexer/searchIndexerClient.js.map +1 -7
  515. package/dist/esm/searchIndexerClient.d.ts +1 -14
  516. package/dist/esm/searchIndexerClient.d.ts.map +1 -1
  517. package/dist/esm/searchIndexerClient.js +347 -473
  518. package/dist/esm/searchIndexerClient.js.map +1 -7
  519. package/dist/esm/searchIndexingBufferedSender.d.ts.map +1 -1
  520. package/dist/esm/searchIndexingBufferedSender.js +302 -285
  521. package/dist/esm/searchIndexingBufferedSender.js.map +1 -7
  522. package/dist/esm/serialization.js +112 -111
  523. package/dist/esm/serialization.js.map +1 -7
  524. package/dist/esm/serviceModels.d.ts +7 -191
  525. package/dist/esm/serviceModels.d.ts.map +1 -1
  526. package/dist/esm/serviceModels.js +654 -162
  527. package/dist/esm/serviceModels.js.map +1 -7
  528. package/dist/esm/serviceUtils.d.ts +3 -5
  529. package/dist/esm/serviceUtils.d.ts.map +1 -1
  530. package/dist/esm/serviceUtils.js +776 -865
  531. package/dist/esm/serviceUtils.js.map +1 -7
  532. package/dist/esm/static-helpers/pagingHelpers.js +122 -98
  533. package/dist/esm/static-helpers/pagingHelpers.js.map +1 -7
  534. package/dist/esm/static-helpers/serialization/build-csv-collection.js +5 -5
  535. package/dist/esm/static-helpers/serialization/build-csv-collection.js.map +1 -7
  536. package/dist/esm/static-helpers/serialization/build-newline-collection.js +5 -5
  537. package/dist/esm/static-helpers/serialization/build-newline-collection.js.map +1 -7
  538. package/dist/esm/static-helpers/serialization/build-pipe-collection.js +5 -5
  539. package/dist/esm/static-helpers/serialization/build-pipe-collection.js.map +1 -7
  540. package/dist/esm/static-helpers/serialization/check-prop-undefined.js +15 -9
  541. package/dist/esm/static-helpers/serialization/check-prop-undefined.js.map +1 -7
  542. package/dist/esm/static-helpers/serialization/parse-csv-collection.js +5 -5
  543. package/dist/esm/static-helpers/serialization/parse-csv-collection.js.map +1 -7
  544. package/dist/esm/static-helpers/serialization/parse-newline-collection.js +5 -5
  545. package/dist/esm/static-helpers/serialization/parse-newline-collection.js.map +1 -7
  546. package/dist/esm/static-helpers/serialization/parse-pipe-collection.js +5 -5
  547. package/dist/esm/static-helpers/serialization/parse-pipe-collection.js.map +1 -7
  548. package/dist/esm/static-helpers/serialization/serialize-record.js +17 -16
  549. package/dist/esm/static-helpers/serialization/serialize-record.js.map +1 -7
  550. package/dist/esm/static-helpers/urlTemplate.js +169 -142
  551. package/dist/esm/static-helpers/urlTemplate.js.map +1 -7
  552. package/dist/esm/synonymMapHelper.js +20 -9
  553. package/dist/esm/synonymMapHelper.js.map +1 -7
  554. package/dist/esm/timers.d.ts +9 -0
  555. package/dist/esm/timers.d.ts.map +1 -0
  556. package/dist/esm/timers.js +15 -0
  557. package/dist/esm/timers.js.map +1 -0
  558. package/dist/esm/tracing.d.ts.map +1 -1
  559. package/dist/esm/tracing.js +11 -8
  560. package/dist/esm/tracing.js.map +1 -7
  561. package/dist/esm/walk.js +64 -52
  562. package/dist/esm/walk.js.map +1 -7
  563. package/dist/react-native/base64.d.ts.map +1 -1
  564. package/dist/react-native/base64.js +3 -2
  565. package/dist/react-native/base64.js.map +1 -1
  566. package/dist/react-native/index.d.ts +9 -7
  567. package/dist/react-native/index.d.ts.map +1 -1
  568. package/dist/react-native/index.js +3 -4
  569. package/dist/react-native/index.js.map +1 -1
  570. package/dist/react-native/indexModels.d.ts +13 -112
  571. package/dist/react-native/indexModels.d.ts.map +1 -1
  572. package/dist/react-native/indexModels.js.map +1 -1
  573. package/dist/react-native/knowledgeBaseModels.d.ts +4 -17
  574. package/dist/react-native/knowledgeBaseModels.d.ts.map +1 -1
  575. package/dist/react-native/knowledgeBaseModels.js.map +1 -1
  576. package/dist/react-native/knowledgeBaseRetrieval/api/index.d.ts +2 -1
  577. package/dist/react-native/knowledgeBaseRetrieval/api/index.d.ts.map +1 -1
  578. package/dist/react-native/knowledgeBaseRetrieval/api/index.js +1 -1
  579. package/dist/react-native/knowledgeBaseRetrieval/api/index.js.map +1 -1
  580. package/dist/react-native/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.d.ts +3 -1
  581. package/dist/react-native/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.d.ts.map +1 -1
  582. package/dist/react-native/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.js +3 -3
  583. package/dist/react-native/knowledgeBaseRetrieval/api/knowledgeBaseRetrievalContext.js.map +1 -1
  584. package/dist/react-native/knowledgeBaseRetrieval/api/operations.d.ts +2 -2
  585. package/dist/react-native/knowledgeBaseRetrieval/api/operations.d.ts.map +1 -1
  586. package/dist/react-native/knowledgeBaseRetrieval/api/operations.js +9 -8
  587. package/dist/react-native/knowledgeBaseRetrieval/api/operations.js.map +1 -1
  588. package/dist/react-native/knowledgeBaseRetrieval/api/options.d.ts +2 -2
  589. package/dist/react-native/knowledgeBaseRetrieval/api/options.d.ts.map +1 -1
  590. package/dist/react-native/knowledgeBaseRetrieval/api/options.js.map +1 -1
  591. package/dist/react-native/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.d.ts +2 -2
  592. package/dist/react-native/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.d.ts.map +1 -1
  593. package/dist/react-native/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.js +4 -4
  594. package/dist/react-native/knowledgeBaseRetrieval/knowledgeBaseRetrievalClient.js.map +1 -1
  595. package/dist/react-native/knowledgeRetrievalClient.d.ts +2 -2
  596. package/dist/react-native/knowledgeRetrievalClient.d.ts.map +1 -1
  597. package/dist/react-native/knowledgeRetrievalClient.js +4 -4
  598. package/dist/react-native/knowledgeRetrievalClient.js.map +1 -1
  599. package/dist/react-native/models/azure/search/documents/index.d.ts +2 -1
  600. package/dist/react-native/models/azure/search/documents/index.d.ts.map +1 -1
  601. package/dist/react-native/models/azure/search/documents/index.js +1 -1
  602. package/dist/react-native/models/azure/search/documents/index.js.map +1 -1
  603. package/dist/react-native/models/azure/search/documents/indexes/index.d.ts +2 -1
  604. package/dist/react-native/models/azure/search/documents/indexes/index.d.ts.map +1 -1
  605. package/dist/react-native/models/azure/search/documents/indexes/index.js +1 -1
  606. package/dist/react-native/models/azure/search/documents/indexes/index.js.map +1 -1
  607. package/dist/react-native/models/azure/search/documents/indexes/models.d.ts +50 -477
  608. package/dist/react-native/models/azure/search/documents/indexes/models.d.ts.map +1 -1
  609. package/dist/react-native/models/azure/search/documents/indexes/models.js +40 -526
  610. package/dist/react-native/models/azure/search/documents/indexes/models.js.map +1 -1
  611. package/dist/react-native/models/azure/search/documents/knowledgeBases/index.d.ts +2 -1
  612. package/dist/react-native/models/azure/search/documents/knowledgeBases/index.d.ts.map +1 -1
  613. package/dist/react-native/models/azure/search/documents/knowledgeBases/index.js +1 -1
  614. package/dist/react-native/models/azure/search/documents/knowledgeBases/index.js.map +1 -1
  615. package/dist/react-native/models/azure/search/documents/knowledgeBases/models.d.ts +135 -242
  616. package/dist/react-native/models/azure/search/documents/knowledgeBases/models.d.ts.map +1 -1
  617. package/dist/react-native/models/azure/search/documents/knowledgeBases/models.js +131 -291
  618. package/dist/react-native/models/azure/search/documents/knowledgeBases/models.js.map +1 -1
  619. package/dist/react-native/models/azure/search/documents/models.d.ts +2 -466
  620. package/dist/react-native/models/azure/search/documents/models.d.ts.map +1 -1
  621. package/dist/react-native/models/azure/search/documents/models.js +1 -429
  622. package/dist/react-native/models/azure/search/documents/models.js.map +1 -1
  623. package/dist/react-native/models/index.d.ts +1 -0
  624. package/dist/react-native/models/index.d.ts.map +1 -1
  625. package/dist/react-native/models/index.js.map +1 -1
  626. package/dist/react-native/models/models.d.ts +3 -3
  627. package/dist/react-native/models/models.d.ts.map +1 -1
  628. package/dist/react-native/models/models.js +3 -3
  629. package/dist/react-native/models/models.js.map +1 -1
  630. package/dist/react-native/search/api/index.d.ts +2 -1
  631. package/dist/react-native/search/api/index.d.ts.map +1 -1
  632. package/dist/react-native/search/api/index.js +1 -1
  633. package/dist/react-native/search/api/index.js.map +1 -1
  634. package/dist/react-native/search/api/operations.d.ts.map +1 -1
  635. package/dist/react-native/search/api/operations.js +35 -54
  636. package/dist/react-native/search/api/operations.js.map +1 -1
  637. package/dist/react-native/search/api/options.d.ts +19 -31
  638. package/dist/react-native/search/api/options.d.ts.map +1 -1
  639. package/dist/react-native/search/api/options.js.map +1 -1
  640. package/dist/react-native/search/api/searchContext.js +1 -1
  641. package/dist/react-native/search/api/searchContext.js.map +1 -1
  642. package/dist/react-native/searchClient.d.ts +0 -1
  643. package/dist/react-native/searchClient.d.ts.map +1 -1
  644. package/dist/react-native/searchClient.js +22 -39
  645. package/dist/react-native/searchClient.js.map +1 -1
  646. package/dist/react-native/searchIndex/api/index.d.ts +4 -3
  647. package/dist/react-native/searchIndex/api/index.d.ts.map +1 -1
  648. package/dist/react-native/searchIndex/api/index.js +2 -2
  649. package/dist/react-native/searchIndex/api/index.js.map +1 -1
  650. package/dist/react-native/searchIndex/api/operations.d.ts +2 -6
  651. package/dist/react-native/searchIndex/api/operations.d.ts.map +1 -1
  652. package/dist/react-native/searchIndex/api/operations.js +186 -96
  653. package/dist/react-native/searchIndex/api/operations.js.map +1 -1
  654. package/dist/react-native/searchIndex/api/options.d.ts +60 -5
  655. package/dist/react-native/searchIndex/api/options.d.ts.map +1 -1
  656. package/dist/react-native/searchIndex/api/options.js.map +1 -1
  657. package/dist/react-native/searchIndex/api/searchIndexContext.js +1 -1
  658. package/dist/react-native/searchIndex/api/searchIndexContext.js.map +1 -1
  659. package/dist/react-native/searchIndex/index.d.ts +1 -1
  660. package/dist/react-native/searchIndex/index.d.ts.map +1 -1
  661. package/dist/react-native/searchIndex/index.js.map +1 -1
  662. package/dist/react-native/searchIndex/searchIndexClient.d.ts +2 -4
  663. package/dist/react-native/searchIndex/searchIndexClient.d.ts.map +1 -1
  664. package/dist/react-native/searchIndex/searchIndexClient.js +1 -5
  665. package/dist/react-native/searchIndex/searchIndexClient.js.map +1 -1
  666. package/dist/react-native/searchIndexClient.d.ts +2 -7
  667. package/dist/react-native/searchIndexClient.d.ts.map +1 -1
  668. package/dist/react-native/searchIndexClient.js +2 -9
  669. package/dist/react-native/searchIndexClient.js.map +1 -1
  670. package/dist/react-native/searchIndexer/api/index.d.ts +4 -3
  671. package/dist/react-native/searchIndexer/api/index.d.ts.map +1 -1
  672. package/dist/react-native/searchIndexer/api/index.js +2 -2
  673. package/dist/react-native/searchIndexer/api/index.js.map +1 -1
  674. package/dist/react-native/searchIndexer/api/operations.d.ts +2 -14
  675. package/dist/react-native/searchIndexer/api/operations.d.ts.map +1 -1
  676. package/dist/react-native/searchIndexer/api/operations.js +112 -150
  677. package/dist/react-native/searchIndexer/api/operations.js.map +1 -1
  678. package/dist/react-native/searchIndexer/api/options.d.ts +36 -30
  679. package/dist/react-native/searchIndexer/api/options.d.ts.map +1 -1
  680. package/dist/react-native/searchIndexer/api/options.js.map +1 -1
  681. package/dist/react-native/searchIndexer/api/searchIndexerContext.js +1 -1
  682. package/dist/react-native/searchIndexer/api/searchIndexerContext.js.map +1 -1
  683. package/dist/react-native/searchIndexer/index.d.ts +1 -1
  684. package/dist/react-native/searchIndexer/index.d.ts.map +1 -1
  685. package/dist/react-native/searchIndexer/index.js.map +1 -1
  686. package/dist/react-native/searchIndexer/searchIndexerClient.d.ts +2 -8
  687. package/dist/react-native/searchIndexer/searchIndexerClient.d.ts.map +1 -1
  688. package/dist/react-native/searchIndexer/searchIndexerClient.js +1 -13
  689. package/dist/react-native/searchIndexer/searchIndexerClient.js.map +1 -1
  690. package/dist/react-native/searchIndexerClient.d.ts +1 -14
  691. package/dist/react-native/searchIndexerClient.d.ts.map +1 -1
  692. package/dist/react-native/searchIndexerClient.js +0 -27
  693. package/dist/react-native/searchIndexerClient.js.map +1 -1
  694. package/dist/react-native/searchIndexingBufferedSender.d.ts.map +1 -1
  695. package/dist/react-native/searchIndexingBufferedSender.js +3 -7
  696. package/dist/react-native/searchIndexingBufferedSender.js.map +1 -1
  697. package/dist/react-native/serviceModels.d.ts +7 -191
  698. package/dist/react-native/serviceModels.d.ts.map +1 -1
  699. package/dist/react-native/serviceModels.js.map +1 -1
  700. package/dist/react-native/serviceUtils.d.ts +3 -5
  701. package/dist/react-native/serviceUtils.d.ts.map +1 -1
  702. package/dist/react-native/serviceUtils.js +30 -87
  703. package/dist/react-native/serviceUtils.js.map +1 -1
  704. package/dist/react-native/static-helpers/pagingHelpers.js.map +1 -1
  705. package/dist/react-native/{synonymMapHelper.d.ts → synonymMapHelper-browser.d.mts} +4 -3
  706. package/dist/react-native/synonymMapHelper-browser.d.mts.map +1 -0
  707. package/dist/react-native/synonymMapHelper-browser.mjs +14 -0
  708. package/dist/react-native/synonymMapHelper-browser.mjs.map +1 -0
  709. package/dist/react-native/synonymMapHelper-react-native.d.mts +2 -0
  710. package/dist/react-native/synonymMapHelper-react-native.d.mts.map +1 -0
  711. package/dist/react-native/synonymMapHelper-react-native.mjs +4 -0
  712. package/dist/react-native/synonymMapHelper-react-native.mjs.map +1 -0
  713. package/dist/react-native/timers-browser.d.mts +8 -0
  714. package/dist/react-native/timers-browser.d.mts.map +1 -0
  715. package/dist/react-native/timers-browser.mjs +13 -0
  716. package/dist/react-native/timers-browser.mjs.map +1 -0
  717. package/dist/react-native/timers-react-native.d.mts +2 -0
  718. package/dist/react-native/timers-react-native.d.mts.map +1 -0
  719. package/dist/react-native/timers-react-native.mjs +4 -0
  720. package/dist/react-native/timers-react-native.mjs.map +1 -0
  721. package/dist/react-native/tracing.d.ts.map +1 -1
  722. package/dist/react-native/walk.js +1 -1
  723. package/dist/react-native/walk.js.map +1 -1
  724. package/package.json +33 -20
  725. package/dist/browser/errorModels.d.ts +0 -56
  726. package/dist/browser/errorModels.d.ts.map +0 -1
  727. package/dist/browser/errorModels.js +0 -4
  728. package/dist/browser/errorModels.js.map +0 -1
  729. package/dist/browser/synonymMapHelper.d.ts.map +0 -1
  730. package/dist/browser/synonymMapHelper.js.map +0 -1
  731. package/dist/commonjs/errorModels.d.ts +0 -56
  732. package/dist/commonjs/errorModels.d.ts.map +0 -1
  733. package/dist/commonjs/errorModels.js.map +0 -7
  734. package/dist/esm/errorModels.d.ts +0 -56
  735. package/dist/esm/errorModels.d.ts.map +0 -1
  736. package/dist/esm/errorModels.js +0 -0
  737. package/dist/esm/errorModels.js.map +0 -7
  738. package/dist/react-native/errorModels.d.ts +0 -56
  739. package/dist/react-native/errorModels.d.ts.map +0 -1
  740. package/dist/react-native/errorModels.js +0 -4
  741. package/dist/react-native/errorModels.js.map +0 -1
  742. package/dist/react-native/synonymMapHelper.d.ts.map +0 -1
  743. package/dist/react-native/synonymMapHelper.js +0 -24
  744. package/dist/react-native/synonymMapHelper.js.map +0 -1
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/search/search-documents/src/searchIndexingBufferedSender.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { OperationOptions } from \"@azure-rest/core-client\";\nimport type { RestError } from \"@azure/core-rest-pipeline\";\nimport { delay } from \"@azure/core-util\";\nimport EventEmitter from \"node:events\";\nimport type { IndexDocumentsResult } from \"./models/azure/search/documents/index.js\";\nimport { IndexDocumentsBatch } from \"./indexDocumentsBatch.js\";\nimport type {\n IndexDocumentsAction,\n IndexDocumentsOptions,\n SearchIndexingBufferedSenderDeleteDocumentsOptions,\n SearchIndexingBufferedSenderFlushDocumentsOptions,\n SearchIndexingBufferedSenderMergeDocumentsOptions,\n SearchIndexingBufferedSenderMergeOrUploadDocumentsOptions,\n SearchIndexingBufferedSenderOptions,\n SearchIndexingBufferedSenderUploadDocumentsOptions,\n} from \"./indexModels.js\";\nimport { getRandomIntegerInclusive } from \"./serviceUtils.js\";\nimport { createSpan } from \"./tracing.js\";\n\n/**\n * Index Documents Client\n */\nexport interface IndexDocumentsClient<TModel extends object> {\n /**\n * Perform a set of index modifications (upload, merge, mergeOrUpload, delete)\n * for the given set of documents.\n *\n * @param batch - An array of actions to perform on the index.\n * @param options - Additional options.\n */\n indexDocuments(\n batch: IndexDocumentsBatch<TModel>,\n options: IndexDocumentsOptions,\n ): Promise<IndexDocumentsResult>;\n}\n\n/**\n * Default Batch Size\n */\nexport const DEFAULT_BATCH_SIZE: number = 512;\n/**\n * Default window flush interval\n */\nexport const DEFAULT_FLUSH_WINDOW: number = 60000;\n/**\n * Default number of times to retry.\n */\nexport const DEFAULT_RETRY_COUNT: number = 3;\n/**\n * Default Max Delay between retries.\n */\nconst DEFAULT_MAX_RETRY_DELAY: number = 60000;\n\n/**\n * Class used to perform buffered operations against a search index,\n * including adding, updating, and removing them.\n */\nexport class SearchIndexingBufferedSender<TModel extends object> {\n /**\n * Search Client used to call the underlying IndexBatch operations.\n */\n private client: IndexDocumentsClient<TModel>;\n /**\n * Indicates if autoFlush is enabled.\n */\n private autoFlush: boolean;\n /**\n * Interval between flushes (in milliseconds).\n */\n private flushWindowInMs: number;\n /**\n * Delay between retries\n */\n private throttlingDelayInMs: number;\n /**\n * Maximum number of Retries\n */\n private maxRetriesPerAction: number;\n /**\n * Max Delay between retries\n */\n private maxThrottlingDelayInMs: number;\n /**\n * Size of the batch.\n */\n private initialBatchActionCount: number;\n /**\n * Batch object used to complete the service call.\n */\n private batchObject: IndexDocumentsBatch<TModel>;\n /**\n * Clean up for the timer\n */\n private cleanupTimer?: () => void;\n /**\n * Event emitter/publisher used in the Buffered Sender\n */\n private readonly emitter = new EventEmitter();\n /**\n * Method to retrieve the document key\n */\n private documentKeyRetriever: (document: TModel) => string;\n\n /**\n * Creates a new instance of SearchIndexingBufferedSender.\n *\n * @param client - Search Client used to call the underlying IndexBatch operations.\n * @param options - Options to modify auto flush.\n *\n */\n constructor(\n client: IndexDocumentsClient<TModel>,\n documentKeyRetriever: (document: TModel) => string,\n options: SearchIndexingBufferedSenderOptions = {},\n ) {\n this.client = client;\n this.documentKeyRetriever = documentKeyRetriever;\n // General Configuration properties\n this.autoFlush = options.autoFlush ?? true;\n this.initialBatchActionCount = options.initialBatchActionCount ?? DEFAULT_BATCH_SIZE;\n this.flushWindowInMs = options.flushWindowInMs ?? DEFAULT_FLUSH_WINDOW;\n // Retry specific configuration properties\n this.throttlingDelayInMs = options.throttlingDelayInMs ?? DEFAULT_FLUSH_WINDOW;\n this.maxRetriesPerAction = options.maxRetriesPerAction ?? DEFAULT_RETRY_COUNT;\n this.maxThrottlingDelayInMs = options.maxThrottlingDelayInMs ?? DEFAULT_MAX_RETRY_DELAY;\n\n this.batchObject = new IndexDocumentsBatch<TModel>();\n if (this.autoFlush) {\n const interval = setInterval(() => this.flush(), this.flushWindowInMs);\n interval?.unref();\n this.cleanupTimer = () => {\n clearInterval(interval);\n };\n }\n }\n\n /**\n * Uploads the documents/Adds the documents to the upload queue.\n *\n * @param documents - Documents to be uploaded.\n * @param options - Upload options.\n */\n public async uploadDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderUploadDocumentsOptions = {},\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-uploadDocuments\",\n options,\n );\n try {\n this.batchObject.upload(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"upload\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Merges the documents/Adds the documents to the merge queue.\n *\n * @param documents - Documents to be merged.\n * @param options - Upload options.\n */\n public async mergeDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderMergeDocumentsOptions = {},\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-mergeDocuments\",\n options,\n );\n try {\n this.batchObject.merge(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"merge\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Merges/Uploads the documents/Adds the documents to the merge/upload queue.\n *\n * @param documents - Documents to be merged/uploaded.\n * @param options - Upload options.\n */\n public async mergeOrUploadDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderMergeOrUploadDocumentsOptions = {},\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-mergeOrUploadDocuments\",\n options,\n );\n try {\n this.batchObject.mergeOrUpload(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"mergeOrUpload\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes the documents/Adds the documents to the delete queue.\n *\n * @param documents - Documents to be deleted.\n * @param options - Upload options.\n */\n public async deleteDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderDeleteDocumentsOptions = {},\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-deleteDocuments\",\n options,\n );\n try {\n this.batchObject.delete(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"delete\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Flushes the queue manually.\n *\n * @param options - Flush options.\n */\n public async flush(\n options: SearchIndexingBufferedSenderFlushDocumentsOptions = {},\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexingBufferedSender-flush\", options);\n try {\n if (this.batchObject.actions.length > 0) {\n return this.internalFlush(true, updatedOptions);\n }\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * If using autoFlush: true, call this to cleanup the autoflush timer.\n */\n public async dispose(): Promise<void> {\n if (this.batchObject.actions.length > 0) {\n await this.internalFlush(true);\n }\n if (this.cleanupTimer) {\n this.cleanupTimer();\n }\n }\n\n /**\n * Attach Batch Added Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(\n event: \"batchAdded\",\n listener: (e: { action: string; documents: TModel[] }) => void,\n ): void;\n /**\n * Attach Batch Sent Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"beforeDocumentSent\", listener: (e: IndexDocumentsAction<TModel>) => void): void;\n /**\n * Attach Batch Succeeded Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"batchSucceeded\", listener: (e: IndexDocumentsResult) => void): void;\n /**\n * Attach Batch Failed Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"batchFailed\", listener: (e: RestError) => void): void;\n public on(\n event: \"batchAdded\" | \"beforeDocumentSent\" | \"batchSucceeded\" | \"batchFailed\" | \"batchResizing\",\n listener: (e: any) => void,\n ): void {\n this.emitter.on(event, listener);\n }\n\n /**\n * Detach Batch Added Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(\n event: \"batchAdded\",\n listener: (e: { action: string; documents: TModel[] }) => void,\n ): void;\n /**\n * Detach Batch Sent Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(\n event: \"beforeDocumentSent\",\n listener: (e: IndexDocumentsAction<TModel>) => void,\n ): void;\n /**\n * Detach Batch Succeeded Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(event: \"batchSucceeded\", listener: (e: IndexDocumentsResult) => void): void;\n /**\n * Detach Batch Failed Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(event: \"batchFailed\", listener: (e: RestError) => void): void;\n public off(\n event: \"batchAdded\" | \"beforeDocumentSent\" | \"batchSucceeded\" | \"batchFailed\",\n listener: (e: any) => void,\n ): void {\n this.emitter.removeListener(event, listener);\n }\n\n private isBatchReady(): boolean {\n return this.batchObject.actions.length >= this.initialBatchActionCount;\n }\n\n private async internalFlush(force: boolean, options: OperationOptions = {}): Promise<void> {\n if (force || (this.autoFlush && this.isBatchReady())) {\n // Split it\n const actions: IndexDocumentsAction<TModel>[] = this.batchObject.actions;\n this.batchObject = new IndexDocumentsBatch<TModel>();\n while (actions.length > 0) {\n const actionsToSend = actions.splice(0, this.initialBatchActionCount);\n const { batchToSubmit, submitLater } = this.pruneActions(actionsToSend);\n actions.unshift(...submitLater);\n await this.submitDocuments(batchToSubmit, options);\n }\n }\n }\n\n private pruneActions(batch: IndexDocumentsAction<TModel>[]): {\n batchToSubmit: IndexDocumentsAction<TModel>[];\n submitLater: IndexDocumentsAction<TModel>[];\n } {\n const hashSet: Set<string> = new Set<string>();\n const resultBatch: IndexDocumentsAction<TModel>[] = [];\n const pruned: IndexDocumentsAction<TModel>[] = [];\n\n for (const document of batch) {\n const key = this.documentKeyRetriever(document as unknown as TModel);\n if (hashSet.has(key)) {\n pruned.push(document);\n } else {\n hashSet.add(key);\n resultBatch.push(document);\n }\n }\n return { batchToSubmit: resultBatch, submitLater: pruned };\n }\n\n private async submitDocuments(\n actionsToSend: IndexDocumentsAction<TModel>[],\n options: OperationOptions,\n retryAttempt: number = 1,\n ): Promise<void> {\n try {\n for (const action of actionsToSend) {\n this.emitter.emit(\"beforeDocumentSent\", action);\n }\n const result = await this.client.indexDocuments(\n new IndexDocumentsBatch<TModel>(actionsToSend),\n options,\n );\n // raise success event\n this.emitter.emit(\"batchSucceeded\", result);\n } catch (e: any) {\n if (e.statusCode && e.statusCode === 413 && actionsToSend.length > 1) {\n // Cut the payload size to half\n const splitActionsArray = [\n actionsToSend.slice(0, actionsToSend.length / 2),\n actionsToSend.slice(actionsToSend.length / 2, actionsToSend.length),\n ];\n this.initialBatchActionCount = splitActionsArray[0].length; // So, we do not want 413 happening again and again\n for (const actions of splitActionsArray) {\n await this.submitDocuments(actions, options);\n }\n } else if (this.isRetryAbleError(e) && retryAttempt <= this.maxRetriesPerAction) {\n // Exponentially increase the delay each time\n const exponentialDelay = this.throttlingDelayInMs * Math.pow(2, retryAttempt);\n // Don't let the delay exceed the maximum\n const clampedExponentialDelay = Math.min(this.maxThrottlingDelayInMs, exponentialDelay);\n // Allow the final value to have some \"jitter\" (within 50% of the delay size) so\n // that retries across multiple clients don't occur simultaneously.\n const delayWithJitter =\n clampedExponentialDelay / 2 + getRandomIntegerInclusive(0, clampedExponentialDelay / 2);\n await delay(delayWithJitter);\n await this.submitDocuments(actionsToSend, options, retryAttempt + 1);\n } else {\n this.emitter.emit(\"batchFailed\", e);\n throw e;\n }\n }\n }\n\n private isRetryAbleError(e: any): boolean {\n return e.statusCode && (e.statusCode === 422 || e.statusCode === 409 || e.statusCode === 503);\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
1
+ {"version":3,"file":"searchIndexingBufferedSender.js","sourceRoot":"","sources":["../../src/searchIndexingBufferedSender.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { OperationOptions } from \"@azure-rest/core-client\";\nimport type { RestError } from \"@azure/core-rest-pipeline\";\nimport { delay, getRandomIntegerInclusive } from \"@azure/core-util\";\nimport EventEmitter from \"node:events\";\nimport { createInterval } from \"#platform/timers\";\nimport type { IndexDocumentsResult } from \"./models/azure/search/documents/index.js\";\nimport { IndexDocumentsBatch } from \"./indexDocumentsBatch.js\";\nimport type {\n IndexDocumentsAction,\n IndexDocumentsOptions,\n SearchIndexingBufferedSenderDeleteDocumentsOptions,\n SearchIndexingBufferedSenderFlushDocumentsOptions,\n SearchIndexingBufferedSenderMergeDocumentsOptions,\n SearchIndexingBufferedSenderMergeOrUploadDocumentsOptions,\n SearchIndexingBufferedSenderOptions,\n SearchIndexingBufferedSenderUploadDocumentsOptions,\n} from \"./indexModels.js\";\n\nimport { createSpan } from \"./tracing.js\";\n\n/**\n * Index Documents Client\n */\nexport interface IndexDocumentsClient<TModel extends object> {\n /**\n * Perform a set of index modifications (upload, merge, mergeOrUpload, delete)\n * for the given set of documents.\n *\n * @param batch - An array of actions to perform on the index.\n * @param options - Additional options.\n */\n indexDocuments(\n batch: IndexDocumentsBatch<TModel>,\n options: IndexDocumentsOptions,\n ): Promise<IndexDocumentsResult>;\n}\n\n/**\n * Default Batch Size\n */\nexport const DEFAULT_BATCH_SIZE: number = 512;\n/**\n * Default window flush interval\n */\nexport const DEFAULT_FLUSH_WINDOW: number = 60000;\n/**\n * Default number of times to retry.\n */\nexport const DEFAULT_RETRY_COUNT: number = 3;\n/**\n * Default Max Delay between retries.\n */\nconst DEFAULT_MAX_RETRY_DELAY: number = 60000;\n\n/**\n * Class used to perform buffered operations against a search index,\n * including adding, updating, and removing them.\n */\nexport class SearchIndexingBufferedSender<TModel extends object> {\n /**\n * Search Client used to call the underlying IndexBatch operations.\n */\n private client: IndexDocumentsClient<TModel>;\n /**\n * Indicates if autoFlush is enabled.\n */\n private autoFlush: boolean;\n /**\n * Interval between flushes (in milliseconds).\n */\n private flushWindowInMs: number;\n /**\n * Delay between retries\n */\n private throttlingDelayInMs: number;\n /**\n * Maximum number of Retries\n */\n private maxRetriesPerAction: number;\n /**\n * Max Delay between retries\n */\n private maxThrottlingDelayInMs: number;\n /**\n * Size of the batch.\n */\n private initialBatchActionCount: number;\n /**\n * Batch object used to complete the service call.\n */\n private batchObject: IndexDocumentsBatch<TModel>;\n /**\n * Clean up for the timer\n */\n private cleanupTimer?: () => void;\n /**\n * Event emitter/publisher used in the Buffered Sender\n */\n private readonly emitter = new EventEmitter();\n /**\n * Method to retrieve the document key\n */\n private documentKeyRetriever: (document: TModel) => string;\n\n /**\n * Creates a new instance of SearchIndexingBufferedSender.\n *\n * @param client - Search Client used to call the underlying IndexBatch operations.\n * @param options - Options to modify auto flush.\n *\n */\n constructor(\n client: IndexDocumentsClient<TModel>,\n documentKeyRetriever: (document: TModel) => string,\n options: SearchIndexingBufferedSenderOptions = {},\n ) {\n this.client = client;\n this.documentKeyRetriever = documentKeyRetriever;\n // General Configuration properties\n this.autoFlush = options.autoFlush ?? true;\n this.initialBatchActionCount = options.initialBatchActionCount ?? DEFAULT_BATCH_SIZE;\n this.flushWindowInMs = options.flushWindowInMs ?? DEFAULT_FLUSH_WINDOW;\n // Retry specific configuration properties\n this.throttlingDelayInMs = options.throttlingDelayInMs ?? DEFAULT_FLUSH_WINDOW;\n this.maxRetriesPerAction = options.maxRetriesPerAction ?? DEFAULT_RETRY_COUNT;\n this.maxThrottlingDelayInMs = options.maxThrottlingDelayInMs ?? DEFAULT_MAX_RETRY_DELAY;\n\n this.batchObject = new IndexDocumentsBatch<TModel>();\n if (this.autoFlush) {\n this.cleanupTimer = createInterval(() => this.flush(), this.flushWindowInMs);\n }\n }\n\n /**\n * Uploads the documents/Adds the documents to the upload queue.\n *\n * @param documents - Documents to be uploaded.\n * @param options - Upload options.\n */\n public async uploadDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderUploadDocumentsOptions = {},\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-uploadDocuments\",\n options,\n );\n try {\n this.batchObject.upload(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"upload\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Merges the documents/Adds the documents to the merge queue.\n *\n * @param documents - Documents to be merged.\n * @param options - Upload options.\n */\n public async mergeDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderMergeDocumentsOptions = {},\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-mergeDocuments\",\n options,\n );\n try {\n this.batchObject.merge(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"merge\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Merges/Uploads the documents/Adds the documents to the merge/upload queue.\n *\n * @param documents - Documents to be merged/uploaded.\n * @param options - Upload options.\n */\n public async mergeOrUploadDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderMergeOrUploadDocumentsOptions = {},\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-mergeOrUploadDocuments\",\n options,\n );\n try {\n this.batchObject.mergeOrUpload(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"mergeOrUpload\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes the documents/Adds the documents to the delete queue.\n *\n * @param documents - Documents to be deleted.\n * @param options - Upload options.\n */\n public async deleteDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderDeleteDocumentsOptions = {},\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-deleteDocuments\",\n options,\n );\n try {\n this.batchObject.delete(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"delete\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Flushes the queue manually.\n *\n * @param options - Flush options.\n */\n public async flush(\n options: SearchIndexingBufferedSenderFlushDocumentsOptions = {},\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexingBufferedSender-flush\", options);\n try {\n if (this.batchObject.actions.length > 0) {\n return this.internalFlush(true, updatedOptions);\n }\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * If using autoFlush: true, call this to cleanup the autoflush timer.\n */\n public async dispose(): Promise<void> {\n if (this.batchObject.actions.length > 0) {\n await this.internalFlush(true);\n }\n if (this.cleanupTimer) {\n this.cleanupTimer();\n }\n }\n\n /**\n * Attach Batch Added Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(\n event: \"batchAdded\",\n listener: (e: { action: string; documents: TModel[] }) => void,\n ): void;\n /**\n * Attach Batch Sent Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"beforeDocumentSent\", listener: (e: IndexDocumentsAction<TModel>) => void): void;\n /**\n * Attach Batch Succeeded Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"batchSucceeded\", listener: (e: IndexDocumentsResult) => void): void;\n /**\n * Attach Batch Failed Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"batchFailed\", listener: (e: RestError) => void): void;\n public on(\n event: \"batchAdded\" | \"beforeDocumentSent\" | \"batchSucceeded\" | \"batchFailed\" | \"batchResizing\",\n listener: (e: any) => void,\n ): void {\n this.emitter.on(event, listener);\n }\n\n /**\n * Detach Batch Added Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(\n event: \"batchAdded\",\n listener: (e: { action: string; documents: TModel[] }) => void,\n ): void;\n /**\n * Detach Batch Sent Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(\n event: \"beforeDocumentSent\",\n listener: (e: IndexDocumentsAction<TModel>) => void,\n ): void;\n /**\n * Detach Batch Succeeded Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(event: \"batchSucceeded\", listener: (e: IndexDocumentsResult) => void): void;\n /**\n * Detach Batch Failed Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(event: \"batchFailed\", listener: (e: RestError) => void): void;\n public off(\n event: \"batchAdded\" | \"beforeDocumentSent\" | \"batchSucceeded\" | \"batchFailed\",\n listener: (e: any) => void,\n ): void {\n this.emitter.removeListener(event, listener);\n }\n\n private isBatchReady(): boolean {\n return this.batchObject.actions.length >= this.initialBatchActionCount;\n }\n\n private async internalFlush(force: boolean, options: OperationOptions = {}): Promise<void> {\n if (force || (this.autoFlush && this.isBatchReady())) {\n // Split it\n const actions: IndexDocumentsAction<TModel>[] = this.batchObject.actions;\n this.batchObject = new IndexDocumentsBatch<TModel>();\n while (actions.length > 0) {\n const actionsToSend = actions.splice(0, this.initialBatchActionCount);\n const { batchToSubmit, submitLater } = this.pruneActions(actionsToSend);\n actions.unshift(...submitLater);\n await this.submitDocuments(batchToSubmit, options);\n }\n }\n }\n\n private pruneActions(batch: IndexDocumentsAction<TModel>[]): {\n batchToSubmit: IndexDocumentsAction<TModel>[];\n submitLater: IndexDocumentsAction<TModel>[];\n } {\n const hashSet: Set<string> = new Set<string>();\n const resultBatch: IndexDocumentsAction<TModel>[] = [];\n const pruned: IndexDocumentsAction<TModel>[] = [];\n\n for (const document of batch) {\n const key = this.documentKeyRetriever(document as unknown as TModel);\n if (hashSet.has(key)) {\n pruned.push(document);\n } else {\n hashSet.add(key);\n resultBatch.push(document);\n }\n }\n return { batchToSubmit: resultBatch, submitLater: pruned };\n }\n\n private async submitDocuments(\n actionsToSend: IndexDocumentsAction<TModel>[],\n options: OperationOptions,\n retryAttempt: number = 1,\n ): Promise<void> {\n try {\n for (const action of actionsToSend) {\n this.emitter.emit(\"beforeDocumentSent\", action);\n }\n const result = await this.client.indexDocuments(\n new IndexDocumentsBatch<TModel>(actionsToSend),\n options,\n );\n // raise success event\n this.emitter.emit(\"batchSucceeded\", result);\n } catch (e: any) {\n if (e.statusCode && e.statusCode === 413 && actionsToSend.length > 1) {\n // Cut the payload size to half\n const splitActionsArray = [\n actionsToSend.slice(0, actionsToSend.length / 2),\n actionsToSend.slice(actionsToSend.length / 2, actionsToSend.length),\n ];\n this.initialBatchActionCount = splitActionsArray[0].length; // So, we do not want 413 happening again and again\n for (const actions of splitActionsArray) {\n await this.submitDocuments(actions, options);\n }\n } else if (this.isRetryAbleError(e) && retryAttempt <= this.maxRetriesPerAction) {\n // Exponentially increase the delay each time\n const exponentialDelay = this.throttlingDelayInMs * Math.pow(2, retryAttempt);\n // Don't let the delay exceed the maximum\n const clampedExponentialDelay = Math.min(this.maxThrottlingDelayInMs, exponentialDelay);\n // Allow the final value to have some \"jitter\" (within 50% of the delay size) so\n // that retries across multiple clients don't occur simultaneously.\n const delayWithJitter =\n clampedExponentialDelay / 2 + getRandomIntegerInclusive(0, clampedExponentialDelay / 2);\n await delay(delayWithJitter);\n await this.submitDocuments(actionsToSend, options, retryAttempt + 1);\n } else {\n this.emitter.emit(\"batchFailed\", e);\n throw e;\n }\n }\n }\n\n private isRetryAbleError(e: any): boolean {\n return e.statusCode && (e.statusCode === 422 || e.statusCode === 409 || e.statusCode === 503);\n }\n}\n"]}
@@ -1,143 +1,144 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
1
3
  import GeographyPoint from "./geographyPoint.js";
2
4
  import { walk } from "./walk.js";
3
5
  const ISO8601DateRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?Z$/i;
4
6
  const GeoJSONPointTypeName = "Point";
5
- const WorldGeodeticSystem1984 = "EPSG:4326";
7
+ const WorldGeodeticSystem1984 = "EPSG:4326"; // See https://epsg.io/4326
6
8
  const [serializeValue, deserializeValue] = [
7
- [serializeSpecialNumbers, serializeDates, serializeGeoPoint],
8
- [deserializeSpecialNumbers, deserializeDates, deserializeGeoPoint]
9
- ].map(
10
- (fns) => (value) => fns.reduceRight((acc, fn) => fn(acc), value)
11
- );
12
- function serialize(obj) {
13
- return walk(obj, serializeValue);
9
+ [serializeSpecialNumbers, serializeDates, serializeGeoPoint],
10
+ [deserializeSpecialNumbers, deserializeDates, deserializeGeoPoint],
11
+ ].map((fns) => (value) => fns.reduceRight((acc, fn) => fn(acc), value));
12
+ export function serialize(obj) {
13
+ return walk(obj, serializeValue);
14
14
  }
15
- function deserialize(obj) {
16
- return walk(obj, deserializeValue);
15
+ export function deserialize(obj) {
16
+ return walk(obj, deserializeValue);
17
17
  }
18
18
  function serializeSpecialNumbers(input) {
19
- if (typeof input === "number" && isNaN(input)) {
20
- return "NaN";
21
- } else if (input === Infinity) {
22
- return "INF";
23
- } else if (input === -Infinity) {
24
- return "-INF";
25
- } else {
26
- return input;
27
- }
19
+ if (typeof input === "number" && isNaN(input)) {
20
+ return "NaN";
21
+ }
22
+ else if (input === Infinity) {
23
+ return "INF";
24
+ }
25
+ else if (input === -Infinity) {
26
+ return "-INF";
27
+ }
28
+ else {
29
+ return input;
30
+ }
28
31
  }
29
32
  function serializeDates(input) {
30
- return input instanceof Date ? input.toISOString() : input;
33
+ return input instanceof Date ? input.toISOString() : input;
31
34
  }
32
35
  function serializeGeoPoint(input) {
33
- return input instanceof GeographyPoint ? input.toJSON() : input;
36
+ return input instanceof GeographyPoint ? input.toJSON() : input;
34
37
  }
35
38
  function deserializeSpecialNumbers(input) {
36
- switch (input) {
37
- case "NaN":
38
- return NaN;
39
- case "-INF":
40
- return -Infinity;
41
- case "INF":
42
- return Infinity;
43
- default:
44
- return input;
45
- }
39
+ switch (input) {
40
+ case "NaN":
41
+ return NaN;
42
+ case "-INF":
43
+ return -Infinity;
44
+ case "INF":
45
+ return Infinity;
46
+ default:
47
+ return input;
48
+ }
46
49
  }
47
50
  function deserializeDates(input) {
48
- return typeof input === "string" && ISO8601DateRegex.test(input) ? new Date(input) : input;
51
+ return typeof input === "string" && ISO8601DateRegex.test(input) ? new Date(input) : input;
49
52
  }
50
53
  function deserializeGeoPoint(input) {
51
- if (isGeoJSONPoint(input)) {
52
- const [longitude, latitude] = input.coordinates;
53
- return new GeographyPoint({ longitude, latitude });
54
- }
55
- return input;
54
+ if (isGeoJSONPoint(input)) {
55
+ const [longitude, latitude] = input.coordinates;
56
+ return new GeographyPoint({ longitude, latitude });
57
+ }
58
+ return input;
56
59
  }
57
60
  function isGeoJSONPoint(obj) {
58
- const requiredKeys = ["type", "coordinates"];
59
- return isValidObject(obj, {
60
- requiredKeys,
61
- propertyValidator: (key) => {
62
- switch (key) {
63
- case "type":
64
- return obj.type === GeoJSONPointTypeName;
65
- break;
66
- case "coordinates":
67
- return isCoordinateArray(obj.coordinates);
68
- break;
69
- case "crs":
70
- return isCrs(obj.crs);
71
- break;
72
- default:
73
- return false;
74
- }
75
- }
76
- });
61
+ const requiredKeys = ["type", "coordinates"];
62
+ return isValidObject(obj, {
63
+ requiredKeys,
64
+ propertyValidator: (key) => {
65
+ switch (key) {
66
+ case "type":
67
+ return obj.type === GeoJSONPointTypeName;
68
+ break;
69
+ case "coordinates":
70
+ return isCoordinateArray(obj.coordinates);
71
+ break;
72
+ case "crs":
73
+ return isCrs(obj.crs);
74
+ break;
75
+ default:
76
+ return false;
77
+ }
78
+ },
79
+ });
77
80
  }
78
81
  function isCoordinateArray(maybeCoordinates) {
79
- if (!Array.isArray(maybeCoordinates)) {
80
- return false;
81
- }
82
- if (maybeCoordinates.length !== 2) {
83
- return false;
84
- }
85
- if (typeof maybeCoordinates[0] !== "number" || typeof maybeCoordinates[1] !== "number") {
86
- return false;
87
- }
88
- return true;
82
+ if (!Array.isArray(maybeCoordinates)) {
83
+ return false;
84
+ }
85
+ if (maybeCoordinates.length !== 2) {
86
+ return false;
87
+ }
88
+ if (typeof maybeCoordinates[0] !== "number" || typeof maybeCoordinates[1] !== "number") {
89
+ return false;
90
+ }
91
+ return true;
89
92
  }
90
93
  function isCrs(maybeCrs) {
91
- return isValidObject(maybeCrs, {
92
- requiredKeys: ["type", "properties"],
93
- propertyValidator: (key) => {
94
- switch (key) {
95
- case "type":
96
- return maybeCrs.type === "name";
97
- break;
98
- case "properties":
99
- return isCrsProperties(maybeCrs.properties);
100
- break;
101
- default:
102
- return false;
103
- }
104
- }
105
- });
94
+ return isValidObject(maybeCrs, {
95
+ requiredKeys: ["type", "properties"],
96
+ propertyValidator: (key) => {
97
+ switch (key) {
98
+ case "type":
99
+ return maybeCrs.type === "name";
100
+ break;
101
+ case "properties":
102
+ return isCrsProperties(maybeCrs.properties);
103
+ break;
104
+ default:
105
+ return false;
106
+ }
107
+ },
108
+ });
106
109
  }
107
110
  function isCrsProperties(maybeProperties) {
108
- return isValidObject(maybeProperties, {
109
- requiredKeys: ["name"],
110
- propertyValidator: (key) => {
111
- if (key === "name") {
112
- return maybeProperties.name === WorldGeodeticSystem1984;
113
- } else {
114
- return false;
115
- }
116
- }
117
- });
111
+ return isValidObject(maybeProperties, {
112
+ requiredKeys: ["name"],
113
+ propertyValidator: (key) => {
114
+ if (key === "name") {
115
+ return maybeProperties.name === WorldGeodeticSystem1984;
116
+ }
117
+ else {
118
+ return false;
119
+ }
120
+ },
121
+ });
118
122
  }
119
123
  function isValidObject(obj, options = {}) {
120
- if (typeof obj !== "object" || obj === null) {
121
- return false;
122
- }
123
- const keys = Object.keys(obj);
124
- if (options.requiredKeys) {
125
- for (const requiredKey of options.requiredKeys) {
126
- if (!keys.includes(requiredKey)) {
124
+ if (typeof obj !== "object" || obj === null) {
127
125
  return false;
128
- }
129
126
  }
130
- }
131
- if (options.propertyValidator) {
132
- for (const key of keys) {
133
- if (!options.propertyValidator(key)) {
134
- return false;
135
- }
127
+ const keys = Object.keys(obj);
128
+ if (options.requiredKeys) {
129
+ for (const requiredKey of options.requiredKeys) {
130
+ if (!keys.includes(requiredKey)) {
131
+ return false;
132
+ }
133
+ }
134
+ }
135
+ if (options.propertyValidator) {
136
+ for (const key of keys) {
137
+ if (!options.propertyValidator(key)) {
138
+ return false;
139
+ }
140
+ }
136
141
  }
137
- }
138
- return true;
142
+ return true;
139
143
  }
140
- export {
141
- deserialize,
142
- serialize
143
- };
144
+ //# sourceMappingURL=serialization.js.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["/mnt/vss/_work/1/s/sdk/search/search-documents/src/serialization.ts"],
4
- "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport GeographyPoint from \"./geographyPoint.js\";\nimport { walk } from \"./walk.js\";\n\nconst ISO8601DateRegex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?Z$/i;\nconst GeoJSONPointTypeName = \"Point\";\nconst WorldGeodeticSystem1984 = \"EPSG:4326\"; // See https://epsg.io/4326\n\nconst [serializeValue, deserializeValue] = [\n [serializeSpecialNumbers, serializeDates, serializeGeoPoint],\n [deserializeSpecialNumbers, deserializeDates, deserializeGeoPoint],\n].map(\n (fns) =>\n (value: unknown): unknown =>\n fns.reduceRight((acc, fn) => fn(acc), value),\n);\n\nexport function serialize<OutputT>(obj: unknown): OutputT {\n return walk(obj, serializeValue) as OutputT;\n}\n\nexport function deserialize<OutputT>(obj: unknown): OutputT {\n return walk(obj, deserializeValue) as OutputT;\n}\n\nfunction serializeSpecialNumbers(input: unknown): unknown {\n if (typeof input === \"number\" && isNaN(input)) {\n return \"NaN\";\n } else if (input === Infinity) {\n return \"INF\";\n } else if (input === -Infinity) {\n return \"-INF\";\n } else {\n return input;\n }\n}\n\nfunction serializeDates(input: unknown): string | unknown {\n return input instanceof Date ? input.toISOString() : input;\n}\n\nfunction serializeGeoPoint(input: unknown): object | unknown {\n return input instanceof GeographyPoint ? input.toJSON() : input;\n}\n\nfunction deserializeSpecialNumbers(input: unknown): unknown {\n switch (input) {\n case \"NaN\":\n return NaN;\n case \"-INF\":\n return -Infinity;\n case \"INF\":\n return Infinity;\n default:\n return input;\n }\n}\n\nfunction deserializeDates(input: unknown): Date | unknown {\n return typeof input === \"string\" && ISO8601DateRegex.test(input) ? new Date(input) : input;\n}\n\nfunction deserializeGeoPoint(input: unknown): GeographyPoint | unknown {\n if (isGeoJSONPoint(input)) {\n const [longitude, latitude] = input.coordinates;\n return new GeographyPoint({ longitude, latitude });\n }\n return input;\n}\n\ninterface GeoJSONPoint {\n type: \"Point\";\n coordinates: [number, number];\n crs: {\n type: \"name\";\n properties: {\n name: \"EPSG:4326\";\n };\n };\n}\n\nfunction isGeoJSONPoint(obj: any): obj is GeoJSONPoint {\n const requiredKeys = [\"type\", \"coordinates\"];\n return isValidObject(obj, {\n requiredKeys,\n propertyValidator: (key) => {\n switch (key) {\n case \"type\":\n return obj.type === GeoJSONPointTypeName;\n break;\n case \"coordinates\":\n return isCoordinateArray(obj.coordinates);\n break;\n case \"crs\":\n return isCrs(obj.crs);\n break;\n default:\n return false;\n }\n },\n });\n}\n\nfunction isCoordinateArray(maybeCoordinates: any): boolean {\n if (!Array.isArray(maybeCoordinates)) {\n return false;\n }\n if (maybeCoordinates.length !== 2) {\n return false;\n }\n if (typeof maybeCoordinates[0] !== \"number\" || typeof maybeCoordinates[1] !== \"number\") {\n return false;\n }\n return true;\n}\n\nfunction isCrs(maybeCrs: any): boolean {\n return isValidObject(maybeCrs, {\n requiredKeys: [\"type\", \"properties\"],\n propertyValidator: (key) => {\n switch (key) {\n case \"type\":\n return maybeCrs.type === \"name\";\n break;\n case \"properties\":\n return isCrsProperties(maybeCrs.properties);\n break;\n default:\n return false;\n }\n },\n });\n}\n\nfunction isCrsProperties(maybeProperties: any): boolean {\n return isValidObject(maybeProperties, {\n requiredKeys: [\"name\"],\n propertyValidator: (key) => {\n if (key === \"name\") {\n return maybeProperties.name === WorldGeodeticSystem1984;\n } else {\n return false;\n }\n },\n });\n}\n\nfunction isValidObject(\n obj: any,\n options: {\n requiredKeys?: string[];\n propertyValidator?: (keyName: string) => boolean;\n } = {},\n): boolean {\n if (typeof obj !== \"object\" || obj === null) {\n return false;\n }\n\n const keys = Object.keys(obj);\n\n if (options.requiredKeys) {\n for (const requiredKey of options.requiredKeys) {\n if (!keys.includes(requiredKey)) {\n return false;\n }\n }\n }\n\n if (options.propertyValidator) {\n for (const key of keys) {\n if (!options.propertyValidator(key)) {\n return false;\n }\n }\n }\n\n return true;\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../src/serialization.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport GeographyPoint from \"./geographyPoint.js\";\nimport { walk } from \"./walk.js\";\n\nconst ISO8601DateRegex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?Z$/i;\nconst GeoJSONPointTypeName = \"Point\";\nconst WorldGeodeticSystem1984 = \"EPSG:4326\"; // See https://epsg.io/4326\n\nconst [serializeValue, deserializeValue] = [\n [serializeSpecialNumbers, serializeDates, serializeGeoPoint],\n [deserializeSpecialNumbers, deserializeDates, deserializeGeoPoint],\n].map(\n (fns) =>\n (value: unknown): unknown =>\n fns.reduceRight((acc, fn) => fn(acc), value),\n);\n\nexport function serialize<OutputT>(obj: unknown): OutputT {\n return walk(obj, serializeValue) as OutputT;\n}\n\nexport function deserialize<OutputT>(obj: unknown): OutputT {\n return walk(obj, deserializeValue) as OutputT;\n}\n\nfunction serializeSpecialNumbers(input: unknown): unknown {\n if (typeof input === \"number\" && isNaN(input)) {\n return \"NaN\";\n } else if (input === Infinity) {\n return \"INF\";\n } else if (input === -Infinity) {\n return \"-INF\";\n } else {\n return input;\n }\n}\n\nfunction serializeDates(input: unknown): string | unknown {\n return input instanceof Date ? input.toISOString() : input;\n}\n\nfunction serializeGeoPoint(input: unknown): object | unknown {\n return input instanceof GeographyPoint ? input.toJSON() : input;\n}\n\nfunction deserializeSpecialNumbers(input: unknown): unknown {\n switch (input) {\n case \"NaN\":\n return NaN;\n case \"-INF\":\n return -Infinity;\n case \"INF\":\n return Infinity;\n default:\n return input;\n }\n}\n\nfunction deserializeDates(input: unknown): Date | unknown {\n return typeof input === \"string\" && ISO8601DateRegex.test(input) ? new Date(input) : input;\n}\n\nfunction deserializeGeoPoint(input: unknown): GeographyPoint | unknown {\n if (isGeoJSONPoint(input)) {\n const [longitude, latitude] = input.coordinates;\n return new GeographyPoint({ longitude, latitude });\n }\n return input;\n}\n\ninterface GeoJSONPoint {\n type: \"Point\";\n coordinates: [number, number];\n crs: {\n type: \"name\";\n properties: {\n name: \"EPSG:4326\";\n };\n };\n}\n\nfunction isGeoJSONPoint(obj: any): obj is GeoJSONPoint {\n const requiredKeys = [\"type\", \"coordinates\"];\n return isValidObject(obj, {\n requiredKeys,\n propertyValidator: (key) => {\n switch (key) {\n case \"type\":\n return obj.type === GeoJSONPointTypeName;\n break;\n case \"coordinates\":\n return isCoordinateArray(obj.coordinates);\n break;\n case \"crs\":\n return isCrs(obj.crs);\n break;\n default:\n return false;\n }\n },\n });\n}\n\nfunction isCoordinateArray(maybeCoordinates: any): boolean {\n if (!Array.isArray(maybeCoordinates)) {\n return false;\n }\n if (maybeCoordinates.length !== 2) {\n return false;\n }\n if (typeof maybeCoordinates[0] !== \"number\" || typeof maybeCoordinates[1] !== \"number\") {\n return false;\n }\n return true;\n}\n\nfunction isCrs(maybeCrs: any): boolean {\n return isValidObject(maybeCrs, {\n requiredKeys: [\"type\", \"properties\"],\n propertyValidator: (key) => {\n switch (key) {\n case \"type\":\n return maybeCrs.type === \"name\";\n break;\n case \"properties\":\n return isCrsProperties(maybeCrs.properties);\n break;\n default:\n return false;\n }\n },\n });\n}\n\nfunction isCrsProperties(maybeProperties: any): boolean {\n return isValidObject(maybeProperties, {\n requiredKeys: [\"name\"],\n propertyValidator: (key) => {\n if (key === \"name\") {\n return maybeProperties.name === WorldGeodeticSystem1984;\n } else {\n return false;\n }\n },\n });\n}\n\nfunction isValidObject(\n obj: any,\n options: {\n requiredKeys?: string[];\n propertyValidator?: (keyName: string) => boolean;\n } = {},\n): boolean {\n if (typeof obj !== \"object\" || obj === null) {\n return false;\n }\n\n const keys = Object.keys(obj);\n\n if (options.requiredKeys) {\n for (const requiredKey of options.requiredKeys) {\n if (!keys.includes(requiredKey)) {\n return false;\n }\n }\n }\n\n if (options.propertyValidator) {\n for (const key of keys) {\n if (!options.propertyValidator(key)) {\n return false;\n }\n }\n }\n\n return true;\n}\n"]}