@findkit/fetch
Advanced tools
+14
-14
@@ -37,3 +37,3 @@ import { expect, test, describe, beforeEach, afterEach, vi } from "vitest"; | ||
| test("empty fetch", async () => { | ||
| const { findkitFetch } = createFindkitFetcher({ | ||
| const { fetch: findkitFetch } = createFindkitFetcher({ | ||
| searchEndpoint: "https://test.invalid/multi-search2", | ||
@@ -53,3 +53,3 @@ }); | ||
| const res = await findkitFetch({ | ||
| q: "", | ||
| terms: "", | ||
| groups: [], | ||
@@ -64,3 +64,3 @@ }); | ||
| const { findkitFetch } = createFindkitFetcher({ | ||
| const { fetch: findkitFetch } = createFindkitFetcher({ | ||
| publicToken: "thetoken", | ||
@@ -84,3 +84,3 @@ }); | ||
| const res = await findkitFetch({ | ||
| q: "", | ||
| terms: "", | ||
| groups: [], | ||
@@ -96,3 +96,3 @@ }); | ||
| test("when no groups are defined add a default that searches everything", async () => { | ||
| const { findkitFetch } = createFindkitFetcher({ | ||
| const { fetch: findkitFetch } = createFindkitFetcher({ | ||
| searchEndpoint: "https://test.invalid/multi-search2", | ||
@@ -114,3 +114,3 @@ }); | ||
| const res = await findkitFetch({ | ||
| q: "test", | ||
| terms: "test", | ||
| }); | ||
@@ -137,3 +137,3 @@ | ||
| const { findkitFetch } = createFindkitFetcher({ | ||
| const { fetch: findkitFetch } = createFindkitFetcher({ | ||
| searchEndpoint: "https://test.invalid/multi-search2", | ||
@@ -148,3 +148,3 @@ async getJwtToken() { | ||
| const res = await findkitFetch({ | ||
| q: "", | ||
| terms: "", | ||
| groups: [], | ||
@@ -182,4 +182,4 @@ }); | ||
| for await (const i of Array(5).keys()) { | ||
| await fetcher.findkitFetch({ | ||
| q: i.toString(), | ||
| await fetcher.fetch({ | ||
| terms: i.toString(), | ||
| groups: [], | ||
@@ -224,4 +224,4 @@ }); | ||
| await fetcher.findkitFetch({ | ||
| q: "", | ||
| await fetcher.fetch({ | ||
| terms: "", | ||
| groups: [], | ||
@@ -232,4 +232,4 @@ }); | ||
| await fetcher.findkitFetch({ | ||
| q: "", | ||
| await fetcher.fetch({ | ||
| terms: "", | ||
| groups: [], | ||
@@ -236,0 +236,0 @@ }); |
@@ -27,3 +27,3 @@ "use strict"; | ||
| (0, vitest_1.test)("empty fetch", async () => { | ||
| const { findkitFetch } = (0, index_1.createFindkitFetcher)({ | ||
| const { fetch: findkitFetch } = (0, index_1.createFindkitFetcher)({ | ||
| searchEndpoint: "https://test.invalid/multi-search2", | ||
@@ -39,3 +39,3 @@ }); | ||
| const res = await findkitFetch({ | ||
| q: "", | ||
| terms: "", | ||
| groups: [], | ||
@@ -47,3 +47,3 @@ }); | ||
| const spy = vitest_1.vi.fn(); | ||
| const { findkitFetch } = (0, index_1.createFindkitFetcher)({ | ||
| const { fetch: findkitFetch } = (0, index_1.createFindkitFetcher)({ | ||
| publicToken: "thetoken", | ||
@@ -60,3 +60,3 @@ }); | ||
| const res = await findkitFetch({ | ||
| q: "", | ||
| terms: "", | ||
| groups: [], | ||
@@ -68,3 +68,3 @@ }); | ||
| (0, vitest_1.test)("when no groups are defined add a default that searches everything", async () => { | ||
| const { findkitFetch } = (0, index_1.createFindkitFetcher)({ | ||
| const { fetch: findkitFetch } = (0, index_1.createFindkitFetcher)({ | ||
| searchEndpoint: "https://test.invalid/multi-search2", | ||
@@ -82,3 +82,3 @@ }); | ||
| const res = await findkitFetch({ | ||
| q: "test", | ||
| terms: "test", | ||
| }); | ||
@@ -98,3 +98,3 @@ (0, vitest_1.expect)(res).toEqual({ duration: 123, groups: [] }); | ||
| })); | ||
| const { findkitFetch } = (0, index_1.createFindkitFetcher)({ | ||
| const { fetch: findkitFetch } = (0, index_1.createFindkitFetcher)({ | ||
| searchEndpoint: "https://test.invalid/multi-search2", | ||
@@ -107,3 +107,3 @@ async getJwtToken() { | ||
| const res = await findkitFetch({ | ||
| q: "", | ||
| terms: "", | ||
| groups: [], | ||
@@ -133,4 +133,4 @@ }); | ||
| for await (const i of Array(5).keys()) { | ||
| await fetcher.findkitFetch({ | ||
| q: i.toString(), | ||
| await fetcher.fetch({ | ||
| terms: i.toString(), | ||
| groups: [], | ||
@@ -166,9 +166,9 @@ }); | ||
| }); | ||
| await fetcher.findkitFetch({ | ||
| q: "", | ||
| await fetcher.fetch({ | ||
| terms: "", | ||
| groups: [], | ||
| }); | ||
| expired = true; | ||
| await fetcher.findkitFetch({ | ||
| q: "", | ||
| await fetcher.fetch({ | ||
| terms: "", | ||
| groups: [], | ||
@@ -175,0 +175,0 @@ }); |
+29
-5
@@ -5,3 +5,2 @@ /** | ||
| export interface FindkitFetchInit { | ||
| staging?: boolean; | ||
| logResponseTimes?: boolean; | ||
@@ -45,2 +44,6 @@ publicToken?: string; | ||
| message?: string; | ||
| /** | ||
| * @deprecated use message field instead | ||
| */ | ||
| error?: string; | ||
| } | ||
@@ -72,3 +75,3 @@ /** | ||
| export declare function createFindkitFetcher(init?: FindkitFetchInit): { | ||
| findkitFetch: FindkitFetch; | ||
| fetch: FindkitFetch; | ||
| clear: () => void; | ||
@@ -85,4 +88,13 @@ refresh: () => void; | ||
| export interface FindkitSearchParams { | ||
| q: string; | ||
| /** | ||
| * Free form text query | ||
| */ | ||
| terms: string; | ||
| /** | ||
| * Search groups | ||
| */ | ||
| groups?: FindkitSearchGroupParams[]; | ||
| /** | ||
| * Abort signal | ||
| */ | ||
| signal?: AbortSignal; | ||
@@ -94,3 +106,4 @@ } | ||
| export interface FindkitSearchGroupParams { | ||
| tagQuery: string[][]; | ||
| tagQuery?: string[][]; | ||
| tagBoost?: Record<string, number>; | ||
| createdDecay?: number; | ||
@@ -103,2 +116,8 @@ modifiedDecay?: number; | ||
| lang?: string; | ||
| /** | ||
| * EXPERIMENTAL | ||
| * | ||
| * Return content for each hit. Must be explicitly enabled in the findkit.toml file | ||
| */ | ||
| content?: boolean; | ||
| } | ||
@@ -112,3 +131,3 @@ /** | ||
| messages?: { | ||
| code: "string"; | ||
| id: string; | ||
| message: string; | ||
@@ -134,2 +153,7 @@ }[]; | ||
| customFields: CustomFields; | ||
| /** | ||
| * EXPERIMENTAL | ||
| * Only present if the content parameter was set in the request | ||
| */ | ||
| content?: string; | ||
| }[]; | ||
@@ -136,0 +160,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
+15
-5
@@ -84,3 +84,3 @@ "use strict"; | ||
| body: JSON.stringify({ | ||
| q: options.q, | ||
| q: options.terms, | ||
| groups: options.groups, | ||
@@ -103,7 +103,7 @@ }), | ||
| } | ||
| throw new Error("[findkit] Permission denied: " + error.message); | ||
| throw new Error("[findkit] Permission denied3: " + (error.message || error.error)); | ||
| } | ||
| if (!res.ok) { | ||
| const error = await safeErrorJson(res); | ||
| throw new Error(`[findkit] Bad response ${res.status} from search: ${error.message}`); | ||
| throw new Error(`[findkit] Bad response ${res.status} from search: ${error.message || error.error}`); | ||
| } | ||
@@ -124,3 +124,3 @@ const responses = await res.json(); | ||
| return { | ||
| findkitFetch, | ||
| fetch: findkitFetch, | ||
| clear, | ||
@@ -148,4 +148,14 @@ refresh, | ||
| function createSearchEndpoint(publicToken) { | ||
| return `https://search.findkit.com/c/${publicToken}/search?p=${publicToken}`; | ||
| let version = "c"; | ||
| try { | ||
| const usp = new URLSearchParams(location.hash.slice(1)); | ||
| version = usp.get("__findkit_version") || "c"; | ||
| } | ||
| catch { | ||
| // May crash for various reasons, no location object on a server, invalid | ||
| // query string etc. We really don't care why it fails, since this is for | ||
| // internal use only. | ||
| } | ||
| return `https://search.findkit.com/${version}/${publicToken}/search?p=${publicToken}`; | ||
| } | ||
| exports.createSearchEndpoint = createSearchEndpoint; |
+29
-5
@@ -5,3 +5,2 @@ /** | ||
| export interface FindkitFetchInit { | ||
| staging?: boolean; | ||
| logResponseTimes?: boolean; | ||
@@ -45,2 +44,6 @@ publicToken?: string; | ||
| message?: string; | ||
| /** | ||
| * @deprecated use message field instead | ||
| */ | ||
| error?: string; | ||
| } | ||
@@ -72,3 +75,3 @@ /** | ||
| export declare function createFindkitFetcher(init?: FindkitFetchInit): { | ||
| findkitFetch: FindkitFetch; | ||
| fetch: FindkitFetch; | ||
| clear: () => void; | ||
@@ -85,4 +88,13 @@ refresh: () => void; | ||
| export interface FindkitSearchParams { | ||
| q: string; | ||
| /** | ||
| * Free form text query | ||
| */ | ||
| terms: string; | ||
| /** | ||
| * Search groups | ||
| */ | ||
| groups?: FindkitSearchGroupParams[]; | ||
| /** | ||
| * Abort signal | ||
| */ | ||
| signal?: AbortSignal; | ||
@@ -94,3 +106,4 @@ } | ||
| export interface FindkitSearchGroupParams { | ||
| tagQuery: string[][]; | ||
| tagQuery?: string[][]; | ||
| tagBoost?: Record<string, number>; | ||
| createdDecay?: number; | ||
@@ -103,2 +116,8 @@ modifiedDecay?: number; | ||
| lang?: string; | ||
| /** | ||
| * EXPERIMENTAL | ||
| * | ||
| * Return content for each hit. Must be explicitly enabled in the findkit.toml file | ||
| */ | ||
| content?: boolean; | ||
| } | ||
@@ -112,3 +131,3 @@ /** | ||
| messages?: { | ||
| code: "string"; | ||
| id: string; | ||
| message: string; | ||
@@ -134,2 +153,7 @@ }[]; | ||
| customFields: CustomFields; | ||
| /** | ||
| * EXPERIMENTAL | ||
| * Only present if the content parameter was set in the request | ||
| */ | ||
| content?: string; | ||
| }[]; | ||
@@ -136,0 +160,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED;;GAEG;AACH,oBAAY,YAAY,GAAG;IAC1B,CAAC,WAAW,EAAE,MAAM,GACjB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAC/B;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAClC;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACjC,SAAS,CAAC;CACb,CAAC;AAEF;;GAEG;AACH,UAAU,QAAQ;IACjB,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,uBAAuB,CAAC;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAmBD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,CAAC,OAAO,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACb;AAmBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,gBAAgB;;;;EA6H3D;AAiBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,UAEvD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,oBAAY,qBAAqB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,YAAY,EAAE,YAAY,CAAC;KAC3B,EAAE,CAAC;CACJ"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} |
+15
-5
@@ -84,3 +84,3 @@ "use strict"; | ||
| body: JSON.stringify({ | ||
| q: options.q, | ||
| q: options.terms, | ||
| groups: options.groups, | ||
@@ -103,7 +103,7 @@ }), | ||
| } | ||
| throw new Error("[findkit] Permission denied: " + error.message); | ||
| throw new Error("[findkit] Permission denied3: " + (error.message || error.error)); | ||
| } | ||
| if (!res.ok) { | ||
| const error = await safeErrorJson(res); | ||
| throw new Error(`[findkit] Bad response ${res.status} from search: ${error.message}`); | ||
| throw new Error(`[findkit] Bad response ${res.status} from search: ${error.message || error.error}`); | ||
| } | ||
@@ -124,3 +124,3 @@ const responses = await res.json(); | ||
| return { | ||
| findkitFetch, | ||
| fetch: findkitFetch, | ||
| clear, | ||
@@ -148,4 +148,14 @@ refresh, | ||
| function createSearchEndpoint(publicToken) { | ||
| return `https://search.findkit.com/c/${publicToken}/search?p=${publicToken}`; | ||
| let version = "c"; | ||
| try { | ||
| const usp = new URLSearchParams(location.hash.slice(1)); | ||
| version = usp.get("__findkit_version") || "c"; | ||
| } | ||
| catch { | ||
| // May crash for various reasons, no location object on a server, invalid | ||
| // query string etc. We really don't care why it fails, since this is for | ||
| // internal use only. | ||
| } | ||
| return `https://search.findkit.com/${version}/${publicToken}/search?p=${publicToken}`; | ||
| } | ||
| exports.createSearchEndpoint = createSearchEndpoint; |
+1
-1
| { | ||
| "name": "@findkit/fetch", | ||
| "version": "2.0.0-dev.6f6a1c6044", | ||
| "version": "2.0.0-dev.751ece779c", | ||
| "description": "minimal fetch for findkit", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
+2
-83
| # Findkit Fetch | ||
| Low level read-only API for Findkit indices used by | ||
| [@valu/react-valu-search](https://docs.valusearch.pro/react-valu-search/introduction). | ||
| Low level read-only API for Findkit indices used by Findkit UI | ||
@@ -12,82 +11,2 @@ ## Install | ||
| In browsers it uses the native `fetch()` but in Node.js you must provide it from | ||
| node-fetch and set it as global. | ||
| ## Usage | ||
| ```ts | ||
| import { findkitFetch } from "@findkit/fetch"; | ||
| // Returns SearchResponse[] | ||
| const responses = await findkitFetch({ | ||
| // See FindkitFetchOptions below for more details | ||
| customer: "wikipedia", | ||
| terms: "genie", | ||
| apiKey: "your-api-key-here", // Contact your Findkit provider for api key | ||
| groups: [ | ||
| { | ||
| tagQuery: [], | ||
| size: 10, | ||
| from: 0, | ||
| }, | ||
| ], | ||
| }); | ||
| ``` | ||
| Each group will add a `SearchResponse` object to the resolved array. The array | ||
| order will correspond with the groups order. | ||
| ## API | ||
| `findkitFetch()` takes `FindkitFetchOptions` as request params and returns | ||
| `Promise<SearchResponse[]>`. | ||
| ```ts | ||
| function findkitFetch(params: FindkitFetchOptions): Promise<SearchResponse[]>; | ||
| interface FindkitFetchOptions { | ||
| terms: string; | ||
| groups: SearchGroupParams[]; | ||
| customer?: string; | ||
| searchEndpoint?: string; | ||
| apiKey: string; | ||
| staging?: boolean; | ||
| logResponseTimes?: boolean; | ||
| } | ||
| interface SearchGroupParams { | ||
| tagQuery: string[][]; | ||
| createdDecay?: number; | ||
| modifiedDecay?: number; | ||
| decayScale?: string; | ||
| highlightLength?: number; | ||
| size: number; | ||
| from: number; | ||
| lang?: string; | ||
| } | ||
| interface SearchResponse { | ||
| total: number; | ||
| duration?: number; | ||
| hits: { | ||
| score: number; | ||
| title: string; | ||
| language: string; | ||
| url: string; | ||
| domain: string; | ||
| created: string; | ||
| modified: string; | ||
| highlight: string; | ||
| tags: string[]; | ||
| customFields: CustomFields; | ||
| }[]; | ||
| } | ||
| type CustomFields = { | ||
| [customField: string]: | ||
| | { type: "date"; value: string } | ||
| | { type: "keyword"; value: string } | ||
| | { type: "number"; value: number } | ||
| | undefined; | ||
| }; | ||
| ``` | ||
| See https://docs.findkit.com/fetch |
+52
-9
@@ -5,3 +5,2 @@ /** | ||
| export interface FindkitFetchInit { | ||
| staging?: boolean; | ||
| logResponseTimes?: boolean; | ||
@@ -44,2 +43,6 @@ publicToken?: string; | ||
| message?: string; | ||
| /** | ||
| * @deprecated use message field instead | ||
| */ | ||
| error?: string; | ||
| } | ||
@@ -165,3 +168,3 @@ | ||
| body: JSON.stringify({ | ||
| q: options.q, | ||
| q: options.terms, | ||
| groups: options.groups, | ||
@@ -192,3 +195,5 @@ }), | ||
| throw new Error("[findkit] Permission denied: " + error.message); | ||
| throw new Error( | ||
| "[findkit] Permission denied3: " + (error.message || error.error) | ||
| ); | ||
| } | ||
@@ -199,3 +204,5 @@ | ||
| throw new Error( | ||
| `[findkit] Bad response ${res.status} from search: ${error.message}` | ||
| `[findkit] Bad response ${res.status} from search: ${ | ||
| error.message || error.error | ||
| }` | ||
| ); | ||
@@ -229,3 +236,3 @@ } | ||
| return { | ||
| findkitFetch, | ||
| fetch: findkitFetch, | ||
| clear, | ||
@@ -255,3 +262,14 @@ refresh, | ||
| export function createSearchEndpoint(publicToken: string) { | ||
| return `https://search.findkit.com/c/${publicToken}/search?p=${publicToken}`; | ||
| let version = "c"; | ||
| try { | ||
| const usp = new URLSearchParams(location.hash.slice(1)); | ||
| version = usp.get("__findkit_version") || "c"; | ||
| } catch { | ||
| // May crash for various reasons, no location object on a server, invalid | ||
| // query string etc. We really don't care why it fails, since this is for | ||
| // internal use only. | ||
| } | ||
| return `https://search.findkit.com/${version}/${publicToken}/search?p=${publicToken}`; | ||
| } | ||
@@ -263,4 +281,15 @@ | ||
| export interface FindkitSearchParams { | ||
| q: string; | ||
| /** | ||
| * Free form text query | ||
| */ | ||
| terms: string; | ||
| /** | ||
| * Search groups | ||
| */ | ||
| groups?: FindkitSearchGroupParams[]; | ||
| /** | ||
| * Abort signal | ||
| */ | ||
| signal?: AbortSignal; | ||
@@ -273,3 +302,4 @@ } | ||
| export interface FindkitSearchGroupParams { | ||
| tagQuery: string[][]; | ||
| tagQuery?: string[][]; | ||
| tagBoost?: Record<string, number>; | ||
| createdDecay?: number; | ||
@@ -282,2 +312,9 @@ modifiedDecay?: number; | ||
| lang?: string; | ||
| /** | ||
| * EXPERIMENTAL | ||
| * | ||
| * Return content for each hit. Must be explicitly enabled in the findkit.toml file | ||
| */ | ||
| content?: boolean; | ||
| } | ||
@@ -292,3 +329,3 @@ | ||
| messages?: { | ||
| code: "string"; | ||
| id: string; | ||
| message: string; | ||
@@ -315,3 +352,9 @@ }[]; | ||
| customFields: CustomFields; | ||
| /** | ||
| * EXPERIMENTAL | ||
| * Only present if the content parameter was set in the request | ||
| */ | ||
| content?: string; | ||
| }[]; | ||
| } |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
44447
2.88%1297
8.81%12
-87.1%25
316.67%