@zajno/common 2.6.3 → 2.6.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.
Files changed (66) hide show
  1. package/cjs/api/builder.js +6 -2
  2. package/cjs/api/builder.js.map +1 -1
  3. package/cjs/api/call.js +1 -1
  4. package/cjs/api/call.js.map +1 -1
  5. package/cjs/api/call.types.js +3 -0
  6. package/cjs/api/call.types.js.map +1 -0
  7. package/cjs/api/endpoint.js +4 -6
  8. package/cjs/api/endpoint.js.map +1 -1
  9. package/cjs/api/extensions/validation.js.map +1 -1
  10. package/cjs/api/helpers.js +4 -2
  11. package/cjs/api/helpers.js.map +1 -1
  12. package/cjs/async/arrays.js.map +1 -1
  13. package/cjs/dates/tz.js +19 -13
  14. package/cjs/dates/tz.js.map +1 -1
  15. package/cjs/observing/event.js +4 -4
  16. package/cjs/observing/event.js.map +1 -1
  17. package/cjs/observing/event.late.js +8 -0
  18. package/cjs/observing/event.late.js.map +1 -1
  19. package/cjs/observing/timeout.js +49 -0
  20. package/cjs/observing/timeout.js.map +1 -0
  21. package/cjs/observing/timer.js +5 -0
  22. package/cjs/observing/timer.js.map +1 -1
  23. package/cjs/structures/path/builder.js +2 -0
  24. package/cjs/structures/path/builder.js.map +1 -1
  25. package/esm/api/builder.js +6 -2
  26. package/esm/api/builder.js.map +1 -1
  27. package/esm/api/call.js +1 -1
  28. package/esm/api/call.js.map +1 -1
  29. package/esm/api/call.types.js +2 -0
  30. package/esm/api/call.types.js.map +1 -0
  31. package/esm/api/endpoint.js +4 -6
  32. package/esm/api/endpoint.js.map +1 -1
  33. package/esm/api/extensions/validation.js.map +1 -1
  34. package/esm/api/helpers.js +4 -2
  35. package/esm/api/helpers.js.map +1 -1
  36. package/esm/async/arrays.js.map +1 -1
  37. package/esm/dates/tz.js +19 -13
  38. package/esm/dates/tz.js.map +1 -1
  39. package/esm/observing/event.js +4 -4
  40. package/esm/observing/event.js.map +1 -1
  41. package/esm/observing/event.late.js +8 -0
  42. package/esm/observing/event.late.js.map +1 -1
  43. package/esm/observing/timeout.js +45 -0
  44. package/esm/observing/timeout.js.map +1 -0
  45. package/esm/observing/timer.js +5 -0
  46. package/esm/observing/timer.js.map +1 -1
  47. package/esm/structures/path/builder.js +2 -0
  48. package/esm/structures/path/builder.js.map +1 -1
  49. package/package.json +1 -1
  50. package/tsconfig.cjs.tsbuildinfo +1 -1
  51. package/tsconfig.esm.tsbuildinfo +1 -1
  52. package/tsconfig.types.tsbuildinfo +1 -1
  53. package/types/api/builder.d.ts +3 -4
  54. package/types/api/call.d.ts +3 -48
  55. package/types/api/call.types.d.ts +52 -0
  56. package/types/api/endpoint.d.ts +10 -16
  57. package/types/api/endpoint.types.d.ts +15 -6
  58. package/types/api/extensions/validation.d.ts +3 -2
  59. package/types/api/helpers.d.ts +1 -1
  60. package/types/async/arrays.d.ts +4 -4
  61. package/types/dates/tz.d.ts +14 -2
  62. package/types/observing/event.late.d.ts +8 -0
  63. package/types/observing/timeout.d.ts +25 -0
  64. package/types/observing/timer.d.ts +5 -0
  65. package/types/structures/path/types.d.ts +18 -7
  66. package/types/types/misc.d.ts +1 -0
@@ -4,6 +4,7 @@ exports.buildApi = buildApi;
4
4
  exports.createEndpointCallable = createEndpointCallable;
5
5
  const endpoint_js_1 = require("./endpoint.js");
6
6
  const assert_js_1 = require("../functions/assert.js");
7
+ const helpers_js_1 = require("./helpers.js");
7
8
  /** Converts an composite API endpoints object to the same tree of functions */
8
9
  function buildApi(api, caller) {
9
10
  (0, assert_js_1.assert)(!!api && typeof api === 'object', 'API definition must be an object');
@@ -13,13 +14,16 @@ function buildApi(api, caller) {
13
14
  }
14
15
  return Object.entries(api).reduce((acc, [key, value]) => {
15
16
  const next = value;
16
- acc[key] = buildApi(next, caller);
17
+ if (next != null && typeof next === 'object') {
18
+ acc[key] = buildApi(next, caller);
19
+ }
17
20
  return acc;
18
21
  }, {});
19
22
  }
20
23
  /** Partial application: binding an endpoint to callApi, so only input data and extra are passed to a newly created function. */
21
24
  function createEndpointCallable(endpoint, caller) {
22
- const name = `${endpoint.displayName || '?'}_${endpoint.method}_${endpoint.path.template()}`;
25
+ const path = (0, helpers_js_1.getTemplate)(endpoint).replaceAll('/', '_').replaceAll(':', '$') || 'root';
26
+ const name = `${endpoint.displayName || '?'}_${endpoint.method}_${path}`;
23
27
  const fn = {
24
28
  [name]: function (data, extra) { return caller(endpoint, data, extra); },
25
29
  }[name]; // this sets the name of the function
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/api/builder.ts"],"names":[],"mappings":";;AAoBA,4BAgBC;AAGD,wDAcC;AAnDD,+CAA4C;AAC5C,sDAAgD;AAgBhD,+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,KAAsB,CAAC;QACpC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA4C,CAA4B,CAAC;AAChF,CAAC;AAED,gIAAgI;AAChI,SAAgB,sBAAsB,CAIpC,QAAmB,EAAE,MAAe;IAClC,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IAE7F,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,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"}
package/cjs/api/call.js CHANGED
@@ -12,7 +12,7 @@ function buildApiCaller(options) {
12
12
  const queryInputs = {};
13
13
  let queryStr = '';
14
14
  // extract path inputs from data
15
- const pathKeys = api.path.args;
15
+ const pathKeys = api.path?.args;
16
16
  if (resultInput && pathKeys?.length) {
17
17
  for (const key of pathKeys) {
18
18
  pathInputs[key] = resultInput[key];
@@ -1 +1 @@
1
- {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/api/call.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/api/call.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=call.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.types.js","sourceRoot":"","sources":["../../../src/api/call.types.ts"],"names":[],"mappings":""}
@@ -8,12 +8,11 @@ var ApiEndpoint;
8
8
  /** Since we don't use class anymore, we need another way to determine an object to be an Endpoint instance. */
9
9
  const ENDPOINT_OBJ_MARKER = '_ENDPOINT_OBJ_MARKER';
10
10
  function isEndpoint(obj) {
11
- return obj[ENDPOINT_OBJ_MARKER] === true;
11
+ return obj && obj[ENDPOINT_OBJ_MARKER] === true && 'method' in obj;
12
12
  }
13
13
  ApiEndpoint.isEndpoint = isEndpoint;
14
14
  function createBase(displayName) {
15
15
  const data = {
16
- path: index_js_1.Path.Empty,
17
16
  displayName,
18
17
  method: methods_js_1.EndpointMethods.GET,
19
18
  };
@@ -41,10 +40,9 @@ var ApiEndpoint;
41
40
  data.method = methods_js_1.EndpointMethods.DELETE;
42
41
  return res;
43
42
  },
44
- withPath(...path) {
45
- const p = index_js_1.Path.construct(...path);
46
- data.path = p;
47
- return res;
43
+ withPath(...p) {
44
+ const path = index_js_1.Path.construct(...p);
45
+ return Object.assign(res, { path });
48
46
  },
49
47
  withQuery(...queryKeys) {
50
48
  data.queryKeys = queryKeys;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/api/endpoint.ts"],"names":[],"mappings":";;;AAAA,0DAAmD;AACnD,6CAA+C;AA+C/C,IAAiB,WAAW,CAyG3B;AAzGD,WAAiB,WAAW;IAExB,+GAA+G;IAC/G,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;IAEnD,SAAgB,UAAU,CAAC,GAAQ;QAC/B,OAAO,GAAG,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC7C,CAAC;IAFe,sBAAU,aAEzB,CAAA;IAED,SAAS,UAAU,CAAC,WAAoB;QAEpC,MAAM,IAAI,GAAG;YACT,IAAI,EAAE,eAAI,CAAC,KAAK;YAChB,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,CAA6B,GAAG,IAAO;gBAC3C,MAAM,CAAC,GAAG,eAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACd,OAAO,GAAmF,CAAC;YAC/F,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;AACpD,CAAC,EAzGgB,WAAW,2BAAX,WAAW,QAyG3B"}
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 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/api/extensions/validation.ts"],"names":[],"mappings":";;;AASA,IAAiB,wBAAwB,CAwBxC;AAxBD,WAAiB,wBAAwB;IAGxB,iCAAQ,GAA2D,CAAwB,IAAO,EAAE,EAAE;QAE/G,MAAM,GAAG,GAAG;YACR,QAAQ,EAAE,SAAS;YACnB,cAAc,CAA8B,QAA+C;gBACvF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,OAAO,IAAoC,CAAC;YAChD,CAAC;SACwB,CAAC;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,SAAgB,KAAK,CAAC,GAAkB;QACpC,OAAO,UAAU,IAAI,GAAG,CAAC;IAC7B,CAAC;IAFe,8BAAK,QAEpB,CAAA;IAED,SAAgB,WAAW,CAAC,GAAkB,EAAE,KAA6C;QACzF,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAJe,oCAAW,cAI1B,CAAA;AACL,CAAC,EAxBgB,wBAAwB,wCAAxB,wBAAwB,QAwBxC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/api/extensions/validation.ts"],"names":[],"mappings":";;;AAUA,IAAiB,wBAAwB,CAwBxC;AAxBD,WAAiB,wBAAwB;IAGxB,iCAAQ,GAA2D,CAAwB,IAAO,EAAE,EAAE;QAE/G,MAAM,GAAG,GAAG;YACR,QAAQ,EAAE,SAAS;YACnB,cAAc,CAA8B,QAA+C;gBACvF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,OAAO,IAAoC,CAAC;YAChD,CAAC;SACwB,CAAC;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,SAAgB,KAAK,CAAC,GAAkB;QACpC,OAAO,UAAU,IAAI,GAAG,CAAC;IAC7B,CAAC;IAFe,8BAAK,QAEpB,CAAA;IAED,SAAgB,WAAW,CAAC,GAAkB,EAAE,KAAgB;QAC5D,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAJe,oCAAW,cAI1B,CAAA;AACL,CAAC,EAxBgB,wBAAwB,wCAAxB,wBAAwB,QAwBxC"}
@@ -5,6 +5,7 @@ exports.setDefaults = setDefaults;
5
5
  exports.getPath = getPath;
6
6
  exports.getTemplate = getTemplate;
7
7
  exports.getFormattedDisplayName = getFormattedDisplayName;
8
+ const index_js_1 = require("../structures/path/index.js");
8
9
  exports.DefaultSettings = {
9
10
  templateArgPrefix: ':',
10
11
  basePrefix: '/',
@@ -14,11 +15,12 @@ function setDefaults(settings) {
14
15
  }
15
16
  const getPrefix = (prefix) => typeof prefix === 'string' ? prefix : (prefix ? exports.DefaultSettings.basePrefix : false);
16
17
  function getPath(endpoint, pathArgs, prefix = true) {
17
- const path = endpoint.path;
18
+ const path = endpoint.path ?? index_js_1.Path.Empty;
18
19
  return path.build(pathArgs || undefined, { addStart: getPrefix(prefix) });
19
20
  }
20
21
  function getTemplate(endpoint, prefix = true) {
21
- return endpoint.path.template(exports.DefaultSettings.templateArgPrefix, { addStart: getPrefix(prefix) });
22
+ const path = endpoint.path ?? index_js_1.Path.Empty;
23
+ return path.template(exports.DefaultSettings.templateArgPrefix, { addStart: getPrefix(prefix) });
22
24
  }
23
25
  function getFormattedDisplayName(endpoint) {
24
26
  const template = getTemplate(endpoint);
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/api/helpers.ts"],"names":[],"mappings":";;;AAQA,kCAEC;AAKD,0BAOC;AAED,kCAEC;AAED,0DAMC;AA/BY,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,IAAqB,CAAC;IAC5C,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,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACtG,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,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 +1 @@
1
- {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/async/arrays.ts"],"names":[],"mappings":";;AAEA,8BASC;AAED,gCASC;AAED,oCAIC;AAGD,4BAOC;AApCM,KAAK,UAAU,SAAS,CAAI,MAAwB,EAAE,SAA6E;IACtI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,EAAE,EAAE,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,UAAU,CAAI,MAAwB,EAAE,SAA6E;IACvI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,YAAY,CAAI,MAAwB,EAAE,EAAmE;IAC/H,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;AACL,CAAC;AAED,wEAAwE;AACjE,KAAK,UAAU,QAAQ,CAAO,MAAwB,EAAE,EAAgE;IAC3H,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/async/arrays.ts"],"names":[],"mappings":";;AAEA,8BASC;AAED,gCASC;AAED,oCAIC;AAGD,4BAOC;AApCM,KAAK,UAAU,SAAS,CAAI,MAAwB,EAAE,SAA2E;IACpI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,EAAE,EAAE,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,UAAU,CAAI,MAAwB,EAAE,SAA2E;IACrI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,YAAY,CAAI,MAAwB,EAAE,EAAiE;IAC7H,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;AACL,CAAC;AAED,wEAAwE;AACjE,KAAK,UAAU,QAAQ,CAAO,MAAwB,EAAE,EAA8D;IACzH,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
package/cjs/dates/tz.js CHANGED
@@ -1,20 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Timezones = void 0;
4
- /** This is experimental stuff, so no tests provided, see comments in the code */
4
+ /** Helpers for time zones, based on `Intl.DateTimeFormat` */
5
5
  var Timezones;
6
6
  (function (Timezones) {
7
7
  Timezones.Current = Intl.DateTimeFormat().resolvedOptions().timeZone;
8
8
  Timezones.CurrentOffset = new Date().getTimezoneOffset();
9
9
  // https://stackoverflow.com/a/64262840/9053142
10
- // tested locally, but it's hard to write tests since they are based on the local timezone, browser implementation and whether DST is active
11
- // it's recommended to wrap with try/catch and don't rely it will always work
12
- Timezones.getOffset = (timeZone) => {
10
+ /**
11
+ * Get the offset in minutes for a given time zone and date. Uses Intl.DateTimeFormat
12
+ * to get the time zone name, then parses it to get the offset.
13
+ * @param timeZone time zone name, e.g. 'America/New_York', 'Europe/Kyiv', etc.
14
+ * @param date date to get the offset for. If not provided, uses the current date.
15
+ * @returns offset in minutes. Positive values are west of UTC, negative values are east of UTC.
16
+ */
17
+ function getOffset(timeZone, date) {
13
18
  const timeZoneName = Intl.DateTimeFormat('ia', {
14
19
  timeZoneName: 'longOffset',
15
20
  timeZone,
16
21
  })
17
- .formatToParts()
22
+ .formatToParts(date)
18
23
  .find((i) => i.type === 'timeZoneName')
19
24
  ?.value;
20
25
  const offset = timeZoneName?.slice(3);
@@ -34,16 +39,17 @@ var Timezones;
34
39
  result *= -1;
35
40
  }
36
41
  return result;
37
- };
38
- // Tests may look like this:
39
- /*
40
- expect(Timezones.getOffset('America/New_York')).toBe(240);
41
- expect(Timezones.getOffset('Europe/Paris')).toBe(-120);
42
- expect(Timezones.getOffset('Europe/Kiev')).toBe(-180);
43
- expect(Timezones.getOffset('Asia/Kolkata')).toBe(-270);
42
+ }
43
+ Timezones.getOffset = getOffset;
44
+ /** Returns a new date with the specified timezone offset applied.
45
+ *
46
+ * Usage case can be imagined like this: if your local wall clock shows time X,
47
+ * what your clock will show when another local wall clock in the specified timezone will be showing time X.
44
48
  */
45
49
  function shiftToTimeZone(date, tz) {
46
- const offset = typeof tz === 'number' ? tz : Timezones.getOffset(tz);
50
+ const offset = typeof tz === 'number'
51
+ ? tz
52
+ : getOffset(tz, date);
47
53
  const shifted = new Date(date.getTime() + offset * 60 * 1000);
48
54
  return shifted;
49
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tz.js","sourceRoot":"","sources":["../../../src/dates/tz.ts"],"names":[],"mappings":";;;AACA,iFAAiF;AACjF,IAAiB,SAAS,CAoDzB;AApDD,WAAiB,SAAS;IAET,iBAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAC3D,uBAAa,GAAG,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAE5D,+CAA+C;IAC/C,4IAA4I;IAC5I,6EAA6E;IAChE,mBAAS,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;YAC3C,YAAY,EAAE,YAAY;YAC1B,QAAQ;SACX,CAAC;aACG,aAAa,EAAE;aACf,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;YACvC,EAAE,KAAK,CAAC;QAEZ,MAAM,MAAM,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,CAAC,CAAC;QACb,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,eAAe,QAAQ,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;QACzC,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IAEF,4BAA4B;IAC5B;;;;;MAKE;IAEF,SAAgB,eAAe,CAAC,IAAU,EAAE,EAAmB;QAC3D,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAA,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC;IACnB,CAAC;IAJe,yBAAe,kBAI9B,CAAA;AACL,CAAC,EApDgB,SAAS,yBAAT,SAAS,QAoDzB"}
1
+ {"version":3,"file":"tz.js","sourceRoot":"","sources":["../../../src/dates/tz.ts"],"names":[],"mappings":";;;AAAA,6DAA6D;AAC7D,IAAiB,SAAS,CAyDzB;AAzDD,WAAiB,SAAS;IAET,iBAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAC3D,uBAAa,GAAG,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAE5D,+CAA+C;IAC/C;;;;;;OAMG;IACH,SAAgB,SAAS,CAAC,QAAgB,EAAE,IAAoB;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;YAC3C,YAAY,EAAE,YAAY;YAC1B,QAAQ;SACX,CAAC;aACG,aAAa,CAAC,IAAI,CAAC;aACnB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;YACvC,EAAE,KAAK,CAAC;QAEZ,MAAM,MAAM,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,CAAC,CAAC;QACb,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,eAAe,QAAQ,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;QACzC,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IA7Be,mBAAS,YA6BxB,CAAA;IAED;;;;MAIE;IACF,SAAgB,eAAe,CAAC,IAAU,EAAE,EAAmB;QAC3D,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,QAAQ;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAE1B,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC;IACnB,CAAC;IAPe,yBAAe,kBAO9B,CAAA;AACL,CAAC,EAzDgB,SAAS,yBAAT,SAAS,QAyDzB"}
@@ -57,20 +57,20 @@ class Event {
57
57
  }
58
58
  const hh = this._handlers.slice(0);
59
59
  const errors = [];
60
- await (0, arrays_js_1.forEachAsync)(hh, async (cb) => {
60
+ await (0, arrays_js_1.forEachAsync)(hh, async (cb, index) => {
61
61
  try {
62
62
  await cb(data);
63
63
  }
64
64
  catch (err) {
65
65
  this.logError(data, cb, err);
66
66
  if (err instanceof Error) {
67
- errors.push(err);
67
+ errors[index] = err;
68
68
  }
69
69
  else if (typeof err === 'string') {
70
- errors.push(new Error(err));
70
+ errors[index] = new Error(err);
71
71
  }
72
72
  else {
73
- errors.push(new Error(`Event handler thrown an exception: ${err}`));
73
+ errors[index] = new Error(`Event handler thrown an exception: ${err}`);
74
74
  }
75
75
  }
76
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/observing/event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/observing/event.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OneTimeLateEvent = void 0;
4
4
  const safe_js_1 = require("../functions/safe.js");
5
5
  const event_js_1 = require("./event.js");
6
+ /**
7
+ * One-time event that can be triggered only once, but listeners will be notified at the time of event or subscription, if it happens later.
8
+ *
9
+ * Useful for solving race conditions, when components initialization order is undetermined.
10
+ *
11
+ * Example usage: app initialization finished event, but some async components can subscribe later and be notified;
12
+ * So subscribers can be sure that the main initialization is finished.
13
+ */
6
14
  class OneTimeLateEvent extends event_js_1.Event {
7
15
  _triggeredWith = undefined;
8
16
  _triggered = false;
@@ -1 +1 @@
1
- {"version":3,"file":"event.late.js","sourceRoot":"","sources":["../../../src/observing/event.late.ts"],"names":[],"mappings":";;;AAAA,kDAAoD;AACpD,yCAAiD;AAEjD,MAAa,gBAA0B,SAAQ,gBAAQ;IAE3C,cAAc,GAAkB,SAAS,CAAC;IAC1C,UAAU,GAAG,KAAK,CAAC;IAE3B,OAAO,CAAC,IAAQ;QACZ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,IAAQ;QACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAa,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,EAAE,CAAC,OAAwB;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAA,sBAAY,EACR,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAC/B,CAAC;YACF,iEAAiE;QACrE,CAAC;QAED,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,qFAAqF;IACrF,KAAK,GAAG,GAAG,EAAE;QACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IACpC,CAAC,CAAC;CACL;AA3CD,4CA2CC"}
1
+ {"version":3,"file":"event.late.js","sourceRoot":"","sources":["../../../src/observing/event.late.ts"],"names":[],"mappings":";;;AAAA,kDAAoD;AACpD,yCAAiD;AAEjD;;;;;;;GAOG;AACH,MAAa,gBAA0B,SAAQ,gBAAQ;IAE3C,cAAc,GAAkB,SAAS,CAAC;IAC1C,UAAU,GAAG,KAAK,CAAC;IAE3B,OAAO,CAAC,IAAQ;QACZ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,IAAQ;QACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAa,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,EAAE,CAAC,OAAwB;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAA,sBAAY,EACR,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAC/B,CAAC;YACF,iEAAiE;QACrE,CAAC;QAED,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,qFAAqF;IACrF,KAAK,GAAG,GAAG,EAAE;QACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IACpC,CAAC,CAAC;CACL;AA3CD,4CA2CC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Timeout = void 0;
4
+ const timeout_js_1 = require("../async/timeout.js");
5
+ const event_js_1 = require("./event.js");
6
+ /**
7
+ * Simple one-off `setTimeout` wrapper/abstraction.
8
+ * Handle timeout via event, callback or Promise.
9
+ */
10
+ class Timeout {
11
+ _cancelCb = null;
12
+ _event = new event_js_1.Event();
13
+ get event() { return this._event.expose(); }
14
+ get isRunning() { return this._cancelCb !== null; }
15
+ async start(delay, callback) {
16
+ this.stop();
17
+ const startTime = Date.now();
18
+ try {
19
+ await (0, timeout_js_1.setTimeoutAsync)(delay, cancelCb => {
20
+ this._cancelCb = cancelCb;
21
+ });
22
+ }
23
+ finally {
24
+ this._cancelCb = null;
25
+ }
26
+ const elapsed = Date.now() - startTime;
27
+ this._event.trigger(elapsed);
28
+ if (callback) {
29
+ try {
30
+ callback();
31
+ }
32
+ catch (_err) {
33
+ // ignore
34
+ }
35
+ }
36
+ return elapsed;
37
+ }
38
+ stop() {
39
+ if (this._cancelCb) {
40
+ this._cancelCb();
41
+ this._cancelCb = null;
42
+ }
43
+ }
44
+ dispose() {
45
+ this.stop();
46
+ }
47
+ }
48
+ exports.Timeout = Timeout;
49
+ //# sourceMappingURL=timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../src/observing/timeout.ts"],"names":[],"mappings":";;;AAAA,oDAAsD;AAEtD,yCAAgD;AAchD;;;GAGG;AACH,MAAa,OAAO;IAER,SAAS,GAAwB,IAAI,CAAC;IAC7B,MAAM,GAAkB,IAAI,gBAAK,EAAU,CAAC;IAE7D,IAAW,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC;IAE1D,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,QAAqB;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACD,MAAM,IAAA,4BAAe,EAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;gBACpC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7B,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC;gBACD,QAAQ,EAAE,CAAC;YACf,CAAC;YAAC,OAAO,IAAI,EAAE,CAAC;gBACZ,SAAS;YACb,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;CACJ;AA7CD,0BA6CC"}
@@ -2,6 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Timer = void 0;
4
4
  const event_js_1 = require("./event.js");
5
+ /**
6
+ * A timer wraps `setInterval` and provides a more convenient API.
7
+ * It will fire an event every `interval` milliseconds.
8
+ * It also may have duration which means it will stop when elapsed time is greater than or equal to the duration.
9
+ */
5
10
  class Timer {
6
11
  interval;
7
12
  _event = new event_js_1.Event();
@@ -1 +1 @@
1
- {"version":3,"file":"timer.js","sourceRoot":"","sources":["../../../src/observing/timer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timer.js","sourceRoot":"","sources":["../../../src/observing/timer.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,7 @@ function build(strings, ...params) {
76
76
  template,
77
77
  args: params,
78
78
  as() { return this; },
79
+ asOptional() { return this; },
79
80
  withDefaults(defaults) {
80
81
  defaultOptions = defaults;
81
82
  return this;
@@ -151,6 +152,7 @@ function construct(...inputs) {
151
152
  },
152
153
  args,
153
154
  as() { return this; },
155
+ asOptional() { return this; },
154
156
  withDefaults(defaults) {
155
157
  outputs.forEach(o => o.withDefaults(defaults));
156
158
  return this;
@@ -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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"}
@@ -1,5 +1,6 @@
1
1
  import { ApiEndpoint } from './endpoint.js';
2
2
  import { assert } from '../functions/assert.js';
3
+ import { getTemplate } from './helpers.js';
3
4
  /** Converts an composite API endpoints object to the same tree of functions */
4
5
  export function buildApi(api, caller) {
5
6
  assert(!!api && typeof api === 'object', 'API definition must be an object');
@@ -9,13 +10,16 @@ export function buildApi(api, caller) {
9
10
  }
10
11
  return Object.entries(api).reduce((acc, [key, value]) => {
11
12
  const next = value;
12
- acc[key] = buildApi(next, caller);
13
+ if (next != null && typeof next === 'object') {
14
+ acc[key] = buildApi(next, caller);
15
+ }
13
16
  return acc;
14
17
  }, {});
15
18
  }
16
19
  /** Partial application: binding an endpoint to callApi, so only input data and extra are passed to a newly created function. */
17
20
  export function createEndpointCallable(endpoint, caller) {
18
- const name = `${endpoint.displayName || '?'}_${endpoint.method}_${endpoint.path.template()}`;
21
+ const path = getTemplate(endpoint).replaceAll('/', '_').replaceAll(':', '$') || 'root';
22
+ const name = `${endpoint.displayName || '?'}_${endpoint.method}_${path}`;
19
23
  const fn = {
20
24
  [name]: function (data, extra) { return caller(endpoint, data, extra); },
21
25
  }[name]; // this sets the name of the function
@@ -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;AAgBhD,+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,KAAsB,CAAC;QACpC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,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,GAAG,QAAQ,CAAC,WAAW,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IAE7F,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,+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"}
package/esm/api/call.js CHANGED
@@ -9,7 +9,7 @@ export function buildApiCaller(options) {
9
9
  const queryInputs = {};
10
10
  let queryStr = '';
11
11
  // extract path inputs from data
12
- const pathKeys = api.path.args;
12
+ const pathKeys = api.path?.args;
13
13
  if (resultInput && pathKeys?.length) {
14
14
  for (const key of pathKeys) {
15
15
  pathInputs[key] = resultInput[key];
@@ -1 +1 @@
1
- {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/api/call.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/api/call.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=call.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.types.js","sourceRoot":"","sources":["../../../src/api/call.types.ts"],"names":[],"mappings":""}
@@ -5,12 +5,11 @@ export var ApiEndpoint;
5
5
  /** Since we don't use class anymore, we need another way to determine an object to be an Endpoint instance. */
6
6
  const ENDPOINT_OBJ_MARKER = '_ENDPOINT_OBJ_MARKER';
7
7
  function isEndpoint(obj) {
8
- return obj[ENDPOINT_OBJ_MARKER] === true;
8
+ return obj && obj[ENDPOINT_OBJ_MARKER] === true && 'method' in obj;
9
9
  }
10
10
  ApiEndpoint.isEndpoint = isEndpoint;
11
11
  function createBase(displayName) {
12
12
  const data = {
13
- path: Path.Empty,
14
13
  displayName,
15
14
  method: EndpointMethods.GET,
16
15
  };
@@ -38,10 +37,9 @@ export var ApiEndpoint;
38
37
  data.method = EndpointMethods.DELETE;
39
38
  return res;
40
39
  },
41
- withPath(...path) {
42
- const p = Path.construct(...path);
43
- data.path = p;
44
- return res;
40
+ withPath(...p) {
41
+ const path = Path.construct(...p);
42
+ return Object.assign(res, { path });
45
43
  },
46
44
  withQuery(...queryKeys) {
47
45
  data.queryKeys = queryKeys;
@@ -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;AA+C/C,MAAM,KAAW,WAAW,CAyG3B;AAzGD,WAAiB,WAAW;IAExB,+GAA+G;IAC/G,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;IAEnD,SAAgB,UAAU,CAAC,GAAQ;QAC/B,OAAO,GAAG,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC7C,CAAC;IAFe,sBAAU,aAEzB,CAAA;IAED,SAAS,UAAU,CAAC,WAAoB;QAEpC,MAAM,IAAI,GAAG;YACT,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,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,CAA6B,GAAG,IAAO;gBAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACd,OAAO,GAAmF,CAAC;YAC/F,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;AACpD,CAAC,EAzGgB,WAAW,KAAX,WAAW,QAyG3B"}
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 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/api/extensions/validation.ts"],"names":[],"mappings":"AASA,MAAM,KAAW,wBAAwB,CAwBxC;AAxBD,WAAiB,wBAAwB;IAGxB,iCAAQ,GAA2D,CAAwB,IAAO,EAAE,EAAE;QAE/G,MAAM,GAAG,GAAG;YACR,QAAQ,EAAE,SAAS;YACnB,cAAc,CAA8B,QAA+C;gBACvF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,OAAO,IAAoC,CAAC;YAChD,CAAC;SACwB,CAAC;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,SAAgB,KAAK,CAAC,GAAkB;QACpC,OAAO,UAAU,IAAI,GAAG,CAAC;IAC7B,CAAC;IAFe,8BAAK,QAEpB,CAAA;IAED,SAAgB,WAAW,CAAC,GAAkB,EAAE,KAA6C;QACzF,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAJe,oCAAW,cAI1B,CAAA;AACL,CAAC,EAxBgB,wBAAwB,KAAxB,wBAAwB,QAwBxC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/api/extensions/validation.ts"],"names":[],"mappings":"AAUA,MAAM,KAAW,wBAAwB,CAwBxC;AAxBD,WAAiB,wBAAwB;IAGxB,iCAAQ,GAA2D,CAAwB,IAAO,EAAE,EAAE;QAE/G,MAAM,GAAG,GAAG;YACR,QAAQ,EAAE,SAAS;YACnB,cAAc,CAA8B,QAA+C;gBACvF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,OAAO,IAAoC,CAAC;YAChD,CAAC;SACwB,CAAC;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,SAAgB,KAAK,CAAC,GAAkB;QACpC,OAAO,UAAU,IAAI,GAAG,CAAC;IAC7B,CAAC;IAFe,8BAAK,QAEpB,CAAA;IAED,SAAgB,WAAW,CAAC,GAAkB,EAAE,KAAgB;QAC5D,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAJe,oCAAW,cAI1B,CAAA;AACL,CAAC,EAxBgB,wBAAwB,KAAxB,wBAAwB,QAwBxC"}
@@ -1,3 +1,4 @@
1
+ import { Path } from '../structures/path/index.js';
1
2
  export const DefaultSettings = {
2
3
  templateArgPrefix: ':',
3
4
  basePrefix: '/',
@@ -7,11 +8,12 @@ export function setDefaults(settings) {
7
8
  }
8
9
  const getPrefix = (prefix) => typeof prefix === 'string' ? prefix : (prefix ? DefaultSettings.basePrefix : false);
9
10
  export function getPath(endpoint, pathArgs, prefix = true) {
10
- const path = endpoint.path;
11
+ const path = endpoint.path ?? Path.Empty;
11
12
  return path.build(pathArgs || undefined, { addStart: getPrefix(prefix) });
12
13
  }
13
14
  export function getTemplate(endpoint, prefix = true) {
14
- return endpoint.path.template(DefaultSettings.templateArgPrefix, { addStart: getPrefix(prefix) });
15
+ const path = endpoint.path ?? Path.Empty;
16
+ return path.template(DefaultSettings.templateArgPrefix, { addStart: getPrefix(prefix) });
15
17
  }
16
18
  export function getFormattedDisplayName(endpoint) {
17
19
  const template = getTemplate(endpoint);
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/api/helpers.ts"],"names":[],"mappings":"AAGA,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,IAAqB,CAAC;IAC5C,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,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACtG,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,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 +1 @@
1
- {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/async/arrays.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,MAAwB,EAAE,SAA6E;IACtI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,EAAE,EAAE,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAI,MAAwB,EAAE,SAA6E;IACvI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAI,MAAwB,EAAE,EAAmE;IAC/H,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAO,MAAwB,EAAE,EAAgE;IAC3H,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../src/async/arrays.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,MAAwB,EAAE,SAA2E;IACpI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,EAAE,EAAE,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAI,MAAwB,EAAE,SAA2E;IACrI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAI,MAAwB,EAAE,EAAiE;IAC7H,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAO,MAAwB,EAAE,EAA8D;IACzH,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}