@zajno/common 2.3.0 → 2.3.2

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 (58) hide show
  1. package/api/call.d.ts +7 -6
  2. package/api/call.d.ts.map +1 -1
  3. package/api/call.js +5 -2
  4. package/api/call.js.map +1 -1
  5. package/api/endpoint.d.ts +7 -24
  6. package/api/endpoint.d.ts.map +1 -1
  7. package/api/endpoint.js +4 -4
  8. package/api/endpoint.js.map +1 -1
  9. package/api/endpoint.types.d.ts +40 -0
  10. package/api/endpoint.types.d.ts.map +1 -0
  11. package/api/endpoint.types.js +11 -0
  12. package/api/endpoint.types.js.map +1 -0
  13. package/api/helpers.d.ts +2 -2
  14. package/api/helpers.d.ts.map +1 -1
  15. package/api/helpers.js +5 -1
  16. package/api/helpers.js.map +1 -1
  17. package/api/index.d.ts +2 -1
  18. package/api/index.d.ts.map +1 -1
  19. package/api/index.js +3 -1
  20. package/api/index.js.map +1 -1
  21. package/api/logging.d.ts +14 -0
  22. package/api/logging.d.ts.map +1 -0
  23. package/api/logging.js +28 -0
  24. package/api/logging.js.map +1 -0
  25. package/api/register.d.ts +3 -3
  26. package/api/register.d.ts.map +1 -1
  27. package/api/register.js.map +1 -1
  28. package/package.json +1 -1
  29. package/storage/abstractions.d.ts +0 -1
  30. package/storage/abstractions.d.ts.map +1 -1
  31. package/storage/index.d.ts +2 -0
  32. package/storage/index.d.ts.map +1 -1
  33. package/storage/index.js +2 -0
  34. package/storage/index.js.map +1 -1
  35. package/storage/keyStorage.d.ts +12 -18
  36. package/storage/keyStorage.d.ts.map +1 -1
  37. package/storage/keyStorage.js +21 -23
  38. package/storage/keyStorage.js.map +1 -1
  39. package/storage/keyStorage.sync.d.ts +21 -0
  40. package/storage/keyStorage.sync.d.ts.map +1 -0
  41. package/storage/keyStorage.sync.js +40 -0
  42. package/storage/keyStorage.sync.js.map +1 -0
  43. package/structures/path/builder.d.ts +9 -7
  44. package/structures/path/builder.d.ts.map +1 -1
  45. package/structures/path/builder.js +43 -26
  46. package/structures/path/builder.js.map +1 -1
  47. package/structures/path/types.d.ts +2 -4
  48. package/structures/path/types.d.ts.map +1 -1
  49. package/types/misc.d.ts +4 -2
  50. package/types/misc.d.ts.map +1 -1
  51. package/abstractions/controllers/IPluggableController.d.ts +0 -5
  52. package/abstractions/controllers/IPluggableController.d.ts.map +0 -1
  53. package/abstractions/controllers/IPluggableController.js +0 -3
  54. package/abstractions/controllers/IPluggableController.js.map +0 -1
  55. package/controllers/PluggableController.d.ts +0 -13
  56. package/controllers/PluggableController.d.ts.map +0 -1
  57. package/controllers/PluggableController.js +0 -29
  58. package/controllers/PluggableController.js.map +0 -1
package/api/call.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { AnyObject } from '../types';
2
- import { ApiEndpoint, IEndpointInfo } from './endpoint';
2
+ import { IEndpointInfo } from './endpoint';
3
3
  import { EndpointMethods } from './methods';
4
- type LogTypes = boolean | 'full' | 'req' | 'res';
4
+ import { LogTypes } from './logging';
5
5
  type Extra<T> = {
6
- headers?: ApiEndpoint.ExtractHeaders<T>;
7
- log?: LogTypes;
6
+ headers?: IEndpointInfo.ExtractHeaders<T>;
7
+ log?: LogTypes<IEndpointInfo.ExtractIn<T>, IEndpointInfo.ExtractOut<T>>;
8
8
  noLoader?: boolean;
9
9
  };
10
10
  export type RequestConfig<TIn> = {
@@ -13,7 +13,7 @@ export type RequestConfig<TIn> = {
13
13
  data: TIn | null | undefined;
14
14
  headers: AnyObject;
15
15
  };
16
- export type RequestConfigDetails<T extends IEndpointInfo = IEndpointInfo, TIn = ApiEndpoint.ExtractIn<T>> = RequestConfig<TIn> & {
16
+ export type RequestConfigDetails<T extends IEndpointInfo = IEndpointInfo, TIn = IEndpointInfo.ExtractIn<T>> = RequestConfig<TIn> & {
17
17
  _api: T;
18
18
  _noLoader?: boolean;
19
19
  _log?: LogTypes;
@@ -24,6 +24,7 @@ type CallerOptions = {
24
24
  data: TOut;
25
25
  }>;
26
26
  };
27
- export declare function buildApiCaller(options: CallerOptions): <T extends IEndpointInfo>(api: T, data: ApiEndpoint.ExtractIn<T> | ApiEndpoint.ExtractPath<T> | ApiEndpoint.ExtractQuery<T>, extra?: Extra<T> | undefined) => Promise<ApiEndpoint.ExtractOut<T>>;
27
+ export type EndpointCallArgs<T extends IEndpointInfo> = IEndpointInfo.ExtractIn<T> | IEndpointInfo.ExtractPath<T> | IEndpointInfo.ExtractQuery<T>;
28
+ export declare function buildApiCaller(options: CallerOptions): <T extends IEndpointInfo>(api: T, data: EndpointCallArgs<T>, extra?: Extra<T> | undefined) => Promise<IEndpointInfo.ExtractOut<T>>;
28
29
  export {};
29
30
  //# sourceMappingURL=call.d.ts.map
package/api/call.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/api/call.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAEjD,KAAK,KAAK,CAAC,CAAC,IAAI;IACZ,OAAO,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,GAAG,IAAI;IAC7B,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG;IAC7H,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,KAAK,aAAa,GAAG;IACjB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,aAAa,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;CACrG,CAAC;AAEF,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,oMAmEpD"}
1
+ {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/api/call.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,KAAK,KAAK,CAAC,CAAC,IAAI;IACZ,OAAO,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,GAAG,IAAI;IAC7B,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG;IAC/H,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,KAAK,aAAa,GAAG;IACjB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,aAAa,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;CACrG,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,aAAa,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAElJ,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,sIAuEpD"}
package/api/call.js CHANGED
@@ -22,7 +22,7 @@ function buildApiCaller(options) {
22
22
  let empty = true;
23
23
  for (const key of queryKeysExpected) {
24
24
  const v = resultInput[key];
25
- if (v || v === 0) {
25
+ if (v != null) {
26
26
  queryInputs[key] = v;
27
27
  empty = false;
28
28
  }
@@ -36,11 +36,14 @@ function buildApiCaller(options) {
36
36
  if (resultInput && bodyValidation) {
37
37
  await bodyValidation(api, resultInput);
38
38
  }
39
+ const sendingData = resultInput && Object.keys(resultInput).length > 0
40
+ ? resultInput
41
+ : undefined;
39
42
  const method = api.method || 'GET';
40
43
  const config = {
41
44
  method,
42
45
  url: api.pathBuilder.build(pathInputs) + queryStr,
43
- data: register_1.PreProcessors.process(api, resultInput) || undefined,
46
+ data: register_1.PreProcessors.process(api, sendingData) || undefined,
44
47
  headers: headers || {},
45
48
  _api: api,
46
49
  _noLoader: extra?.noLoader == null ? method === 'GET' : extra.noLoader,
package/api/call.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/api/call.ts"],"names":[],"mappings":";;;AAAA,yCAA2D;AA+B3D,SAAgB,cAAc,CAAC,OAAsB;IAEjD,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5C,OAAO,KAAK,UAAU,OAAO,CACzB,GAAM,EACN,IAAyF,EACzF,KAAgB;QAKhB,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;QAE7C,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,EAA8B,CAAC;QACpE,MAAM,UAAU,GAAoC,EAAE,CAAC;QACvD,IAAI,QAAQ,GAAW,EAAE,CAAC;QAE1B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QACtC,IAAI,WAAW,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACzB,UAAU,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBACnC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,MAAM,iBAAiB,GAAG,GAAG,CAAC,SAAS,CAAC;QACxC,IAAI,WAAW,IAAI,iBAAiB,EAAE,MAAM,EAAE,CAAC;YAC3C,MAAM,WAAW,GAAc,EAAE,CAAC;YAClC,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACf,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACrB,KAAK,GAAG,KAAK,CAAC;gBAClB,CAAC;gBACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;gBAChD,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;QACnC,MAAM,MAAM,GAA4B;YACpC,MAAM;YACN,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,QAAQ;YACjD,IAAI,EAAE,wBAAa,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,SAAS;YAC1D,OAAO,EAAE,OAAoB,IAAI,EAAE;YACnC,IAAI,EAAE,GAAG;YACT,SAAS,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChF,IAAI,EAAE,GAAG;SACZ,CAAC;QAEF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,qBAAqB,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAmB,CAAC;QACzD,OAAO,yBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC;AACN,CAAC;AAnED,wCAmEC"}
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/api/call.ts"],"names":[],"mappings":"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"}
package/api/endpoint.d.ts CHANGED
@@ -1,44 +1,27 @@
1
- import { AnyObject, EmptyObject } from '../types';
1
+ import { AnyObject } from '../types';
2
2
  import { Path } from '../structures/path';
3
3
  import { EndpointMethods } from './methods';
4
- export interface IEndpointInfo {
5
- readonly method: EndpointMethods;
6
- readonly isForm?: boolean;
7
- readonly pathBuilder: Path.IBuilder;
8
- readonly displayName?: string;
9
- readonly queryKeys?: string[];
10
- }
11
- export declare class ApiEndpoint<TIn extends object | null, TOut, TPath extends readonly string[], TQuery extends object, TErrors, THeaders> implements IEndpointInfo {
4
+ import { IEndpointInfo } from './endpoint.types';
5
+ export type { IEndpointInfo };
6
+ export declare class ApiEndpoint<TIn extends object | null, TOut, TPath extends readonly string[], TQuery extends object, TErrors, THeaders> implements IEndpointInfo, IEndpointInfo.IIn<TIn>, IEndpointInfo.IOut<TOut>, IEndpointInfo.IPath<TPath>, IEndpointInfo.IQuery<TQuery>, IEndpointInfo.IErrors<TErrors>, IEndpointInfo.IHeaders<THeaders> {
12
7
  method: EndpointMethods;
13
8
  path: Path.SwitchBuilder<TPath>;
14
9
  isForm?: boolean;
15
- queryKeys?: (string & keyof TQuery)[];
16
- headers?: THeaders;
17
10
  displayName?: string;
18
11
  in?: TIn;
19
12
  out?: TOut;
13
+ queryKeys?: (string & keyof TQuery)[];
20
14
  errors?: TErrors;
15
+ headers?: THeaders;
21
16
  get pathBuilder(): Path.IBuilder;
22
17
  static construct<TIn extends object | null, TOut>(method?: EndpointMethods, displayName?: string): ApiEndpoint<TIn, TOut, readonly [], object, any, AnyObject>;
23
18
  static get<TOut>(displayName?: string): ApiEndpoint<null, TOut, readonly [], object, any, AnyObject>;
24
19
  static post<TIn extends object | null, TOut = void>(displayName?: string): ApiEndpoint<TIn, TOut, readonly [], object, any, AnyObject>;
25
20
  static delete<TOut>(displayName?: string): ApiEndpoint<null, TOut, readonly [], object, any, AnyObject>;
26
- withPath<P extends Path.BaseInput>(path: P): ApiEndpoint<TIn, TOut, Path.ExtractArgs<P>, TQuery, TErrors, THeaders>;
21
+ withPath<P extends Path.BaseInput[]>(...path: P): ApiEndpoint<TIn, TOut, Path.ExtractArgs<Path.CombineBuilders<P>>, TQuery, TErrors, THeaders>;
27
22
  withQuery<TQ extends object>(...queryKeys: (string & keyof TQ)[]): ApiEndpoint<TIn, TOut, TPath, TQ, TErrors, THeaders>;
28
23
  withErrors<TErr>(_errors?: TErr): ApiEndpoint<TIn, TOut, TPath, TQuery, TErr, THeaders>;
29
24
  withHeaders<THeads>(_headersMarker?: THeads): ApiEndpoint<TIn, TOut, TPath, TQuery, TErrors, THeads>;
30
25
  asForm(): this;
31
26
  }
32
- export declare namespace ApiEndpoint {
33
- type Any = AnyObject;
34
- type Empty = (EmptyObject | null | undefined);
35
- type Coalesce<T> = [T] extends [never] | [null] | [undefined] ? Empty : T;
36
- export type ExtractIn<T> = T extends ApiEndpoint<infer TIn, any, any, any, any, any> ? Coalesce<TIn> : Empty;
37
- export type ExtractPath<T> = T extends ApiEndpoint<any, any, infer TPath extends string[], any, any, any> ? (readonly [] extends TPath ? Empty : Path.ObjectBuilderArgs<TPath[number]>) : Empty;
38
- export type ExtractQuery<T> = T extends ApiEndpoint<any, any, any, infer TQuery, any, any> ? TQuery : Empty;
39
- export type ExtractOut<T> = T extends ApiEndpoint<any, infer TOut, any, any, any, any> ? TOut : Empty;
40
- export type ExtractErrors<T> = T extends ApiEndpoint<any, any, any, any, infer TErrors, any> ? TErrors : Any;
41
- export type ExtractHeaders<T> = T extends ApiEndpoint<any, any, any, any, any, infer THeaders> ? THeaders : Any;
42
- export {};
43
- }
44
27
  //# sourceMappingURL=endpoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/api/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/api/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,qBAAa,WAAW,CACpB,GAAG,SAAS,MAAM,GAAG,IAAI,EACzB,IAAI,EACJ,KAAK,SAAS,SAAS,MAAM,EAAE,EAC/B,MAAM,SAAS,MAAM,EACrB,OAAO,EACP,QAAQ,CACV,YACF,aAAa,EACb,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EACtB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EACxB,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1B,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAC5B,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAC9B,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAE5B,MAAM,EAAE,eAAe,CAAuB;IAC9C,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAA8C;IAE7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC;IAEtC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB,IAAW,WAAW,kBAA4C;IAElE,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,eAAqC,EAAE,WAAW,CAAC,EAAE,MAAM;IAOrH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM;IAIrC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,MAAM,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM;IAIxE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM;IAIjC,QAAQ,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAS9I,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC;IAMvH,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC;IAIvF,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IAIpG,MAAM;CAIhB"}
package/api/endpoint.js CHANGED
@@ -7,12 +7,12 @@ class ApiEndpoint {
7
7
  method = methods_1.EndpointMethods.GET;
8
8
  path = path_1.Path.Empty.as();
9
9
  isForm;
10
- queryKeys;
11
- headers;
12
10
  displayName;
13
11
  in;
14
12
  out;
13
+ queryKeys;
15
14
  errors;
15
+ headers;
16
16
  get pathBuilder() { return this.path.as(); }
17
17
  static construct(method = methods_1.EndpointMethods.GET, displayName) {
18
18
  const res = new ApiEndpoint();
@@ -29,9 +29,9 @@ class ApiEndpoint {
29
29
  static delete(displayName) {
30
30
  return ApiEndpoint.construct(methods_1.EndpointMethods.DELETE, displayName);
31
31
  }
32
- withPath(path) {
32
+ withPath(...path) {
33
33
  const res = this;
34
- const p = path_1.Path.construct(path);
34
+ const p = path_1.Path.construct(...path);
35
35
  res.path = p;
36
36
  return res;
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/api/endpoint.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,uCAA4C;AAa5C,MAAa,WAAW;IASpB,MAAM,GAAoB,yBAAe,CAAC,GAAG,CAAC;IAC9C,IAAI,GAA8B,WAAI,CAAC,KAAK,CAAC,EAAE,EAA6B,CAAC;IAE7E,MAAM,CAAW;IACjB,SAAS,CAA6B;IACtC,OAAO,CAAY;IAEnB,WAAW,CAAU;IAErB,EAAE,CAAO;IACT,GAAG,CAAQ;IACX,MAAM,CAAW;IAEjB,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAiB,CAAC,CAAC,CAAC;IAElE,MAAM,CAAC,SAAS,CAAkC,SAA0B,yBAAe,CAAC,GAAG,EAAE,WAAoB;QACjH,MAAM,GAAG,GAAG,IAAI,WAAW,EAAkD,CAAC;QAC9E,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,GAAG,CAAO,WAAoB;QACjC,OAAO,WAAW,CAAC,SAAS,CAAa,yBAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,IAAI,CAAyC,WAAoB;QACpE,OAAO,WAAW,CAAC,SAAS,CAAY,yBAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,MAAM,CAAO,WAAoB;QACpC,OAAO,WAAW,CAAC,SAAS,CAAa,yBAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClF,CAAC;IAEM,QAAQ,CAA2B,IAAO;QAE7C,MAAM,GAAG,GAAG,IAA0E,CAAC;QAEvF,MAAM,CAAC,GAAG,WAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,GAAG,CAAC,IAAI,GAAG,CAAwB,CAAC;QACpC,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,SAAS,CAAoB,GAAG,SAAgC;QACnE,MAAM,GAAG,GAAG,IAAuE,CAAC;QACpF,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1B,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,UAAU,CAAO,OAAc;QAClC,OAAO,IAAwE,CAAC;IACpF,CAAC;IAEM,WAAW,CAAS,cAAuB;QAC9C,OAAO,IAAyE,CAAC;IACrF,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAtED,kCAsEC"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/api/endpoint.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,uCAA4C;AAK5C,MAAa,WAAW;IAgBpB,MAAM,GAAoB,yBAAe,CAAC,GAAG,CAAC;IAC9C,IAAI,GAA8B,WAAI,CAAC,KAAK,CAAC,EAAE,EAA6B,CAAC;IAE7E,MAAM,CAAW;IACjB,WAAW,CAAU;IAErB,EAAE,CAAO;IACT,GAAG,CAAQ;IACX,SAAS,CAA6B;IAEtC,MAAM,CAAW;IACjB,OAAO,CAAY;IAEnB,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAiB,CAAC,CAAC,CAAC;IAElE,MAAM,CAAC,SAAS,CAAkC,SAA0B,yBAAe,CAAC,GAAG,EAAE,WAAoB;QACjH,MAAM,GAAG,GAAG,IAAI,WAAW,EAAkD,CAAC;QAC9E,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,GAAG,CAAO,WAAoB;QACjC,OAAO,WAAW,CAAC,SAAS,CAAa,yBAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,IAAI,CAAyC,WAAoB;QACpE,OAAO,WAAW,CAAC,SAAS,CAAY,yBAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,MAAM,CAAO,WAAoB;QACpC,OAAO,WAAW,CAAC,SAAS,CAAa,yBAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClF,CAAC;IAEM,QAAQ,CAA6B,GAAG,IAAO;QAGlD,MAAM,GAAG,GAAG,IAA0E,CAAC;QACvF,MAAM,CAAC,GAAG,WAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QAClC,GAAG,CAAC,IAAI,GAAG,CAAwC,CAAC;QACpD,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,SAAS,CAAoB,GAAG,SAAgC;QACnE,MAAM,GAAG,GAAG,IAAuE,CAAC;QACpF,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1B,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,UAAU,CAAO,OAAc;QAClC,OAAO,IAAwE,CAAC;IACpF,CAAC;IAEM,WAAW,CAAS,cAAuB;QAC9C,OAAO,IAAyE,CAAC;IACrF,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA7ED,kCA6EC"}
@@ -0,0 +1,40 @@
1
+ import { Path } from '../structures/path';
2
+ import { AnyObject, Coalesce, EmptyObjectNullable } from '../types/misc';
3
+ import { EndpointMethods } from './methods';
4
+ export interface IEndpointInfo {
5
+ readonly method: EndpointMethods;
6
+ readonly isForm?: boolean;
7
+ readonly pathBuilder: Path.IBuilder;
8
+ readonly displayName?: string;
9
+ readonly queryKeys?: string[];
10
+ }
11
+ export declare namespace IEndpointInfo {
12
+ export interface IIn<TIn extends object | null> {
13
+ readonly in?: TIn;
14
+ }
15
+ export class IOut<TOut> {
16
+ readonly out?: TOut;
17
+ }
18
+ export interface IPath<TPath extends readonly string[]> {
19
+ readonly path: Path.SwitchBuilder<TPath>;
20
+ }
21
+ export interface IQuery<TQuery extends object> {
22
+ readonly queryKeys?: (string & keyof TQuery)[];
23
+ }
24
+ export interface IErrors<TErrors> {
25
+ readonly errors?: TErrors;
26
+ }
27
+ export interface IHeaders<THeaders> {
28
+ readonly headers?: THeaders;
29
+ }
30
+ type Any = AnyObject;
31
+ type Empty = EmptyObjectNullable;
32
+ export type ExtractIn<T> = T extends IIn<infer TIn> ? Coalesce<TIn> : Empty;
33
+ export type ExtractPath<T> = T extends IPath<infer TPath extends string[]> ? (readonly [] extends TPath ? Empty : Path.ObjectBuilderArgs<TPath[number]>) : Empty;
34
+ export type ExtractQuery<T> = T extends IQuery<infer TQuery> ? TQuery : Empty;
35
+ export type ExtractOut<T> = T extends IOut<infer TOut> ? TOut : never;
36
+ export type ExtractErrors<T> = T extends IErrors<infer TErrors> ? TErrors : Any;
37
+ export type ExtractHeaders<T> = T extends IHeaders<infer THeaders> ? THeaders : Any;
38
+ export {};
39
+ }
40
+ //# sourceMappingURL=endpoint.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.types.d.ts","sourceRoot":"","sources":["../../src/api/endpoint.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAE1B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC;IAEpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,yBAAiB,aAAa,CAAC;IAE3B,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,MAAM,GAAG,IAAI;QAC1C,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;KACrB;IAED,MAAM,OAAO,IAAI,CAAC,IAAI;QAClB,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;KACvB;IAED,MAAM,WAAW,KAAK,CAAC,KAAK,SAAS,SAAS,MAAM,EAAE;QAClD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC5C;IAED,MAAM,WAAW,MAAM,CAAC,MAAM,SAAS,MAAM;QACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC;KAClD;IAED,MAAM,WAAW,OAAO,CAAC,OAAO;QAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;KAC7B;IAED,MAAM,WAAW,QAAQ,CAAC,QAAQ;QAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;KAC/B;IAED,KAAK,GAAG,GAAG,SAAS,CAAC;IACrB,KAAK,KAAK,GAAG,mBAAmB,CAAC;IAEjC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,CAAC,GAC7C,QAAQ,CAAC,GAAG,CAAC,GACb,KAAK,CAAC;IAEZ,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC,GACpE,CAAC,SAAS,EAAE,SAAS,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAC3E,KAAK,CAAC;IAEZ,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,MAAM,CAAC,GACtD,MAAM,GACN,KAAK,CAAC;IAEZ,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,GAChD,IAAI,GACJ,KAAK,CAAC;IAEZ,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC;IAChF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,QAAQ,CAAC,GAAG,QAAQ,GAAG,GAAG,CAAC;;CACvF"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IEndpointInfo = void 0;
4
+ var IEndpointInfo;
5
+ (function (IEndpointInfo) {
6
+ class IOut {
7
+ out;
8
+ }
9
+ IEndpointInfo.IOut = IOut;
10
+ })(IEndpointInfo || (exports.IEndpointInfo = IEndpointInfo = {}));
11
+ //# sourceMappingURL=endpoint.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.types.js","sourceRoot":"","sources":["../../src/api/endpoint.types.ts"],"names":[],"mappings":";;;AAeA,IAAiB,aAAa,CA+C7B;AA/CD,WAAiB,aAAa;IAM1B,MAAa,IAAI;QACJ,GAAG,CAAQ;KACvB;IAFY,kBAAI,OAEhB,CAAA;AAuCL,CAAC,EA/CgB,aAAa,6BAAb,aAAa,QA+C7B"}
package/api/helpers.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { ApiEndpoint, IEndpointInfo } from './endpoint';
1
+ import { IEndpointInfo } from './endpoint';
2
2
  export declare const DefaultSettings: {
3
3
  templateArgPrefix: string;
4
4
  basePrefix: string;
5
5
  };
6
6
  export declare function setDefaults(settings: Partial<typeof DefaultSettings>): void;
7
- export declare function getPath<T extends IEndpointInfo>(endpoint: T, pathArgs?: ApiEndpoint.ExtractPath<T>): string;
7
+ export declare function getPath<T extends IEndpointInfo>(endpoint: T, pathArgs?: IEndpointInfo.ExtractPath<T>): string;
8
8
  export declare function getFormattedDisplayName(endpoint: IEndpointInfo): string;
9
9
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/api/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,eAAe,CAAC,QAEpE;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,UAKlG;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,UAE9D"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/api/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,eAAe,CAAC,QAEpE;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,UAKpG;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,UAM9D"}
package/api/helpers.js CHANGED
@@ -17,7 +17,11 @@ function getPath(endpoint, pathArgs) {
17
17
  }
18
18
  exports.getPath = getPath;
19
19
  function getFormattedDisplayName(endpoint) {
20
- return endpoint.displayName || endpoint.pathBuilder.template(exports.DefaultSettings.templateArgPrefix, { addStart: exports.DefaultSettings.basePrefix });
20
+ const template = endpoint.pathBuilder.template(exports.DefaultSettings.templateArgPrefix, { addStart: exports.DefaultSettings.basePrefix });
21
+ const prefix = endpoint.displayName
22
+ ? `[${endpoint.displayName}] `
23
+ : '';
24
+ return prefix + template;
21
25
  }
22
26
  exports.getFormattedDisplayName = getFormattedDisplayName;
23
27
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/api/helpers.ts"],"names":[],"mappings":";;;AAGa,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;AAFD,kCAEC;AAED,SAAgB,OAAO,CAA0B,QAAW,EAAE,QAAqC;IAC/F,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,uBAAe,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,uBAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACtH,CAAC;AALD,0BAKC;AAED,SAAgB,uBAAuB,CAAC,QAAuB;IAC3D,OAAO,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,uBAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC9I,CAAC;AAFD,0DAEC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/api/helpers.ts"],"names":[],"mappings":";;;AAGa,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;AAFD,kCAEC;AAED,SAAgB,OAAO,CAA0B,QAAW,EAAE,QAAuC;IACjG,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,uBAAe,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,uBAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACtH,CAAC;AALD,0BAKC;AAED,SAAgB,uBAAuB,CAAC,QAAuB;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,uBAAe,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5H,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;AAND,0DAMC"}
package/api/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  export type { ProcessingFn } from './processor';
2
2
  export { ApiEndpoint } from './endpoint';
3
- export type { IEndpointInfo } from './endpoint';
3
+ export type * from './endpoint.types';
4
4
  export { EndpointMethods } from './methods';
5
5
  export * from './helpers';
6
6
  export { buildApiCaller } from './call';
7
7
  export { registerPostProcessor, registerPreProcessor } from './register';
8
+ export { LogTypes } from './logging';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,mBAAmB,kBAAkB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
package/api/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerPreProcessor = exports.registerPostProcessor = exports.buildApiCaller = exports.EndpointMethods = exports.ApiEndpoint = void 0;
3
+ exports.LogTypes = exports.registerPreProcessor = exports.registerPostProcessor = exports.buildApiCaller = exports.EndpointMethods = exports.ApiEndpoint = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  var endpoint_1 = require("./endpoint");
6
6
  Object.defineProperty(exports, "ApiEndpoint", { enumerable: true, get: function () { return endpoint_1.ApiEndpoint; } });
@@ -12,4 +12,6 @@ Object.defineProperty(exports, "buildApiCaller", { enumerable: true, get: functi
12
12
  var register_1 = require("./register");
13
13
  Object.defineProperty(exports, "registerPostProcessor", { enumerable: true, get: function () { return register_1.registerPostProcessor; } });
14
14
  Object.defineProperty(exports, "registerPreProcessor", { enumerable: true, get: function () { return register_1.registerPreProcessor; } });
15
+ var logging_1 = require("./logging");
16
+ Object.defineProperty(exports, "LogTypes", { enumerable: true, get: function () { return logging_1.LogTypes; } });
15
17
  //# sourceMappingURL=index.js.map
package/api/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;AAGA,uCAAyC;AAAhC,uGAAA,WAAW,OAAA;AAEpB,qCAA4C;AAAnC,0GAAA,eAAe,OAAA;AACxB,oDAA0B;AAE1B,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AACvB,uCAAyE;AAAhE,iHAAA,qBAAqB,OAAA;AAAE,gHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;AAGA,uCAAyC;AAAhC,uGAAA,WAAW,OAAA;AAEpB,qCAA4C;AAAnC,0GAAA,eAAe,OAAA;AACxB,oDAA0B;AAE1B,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AACvB,uCAAyE;AAAhE,iHAAA,qBAAqB,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AACpD,qCAAqC;AAA5B,mGAAA,QAAQ,OAAA"}
@@ -0,0 +1,14 @@
1
+ import { Nullable } from 'vitest';
2
+ export type LogTypes<TIn = any, TOut = any> = boolean | 'full' | LogTypes.Dir | {
3
+ req?: boolean | LogTypes.LogFn<TIn>;
4
+ res?: boolean | LogTypes.LogFn<TOut>;
5
+ };
6
+ export declare namespace LogTypes {
7
+ type Dir = 'req' | 'res';
8
+ type LogFn<T = any> = (data: T) => void | string | any[];
9
+ function getIsEnabled<T = unknown>(type: Nullable<LogTypes>, dir: Dir): {
10
+ enabled: boolean;
11
+ formatter?: Nullable<(data: T) => unknown>;
12
+ };
13
+ }
14
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/api/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,MAAM,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,GAAG;IAC5E,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;CACxC,CAAC;AAEF,yBAAiB,QAAQ,CAAC;IACtB,KAAY,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC;IAChC,KAAY,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC;IAEhE,SAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAA;KAAE,CAsB9I;CAEJ"}
package/api/logging.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogTypes = void 0;
4
+ var LogTypes;
5
+ (function (LogTypes) {
6
+ function getIsEnabled(type, dir) {
7
+ if (type) {
8
+ if (type === true || type === 'full' || type === dir) {
9
+ return { enabled: true };
10
+ }
11
+ if (typeof type === 'object') {
12
+ const log = type[dir];
13
+ if (log === true) {
14
+ return { enabled: true };
15
+ }
16
+ if (typeof log === 'function') {
17
+ return {
18
+ enabled: true,
19
+ formatter: log,
20
+ };
21
+ }
22
+ }
23
+ }
24
+ return { enabled: false };
25
+ }
26
+ LogTypes.getIsEnabled = getIsEnabled;
27
+ })(LogTypes || (exports.LogTypes = LogTypes = {}));
28
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/api/logging.ts"],"names":[],"mappings":";;;AAOA,IAAiB,QAAQ,CA4BxB;AA5BD,WAAiB,QAAQ;IAIrB,SAAgB,YAAY,CAAc,IAAwB,EAAE,GAAQ;QACxE,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7B,CAAC;YAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC7B,CAAC;gBAED,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;oBAC5B,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,GAAG;qBACjB,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAtBe,qBAAY,eAsB3B,CAAA;AAEL,CAAC,EA5BgB,QAAQ,wBAAR,QAAQ,QA4BxB"}
package/api/register.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { ProcessingFn, ProcessorsRegistry } from './processor';
2
- import { ApiEndpoint, IEndpointInfo } from './endpoint';
2
+ import { IEndpointInfo } from './endpoint';
3
3
  export declare const PreProcessors: ProcessorsRegistry<IEndpointInfo>;
4
4
  export declare const PostProcessors: ProcessorsRegistry<IEndpointInfo>;
5
5
  export declare function cleanupProcessors(): void;
6
- export declare function registerPreProcessor<T extends IEndpointInfo>(api: T, processor: ProcessingFn<ApiEndpoint.ExtractIn<T>>, name?: string): () => void;
7
- export declare function registerPostProcessor<T extends IEndpointInfo>(api: T, processor: ProcessingFn<ApiEndpoint.ExtractOut<T>>, name?: string): () => void;
6
+ export declare function registerPreProcessor<T extends IEndpointInfo>(api: T, processor: ProcessingFn<IEndpointInfo.ExtractIn<T>>, name?: string): () => void;
7
+ export declare function registerPostProcessor<T extends IEndpointInfo>(api: T, processor: ProcessingFn<IEndpointInfo.ExtractOut<T>>, name?: string): () => void;
8
8
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/api/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,aAAa,mCAA0C,CAAC;AACrE,eAAO,MAAM,cAAc,mCAA0C,CAAC;AAOtE,wBAAgB,iBAAiB,SAGhC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,cAErI;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,cAEvI"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/api/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,aAAa,mCAA0C,CAAC;AACrE,eAAO,MAAM,cAAc,mCAA0C,CAAC;AAOtE,wBAAgB,iBAAiB,SAGhC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,cAEvI;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,cAEzI"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/api/register.ts"],"names":[],"mappings":";;;AAAA,2CAA+D;AAC/D,uCAAoD;AAGvC,QAAA,aAAa,GAAG,IAAI,8BAAkB,EAAiB,CAAC;AACxD,QAAA,cAAc,GAAG,IAAI,8BAAkB,EAAiB,CAAC;AAEtE,MAAM,kBAAkB,GAAG,CAAC,GAAkB,EAAE,MAAc,EAAE,IAAa,EAAE,EAAE;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,OAAO,GAAG,IAAA,iCAAuB,EAAC,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;AAChE,CAAC,CAAC;AAEF,SAAgB,iBAAiB;IAC7B,qBAAa,CAAC,OAAO,EAAE,CAAC;IACxB,sBAAc,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC;AAHD,8CAGC;AAED,SAAgB,oBAAoB,CAA0B,GAAM,EAAE,SAAiD,EAAE,IAAa;IAClI,OAAO,qBAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;AAClG,CAAC;AAFD,oDAEC;AAED,SAAgB,qBAAqB,CAA0B,GAAM,EAAE,SAAkD,EAAE,IAAa;IACpI,OAAO,sBAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;AACpG,CAAC;AAFD,sDAEC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/api/register.ts"],"names":[],"mappings":";;;AAAA,2CAA+D;AAC/D,uCAAoD;AAGvC,QAAA,aAAa,GAAG,IAAI,8BAAkB,EAAiB,CAAC;AACxD,QAAA,cAAc,GAAG,IAAI,8BAAkB,EAAiB,CAAC;AAEtE,MAAM,kBAAkB,GAAG,CAAC,GAAkB,EAAE,MAAc,EAAE,IAAa,EAAE,EAAE;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,OAAO,GAAG,IAAA,iCAAuB,EAAC,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;AAChE,CAAC,CAAC;AAEF,SAAgB,iBAAiB;IAC7B,qBAAa,CAAC,OAAO,EAAE,CAAC;IACxB,sBAAc,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC;AAHD,8CAGC;AAED,SAAgB,oBAAoB,CAA0B,GAAM,EAAE,SAAmD,EAAE,IAAa;IACpI,OAAO,qBAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;AAClG,CAAC;AAFD,oDAEC;AAED,SAAgB,qBAAqB,CAA0B,GAAM,EAAE,SAAoD,EAAE,IAAa;IACtI,OAAO,sBAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;AACpG,CAAC;AAFD,sDAEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zajno/common",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "Zajno's re-usable utilities for JS/TS projects",
5
5
  "private": false,
6
6
  "repository": {
@@ -10,5 +10,4 @@ export interface IStorageSync {
10
10
  removeValue(key: string): boolean;
11
11
  hasValue(key: string): boolean;
12
12
  }
13
- export default IStorage;
14
13
  //# sourceMappingURL=abstractions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstractions.d.ts","sourceRoot":"","sources":["../../src/storage/abstractions.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAClC;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"abstractions.d.ts","sourceRoot":"","sources":["../../src/storage/abstractions.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAClC"}
@@ -1,2 +1,4 @@
1
1
  export * from './abstractions';
2
+ export * from './keyStorage.sync';
3
+ export * from './keyStorage';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
package/storage/index.js CHANGED
@@ -2,4 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./abstractions"), exports);
5
+ tslib_1.__exportStar(require("./keyStorage.sync"), exports);
6
+ tslib_1.__exportStar(require("./keyStorage"), exports);
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;AACA,yDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;AACA,yDAA+B;AAC/B,4DAAkC;AAClC,uDAA6B"}
@@ -1,21 +1,15 @@
1
- import { IStorageSync } from './abstractions';
2
- export declare class KeyStorage {
3
- readonly storage: IStorageSync;
1
+ import { IStorage } from './abstractions';
2
+ export declare class KeyStorage<T = string> {
3
+ readonly storage: IStorage;
4
4
  readonly key: string;
5
- constructor(storage: IStorageSync, key: string);
6
- get value(): string | null;
7
- set value(v: string);
8
- clean(): void;
9
- getHasValue(): boolean;
10
- }
11
- export declare class KeyStorageConverted<T> {
12
- readonly input: (v: T) => string;
13
- readonly output: (s: string | null) => T;
14
- private readonly _storage;
15
- constructor(storage: IStorageSync, key: string, input?: (v: T) => string, output?: (s: string | null) => T);
16
- get value(): T | null;
17
- set value(v: T);
18
- clean(): void;
19
- getHasValue(): boolean;
5
+ private _convertInput;
6
+ private _convertOutput;
7
+ constructor(storage: IStorage, key: string);
8
+ addConverters<K>(convertInput: (v: K) => string, convertOutput: (s: string | null) => K): KeyStorage<K>;
9
+ addJSONConverters<K>(): KeyStorage<K>;
10
+ get(): Promise<T | null>;
11
+ set(v: T): Promise<void>;
12
+ clean(): Promise<void>;
13
+ getHasValue(): Promise<boolean>;
20
14
  }
21
15
  //# sourceMappingURL=keyStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyStorage.d.ts","sourceRoot":"","sources":["../../src/storage/keyStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,UAAU;IACP,QAAQ,CAAC,OAAO,EAAE,YAAY;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAA3C,OAAO,EAAE,YAAY,EAAW,GAAG,EAAE,MAAM;IAEhE,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CAA4C;IACtE,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAyC;IAErD,KAAK;IAIL,WAAW;CAGrB;AAED,qBAAa,mBAAmB,CAAC,CAAC;IAM1B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC;IAN5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;gBAGlC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACF,KAAK,GAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAiC,EAClD,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,CAAuC;IAKlF,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAA6C;IAClE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAA0C;IAEjD,KAAK;IAIL,WAAW;CAGrB"}
1
+ {"version":3,"file":"keyStorage.d.ts","sourceRoot":"","sources":["../../src/storage/keyStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,qBAAa,UAAU,CAAC,CAAC,GAAG,MAAM;IAKlB,QAAQ,CAAC,OAAO,EAAE,QAAQ;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM;IAH5D,OAAO,CAAC,aAAa,CAAiD;IACtE,OAAO,CAAC,cAAc,CAAmD;gBAEpD,OAAO,EAAE,QAAQ,EAAW,GAAG,EAAE,MAAM;IAE5D,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC;IAOvF,iBAAiB,CAAC,CAAC;IAOb,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAKxB,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAGzC"}
@@ -1,40 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyStorageConverted = exports.KeyStorage = void 0;
3
+ exports.KeyStorage = void 0;
4
4
  class KeyStorage {
5
5
  storage;
6
6
  key;
7
+ _convertInput = v => v;
8
+ _convertOutput = s => s;
7
9
  constructor(storage, key) {
8
10
  this.storage = storage;
9
11
  this.key = key;
10
12
  }
11
- get value() { return this.storage.getValue(this.key); }
12
- set value(v) { this.storage.setValue(this.key, v); }
13
- clean() {
14
- this.storage.removeValue(this.key);
13
+ addConverters(convertInput, convertOutput) {
14
+ const res = this;
15
+ res._convertInput = convertInput;
16
+ res._convertOutput = convertOutput;
17
+ return res;
15
18
  }
16
- getHasValue() {
17
- return this.storage.hasValue(this.key);
19
+ addJSONConverters() {
20
+ return this.addConverters(v => JSON.stringify(v), s => JSON.parse(s || 'null'));
18
21
  }
19
- }
20
- exports.KeyStorage = KeyStorage;
21
- class KeyStorageConverted {
22
- input;
23
- output;
24
- _storage;
25
- constructor(storage, key, input = (v => JSON.stringify(v)), output = (s => JSON.parse(s || 'null'))) {
26
- this.input = input;
27
- this.output = output;
28
- this._storage = new KeyStorage(storage, key);
22
+ async get() {
23
+ const res = await this.storage.getValue(this.key);
24
+ return this._convertOutput(res);
29
25
  }
30
- get value() { return this.output(this._storage.value); }
31
- set value(v) { this._storage.value = this.input(v); }
32
- clean() {
33
- this._storage.clean();
26
+ async set(v) {
27
+ const data = this._convertInput(v);
28
+ return this.storage.setValue(this.key, data);
29
+ }
30
+ async clean() {
31
+ await this.storage.remove(this.key);
34
32
  }
35
33
  getHasValue() {
36
- return this._storage.getHasValue();
34
+ return this.storage.hasValue(this.key);
37
35
  }
38
36
  }
39
- exports.KeyStorageConverted = KeyStorageConverted;
37
+ exports.KeyStorage = KeyStorage;
40
38
  //# sourceMappingURL=keyStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyStorage.js","sourceRoot":"","sources":["../../src/storage/keyStorage.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IACE;IAAgC;IAArD,YAAqB,OAAqB,EAAW,GAAW;QAA3C,YAAO,GAAP,OAAO,CAAc;QAAW,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAErE,IAAI,KAAK,KAAoB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,KAAK;QACR,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;CACJ;AAbD,gCAaC;AAED,MAAa,mBAAmB;IAMf;IACA;IANI,QAAQ,CAAa;IAEtC,YACI,OAAqB,EACrB,GAAW,EACF,QAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAClD,SAAkC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAM,CAAC;QADrE,UAAK,GAAL,KAAK,CAA6C;QAClD,WAAM,GAAN,MAAM,CAA+D;QAE9E,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,KAAK,KAAe,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,CAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,KAAK;QACR,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;CACJ;AAtBD,kDAsBC"}
1
+ {"version":3,"file":"keyStorage.js","sourceRoot":"","sources":["../../src/storage/keyStorage.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAKE;IAA4B;IAHzC,aAAa,GAAqB,CAAC,CAAC,EAAE,CAAC,CAAsB,CAAC;IAC9D,cAAc,GAA4B,CAAC,CAAC,EAAE,CAAC,CAAiB,CAAC;IAEzE,YAAqB,OAAiB,EAAW,GAAW;QAAvC,YAAO,GAAP,OAAO,CAAU;QAAW,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAEjE,aAAa,CAAI,YAA8B,EAAE,aAAsC;QACnF,MAAM,GAAG,GAAG,IAAgC,CAAC;QAC7C,GAAG,CAAC,aAAa,GAAG,YAAY,CAAC;QACjC,GAAG,CAAC,cAAc,GAAG,aAAa,CAAC;QACnC,OAAO,GAAG,CAAC;IACf,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,aAAa,CACrB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACtB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAM,CACpC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,GAAG;QACL,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,CAAI;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;CACJ;AAtCD,gCAsCC"}
@@ -0,0 +1,21 @@
1
+ import { IStorageSync } from './abstractions';
2
+ export declare class KeyStorageSync {
3
+ readonly storage: IStorageSync;
4
+ readonly key: string;
5
+ constructor(storage: IStorageSync, key: string);
6
+ get value(): string | null;
7
+ set value(v: string);
8
+ clean(): void;
9
+ getHasValue(): boolean;
10
+ }
11
+ export declare class KeyStorageSyncConverted<T> {
12
+ readonly input: (v: T) => string;
13
+ readonly output: (s: string | null) => T;
14
+ private readonly _storage;
15
+ constructor(storage: IStorageSync, key: string, input?: (v: T) => string, output?: (s: string | null) => T);
16
+ get value(): T | null;
17
+ set value(v: T);
18
+ clean(): void;
19
+ getHasValue(): boolean;
20
+ }
21
+ //# sourceMappingURL=keyStorage.sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyStorage.sync.d.ts","sourceRoot":"","sources":["../../src/storage/keyStorage.sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,cAAc;IACX,QAAQ,CAAC,OAAO,EAAE,YAAY;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAA3C,OAAO,EAAE,YAAY,EAAW,GAAG,EAAE,MAAM;IAEhE,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CAA4C;IACtE,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAyC;IAErD,KAAK;IAIL,WAAW;CAGrB;AAED,qBAAa,uBAAuB,CAAC,CAAC;IAM9B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC;IAN5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGtC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACF,KAAK,GAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAiC,EAClD,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,CAAuC;IAKlF,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAA6C;IAClE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAA0C;IAEjD,KAAK;IAIL,WAAW;CAGrB"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyStorageSyncConverted = exports.KeyStorageSync = void 0;
4
+ class KeyStorageSync {
5
+ storage;
6
+ key;
7
+ constructor(storage, key) {
8
+ this.storage = storage;
9
+ this.key = key;
10
+ }
11
+ get value() { return this.storage.getValue(this.key); }
12
+ set value(v) { this.storage.setValue(this.key, v); }
13
+ clean() {
14
+ this.storage.removeValue(this.key);
15
+ }
16
+ getHasValue() {
17
+ return this.storage.hasValue(this.key);
18
+ }
19
+ }
20
+ exports.KeyStorageSync = KeyStorageSync;
21
+ class KeyStorageSyncConverted {
22
+ input;
23
+ output;
24
+ _storage;
25
+ constructor(storage, key, input = (v => JSON.stringify(v)), output = (s => JSON.parse(s || 'null'))) {
26
+ this.input = input;
27
+ this.output = output;
28
+ this._storage = new KeyStorageSync(storage, key);
29
+ }
30
+ get value() { return this.output(this._storage.value); }
31
+ set value(v) { this._storage.value = this.input(v); }
32
+ clean() {
33
+ this._storage.clean();
34
+ }
35
+ getHasValue() {
36
+ return this._storage.getHasValue();
37
+ }
38
+ }
39
+ exports.KeyStorageSyncConverted = KeyStorageSyncConverted;
40
+ //# sourceMappingURL=keyStorage.sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyStorage.sync.js","sourceRoot":"","sources":["../../src/storage/keyStorage.sync.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IACF;IAAgC;IAArD,YAAqB,OAAqB,EAAW,GAAW;QAA3C,YAAO,GAAP,OAAO,CAAc;QAAW,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAErE,IAAI,KAAK,KAAoB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,KAAK;QACR,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;CACJ;AAbD,wCAaC;AAED,MAAa,uBAAuB;IAMnB;IACA;IANI,QAAQ,CAAiB;IAE1C,YACI,OAAqB,EACrB,GAAW,EACF,QAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAClD,SAAkC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAM,CAAC;QADrE,UAAK,GAAL,KAAK,CAA6C;QAClD,WAAM,GAAN,MAAM,CAA+D;QAE9E,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,KAAK,KAAe,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,CAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,KAAK;QACR,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;CACJ;AAtBD,0DAsBC"}
@@ -1,14 +1,16 @@
1
- import { BaseInput, Output, StaticBuilder, SwitchBuilder } from './types';
1
+ import { BaseInput, CombineBuilders, StaticBuilder, SwitchBuilder } from './types';
2
2
  export * from './types';
3
3
  /** Tagged template literal to create a path builder */
4
4
  export declare function build<TArgs extends string[]>(strings: TemplateStringsArray, ...params: TArgs): SwitchBuilder<TArgs>;
5
+ export declare const Empty: StaticBuilder;
5
6
  /**
6
- * For input, use static `string | string[]` args to make the path static,
7
- *
8
- * or use the `build` (creates `Builder`) tagged template literal to make the path dynamic,
7
+ * For input, use any amount of arguments, each one can be:
9
8
  *
10
- * or provide `BuilderData` on your own.
9
+ * - static `string | string[]` args to make the path part static
10
+ * - pre-built `Builder` to make the path part dynamic, which can be created by:
11
+ * - `build` tagged template literal
12
+ * - manually implementing `Builder<string[]>`
13
+ * - another `construct` call
11
14
  */
12
- export declare function construct<T extends BaseInput>(input: T): Output<T>;
13
- export declare const Empty: StaticBuilder;
15
+ export declare function construct<TArr extends BaseInput[]>(...inputs: TArr): CombineBuilders<TArr>;
14
16
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/structures/path/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAET,MAAM,EACN,aAAa,EAEb,aAAa,EAEhB,MAAM,SAAS,CAAC;AAGjB,cAAc,SAAS,CAAC;AAoBxB,uDAAuD;AACvD,wBAAgB,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,EACxC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,KAAK,GACjB,aAAa,CAAC,KAAK,CAAC,CA+DtB;AAqBD;;;;;;EAME;AACF,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAMlE;AAED,eAAO,MAAM,KAAK,eAAU,CAAC"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/structures/path/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAGT,eAAe,EACf,aAAa,EAEb,aAAa,EAEhB,MAAM,SAAS,CAAC;AAGjB,cAAc,SAAS,CAAC;AAYxB,uDAAuD;AACvD,wBAAgB,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,EACxC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,KAAK,GACjB,aAAa,CAAC,KAAK,CAAC,CAuDtB;AAqBD,eAAO,MAAM,KAAK,eAAU,CAAC;AAE7B;;;;;;;;EAQE;AACF,wBAAgB,SAAS,CAAC,IAAI,SAAS,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CA0C1F"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Empty = exports.construct = exports.build = void 0;
3
+ exports.construct = exports.Empty = exports.build = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const utils_1 = require("./utils");
6
6
  tslib_1.__exportStar(require("./types"), exports);
@@ -11,14 +11,6 @@ const staticFactory = (strings) => {
11
11
  template: (_, options) => (0, utils_1.combineUrls)(options, ...parts),
12
12
  args: [],
13
13
  as() { return this; },
14
- append(...parts) {
15
- parts.push(...parts);
16
- return this;
17
- },
18
- prepend(...parts) {
19
- parts.unshift(...parts);
20
- return this;
21
- },
22
14
  };
23
15
  };
24
16
  /** Tagged template literal to create a path builder */
@@ -64,14 +56,6 @@ function build(strings, ...params) {
64
56
  template,
65
57
  args: params,
66
58
  as() { return this; },
67
- prepend(...parts) {
68
- prependParts.push(...parts);
69
- return this;
70
- },
71
- append(...parts) {
72
- appendParts.push(...parts);
73
- return this;
74
- },
75
59
  };
76
60
  return result;
77
61
  }
@@ -93,19 +77,52 @@ const constructStatic = (input) => {
93
77
  function guardIsStatic(value) {
94
78
  return typeof value === 'string' || Array.isArray(value);
95
79
  }
80
+ exports.Empty = build ``;
96
81
  /**
97
- * For input, use static `string | string[]` args to make the path static,
82
+ * For input, use any amount of arguments, each one can be:
98
83
  *
99
- * or use the `build` (creates `Builder`) tagged template literal to make the path dynamic,
100
- *
101
- * or provide `BuilderData` on your own.
84
+ * - static `string | string[]` args to make the path part static
85
+ * - pre-built `Builder` to make the path part dynamic, which can be created by:
86
+ * - `build` tagged template literal
87
+ * - manually implementing `Builder<string[]>`
88
+ * - another `construct` call
102
89
  */
103
- function construct(input) {
104
- if (guardIsStatic(input)) {
105
- return constructStatic(input);
90
+ function construct(...inputs) {
91
+ if (!inputs.length) {
92
+ return exports.Empty;
93
+ }
94
+ const convertToOutput = (input) => {
95
+ if (guardIsStatic(input)) {
96
+ return constructStatic(input);
97
+ }
98
+ return input;
99
+ };
100
+ if (inputs.length === 1) {
101
+ return convertToOutput(inputs[0]);
106
102
  }
107
- return input;
103
+ const outputs = inputs.map(convertToOutput);
104
+ const args = outputs.map(o => o.args).flat();
105
+ const skipOuterOptions = (options) => {
106
+ if (!options) {
107
+ return options;
108
+ }
109
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
110
+ const { addStart: _, addTrail: __, ...rest } = options;
111
+ return rest;
112
+ };
113
+ const result = {
114
+ build: (args, options) => {
115
+ const innerOptions = skipOuterOptions(options);
116
+ return (0, utils_1.combineUrls)(options, ...outputs.map(o => o.build(args, innerOptions)));
117
+ },
118
+ template: (prefix, options) => {
119
+ const innerOptions = skipOuterOptions(options);
120
+ return (0, utils_1.combineUrls)(options, ...outputs.map(o => o.template(prefix, innerOptions)));
121
+ },
122
+ args,
123
+ as() { return this; },
124
+ };
125
+ return result;
108
126
  }
109
127
  exports.construct = construct;
110
- exports.Empty = build ``;
111
128
  //# sourceMappingURL=builder.js.map
@@ -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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"}
@@ -33,10 +33,6 @@ interface BaseBuilder<A extends readonly string[], B, P = TemplatePrefixing> {
33
33
  * In future probably some extra conversion may be required.
34
34
  */
35
35
  as<TOther extends BaseBuilder<any, any, any>>(marker?: TOther): TOther;
36
- /** Appends static parts to the output path, both for `build` & `template` */
37
- append(...parts: string[]): ThisType<this>;
38
- /** Prepends static parts to the output path, both for `build` & `template` */
39
- prepend(...parts: string[]): ThisType<this>;
40
36
  }
41
37
  type EmptyBuilderArgs = [] | Record<PropertyKey, never>;
42
38
  type ReadonlyArr<TArr extends ReadonlyArray<any>> = TArr extends ReadonlyArray<infer T> ? ReadonlyArray<T> : never;
@@ -51,5 +47,7 @@ export type BaseInput = StaticInput | BaseBuilder<any, any, any>;
51
47
  export type Output<TInput> = TInput extends StaticBuilder ? StaticBuilder : (TInput extends Builder<infer TArgs> ? Builder<TArgs> : StaticBuilder);
52
48
  export type SwitchBuilder<TArg extends readonly string[]> = [TArg] extends [never] ? StaticBuilder : ([] extends TArg ? StaticBuilder : (readonly string[] extends TArg ? IBuilder : Builder<TArg>));
53
49
  export type ExtractArgs<T> = T extends Builder<infer TArgs> ? TArgs : readonly string[];
50
+ type CombineTwo<T1 extends BaseInput, T2 extends BaseInput> = Output<T1> extends StaticBuilder ? Output<T2> : Output<T2> extends StaticBuilder ? Output<T1> : (Output<T1> extends Builder<infer Arr1> ? (Output<T2> extends Builder<infer Arr2> ? Builder<[...Arr1, ...Arr2]> : never) : never);
51
+ export type CombineBuilders<T extends BaseInput[]> = T extends [infer T1 extends BaseInput, infer T2 extends BaseInput, ...infer Rest] ? CombineTwo<T1, T2> extends infer C extends BaseBuilder<any, any> & BaseInput ? Rest extends BaseInput[] ? CombineBuilders<[C, ...Rest]> : never : never : T extends [infer T1] ? Output<T1> : StaticBuilder;
54
52
  export {};
55
53
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/structures/path/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/structures/path/types.ts"],"names":[],"mappings":"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"}
package/types/misc.d.ts CHANGED
@@ -29,8 +29,10 @@ export type AnyFunction = (...args: any[]) => any;
29
29
  export type Primitive = number | string | symbol | boolean | null | undefined | bigint;
30
30
  export type ObjectOrPrimitive = AnyObject | Primitive;
31
31
  export type ToPlainObject<T> = T extends (AnyFunction | Primitive) ? never : (T extends AnyObject ? T : never);
32
+ export type Nullable<T> = T | null | undefined;
32
33
  export type PickNullable<T, K extends keyof T> = {
33
- [P in K]?: T[P] | null | undefined;
34
+ [P in K]?: Nullable<T[P]>;
34
35
  };
35
- export type Nullable<T> = T | null | undefined;
36
+ export type EmptyObjectNullable = (EmptyObject | null | undefined);
37
+ export type Coalesce<T, TReplace = EmptyObjectNullable> = [T] extends [never] | [null] | [undefined] ? TReplace : T;
36
38
  //# sourceMappingURL=misc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/types/misc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/types/misc.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export interface IPluggableController {
2
- readonly enabled: boolean;
3
- setEnabledAsync(enabled: boolean): Promise<void>;
4
- }
5
- //# sourceMappingURL=IPluggableController.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IPluggableController.d.ts","sourceRoot":"","sources":["../../../src/abstractions/controllers/IPluggableController.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,oBAAoB;IAEjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IPluggableController.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IPluggableController.js","sourceRoot":"","sources":["../../../src/abstractions/controllers/IPluggableController.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- import { IPluggableController } from '../abstractions/controllers/IPluggableController';
2
- export type { IPluggableController };
3
- export declare abstract class PluggableController<T = any> implements IPluggableController {
4
- private _enabled;
5
- private _config;
6
- get enabled(): boolean;
7
- get config(): T | null;
8
- setEnabledAsync(enabled: boolean, config?: T | undefined): Promise<void>;
9
- setConfig(config: T): void;
10
- protected abstract initialize(): Promise<void>;
11
- protected abstract dispose(): Promise<void>;
12
- }
13
- //# sourceMappingURL=PluggableController.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluggableController.d.ts","sourceRoot":"","sources":["../../src/controllers/PluggableController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAExF,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,8BAAsB,mBAAmB,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,oBAAoB;IAC9E,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,OAAO,CAAkB;IAEjC,IAAI,OAAO,YAAqC;IAChD,IAAI,MAAM,aAA2B;IAE/B,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAE,CAAC,GAAG,SAAqB;IAiBzE,SAAS,CAAC,MAAM,EAAE,CAAC;IAInB,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAC9C"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PluggableController = void 0;
4
- class PluggableController {
5
- _enabled = undefined;
6
- _config = null;
7
- get enabled() { return this._enabled || false; }
8
- get config() { return this._config; }
9
- async setEnabledAsync(enabled, config = undefined) {
10
- if (config !== undefined) {
11
- this.setConfig(config);
12
- }
13
- if (this._enabled === enabled) {
14
- return;
15
- }
16
- this._enabled = enabled;
17
- if (this._enabled) {
18
- await this.initialize();
19
- }
20
- else {
21
- await this.dispose();
22
- }
23
- }
24
- setConfig(config) {
25
- this._config = config;
26
- }
27
- }
28
- exports.PluggableController = PluggableController;
29
- //# sourceMappingURL=PluggableController.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluggableController.js","sourceRoot":"","sources":["../../src/controllers/PluggableController.ts"],"names":[],"mappings":";;;AAIA,MAAsB,mBAAmB;IAC7B,QAAQ,GAAwB,SAAS,CAAC;IAC1C,OAAO,GAAa,IAAI,CAAC;IAEjC,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;IAChD,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAErC,KAAK,CAAC,eAAe,CAAC,OAAgB,EAAE,SAAwB,SAAS;QACrE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAED,SAAS,CAAC,MAAS;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;CAIJ;AA9BD,kDA8BC"}