sync.d.ts 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { ResultBase, IParamsBase0, IParamsBase1, IParamsBase2, IParamsBase3, IParamsBase4, IParamsBase5, IParamsBase6, IParamsBasePlus } from './util';
  2. interface IMemoizedSync<T1, T2, T3, T4, T5, T6, TResult> extends ResultBase {
  3. (arg1: T1): TResult;
  4. (arg1: T1, arg2: T2): TResult;
  5. (arg1: T1, arg2: T2, arg3: T3): TResult;
  6. (arg1: T1, arg2: T2, arg3: T3, arg4: T4): TResult;
  7. (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5): TResult;
  8. (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6): TResult;
  9. }
  10. interface IMemoizableFunctionSync0<TResult> {
  11. (): TResult;
  12. }
  13. interface IMemoizableFunctionSync1<T1, TResult> {
  14. (arg1: T1): TResult;
  15. }
  16. interface IMemoizableFunctionSync2<T1, T2, TResult> {
  17. (arg1: T1, arg2: T2): TResult;
  18. }
  19. interface IMemoizableFunctionSync3<T1, T2, T3, TResult> {
  20. (arg1: T1, arg2: T2, arg3: T3): TResult;
  21. }
  22. interface IMemoizableFunctionSync4<T1, T2, T3, T4, TResult> {
  23. (arg1: T1, arg2: T2, arg3: T3, arg4: T4): TResult;
  24. }
  25. interface IMemoizableFunctionSync5<T1, T2, T3, T4, T5, TResult> {
  26. (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5): TResult;
  27. }
  28. interface IMemoizableFunctionSync6<T1, T2, T3, T4, T5, T6, TResult> {
  29. (a1: T1, a2: T2, a3: T3, a4: T4, a5: T5, a6: T6): TResult;
  30. }
  31. interface IMemoizableFunctionSyncPlus<TResult> {
  32. (...args: any[]): TResult;
  33. }
  34. export interface SyncParams0<TResult> extends IParamsBase0<TResult> {
  35. load: IMemoizableFunctionSync0<TResult>;
  36. }
  37. export interface SyncParams1<T1, TResult> extends IParamsBase1<T1, TResult> {
  38. load: IMemoizableFunctionSync1<T1, TResult>;
  39. }
  40. export interface SyncParams2<T1, T2, TResult> extends IParamsBase2<T1, T2, TResult> {
  41. load: IMemoizableFunctionSync2<T1, T2, TResult>;
  42. }
  43. export interface SyncParams3<T1, T2, T3, TResult> extends IParamsBase3<T1, T2, T3, TResult> {
  44. load: IMemoizableFunctionSync3<T1, T2, T3, TResult>;
  45. }
  46. export interface SyncParams4<T1, T2, T3, T4, TResult> extends IParamsBase4<T1, T2, T3, T4, TResult> {
  47. load: IMemoizableFunctionSync4<T1, T2, T3, T4, TResult>;
  48. }
  49. export interface SyncParams5<T1, T2, T3, T4, T5, TResult> extends IParamsBase5<T1, T2, T3, T4, T5, TResult> {
  50. load: IMemoizableFunctionSync5<T1, T2, T3, T4, T5, TResult>;
  51. }
  52. export interface SyncParams6<T1, T2, T3, T4, T5, T6, TResult> extends IParamsBase6<T1, T2, T3, T4, T5, T6, TResult> {
  53. load: IMemoizableFunctionSync6<T1, T2, T3, T4, T5, T6, TResult>;
  54. }
  55. export interface SyncParamsPlus<TResult> extends IParamsBasePlus {
  56. load: IMemoizableFunctionSyncPlus<TResult>;
  57. }
  58. export declare function syncMemoizer<TResult>(options: SyncParams0<TResult>): IMemoizedSync<unknown, unknown, unknown, unknown, unknown, unknown, TResult>;
  59. export declare function syncMemoizer<T1, TResult>(options: SyncParams1<T1, TResult>): IMemoizedSync<T1, unknown, unknown, unknown, unknown, unknown, TResult>;
  60. export declare function syncMemoizer<T1, T2, TResult>(options: SyncParams2<T1, T2, TResult>): IMemoizedSync<T1, T2, unknown, unknown, unknown, unknown, TResult>;
  61. export declare function syncMemoizer<T1, T2, T3, TResult>(options: SyncParams3<T1, T2, T3, TResult>): IMemoizedSync<T1, T2, T3, unknown, unknown, unknown, TResult>;
  62. export declare function syncMemoizer<T1, T2, T3, T4, TResult>(options: SyncParams4<T1, T2, T3, T4, TResult>): IMemoizedSync<T1, T2, T3, T4, unknown, unknown, TResult>;
  63. export declare function syncMemoizer<T1, T2, T3, T4, T5, TResult>(options: SyncParams5<T1, T2, T3, T4, T5, TResult>): IMemoizedSync<T1, T2, T3, T4, T5, unknown, TResult>;
  64. export declare function syncMemoizer<T1, T2, T3, T4, T5, T6, TResult>(options: SyncParams6<T1, T2, T3, T4, T5, T6, TResult>): IMemoizedSync<T1, T2, T3, T4, T5, T6, TResult>;
  65. export {};