@jaredwray/fumanchu 4.5.1 → 4.6.1

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.
package/dist/index.d.cts CHANGED
@@ -1,65 +1,68 @@
1
- import HandlebarsLib from 'handlebars';
1
+ import { CacheableMemory, CacheableMemoryOptions } from "@cacheable/memory";
2
+ import HandlebarsLib from "handlebars";
2
3
 
4
+ //#region src/helper-registry.d.ts
3
5
  type Helper = {
4
- name: string;
5
- category: string;
6
- compatibility?: string[];
7
- fn: ((...arguments_: any[]) => string) | ((...arguments_: any[]) => number) | ((...arguments_: any[]) => boolean) | ((...arguments_: any[]) => unknown) | ((...arguments_: any[]) => number | string) | ((...arguments_: any[]) => HandlebarsLib.SafeString);
6
+ name: string;
7
+ category: string;
8
+ compatibility?: string[];
9
+ fn: ((...arguments_: any[]) => string) | ((...arguments_: any[]) => number) | ((...arguments_: any[]) => boolean) | ((...arguments_: any[]) => unknown) | ((...arguments_: any[]) => number | string) | ((...arguments_: any[]) => HandlebarsLib.SafeString);
8
10
  };
9
11
  type HelperFilter = {
10
- names?: string[];
11
- categories?: string[];
12
- compatibility?: string[];
12
+ names?: string[];
13
+ categories?: string[];
14
+ compatibility?: string[];
13
15
  };
14
16
  declare class HelperRegistry {
15
- private readonly _helpers;
16
- constructor();
17
- /**
18
- * Get all registered helpers.
19
- * @returns {Helper[]} The array of registered helpers.
20
- */
21
- get helpers(): Helper[];
22
- /**
23
- * Initialize the helper registry. This is performed during the construction of the registry such as new HelperRegistry().
24
- */
25
- init(): void;
26
- /**
27
- * Register a helper.
28
- * @param {Helper} helper The helper to register.
29
- * @returns True if the helper was registered, false otherwise.
30
- */
31
- register(helper: Helper): boolean;
32
- /**
33
- * Register multiple helpers.
34
- * @param {Helper[]} helpers The array of helpers to register.
35
- */
36
- registerHelpers(helpers: Helper[]): void;
37
- /**
38
- * Check if a helper is registered.
39
- * @param name The name of the helper.
40
- * @returns True if the helper is registered, false otherwise.
41
- */
42
- has(name: string): boolean;
43
- /**
44
- * Filter helpers by the given criteria.
45
- * @param filter The filter criteria.
46
- * @returns The filtered helpers.
47
- */
48
- filter(filter: HelperFilter): Helper[];
49
- /**
50
- * Load Handlebars helpers.
51
- * @param {Handlebars} handlebars The Handlebars instance.
52
- * @returns {void}
53
- */
54
- load(handlebars: any, filters?: HelperFilter): void;
55
- /**
56
- * Swap Handlebars helpers. This is used when you want to swap out legacy helpers for fumanchu helpers.
57
- * @param handlebars The Handlebars instance.
58
- * @returns {void}
59
- */
60
- swap(handlebars: any): void;
17
+ private readonly _helpers;
18
+ constructor();
19
+ /**
20
+ * Get all registered helpers.
21
+ * @returns {Helper[]} The array of registered helpers.
22
+ */
23
+ get helpers(): Helper[];
24
+ /**
25
+ * Initialize the helper registry. This is performed during the construction of the registry such as new HelperRegistry().
26
+ */
27
+ init(): void;
28
+ /**
29
+ * Register a helper.
30
+ * @param {Helper} helper The helper to register.
31
+ * @returns True if the helper was registered, false otherwise.
32
+ */
33
+ register(helper: Helper): boolean;
34
+ /**
35
+ * Register multiple helpers.
36
+ * @param {Helper[]} helpers The array of helpers to register.
37
+ */
38
+ registerHelpers(helpers: Helper[]): void;
39
+ /**
40
+ * Check if a helper is registered.
41
+ * @param name The name of the helper.
42
+ * @returns True if the helper is registered, false otherwise.
43
+ */
44
+ has(name: string): boolean;
45
+ /**
46
+ * Filter helpers by the given criteria.
47
+ * @param filter The filter criteria.
48
+ * @returns The filtered helpers.
49
+ */
50
+ filter(filter: HelperFilter): Helper[];
51
+ /**
52
+ * Load Handlebars helpers.
53
+ * @param {Handlebars} handlebars The Handlebars instance.
54
+ * @returns {void}
55
+ */
56
+ load(handlebars: any, filters?: HelperFilter): void;
57
+ /**
58
+ * Swap Handlebars helpers. This is used when you want to swap out legacy helpers for fumanchu helpers.
59
+ * @param handlebars The Handlebars instance.
60
+ * @returns {void}
61
+ */
62
+ swap(handlebars: any): void;
61
63
  }
62
-
64
+ //#endregion
65
+ //#region src/index.d.ts
63
66
  /**
64
67
  * Handlebars library not initiated with helpers
65
68
  * @type {Handlebars}
@@ -74,8 +77,8 @@ declare const handlebars: typeof HandlebarsLib;
74
77
  * Fumanchu Handlebars helpers
75
78
  */
76
79
  type HelpersOptions = {
77
- handlebars?: typeof HandlebarsLib;
78
- hbs?: typeof HandlebarsLib;
80
+ handlebars?: typeof HandlebarsLib;
81
+ hbs?: typeof HandlebarsLib;
79
82
  };
80
83
  /**
81
84
  * Register Handlebars helpers
@@ -88,25 +91,10 @@ declare function helpers(options: HelpersOptions): void;
88
91
  * @deprecated Will be deprecated in future versions, use `fumanchu()` instead.
89
92
  */
90
93
  declare function createHandlebars(): Promise<typeof HandlebarsLib>;
91
- /**
92
- * @typedef {Object} FumanchuCachingOptions
93
- * @property {number|string} [ttl] - Time to Live - If you set a number it is miliseconds, if you set a string it is a human-readable
94
- * format such as `1s` for 1 second or `1h` for 1 hour. Setting undefined means that it will use the default time-to-live. If both are
95
- * undefined then it will not have a time-to-live.
96
- * @property {boolean} [useClone] - If true, it will clone the value before returning it. If false, it will return the value directly. Default is true.
97
- * @property {number} [lruSize] - The size of the LRU cache. If set to 0, it will not use LRU cache. Default is 0.
98
- * @property {number} [checkInterval] - The interval to check for expired items. If set to 0, it will not check for expired items. Default is 0.
99
- */
100
- type FumanchuCachingOptions = {
101
- ttl?: number | string;
102
- useClone?: boolean;
103
- lruSize?: number;
104
- checkInterval?: number;
105
- };
106
94
  type FumanchuOptions = {
107
- handlebars?: typeof HandlebarsLib;
108
- filter?: HelperFilter;
109
- caching?: boolean | FumanchuCachingOptions;
95
+ handlebars?: typeof HandlebarsLib;
96
+ filter?: HelperFilter;
97
+ caching?: boolean | CacheableMemory | CacheableMemoryOptions;
110
98
  };
111
99
  /**
112
100
  * Will return a Handlebars instance with Fumanchu helpers (experimental)
@@ -114,5 +102,5 @@ type FumanchuOptions = {
114
102
  * @returns {Handlebars} Handlebars instance with helpers
115
103
  */
116
104
  declare function fumanchu(options?: FumanchuOptions): typeof HandlebarsLib;
117
-
118
- export { type FumanchuCachingOptions, type FumanchuOptions, Handlebars, type HelperFilter, HelperRegistry, type HelpersOptions, createHandlebars, fumanchu, handlebars, helpers };
105
+ //#endregion
106
+ export { CacheableMemory, type CacheableMemoryOptions, FumanchuOptions, Handlebars, type HelperFilter, HelperRegistry, HelpersOptions, createHandlebars, fumanchu, handlebars, helpers };
@@ -0,0 +1,106 @@
1
+ import { CacheableMemory, CacheableMemoryOptions } from "@cacheable/memory";
2
+ import HandlebarsLib from "handlebars";
3
+
4
+ //#region src/helper-registry.d.ts
5
+ type Helper = {
6
+ name: string;
7
+ category: string;
8
+ compatibility?: string[];
9
+ fn: ((...arguments_: any[]) => string) | ((...arguments_: any[]) => number) | ((...arguments_: any[]) => boolean) | ((...arguments_: any[]) => unknown) | ((...arguments_: any[]) => number | string) | ((...arguments_: any[]) => HandlebarsLib.SafeString);
10
+ };
11
+ type HelperFilter = {
12
+ names?: string[];
13
+ categories?: string[];
14
+ compatibility?: string[];
15
+ };
16
+ declare class HelperRegistry {
17
+ private readonly _helpers;
18
+ constructor();
19
+ /**
20
+ * Get all registered helpers.
21
+ * @returns {Helper[]} The array of registered helpers.
22
+ */
23
+ get helpers(): Helper[];
24
+ /**
25
+ * Initialize the helper registry. This is performed during the construction of the registry such as new HelperRegistry().
26
+ */
27
+ init(): void;
28
+ /**
29
+ * Register a helper.
30
+ * @param {Helper} helper The helper to register.
31
+ * @returns True if the helper was registered, false otherwise.
32
+ */
33
+ register(helper: Helper): boolean;
34
+ /**
35
+ * Register multiple helpers.
36
+ * @param {Helper[]} helpers The array of helpers to register.
37
+ */
38
+ registerHelpers(helpers: Helper[]): void;
39
+ /**
40
+ * Check if a helper is registered.
41
+ * @param name The name of the helper.
42
+ * @returns True if the helper is registered, false otherwise.
43
+ */
44
+ has(name: string): boolean;
45
+ /**
46
+ * Filter helpers by the given criteria.
47
+ * @param filter The filter criteria.
48
+ * @returns The filtered helpers.
49
+ */
50
+ filter(filter: HelperFilter): Helper[];
51
+ /**
52
+ * Load Handlebars helpers.
53
+ * @param {Handlebars} handlebars The Handlebars instance.
54
+ * @returns {void}
55
+ */
56
+ load(handlebars: any, filters?: HelperFilter): void;
57
+ /**
58
+ * Swap Handlebars helpers. This is used when you want to swap out legacy helpers for fumanchu helpers.
59
+ * @param handlebars The Handlebars instance.
60
+ * @returns {void}
61
+ */
62
+ swap(handlebars: any): void;
63
+ }
64
+ //#endregion
65
+ //#region src/index.d.ts
66
+ /**
67
+ * Handlebars library not initiated with helpers
68
+ * @type {Handlebars}
69
+ */
70
+ declare const Handlebars: typeof HandlebarsLib;
71
+ /**
72
+ * Fumanchu Handlebars instance not initiated with helpers
73
+ * @type {Handlebars}
74
+ */
75
+ declare const handlebars: typeof HandlebarsLib;
76
+ /**
77
+ * Fumanchu Handlebars helpers
78
+ */
79
+ type HelpersOptions = {
80
+ handlebars?: typeof HandlebarsLib;
81
+ hbs?: typeof HandlebarsLib;
82
+ };
83
+ /**
84
+ * Register Handlebars helpers
85
+ * @param {HelpersOptions} options - Options for Fumanchu helpers
86
+ */
87
+ declare function helpers(options: HelpersOptions): void;
88
+ /**
89
+ * Create a new Handlebars instance with Fumanchu helpers
90
+ * @returns {Promise<Handlebars>}
91
+ * @deprecated Will be deprecated in future versions, use `fumanchu()` instead.
92
+ */
93
+ declare function createHandlebars(): Promise<typeof HandlebarsLib>;
94
+ type FumanchuOptions = {
95
+ handlebars?: typeof HandlebarsLib;
96
+ filter?: HelperFilter;
97
+ caching?: boolean | CacheableMemory | CacheableMemoryOptions;
98
+ };
99
+ /**
100
+ * Will return a Handlebars instance with Fumanchu helpers (experimental)
101
+ * @param {FumanchuOptions} [options] - Options for Fumanchu
102
+ * @returns {Handlebars} Handlebars instance with helpers
103
+ */
104
+ declare function fumanchu(options?: FumanchuOptions): typeof HandlebarsLib;
105
+ //#endregion
106
+ export { CacheableMemory, type CacheableMemoryOptions, FumanchuOptions, Handlebars, type HelperFilter, HelperRegistry, HelpersOptions, createHandlebars, fumanchu, handlebars, helpers };