presetter 4.5.0 → 4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. package/lib/content.d.ts +77 -0
  2. package/lib/content.d.ts.map +1 -1
  3. package/lib/content.js +126 -1
  4. package/lib/directive.d.ts +23 -0
  5. package/lib/directive.d.ts.map +1 -1
  6. package/lib/directive.js +85 -1
  7. package/lib/error.d.ts +6 -0
  8. package/lib/error.d.ts.map +1 -1
  9. package/lib/error.js +21 -1
  10. package/lib/executable/entry.d.ts +5 -0
  11. package/lib/executable/entry.d.ts.map +1 -1
  12. package/lib/executable/entry.js +24 -1
  13. package/lib/executable/error.d.ts +4 -0
  14. package/lib/executable/error.d.ts.map +1 -1
  15. package/lib/executable/error.js +23 -1
  16. package/lib/executable/index.js +16 -1
  17. package/lib/index.js +16 -1
  18. package/lib/io.d.ts +39 -0
  19. package/lib/io.d.ts.map +1 -1
  20. package/lib/io.js +96 -11
  21. package/lib/package.d.ts +22 -0
  22. package/lib/package.d.ts.map +1 -1
  23. package/lib/package.js +53 -3
  24. package/lib/preset/content.d.ts +7 -0
  25. package/lib/preset/content.d.ts.map +1 -1
  26. package/lib/preset/content.js +20 -1
  27. package/lib/preset/context.d.ts +4 -0
  28. package/lib/preset/context.d.ts.map +1 -1
  29. package/lib/preset/context.js +19 -1
  30. package/lib/preset/graph.d.ts +17 -0
  31. package/lib/preset/graph.d.ts.map +1 -1
  32. package/lib/preset/graph.js +34 -1
  33. package/lib/preset/index.js +25 -1
  34. package/lib/preset/mapping.d.ts +6 -0
  35. package/lib/preset/mapping.d.ts.map +1 -1
  36. package/lib/preset/mapping.js +25 -2
  37. package/lib/preset/presetterRC.d.ts +19 -0
  38. package/lib/preset/presetterRC.d.ts.map +1 -1
  39. package/lib/preset/presetterRC.js +37 -1
  40. package/lib/preset/scripts.d.ts +4 -0
  41. package/lib/preset/scripts.d.ts.map +1 -1
  42. package/lib/preset/scripts.js +19 -1
  43. package/lib/preset/setup.d.ts +10 -0
  44. package/lib/preset/setup.d.ts.map +1 -1
  45. package/lib/preset/setup.js +38 -1
  46. package/lib/preset/unset.d.ts +3 -0
  47. package/lib/preset/unset.d.ts.map +1 -1
  48. package/lib/preset/unset.js +18 -1
  49. package/lib/resolution.d.ts +17 -0
  50. package/lib/resolution.d.ts.map +1 -1
  51. package/lib/resolution.js +33 -1
  52. package/lib/run.d.ts +7 -0
  53. package/lib/run.d.ts.map +1 -1
  54. package/lib/run.js +77 -1
  55. package/lib/scripts.d.ts +12 -0
  56. package/lib/scripts.d.ts.map +1 -1
  57. package/lib/scripts.js +50 -1
  58. package/lib/task.d.ts +18 -0
  59. package/lib/task.d.ts.map +1 -1
  60. package/lib/task.js +40 -2
  61. package/lib/template.d.ts +47 -0
  62. package/lib/template.d.ts.map +1 -1
  63. package/lib/template.js +96 -2
  64. package/lib/utilities/index.js +16 -1
  65. package/lib/utilities/mapValues.d.ts +6 -0
  66. package/lib/utilities/mapValues.d.ts.map +1 -1
  67. package/lib/utilities/mapValues.js +21 -1
  68. package/package.json +3 -3
package/lib/content.d.ts CHANGED
@@ -1,44 +1,121 @@
1
1
  import type { Config, PresetContext, PresetGraph, PresetNode, PresetterConfig, ResolvedPresetContext, Template } from 'presetter-types';
2
+ /**
3
+ * enrich the context with the resolved supplementary assets
4
+ * @param _ collection of arguments
5
+ * @param _.graph preset graph
6
+ * @param _.context preset context
7
+ * @returns enriched preset context
8
+ */
2
9
  export declare function resolveContext(_: {
3
10
  graph: PresetGraph;
4
11
  context: PresetContext;
5
12
  }): Promise<ResolvedPresetContext>;
13
+ /**
14
+ * resolve no noSymlinks
15
+ * @param _ collection of arguments
16
+ * @param _.graph preset graph
17
+ * @param _.context preset context
18
+ * @returns list of noSymlinks
19
+ */
6
20
  export declare function resolveNoSymlinks(_: {
7
21
  graph: PresetGraph;
8
22
  context: ResolvedPresetContext<'variable'>;
9
23
  }): Promise<string[]>;
24
+ /**
25
+ * compute the final config map
26
+ * @param _ collection of arguments
27
+ * @param _.graph preset graph
28
+ * @param _.context preset context
29
+ * @returns map of config content
30
+ */
10
31
  export declare function resolveSupplementaryConfig(_: {
11
32
  graph: PresetGraph;
12
33
  context: ResolvedPresetContext<'variable'>;
13
34
  }): Promise<Record<string, Config>>;
35
+ /**
36
+ * compute the supplementary config map from a preset node
37
+ * @param _ collection of arguments
38
+ * @param _.node preset node
39
+ * @param _.context preset context
40
+ * @returns map of config content
41
+ */
14
42
  export declare function resolveSupplementaryConfigFromNode(_: {
15
43
  node: PresetNode;
16
44
  context: ResolvedPresetContext<'variable'>;
17
45
  }): Promise<Record<string, Config>>;
46
+ /**
47
+ * compute script that will be merged with those provided by presets
48
+ * @param _ collection of arguments
49
+ * @param _.graph preset graph
50
+ * @param _.context preset context
51
+ * @returns map of config content
52
+ */
18
53
  export declare function resolveSupplementaryScripts(_: {
19
54
  graph: PresetGraph;
20
55
  context: ResolvedPresetContext<'variable'>;
21
56
  }): Promise<Record<string, string>>;
57
+ /**
58
+ * compute the supplementary config map from a preset node
59
+ * @param _ collection of arguments
60
+ * @param _.node preset node
61
+ * @param _.context preset context
62
+ * @returns map of config content
63
+ */
22
64
  export declare function resolveSupplementaryScriptsFromNode(_: {
23
65
  node: PresetNode;
24
66
  context: ResolvedPresetContext<'variable'>;
25
67
  }): Promise<Record<string, string>>;
68
+ /**
69
+ * combine default variables from presets with custom variables
70
+ * @param _ collection of arguments
71
+ * @param _.graph preset graph
72
+ * @param _.config user config
73
+ * @returns combined variables
74
+ */
26
75
  export declare function resolveVariable(_: {
27
76
  graph: PresetGraph;
28
77
  config: PresetterConfig;
29
78
  }): Record<string, string>;
79
+ /**
80
+ * compute the final script map
81
+ * @param _ collection of arguments
82
+ * @param _.graph preset graph
83
+ * @param _.context preset context
84
+ * @returns map of script content
85
+ */
30
86
  export declare function resolveScripts(_: {
31
87
  graph: PresetGraph;
32
88
  context: ResolvedPresetContext<'variable'>;
33
89
  }): Promise<Record<string, string>>;
90
+ /**
91
+ * compute the final script map from a preset node
92
+ * @param _ collection of arguments
93
+ * @param _.node preset node
94
+ * @param _.context preset context
95
+ * @returns map of script content
96
+ */
34
97
  export declare function resolveScriptsFromNode(_: {
35
98
  node: PresetNode;
36
99
  context: ResolvedPresetContext<'variable'>;
37
100
  }): Promise<Record<string, string>>;
101
+ /**
102
+ * compute the final template content
103
+ * @param _ collection of arguments
104
+ * @param _.graph preset graph
105
+ * @param _.context preset context
106
+ * @returns map of template content
107
+ */
38
108
  export declare function resolveTemplate(_: {
39
109
  graph: PresetGraph;
40
110
  context: ResolvedPresetContext;
41
111
  }): Promise<Record<string, Template>>;
112
+ /**
113
+ * compute the final template content from a preset node
114
+ * @param _ collection of arguments
115
+ * @param _.node preset node
116
+ * @param _.context preset context
117
+ * @returns map of template content
118
+ */
42
119
  export declare function resolveTemplateFromNode(_: {
43
120
  node: PresetNode;
44
121
  context: ResolvedPresetContext;
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../source/content.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACT,MAAM,iBAAiB,CAAC;AASzB,wBAAsB,cAAc,CAAC,CAAC,EAAE;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;CACxB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2BjC;AASD,wBAAsB,iBAAiB,CAAC,CAAC,EAAE;IACzC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWpB;AAsCD,wBAAsB,0BAA0B,CAAC,CAAC,EAAE;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYlC;AASD,wBAAsB,kCAAkC,CAAC,CAAC,EAAE;IAC1D,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqBlC;AASD,wBAAsB,2BAA2B,CAAC,CAAC,EAAE;IACnD,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYlC;AASD,wBAAsB,mCAAmC,CAAC,CAAC,EAAE;IAC3D,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmBlC;AASD,wBAAgB,eAAe,CAAC,CAAC,EAAE;IACjC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;CACzB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzB;AA8BD,wBAAsB,cAAc,CAAC,CAAC,EAAE;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAalC;AASD,wBAAsB,sBAAsB,CAAC,CAAC,EAAE;IAC9C,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgBlC;AASD,wBAAsB,eAAe,CAAC,CAAC,EAAE;IACvC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CA0BpC;AASD,wBAAsB,uBAAuB,CAAC,CAAC,EAAE;IAC/C,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAsBpC"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../source/content.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACT,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;CACxB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2BjC;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE;IACzC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWpB;AA+BD;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,EAAE;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYlC;AAED;;;;;;GAMG;AACH,wBAAsB,kCAAkC,CAAC,CAAC,EAAE;IAC1D,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqBlC;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAAC,CAAC,EAAE;IACnD,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYlC;AAED;;;;;;GAMG;AACH,wBAAsB,mCAAmC,CAAC,CAAC,EAAE;IAC3D,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmBlC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE;IACjC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;CACzB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzB;AAuBD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAalC;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAAE;IAC9C,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgBlC;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE;IACvC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CA0BpC;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,EAAE;IAC/C,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAsBpC"}
package/lib/content.js CHANGED
@@ -1,7 +1,29 @@
1
+ /*
2
+ * *** MIT LICENSE ***
3
+ * -------------------------------------------------------------------------
4
+ * This code may be modified and distributed under the MIT license.
5
+ * See the LICENSE file for details.
6
+ * -------------------------------------------------------------------------
7
+ *
8
+ * @summary Collection of context resolvers
9
+ *
10
+ * @author Alvis HT Tang <alvis@hilbert.space>
11
+ * @license MIT
12
+ * @copyright Copyright (c) 2021 - All Rights Reserved.
13
+ * -------------------------------------------------------------------------
14
+ */
1
15
  import { getConfigKey, loadDynamic, loadDynamicMap } from './resolution.js';
2
16
  import { filter, merge, mergeTemplate, template } from './template.js';
17
+ /**
18
+ * enrich the context with the resolved supplementary assets
19
+ * @param _ collection of arguments
20
+ * @param _.graph preset graph
21
+ * @param _.context preset context
22
+ * @returns enriched preset context
23
+ */
3
24
  export async function resolveContext(_) {
4
25
  const { graph } = _;
26
+ // compute a new context with variable resolved
5
27
  const context = {
6
28
  ..._.context,
7
29
  custom: {
@@ -12,6 +34,7 @@ export async function resolveContext(_) {
12
34
  const config = await resolveSupplementaryConfig({ graph, context });
13
35
  const noSymlinks = await resolveNoSymlinks({ graph, context });
14
36
  const scripts = await resolveSupplementaryScripts({ graph, context });
37
+ // return a new context with everything resolved
15
38
  return {
16
39
  target: context.target,
17
40
  custom: {
@@ -23,75 +46,169 @@ export async function resolveContext(_) {
23
46
  },
24
47
  };
25
48
  }
49
+ /**
50
+ * resolve no noSymlinks
51
+ * @param _ collection of arguments
52
+ * @param _.graph preset graph
53
+ * @param _.context preset context
54
+ * @returns list of noSymlinks
55
+ */
26
56
  export async function resolveNoSymlinks(_) {
27
57
  const { graph, context } = _;
28
58
  const fromPreset = (await Promise.all(graph.map(async (node) => resolveNoSymlinksFromNode({ node, context })))).flat();
29
59
  const fromUser = context.custom.noSymlinks ?? [];
30
60
  return [...new Set([...fromPreset, ...fromUser])];
31
61
  }
62
+ /**
63
+ * resolve noSymlinks from a preset node
64
+ * @param _ collection of arguments
65
+ * @param _.node preset node
66
+ * @param _.context resolved preset context
67
+ * @returns list of noSymlinks
68
+ */
32
69
  async function resolveNoSymlinksFromNode(_) {
33
70
  const { node, context } = _;
34
71
  const { asset, nodes } = node;
72
+ // resolve noSymlink lists from preset's extensions
35
73
  const fromChildren = (await Promise.all(nodes.map(async (extension) => resolveNoSymlinksFromNode({ node: extension, context })))).flat();
74
+ // resolve preset's noSymlink list
36
75
  const fromPreset = await loadDynamic(asset.noSymlinks ?? [], context);
37
76
  return [...new Set([...fromChildren, ...fromPreset])];
38
77
  }
78
+ /**
79
+ * compute the final config map
80
+ * @param _ collection of arguments
81
+ * @param _.graph preset graph
82
+ * @param _.context preset context
83
+ * @returns map of config content
84
+ */
39
85
  export async function resolveSupplementaryConfig(_) {
40
86
  const { graph, context } = _;
41
87
  const fromPresets = (await Promise.all(graph.map(async (node) => resolveSupplementaryConfigFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
42
88
  return merge(fromPresets, context.custom.config);
43
89
  }
90
+ /**
91
+ * compute the supplementary config map from a preset node
92
+ * @param _ collection of arguments
93
+ * @param _.node preset node
94
+ * @param _.context preset context
95
+ * @returns map of config content
96
+ */
44
97
  export async function resolveSupplementaryConfigFromNode(_) {
45
98
  const { node, context } = _;
46
99
  const { asset, nodes } = node;
100
+ // resolve configs from the preset's extensions
47
101
  const fromChildren = (await Promise.all(nodes.map(async (node) => resolveSupplementaryConfigFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
102
+ // resolve preset's config
48
103
  const fromPreset = await loadDynamicMap(asset.supplementaryConfig, context);
104
+ // merge preset's config on top of the extensions
49
105
  return merge(fromChildren, fromPreset);
50
106
  }
107
+ /**
108
+ * compute script that will be merged with those provided by presets
109
+ * @param _ collection of arguments
110
+ * @param _.graph preset graph
111
+ * @param _.context preset context
112
+ * @returns map of config content
113
+ */
51
114
  export async function resolveSupplementaryScripts(_) {
52
115
  const { graph, context } = _;
53
116
  const fromPresets = (await Promise.all(graph.map(async (node) => resolveSupplementaryScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
54
117
  return merge(fromPresets, context.custom.scripts);
55
118
  }
119
+ /**
120
+ * compute the supplementary config map from a preset node
121
+ * @param _ collection of arguments
122
+ * @param _.node preset node
123
+ * @param _.context preset context
124
+ * @returns map of config content
125
+ */
56
126
  export async function resolveSupplementaryScriptsFromNode(_) {
57
127
  const { node, context } = _;
58
128
  const { asset, nodes } = node;
59
129
  const { supplementaryScripts } = asset;
130
+ // resolve configs from the preset's extensions
60
131
  const fromChildren = (await Promise.all(nodes.map(async (node) => resolveSupplementaryScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
132
+ // resolve preset's config
61
133
  const fromPreset = await loadDynamic(supplementaryScripts ?? {}, context);
134
+ // merge preset's config on top of the extensions
62
135
  return merge(fromChildren, fromPreset);
63
136
  }
137
+ /**
138
+ * combine default variables from presets with custom variables
139
+ * @param _ collection of arguments
140
+ * @param _.graph preset graph
141
+ * @param _.config user config
142
+ * @returns combined variables
143
+ */
64
144
  export function resolveVariable(_) {
65
145
  const { graph, config } = _;
146
+ // get the default from presets
66
147
  const fromPresets = graph
67
148
  .map((node) => resolveVariableFromNode({ node }))
68
149
  .reduce((merged, next) => merge(merged, next), {});
150
+ // merge with those from the config file
69
151
  return merge(fromPresets, config.variable);
70
152
  }
153
+ /**
154
+ * resolve variables from a preset node
155
+ * @param _ collection of arguments
156
+ * @param _.node preset node
157
+ * @returns combined variables
158
+ */
71
159
  function resolveVariableFromNode(_) {
72
160
  const { node } = _;
73
161
  const { asset, nodes } = node;
162
+ // resolve variables from the preset's extensions
74
163
  const fromChildren = nodes
75
164
  .map((node) => resolveVariableFromNode({ node }))
76
165
  .reduce((merged, next) => merge(merged, next), {});
166
+ // merge with the preset's default variables
77
167
  return merge(fromChildren, asset.variable);
78
168
  }
169
+ /**
170
+ * compute the final script map
171
+ * @param _ collection of arguments
172
+ * @param _.graph preset graph
173
+ * @param _.context preset context
174
+ * @returns map of script content
175
+ */
79
176
  export async function resolveScripts(_) {
80
177
  const { graph, context } = _;
178
+ // resolve scripts from all presets
81
179
  const fromPresets = (await Promise.all(graph.map(async (node) => resolveScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
82
180
  const fromConfig = context.custom.scripts;
83
181
  return template(merge(fromPresets, fromConfig), context.custom.variable);
84
182
  }
183
+ /**
184
+ * compute the final script map from a preset node
185
+ * @param _ collection of arguments
186
+ * @param _.node preset node
187
+ * @param _.context preset context
188
+ * @returns map of script content
189
+ */
85
190
  export async function resolveScriptsFromNode(_) {
86
191
  const { node, context } = _;
87
192
  const { asset, nodes } = node;
193
+ // resolve scripts from the preset's extensions
88
194
  const fromChildren = (await Promise.all(nodes.map(async (node) => resolveScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
195
+ // resolve preset's scripts
89
196
  const fromPreset = await loadDynamic(asset.scripts ?? {}, context);
197
+ // merge preset's scripts on top of the extensions
90
198
  return merge(fromChildren, fromPreset);
91
199
  }
200
+ /**
201
+ * compute the final template content
202
+ * @param _ collection of arguments
203
+ * @param _.graph preset graph
204
+ * @param _.context preset context
205
+ * @returns map of template content
206
+ */
92
207
  export async function resolveTemplate(_) {
93
208
  const { graph, context } = _;
209
+ // deduce all the template contents and their paths from presets
94
210
  const fromPreset = (await Promise.all(graph.map(async (node) => resolveTemplateFromNode({ node, context })))).reduce((merged, next) => mergeTemplate(merged, next), {});
211
+ // merge the template with the config supplied by user
95
212
  const customTemplate = Object.fromEntries(Object.entries(fromPreset).map(([path, current]) => {
96
213
  const config = context.custom.config[getConfigKey(path)];
97
214
  const candidate = Array.isArray(config) ? config.join('\n') : config;
@@ -101,10 +218,18 @@ export async function resolveTemplate(_) {
101
218
  const resolvedTemplate = filter(merged, ...(context.custom.ignores ?? []));
102
219
  return template(resolvedTemplate, context.custom.variable);
103
220
  }
221
+ /**
222
+ * compute the final template content from a preset node
223
+ * @param _ collection of arguments
224
+ * @param _.node preset node
225
+ * @param _.context preset context
226
+ * @returns map of template content
227
+ */
104
228
  export async function resolveTemplateFromNode(_) {
105
229
  const { node, context } = _;
106
230
  const { asset, nodes } = node;
107
231
  const { supplementaryIgnores } = asset;
232
+ // resolve template from the preset's extensions
108
233
  const fromChildren = (await Promise.all(nodes.map(async (node) => resolveTemplateFromNode({ node, context })))).reduce((current, next) => mergeTemplate(current, next), {});
109
234
  const fromPreset = await loadDynamicMap(asset.template, context);
110
235
  const merged = mergeTemplate(fromChildren, fromPreset);
@@ -113,4 +238,4 @@ export async function resolveTemplateFromNode(_) {
113
238
  : supplementaryIgnores;
114
239
  return filter(merged, ...(ignoreRules ?? []));
115
240
  }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBbUJwRSxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxDQUdwQztJQUNDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFHcEIsTUFBTSxPQUFPLEdBQXNDO1FBQ2pELEdBQUcsQ0FBQyxDQUFDLE9BQU87UUFDWixNQUFNLEVBQUU7WUFDTixHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNuQixRQUFRLEVBQUUsZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQy9EO0tBQ0YsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sMEJBQTBCLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNwRSxNQUFNLFVBQVUsR0FBRyxNQUFNLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0QsTUFBTSxPQUFPLEdBQUcsTUFBTSwyQkFBMkIsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBR3RFLE9BQU87UUFDTCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDdEIsTUFBTSxFQUFFO1lBQ04sR0FBRyxPQUFPLENBQUMsTUFBTTtZQUNqQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzdCLE1BQU07WUFDTixVQUFVO1lBQ1YsT0FBTztTQUNSO0tB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
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQVlwRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxDQUdwQztJQUNDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFcEIsK0NBQStDO0lBQy9DLE1BQU0sT0FBTyxHQUFzQztRQUNqRCxHQUFHLENBQUMsQ0FBQyxPQUFPO1FBQ1osTUFBTSxFQUFFO1lBQ04sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDbkIsUUFBUSxFQUFFLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMvRDtLQUNGLENBQUM7SUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLDBCQUEwQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sT0FBTyxHQUFHLE1BQU0sMkJBQTJCLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUV0RSxnREFBZ0Q7SUFDaEQsT0FBTztRQUNMLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixNQUFNLEVBQUU7WUFDTixHQUFHLE9BQU8sQ0FBQyxNQUFNO1lBQ2pCLE1BQU0sRUFBRSxP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
@@ -1,9 +1,32 @@
1
1
  import type { PresetContext } from 'presetter-types';
2
+ /** syntax for an apply directive */
2
3
  export type ApplyDirective = `@apply ${string}` | `@apply ${string}[${string}]`;
4
+ /** syntax for an import directive */
3
5
  export type ImportDirective = `@import ${string}` | `@import ${string}[${string}]`;
6
+ /**
7
+ * indicate whether the given value is an apply directive
8
+ * @param value value to be tested
9
+ * @returns true if the value is an apply directive
10
+ */
4
11
  export declare function isApplyDirective(value: unknown): value is ApplyDirective;
12
+ /**
13
+ * indicate whether the given value is an import directive
14
+ * @param value value to be tested
15
+ * @returns true if the value is an import directive
16
+ */
5
17
  export declare function isImportDirective(value: unknown): value is ImportDirective;
18
+ /**
19
+ * indicate whether the given value is a directive
20
+ * @param value value to be tested
21
+ * @returns true if the value is a directive
22
+ */
6
23
  export declare function isDirective(value: unknown): value is ApplyDirective | ImportDirective;
24
+ /**
25
+ * resolve directives from configuration options
26
+ * @param config configuration options
27
+ * @param context background context about the configuration
28
+ * @returns resolved configuration options with directive replaced
29
+ */
7
30
  export declare function resolveDirective(config: Record<string, unknown>, context: PresetContext): {
8
31
  importMap: Record<string, string>;
9
32
  stringifiedConfig: string;
@@ -1 +1 @@
1
- {"version":3,"file":"directive.d.ts","sourceRoot":"","sources":["../source/directive.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,MAAM,cAAc,GAAG,UAAU,MAAM,EAAE,GAAG,UAAU,MAAM,IAAI,MAAM,GAAG,CAAC;AAGhF,MAAM,MAAM,eAAe,GACvB,WAAW,MAAM,EAAE,GACnB,WAAW,MAAM,IAAI,MAAM,GAAG,CAAC;AAqBnC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAOD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAOD,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,cAAc,GAAG,eAAe,CAE3C;AAQD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,aAAa,GACrB;IACD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAeA"}
1
+ {"version":3,"file":"directive.d.ts","sourceRoot":"","sources":["../source/directive.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG,UAAU,MAAM,EAAE,GAAG,UAAU,MAAM,IAAI,MAAM,GAAG,CAAC;AAEhF,qCAAqC;AACrC,MAAM,MAAM,eAAe,GACvB,WAAW,MAAM,EAAE,GACnB,WAAW,MAAM,IAAI,MAAM,GAAG,CAAC;AAgBnC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,cAAc,GAAG,eAAe,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,aAAa,GACrB;IACD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAeA"}
package/lib/directive.js CHANGED
@@ -1,14 +1,51 @@
1
+ /*
2
+ * *** MIT LICENSE ***
3
+ * -------------------------------------------------------------------------
4
+ * This code may be modified and distributed under the MIT license.
5
+ * See the LICENSE file for details.
6
+ * -------------------------------------------------------------------------
7
+ *
8
+ * @summary Collection of helpers for parsing configuration
9
+ *
10
+ * @author Alvis HT Tang <alvis@hilbert.space>
11
+ * @license MIT
12
+ * @copyright Copyright (c) 2021 - All Rights Reserved.
13
+ * -------------------------------------------------------------------------
14
+ */
15
+ /** syntax for an apply directive */
1
16
  const applyRegex = /^@apply ((\.+\/|@)?[a-zA-Z]+[a-zA-Z0-9_/.-]*[a-zA-Z0-9_]+)(\[([a-zA-Z]+[a-zA-Z0-9_.]*)\])?$/;
17
+ /** syntax for an import directive */
2
18
  const importRegex = /^@import ((\.+\/|@)?[a-zA-Z]+[a-zA-Z0-9_/.-]*[a-zA-Z0-9_]+)(\[([a-zA-Z]+[a-zA-Z0-9_.]*)\])?$/;
19
+ /**
20
+ * indicate whether the given value is an apply directive
21
+ * @param value value to be tested
22
+ * @returns true if the value is an apply directive
23
+ */
3
24
  export function isApplyDirective(value) {
4
25
  return typeof value === 'string' && !!applyRegex.exec(value);
5
26
  }
27
+ /**
28
+ * indicate whether the given value is an import directive
29
+ * @param value value to be tested
30
+ * @returns true if the value is an import directive
31
+ */
6
32
  export function isImportDirective(value) {
7
33
  return typeof value === 'string' && !!importRegex.exec(value);
8
34
  }
35
+ /**
36
+ * indicate whether the given value is a directive
37
+ * @param value value to be tested
38
+ * @returns true if the value is a directive
39
+ */
9
40
  export function isDirective(value) {
10
41
  return isApplyDirective(value) || isImportDirective(value);
11
42
  }
43
+ /**
44
+ * resolve directives from configuration options
45
+ * @param config configuration options
46
+ * @param context background context about the configuration
47
+ * @returns resolved configuration options with directive replaced
48
+ */
12
49
  export function resolveDirective(config, context) {
13
50
  const packages = new Set();
14
51
  const stringifiedConfig = stringifyConfigObject(config, {
@@ -21,6 +58,12 @@ export function resolveDirective(config, context) {
21
58
  ]));
22
59
  return { importMap, stringifiedConfig };
23
60
  }
61
+ /**
62
+ * resolve an apply directive
63
+ * @param directiveMeta a potential directive in the form of [directive, options]
64
+ * @param context shared context passed from the upstream
65
+ * @returns resolved string or null if no directive is found
66
+ */
24
67
  function resolveApplyDirective(directiveMeta, context) {
25
68
  const [directive, ...args] = directiveMeta;
26
69
  const { packages } = context;
@@ -34,8 +77,15 @@ function resolveApplyDirective(directiveMeta, context) {
34
77
  return `${resolvedName}(...(${argsExpression} as const))`;
35
78
  }
36
79
  }
80
+ // return null for a non-match
37
81
  return null;
38
82
  }
83
+ /**
84
+ * resolve an import directive
85
+ * @param directive a potential directive string
86
+ * @param context shared context passed from the upstream
87
+ * @returns resolved string or null if no directive is found
88
+ */
39
89
  function resolveImportDirective(directive, context) {
40
90
  const { packages } = context;
41
91
  const match = importRegex.exec(directive);
@@ -43,8 +93,15 @@ function resolveImportDirective(directive, context) {
43
93
  const [_, packageName, _prefix, _importBracket, importName] = match;
44
94
  return registerUsage(packages, packageName, importName);
45
95
  }
96
+ // return null for a non-match
46
97
  return null;
47
98
  }
99
+ /**
100
+ * stringify a value which has a type object
101
+ * @param value the value to be stringified
102
+ * @param context shared context passed from the upstream
103
+ * @returns stringified value
104
+ */
48
105
  function stringifyObjectValue(value, context) {
49
106
  if (Array.isArray(value)) {
50
107
  return (resolveApplyDirective(value, context) ??
@@ -57,16 +114,34 @@ function stringifyObjectValue(value, context) {
57
114
  return 'null';
58
115
  }
59
116
  }
117
+ /**
118
+ * stringify an array
119
+ * @param config an object to be parsed
120
+ * @param context shared context passed from the upstream
121
+ * @returns stringified object
122
+ */
60
123
  function stringifyConfigArray(config, context) {
61
124
  const values = config.map((value) => stringifyValue(value, context));
62
125
  return `[${values.join(', ')}]`;
63
126
  }
127
+ /**
128
+ * stringify an object
129
+ * @param config an object to be parsed
130
+ * @param context shared context passed from the upstream
131
+ * @returns stringified object
132
+ */
64
133
  function stringifyConfigObject(config, context) {
65
134
  const values = Object.entries(config).map(([key, value]) => {
66
135
  return `${JSON.stringify(key)}: ${stringifyValue(value, context)}`;
67
136
  });
68
137
  return `{${values.join(', ')}}`;
69
138
  }
139
+ /**
140
+ * stringify a value
141
+ * @param value the value to be stringified
142
+ * @param context shared context passed from the upstream
143
+ * @returns stringified value
144
+ */
70
145
  function stringifyValue(value, context) {
71
146
  switch (typeof value) {
72
147
  case 'string':
@@ -79,10 +154,19 @@ function stringifyValue(value, context) {
79
154
  return JSON.stringify(value);
80
155
  }
81
156
  }
157
+ /**
158
+ * add the needed package name to the registry and return its resolved name
159
+ * @param packages package registry
160
+ * @param packageName name of the package to be imported
161
+ * @param importName named import to be used
162
+ * @returns resolved symbol
163
+ */
82
164
  function registerUsage(packages, packageName, importName) {
165
+ // add package and import to the register
83
166
  packages.add(packageName);
167
+ // replace the directive with the value path
84
168
  const packageKey = [...packages.values()].findIndex((name) => name === packageName);
85
169
  const named = importName ? `.${importName}` : '';
86
170
  return `import${packageKey}${named}`;
87
171
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQ0EsTUFBTSxVQUFVLEdBQ2QsNkZBQTZGLENBQUM7QUFHaEcsTUFBTSxXQUFXLEdBQ2YsOEZBQThGLENBQUM7QUFPakcsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWM7SUFDN0MsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQU9ELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFjO0lBQzlDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFPRCxNQUFNLFVBQVUsV0FBVyxDQUN6QixLQUFjO0lBRWQsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBUUQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixNQUErQixFQUMvQixPQUFzQjtJQUt0QixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBQ25DLE1BQU0saUJBQWlCLEdBQUcscUJBQXFCLENBQUMsTUFBTSxFQUFFO1FBQ3RELEdBQUcsT0FBTztRQUNWLFFBQVE7S0FDVCxDQUFDLENBQUM7SUFFSCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNsQyxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDL0MsV0FBVztRQUNYLFNBQVMsR0FBRyxFQUFFO0tBQ2YsQ0FBQyxDQUNILENBQUM7SUFFRixPQUFPLEVBQUUsU0FB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
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztHQWFHO0FBa0JILG9DQUFvQztBQUNwQyxNQUFNLFVBQVUsR0FDZCw2RkFBNkYsQ0FBQztBQUVoRyxxQ0FBcUM7QUFDckMsTUFBTSxXQUFXLEdBQ2YsOEZBQThGLENBQUM7QUFFakc7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFjO0lBQzdDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWM7SUFDOUMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN6QixLQUFjO0lBRWQsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLE1BQStCLEVBQy9CLE9BQXNCO0lBS3RCLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFDbkMsTUFBTSxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUU7UUFDdEQsR0FBRyxPQUFPO1FBQ1YsUUFBUTtLQUNULENBQUMsQ0FBQztJQUVILE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ2xDLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FB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
package/lib/error.d.ts CHANGED
@@ -1,2 +1,8 @@
1
+ /**
2
+ * prepend a rejected error message with a better explanation
3
+ * @param promise a promise to be resolved
4
+ * @param message a custom message to be prepended to any rejected message
5
+ * @returns wrapped error
6
+ */
1
7
  export declare function wrap<T>(promise: Promise<T>, message: string): Promise<T>;
2
8
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../source/error.ts"],"names":[],"mappings":"AAqBA,wBAAsB,IAAI,CAAC,CAAC,EAC1B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,CAAC,CAUZ"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../source/error.ts"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,CAAC,EAC1B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,CAAC,CAUZ"}
package/lib/error.js CHANGED
@@ -1,3 +1,23 @@
1
+ /*
2
+ * *** MIT LICENSE ***
3
+ * -------------------------------------------------------------------------
4
+ * This code may be modified and distributed under the MIT license.
5
+ * See the LICENSE file for details.
6
+ * -------------------------------------------------------------------------
7
+ *
8
+ * @summary Helpers for handling errors
9
+ *
10
+ * @author Alvis HT Tang <alvis@hilbert.space>
11
+ * @license MIT
12
+ * @copyright Copyright (c) 2020 - All Rights Reserved.
13
+ * -------------------------------------------------------------------------
14
+ */
15
+ /**
16
+ * prepend a rejected error message with a better explanation
17
+ * @param promise a promise to be resolved
18
+ * @param message a custom message to be prepended to any rejected message
19
+ * @returns wrapped error
20
+ */
1
21
  export async function wrap(promise, message) {
2
22
  try {
3
23
  return await promise;
@@ -9,4 +29,4 @@ export async function wrap(promise, message) {
9
29
  throw error;
10
30
  }
11
31
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUJBLE1BQU0sQ0FBQyxLQUFLLFVBQVUsSUFBSSxDQUN4QixPQUFtQixFQUNuQixPQUFlO0lBRWYsSUFBSTtRQUNGLE9BQU8sTUFBTSxPQUFPLENBQUM7S0FDdEI7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoRDtRQUVELE1BQU0sS0FBSyxDQUFDO0tBQ2I7QUFDSCxDQUFDIn0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUVIOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxJQUFJLENBQ3hCLE9BQW1CLEVBQ25CLE9BQWU7SUFFZixJQUFJO1FBQ0YsT0FBTyxNQUFNLE9BQU8sQ0FBQztLQUN0QjtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hEO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMifQ==