@depup/typesense 3.0.3-depup.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 (281) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +31 -0
  3. package/changes.json +10 -0
  4. package/dist/typesense.js +13031 -0
  5. package/dist/typesense.js.map +1 -0
  6. package/dist/typesense.min.js +3 -0
  7. package/dist/typesense.min.js.LICENSE.txt +1 -0
  8. package/dist/typesense.min.js.map +1 -0
  9. package/lib/Typesense/Alias.d.ts +10 -0
  10. package/lib/Typesense/Alias.js +30 -0
  11. package/lib/Typesense/Alias.js.map +1 -0
  12. package/lib/Typesense/Aliases.d.ts +18 -0
  13. package/lib/Typesense/Aliases.js +36 -0
  14. package/lib/Typesense/Aliases.js.map +1 -0
  15. package/lib/Typesense/Analytics.d.ts +15 -0
  16. package/lib/Typesense/Analytics.js +40 -0
  17. package/lib/Typesense/Analytics.js.map +1 -0
  18. package/lib/Typesense/AnalyticsEvent.d.ts +5 -0
  19. package/lib/Typesense/AnalyticsEvent.js +3 -0
  20. package/lib/Typesense/AnalyticsEvent.js.map +1 -0
  21. package/lib/Typesense/AnalyticsEvents.d.ts +26 -0
  22. package/lib/Typesense/AnalyticsEvents.js +37 -0
  23. package/lib/Typesense/AnalyticsEvents.js.map +1 -0
  24. package/lib/Typesense/AnalyticsRule.d.ts +47 -0
  25. package/lib/Typesense/AnalyticsRule.js +30 -0
  26. package/lib/Typesense/AnalyticsRule.js.map +1 -0
  27. package/lib/Typesense/AnalyticsRuleV1.d.ts +35 -0
  28. package/lib/Typesense/AnalyticsRuleV1.js +30 -0
  29. package/lib/Typesense/AnalyticsRuleV1.js.map +1 -0
  30. package/lib/Typesense/AnalyticsRules.d.ts +16 -0
  31. package/lib/Typesense/AnalyticsRules.js +49 -0
  32. package/lib/Typesense/AnalyticsRules.js.map +1 -0
  33. package/lib/Typesense/AnalyticsRulesV1.d.ts +13 -0
  34. package/lib/Typesense/AnalyticsRulesV1.js +37 -0
  35. package/lib/Typesense/AnalyticsRulesV1.js.map +1 -0
  36. package/lib/Typesense/AnalyticsV1.d.ts +19 -0
  37. package/lib/Typesense/AnalyticsV1.js +49 -0
  38. package/lib/Typesense/AnalyticsV1.js.map +1 -0
  39. package/lib/Typesense/ApiCall.d.ts +99 -0
  40. package/lib/Typesense/ApiCall.js +777 -0
  41. package/lib/Typesense/ApiCall.js.map +1 -0
  42. package/lib/Typesense/Client.d.ts +79 -0
  43. package/lib/Typesense/Client.js +170 -0
  44. package/lib/Typesense/Client.js.map +1 -0
  45. package/lib/Typesense/Collection.d.ts +63 -0
  46. package/lib/Typesense/Collection.js +109 -0
  47. package/lib/Typesense/Collection.js.map +1 -0
  48. package/lib/Typesense/Collections.d.ts +42 -0
  49. package/lib/Typesense/Collections.js +34 -0
  50. package/lib/Typesense/Collections.js.map +1 -0
  51. package/lib/Typesense/Configuration.d.ts +143 -0
  52. package/lib/Typesense/Configuration.js +113 -0
  53. package/lib/Typesense/Configuration.js.map +1 -0
  54. package/lib/Typesense/Conversation.d.ts +22 -0
  55. package/lib/Typesense/Conversation.js +37 -0
  56. package/lib/Typesense/Conversation.js.map +1 -0
  57. package/lib/Typesense/ConversationModel.d.ts +30 -0
  58. package/lib/Typesense/ConversationModel.js +37 -0
  59. package/lib/Typesense/ConversationModel.js.map +1 -0
  60. package/lib/Typesense/ConversationModels.d.ts +10 -0
  61. package/lib/Typesense/ConversationModels.js +37 -0
  62. package/lib/Typesense/ConversationModels.js.map +1 -0
  63. package/lib/Typesense/Conversations.d.ts +17 -0
  64. package/lib/Typesense/Conversations.js +42 -0
  65. package/lib/Typesense/Conversations.js.map +1 -0
  66. package/lib/Typesense/CurationSet.d.ts +17 -0
  67. package/lib/Typesense/CurationSet.js +52 -0
  68. package/lib/Typesense/CurationSet.js.map +1 -0
  69. package/lib/Typesense/CurationSetItem.d.ts +15 -0
  70. package/lib/Typesense/CurationSetItem.js +38 -0
  71. package/lib/Typesense/CurationSetItem.js.map +1 -0
  72. package/lib/Typesense/CurationSetItems.d.ts +9 -0
  73. package/lib/Typesense/CurationSetItems.js +23 -0
  74. package/lib/Typesense/CurationSetItems.js.map +1 -0
  75. package/lib/Typesense/CurationSets.d.ts +56 -0
  76. package/lib/Typesense/CurationSets.js +19 -0
  77. package/lib/Typesense/CurationSets.js.map +1 -0
  78. package/lib/Typesense/Debug.d.ts +10 -0
  79. package/lib/Typesense/Debug.js +19 -0
  80. package/lib/Typesense/Debug.js.map +1 -0
  81. package/lib/Typesense/Document.d.ts +12 -0
  82. package/lib/Typesense/Document.js +41 -0
  83. package/lib/Typesense/Document.js.map +1 -0
  84. package/lib/Typesense/Documents.d.ts +196 -0
  85. package/lib/Typesense/Documents.js +204 -0
  86. package/lib/Typesense/Documents.js.map +1 -0
  87. package/lib/Typesense/Errors/HTTPError.d.ts +3 -0
  88. package/lib/Typesense/Errors/HTTPError.js +13 -0
  89. package/lib/Typesense/Errors/HTTPError.js.map +1 -0
  90. package/lib/Typesense/Errors/ImportError.d.ts +15 -0
  91. package/lib/Typesense/Errors/ImportError.js +16 -0
  92. package/lib/Typesense/Errors/ImportError.js.map +1 -0
  93. package/lib/Typesense/Errors/MissingConfigurationError.d.ts +3 -0
  94. package/lib/Typesense/Errors/MissingConfigurationError.js +13 -0
  95. package/lib/Typesense/Errors/MissingConfigurationError.js.map +1 -0
  96. package/lib/Typesense/Errors/ObjectAlreadyExists.d.ts +3 -0
  97. package/lib/Typesense/Errors/ObjectAlreadyExists.js +13 -0
  98. package/lib/Typesense/Errors/ObjectAlreadyExists.js.map +1 -0
  99. package/lib/Typesense/Errors/ObjectNotFound.d.ts +3 -0
  100. package/lib/Typesense/Errors/ObjectNotFound.js +13 -0
  101. package/lib/Typesense/Errors/ObjectNotFound.js.map +1 -0
  102. package/lib/Typesense/Errors/ObjectUnprocessable.d.ts +3 -0
  103. package/lib/Typesense/Errors/ObjectUnprocessable.js +13 -0
  104. package/lib/Typesense/Errors/ObjectUnprocessable.js.map +1 -0
  105. package/lib/Typesense/Errors/RequestMalformed.d.ts +3 -0
  106. package/lib/Typesense/Errors/RequestMalformed.js +13 -0
  107. package/lib/Typesense/Errors/RequestMalformed.js.map +1 -0
  108. package/lib/Typesense/Errors/RequestUnauthorized.d.ts +3 -0
  109. package/lib/Typesense/Errors/RequestUnauthorized.js +13 -0
  110. package/lib/Typesense/Errors/RequestUnauthorized.js.map +1 -0
  111. package/lib/Typesense/Errors/ServerError.d.ts +3 -0
  112. package/lib/Typesense/Errors/ServerError.js +13 -0
  113. package/lib/Typesense/Errors/ServerError.js.map +1 -0
  114. package/lib/Typesense/Errors/TypesenseError.d.ts +5 -0
  115. package/lib/Typesense/Errors/TypesenseError.js +19 -0
  116. package/lib/Typesense/Errors/TypesenseError.js.map +1 -0
  117. package/lib/Typesense/Errors/index.d.ts +11 -0
  118. package/lib/Typesense/Errors/index.js +25 -0
  119. package/lib/Typesense/Errors/index.js.map +1 -0
  120. package/lib/Typesense/Health.d.ts +9 -0
  121. package/lib/Typesense/Health.js +19 -0
  122. package/lib/Typesense/Health.js.map +1 -0
  123. package/lib/Typesense/Key.d.ts +33 -0
  124. package/lib/Typesense/Key.js +30 -0
  125. package/lib/Typesense/Key.js.map +1 -0
  126. package/lib/Typesense/Keys.d.ts +19 -0
  127. package/lib/Typesense/Keys.js +46 -0
  128. package/lib/Typesense/Keys.js.map +1 -0
  129. package/lib/Typesense/Metrics.d.ts +25 -0
  130. package/lib/Typesense/Metrics.js +19 -0
  131. package/lib/Typesense/Metrics.js.map +1 -0
  132. package/lib/Typesense/MultiSearch.d.ts +25 -0
  133. package/lib/Typesense/MultiSearch.js +63 -0
  134. package/lib/Typesense/MultiSearch.js.map +1 -0
  135. package/lib/Typesense/NLSearchModel.d.ts +16 -0
  136. package/lib/Typesense/NLSearchModel.js +37 -0
  137. package/lib/Typesense/NLSearchModel.js.map +1 -0
  138. package/lib/Typesense/NLSearchModels.d.ts +36 -0
  139. package/lib/Typesense/NLSearchModels.js +36 -0
  140. package/lib/Typesense/NLSearchModels.js.map +1 -0
  141. package/lib/Typesense/Operations.d.ts +12 -0
  142. package/lib/Typesense/Operations.js +27 -0
  143. package/lib/Typesense/Operations.js.map +1 -0
  144. package/lib/Typesense/Override.d.ts +17 -0
  145. package/lib/Typesense/Override.js +32 -0
  146. package/lib/Typesense/Override.js.map +1 -0
  147. package/lib/Typesense/Overrides.d.ts +43 -0
  148. package/lib/Typesense/Overrides.js +38 -0
  149. package/lib/Typesense/Overrides.js.map +1 -0
  150. package/lib/Typesense/Preset.d.ts +17 -0
  151. package/lib/Typesense/Preset.js +30 -0
  152. package/lib/Typesense/Preset.js.map +1 -0
  153. package/lib/Typesense/Presets.d.ts +18 -0
  154. package/lib/Typesense/Presets.js +49 -0
  155. package/lib/Typesense/Presets.js.map +1 -0
  156. package/lib/Typesense/RequestWithCache.d.ts +15 -0
  157. package/lib/Typesense/RequestWithCache.js +117 -0
  158. package/lib/Typesense/RequestWithCache.js.map +1 -0
  159. package/lib/Typesense/SearchClient.d.ts +13 -0
  160. package/lib/Typesense/SearchClient.js +45 -0
  161. package/lib/Typesense/SearchClient.js.map +1 -0
  162. package/lib/Typesense/SearchOnlyCollection.d.ts +11 -0
  163. package/lib/Typesense/SearchOnlyCollection.js +18 -0
  164. package/lib/Typesense/SearchOnlyCollection.js.map +1 -0
  165. package/lib/Typesense/SearchOnlyDocuments.d.ts +16 -0
  166. package/lib/Typesense/SearchOnlyDocuments.js +57 -0
  167. package/lib/Typesense/SearchOnlyDocuments.js.map +1 -0
  168. package/lib/Typesense/Stats.d.ts +24 -0
  169. package/lib/Typesense/Stats.js +19 -0
  170. package/lib/Typesense/Stats.js.map +1 -0
  171. package/lib/Typesense/Stemming.d.ts +12 -0
  172. package/lib/Typesense/Stemming.js +35 -0
  173. package/lib/Typesense/Stemming.js.map +1 -0
  174. package/lib/Typesense/StemmingDictionaries.d.ts +13 -0
  175. package/lib/Typesense/StemmingDictionaries.js +58 -0
  176. package/lib/Typesense/StemmingDictionaries.js.map +1 -0
  177. package/lib/Typesense/StemmingDictionary.d.ts +20 -0
  178. package/lib/Typesense/StemmingDictionary.js +30 -0
  179. package/lib/Typesense/StemmingDictionary.js.map +1 -0
  180. package/lib/Typesense/Stopword.d.ts +20 -0
  181. package/lib/Typesense/Stopword.js +30 -0
  182. package/lib/Typesense/Stopword.js.map +1 -0
  183. package/lib/Typesense/Stopwords.d.ts +17 -0
  184. package/lib/Typesense/Stopwords.js +36 -0
  185. package/lib/Typesense/Stopwords.js.map +1 -0
  186. package/lib/Typesense/Synonym.d.ts +21 -0
  187. package/lib/Typesense/Synonym.js +41 -0
  188. package/lib/Typesense/Synonym.js.map +1 -0
  189. package/lib/Typesense/SynonymSet.d.ts +21 -0
  190. package/lib/Typesense/SynonymSet.js +52 -0
  191. package/lib/Typesense/SynonymSet.js.map +1 -0
  192. package/lib/Typesense/SynonymSetItem.d.ts +14 -0
  193. package/lib/Typesense/SynonymSetItem.js +31 -0
  194. package/lib/Typesense/SynonymSetItem.js.map +1 -0
  195. package/lib/Typesense/SynonymSetItems.d.ts +10 -0
  196. package/lib/Typesense/SynonymSetItems.js +30 -0
  197. package/lib/Typesense/SynonymSetItems.js.map +1 -0
  198. package/lib/Typesense/SynonymSets.d.ts +23 -0
  199. package/lib/Typesense/SynonymSets.js +19 -0
  200. package/lib/Typesense/SynonymSets.js.map +1 -0
  201. package/lib/Typesense/Synonyms.d.ts +24 -0
  202. package/lib/Typesense/Synonyms.js +47 -0
  203. package/lib/Typesense/Synonyms.js.map +1 -0
  204. package/lib/Typesense/Types.d.ts +201 -0
  205. package/lib/Typesense/Types.js +22 -0
  206. package/lib/Typesense/Types.js.map +1 -0
  207. package/lib/Typesense/Utils.d.ts +11 -0
  208. package/lib/Typesense/Utils.js +50 -0
  209. package/lib/Typesense/Utils.js.map +1 -0
  210. package/lib/Typesense.d.ts +46 -0
  211. package/lib/Typesense.js +12 -0
  212. package/lib/Typesense.js.map +1 -0
  213. package/package.json +141 -0
  214. package/src/Typesense/Alias.ts +18 -0
  215. package/src/Typesense/Aliases.ts +41 -0
  216. package/src/Typesense/Analytics.ts +39 -0
  217. package/src/Typesense/AnalyticsEvent.ts +5 -0
  218. package/src/Typesense/AnalyticsEvents.ts +53 -0
  219. package/src/Typesense/AnalyticsRule.ts +63 -0
  220. package/src/Typesense/AnalyticsRuleV1.ts +52 -0
  221. package/src/Typesense/AnalyticsRules.ts +67 -0
  222. package/src/Typesense/AnalyticsRulesV1.ts +43 -0
  223. package/src/Typesense/AnalyticsV1.ts +52 -0
  224. package/src/Typesense/ApiCall.ts +1103 -0
  225. package/src/Typesense/Client.ts +225 -0
  226. package/src/Typesense/Collection.ts +179 -0
  227. package/src/Typesense/Collections.ts +68 -0
  228. package/src/Typesense/Configuration.ts +328 -0
  229. package/src/Typesense/Conversation.ts +45 -0
  230. package/src/Typesense/ConversationModel.ts +55 -0
  231. package/src/Typesense/ConversationModels.ts +38 -0
  232. package/src/Typesense/Conversations.ts +47 -0
  233. package/src/Typesense/CurationSet.ts +56 -0
  234. package/src/Typesense/CurationSetItem.ts +35 -0
  235. package/src/Typesense/CurationSetItems.ts +18 -0
  236. package/src/Typesense/CurationSets.ts +60 -0
  237. package/src/Typesense/Debug.ts +16 -0
  238. package/src/Typesense/Document.ts +34 -0
  239. package/src/Typesense/Documents.ts +445 -0
  240. package/src/Typesense/Errors/HTTPError.ts +3 -0
  241. package/src/Typesense/Errors/ImportError.ts +24 -0
  242. package/src/Typesense/Errors/MissingConfigurationError.ts +3 -0
  243. package/src/Typesense/Errors/ObjectAlreadyExists.ts +3 -0
  244. package/src/Typesense/Errors/ObjectNotFound.ts +3 -0
  245. package/src/Typesense/Errors/ObjectUnprocessable.ts +3 -0
  246. package/src/Typesense/Errors/RequestMalformed.ts +3 -0
  247. package/src/Typesense/Errors/RequestUnauthorized.ts +3 -0
  248. package/src/Typesense/Errors/ServerError.ts +3 -0
  249. package/src/Typesense/Errors/TypesenseError.ts +13 -0
  250. package/src/Typesense/Errors/index.ts +23 -0
  251. package/src/Typesense/Health.ts +15 -0
  252. package/src/Typesense/Key.ts +73 -0
  253. package/src/Typesense/Keys.ts +59 -0
  254. package/src/Typesense/Metrics.ts +31 -0
  255. package/src/Typesense/MultiSearch.ts +144 -0
  256. package/src/Typesense/NLSearchModel.ts +35 -0
  257. package/src/Typesense/NLSearchModels.ts +61 -0
  258. package/src/Typesense/Operations.ts +35 -0
  259. package/src/Typesense/Override.ts +31 -0
  260. package/src/Typesense/Overrides.ts +73 -0
  261. package/src/Typesense/Preset.ts +31 -0
  262. package/src/Typesense/Presets.ts +62 -0
  263. package/src/Typesense/RequestWithCache.ts +209 -0
  264. package/src/Typesense/SearchClient.ts +64 -0
  265. package/src/Typesense/SearchOnlyCollection.ts +24 -0
  266. package/src/Typesense/SearchOnlyDocuments.ts +87 -0
  267. package/src/Typesense/Stats.ts +31 -0
  268. package/src/Typesense/Stemming.ts +38 -0
  269. package/src/Typesense/StemmingDictionaries.ts +59 -0
  270. package/src/Typesense/StemmingDictionary.ts +37 -0
  271. package/src/Typesense/Stopword.ts +31 -0
  272. package/src/Typesense/Stopwords.ts +41 -0
  273. package/src/Typesense/Synonym.ts +42 -0
  274. package/src/Typesense/SynonymSet.ts +57 -0
  275. package/src/Typesense/SynonymSetItem.ts +28 -0
  276. package/src/Typesense/SynonymSetItems.ts +31 -0
  277. package/src/Typesense/SynonymSets.ts +30 -0
  278. package/src/Typesense/Synonyms.ts +55 -0
  279. package/src/Typesense/Types.ts +355 -0
  280. package/src/Typesense/Utils.ts +80 -0
  281. package/src/Typesense.ts +43 -0
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var NLSearchModels_1 = tslib_1.__importDefault(require("./NLSearchModels"));
5
+ var NLSearchModel = /** @class */ (function () {
6
+ function NLSearchModel(id, apiCall) {
7
+ this.id = id;
8
+ this.apiCall = apiCall;
9
+ }
10
+ NLSearchModel.prototype.retrieve = function () {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
12
+ return tslib_1.__generator(this, function (_a) {
13
+ return [2 /*return*/, this.apiCall.get(this.endpointPath())];
14
+ });
15
+ });
16
+ };
17
+ NLSearchModel.prototype.update = function (schema) {
18
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
19
+ return tslib_1.__generator(this, function (_a) {
20
+ return [2 /*return*/, this.apiCall.put(this.endpointPath(), schema)];
21
+ });
22
+ });
23
+ };
24
+ NLSearchModel.prototype.delete = function () {
25
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
26
+ return tslib_1.__generator(this, function (_a) {
27
+ return [2 /*return*/, this.apiCall.delete(this.endpointPath())];
28
+ });
29
+ });
30
+ };
31
+ NLSearchModel.prototype.endpointPath = function () {
32
+ return "".concat(NLSearchModels_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.id));
33
+ };
34
+ return NLSearchModel;
35
+ }());
36
+ exports.default = NLSearchModel;
37
+ //# sourceMappingURL=NLSearchModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NLSearchModel.js","sourceRoot":"","sources":["../../src/Typesense/NLSearchModel.ts"],"names":[],"mappings":";;;AACA,4EAA8C;AAS9C;IACE,uBACU,EAAU,EACV,OAAgB;QADhB,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,gCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAsB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACnE;IAEK,8BAAM,GAAZ,UACE,MAAiC;;;gBAEjC,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAsB,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,EAAC;;;KAC3E;IAEK,8BAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAA4B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5E;IAEO,oCAAY,GAApB;QACE,OAAO,UAAG,wBAAc,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IACzE,CAAC;IACH,oBAAC;AAAD,CAAC,AAvBD,IAuBC"}
@@ -0,0 +1,36 @@
1
+ import ApiCall from "./ApiCall";
2
+ export interface NLSearchModelBase {
3
+ model_name: string;
4
+ api_key?: string;
5
+ api_url?: string;
6
+ max_bytes?: number;
7
+ temperature?: number;
8
+ system_prompt?: string;
9
+ top_p?: number;
10
+ top_k?: number;
11
+ stop_sequences?: string[];
12
+ api_version?: string;
13
+ project_id?: string;
14
+ access_token?: string;
15
+ refresh_token?: string;
16
+ client_id?: string;
17
+ client_secret?: string;
18
+ region?: string;
19
+ max_output_tokens?: number;
20
+ account_id?: string;
21
+ }
22
+ export interface NLSearchModelCreateSchema extends NLSearchModelBase {
23
+ id?: string;
24
+ }
25
+ export interface NLSearchModelSchema extends NLSearchModelBase {
26
+ id: string;
27
+ }
28
+ export type NLSearchModelsRetrieveSchema = NLSearchModelSchema[];
29
+ export default class NLSearchModels {
30
+ private apiCall;
31
+ constructor(apiCall: ApiCall);
32
+ create(schema: NLSearchModelCreateSchema): Promise<NLSearchModelSchema>;
33
+ retrieve(): Promise<NLSearchModelsRetrieveSchema>;
34
+ private endpointPath;
35
+ static get RESOURCEPATH(): string;
36
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var RESOURCEPATH = "/nl_search_models";
5
+ var NLSearchModels = /** @class */ (function () {
6
+ function NLSearchModels(apiCall) {
7
+ this.apiCall = apiCall;
8
+ }
9
+ NLSearchModels.prototype.create = function (schema) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
11
+ return tslib_1.__generator(this, function (_a) {
12
+ return [2 /*return*/, this.apiCall.post(this.endpointPath(), schema)];
13
+ });
14
+ });
15
+ };
16
+ NLSearchModels.prototype.retrieve = function () {
17
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
18
+ return tslib_1.__generator(this, function (_a) {
19
+ return [2 /*return*/, this.apiCall.get(this.endpointPath())];
20
+ });
21
+ });
22
+ };
23
+ NLSearchModels.prototype.endpointPath = function () {
24
+ return NLSearchModels.RESOURCEPATH;
25
+ };
26
+ Object.defineProperty(NLSearchModels, "RESOURCEPATH", {
27
+ get: function () {
28
+ return RESOURCEPATH;
29
+ },
30
+ enumerable: false,
31
+ configurable: true
32
+ });
33
+ return NLSearchModels;
34
+ }());
35
+ exports.default = NLSearchModels;
36
+ //# sourceMappingURL=NLSearchModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NLSearchModels.js","sourceRoot":"","sources":["../../src/Typesense/NLSearchModels.ts"],"names":[],"mappings":";;;AAEA,IAAM,YAAY,GAAG,mBAAmB,CAAC;AAqCzC;IACE,wBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,+BAAM,GAAZ,UACE,MAAiC;;;gBAEjC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAsB,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,EAAC;;;KAC5E;IAEK,iCAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA+B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC5E;IAEO,qCAAY,GAApB;QACE,OAAO,cAAc,CAAC,YAAY,CAAC;IACrC,CAAC;IAED,sBAAW,8BAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,qBAAC;AAAD,CAAC,AApBD,IAoBC"}
@@ -0,0 +1,12 @@
1
+ import ApiCall from "./ApiCall";
2
+ export interface SchemaChangeStatus {
3
+ collection: string;
4
+ validated_docs: number;
5
+ altered_docs: number;
6
+ }
7
+ export default class Operations {
8
+ private apiCall;
9
+ constructor(apiCall: ApiCall);
10
+ perform(operationName: "vote" | "snapshot" | "cache/clear" | (string & {}), queryParameters?: Record<string, any>): Promise<any>;
11
+ getSchemaChanges(): Promise<SchemaChangeStatus[]>;
12
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var RESOURCEPATH = "/operations";
5
+ var Operations = /** @class */ (function () {
6
+ function Operations(apiCall) {
7
+ this.apiCall = apiCall;
8
+ }
9
+ Operations.prototype.perform = function (operationName_1) {
10
+ return tslib_1.__awaiter(this, arguments, void 0, function (operationName, queryParameters) {
11
+ if (queryParameters === void 0) { queryParameters = {}; }
12
+ return tslib_1.__generator(this, function (_a) {
13
+ return [2 /*return*/, this.apiCall.post("".concat(RESOURCEPATH, "/").concat(operationName), {}, queryParameters)];
14
+ });
15
+ });
16
+ };
17
+ Operations.prototype.getSchemaChanges = function () {
18
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
19
+ return tslib_1.__generator(this, function (_a) {
20
+ return [2 /*return*/, this.apiCall.get("".concat(RESOURCEPATH, "/schema_changes"))];
21
+ });
22
+ });
23
+ };
24
+ return Operations;
25
+ }());
26
+ exports.default = Operations;
27
+ //# sourceMappingURL=Operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../src/Typesense/Operations.ts"],"names":[],"mappings":";;;AAEA,IAAM,YAAY,GAAG,aAAa,CAAC;AAQnC;IACE,oBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,4BAAO,GAAb;oEACE,aAKiB,EACjB,eAAyC;YAAzC,gCAAA,EAAA,oBAAyC;;gBAEzC,sBAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,UAAG,YAAY,cAAI,aAAa,CAAE,EAClC,EAAE,EACF,eAAe,CAChB,EAAC;;;KACH;IAEK,qCAAgB,GAAtB;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,UAAG,YAAY,oBAAiB,CACjC,EAAC;;;KACH;IACH,iBAAC;AAAD,CAAC,AAxBD,IAwBC"}
@@ -0,0 +1,17 @@
1
+ import ApiCall from "./ApiCall";
2
+ import { OverrideCreateSchema } from "./Overrides";
3
+ export interface OverrideSchema extends OverrideCreateSchema {
4
+ id: string;
5
+ }
6
+ export interface OverrideDeleteSchema {
7
+ id: string;
8
+ }
9
+ export default class Override {
10
+ private collectionName;
11
+ private overrideId;
12
+ private apiCall;
13
+ constructor(collectionName: string, overrideId: string, apiCall: ApiCall);
14
+ retrieve(): Promise<OverrideSchema>;
15
+ delete(): Promise<OverrideDeleteSchema>;
16
+ private endpointPath;
17
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var Collections_1 = tslib_1.__importDefault(require("./Collections"));
5
+ var Overrides_1 = tslib_1.__importDefault(require("./Overrides"));
6
+ var Override = /** @class */ (function () {
7
+ function Override(collectionName, overrideId, apiCall) {
8
+ this.collectionName = collectionName;
9
+ this.overrideId = overrideId;
10
+ this.apiCall = apiCall;
11
+ }
12
+ Override.prototype.retrieve = function () {
13
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
14
+ return tslib_1.__generator(this, function (_a) {
15
+ return [2 /*return*/, this.apiCall.get(this.endpointPath())];
16
+ });
17
+ });
18
+ };
19
+ Override.prototype.delete = function () {
20
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
21
+ return tslib_1.__generator(this, function (_a) {
22
+ return [2 /*return*/, this.apiCall.delete(this.endpointPath())];
23
+ });
24
+ });
25
+ };
26
+ Override.prototype.endpointPath = function () {
27
+ return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.collectionName)).concat(Overrides_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.overrideId));
28
+ };
29
+ return Override;
30
+ }());
31
+ exports.default = Override;
32
+ //# sourceMappingURL=Override.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Override.js","sourceRoot":"","sources":["../../src/Typesense/Override.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AACxC,kEAA8D;AAU9D;IACE,kBACU,cAAsB,EACtB,UAAkB,EAClB,OAAgB;QAFhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,2BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC9D;IAEK,yBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,+BAAY,GAApB;QACE,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAG,mBAAS,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;IAClJ,CAAC;IACH,eAAC;AAAD,CAAC,AAlBD,IAkBC"}
@@ -0,0 +1,43 @@
1
+ import ApiCall from "./ApiCall";
2
+ import { OverrideSchema } from "./Override";
3
+ export interface OverrideRuleQuerySchema {
4
+ query?: string;
5
+ match?: "exact" | "contains";
6
+ }
7
+ export interface OverrideRuleFilterSchema {
8
+ filter_by?: string;
9
+ }
10
+ export interface OverrideRuleTagsSchema {
11
+ tags?: string[];
12
+ }
13
+ export interface OverrideCreateSchema {
14
+ rule: OverrideRuleQuerySchema & OverrideRuleFilterSchema & OverrideRuleTagsSchema;
15
+ filter_by?: string;
16
+ sort_by?: string;
17
+ remove_matched_tokens?: boolean;
18
+ replace_query?: string;
19
+ includes?: Array<{
20
+ id: string;
21
+ position: number;
22
+ }>;
23
+ excludes?: Array<{
24
+ id: string;
25
+ }>;
26
+ filter_curated_hits?: boolean;
27
+ effective_from_ts?: number;
28
+ effective_to_ts?: number;
29
+ stop_processing?: boolean;
30
+ metadata?: object;
31
+ }
32
+ export interface OverridesRetrieveSchema {
33
+ overrides: OverrideSchema[];
34
+ }
35
+ export default class Overrides {
36
+ private collectionName;
37
+ private apiCall;
38
+ constructor(collectionName: string, apiCall: ApiCall);
39
+ upsert(overrideId: string, params: OverrideCreateSchema): Promise<OverrideSchema>;
40
+ retrieve(): Promise<OverridesRetrieveSchema>;
41
+ private endpointPath;
42
+ static get RESOURCEPATH(): string;
43
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var Collections_1 = tslib_1.__importDefault(require("./Collections"));
5
+ var RESOURCEPATH = "/overrides";
6
+ var Overrides = /** @class */ (function () {
7
+ function Overrides(collectionName, apiCall) {
8
+ this.collectionName = collectionName;
9
+ this.apiCall = apiCall;
10
+ }
11
+ Overrides.prototype.upsert = function (overrideId, params) {
12
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
13
+ return tslib_1.__generator(this, function (_a) {
14
+ return [2 /*return*/, this.apiCall.put(this.endpointPath(overrideId), params)];
15
+ });
16
+ });
17
+ };
18
+ Overrides.prototype.retrieve = function () {
19
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
20
+ return tslib_1.__generator(this, function (_a) {
21
+ return [2 /*return*/, this.apiCall.get(this.endpointPath())];
22
+ });
23
+ });
24
+ };
25
+ Overrides.prototype.endpointPath = function (operation) {
26
+ return "".concat(Collections_1.default.RESOURCEPATH, "/").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation));
27
+ };
28
+ Object.defineProperty(Overrides, "RESOURCEPATH", {
29
+ get: function () {
30
+ return RESOURCEPATH;
31
+ },
32
+ enumerable: false,
33
+ configurable: true
34
+ });
35
+ return Overrides;
36
+ }());
37
+ exports.default = Overrides;
38
+ //# sourceMappingURL=Overrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Overrides.js","sourceRoot":"","sources":["../../src/Typesense/Overrides.ts"],"names":[],"mappings":";;;AACA,sEAAwC;AAGxC,IAAM,YAAY,GAAG,YAAY,CAAC;AAuClC;IACE,mBACU,cAAsB,EACtB,OAAgB;QADhB,mBAAc,GAAd,cAAc,CAAQ;QACtB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,0BAAM,GAAZ,UACE,UAAkB,EAClB,MAA4B;;;gBAE5B,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAC7B,MAAM,CACP,EAAC;;;KACH;IAEK,4BAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACvE;IAEO,gCAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,qBAAW,CAAC,YAAY,cAAI,IAAI,CAAC,cAAc,SACvD,SAAS,CAAC,YAAY,SACrB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAE,CAAC;IAC1E,CAAC;IAED,sBAAW,yBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,gBAAC;AAAD,CAAC,AA7BD,IA6BC"}
@@ -0,0 +1,17 @@
1
+ import ApiCall from "./ApiCall";
2
+ import { DocumentSchema } from "./Documents";
3
+ import { PresetCreateSchema } from "./Presets";
4
+ export interface PresetSchema<T extends DocumentSchema> extends PresetCreateSchema<T, string> {
5
+ name: string;
6
+ }
7
+ export interface PresetDeleteSchema {
8
+ name: string;
9
+ }
10
+ export default class Preset {
11
+ private presetId;
12
+ private apiCall;
13
+ constructor(presetId: string, apiCall: ApiCall);
14
+ retrieve<T extends DocumentSchema>(): Promise<PresetSchema<T>>;
15
+ delete(): Promise<PresetDeleteSchema>;
16
+ private endpointPath;
17
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var Presets_1 = tslib_1.__importDefault(require("./Presets"));
5
+ var Preset = /** @class */ (function () {
6
+ function Preset(presetId, apiCall) {
7
+ this.presetId = presetId;
8
+ this.apiCall = apiCall;
9
+ }
10
+ Preset.prototype.retrieve = function () {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
12
+ return tslib_1.__generator(this, function (_a) {
13
+ return [2 /*return*/, this.apiCall.get(this.endpointPath())];
14
+ });
15
+ });
16
+ };
17
+ Preset.prototype.delete = function () {
18
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
19
+ return tslib_1.__generator(this, function (_a) {
20
+ return [2 /*return*/, this.apiCall.delete(this.endpointPath())];
21
+ });
22
+ });
23
+ };
24
+ Preset.prototype.endpointPath = function () {
25
+ return "".concat(Presets_1.default.RESOURCEPATH, "/").concat(encodeURIComponent(this.presetId));
26
+ };
27
+ return Preset;
28
+ }());
29
+ exports.default = Preset;
30
+ //# sourceMappingURL=Preset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Preset.js","sourceRoot":"","sources":["../../src/Typesense/Preset.ts"],"names":[],"mappings":";;;AAEA,8DAAwD;AAWxD;IACE,gBACU,QAAgB,EAChB,OAAgB;QADhB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAAS;IACvB,CAAC;IAEE,yBAAQ,GAAd;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAkB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KAC/D;IAEK,uBAAM,GAAZ;;;gBACE,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAqB,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACrE;IAEO,6BAAY,GAApB;QACE,OAAO,UAAG,iBAAO,CAAC,YAAY,cAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAE,CAAC;IACxE,CAAC;IACH,aAAC;AAAD,CAAC,AAjBD,IAiBC"}
@@ -0,0 +1,18 @@
1
+ import ApiCall from "./ApiCall";
2
+ import { PresetSchema } from "./Preset";
3
+ import type { DocumentSchema, SearchParams } from "./Documents";
4
+ import { MultiSearchRequestsSchema } from "./MultiSearch";
5
+ export interface PresetCreateSchema<T extends DocumentSchema, Infix extends string> {
6
+ value: SearchParams<T, Infix> | MultiSearchRequestsSchema<T, Infix>;
7
+ }
8
+ export interface PresetsRetrieveSchema<T extends DocumentSchema> {
9
+ presets: PresetSchema<T>[];
10
+ }
11
+ export default class Presets {
12
+ private apiCall;
13
+ constructor(apiCall: ApiCall);
14
+ upsert<T extends DocumentSchema, const Infix extends string>(presetId: string, params: PresetCreateSchema<T, Infix>): Promise<PresetSchema<T>>;
15
+ retrieve<T extends DocumentSchema>(): Promise<PresetsRetrieveSchema<T>>;
16
+ private endpointPath;
17
+ static get RESOURCEPATH(): string;
18
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var Utils_1 = require("./Utils");
5
+ var RESOURCEPATH = "/presets";
6
+ var Presets = /** @class */ (function () {
7
+ function Presets(apiCall) {
8
+ this.apiCall = apiCall;
9
+ }
10
+ Presets.prototype.upsert = function (presetId, params) {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
12
+ var normalizedParams_1, normalizedParams;
13
+ return tslib_1.__generator(this, function (_a) {
14
+ if (typeof params.value === "object" && "searches" in params.value) {
15
+ normalizedParams_1 = params.value.searches.map(function (search) {
16
+ return (0, Utils_1.normalizeArrayableParams)(search);
17
+ });
18
+ return [2 /*return*/, this.apiCall.put(this.endpointPath(presetId), {
19
+ value: { searches: normalizedParams_1 },
20
+ })];
21
+ }
22
+ normalizedParams = (0, Utils_1.normalizeArrayableParams)(params.value);
23
+ return [2 /*return*/, this.apiCall.put(this.endpointPath(presetId), {
24
+ value: normalizedParams,
25
+ })];
26
+ });
27
+ });
28
+ };
29
+ Presets.prototype.retrieve = function () {
30
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
31
+ return tslib_1.__generator(this, function (_a) {
32
+ return [2 /*return*/, this.apiCall.get(this.endpointPath())];
33
+ });
34
+ });
35
+ };
36
+ Presets.prototype.endpointPath = function (operation) {
37
+ return "".concat(Presets.RESOURCEPATH).concat(operation === undefined ? "" : "/" + encodeURIComponent(operation));
38
+ };
39
+ Object.defineProperty(Presets, "RESOURCEPATH", {
40
+ get: function () {
41
+ return RESOURCEPATH;
42
+ },
43
+ enumerable: false,
44
+ configurable: true
45
+ });
46
+ return Presets;
47
+ }());
48
+ exports.default = Presets;
49
+ //# sourceMappingURL=Presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Presets.js","sourceRoot":"","sources":["../../src/Typesense/Presets.ts"],"names":[],"mappings":";;;AAIA,iCAAmD;AAEnD,IAAM,YAAY,GAAG,UAAU,CAAC;AAahC;IACE,iBAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAElC,wBAAM,GAAZ,UACE,QAAgB,EAChB,MAAoC;;;;gBAEpC,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC7D,qBAAmB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,MAAM;wBACxD,OAAA,IAAA,gCAAwB,EAAmC,MAAM,CAAC;oBAAlE,CAAkE,CACnE,CAAC;oBAEF,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAkB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;4BACpE,KAAK,EAAE,EAAE,QAAQ,EAAE,kBAAgB,EAAE;yBACtC,CAAC,EAAC;gBACL,CAAC;gBACK,gBAAgB,GAAG,IAAA,gCAAwB,EAI/C,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEhB,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAkB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;wBACpE,KAAK,EAAE,gBAAgB;qBACxB,CAAC,EAAC;;;KACJ;IAEK,0BAAQ,GAAd;;;gBAGE,sBAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAA2B,IAAI,CAAC,YAAY,EAAE,CAAC,EAAC;;;KACxE;IAEO,8BAAY,GAApB,UAAqB,SAAkB;QACrC,OAAO,UAAG,OAAO,CAAC,YAAY,SAC5B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAClE,CAAC;IACL,CAAC;IAED,sBAAW,uBAAY;aAAvB;YACE,OAAO,YAAY,CAAC;QACtB,CAAC;;;OAAA;IACH,cAAC;AAAD,CAAC,AA1CD,IA0CC"}
@@ -0,0 +1,15 @@
1
+ import type { DocumentSchema } from "./Documents";
2
+ import { HttpClient } from "./ApiCall";
3
+ import type { RequestParams } from "./Types";
4
+ export default class RequestWithCache {
5
+ private responseCache;
6
+ private responsePromiseCache;
7
+ clearCache(): void;
8
+ perform<const TContext extends HttpClient, const TMethod extends keyof HttpClient, const TDoc extends DocumentSchema[], TResult>(requestContext: TContext, methodName: TMethod, requestParams: RequestParams<TDoc>, cacheOptions: CacheOptions | undefined): Promise<TResult>;
9
+ private executeRequest;
10
+ }
11
+ interface CacheOptions {
12
+ cacheResponseForSeconds?: number;
13
+ maxSize?: number;
14
+ }
15
+ export type { RequestParams } from "./Types";
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var defaultCacheResponseForSeconds = 2 * 60;
5
+ var defaultMaxSize = 100;
6
+ var RequestWithCache = /** @class */ (function () {
7
+ function RequestWithCache() {
8
+ this.responseCache = new Map();
9
+ this.responsePromiseCache = new Map();
10
+ }
11
+ RequestWithCache.prototype.clearCache = function () {
12
+ this.responseCache = new Map();
13
+ this.responsePromiseCache = new Map();
14
+ };
15
+ RequestWithCache.prototype.perform = function (requestContext, methodName, requestParams, cacheOptions) {
16
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
17
+ var _a, _b, cacheResponseForSeconds, _c, maxSize, isCacheDisabled, path, queryParams, body, headers, streamConfig, abortSignal, responseType, isStreamingRequest, requestParamsJSON, cacheEntry, now, isEntryValid, cachePromiseEntry, isEntryValid, responsePromise, response, isCacheOverMaxSize, oldestEntry, isResponsePromiseCacheOverMaxSize, oldestEntry;
18
+ return tslib_1.__generator(this, function (_d) {
19
+ switch (_d.label) {
20
+ case 0:
21
+ _a = cacheOptions || {}, _b = _a.cacheResponseForSeconds, cacheResponseForSeconds = _b === void 0 ? defaultCacheResponseForSeconds : _b, _c = _a.maxSize, maxSize = _c === void 0 ? defaultMaxSize : _c;
22
+ isCacheDisabled = cacheOptions === undefined ||
23
+ cacheResponseForSeconds <= 0 ||
24
+ maxSize <= 0;
25
+ path = requestParams.path, queryParams = requestParams.queryParams, body = requestParams.body, headers = requestParams.headers, streamConfig = requestParams.streamConfig, abortSignal = requestParams.abortSignal, responseType = requestParams.responseType, isStreamingRequest = requestParams.isStreamingRequest;
26
+ if (isCacheDisabled) {
27
+ return [2 /*return*/, this.executeRequest(requestContext, methodName, path, queryParams, body, headers, { abortSignal: abortSignal, responseType: responseType, streamConfig: streamConfig, isStreamingRequest: isStreamingRequest })];
28
+ }
29
+ requestParamsJSON = JSON.stringify(requestParams);
30
+ cacheEntry = this.responseCache.get(requestParamsJSON);
31
+ now = Date.now();
32
+ if (cacheEntry) {
33
+ isEntryValid = now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;
34
+ if (isEntryValid) {
35
+ this.responseCache.delete(requestParamsJSON);
36
+ this.responseCache.set(requestParamsJSON, cacheEntry);
37
+ return [2 /*return*/, cacheEntry.response];
38
+ }
39
+ else {
40
+ this.responseCache.delete(requestParamsJSON);
41
+ }
42
+ }
43
+ cachePromiseEntry = this.responsePromiseCache.get(requestParamsJSON);
44
+ if (cachePromiseEntry) {
45
+ isEntryValid = now - cachePromiseEntry.requestTimestamp <
46
+ cacheResponseForSeconds * 1000;
47
+ if (isEntryValid) {
48
+ this.responsePromiseCache.delete(requestParamsJSON);
49
+ this.responsePromiseCache.set(requestParamsJSON, cachePromiseEntry);
50
+ return [2 /*return*/, cachePromiseEntry.responsePromise];
51
+ }
52
+ else {
53
+ this.responsePromiseCache.delete(requestParamsJSON);
54
+ }
55
+ }
56
+ responsePromise = this.executeRequest(requestContext, methodName, path, queryParams, body, headers, { abortSignal: abortSignal, responseType: responseType, streamConfig: streamConfig, isStreamingRequest: isStreamingRequest });
57
+ this.responsePromiseCache.set(requestParamsJSON, {
58
+ requestTimestamp: now,
59
+ responsePromise: responsePromise,
60
+ });
61
+ return [4 /*yield*/, responsePromise];
62
+ case 1:
63
+ response = _d.sent();
64
+ this.responseCache.set(requestParamsJSON, {
65
+ requestTimestamp: now,
66
+ response: response,
67
+ });
68
+ isCacheOverMaxSize = this.responseCache.size > maxSize;
69
+ if (isCacheOverMaxSize) {
70
+ oldestEntry = this.responseCache.keys().next().value;
71
+ if (oldestEntry) {
72
+ this.responseCache.delete(oldestEntry);
73
+ }
74
+ }
75
+ isResponsePromiseCacheOverMaxSize = this.responsePromiseCache.size > maxSize;
76
+ if (isResponsePromiseCacheOverMaxSize) {
77
+ oldestEntry = this.responsePromiseCache.keys().next().value;
78
+ if (oldestEntry) {
79
+ this.responsePromiseCache.delete(oldestEntry);
80
+ }
81
+ }
82
+ return [2 /*return*/, response];
83
+ }
84
+ });
85
+ });
86
+ };
87
+ RequestWithCache.prototype.executeRequest = function (context, methodName, path, queryParams, body, headers, options) {
88
+ if (queryParams === void 0) { queryParams = {}; }
89
+ var method = context[methodName];
90
+ switch (methodName) {
91
+ case "get":
92
+ return method.call(context, path, queryParams, {
93
+ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal,
94
+ responseType: options === null || options === void 0 ? void 0 : options.responseType,
95
+ streamConfig: options === null || options === void 0 ? void 0 : options.streamConfig,
96
+ isStreamingRequest: options === null || options === void 0 ? void 0 : options.isStreamingRequest,
97
+ });
98
+ case "delete":
99
+ return method.call(context, path, queryParams);
100
+ case "post":
101
+ return method.call(context, path, body, queryParams, headers || {}, {
102
+ abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal,
103
+ responseType: options === null || options === void 0 ? void 0 : options.responseType,
104
+ streamConfig: options === null || options === void 0 ? void 0 : options.streamConfig,
105
+ isStreamingRequest: options === null || options === void 0 ? void 0 : options.isStreamingRequest,
106
+ });
107
+ case "put":
108
+ case "patch":
109
+ return method.call(context, path, body, queryParams);
110
+ default:
111
+ throw new Error("Unsupported method: ".concat(String(methodName)));
112
+ }
113
+ };
114
+ return RequestWithCache;
115
+ }());
116
+ exports.default = RequestWithCache;
117
+ //# sourceMappingURL=RequestWithCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestWithCache.js","sourceRoot":"","sources":["../../src/Typesense/RequestWithCache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { ConfigurationOptions } from "./Configuration";
2
+ import MultiSearch from "./MultiSearch";
3
+ import { DocumentSchema } from "./Documents";
4
+ import { SearchOnlyCollection } from "./SearchOnlyCollection";
5
+ export default class SearchClient {
6
+ readonly multiSearch: MultiSearch;
7
+ private readonly configuration;
8
+ private readonly apiCall;
9
+ private readonly individualCollections;
10
+ constructor(options: ConfigurationOptions);
11
+ clearCache(): void;
12
+ collections<TDocumentSchema extends DocumentSchema>(collectionName: string): SearchOnlyCollection<TDocumentSchema>;
13
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var Configuration_1 = tslib_1.__importDefault(require("./Configuration"));
5
+ var ApiCall_1 = tslib_1.__importDefault(require("./ApiCall"));
6
+ var MultiSearch_1 = tslib_1.__importDefault(require("./MultiSearch"));
7
+ var SearchOnlyCollection_1 = require("./SearchOnlyCollection");
8
+ var SearchClient = /** @class */ (function () {
9
+ function SearchClient(options) {
10
+ var _a;
11
+ options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : true;
12
+ if (options.sendApiKeyAsQueryParam === true &&
13
+ (options.apiKey || "").length > 2000) {
14
+ console.warn("[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.");
15
+ options.sendApiKeyAsQueryParam = false;
16
+ }
17
+ this.configuration = new Configuration_1.default(options);
18
+ this.apiCall = new ApiCall_1.default(this.configuration);
19
+ this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration, true);
20
+ this.individualCollections = {};
21
+ }
22
+ SearchClient.prototype.clearCache = function () {
23
+ this.multiSearch.clearCache();
24
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
+ Object.entries(this.individualCollections).forEach(function (_a) {
26
+ var _ = _a[0], collection = _a[1];
27
+ collection.documents().clearCache();
28
+ });
29
+ };
30
+ SearchClient.prototype.collections = function (collectionName) {
31
+ if (!collectionName) {
32
+ throw new Error("Typesense.SearchClient only supports search operations, so the collectionName that needs to " +
33
+ "be searched must be specified. Use Typesense.Client if you need to access the collection object.");
34
+ }
35
+ else {
36
+ if (this.individualCollections[collectionName] === undefined) {
37
+ this.individualCollections[collectionName] = new SearchOnlyCollection_1.SearchOnlyCollection(collectionName, this.apiCall, this.configuration);
38
+ }
39
+ return this.individualCollections[collectionName];
40
+ }
41
+ };
42
+ return SearchClient;
43
+ }());
44
+ exports.default = SearchClient;
45
+ //# sourceMappingURL=SearchClient.js.map