@whitewall/blip-sdk 0.0.5 → 0.0.7

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 (55) hide show
  1. package/dist/client.d.ts +6 -6
  2. package/dist/client.js +17 -15
  3. package/dist/client.js.map +1 -1
  4. package/dist/index.d.ts +7 -6
  5. package/dist/index.js +7 -22
  6. package/dist/index.js.map +1 -1
  7. package/dist/namespaces/account.d.ts +6 -7
  8. package/dist/namespaces/account.js +43 -33
  9. package/dist/namespaces/account.js.map +1 -1
  10. package/dist/namespaces/builder.d.ts +2 -2
  11. package/dist/namespaces/builder.js +5 -9
  12. package/dist/namespaces/builder.js.map +1 -1
  13. package/dist/namespaces/desk.d.ts +5 -5
  14. package/dist/namespaces/desk.js +12 -20
  15. package/dist/namespaces/desk.js.map +1 -1
  16. package/dist/namespaces/media.d.ts +2 -2
  17. package/dist/namespaces/media.js +4 -8
  18. package/dist/namespaces/media.js.map +1 -1
  19. package/dist/namespaces/namespace.d.ts +3 -2
  20. package/dist/namespaces/namespace.js +15 -17
  21. package/dist/namespaces/namespace.js.map +1 -1
  22. package/dist/namespaces/whatsapp.d.ts +3 -3
  23. package/dist/namespaces/whatsapp.js +5 -9
  24. package/dist/namespaces/whatsapp.js.map +1 -1
  25. package/dist/sender/bliperror.js +3 -5
  26. package/dist/sender/bliperror.js.map +1 -1
  27. package/dist/sender/httpsender.d.ts +2 -2
  28. package/dist/sender/httpsender.js +7 -9
  29. package/dist/sender/httpsender.js.map +1 -1
  30. package/dist/sender/sender.d.ts +1 -1
  31. package/dist/sender/sender.js +1 -2
  32. package/dist/types/account.d.ts +5 -4
  33. package/dist/types/account.js +1 -2
  34. package/dist/types/command.d.ts +1 -1
  35. package/dist/types/command.js +1 -2
  36. package/dist/types/desk.js +2 -5
  37. package/dist/types/desk.js.map +1 -1
  38. package/dist/types/envelope.d.ts +1 -1
  39. package/dist/types/envelope.js +1 -2
  40. package/dist/types/index.d.ts +6 -6
  41. package/dist/types/index.js +6 -22
  42. package/dist/types/index.js.map +1 -1
  43. package/dist/types/message.d.ts +11 -4
  44. package/dist/types/message.js +3 -9
  45. package/dist/types/message.js.map +1 -1
  46. package/dist/types/node.js +4 -5
  47. package/dist/types/node.js.map +1 -1
  48. package/dist/utils/odata.d.ts +18 -0
  49. package/dist/utils/odata.js +80 -0
  50. package/dist/utils/odata.js.map +1 -0
  51. package/dist/utils/random.js +1 -5
  52. package/dist/utils/random.js.map +1 -1
  53. package/dist/utils/uri.js +15 -8
  54. package/dist/utils/uri.js.map +1 -1
  55. package/package.json +3 -4
@@ -1,9 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Namespace = void 0;
4
- const random_1 = require("../utils/random");
5
- const uri_1 = require("../utils/uri");
6
- class Namespace {
1
+ import { randomId } from '../utils/random.js';
2
+ import { mapToQuery } from '../utils/uri.js';
3
+ export class Namespace {
4
+ sender;
5
+ owner;
7
6
  constructor(sender, owner) {
8
7
  this.sender = sender;
9
8
  this.owner = owner;
@@ -11,29 +10,29 @@ class Namespace {
11
10
  async sendCommand(command, opts) {
12
11
  let uri = command.uri.path;
13
12
  let query = command.uri.query;
14
- const take = (opts === null || opts === void 0 ? void 0 : opts.take) || 100;
15
- if (opts === null || opts === void 0 ? void 0 : opts.collection) {
13
+ const take = opts?.take || 100;
14
+ if (opts?.collection) {
16
15
  query.set('$take', take.toString());
17
16
  }
18
- if (opts === null || opts === void 0 ? void 0 : opts.ownerIdentity) {
17
+ if (opts?.ownerIdentity) {
19
18
  uri = `lime://${opts.ownerIdentity}/${uri}`;
20
19
  }
21
20
  if (uri.endsWith('?')) {
22
21
  uri = uri.slice(0, -1);
23
22
  }
24
- let buildUri = () => (query.size > 0 ? uri + '?' + (0, uri_1.mapToQuery)(query) : uri);
23
+ let buildUri = () => (query.size > 0 ? uri + '?' + mapToQuery(query) : uri);
25
24
  const fetchItems = async (acc = [], skip = 0) => {
26
- if (opts === null || opts === void 0 ? void 0 : opts.collection) {
25
+ if (opts?.collection) {
27
26
  query.set('$skip', skip.toString());
28
27
  const commandToSend = {
29
- id: (0, random_1.randomId)(),
28
+ id: randomId(),
30
29
  to: this.owner,
31
30
  ...command,
32
31
  uri: buildUri(),
33
32
  };
34
33
  const response = (await this.sender.sendCommand(commandToSend));
35
34
  acc = acc.concat(response.items);
36
- if (!opts.fetchall || response.items.length < take) {
35
+ if (!opts.fetchall || response.items.length < take || (opts.max && acc.length >= opts.max)) {
37
36
  return acc;
38
37
  }
39
38
  else {
@@ -42,7 +41,7 @@ class Namespace {
42
41
  }
43
42
  else {
44
43
  const commandToSend = {
45
- id: (0, random_1.randomId)(),
44
+ id: randomId(),
46
45
  to: this.owner,
47
46
  ...command,
48
47
  uri: buildUri(),
@@ -51,9 +50,8 @@ class Namespace {
51
50
  return [response];
52
51
  }
53
52
  };
54
- const items = await fetchItems([], (opts === null || opts === void 0 ? void 0 : opts.skip) || 0);
55
- return (opts === null || opts === void 0 ? void 0 : opts.collection) ? items : items[0];
53
+ const items = await fetchItems([], opts?.skip || 0);
54
+ return opts?.collection ? items : items[0];
56
55
  }
57
56
  }
58
- exports.Namespace = Namespace;
59
57
  //# sourceMappingURL=namespace.js.map
@@ -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,6 +1,6 @@
1
- import { Sender } from '../sender/sender';
2
- import { Identity } from '../types';
3
- import { ConsumeOptions, Namespace } from './namespace';
1
+ import { Sender } from '../sender/sender.js';
2
+ import { ConsumeOptions, Namespace } from './namespace.js';
3
+ import { Identity } from '../types/index.js';
4
4
  export declare class WhatsAppNamespace extends Namespace {
5
5
  constructor(sender: Sender);
6
6
  phoneToIdentity(phoneNumber: string): Promise<Identity>;
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WhatsAppNamespace = void 0;
4
- const uri_1 = require("../utils/uri");
5
- const namespace_1 = require("./namespace");
6
- class WhatsAppNamespace extends namespace_1.Namespace {
1
+ import { uri } from '../utils/uri.js';
2
+ import { Namespace } from './namespace.js';
3
+ export class WhatsAppNamespace extends Namespace {
7
4
  constructor(sender) {
8
5
  super(sender, 'postmaster@wa.gw.msging.net');
9
6
  }
@@ -12,7 +9,7 @@ class WhatsAppNamespace extends namespace_1.Namespace {
12
9
  try {
13
10
  const result = await this.sendCommand({
14
11
  method: 'get',
15
- uri: (0, uri_1.uri) `/accounts/${fixedPhoneNumber}`,
12
+ uri: uri `/accounts/${fixedPhoneNumber}`,
16
13
  }, {
17
14
  ownerIdentity: 'wa.gw.msging.net',
18
15
  });
@@ -25,12 +22,11 @@ class WhatsAppNamespace extends namespace_1.Namespace {
25
22
  async getMessageTemplates(opts) {
26
23
  return this.sendCommand({
27
24
  method: 'get',
28
- uri: (0, uri_1.uri) `/message-templates`,
25
+ uri: uri `/message-templates`,
29
26
  }, {
30
27
  collection: true,
31
28
  ...opts,
32
29
  });
33
30
  }
34
31
  }
35
- exports.WhatsAppNamespace = WhatsAppNamespace;
36
32
  //# sourceMappingURL=whatsapp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../../src/namespaces/whatsapp.ts"],"names":[],"mappings":";;;AAEA,sCAAkC;AAClC,2CAAuD;AAEvD,MAAa,iBAAkB,SAAQ,qBAAS;IAC5C,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,WAAmB;QAC5C,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA;QAEjF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAMjC;gBACI,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,IAAA,SAAG,EAAA,aAAa,gBAAgB,EAAE;aAC1C,EACD;gBACI,aAAa,EAAE,kBAA8B;aAChD,CACJ,CAAA;YAED,OAAO,MAAM,CAAC,kBAAkB,CAAA;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,GAAG,WAAW,mBAAmB,CAAA;QAC5C,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,IAAqB;QAKlD,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAA,SAAG,EAAA,oBAAoB;SAC/B,EACD;YACI,UAAU,EAAE,IAAI;YAChB,GAAG,IAAI;SACV,CACJ,CAAA;IACL,CAAC;CACJ;AA9CD,8CA8CC"}
1
+ {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../../src/namespaces/whatsapp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAkB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1D,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC5C,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,WAAmB;QAC5C,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA;QAEjF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAMjC;gBACI,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,GAAG,CAAA,aAAa,gBAAgB,EAAE;aAC1C,EACD;gBACI,aAAa,EAAE,kBAA8B;aAChD,CACJ,CAAA;YAED,OAAO,MAAM,CAAC,kBAAkB,CAAA;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,GAAG,WAAW,mBAAmB,CAAA;QAC5C,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,IAAqB;QAKlD,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,CAAA,oBAAoB;SAC/B,EACD;YACI,UAAU,EAAE,IAAI;YAChB,GAAG,IAAI;SACV,CACJ,CAAA;IACL,CAAC;CACJ"}
@@ -1,12 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BlipError = void 0;
4
- class BlipError extends Error {
1
+ export class BlipError extends Error {
2
+ uri;
3
+ code;
5
4
  constructor(uri, code, description) {
6
5
  super(`Blip command for ${uri} failed: ${description}`);
7
6
  this.uri = uri;
8
7
  this.code = code;
9
8
  }
10
9
  }
11
- exports.BlipError = BlipError;
12
10
  //# sourceMappingURL=bliperror.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bliperror.js","sourceRoot":"","sources":["../../src/sender/bliperror.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAU,SAAQ,KAAK;IAChC,YAA4B,GAAW,EAAkB,IAAY,EAAE,WAAmB;QACtF,KAAK,CAAC,oBAAoB,GAAG,YAAY,WAAW,EAAE,CAAC,CAAA;QAD/B,QAAG,GAAH,GAAG,CAAQ;QAAkB,SAAI,GAAJ,IAAI,CAAQ;IAErE,CAAC;CACJ;AAJD,8BAIC"}
1
+ {"version":3,"file":"bliperror.js","sourceRoot":"","sources":["../../src/sender/bliperror.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAU,SAAQ,KAAK;IACJ;IAA6B;IAAzD,YAA4B,GAAW,EAAkB,IAAY,EAAE,WAAmB;QACtF,KAAK,CAAC,oBAAoB,GAAG,YAAY,WAAW,EAAE,CAAC,CAAA;QAD/B,QAAG,GAAH,GAAG,CAAQ;QAAkB,SAAI,GAAJ,IAAI,CAAQ;IAErE,CAAC;CACJ"}
@@ -1,5 +1,5 @@
1
- import { CommandMethods, Command, Message, MessageTypes, Identity } from '../types';
2
- import { Sender } from './sender';
1
+ import { Sender } from './sender.js';
2
+ import { CommandMethods, Command, Message, MessageTypes, Identity } from '../types/index.js';
3
3
  export declare class HttpSender implements Sender {
4
4
  private readonly token;
5
5
  private readonly tenantId;
@@ -1,9 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpSender = void 0;
4
- const types_1 = require("../types");
5
- const bliperror_1 = require("./bliperror");
6
- class HttpSender {
1
+ import { BlipError } from './bliperror.js';
2
+ import { Node } from '../types/index.js';
3
+ export class HttpSender {
4
+ token;
5
+ tenantId;
7
6
  constructor(token, tenantId) {
8
7
  this.token = token;
9
8
  this.tenantId = tenantId;
@@ -35,7 +34,7 @@ class HttpSender {
35
34
  }
36
35
  const result = await response.json();
37
36
  if (result.status === 'failure') {
38
- throw new bliperror_1.BlipError(command.uri, result.reason.code, result.reason.description);
37
+ throw new BlipError(command.uri, result.reason.code, result.reason.description);
39
38
  }
40
39
  else if (result.status === 'success') {
41
40
  return result.resource;
@@ -45,10 +44,9 @@ class HttpSender {
45
44
  }
46
45
  }
47
46
  static login(botIdentityOrIdentifier, accessKey, tenantId) {
48
- const botIdentity = types_1.Node.isValid(botIdentityOrIdentifier) ? botIdentityOrIdentifier : botIdentityOrIdentifier + '@msging.net';
47
+ const botIdentity = Node.isValid(botIdentityOrIdentifier) ? botIdentityOrIdentifier : botIdentityOrIdentifier + '@msging.net';
49
48
  const token = btoa(botIdentity + ':' + atob(accessKey));
50
49
  return new HttpSender(token, tenantId);
51
50
  }
52
51
  }
53
- exports.HttpSender = HttpSender;
54
52
  //# sourceMappingURL=httpsender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpsender.js","sourceRoot":"","sources":["../../src/sender/httpsender.ts"],"names":[],"mappings":";;;AAAA,oCAA0G;AAC1G,2CAAuC;AAGvC,MAAa,UAAU;IACnB,YACqB,KAAa,EACb,QAAgB;QADhB,UAAK,GAAL,KAAK,CAAQ;QACb,aAAQ,GAAR,QAAQ,CAAQ;IAClC,CAAC;IAEG,KAAK,CAAC,WAAW,CAA4B,OAAsB;QACtE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,2BAA2B,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE;aACvC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAChC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;QACrE,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAgC;QACrD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,2BAA2B,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE;aACvC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAChC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;QACrE,CAAC;QAED,MAAM,MAAM,GAAoE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACrG,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,qBAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACnF,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,MAAM,CAAC,QAAQ,CAAA;QAC1B,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,uBAA0C,EAAE,SAAiB,EAAE,QAAgB;QAC/F,MAAM,WAAW,GAAG,YAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,GAAG,aAAa,CAAA;QAC7H,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QACvD,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC;CACJ;AAlDD,gCAkDC"}
1
+ {"version":3,"file":"httpsender.js","sourceRoot":"","sources":["../../src/sender/httpsender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAA6E,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAEnH,MAAM,OAAO,UAAU;IAEE;IACA;IAFrB,YACqB,KAAa,EACb,QAAgB;QADhB,UAAK,GAAL,KAAK,CAAQ;QACb,aAAQ,GAAR,QAAQ,CAAQ;IAClC,CAAC;IAEG,KAAK,CAAC,WAAW,CAA4B,OAAsB;QACtE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,2BAA2B,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE;aACvC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAChC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;QACrE,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAgC;QACrD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,2BAA2B,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE;aACvC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAChC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;QACrE,CAAC;QAED,MAAM,MAAM,GAAoE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACrG,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACnF,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,MAAM,CAAC,QAAQ,CAAA;QAC1B,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,uBAA0C,EAAE,SAAiB,EAAE,QAAgB;QAC/F,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,GAAG,aAAa,CAAA;QAC7H,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QACvD,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC;CACJ"}
@@ -1,4 +1,4 @@
1
- import { Command, CommandMethods, Message, MessageTypes } from '../types';
1
+ import type { Command, CommandMethods, Message, MessageTypes } from '../types/index.js';
2
2
  export interface Sender {
3
3
  sendMessage<Type extends MessageTypes>(message: Message<Type>): Promise<void>;
4
4
  sendCommand(command: Command<CommandMethods>): Promise<unknown>;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=sender.js.map
@@ -1,5 +1,5 @@
1
- import { UnknownMessageContent } from './message';
2
- import { Identity } from './node';
1
+ import { UnknownMessageContent } from './message.js';
2
+ import { Identity } from './node.js';
3
3
  export type Contact = {
4
4
  identity: Identity;
5
5
  name?: string;
@@ -10,11 +10,12 @@ export type Contact = {
10
10
  source: string;
11
11
  taxDocument?: string;
12
12
  extras?: Record<string, string | null>;
13
+ lastMessageDate?: string;
13
14
  };
14
- export type ThreadItem = ({
15
+ export type ThreadItem = {
15
16
  id: string;
16
17
  direction: 'sent' | 'received';
17
18
  date: string;
18
19
  status: string;
19
20
  metadata?: Record<string, string | null>;
20
- } & UnknownMessageContent);
21
+ } & UnknownMessageContent;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=account.js.map
@@ -1,4 +1,4 @@
1
- import { Envelope } from './envelope';
1
+ import { Envelope } from './envelope.js';
2
2
  type ResourceCommand = {
3
3
  type: string;
4
4
  resource: unknown;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=command.js.map
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DayOfWeek = void 0;
4
- var DayOfWeek;
1
+ export var DayOfWeek;
5
2
  (function (DayOfWeek) {
6
3
  DayOfWeek["Sunday"] = "Sunday";
7
4
  DayOfWeek["Monday"] = "Monday";
@@ -10,5 +7,5 @@ var DayOfWeek;
10
7
  DayOfWeek["Thursday"] = "Thursday";
11
8
  DayOfWeek["Friday"] = "Friday";
12
9
  DayOfWeek["Saturday"] = "Saturday";
13
- })(DayOfWeek || (exports.DayOfWeek = DayOfWeek = {}));
10
+ })(DayOfWeek || (DayOfWeek = {}));
14
11
  //# sourceMappingURL=desk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"desk.js","sourceRoot":"","sources":["../../src/types/desk.ts"],"names":[],"mappings":";;;AAeA,IAAY,SAQX;AARD,WAAY,SAAS;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACzB,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB"}
1
+ {"version":3,"file":"desk.js","sourceRoot":"","sources":["../../src/types/desk.ts"],"names":[],"mappings":"AAeA,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACzB,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB"}
@@ -1,4 +1,4 @@
1
- import { NodeLike } from './node';
1
+ import { NodeLike } from './node.js';
2
2
  export type Envelope = {
3
3
  id: string;
4
4
  from?: NodeLike;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=envelope.js.map
@@ -1,6 +1,6 @@
1
- export * from './node';
2
- export * from './envelope';
3
- export * from './message';
4
- export * from './command';
5
- export * from './desk';
6
- export * from './account';
1
+ export * from './node.js';
2
+ export * from './envelope.js';
3
+ export * from './message.js';
4
+ export * from './command.js';
5
+ export * from './desk.js';
6
+ export * from './account.js';
@@ -1,23 +1,7 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./node"), exports);
18
- __exportStar(require("./envelope"), exports);
19
- __exportStar(require("./message"), exports);
20
- __exportStar(require("./command"), exports);
21
- __exportStar(require("./desk"), exports);
22
- __exportStar(require("./account"), exports);
1
+ export * from './node.js';
2
+ export * from './envelope.js';
3
+ export * from './message.js';
4
+ export * from './command.js';
5
+ export * from './desk.js';
6
+ export * from './account.js';
23
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,6CAA0B;AAC1B,4CAAyB;AACzB,4CAAyB;AACzB,yCAAsB;AACtB,4CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA"}
@@ -1,6 +1,6 @@
1
- import { Identity } from './node';
2
- import { TicketStatus } from './desk';
3
- import { Envelope } from './envelope';
1
+ import { Identity } from './node.js';
2
+ import { TicketStatus } from './desk.js';
3
+ import { Envelope } from './envelope.js';
4
4
  export type PlainText = string;
5
5
  export type Ticket<Type extends MessageTypes | undefined = undefined> = {
6
6
  id: string;
@@ -11,10 +11,17 @@ export type Ticket<Type extends MessageTypes | undefined = undefined> = {
11
11
  provider: string;
12
12
  status: TicketStatus;
13
13
  storageDate: string;
14
+ openDate?: string;
15
+ closeDate?: string;
16
+ firstResponseDate?: string;
17
+ averageAgentResponseTime?: number;
18
+ team?: string;
14
19
  rating: number;
15
20
  unreadMessages: number;
16
- closed: boolean;
17
21
  customerInput: Type extends MessageTypes ? Document<Type> : undefined;
22
+ closed: boolean;
23
+ closedBy?: Identity;
24
+ tags: string[];
18
25
  };
19
26
  export type Redirect<Type extends MessageTypes> = {
20
27
  address: Identity;
@@ -1,13 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.messageToDocument = exports.isDocumentOfType = exports.isMessageOfType = void 0;
4
- const isMessageOfType = (message, type) => message.type === type;
5
- exports.isMessageOfType = isMessageOfType;
6
- const isDocumentOfType = (document, type) => document.type === type;
7
- exports.isDocumentOfType = isDocumentOfType;
8
- const messageToDocument = (message) => ({
1
+ export const isMessageOfType = (message, type) => message.type === type;
2
+ export const isDocumentOfType = (document, type) => document.type === type;
3
+ export const messageToDocument = (message) => ({
9
4
  type: message.type,
10
5
  value: message.content,
11
6
  });
12
- exports.messageToDocument = messageToDocument;
13
7
  //# sourceMappingURL=message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":";;;AA+EO,MAAM,eAAe,GAAG,CAC3B,OAAuB,EACvB,IAAU,EACc,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAA;AAHvC,QAAA,eAAe,mBAGwB;AAE7C,MAAM,gBAAgB,GAAG,CAC5B,QAAyB,EACzB,IAAU,EACgB,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAA;AAH1C,QAAA,gBAAgB,oBAG0B;AAEhD,MAAM,iBAAiB,GAAG,CAC7B,OAAgD,EAClC,EAAE,CAAC,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,KAAK,EAAE,OAAO,CAAC,OAAO;CACzB,CAAC,CAAA;AALW,QAAA,iBAAiB,qBAK5B"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AAsFA,MAAM,CAAC,MAAM,eAAe,GAAG,CAA4B,OAAuB,EAAE,IAAU,EAA4B,EAAE,CACxH,OAAO,CAAC,IAAI,KAAK,IAAI,CAAA;AAEzB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAA4B,QAAyB,EAAE,IAAU,EAA8B,EAAE,CAC7H,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAA;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAA4B,OAAgD,EAAkB,EAAE,CAAC,CAAC;IAC/H,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,KAAK,EAAE,OAAO,CAAC,OAAO;CACzB,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Node = void 0;
4
- class Node extends String {
1
+ export class Node extends String {
2
+ name;
3
+ domain;
4
+ instance;
5
5
  constructor(name, domain, instance) {
6
6
  super(`${name}@${domain}/${instance}`);
7
7
  this.name = name;
@@ -26,5 +26,4 @@ class Node extends String {
26
26
  throw new Error(`Invalid node shape: ${node}`);
27
27
  }
28
28
  }
29
- exports.Node = Node;
30
29
  //# sourceMappingURL=node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/types/node.ts"],"names":[],"mappings":";;;AAIA,MAAa,IAAK,SAAQ,MAAM;IAC5B,YACoB,IAAY,EACZ,MAAc,EACd,QAA4B;QAE5C,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;QAJtB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAoB;IAGhD,CAAC;IAEM,UAAU;QACb,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAc,CAAA;IACpD,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,IAA+B;QACjD,OAAO,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACtD,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,IAAc;QAC7B,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACzC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC/C,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC/D,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;IAClD,CAAC;CACJ;AA9BD,oBA8BC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/types/node.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,IAAK,SAAQ,MAAM;IAER;IACA;IACA;IAHpB,YACoB,IAAY,EACZ,MAAc,EACd,QAA4B;QAE5C,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;QAJtB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAoB;IAGhD,CAAC;IAEM,UAAU;QACb,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAc,CAAA;IACpD,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,IAA+B;QACjD,OAAO,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACtD,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,IAAc;QAC7B,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA;QACf,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACzC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC/C,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC/D,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;IAClD,CAAC;CACJ"}
@@ -0,0 +1,18 @@
1
+ export declare class ODataFilter<T> {
2
+ private filterParts;
3
+ private getFormattedValue;
4
+ private addCondition;
5
+ eq<K extends keyof T>(field: K, value: T[K]): ODataFilter<T>;
6
+ ne<K extends keyof T>(field: K, value: T[K]): ODataFilter<T>;
7
+ gt<K extends keyof T>(field: K, value: T[K]): ODataFilter<T>;
8
+ ge<K extends keyof T>(field: K, value: T[K]): ODataFilter<T>;
9
+ lt<K extends keyof T>(field: K, value: T[K]): ODataFilter<T>;
10
+ le<K extends keyof T>(field: K, value: T[K]): ODataFilter<T>;
11
+ in<K extends keyof T>(field: K, values: Array<T[K]>): ODataFilter<T>;
12
+ startsWith<K extends keyof T>(field: K, value: string): ODataFilter<T>;
13
+ endsWith<K extends keyof T>(field: K, value: string): ODataFilter<T>;
14
+ and(filterBuilder: (filter: ODataFilter<T>) => ODataFilter<T>): ODataFilter<T>;
15
+ or(filterBuilder: (filter: ODataFilter<T>) => ODataFilter<T>): ODataFilter<T>;
16
+ toString(): string;
17
+ }
18
+ export declare const filter: <T>() => ODataFilter<T>;
@@ -0,0 +1,80 @@
1
+ export class ODataFilter {
2
+ filterParts = [];
3
+ getFormattedValue(value) {
4
+ if (typeof value === 'string') {
5
+ return `'${value.replace(/'/g, "''")}'`;
6
+ }
7
+ else if (value instanceof Date) {
8
+ return `datetimeoffset'${value.toISOString()}'`;
9
+ }
10
+ else if (typeof value === 'undefined' || value === null) {
11
+ return 'null';
12
+ }
13
+ else {
14
+ return value.toString();
15
+ }
16
+ }
17
+ addCondition(condition) {
18
+ this.filterParts.push(condition);
19
+ }
20
+ eq(field, value) {
21
+ this.addCondition(`${String(field)} eq ${this.getFormattedValue(value)}`);
22
+ return this;
23
+ }
24
+ ne(field, value) {
25
+ this.addCondition(`${String(field)} ne ${this.getFormattedValue(value)}`);
26
+ return this;
27
+ }
28
+ gt(field, value) {
29
+ this.addCondition(`${String(field)} gt ${this.getFormattedValue(value)}`);
30
+ return this;
31
+ }
32
+ ge(field, value) {
33
+ this.addCondition(`${String(field)} ge ${this.getFormattedValue(value)}`);
34
+ return this;
35
+ }
36
+ lt(field, value) {
37
+ this.addCondition(`${String(field)} lt ${this.getFormattedValue(value)}`);
38
+ return this;
39
+ }
40
+ le(field, value) {
41
+ this.addCondition(`${String(field)} le ${this.getFormattedValue(value)}`);
42
+ return this;
43
+ }
44
+ in(field, values) {
45
+ const formattedValues = values.map((v) => this.getFormattedValue(v)).join(',');
46
+ this.addCondition(`${String(field)} in (${formattedValues})`);
47
+ return this;
48
+ }
49
+ startsWith(field, value) {
50
+ this.addCondition(`startswith(${String(field)}, ${this.getFormattedValue(value)})`);
51
+ return this;
52
+ }
53
+ endsWith(field, value) {
54
+ this.addCondition(`endswith(${String(field)}, ${this.getFormattedValue(value)})`);
55
+ return this;
56
+ }
57
+ and(filterBuilder) {
58
+ const newFilter = filterBuilder(new ODataFilter());
59
+ if (newFilter.filterParts.length > 0) {
60
+ const newFilterPart = newFilter.filterParts.length > 1 ? `(${newFilter.toString()})` : newFilter.toString();
61
+ this.addCondition(`${this.toString()} and (${newFilterPart})`);
62
+ this.filterParts = [this.filterParts.pop()];
63
+ }
64
+ return this;
65
+ }
66
+ or(filterBuilder) {
67
+ const newFilter = filterBuilder(new ODataFilter());
68
+ if (newFilter.filterParts.length > 0) {
69
+ const newFilterPart = newFilter.filterParts.length > 1 ? `(${newFilter.toString()})` : newFilter.toString();
70
+ this.addCondition(`${this.toString()} or ${newFilterPart}`);
71
+ this.filterParts = [this.filterParts.pop()];
72
+ }
73
+ return this;
74
+ }
75
+ toString() {
76
+ return this.filterParts.join(' and ');
77
+ }
78
+ }
79
+ export const filter = () => new ODataFilter();
80
+ //# sourceMappingURL=odata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odata.js","sourceRoot":"","sources":["../../src/utils/odata.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.randomId = void 0;
4
- const randomId = () => {
1
+ export const randomId = () => {
5
2
  return Math.random().toString(36).substring(2);
6
3
  };
7
- exports.randomId = randomId;
8
4
  //# sourceMappingURL=random.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"random.js","sourceRoot":"","sources":["../../src/utils/random.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,GAAG,EAAE;IACzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAFY,QAAA,QAAQ,YAEpB"}
1
+ {"version":3,"file":"random.js","sourceRoot":"","sources":["../../src/utils/random.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IACzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA"}
package/dist/utils/uri.js CHANGED
@@ -1,8 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapToQuery = exports.uri = void 0;
4
- const uri = (parts, ...vars) => {
5
- let uriString = parts.reduce((acc, part, i) => acc + (typeof vars[i - 1] === 'string' ? encodeURIComponent(vars[i - 1]) : '') + part);
1
+ export const uri = (parts, ...vars) => {
2
+ let uriString = '';
3
+ for (let i = 0; i < parts.length; i++) {
4
+ uriString += parts[i];
5
+ if (typeof vars[i] === 'string') {
6
+ const variable = vars[i];
7
+ if (uriString.includes('?') || variable.startsWith('?')) {
8
+ uriString += variable;
9
+ }
10
+ else {
11
+ uriString += encodeURIComponent(variable);
12
+ }
13
+ }
14
+ }
6
15
  const [path, querystring] = uriString.split('?');
7
16
  const query = new Map();
8
17
  const params = new URLSearchParams(querystring);
@@ -23,11 +32,9 @@ const uri = (parts, ...vars) => {
23
32
  query,
24
33
  };
25
34
  };
26
- exports.uri = uri;
27
- const mapToQuery = (map) => {
35
+ export const mapToQuery = (map) => {
28
36
  return Array.from(map)
29
37
  .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
30
38
  .join('&');
31
39
  };
32
- exports.mapToQuery = mapToQuery;
33
40
  //# 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,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"}
1
+ {"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG,CACf,KAA2B,EAC3B,GAAG,IAAe,EAIpB,EAAE;IACA,IAAI,SAAS,GAAG,EAAE,CAAA;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;QAErB,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAW,CAAA;YAClC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,SAAS,IAAI,QAAQ,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACJ,SAAS,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAA;YAC7C,CAAC;QACL,CAAC;IACL,CAAC;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;AAED,MAAM,CAAC,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"}