@nice-digital/search-client 0.2.1387-async-performance-te → 0.2.1392-async-first-commit

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.
package/es/demo.js CHANGED
@@ -1,40 +1,29 @@
1
- import { initialise, search } from ".";
1
+ import { initialise, getSearchUrl, typeAhead } from ".";
2
2
  initialise({
3
3
  baseURL: "https://dev-search-api.nice.org.uk/api",
4
4
  index: "nice",
5
- usePrettyUrls: true,
6
5
  });
7
- // console.log(getSearchUrl("/guidance/published?q=test"));
8
- // console.log(
9
- // getSearchUrl(
10
- // "/guidance/published?q=test?+hello&om=%5B%7B%22ndt%22%3A%5B%22Guidance%22%5D%7D%5D"
11
- // )
12
- // );
13
- // typeAhead("para").then((typeAheadSuggestions) => {
14
- // console.log({ typeAheadSuggestions });
15
- // });
6
+ console.log(getSearchUrl("/guidance/published?q=test"));
7
+ console.log(getSearchUrl("/guidance/published?q=test?+hello&om=%5B%7B%22ndt%22%3A%5B%22Guidance%22%5D%7D%5D"));
8
+ typeAhead("para").then(function (typeAheadSuggestions) {
9
+ console.log({ typeAheadSuggestions: typeAheadSuggestions });
10
+ });
16
11
  // console.log(
17
12
  // getUrlPathAndQuery({
18
13
  // route: "/guidance/published",
19
14
  // om: `[{"ndt":["Guidance"]}]`,
20
15
  // })
21
16
  // );
22
- try {
23
- // {
24
- // route: "/search",
25
- // ndt: "Guidance",
26
- // //om: '[{"ndt":["Guidance"]}]',
27
- // }
28
- search("/search?ndt=Guidance&ndt=NICE%20advice").then(function (data) {
29
- if (data.failed)
30
- console.log({ failed: true, err: data.errorMessage });
31
- else
32
- console.log("Success! " + data.resultCount + " results found");
33
- });
34
- }
35
- catch (e) {
36
- console.error(e);
37
- }
17
+ // try {
18
+ // search({
19
+ // route: "/search",
20
+ // om: '[{"ndt":["Guidance"]}]',
21
+ // }).then((data) => {
22
+ // console.log({ failed: data.failed, err: data.errorMessage });
23
+ // });
24
+ // } catch (e) {
25
+ // console.error(e);
26
+ // }
38
27
  // try {
39
28
  // search("/search?om=[{\"ndt\":[\"Guidance\"]}]").then((data) => {
40
29
  // console.log({ failed: data.failed });
package/es/demo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAA2B,MAAM,GAAG,CAAC;AAEhE,UAAU,CAAC;IACT,OAAO,EAAE,wCAAwC;IACjD,KAAK,EAAE,MAAM;IACb,aAAa,EAAE,IAAI;CACpB,CAAC,CAAC;AAEH,2DAA2D;AAE3D,eAAe;AACf,kBAAkB;AAClB,0FAA0F;AAC1F,MAAM;AACN,KAAK;AAEL,qDAAqD;AACrD,2CAA2C;AAC3C,MAAM;AAEN,eAAe;AACf,yBAAyB;AACzB,oCAAoC;AACpC,oCAAoC;AACpC,OAAO;AACP,KAAK;AAEL,IAAI;IAEF,IAAI;IACJ,sBAAsB;IACtB,qBAAqB;IACrB,oCAAoC;IACpC,IAAI;IAEJ,MAAM,CAAC,wCAAwC,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;QACzD,IAAG,IAAI,CAAC,MAAM;YACZ,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;;YAEtD,OAAO,CAAC,GAAG,CAAC,cAAa,IAAI,CAAC,WAAW,mBAAiB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;CACJ;AAAC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAClB;AAED,QAAQ;AACR,uEAAuE;AACvE,gDAAgD;AAChD,SAAS;AACT,IAAI;AACJ,aAAa;AACb,wBAAwB;AACxB,IAAI"}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAU,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAEhE,UAAU,CAAC;IACT,OAAO,EAAE,wCAAwC;IACjD,KAAK,EAAE,MAAM;CACd,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAExD,OAAO,CAAC,GAAG,CACT,YAAY,CACV,mFAAmF,CACpF,CACF,CAAC;AAEF,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,oBAAoB;IAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,oBAAoB,sBAAA,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,eAAe;AACf,yBAAyB;AACzB,oCAAoC;AACpC,oCAAoC;AACpC,OAAO;AACP,KAAK;AAEL,QAAQ;AACR,aAAa;AACb,wBAAwB;AACxB,oCAAoC;AACpC,wBAAwB;AACxB,oEAAoE;AACpE,QAAQ;AACR,gBAAgB;AAChB,sBAAsB;AACtB,IAAI;AAEJ,QAAQ;AACR,uEAAuE;AACvE,gDAAgD;AAChD,SAAS;AACT,IAAI;AACJ,aAAa;AACb,wBAAwB;AACxB,IAAI"}
package/es/index.js CHANGED
@@ -5,10 +5,8 @@ import applyCaseMiddleware from "axios-case-converter";
5
5
  import { EndPointUrl } from "./EndPointUrl";
6
6
  import { getSearchUrl, getUrlPathAndQuery } from "./url-utils";
7
7
  import qs from "qs";
8
- import { applyPrettyUrlMiddleware } from "./pretty-url-middleware";
9
8
  export * from "./models/Document";
10
9
  export * from "./models/Navigator";
11
- export * from "./models/OrModifiers";
12
10
  export * from "./models/PagerLinks";
13
11
  export * from "./models/SearchCorrection";
14
12
  export * from "./models/SearchResults";
@@ -21,7 +19,7 @@ export * from "./utils";
21
19
  /** The default timeout, in milliseconds, if unspecified in `initialise` */
22
20
  export var defaultTimeout = 5000;
23
21
  var isDevelopment = process.env.NODE_ENV === "development";
24
- var client;
22
+ export var client;
25
23
  /**
26
24
  * Ensures that `initialise` has been called before search methods like `search`.
27
25
  *
@@ -32,7 +30,7 @@ var ensureInitialised = function () {
32
30
  throw new Error("Please call initialise before calling search methods");
33
31
  };
34
32
  export var initialise = function (_a) {
35
- var baseURL = _a.baseURL, index = _a.index, _b = _a.timeout, timeout = _b === void 0 ? defaultTimeout : _b, _c = _a.usePrettyUrls, usePrettyUrls = _c === void 0 ? false : _c;
33
+ var baseURL = _a.baseURL, index = _a.index, _b = _a.timeout, timeout = _b === void 0 ? defaultTimeout : _b;
36
34
  // Lowercase all property names because that's more Javascripty and we receive capitalised properties from the server
37
35
  client = applyCaseMiddleware(axios.create({
38
36
  baseURL: baseURL,
@@ -51,9 +49,6 @@ export var initialise = function (_a) {
51
49
  })
52
50
  : undefined,
53
51
  }));
54
- if (usePrettyUrls)
55
- client = applyPrettyUrlMiddleware(client);
56
- return client;
57
52
  };
58
53
  /**
59
54
  * Performs a search against the Single Search Endpoint from the given search url.
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,mBAAmB,MAAM,sBAAsB,CAAC;AAOvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,2EAA2E;AAC3E,MAAM,CAAC,IAAM,cAAc,GAAG,IAAI,CAAC;AAEnC,IAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAE7D,MAAM,CAAC,IAAI,MAAqB,CAAC;AAWjC;;;;GAIG;AACH,IAAM,iBAAiB,GAAG;IACxB,IAAI,CAAC,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,EAA+D;QAA7D,OAAO,aAAA,EAAE,KAAK,WAAA,EAAE,eAAwB,EAAxB,OAAO,mBAAG,cAAc,KAAA;IACnE,qHAAqH;IACrH,MAAM,GAAG,mBAAmB,CAC1B,KAAK,CAAC,MAAM,CAAC;QACX,OAAO,SAAA;QACP,OAAO,SAAA;QACP,MAAM,EAAE;YACN,8DAA8D;YAC9D,KAAK,OAAA;SACN;QACD,OAAO,eAEF,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI;YACnC,YAAY,EACV,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO;SAC5D,CAAC,CACH;QACD,gEAAgE;QAChE,UAAU,EAAE,aAAa;YACvB,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;gBACd,kBAAkB,EAAE,KAAK;aAC1B,CAAC;YACJ,CAAC,CAAC,SAAS;KACd,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,IAAM,MAAM,GAAG,UACpB,GAA0C;;QAE1C,4DAA4D;QAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE3D,sBAAO,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,EAAC;;KAC3C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,IAAM,SAAS,GAAG,UAAO,KAAa;;QAC3C,sBAAA,SAAS,CACP,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAC7E,EAAA;;KAAA,CAAC;AAEJ;;;;;GAKG;AACH,IAAM,SAAS,GAAG,UAChB,QAAqB,EACrB,GAAW;;;;;;;gBAEX,iBAAiB,EAAE,CAAC;gBAEd,KAMF,YAAY,CAAC,GAAG,CAAC,EALnB,KAAK,WAAA,EACL,OAAO,aAAA,EAEP,KAAK,WAAA,EACF,WAAW,cALV,6BAML,CADe,CACM;;;;gBAGH,qBAAM,MAAM,CAAC,GAAG,CAAI,QAAQ,EAAE;wBAC7C,MAAM,wBACD,WAAW,KACd,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAC9C;qBACF,CAAC,EAAA;;gBALI,QAAQ,GAAG,SAKf;gBAEF,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;gBAEf,KAAK,GAAG,KAAY,CAAC;gBAE3B,IAAI,KAAK,CAAC,YAAY,CAAC,KAAG,CAAC,EAAE;oBACnB,QAAQ,GAAK,KAAqC,SAA1C,CAA2C;oBAE3D,0DAA0D;oBAC1D,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;wBAAE,sBAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAC;iBAC3C;gBAED,iCACE,MAAM,EAAE,IAAI,EACZ,YAAY,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,OAAO,IAC5C,CAAC,aAAa,IAAI;wBACnB,KAAK,EAAE;4BACL,WAAW,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;yBAC/B;qBACF,CAAC,GACF;;;;KAEL,CAAC"}
package/es/url-utils.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { __assign } from "tslib";
2
2
  import qs from "qs";
3
- import { knownOrModifierKeys } from "./models/OrModifiers";
4
3
  /**
5
4
  * Gets the path and query from the given search url object.
6
5
  *
@@ -15,9 +14,7 @@ export var getUrlPathAndQuery = function (searchUrl) {
15
14
  return (searchUrl.route +
16
15
  qs.stringify(searchUrl, {
17
16
  addQueryPrefix: true,
18
- filter: function (prefix, value) {
19
- return prefix === "route" || prefix === "fullUrl" ? undefined : value;
20
- },
17
+ filter: function (prefix, value) { return (prefix === "route" || prefix === "fullUrl" ? undefined : value); },
21
18
  }));
22
19
  };
23
20
  /**
@@ -27,103 +24,11 @@ export var getUrlPathAndQuery = function (searchUrl) {
27
24
  * getSearchUrl("/search?q=test")
28
25
  * returns { route: "/search", q: "test" }
29
26
  *
30
- * @param fullSearchUrl The relative url including path and query
27
+ * @param urlStr The relative url including path and query
31
28
  * @returns Search url object
32
29
  */
33
- export var getSearchUrl = function (fullSearchUrl) {
34
- var path = fullSearchUrl.split("?")[0], query = fullSearchUrl.split("?")[1] || "", params = qs.parse(query, { ignoreQueryPrefix: true });
35
- return __assign({ route: path, fullUrl: fullSearchUrl }, params);
36
- };
37
- /**
38
- * Parses a JSON-formatted 'om' query param into a set of key value pairs
39
- *
40
- * @param omJsonQueryString A JSON formatted om query e.g. [{"ndt":["Guidance"]}]
41
- * @returns A set of key value pairs of or modifiers
42
- */
43
- export var getPrettyOrModifierParams = function (omJsonQueryString) {
44
- return JSON.parse(decodeURIComponent(omJsonQueryString)).map(function (om) {
45
- // Lots of array access here because om is an array objects where the value is itself an array
46
- var entry = Object.entries(om)[0], key = entry[0], value = entry[1][0];
47
- return { key: key, value: value };
48
- });
49
- };
50
- /**
51
- * Turns a search URL with JSON-formatted 'or modifiers' into a 'pretty' url.
52
- *
53
- * A pretty url having keys e.g. ndt=Guidance&ndt=Advice rather than JSON
54
- *
55
- * @param searchUrl The raw search url, with JSON-formatted 'or modifiers' (om)
56
- * @returns A flattened pretty URL
57
- */
58
- export var getPrettyUrl = function (searchUrl) {
59
- var omQueryRegex = /([?&])om=([^&]+)/i, omMatch = searchUrl.match(omQueryRegex), omJsonQueryString = omMatch && omMatch[2];
60
- // Or modifiers is the only param that comes through as JSON so all the others we can leave alone
61
- if (!omJsonQueryString)
62
- return searchUrl;
63
- var flattenedOrModifiers = getPrettyOrModifierParams(omJsonQueryString)
64
- .map(function (_a) {
65
- var key = _a.key, value = _a.value;
66
- return key + "=" + encodeURIComponent(value);
67
- })
68
- .join("&");
69
- return searchUrl.replace(omQueryRegex, "$1" + flattenedOrModifiers);
70
- };
71
- /**
72
- * Converts individual or modifier params into a JSON formatted om query param
73
- *
74
- * @param params
75
- * @returns
76
- */
77
- export var getParamsWithUglyJSONOrModifier = function (params) {
78
- // Find the querystring params we need need to turn into the ugly om JSON
79
- var omJSONParam = Object.entries(params)
80
- .filter(function (om) { return knownOrModifierKeys.includes(om[0]); })
81
- // And convert them into a key values pairs
82
- .map(function (om) {
83
- var _a;
84
- var key = om[0], value = om[1];
85
- if (Array.isArray(value))
86
- return value.map(function (val) {
87
- var _a;
88
- return (_a = {}, _a[key] = [val], _a);
89
- });
90
- return _a = {}, _a[key] = [value], _a;
91
- })
92
- .reduce(function (prev, curr) {
93
- return prev.concat(curr);
94
- }, []);
95
- // Remove individual or modifier queries now we have a single JSON om
96
- knownOrModifierKeys.forEach(function (modifier) {
97
- delete params[modifier];
98
- });
99
- params.om = JSON.stringify(omJSONParam);
100
- return params;
101
- };
102
- /**
103
- * Converts a search url with pretty 'or modifiers' into a URL with an ugly JSON-formatted om param.
104
- *
105
- * @param prettyUrl The search url with individual om query params
106
- * @returns The URL with a single
107
- */
108
- export var getUglyJSONSearchUrl = function (prettyUrl) {
109
- var path = prettyUrl.split("?")[0], query = prettyUrl.split("?")[1] || "", params = qs.parse(query, { ignoreQueryPrefix: true });
110
- return (path +
111
- qs.stringify(getParamsWithUglyJSONOrModifier(params), {
112
- addQueryPrefix: true,
113
- }));
114
- };
115
- /**
116
- * Filter function to exclude known or modifier keys from a querystring object.
117
- *
118
- * Can be used for the 'filter' parameter within qs.stringify
119
- *
120
- * @param prefix The key prefix for this querystring value
121
- * @param value The value of this questring
122
- * @returns Undefined for known or modifiers, otherwise the original value
123
- */
124
- export var filterKnownOrModifiers = function (prefix, value) {
125
- return knownOrModifierKeys.includes(prefix)
126
- ? undefined
127
- : value;
30
+ export var getSearchUrl = function (urlStr) {
31
+ var questionMarkIndex = urlStr.indexOf("?"), path = urlStr.substr(0, questionMarkIndex == -1 ? urlStr.length : questionMarkIndex), query = questionMarkIndex === -1 ? "" : urlStr.substr(questionMarkIndex);
32
+ return __assign(__assign({ route: path }, qs.parse(query, { ignoreQueryPrefix: true })), { fullUrl: urlStr });
128
33
  };
129
34
  //# sourceMappingURL=url-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"url-utils.js","sourceRoot":"","sources":["../src/url-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"url-utils.js","sourceRoot":"","sources":["../src/url-utils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAKpB;;;;;;;;;GASG;AACH,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,SAAuC;IACxE,OAAO,CACL,SAAS,CAAC,KAAK;QACf,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE;YACtB,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,UAAC,MAAM,EAAE,KAAK,IAAK,OAAA,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAhE,CAAgE;SAC5F,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,MAAc;IACzC,IAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAC3C,IAAI,GAAG,MAAM,CAAC,MAAM,CAClB,CAAC,EACD,iBAAiB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAC5D,EACD,KAAK,GAAG,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE3E,2BACE,KAAK,EAAE,IAAI,IACR,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,KAC/C,OAAO,EAAE,MAAM,IACf;AACJ,CAAC,CAAC"}
package/lib/demo.js CHANGED
@@ -4,39 +4,28 @@ var _1 = require(".");
4
4
  _1.initialise({
5
5
  baseURL: "https://dev-search-api.nice.org.uk/api",
6
6
  index: "nice",
7
- usePrettyUrls: true,
8
7
  });
9
- // console.log(getSearchUrl("/guidance/published?q=test"));
10
- // console.log(
11
- // getSearchUrl(
12
- // "/guidance/published?q=test?+hello&om=%5B%7B%22ndt%22%3A%5B%22Guidance%22%5D%7D%5D"
13
- // )
14
- // );
15
- // typeAhead("para").then((typeAheadSuggestions) => {
16
- // console.log({ typeAheadSuggestions });
17
- // });
8
+ console.log(_1.getSearchUrl("/guidance/published?q=test"));
9
+ console.log(_1.getSearchUrl("/guidance/published?q=test?+hello&om=%5B%7B%22ndt%22%3A%5B%22Guidance%22%5D%7D%5D"));
10
+ _1.typeAhead("para").then(function (typeAheadSuggestions) {
11
+ console.log({ typeAheadSuggestions: typeAheadSuggestions });
12
+ });
18
13
  // console.log(
19
14
  // getUrlPathAndQuery({
20
15
  // route: "/guidance/published",
21
16
  // om: `[{"ndt":["Guidance"]}]`,
22
17
  // })
23
18
  // );
24
- try {
25
- // {
26
- // route: "/search",
27
- // ndt: "Guidance",
28
- // //om: '[{"ndt":["Guidance"]}]',
29
- // }
30
- _1.search("/search?ndt=Guidance&ndt=NICE%20advice").then(function (data) {
31
- if (data.failed)
32
- console.log({ failed: true, err: data.errorMessage });
33
- else
34
- console.log("Success! " + data.resultCount + " results found");
35
- });
36
- }
37
- catch (e) {
38
- console.error(e);
39
- }
19
+ // try {
20
+ // search({
21
+ // route: "/search",
22
+ // om: '[{"ndt":["Guidance"]}]',
23
+ // }).then((data) => {
24
+ // console.log({ failed: data.failed, err: data.errorMessage });
25
+ // });
26
+ // } catch (e) {
27
+ // console.error(e);
28
+ // }
40
29
  // try {
41
30
  // search("/search?om=[{\"ndt\":[\"Guidance\"]}]").then((data) => {
42
31
  // console.log({ failed: data.failed });
package/lib/demo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":";;AAAA,sBAAgE;AAEhE,aAAU,CAAC;IACT,OAAO,EAAE,wCAAwC;IACjD,KAAK,EAAE,MAAM;IACb,aAAa,EAAE,IAAI;CACpB,CAAC,CAAC;AAEH,2DAA2D;AAE3D,eAAe;AACf,kBAAkB;AAClB,0FAA0F;AAC1F,MAAM;AACN,KAAK;AAEL,qDAAqD;AACrD,2CAA2C;AAC3C,MAAM;AAEN,eAAe;AACf,yBAAyB;AACzB,oCAAoC;AACpC,oCAAoC;AACpC,OAAO;AACP,KAAK;AAEL,IAAI;IAEF,IAAI;IACJ,sBAAsB;IACtB,qBAAqB;IACrB,oCAAoC;IACpC,IAAI;IAEJ,SAAM,CAAC,wCAAwC,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;QACzD,IAAG,IAAI,CAAC,MAAM;YACZ,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;;YAEtD,OAAO,CAAC,GAAG,CAAC,cAAa,IAAI,CAAC,WAAW,mBAAiB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;CACJ;AAAC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAClB;AAED,QAAQ;AACR,uEAAuE;AACvE,gDAAgD;AAChD,SAAS;AACT,IAAI;AACJ,aAAa;AACb,wBAAwB;AACxB,IAAI"}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":";;AAAA,sBAAgE;AAEhE,aAAU,CAAC;IACT,OAAO,EAAE,wCAAwC;IACjD,KAAK,EAAE,MAAM;CACd,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,eAAY,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAExD,OAAO,CAAC,GAAG,CACT,eAAY,CACV,mFAAmF,CACpF,CACF,CAAC;AAEF,YAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,oBAAoB;IAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,oBAAoB,sBAAA,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,eAAe;AACf,yBAAyB;AACzB,oCAAoC;AACpC,oCAAoC;AACpC,OAAO;AACP,KAAK;AAEL,QAAQ;AACR,aAAa;AACb,wBAAwB;AACxB,oCAAoC;AACpC,wBAAwB;AACxB,oEAAoE;AACpE,QAAQ;AACR,gBAAgB;AAChB,sBAAsB;AACtB,IAAI;AAEJ,QAAQ;AACR,uEAAuE;AACvE,gDAAgD;AAChD,SAAS;AACT,IAAI;AACJ,aAAa;AACb,wBAAwB;AACxB,IAAI"}
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.typeAhead = exports.search = exports.initialise = exports.defaultTimeout = void 0;
3
+ exports.typeAhead = exports.search = exports.initialise = exports.client = exports.defaultTimeout = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var https_1 = tslib_1.__importDefault(require("https"));
6
6
  var axios_1 = tslib_1.__importDefault(require("axios"));
@@ -8,10 +8,8 @@ var axios_case_converter_1 = tslib_1.__importDefault(require("axios-case-convert
8
8
  var EndPointUrl_1 = require("./EndPointUrl");
9
9
  var url_utils_1 = require("./url-utils");
10
10
  var qs_1 = tslib_1.__importDefault(require("qs"));
11
- var pretty_url_middleware_1 = require("./pretty-url-middleware");
12
11
  tslib_1.__exportStar(require("./models/Document"), exports);
13
12
  tslib_1.__exportStar(require("./models/Navigator"), exports);
14
- tslib_1.__exportStar(require("./models/OrModifiers"), exports);
15
13
  tslib_1.__exportStar(require("./models/PagerLinks"), exports);
16
14
  tslib_1.__exportStar(require("./models/SearchCorrection"), exports);
17
15
  tslib_1.__exportStar(require("./models/SearchResults"), exports);
@@ -24,20 +22,19 @@ tslib_1.__exportStar(require("./utils"), exports);
24
22
  /** The default timeout, in milliseconds, if unspecified in `initialise` */
25
23
  exports.defaultTimeout = 5000;
26
24
  var isDevelopment = process.env.NODE_ENV === "development";
27
- var client;
28
25
  /**
29
26
  * Ensures that `initialise` has been called before search methods like `search`.
30
27
  *
31
28
  * Throws an error if `initialise` hasn't been called.
32
29
  */
33
30
  var ensureInitialised = function () {
34
- if (!client)
31
+ if (!exports.client)
35
32
  throw new Error("Please call initialise before calling search methods");
36
33
  };
37
34
  var initialise = function (_a) {
38
- var baseURL = _a.baseURL, index = _a.index, _b = _a.timeout, timeout = _b === void 0 ? exports.defaultTimeout : _b, _c = _a.usePrettyUrls, usePrettyUrls = _c === void 0 ? false : _c;
35
+ var baseURL = _a.baseURL, index = _a.index, _b = _a.timeout, timeout = _b === void 0 ? exports.defaultTimeout : _b;
39
36
  // Lowercase all property names because that's more Javascripty and we receive capitalised properties from the server
40
- client = axios_case_converter_1.default(axios_1.default.create({
37
+ exports.client = axios_case_converter_1.default(axios_1.default.create({
41
38
  baseURL: baseURL,
42
39
  timeout: timeout,
43
40
  params: {
@@ -54,9 +51,6 @@ var initialise = function (_a) {
54
51
  })
55
52
  : undefined,
56
53
  }));
57
- if (usePrettyUrls)
58
- client = pretty_url_middleware_1.applyPrettyUrlMiddleware(client);
59
- return client;
60
54
  };
61
55
  exports.initialise = initialise;
62
56
  /**
@@ -122,7 +116,7 @@ var doRequest = function (endpoint, url) { return tslib_1.__awaiter(void 0, void
122
116
  _b.label = 1;
123
117
  case 1:
124
118
  _b.trys.push([1, 3, , 4]);
125
- return [4 /*yield*/, client.get(endpoint, {
119
+ return [4 /*yield*/, exports.client.get(endpoint, {
126
120
  params: tslib_1.__assign(tslib_1.__assign({}, queryParams), { route: route === endpoint ? undefined : route }),
127
121
  })];
128
122
  case 2:
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,wDAA0B;AAC1B,wDAAyD;AACzD,sFAAuD;AAOvD,6CAA4C;AAC5C,yCAA+D;AAE/D,kDAAoB;AACpB,iEAAmE;AAEnE,4DAAkC;AAClC,6DAAmC;AACnC,+DAAqC;AACrC,8DAAoC;AACpC,oEAA0C;AAC1C,iEAAuC;AACvC,sEAA4C;AAC5C,6DAAmC;AACnC,6DAAmC;AACnC,wDAA8B;AAC9B,sDAA4B;AAC5B,kDAAwB;AAExB,2EAA2E;AAC9D,QAAA,cAAc,GAAG,IAAI,CAAC;AAEnC,IAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAE7D,IAAI,MAAqB,CAAC;AAa1B;;;;GAIG;AACH,IAAM,iBAAiB,GAAG;IACxB,IAAI,CAAC,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEK,IAAM,UAAU,GAAG,UAAC,EAKP;QAJlB,OAAO,aAAA,EACP,KAAK,WAAA,EACL,eAAwB,EAAxB,OAAO,mBAAG,sBAAc,KAAA,EACxB,qBAAqB,EAArB,aAAa,mBAAG,KAAK,KAAA;IAErB,qHAAqH;IACrH,MAAM,GAAG,8BAAmB,CAC1B,eAAK,CAAC,MAAM,CAAC;QACX,OAAO,SAAA;QACP,OAAO,SAAA;QACP,MAAM,EAAE;YACN,8DAA8D;YAC9D,KAAK,OAAA;SACN;QACD,OAAO,uBAEF,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI;YACnC,YAAY,EACV,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO;SAC5D,CAAC,CACH;QACD,gEAAgE;QAChE,UAAU,EAAE,aAAa;YACvB,CAAC,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC;gBACd,kBAAkB,EAAE,KAAK;aAC1B,CAAC;YACJ,CAAC,CAAC,SAAS;KACd,CAAC,CACH,CAAC;IAEF,IAAI,aAAa;QAAE,MAAM,GAAG,gDAAwB,CAAC,MAAM,CAAC,CAAC;IAE7D,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAlCW,QAAA,UAAU,cAkCrB;AAEF;;;;;;;;;;;;;;GAcG;AACI,IAAM,MAAM,GAAG,UACpB,GAA0C;;QAE1C,4DAA4D;QAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,GAAG,GAAG,8BAAkB,CAAC,GAAG,CAAC,CAAC;QAE3D,sBAAO,SAAS,CAAC,yBAAW,CAAC,MAAM,EAAE,GAAG,CAAC,EAAC;;KAC3C,CAAC;AAPW,QAAA,MAAM,UAOjB;AAEF;;;;;;;;;;;;;;GAcG;AACI,IAAM,SAAS,GAAG,UAAO,KAAa;;QAC3C,sBAAA,SAAS,CACP,yBAAW,CAAC,SAAS,EACrB,yBAAW,CAAC,SAAS,GAAG,YAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAC7E,EAAA;;KAAA,CAAC;AAJS,QAAA,SAAS,aAIlB;AAEJ;;;;;GAKG;AACH,IAAM,SAAS,GAAG,UAChB,QAAqB,EACrB,GAAW;;;;;;;gBAEX,iBAAiB,EAAE,CAAC;gBAEd,KAMF,wBAAY,CAAC,GAAG,CAAC,EALnB,KAAK,WAAA,EACL,OAAO,aAAA,EAEP,KAAK,WAAA,EACF,WAAW,sBALV,6BAML,CADe,CACM;;;;gBAGH,qBAAM,MAAM,CAAC,GAAG,CAAI,QAAQ,EAAE;wBAC7C,MAAM,wCACD,WAAW,KACd,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAC9C;qBACF,CAAC,EAAA;;gBALI,QAAQ,GAAG,SAKf;gBAEF,sBAAO,QAAQ,CAAC,IAAI,EAAC;;;gBAEf,KAAK,GAAG,KAAY,CAAC;gBAE3B,IAAI,eAAK,CAAC,YAAY,CAAC,KAAG,CAAC,EAAE;oBACnB,QAAQ,GAAK,KAAqC,SAA1C,CAA2C;oBAE3D,0DAA0D;oBAC1D,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;wBAAE,sBAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAC;iBAC3C;gBAED,yCACE,MAAM,EAAE,IAAI,EACZ,YAAY,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,OAAO,IAC5C,CAAC,aAAa,IAAI;wBACnB,KAAK,EAAE;4BACL,WAAW,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;yBAC/B;qBACF,CAAC,GACF;;;;KAEL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/url-utils.js CHANGED
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.filterKnownOrModifiers = exports.getUglyJSONSearchUrl = exports.getParamsWithUglyJSONOrModifier = exports.getPrettyUrl = exports.getPrettyOrModifierParams = exports.getSearchUrl = exports.getUrlPathAndQuery = void 0;
3
+ exports.getSearchUrl = exports.getUrlPathAndQuery = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var qs_1 = tslib_1.__importDefault(require("qs"));
6
- var OrModifiers_1 = require("./models/OrModifiers");
7
6
  /**
8
7
  * Gets the path and query from the given search url object.
9
8
  *
@@ -18,9 +17,7 @@ var getUrlPathAndQuery = function (searchUrl) {
18
17
  return (searchUrl.route +
19
18
  qs_1.default.stringify(searchUrl, {
20
19
  addQueryPrefix: true,
21
- filter: function (prefix, value) {
22
- return prefix === "route" || prefix === "fullUrl" ? undefined : value;
23
- },
20
+ filter: function (prefix, value) { return (prefix === "route" || prefix === "fullUrl" ? undefined : value); },
24
21
  }));
25
22
  };
26
23
  exports.getUrlPathAndQuery = getUrlPathAndQuery;
@@ -31,109 +28,12 @@ exports.getUrlPathAndQuery = getUrlPathAndQuery;
31
28
  * getSearchUrl("/search?q=test")
32
29
  * returns { route: "/search", q: "test" }
33
30
  *
34
- * @param fullSearchUrl The relative url including path and query
31
+ * @param urlStr The relative url including path and query
35
32
  * @returns Search url object
36
33
  */
37
- var getSearchUrl = function (fullSearchUrl) {
38
- var path = fullSearchUrl.split("?")[0], query = fullSearchUrl.split("?")[1] || "", params = qs_1.default.parse(query, { ignoreQueryPrefix: true });
39
- return tslib_1.__assign({ route: path, fullUrl: fullSearchUrl }, params);
34
+ var getSearchUrl = function (urlStr) {
35
+ var questionMarkIndex = urlStr.indexOf("?"), path = urlStr.substr(0, questionMarkIndex == -1 ? urlStr.length : questionMarkIndex), query = questionMarkIndex === -1 ? "" : urlStr.substr(questionMarkIndex);
36
+ return tslib_1.__assign(tslib_1.__assign({ route: path }, qs_1.default.parse(query, { ignoreQueryPrefix: true })), { fullUrl: urlStr });
40
37
  };
41
38
  exports.getSearchUrl = getSearchUrl;
42
- /**
43
- * Parses a JSON-formatted 'om' query param into a set of key value pairs
44
- *
45
- * @param omJsonQueryString A JSON formatted om query e.g. [{"ndt":["Guidance"]}]
46
- * @returns A set of key value pairs of or modifiers
47
- */
48
- var getPrettyOrModifierParams = function (omJsonQueryString) {
49
- return JSON.parse(decodeURIComponent(omJsonQueryString)).map(function (om) {
50
- // Lots of array access here because om is an array objects where the value is itself an array
51
- var entry = Object.entries(om)[0], key = entry[0], value = entry[1][0];
52
- return { key: key, value: value };
53
- });
54
- };
55
- exports.getPrettyOrModifierParams = getPrettyOrModifierParams;
56
- /**
57
- * Turns a search URL with JSON-formatted 'or modifiers' into a 'pretty' url.
58
- *
59
- * A pretty url having keys e.g. ndt=Guidance&ndt=Advice rather than JSON
60
- *
61
- * @param searchUrl The raw search url, with JSON-formatted 'or modifiers' (om)
62
- * @returns A flattened pretty URL
63
- */
64
- var getPrettyUrl = function (searchUrl) {
65
- var omQueryRegex = /([?&])om=([^&]+)/i, omMatch = searchUrl.match(omQueryRegex), omJsonQueryString = omMatch && omMatch[2];
66
- // Or modifiers is the only param that comes through as JSON so all the others we can leave alone
67
- if (!omJsonQueryString)
68
- return searchUrl;
69
- var flattenedOrModifiers = exports.getPrettyOrModifierParams(omJsonQueryString)
70
- .map(function (_a) {
71
- var key = _a.key, value = _a.value;
72
- return key + "=" + encodeURIComponent(value);
73
- })
74
- .join("&");
75
- return searchUrl.replace(omQueryRegex, "$1" + flattenedOrModifiers);
76
- };
77
- exports.getPrettyUrl = getPrettyUrl;
78
- /**
79
- * Converts individual or modifier params into a JSON formatted om query param
80
- *
81
- * @param params
82
- * @returns
83
- */
84
- var getParamsWithUglyJSONOrModifier = function (params) {
85
- // Find the querystring params we need need to turn into the ugly om JSON
86
- var omJSONParam = Object.entries(params)
87
- .filter(function (om) { return OrModifiers_1.knownOrModifierKeys.includes(om[0]); })
88
- // And convert them into a key values pairs
89
- .map(function (om) {
90
- var _a;
91
- var key = om[0], value = om[1];
92
- if (Array.isArray(value))
93
- return value.map(function (val) {
94
- var _a;
95
- return (_a = {}, _a[key] = [val], _a);
96
- });
97
- return _a = {}, _a[key] = [value], _a;
98
- })
99
- .reduce(function (prev, curr) {
100
- return prev.concat(curr);
101
- }, []);
102
- // Remove individual or modifier queries now we have a single JSON om
103
- OrModifiers_1.knownOrModifierKeys.forEach(function (modifier) {
104
- delete params[modifier];
105
- });
106
- params.om = JSON.stringify(omJSONParam);
107
- return params;
108
- };
109
- exports.getParamsWithUglyJSONOrModifier = getParamsWithUglyJSONOrModifier;
110
- /**
111
- * Converts a search url with pretty 'or modifiers' into a URL with an ugly JSON-formatted om param.
112
- *
113
- * @param prettyUrl The search url with individual om query params
114
- * @returns The URL with a single
115
- */
116
- var getUglyJSONSearchUrl = function (prettyUrl) {
117
- var path = prettyUrl.split("?")[0], query = prettyUrl.split("?")[1] || "", params = qs_1.default.parse(query, { ignoreQueryPrefix: true });
118
- return (path +
119
- qs_1.default.stringify(exports.getParamsWithUglyJSONOrModifier(params), {
120
- addQueryPrefix: true,
121
- }));
122
- };
123
- exports.getUglyJSONSearchUrl = getUglyJSONSearchUrl;
124
- /**
125
- * Filter function to exclude known or modifier keys from a querystring object.
126
- *
127
- * Can be used for the 'filter' parameter within qs.stringify
128
- *
129
- * @param prefix The key prefix for this querystring value
130
- * @param value The value of this questring
131
- * @returns Undefined for known or modifiers, otherwise the original value
132
- */
133
- var filterKnownOrModifiers = function (prefix, value) {
134
- return OrModifiers_1.knownOrModifierKeys.includes(prefix)
135
- ? undefined
136
- : value;
137
- };
138
- exports.filterKnownOrModifiers = filterKnownOrModifiers;
139
39
  //# sourceMappingURL=url-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"url-utils.js","sourceRoot":"","sources":["../src/url-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"url-utils.js","sourceRoot":"","sources":["../src/url-utils.ts"],"names":[],"mappings":";;;;AAAA,kDAAoB;AAKpB;;;;;;;;;GASG;AACI,IAAM,kBAAkB,GAAG,UAAC,SAAuC;IACxE,OAAO,CACL,SAAS,CAAC,KAAK;QACf,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE;YACtB,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,UAAC,MAAM,EAAE,KAAK,IAAK,OAAA,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAhE,CAAgE;SAC5F,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,kBAAkB,sBAQ7B;AAEF;;;;;;;;;GASG;AACI,IAAM,YAAY,GAAG,UAAC,MAAc;IACzC,IAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAC3C,IAAI,GAAG,MAAM,CAAC,MAAM,CAClB,CAAC,EACD,iBAAiB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAC5D,EACD,KAAK,GAAG,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE3E,2CACE,KAAK,EAAE,IAAI,IACR,YAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,KAC/C,OAAO,EAAE,MAAM,IACf;AACJ,CAAC,CAAC;AAbW,QAAA,YAAY,gBAavB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice-digital/search-client",
3
- "version": "0.2.1387-async-performance-te",
3
+ "version": "0.2.1392-async-first-commit",
4
4
  "description": "Search client for NICE digital services",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./es/index.js",
@@ -15,7 +15,7 @@
15
15
  "ts:lib:watch": "npm run ts:lib -- --watch",
16
16
  "ts:es": "rimraf es && tsc --p src --module ES6 --outDir es",
17
17
  "ts:es:watch": "npm run ts:es -- --watch",
18
- "demo": "npm run ts:lib && node lib/demo"
18
+ "demo": "npm run ts && node lib/demo"
19
19
  },
20
20
  "files": [
21
21
  "lib",
package/types/index.d.ts CHANGED
@@ -6,7 +6,6 @@ import { TypeAheadResults } from "./models/TypeAhead";
6
6
  import { Except } from "type-fest";
7
7
  export * from "./models/Document";
8
8
  export * from "./models/Navigator";
9
- export * from "./models/OrModifiers";
10
9
  export * from "./models/PagerLinks";
11
10
  export * from "./models/SearchCorrection";
12
11
  export * from "./models/SearchResults";
@@ -18,6 +17,7 @@ export * from "./url-utils";
18
17
  export * from "./utils";
19
18
  /** The default timeout, in milliseconds, if unspecified in `initialise` */
20
19
  export declare const defaultTimeout = 5000;
20
+ export declare let client: AxiosInstance;
21
21
  export interface InitialiseOptions {
22
22
  /** The abssolute base URL for the Single Search Endpoint, including the /api path */
23
23
  baseURL: `https://${string}/api`;
@@ -25,10 +25,8 @@ export interface InitialiseOptions {
25
25
  index: SearchIndex;
26
26
  /** The timeout, in milliseconds. Leave blank to use the default timeout. */
27
27
  timeout?: number;
28
- /** Whether to transform URLs to pretty URLs in server responses and from pretty URLs in requests. Defaults to false. */
29
- usePrettyUrls?: boolean;
30
28
  }
31
- export declare const initialise: ({ baseURL, index, timeout, usePrettyUrls, }: InitialiseOptions) => AxiosInstance;
29
+ export declare const initialise: ({ baseURL, index, timeout }: InitialiseOptions) => void;
32
30
  /**
33
31
  * Performs a search against the Single Search Endpoint from the given search url.
34
32
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAc,EAAE,aAAa,EAAc,MAAM,OAAO,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,2EAA2E;AAC3E,eAAO,MAAM,cAAc,OAAO,CAAC;AAMnC,MAAM,WAAW,iBAAiB;IAChC,qFAAqF;IACrF,OAAO,EAAE,WAAW,MAAM,MAAM,CAAC;IACjC,sDAAsD;IACtD,KAAK,EAAE,WAAW,CAAC;IACnB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wHAAwH;IACxH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAYD,eAAO,MAAM,UAAU,gDAKpB,iBAAiB,KAAG,aA6BtB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM,QACZ,MAAM,GAAG,OAAO,SAAS,EAAE,SAAS,CAAC,KACzC,QAAQ,aAAa,CAKvB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,UAAiB,MAAM,KAAG,QAAQ,gBAAgB,CAIrE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAc,EAAE,aAAa,EAAc,MAAM,OAAO,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,2EAA2E;AAC3E,eAAO,MAAM,cAAc,OAAO,CAAC;AAInC,eAAO,IAAI,MAAM,EAAE,aAAa,CAAC;AAEjC,MAAM,WAAW,iBAAiB;IAChC,qFAAqF;IACrF,OAAO,EAAE,WAAW,MAAM,MAAM,CAAC;IACjC,sDAAsD;IACtD,KAAK,EAAE,WAAW,CAAC;IACnB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAYD,eAAO,MAAM,UAAU,gCAAkD,iBAAiB,SAyBzF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM,QACZ,MAAM,GAAG,OAAO,SAAS,EAAE,SAAS,CAAC,KACzC,QAAQ,aAAa,CAKvB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,UAAiB,MAAM,KAAG,QAAQ,gBAAgB,CAIrE,CAAC"}
@@ -1,13 +1,14 @@
1
1
  import { SearchUrl } from "./SearchUrl";
2
- export declare type PagerLinks = {
2
+ import type { ReadonlyDeep } from "type-fest";
3
+ export declare type PagerLinks = ReadonlyDeep<{
3
4
  previous: SearchUrl | null;
4
5
  first: SearchUrl | null;
5
6
  pages: PagerLink[];
6
7
  next: SearchUrl | null;
7
- };
8
- export declare type PagerLink = {
8
+ }>;
9
+ export declare type PagerLink = ReadonlyDeep<{
9
10
  title: string;
10
11
  url: SearchUrl;
11
12
  isCurrent: boolean;
12
- };
13
+ }>;
13
14
  //# sourceMappingURL=PagerLinks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PagerLinks.d.ts","sourceRoot":"","sources":["../../src/models/PagerLinks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,UAAU,GAAG;IACvB,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,oBAAY,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"PagerLinks.d.ts","sourceRoot":"","sources":["../../src/models/PagerLinks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,oBAAY,UAAU,GAAG,YAAY,CAAC;IACpC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACxB,CAAC,CAAC;AAEH,oBAAY,SAAS,GAAG,YAAY,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC"}
@@ -23,7 +23,7 @@ export interface SearchUrl {
23
23
  from?: string;
24
24
  /** Fielded Search */
25
25
  fs?: string;
26
- fullUrl: string;
26
+ readonly fullUrl: string;
27
27
  fullUrlWithDefaultRoot?: string;
28
28
  /** Modifier/s (legacy) */
29
29
  m?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchUrl.d.ts","sourceRoot":"","sources":["../../src/models/SearchUrl.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IAExB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,0BAA0B;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,iBAAiB;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,kBAAkB;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,0BAA0B;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,gBAAgB;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qBAAqB;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,OAAO,EAAE,MAAM,CAAC;IAEhB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,0BAA0B;IAC1B,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,mBAAmB;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,kBAAkB;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,gBAAgB;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,sBAAsB;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,wBAAwB;IACxB,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,sBAAsB;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,iBAAiB;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEpB,uBAAuB;IACvB,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,kBAAkB;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,kDAAkD;IAClD,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;IAEvC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kBAAkB;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,sBAAsB;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,gCAAgC;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,WAAW;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,cAAc;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,uBAAuB;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,KAAK,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"SearchUrl.d.ts","sourceRoot":"","sources":["../../src/models/SearchUrl.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IAExB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,0BAA0B;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,iBAAiB;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,kBAAkB;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,0BAA0B;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,gBAAgB;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qBAAqB;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,0BAA0B;IAC1B,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,mBAAmB;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,kBAAkB;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,gBAAgB;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,sBAAsB;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,wBAAwB;IACxB,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,sBAAsB;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,iBAAiB;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEpB,uBAAuB;IACvB,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,kBAAkB;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,kDAAkD;IAClD,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;IAEvC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kBAAkB;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,sBAAsB;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,gCAAgC;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,WAAW;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,cAAc;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,uBAAuB;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -1,4 +1,3 @@
1
- import { ParsedQs } from "qs";
2
1
  import type { Except } from "type-fest";
3
2
  import { SearchUrl } from "./models/SearchUrl";
4
3
  /**
@@ -19,51 +18,8 @@ export declare const getUrlPathAndQuery: (searchUrl: Except<SearchUrl, "fullUrl"
19
18
  * getSearchUrl("/search?q=test")
20
19
  * returns { route: "/search", q: "test" }
21
20
  *
22
- * @param fullSearchUrl The relative url including path and query
21
+ * @param urlStr The relative url including path and query
23
22
  * @returns Search url object
24
23
  */
25
- export declare const getSearchUrl: (fullSearchUrl: string) => SearchUrl;
26
- /**
27
- * Parses a JSON-formatted 'om' query param into a set of key value pairs
28
- *
29
- * @param omJsonQueryString A JSON formatted om query e.g. [{"ndt":["Guidance"]}]
30
- * @returns A set of key value pairs of or modifiers
31
- */
32
- export declare const getPrettyOrModifierParams: (omJsonQueryString: string) => {
33
- key: string;
34
- value: any;
35
- }[];
36
- /**
37
- * Turns a search URL with JSON-formatted 'or modifiers' into a 'pretty' url.
38
- *
39
- * A pretty url having keys e.g. ndt=Guidance&ndt=Advice rather than JSON
40
- *
41
- * @param searchUrl The raw search url, with JSON-formatted 'or modifiers' (om)
42
- * @returns A flattened pretty URL
43
- */
44
- export declare const getPrettyUrl: (searchUrl: string) => string;
45
- /**
46
- * Converts individual or modifier params into a JSON formatted om query param
47
- *
48
- * @param params
49
- * @returns
50
- */
51
- export declare const getParamsWithUglyJSONOrModifier: (params: ParsedQs) => ParsedQs;
52
- /**
53
- * Converts a search url with pretty 'or modifiers' into a URL with an ugly JSON-formatted om param.
54
- *
55
- * @param prettyUrl The search url with individual om query params
56
- * @returns The URL with a single
57
- */
58
- export declare const getUglyJSONSearchUrl: (prettyUrl: string) => string;
59
- /**
60
- * Filter function to exclude known or modifier keys from a querystring object.
61
- *
62
- * Can be used for the 'filter' parameter within qs.stringify
63
- *
64
- * @param prefix The key prefix for this querystring value
65
- * @param value The value of this questring
66
- * @returns Undefined for known or modifiers, otherwise the original value
67
- */
68
- export declare const filterKnownOrModifiers: (prefix: string, value: unknown) => unknown;
24
+ export declare const getSearchUrl: (urlStr: string) => SearchUrl;
69
25
  //# sourceMappingURL=url-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"url-utils.d.ts","sourceRoot":"","sources":["../src/url-utils.ts"],"names":[],"mappings":"AAAA,OAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,cAClB,OAAO,SAAS,EAAE,SAAS,CAAC,KACtC,MASF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,kBAAmB,MAAM,KAAG,SAUpD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,sBAAuB,MAAM;;;GAShE,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,cAAe,MAAM,WAa7C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,WAAY,QAAQ,KAAG,QAyBlE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,cAAe,MAAM,WAWrD,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,WAAY,MAAM,SAAS,OAAO,YAG1D,CAAC"}
1
+ {"version":3,"file":"url-utils.d.ts","sourceRoot":"","sources":["../src/url-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,cAAe,OAAO,SAAS,EAAE,SAAS,CAAC,KAAG,MAQ5E,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,WAAY,MAAM,KAAG,SAa7C,CAAC"}
@@ -1,15 +0,0 @@
1
- export var knownOrModifierKeys = [
2
- "nai",
3
- "gst",
4
- "ndt",
5
- "ngt",
6
- "nat",
7
- "rty",
8
- "drm",
9
- // Evidence Search specific:
10
- "ety",
11
- "srn",
12
- "ain",
13
- "acc", // Accredited
14
- ];
15
- //# sourceMappingURL=OrModifiers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrModifiers.js","sourceRoot":"","sources":["../../src/models/OrModifiers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,mBAAmB,GAAG;IACjC,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,4BAA4B;IAC5B,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK,EAAE,aAAa;CACZ,CAAC"}
@@ -1,75 +0,0 @@
1
- import { __spreadArray } from "tslib";
2
- import { getParamsWithUglyJSONOrModifier, getPrettyUrl } from "./url-utils";
3
- /**
4
- * Custom type guard for determining if an object is a successful search results response.
5
- *
6
- * See https://www.typescriptlang.org/docs/handbook/advanced-types.html#using-type-predicates
7
- *
8
- * @param data The server response, which may or may not a results success
9
- */
10
- var isSuccessResponse = function (data) {
11
- return data.failed === false &&
12
- Array.isArray(data.documents);
13
- };
14
- /**
15
- * Tranforms the params in an axios request from individual om params into a single JSON-encoded om query.
16
- */
17
- export var prettyUrlAxiosRequestInterceptor = function (config) {
18
- if (!config.params)
19
- return config;
20
- if (config.params.om)
21
- throw new Error("Found a pretty URL with an om parameter");
22
- config.params = getParamsWithUglyJSONOrModifier(config.params);
23
- return config;
24
- };
25
- /**
26
- * Transforms all search urls in a successful search response into 'pretty' urls (URLs with a flattened 'om' query)
27
- *
28
- * @param data The data from a Single Search Endpoint respons
29
- * @returns The data with transformed URLs
30
- */
31
- export var prettyUrlAxiosResponseTransformer = function (data) {
32
- var _a, _b, _c;
33
- if (!isSuccessResponse(data))
34
- return data;
35
- // First page
36
- if ((_a = data.pagerLinks.first) === null || _a === void 0 ? void 0 : _a.fullUrl)
37
- data.pagerLinks.first.fullUrl = getPrettyUrl(data.pagerLinks.first.fullUrl);
38
- // Next Page
39
- if ((_b = data.pagerLinks.next) === null || _b === void 0 ? void 0 : _b.fullUrl)
40
- data.pagerLinks.next.fullUrl = getPrettyUrl(data.pagerLinks.next.fullUrl);
41
- // Previous page
42
- if ((_c = data.pagerLinks.previous) === null || _c === void 0 ? void 0 : _c.fullUrl)
43
- data.pagerLinks.previous.fullUrl = getPrettyUrl(data.pagerLinks.previous.fullUrl);
44
- // Numbered pages
45
- data.pagerLinks.pages.forEach(function (page) {
46
- page.url.fullUrl = getPrettyUrl(page.url.fullUrl);
47
- });
48
- // Navigators
49
- data.navigators.forEach(function (navigator) {
50
- navigator.modifiers.forEach(function (modifier) {
51
- var _a;
52
- // Root modifiers
53
- modifier.toggleUrl.fullUrl = getPrettyUrl(modifier.toggleUrl.fullUrl);
54
- // Child navigators
55
- (_a = modifier.childNavigators) === null || _a === void 0 ? void 0 : _a.forEach(function (childNavigator) {
56
- childNavigator.modifiers.forEach(function (mod) {
57
- mod.toggleUrl.fullUrl = getPrettyUrl(mod.toggleUrl.fullUrl);
58
- });
59
- });
60
- });
61
- });
62
- return data;
63
- };
64
- export var applyPrettyUrlMiddleware = function (axios) {
65
- axios.interceptors.request.use(prettyUrlAxiosRequestInterceptor);
66
- axios.defaults.transformResponse = __spreadArray(__spreadArray([], (Array.isArray(axios.defaults.transformResponse)
67
- ? axios.defaults.transformResponse
68
- : axios.defaults.transformResponse !== undefined
69
- ? [axios.defaults.transformResponse]
70
- : [])), [
71
- prettyUrlAxiosResponseTransformer,
72
- ]);
73
- return axios;
74
- };
75
- //# sourceMappingURL=pretty-url-middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pretty-url-middleware.js","sourceRoot":"","sources":["../src/pretty-url-middleware.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.knownOrModifierKeys = void 0;
4
- exports.knownOrModifierKeys = [
5
- "nai",
6
- "gst",
7
- "ndt",
8
- "ngt",
9
- "nat",
10
- "rty",
11
- "drm",
12
- // Evidence Search specific:
13
- "ety",
14
- "srn",
15
- "ain",
16
- "acc", // Accredited
17
- ];
18
- //# sourceMappingURL=OrModifiers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrModifiers.js","sourceRoot":"","sources":["../../src/models/OrModifiers.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAG;IACjC,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,4BAA4B;IAC5B,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK,EAAE,aAAa;CACZ,CAAC"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyPrettyUrlMiddleware = exports.prettyUrlAxiosResponseTransformer = exports.prettyUrlAxiosRequestInterceptor = void 0;
4
- var tslib_1 = require("tslib");
5
- var url_utils_1 = require("./url-utils");
6
- /**
7
- * Custom type guard for determining if an object is a successful search results response.
8
- *
9
- * See https://www.typescriptlang.org/docs/handbook/advanced-types.html#using-type-predicates
10
- *
11
- * @param data The server response, which may or may not a results success
12
- */
13
- var isSuccessResponse = function (data) {
14
- return data.failed === false &&
15
- Array.isArray(data.documents);
16
- };
17
- /**
18
- * Tranforms the params in an axios request from individual om params into a single JSON-encoded om query.
19
- */
20
- var prettyUrlAxiosRequestInterceptor = function (config) {
21
- if (!config.params)
22
- return config;
23
- if (config.params.om)
24
- throw new Error("Found a pretty URL with an om parameter");
25
- config.params = url_utils_1.getParamsWithUglyJSONOrModifier(config.params);
26
- return config;
27
- };
28
- exports.prettyUrlAxiosRequestInterceptor = prettyUrlAxiosRequestInterceptor;
29
- /**
30
- * Transforms all search urls in a successful search response into 'pretty' urls (URLs with a flattened 'om' query)
31
- *
32
- * @param data The data from a Single Search Endpoint respons
33
- * @returns The data with transformed URLs
34
- */
35
- var prettyUrlAxiosResponseTransformer = function (data) {
36
- var _a, _b, _c;
37
- if (!isSuccessResponse(data))
38
- return data;
39
- // First page
40
- if ((_a = data.pagerLinks.first) === null || _a === void 0 ? void 0 : _a.fullUrl)
41
- data.pagerLinks.first.fullUrl = url_utils_1.getPrettyUrl(data.pagerLinks.first.fullUrl);
42
- // Next Page
43
- if ((_b = data.pagerLinks.next) === null || _b === void 0 ? void 0 : _b.fullUrl)
44
- data.pagerLinks.next.fullUrl = url_utils_1.getPrettyUrl(data.pagerLinks.next.fullUrl);
45
- // Previous page
46
- if ((_c = data.pagerLinks.previous) === null || _c === void 0 ? void 0 : _c.fullUrl)
47
- data.pagerLinks.previous.fullUrl = url_utils_1.getPrettyUrl(data.pagerLinks.previous.fullUrl);
48
- // Numbered pages
49
- data.pagerLinks.pages.forEach(function (page) {
50
- page.url.fullUrl = url_utils_1.getPrettyUrl(page.url.fullUrl);
51
- });
52
- // Navigators
53
- data.navigators.forEach(function (navigator) {
54
- navigator.modifiers.forEach(function (modifier) {
55
- var _a;
56
- // Root modifiers
57
- modifier.toggleUrl.fullUrl = url_utils_1.getPrettyUrl(modifier.toggleUrl.fullUrl);
58
- // Child navigators
59
- (_a = modifier.childNavigators) === null || _a === void 0 ? void 0 : _a.forEach(function (childNavigator) {
60
- childNavigator.modifiers.forEach(function (mod) {
61
- mod.toggleUrl.fullUrl = url_utils_1.getPrettyUrl(mod.toggleUrl.fullUrl);
62
- });
63
- });
64
- });
65
- });
66
- return data;
67
- };
68
- exports.prettyUrlAxiosResponseTransformer = prettyUrlAxiosResponseTransformer;
69
- var applyPrettyUrlMiddleware = function (axios) {
70
- axios.interceptors.request.use(exports.prettyUrlAxiosRequestInterceptor);
71
- axios.defaults.transformResponse = tslib_1.__spreadArray(tslib_1.__spreadArray([], (Array.isArray(axios.defaults.transformResponse)
72
- ? axios.defaults.transformResponse
73
- : axios.defaults.transformResponse !== undefined
74
- ? [axios.defaults.transformResponse]
75
- : [])), [
76
- exports.prettyUrlAxiosResponseTransformer,
77
- ]);
78
- return axios;
79
- };
80
- exports.applyPrettyUrlMiddleware = applyPrettyUrlMiddleware;
81
- //# sourceMappingURL=pretty-url-middleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pretty-url-middleware.js","sourceRoot":"","sources":["../src/pretty-url-middleware.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import type { RequireExactlyOne } from "type-fest";
2
- export declare const knownOrModifierKeys: readonly ["nai", "gst", "ndt", "ngt", "nat", "rty", "drm", "ety", "srn", "ain", "acc"];
3
- export declare type KnownOrModifierKeys = typeof knownOrModifierKeys[number];
4
- export declare type OrModifier = RequireExactlyOne<{
5
- [Property in KnownOrModifierKeys]: [string];
6
- }, KnownOrModifierKeys>;
7
- //# sourceMappingURL=OrModifiers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrModifiers.d.ts","sourceRoot":"","sources":["../../src/models/OrModifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,eAAO,MAAM,mBAAmB,wFAatB,CAAC;AAEX,oBAAY,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAErE,oBAAY,UAAU,GAAG,iBAAiB,CACxC;KACG,QAAQ,IAAI,mBAAmB,GAAG,CAAC,MAAM,CAAC;CAC5C,EACD,mBAAmB,CACpB,CAAC"}
@@ -1,14 +0,0 @@
1
- import { AxiosInstance, AxiosRequestConfig, AxiosTransformer } from "axios";
2
- /**
3
- * Tranforms the params in an axios request from individual om params into a single JSON-encoded om query.
4
- */
5
- export declare const prettyUrlAxiosRequestInterceptor: (config: AxiosRequestConfig) => AxiosRequestConfig;
6
- /**
7
- * Transforms all search urls in a successful search response into 'pretty' urls (URLs with a flattened 'om' query)
8
- *
9
- * @param data The data from a Single Search Endpoint respons
10
- * @returns The data with transformed URLs
11
- */
12
- export declare const prettyUrlAxiosResponseTransformer: AxiosTransformer;
13
- export declare const applyPrettyUrlMiddleware: (axios: AxiosInstance) => AxiosInstance;
14
- //# sourceMappingURL=pretty-url-middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pretty-url-middleware.d.ts","sourceRoot":"","sources":["../src/pretty-url-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAkB5E;;GAEG;AACH,eAAO,MAAM,gCAAgC,WACnC,kBAAkB,uBAU3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,EAAE,gBAwC/C,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAAW,aAAa,kBAa5D,CAAC"}