@zajno/common 2.6.5 → 2.6.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 (46) hide show
  1. package/cjs/api/builder.js +13 -8
  2. package/cjs/api/builder.js.map +1 -1
  3. package/cjs/api/call.types.js +1 -0
  4. package/cjs/api/call.types.js.map +1 -1
  5. package/cjs/api/endpoint.js +10 -0
  6. package/cjs/api/endpoint.js.map +1 -1
  7. package/cjs/api/helpers.js.map +1 -1
  8. package/cjs/api/index.js +4 -1
  9. package/cjs/api/index.js.map +1 -1
  10. package/cjs/structures/path/builder.helpers.js +180 -0
  11. package/cjs/structures/path/builder.helpers.js.map +1 -0
  12. package/cjs/structures/path/builder.js +21 -106
  13. package/cjs/structures/path/builder.js.map +1 -1
  14. package/cjs/structures/path/types.helpers.js +3 -0
  15. package/cjs/structures/path/types.helpers.js.map +1 -0
  16. package/esm/api/builder.js +12 -8
  17. package/esm/api/builder.js.map +1 -1
  18. package/esm/api/call.types.js +1 -0
  19. package/esm/api/call.types.js.map +1 -1
  20. package/esm/api/endpoint.js +10 -0
  21. package/esm/api/endpoint.js.map +1 -1
  22. package/esm/api/helpers.js.map +1 -1
  23. package/esm/api/index.js +1 -0
  24. package/esm/api/index.js.map +1 -1
  25. package/esm/structures/path/builder.helpers.js +172 -0
  26. package/esm/structures/path/builder.helpers.js.map +1 -0
  27. package/esm/structures/path/builder.js +20 -104
  28. package/esm/structures/path/builder.js.map +1 -1
  29. package/esm/structures/path/types.helpers.js +2 -0
  30. package/esm/structures/path/types.helpers.js.map +1 -0
  31. package/package.json +1 -1
  32. package/tsconfig.cjs.tsbuildinfo +1 -1
  33. package/tsconfig.esm.tsbuildinfo +1 -1
  34. package/tsconfig.types.tsbuildinfo +1 -1
  35. package/types/api/builder.d.ts +5 -0
  36. package/types/api/call.types.d.ts +7 -6
  37. package/types/api/endpoint.d.ts +2 -0
  38. package/types/api/endpoint.types.d.ts +4 -1
  39. package/types/api/extensions/contentType.d.ts +1 -1
  40. package/types/api/helpers.d.ts +3 -1
  41. package/types/api/index.d.ts +1 -0
  42. package/types/structures/path/builder.d.ts +5 -4
  43. package/types/structures/path/builder.helpers.d.ts +8 -0
  44. package/types/structures/path/types.d.ts +32 -27
  45. package/types/structures/path/types.helpers.d.ts +23 -0
  46. package/types/types/misc.d.ts +4 -0
@@ -1,25 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.remapApisStructure = remapApisStructure;
3
4
  exports.buildApi = buildApi;
4
5
  exports.createEndpointCallable = createEndpointCallable;
5
6
  const endpoint_js_1 = require("./endpoint.js");
6
7
  const assert_js_1 = require("../functions/assert.js");
7
8
  const helpers_js_1 = require("./helpers.js");
8
- /** Converts an composite API endpoints object to the same tree of functions */
9
- function buildApi(api, caller) {
10
- (0, assert_js_1.assert)(!!api && typeof api === 'object', 'API definition must be an object');
11
- (0, assert_js_1.assert)(!!caller && typeof caller === 'function', 'Caller must be a function');
12
- if (endpoint_js_1.ApiEndpoint.isEndpoint(api)) {
13
- return createEndpointCallable(api, caller);
9
+ /** Converts each endpoint in a nested structure to something via transformer */
10
+ function remapApisStructure(root, transformer) {
11
+ if (endpoint_js_1.ApiEndpoint.isEndpoint(root)) {
12
+ return transformer(root);
14
13
  }
15
- return Object.entries(api).reduce((acc, [key, value]) => {
14
+ return Object.entries(root).reduce((acc, [key, value]) => {
16
15
  const next = value;
17
16
  if (next != null && typeof next === 'object') {
18
- acc[key] = buildApi(next, caller);
17
+ acc[key] = remapApisStructure(next, transformer);
19
18
  }
20
19
  return acc;
21
20
  }, {});
22
21
  }
22
+ /** Converts an composite API endpoints object to the same tree of functions */
23
+ function buildApi(api, caller) {
24
+ (0, assert_js_1.assert)(!!api && typeof api === 'object', 'API definition must be an object');
25
+ (0, assert_js_1.assert)(!!caller && typeof caller === 'function', 'Caller must be a function');
26
+ return remapApisStructure(api, e => createEndpointCallable(e, caller));
27
+ }
23
28
  /** Partial application: binding an endpoint to callApi, so only input data and extra are passed to a newly created function. */
24
29
  function createEndpointCallable(endpoint, caller) {
25
30
  const path = (0, helpers_js_1.getTemplate)(endpoint).replaceAll('/', '_').replaceAll(':', '$') || 'root';
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/api/builder.ts"],"names":[],"mappings":";;AAqBA,4BAkBC;AAGD,wDAeC;AAvDD,+CAA4C;AAC5C,sDAAgD;AAChD,6CAA2C;AAgB3C,+EAA+E;AAC/E,SAAgB,QAAQ,CACpB,GAAS,EACT,MAAgC;IAEhC,IAAA,kBAAM,EAAC,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,kCAAkC,CAAC,CAAC;IAC7E,IAAA,kBAAM,EAAC,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,2BAA2B,CAAC,CAAC;IAE9E,IAAI,yBAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,sBAAsB,CAAC,GAAG,EAAE,MAA0B,CAAkC,CAAC;IACpG,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA4C,CAA4B,CAAC;AAChF,CAAC;AAED,gIAAgI;AAChI,SAAgB,sBAAsB,CAIpC,QAAmB,EAAE,MAAe;IAClC,MAAM,IAAI,GAAG,IAAA,wBAAW,EAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC;IACvF,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;IAEzE,MAAM,EAAE,GAAG;QACP,CAAC,IAAI,CAAC,EAAE,UAAU,IAAiC,EAAE,KAA8B,IAAI,OAAO,MAAM,CAAY,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5I,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;IAE9C,MAAM,MAAM,GAAG,EAAwC,CAAC;IACxD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/api/builder.ts"],"names":[],"mappings":";;AAqBA,gDAYC;AASD,4BAWC;AAGD,wDAeC;AArED,+CAA4C;AAC5C,sDAAgD;AAChD,6CAA2C;AAgB3C,gFAAgF;AAChF,SAAgB,kBAAkB,CAAsC,IAAU,EAAE,WAA4C;IAC5H,IAAI,yBAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,IAAI,CAA+B,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA+C,CAA+B,CAAC;AACtF,CAAC;AAQD,+EAA+E;AAC/E,SAAgB,QAAQ,CACpB,GAAS,EACT,MAAgC;IAEhC,IAAA,kBAAM,EAAC,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,kCAAkC,CAAC,CAAC;IAC7E,IAAA,kBAAM,EAAC,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,2BAA2B,CAAC,CAAC;IAE9E,OAAO,kBAAkB,CACrB,GAAG,EACH,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAA0B,CAAC,CACvB,CAAC;AAC5C,CAAC;AAED,gIAAgI;AAChI,SAAgB,sBAAsB,CAIpC,QAAmB,EAAE,MAAe;IAClC,MAAM,IAAI,GAAG,IAAA,wBAAW,EAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC;IACvF,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;IAEzE,MAAM,EAAE,GAAG;QACP,CAAC,IAAI,CAAC,EAAE,UAAU,IAAiC,EAAE,KAA8B,IAAI,OAAO,MAAM,CAAY,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5I,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;IAE9C,MAAM,MAAM,GAAG,EAAwC,CAAC;IACxD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
3
4
  //# sourceMappingURL=call.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"call.types.js","sourceRoot":"","sources":["../../../src/api/call.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"call.types.js","sourceRoot":"","sources":["../../../src/api/call.types.ts"],"names":[],"mappings":";;AAgFC,CAAC"}
@@ -55,6 +55,16 @@ var ApiEndpoint;
55
55
  withHeaders() {
56
56
  return res;
57
57
  },
58
+ finalize() {
59
+ const finalized = {};
60
+ Object.entries(res).forEach(([key, value]) => {
61
+ if (value != null && typeof value !== 'function') {
62
+ finalized[key] = value;
63
+ }
64
+ });
65
+ Object.freeze(finalized);
66
+ return finalized;
67
+ },
58
68
  };
59
69
  Object.assign(res, ext);
60
70
  return res;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/api/endpoint.ts"],"names":[],"mappings":";;;AAAA,0DAAmD;AACnD,6CAA+C;AAwC/C,IAAiB,WAAW,CA2G3B;AA3GD,WAAiB,WAAW;IAExB,+GAA+G;IAC/G,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;IAEnD,SAAgB,UAAU,CAAC,GAAQ;QAC/B,OAAO,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,KAAK,IAAI,IAAI,QAAQ,IAAI,GAAG,CAAC;IACvE,CAAC;IAFe,sBAAU,aAEzB,CAAA;IAED,SAAS,UAAU,CAAC,WAAoB;QAEpC,MAAM,IAAI,GAAG;YACT,WAAW;YACX,MAAM,EAAE,4BAAe,CAAC,GAAG;SAC9B,CAAC;QAED,IAAY,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;QAE1C,MAAM,GAAG,GAAG,IAAmB,CAAC;QAEhC,yBAAyB;QACzB,MAAM,GAAG,GAA2C;YAChD,UAAU,CAAC,MAAuB;gBAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,GAAG;gBACC,IAAI,CAAC,MAAM,GAAG,4BAAe,CAAC,GAAG,CAAC;gBAClC,OAAO,GAA6C,CAAC;YACzD,CAAC;YACD,GAAG;gBACC,IAAI,CAAC,MAAM,GAAG,4BAAe,CAAC,GAAG,CAAC;gBAClC,OAAO,GAAsE,CAAC;YAClF,CAAC;YACD,IAAI;gBACA,IAAI,CAAC,MAAM,GAAG,4BAAe,CAAC,IAAI,CAAC;gBACnC,OAAO,GAAsE,CAAC;YAClF,CAAC;YACD,MAAM;gBACF,IAAI,CAAC,MAAM,GAAG,4BAAe,CAAC,MAAM,CAAC;gBACrC,OAAO,GAA6C,CAAC;YACzD,CAAC;YAED,QAAQ,CAAsC,GAAG,CAAI;gBACjD,MAAM,IAAI,GAAG,eAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClC,OAAO,MAAM,CAAC,MAAM,CAChB,GAAG,EACH,EAAE,IAAI,EAAE,CACX,CAAC;YACN,CAAC;YAED,SAAS,CAAoB,GAAG,SAAgC;gBAC3D,IAA0C,CAAC,SAAS,GAAG,SAAS,CAAC;gBAClE,OAAO,GAA6C,CAAC;YACzD,CAAC;YAED,UAAU,CAAO,cAAoC;gBAChD,IAA6C,CAAC,cAAc,GAAG,cAAc,CAAC;gBAC/E,OAAO,GAAG,CAAC;YACf,CAAC;YAED,WAAW;gBACP,OAAO,GAAG,CAAC;YACf,CAAC;SACJ,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAC;IACf,CAAC;IAkBD,SAAS,aAAa,CAClB,WAA4C,EAC5C,QAA6B;QAE7B,MAAM,GAAG,GAAG,UAAU,WAAoB;YACtC,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAClD,CAAwB,CAAC;QAEzB,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtB,OAAO,aAAa,CAChB,GAAG,EACH,QAAQ,CACX,CAAC;QACN,CAAC,CAAC;QAEF,OAAO,GAAG,CAAC;IACf,CAAC;IAEY,kBAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;AAEpD,CAAC,EA3GgB,WAAW,2BAAX,WAAW,QA2G3B"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/api/endpoint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/api/helpers.ts"],"names":[],"mappings":";;;AAQA,kCAEC;AAKD,0BAQC;AAED,kCAIC;AAED,0DAMC;AArCD,0DAAmD;AAGtC,QAAA,eAAe,GAAG;IAC3B,iBAAiB,EAAE,GAAoC;IACvD,UAAU,EAAE,GAAG;CAClB,CAAC;AAEF,SAAgB,WAAW,CAAC,QAAyC;IACjE,MAAM,CAAC,MAAM,CAAC,uBAAe,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAGD,MAAM,SAAS,GAAG,CAAC,MAAqB,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAe,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEjI,SAAgB,OAAO,CACnB,QAAW,EACX,QAAsC,EACtC,SAA2B,IAAI;IAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,eAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,WAAW,CAA0B,QAAW,EAAE,SAA2B,IAAI;IAC7F,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,eAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,QAAQ,CAAC,uBAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED,SAAgB,uBAAuB,CAAC,QAAuB;IAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW;QAC/B,CAAC,CAAC,IAAI,QAAQ,CAAC,WAAW,IAAI;QAC9B,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,MAAM,GAAG,QAAQ,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/api/helpers.ts"],"names":[],"mappings":";;;AAQA,kCAEC;AAKD,0BAQC;AAED,kCAIC;AAED,0DAMC;AArCD,0DAAmD;AAGtC,QAAA,eAAe,GAAG;IAC3B,iBAAiB,EAAE,GAAoC;IACvD,UAAU,EAAE,GAAG;CAClB,CAAC;AAEF,SAAgB,WAAW,CAAC,QAAyC;IACjE,MAAM,CAAC,MAAM,CAAC,uBAAe,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAGD,MAAM,SAAS,GAAG,CAAC,MAAqB,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAe,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEjI,SAAgB,OAAO,CACnB,QAAW,EACX,QAAsC,EACtC,SAA2B,IAAI;IAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,eAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,WAAW,CAA0B,QAAW,EAAE,SAAwB,IAAI;IAC1F,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,eAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,QAAQ,CAAC,uBAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED,SAAgB,uBAAuB,CAAC,QAAuB;IAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW;QAC/B,CAAC,CAAC,IAAI,QAAQ,CAAC,WAAW,IAAI;QAC9B,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,MAAM,GAAG,QAAQ,CAAC;AAC7B,CAAC"}
package/cjs/api/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LogTypes = exports.registerPreProcessor = exports.registerPostProcessor = exports.buildApiCaller = exports.EndpointMethods = exports.ApiEndpoint = void 0;
3
+ exports.LogTypes = exports.registerPreProcessor = exports.registerPostProcessor = exports.createEndpointCallable = exports.buildApi = exports.buildApiCaller = exports.EndpointMethods = exports.ApiEndpoint = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  var endpoint_js_1 = require("./endpoint.js");
6
6
  Object.defineProperty(exports, "ApiEndpoint", { enumerable: true, get: function () { return endpoint_js_1.ApiEndpoint; } });
@@ -9,6 +9,9 @@ Object.defineProperty(exports, "EndpointMethods", { enumerable: true, get: funct
9
9
  tslib_1.__exportStar(require("./helpers.js"), exports);
10
10
  var call_js_1 = require("./call.js");
11
11
  Object.defineProperty(exports, "buildApiCaller", { enumerable: true, get: function () { return call_js_1.buildApiCaller; } });
12
+ var builder_js_1 = require("./builder.js");
13
+ Object.defineProperty(exports, "buildApi", { enumerable: true, get: function () { return builder_js_1.buildApi; } });
14
+ Object.defineProperty(exports, "createEndpointCallable", { enumerable: true, get: function () { return builder_js_1.createEndpointCallable; } });
12
15
  var register_js_1 = require("./register.js");
13
16
  Object.defineProperty(exports, "registerPostProcessor", { enumerable: true, get: function () { return register_js_1.registerPostProcessor; } });
14
17
  Object.defineProperty(exports, "registerPreProcessor", { enumerable: true, get: function () { return register_js_1.registerPreProcessor; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":";;;;AAGA,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAEpB,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,uDAA6B;AAE7B,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,6CAA4E;AAAnE,oHAAA,qBAAqB,OAAA;AAAE,mHAAA,oBAAoB,OAAA;AACpD,2CAAwC;AAA/B,sGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":";;;;AAGA,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAEpB,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,uDAA6B;AAE7B,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,2CAAgE;AAAvD,sGAAA,QAAQ,OAAA;AAAE,oHAAA,sBAAsB,OAAA;AACzC,6CAA4E;AAAnE,oHAAA,qBAAqB,OAAA;AAAE,mHAAA,oBAAoB,OAAA;AACpD,2CAAwC;AAA/B,sGAAA,QAAQ,OAAA"}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.staticFactory = void 0;
4
+ exports.constructStatic = constructStatic;
5
+ exports.constructDynamic = constructDynamic;
6
+ exports.guardIsStatic = guardIsStatic;
7
+ exports.normalizeInput = normalizeInput;
8
+ const utils_js_1 = require("./utils.js");
9
+ const staticFactory = (strings) => {
10
+ const parts = strings.slice();
11
+ let defaultOptions = undefined;
12
+ return {
13
+ build: (_, options) => (0, utils_js_1.combineUrls)(utils_js_1.CombineOptions.merge(defaultOptions, options), ...parts),
14
+ template: (_, options) => (0, utils_js_1.combineUrls)(utils_js_1.CombineOptions.merge(defaultOptions, options), ...parts),
15
+ args: [],
16
+ as() { return this; },
17
+ withDefaults(defaults) {
18
+ defaultOptions = defaults;
19
+ return this;
20
+ },
21
+ withBuildTransform() { return this; },
22
+ withTemplateTransform() { return this; },
23
+ };
24
+ };
25
+ exports.staticFactory = staticFactory;
26
+ function constructStatic(input) {
27
+ let staticPath = undefined;
28
+ /* istanbul ignore else -- @preserve */
29
+ if (Array.isArray(input)) {
30
+ staticPath = (0, utils_js_1.combineUrls)(...input);
31
+ }
32
+ else if (typeof input === 'string') {
33
+ staticPath = input;
34
+ }
35
+ else {
36
+ throw new Error('Path.construct: Invalid input, expected string | string[]');
37
+ }
38
+ return (0, exports.staticFactory)([staticPath]);
39
+ }
40
+ ;
41
+ function constructDynamic(strings, ...paramsRaw) {
42
+ if (paramsRaw.length === 0) {
43
+ return (0, exports.staticFactory)(strings);
44
+ }
45
+ // Collect metadata about parameters
46
+ const params = paramsRaw.map((p, index) => {
47
+ const isOptional = p.endsWith(Tokens.Optional);
48
+ return {
49
+ raw: p,
50
+ // Remove optional token from the end of the parameter name
51
+ name: isOptional
52
+ ? p.slice(0, -Tokens.Optional.length)
53
+ : p,
54
+ index,
55
+ isOptional,
56
+ };
57
+ });
58
+ let defaultOptions = undefined;
59
+ let buildTransforms = null;
60
+ let templateTransforms = null;
61
+ const build = (args, options, transforms = buildTransforms) => {
62
+ const parts = [];
63
+ const getValue = !args
64
+ ? (() => null)
65
+ : Array.isArray(args)
66
+ ? (arg) => args[arg.index]?.toString()
67
+ : (arg) => args[arg.name]?.toString();
68
+ for (let i = 0; i < strings.length; ++i) {
69
+ parts.push(strings[i]);
70
+ if (i >= params.length) {
71
+ continue;
72
+ }
73
+ const info = params[i];
74
+ let v = getValue(info);
75
+ if (v != null) {
76
+ const t = transforms?.[info.name];
77
+ if (t) {
78
+ v = t(v, info);
79
+ }
80
+ parts.push(v);
81
+ }
82
+ }
83
+ return (0, utils_js_1.combineUrls)(utils_js_1.CombineOptions.merge(defaultOptions, options), ...parts);
84
+ };
85
+ const template = (transform, options) => {
86
+ const baseTransform = templateTransforms
87
+ ? (v, info) => {
88
+ const t = templateTransforms[info.name];
89
+ return t ? t(v, info) : v;
90
+ }
91
+ : (v) => v;
92
+ let resTransform;
93
+ if (transform && typeof transform === 'function') {
94
+ resTransform = (v, info) => transform(baseTransform(v, info), info);
95
+ }
96
+ else {
97
+ const { prefix = '', suffix = '', optionalSuffix = Tokens.Optional, } = typeof transform === 'string'
98
+ ? { prefix: transform }
99
+ : transform || {};
100
+ resTransform = (v, info) => {
101
+ const value = baseTransform(v, info);
102
+ return `${prefix}${value}${info.isOptional ? optionalSuffix : ''}${suffix}`;
103
+ };
104
+ }
105
+ const args = params.map(param => resTransform(param.name, param));
106
+ return build(args, options, {});
107
+ };
108
+ let _args = undefined;
109
+ const result = {
110
+ build,
111
+ template,
112
+ get args() {
113
+ if (!_args) {
114
+ _args = params.map(p => p.name);
115
+ }
116
+ return _args;
117
+ },
118
+ as() { return this; },
119
+ asOptional() {
120
+ return constructDynamic(strings, ...params.map(p => p.isOptional ? p.raw : `${p.raw}${Tokens.Optional}`));
121
+ },
122
+ withDefaults(defaults) {
123
+ defaultOptions = defaults;
124
+ return this;
125
+ },
126
+ withBuildTransform(transforms) {
127
+ buildTransforms = transforms;
128
+ return this;
129
+ },
130
+ withTemplateTransform(transforms) {
131
+ templateTransforms = transforms;
132
+ return this;
133
+ },
134
+ };
135
+ return result;
136
+ }
137
+ const Tokens = {
138
+ Separator: '/',
139
+ Optional: '?',
140
+ Arg: ':',
141
+ };
142
+ function guardIsStatic(value) {
143
+ return typeof value === 'string' || Array.isArray(value);
144
+ }
145
+ function normalizeInput(inputs) {
146
+ if (!inputs.length) {
147
+ return [];
148
+ }
149
+ const normalizeString = (input) => {
150
+ const part = input.trim();
151
+ if (part.startsWith(Tokens.Arg)) {
152
+ const cleaned = part.slice(Tokens.Arg.length);
153
+ return constructDynamic `${cleaned}`;
154
+ }
155
+ return part;
156
+ };
157
+ const extractParts = (input) => {
158
+ if (input.includes(Tokens.Separator)) {
159
+ return input.split(Tokens.Separator)
160
+ .map(normalizeString)
161
+ .filter(Boolean);
162
+ }
163
+ return normalizeString(input);
164
+ };
165
+ return inputs.map(input => {
166
+ if (typeof input === 'string') {
167
+ return extractParts(input);
168
+ }
169
+ if (Array.isArray(input)) {
170
+ return input.map(i => {
171
+ if (typeof i === 'string') {
172
+ return extractParts(i);
173
+ }
174
+ return i;
175
+ });
176
+ }
177
+ return input;
178
+ }).flat();
179
+ }
180
+ //# sourceMappingURL=builder.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.helpers.js","sourceRoot":"","sources":["../../../../src/structures/path/builder.helpers.ts"],"names":[],"mappings":"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"}
@@ -3,111 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Empty = void 0;
4
4
  exports.build = build;
5
5
  exports.construct = construct;
6
- const tslib_1 = require("tslib");
6
+ const builder_helpers_js_1 = require("./builder.helpers.js");
7
7
  const utils_js_1 = require("./utils.js");
8
- tslib_1.__exportStar(require("./types.js"), exports);
9
- const staticFactory = (strings) => {
10
- const parts = strings.slice();
11
- let defaultOptions = undefined;
12
- return {
13
- build: (_, options) => (0, utils_js_1.combineUrls)(utils_js_1.CombineOptions.merge(defaultOptions, options), ...parts),
14
- template: (_, options) => (0, utils_js_1.combineUrls)(utils_js_1.CombineOptions.merge(defaultOptions, options), ...parts),
15
- args: [],
16
- as() { return this; },
17
- withDefaults(defaults) {
18
- defaultOptions = defaults;
19
- return this;
20
- },
21
- withBuildTransform() { return this; },
22
- withTemplateTransform() { return this; },
23
- };
24
- };
25
8
  /** Tagged template literal to create a path builder */
26
9
  function build(strings, ...params) {
27
- if (params.length === 0) {
28
- return staticFactory(strings);
29
- }
30
- let defaultOptions = undefined;
31
- let buildTransforms = null;
32
- let templateTransforms = null;
33
- const build = (args, options, transforms = buildTransforms) => {
34
- const parts = [];
35
- const getValue = !args
36
- ? (() => null)
37
- : Array.isArray(args)
38
- ? (_key, index) => args[index]?.toString()
39
- : (key, _index) => args[key]?.toString();
40
- for (let i = 0; i < strings.length; ++i) {
41
- parts.push(strings[i]);
42
- if (i < params.length) {
43
- let v = getValue(params[i], i);
44
- if (v != null) {
45
- const t = transforms?.[params[i]];
46
- if (t) {
47
- v = t(v);
48
- }
49
- parts.push(v);
50
- }
51
- }
52
- }
53
- return (0, utils_js_1.combineUrls)(utils_js_1.CombineOptions.merge(defaultOptions, options), ...parts);
54
- };
55
- const template = (prefix, options) => {
56
- let args;
57
- const t = templateTransforms
58
- ? (v) => {
59
- const t = templateTransforms[v];
60
- return t ? t(v) : v;
61
- }
62
- : (v) => v;
63
- if (typeof prefix === 'string') {
64
- args = params.map(p => prefix + t(p));
65
- }
66
- else if (typeof prefix === 'function') {
67
- args = params.map((p, i) => prefix(t(p), i));
68
- }
69
- else {
70
- args = params.map(t);
71
- }
72
- return build(args, options, {});
73
- };
74
- const result = {
75
- build,
76
- template,
77
- args: params,
78
- as() { return this; },
79
- asOptional() { return this; },
80
- withDefaults(defaults) {
81
- defaultOptions = defaults;
82
- return this;
83
- },
84
- withBuildTransform(transforms) {
85
- buildTransforms = transforms;
86
- return this;
87
- },
88
- withTemplateTransform(transforms) {
89
- templateTransforms = transforms;
90
- return this;
91
- },
92
- };
93
- return result;
94
- }
95
- const constructStatic = (input) => {
96
- let staticPath = undefined;
97
- /* istanbul ignore else -- @preserve */
98
- if (Array.isArray(input)) {
99
- staticPath = (0, utils_js_1.combineUrls)(...input);
100
- }
101
- else if (typeof input === 'string') {
102
- staticPath = input;
103
- }
104
- else {
105
- throw new Error('Path.construct: Invalid input, expected string | string[]');
106
- }
107
- return staticFactory([staticPath]);
108
- };
109
- function guardIsStatic(value) {
110
- return typeof value === 'string' || Array.isArray(value);
10
+ return (0, builder_helpers_js_1.constructDynamic)(strings, ...params);
111
11
  }
112
12
  exports.Empty = build ``;
113
13
  /**
@@ -119,13 +19,14 @@ exports.Empty = build ``;
119
19
  * - manually implementing `Builder<string[]>`
120
20
  * - another `construct` call
121
21
  */
122
- function construct(...inputs) {
22
+ function construct(...inputsRaw) {
23
+ const inputs = (0, builder_helpers_js_1.normalizeInput)(inputsRaw);
123
24
  if (!inputs.length) {
124
25
  return exports.Empty;
125
26
  }
126
27
  const convertToOutput = (input) => {
127
- if (guardIsStatic(input)) {
128
- return constructStatic(input);
28
+ if ((0, builder_helpers_js_1.guardIsStatic)(input)) {
29
+ return (0, builder_helpers_js_1.constructStatic)(input);
129
30
  }
130
31
  return input;
131
32
  };
@@ -144,7 +45,21 @@ function construct(...inputs) {
144
45
  const result = {
145
46
  build: (args, options) => {
146
47
  const innerOptions = skipOuterOptions(options);
147
- return (0, utils_js_1.combineUrls)(options, ...outputs.map(o => o.build(args, innerOptions)));
48
+ let outputResults;
49
+ if (Array.isArray(args)) {
50
+ // if args is array, we need to split it into parts so each `output` will get its own args
51
+ let usedArgsCount = 0;
52
+ outputResults = outputs.map(o => {
53
+ const currentArgs = args.slice(usedArgsCount, usedArgsCount + o.args.length);
54
+ usedArgsCount += o.args.length;
55
+ return o.build(currentArgs, innerOptions);
56
+ });
57
+ }
58
+ else {
59
+ // in case of object we don't have to split args
60
+ outputResults = outputs.map(o => o.build(args, innerOptions));
61
+ }
62
+ return (0, utils_js_1.combineUrls)(options, ...outputResults);
148
63
  },
149
64
  template: (prefix, options) => {
150
65
  const innerOptions = skipOuterOptions(options);
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/structures/path/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/structures/path/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.helpers.js","sourceRoot":"","sources":["../../../../src/structures/path/types.helpers.ts"],"names":[],"mappings":""}
@@ -1,21 +1,25 @@
1
1
  import { ApiEndpoint } from './endpoint.js';
2
2
  import { assert } from '../functions/assert.js';
3
3
  import { getTemplate } from './helpers.js';
4
- /** Converts an composite API endpoints object to the same tree of functions */
5
- export function buildApi(api, caller) {
6
- assert(!!api && typeof api === 'object', 'API definition must be an object');
7
- assert(!!caller && typeof caller === 'function', 'Caller must be a function');
8
- if (ApiEndpoint.isEndpoint(api)) {
9
- return createEndpointCallable(api, caller);
4
+ /** Converts each endpoint in a nested structure to something via transformer */
5
+ export function remapApisStructure(root, transformer) {
6
+ if (ApiEndpoint.isEndpoint(root)) {
7
+ return transformer(root);
10
8
  }
11
- return Object.entries(api).reduce((acc, [key, value]) => {
9
+ return Object.entries(root).reduce((acc, [key, value]) => {
12
10
  const next = value;
13
11
  if (next != null && typeof next === 'object') {
14
- acc[key] = buildApi(next, caller);
12
+ acc[key] = remapApisStructure(next, transformer);
15
13
  }
16
14
  return acc;
17
15
  }, {});
18
16
  }
17
+ /** Converts an composite API endpoints object to the same tree of functions */
18
+ export function buildApi(api, caller) {
19
+ assert(!!api && typeof api === 'object', 'API definition must be an object');
20
+ assert(!!caller && typeof caller === 'function', 'Caller must be a function');
21
+ return remapApisStructure(api, e => createEndpointCallable(e, caller));
22
+ }
19
23
  /** Partial application: binding an endpoint to callApi, so only input data and extra are passed to a newly created function. */
20
24
  export function createEndpointCallable(endpoint, caller) {
21
25
  const path = getTemplate(endpoint).replaceAll('/', '_').replaceAll(':', '$') || 'root';
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/api/builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAgB3C,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CACpB,GAAS,EACT,MAAgC;IAEhC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,kCAAkC,CAAC,CAAC;IAC7E,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,2BAA2B,CAAC,CAAC;IAE9E,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,sBAAsB,CAAC,GAAG,EAAE,MAA0B,CAAkC,CAAC;IACpG,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA4C,CAA4B,CAAC;AAChF,CAAC;AAED,gIAAgI;AAChI,MAAM,UAAU,sBAAsB,CAIpC,QAAmB,EAAE,MAAe;IAClC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC;IACvF,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;IAEzE,MAAM,EAAE,GAAG;QACP,CAAC,IAAI,CAAC,EAAE,UAAU,IAAiC,EAAE,KAA8B,IAAI,OAAO,MAAM,CAAY,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5I,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;IAE9C,MAAM,MAAM,GAAG,EAAwC,CAAC;IACxD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/api/builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAgB3C,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAsC,IAAU,EAAE,WAA4C;IAC5H,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,IAAI,CAA+B,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA+C,CAA+B,CAAC;AACtF,CAAC;AAQD,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CACpB,GAAS,EACT,MAAgC;IAEhC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,kCAAkC,CAAC,CAAC;IAC7E,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,2BAA2B,CAAC,CAAC;IAE9E,OAAO,kBAAkB,CACrB,GAAG,EACH,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAA0B,CAAC,CACvB,CAAC;AAC5C,CAAC;AAED,gIAAgI;AAChI,MAAM,UAAU,sBAAsB,CAIpC,QAAmB,EAAE,MAAe;IAClC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC;IACvF,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;IAEzE,MAAM,EAAE,GAAG;QACP,CAAC,IAAI,CAAC,EAAE,UAAU,IAAiC,EAAE,KAA8B,IAAI,OAAO,MAAM,CAAY,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5I,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;IAE9C,MAAM,MAAM,GAAG,EAAwC,CAAC;IACxD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1,2 +1,3 @@
1
+ ;
1
2
  export {};
2
3
  //# sourceMappingURL=call.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"call.types.js","sourceRoot":"","sources":["../../../src/api/call.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"call.types.js","sourceRoot":"","sources":["../../../src/api/call.types.ts"],"names":[],"mappings":"AAgFC,CAAC"}
@@ -52,6 +52,16 @@ export var ApiEndpoint;
52
52
  withHeaders() {
53
53
  return res;
54
54
  },
55
+ finalize() {
56
+ const finalized = {};
57
+ Object.entries(res).forEach(([key, value]) => {
58
+ if (value != null && typeof value !== 'function') {
59
+ finalized[key] = value;
60
+ }
61
+ });
62
+ Object.freeze(finalized);
63
+ return finalized;
64
+ },
55
65
  };
56
66
  Object.assign(res, ext);
57
67
  return res;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/api/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAwC/C,MAAM,KAAW,WAAW,CA2G3B;AA3GD,WAAiB,WAAW;IAExB,+GAA+G;IAC/G,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;IAEnD,SAAgB,UAAU,CAAC,GAAQ;QAC/B,OAAO,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,KAAK,IAAI,IAAI,QAAQ,IAAI,GAAG,CAAC;IACvE,CAAC;IAFe,sBAAU,aAEzB,CAAA;IAED,SAAS,UAAU,CAAC,WAAoB;QAEpC,MAAM,IAAI,GAAG;YACT,WAAW;YACX,MAAM,EAAE,eAAe,CAAC,GAAG;SAC9B,CAAC;QAED,IAAY,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;QAE1C,MAAM,GAAG,GAAG,IAAmB,CAAC;QAEhC,yBAAyB;QACzB,MAAM,GAAG,GAA2C;YAChD,UAAU,CAAC,MAAuB;gBAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,GAAG;gBACC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC;gBAClC,OAAO,GAA6C,CAAC;YACzD,CAAC;YACD,GAAG;gBACC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC;gBAClC,OAAO,GAAsE,CAAC;YAClF,CAAC;YACD,IAAI;gBACA,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;gBACnC,OAAO,GAAsE,CAAC;YAClF,CAAC;YACD,MAAM;gBACF,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;gBACrC,OAAO,GAA6C,CAAC;YACzD,CAAC;YAED,QAAQ,CAAsC,GAAG,CAAI;gBACjD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClC,OAAO,MAAM,CAAC,MAAM,CAChB,GAAG,EACH,EAAE,IAAI,EAAE,CACX,CAAC;YACN,CAAC;YAED,SAAS,CAAoB,GAAG,SAAgC;gBAC3D,IAA0C,CAAC,SAAS,GAAG,SAAS,CAAC;gBAClE,OAAO,GAA6C,CAAC;YACzD,CAAC;YAED,UAAU,CAAO,cAAoC;gBAChD,IAA6C,CAAC,cAAc,GAAG,cAAc,CAAC;gBAC/E,OAAO,GAAG,CAAC;YACf,CAAC;YAED,WAAW;gBACP,OAAO,GAAG,CAAC;YACf,CAAC;SACJ,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAC;IACf,CAAC;IAkBD,SAAS,aAAa,CAClB,WAA4C,EAC5C,QAA6B;QAE7B,MAAM,GAAG,GAAG,UAAU,WAAoB;YACtC,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAClD,CAAwB,CAAC;QAEzB,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtB,OAAO,aAAa,CAChB,GAAG,EACH,QAAQ,CACX,CAAC;QACN,CAAC,CAAC;QAEF,OAAO,GAAG,CAAC;IACf,CAAC;IAEY,kBAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;AAEpD,CAAC,EA3GgB,WAAW,KAAX,WAAW,QA2G3B"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/api/endpoint.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/api/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGnD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,iBAAiB,EAAE,GAAoC;IACvD,UAAU,EAAE,GAAG;CAClB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,QAAyC;IACjE,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAGD,MAAM,SAAS,GAAG,CAAC,MAAqB,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEjI,MAAM,UAAU,OAAO,CACnB,QAAW,EACX,QAAsC,EACtC,SAA2B,IAAI;IAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,IAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,WAAW,CAA0B,QAAW,EAAE,SAA2B,IAAI;IAC7F,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,IAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAuB;IAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW;QAC/B,CAAC,CAAC,IAAI,QAAQ,CAAC,WAAW,IAAI;QAC9B,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,MAAM,GAAG,QAAQ,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/api/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGnD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,iBAAiB,EAAE,GAAoC;IACvD,UAAU,EAAE,GAAG;CAClB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,QAAyC;IACjE,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAGD,MAAM,SAAS,GAAG,CAAC,MAAqB,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEjI,MAAM,UAAU,OAAO,CACnB,QAAW,EACX,QAAsC,EACtC,SAA2B,IAAI;IAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,IAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,WAAW,CAA0B,QAAW,EAAE,SAAwB,IAAI;IAC1F,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,IAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAuB;IAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW;QAC/B,CAAC,CAAC,IAAI,QAAQ,CAAC,WAAW,IAAI;QAC9B,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,MAAM,GAAG,QAAQ,CAAC;AAC7B,CAAC"}
package/esm/api/index.js CHANGED
@@ -2,6 +2,7 @@ export { ApiEndpoint } from './endpoint.js';
2
2
  export { EndpointMethods } from './methods.js';
3
3
  export * from './helpers.js';
4
4
  export { buildApiCaller } from './call.js';
5
+ export { buildApi, createEndpointCallable } from './builder.js';
5
6
  export { registerPostProcessor, registerPreProcessor } from './register.js';
6
7
  export { LogTypes } from './logging.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}