@whitewall/blip-sdk 0.0.3 → 0.0.5

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.
@@ -13,7 +13,7 @@ export declare class Namespace {
13
13
  sendCommand<TMethod extends CommandMethods, TResponse extends TMethod extends 'get' ? unknown : void = void, TCollection = TResponse extends unknown[] ? true : false>(command: Omit<Command<TMethod>, 'uri' | 'id' | 'to'> & {
14
14
  uri: {
15
15
  path: string;
16
- query: URLSearchParams;
16
+ query: Map<string, string>;
17
17
  };
18
18
  }, opts?: ConsumeOptions & {
19
19
  collection?: TCollection extends true ? true : never;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Namespace = void 0;
4
4
  const random_1 = require("../utils/random");
5
+ const uri_1 = require("../utils/uri");
5
6
  class Namespace {
6
7
  constructor(sender, owner) {
7
8
  this.sender = sender;
@@ -20,9 +21,7 @@ class Namespace {
20
21
  if (uri.endsWith('?')) {
21
22
  uri = uri.slice(0, -1);
22
23
  }
23
- if (query.size > 0) {
24
- uri += '?' + query.toString();
25
- }
24
+ let buildUri = () => (query.size > 0 ? uri + '?' + (0, uri_1.mapToQuery)(query) : uri);
26
25
  const fetchItems = async (acc = [], skip = 0) => {
27
26
  if (opts === null || opts === void 0 ? void 0 : opts.collection) {
28
27
  query.set('$skip', skip.toString());
@@ -30,7 +29,7 @@ class Namespace {
30
29
  id: (0, random_1.randomId)(),
31
30
  to: this.owner,
32
31
  ...command,
33
- uri,
32
+ uri: buildUri(),
34
33
  };
35
34
  const response = (await this.sender.sendCommand(commandToSend));
36
35
  acc = acc.concat(response.items);
@@ -46,14 +45,14 @@ class Namespace {
46
45
  id: (0, random_1.randomId)(),
47
46
  to: this.owner,
48
47
  ...command,
49
- uri,
48
+ uri: buildUri(),
50
49
  };
51
50
  const response = await this.sender.sendCommand(commandToSend);
52
51
  return [response];
53
52
  }
54
53
  };
55
54
  const items = await fetchItems([], (opts === null || opts === void 0 ? void 0 : opts.skip) || 0);
56
- return (opts === null || opts === void 0 ? void 0 : opts.collection) ? items.flat() : items[0];
55
+ return (opts === null || opts === void 0 ? void 0 : opts.collection) ? items : items[0];
57
56
  }
58
57
  }
59
58
  exports.Namespace = Namespace;
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/namespaces/namespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/namespaces/namespace.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare const uri: (parts: TemplateStringsArray, ...vars: unknown[]) => {
2
2
  path: string;
3
- query: URLSearchParams;
3
+ query: Map<string, string>;
4
4
  };
5
+ export declare const mapToQuery: (map: Map<string, string>) => string;
package/dist/utils/uri.js CHANGED
@@ -1,16 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uri = void 0;
3
+ exports.mapToQuery = exports.uri = void 0;
4
4
  const uri = (parts, ...vars) => {
5
5
  let uriString = parts.reduce((acc, part, i) => acc + (typeof vars[i - 1] === 'string' ? encodeURIComponent(vars[i - 1]) : '') + part);
6
6
  const [path, querystring] = uriString.split('?');
7
- const query = new URLSearchParams(querystring);
7
+ const query = new Map();
8
+ const params = new URLSearchParams(querystring);
9
+ params.forEach((value, key) => {
10
+ query.set(key, value);
11
+ });
8
12
  const lastParam = vars[vars.length - 1];
9
13
  if (lastParam && typeof lastParam === 'object') {
10
14
  const params = lastParam;
11
15
  for (const key in params) {
12
16
  if (params[key] !== undefined) {
13
- query.append(key, params[key]);
17
+ query.set(key, params[key]);
14
18
  }
15
19
  }
16
20
  }
@@ -20,4 +24,10 @@ const uri = (parts, ...vars) => {
20
24
  };
21
25
  };
22
26
  exports.uri = uri;
27
+ const mapToQuery = (map) => {
28
+ return Array.from(map)
29
+ .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
30
+ .join('&');
31
+ };
32
+ exports.mapToQuery = mapToQuery;
23
33
  //# sourceMappingURL=uri.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":";;;AAAO,MAAM,GAAG,GAAG,CACf,KAA2B,EAC3B,GAAG,IAAe,EAIpB,EAAE;IACA,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CACxB,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CACpH,CAAA;IAED,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;IAE9C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACvC,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,SAAmC,CAAA;QAElD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YAClC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI;QACJ,KAAK;KACR,CAAA;AACL,CAAC,CAAA;AA7BY,QAAA,GAAG,OA6Bf"}
1
+ {"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":";;;AAAO,MAAM,GAAG,GAAG,CACf,KAA2B,EAC3B,GAAG,IAAe,EAIpB,EAAE;IACA,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CACxB,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CACpH,CAAA;IAED,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;IAC/C,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACvC,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,SAAmC,CAAA;QAElD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YAC/B,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI;QACJ,KAAK;KACR,CAAA;AACL,CAAC,CAAA;AAlCY,QAAA,GAAG,OAkCf;AAEM,MAAM,UAAU,GAAG,CAAC,GAAwB,EAAU,EAAE;IAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;SAC5D,IAAI,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC,CAAA;AAJY,QAAA,UAAU,cAItB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whitewall/blip-sdk",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "Blip API wrapper",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,8 +13,10 @@
13
13
  "dist/*"
14
14
  ],
15
15
  "devDependencies": {
16
- "odata-query": "^7.0.6",
17
16
  "prettier": "^3.2.5",
18
17
  "typescript": "^5.4.5"
18
+ },
19
+ "dependencies": {
20
+ "odata-query": "^7.0.6"
19
21
  }
20
22
  }