@md-plugins/shared 0.1.0-alpha.28 → 0.1.0-alpha.29

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.mts CHANGED
@@ -41,6 +41,9 @@ interface MarkdownItHeader {
41
41
  */
42
42
  children: MarkdownItHeader[];
43
43
  }
44
+ type ResolvePluginOptionsFn = <T extends object, K extends keyof any>(options: T | {
45
+ [P in K]?: T;
46
+ } | undefined, key: K, defaults: T) => T;
44
47
 
45
48
  interface ResolveTitleOptions {
46
49
  /**
@@ -97,4 +100,8 @@ declare const resolveHeadersFromTokens: (tokens: Token[], { level, shouldAllowHt
97
100
  */
98
101
  declare const slugify: (str: string) => string;
99
102
 
100
- export { type MarkdownItEnv, type MarkdownItHeader, type ResolveHeadersOptions, type ResolveTitleOptions, htmlEscape, htmlUnescape, resolveHeadersFromTokens, resolveTitleFromToken, slugify };
103
+ declare function resolvePluginOptions<T extends object, K extends keyof any>(options: T | {
104
+ [key in K]?: T;
105
+ } | undefined, key: K, defaults: T): T;
106
+
107
+ export { type MarkdownItEnv, type MarkdownItHeader, type ResolveHeadersOptions, type ResolvePluginOptionsFn, type ResolveTitleOptions, htmlEscape, htmlUnescape, resolveHeadersFromTokens, resolvePluginOptions, resolveTitleFromToken, slugify };
package/dist/index.d.ts CHANGED
@@ -41,6 +41,9 @@ interface MarkdownItHeader {
41
41
  */
42
42
  children: MarkdownItHeader[];
43
43
  }
44
+ type ResolvePluginOptionsFn = <T extends object, K extends keyof any>(options: T | {
45
+ [P in K]?: T;
46
+ } | undefined, key: K, defaults: T) => T;
44
47
 
45
48
  interface ResolveTitleOptions {
46
49
  /**
@@ -97,4 +100,8 @@ declare const resolveHeadersFromTokens: (tokens: Token[], { level, shouldAllowHt
97
100
  */
98
101
  declare const slugify: (str: string) => string;
99
102
 
100
- export { type MarkdownItEnv, type MarkdownItHeader, type ResolveHeadersOptions, type ResolveTitleOptions, htmlEscape, htmlUnescape, resolveHeadersFromTokens, resolveTitleFromToken, slugify };
103
+ declare function resolvePluginOptions<T extends object, K extends keyof any>(options: T | {
104
+ [key in K]?: T;
105
+ } | undefined, key: K, defaults: T): T;
106
+
107
+ export { type MarkdownItEnv, type MarkdownItHeader, type ResolveHeadersOptions, type ResolvePluginOptionsFn, type ResolveTitleOptions, htmlEscape, htmlUnescape, resolveHeadersFromTokens, resolvePluginOptions, resolveTitleFromToken, slugify };
package/dist/index.mjs CHANGED
@@ -93,4 +93,11 @@ const resolveHeadersFromTokens = (tokens, {
93
93
  return headers;
94
94
  };
95
95
 
96
- export { htmlEscape, htmlUnescape, resolveHeadersFromTokens, resolveTitleFromToken, slugify };
96
+ function resolvePluginOptions(options, key, defaults) {
97
+ if (options && typeof options === "object" && key in options) {
98
+ return { ...defaults, ...options[key] };
99
+ }
100
+ return { ...defaults, ...options };
101
+ }
102
+
103
+ export { htmlEscape, htmlUnescape, resolveHeadersFromTokens, resolvePluginOptions, resolveTitleFromToken, slugify };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@md-plugins/shared",
3
- "version": "0.1.0-alpha.28",
3
+ "version": "0.1.0-alpha.29",
4
4
  "description": "Shared functions and utilities for md-plugins.",
5
5
  "keywords": [
6
6
  "markdown-it",