@zajno/common 2.3.10 → 2.3.11

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zajno/common",
3
- "version": "2.3.10",
3
+ "version": "2.3.11",
4
4
  "description": "Zajno's re-usable utilities for JS/TS projects",
5
5
  "private": false,
6
6
  "repository": {
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/structures/path/builder.ts"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EAGT,eAAe,EACf,aAAa,EAEb,aAAa,EAEhB,MAAM,SAAS,CAAC;AAGjB,cAAc,SAAS,CAAC;AAiBxB,uDAAuD;AACvD,wBAAgB,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,EACxC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,KAAK,GACjB,aAAa,CAAC,KAAK,CAAC,CA4DtB;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
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/structures/path/builder.ts"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EAGT,eAAe,EACf,aAAa,EAEb,aAAa,EAGhB,MAAM,SAAS,CAAC;AAGjB,cAAc,SAAS,CAAC;AAmBxB,uDAAuD;AACvD,wBAAgB,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,EACxC,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,KAAK,GACjB,aAAa,CAAC,KAAK,CAAC,CAmFtB;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,CAsD1F"}
@@ -16,6 +16,8 @@ const staticFactory = (strings) => {
16
16
  defaultOptions = defaults;
17
17
  return this;
18
18
  },
19
+ withBuildTransform() { return this; },
20
+ withTemplateTransform() { return this; },
19
21
  };
20
22
  };
21
23
  /** Tagged template literal to create a path builder */
@@ -23,10 +25,10 @@ function build(strings, ...params) {
23
25
  if (params.length === 0) {
24
26
  return staticFactory(strings);
25
27
  }
26
- const appendParts = [];
27
- const prependParts = [];
28
28
  let defaultOptions = undefined;
29
- const build = (args, options) => {
29
+ let buildTransforms = null;
30
+ let templateTransforms = null;
31
+ const build = (args, options, transforms = buildTransforms) => {
30
32
  const parts = [];
31
33
  const getValue = !args
32
34
  ? (() => null)
@@ -36,26 +38,36 @@ function build(strings, ...params) {
36
38
  for (let i = 0; i < strings.length; ++i) {
37
39
  parts.push(strings[i]);
38
40
  if (i < params.length) {
39
- const v = getValue(params[i], i);
41
+ let v = getValue(params[i], i);
40
42
  if (v != null) {
43
+ const t = transforms?.[params[i]];
44
+ if (t) {
45
+ v = t(v);
46
+ }
41
47
  parts.push(v);
42
48
  }
43
49
  }
44
50
  }
45
- return (0, utils_1.combineUrls)(utils_1.CombineOptions.merge(defaultOptions, options), ...prependParts, ...parts, ...appendParts);
51
+ return (0, utils_1.combineUrls)(utils_1.CombineOptions.merge(defaultOptions, options), ...parts);
46
52
  };
47
53
  const template = (prefix, options) => {
48
54
  let args;
55
+ const t = templateTransforms
56
+ ? (v) => {
57
+ const t = templateTransforms[v];
58
+ return t ? t(v) : v;
59
+ }
60
+ : (v) => v;
49
61
  if (typeof prefix === 'string') {
50
- args = params.map(p => prefix + p);
62
+ args = params.map(p => prefix + t(p));
51
63
  }
52
64
  else if (typeof prefix === 'function') {
53
- args = params.map(prefix);
65
+ args = params.map((p, i) => prefix(t(p), i));
54
66
  }
55
67
  else {
56
- args = params;
68
+ args = params.map(t);
57
69
  }
58
- return build(args, options);
70
+ return build(args, options, {});
59
71
  };
60
72
  const result = {
61
73
  build,
@@ -66,6 +78,14 @@ function build(strings, ...params) {
66
78
  defaultOptions = defaults;
67
79
  return this;
68
80
  },
81
+ withBuildTransform(transforms) {
82
+ buildTransforms = transforms;
83
+ return this;
84
+ },
85
+ withTemplateTransform(transforms) {
86
+ templateTransforms = transforms;
87
+ return this;
88
+ },
69
89
  };
70
90
  return result;
71
91
  }
@@ -131,6 +151,18 @@ function construct(...inputs) {
131
151
  },
132
152
  args,
133
153
  as() { return this; },
154
+ withDefaults(defaults) {
155
+ outputs.forEach(o => o.withDefaults(defaults));
156
+ return this;
157
+ },
158
+ withBuildTransform(transforms) {
159
+ outputs.forEach(o => o.withBuildTransform(transforms));
160
+ return this;
161
+ },
162
+ withTemplateTransform(transforms) {
163
+ outputs.forEach(o => o.withTemplateTransform(transforms));
164
+ return this;
165
+ },
134
166
  };
135
167
  return result;
136
168
  }
@@ -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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"}
@@ -35,7 +35,14 @@ interface BaseBuilder<A extends readonly string[], B, P = TemplatePrefixing> {
35
35
  as<TOther>(marker?: TOther): TOther extends readonly string[] ? SwitchBuilder<TOther> : (TOther extends BaseBuilder<any, any> ? TOther : never);
36
36
  /** Allows to specify default combine options for the current builder instance. */
37
37
  withDefaults: (defaults: CombineOptions) => this;
38
+ /** Allows to specify **build** transformation per key for the current builder instance. */
39
+ withBuildTransform: (transforms: TransformMap<A>) => this;
40
+ /** Allows to specify **template** transformation per key for the current builder instance. */
41
+ withTemplateTransform: (transforms: TransformMap<A>) => this;
38
42
  }
43
+ export type TransformMap<A extends readonly string[]> = {
44
+ [K in A[number]]?: (v: ArgValue) => string;
45
+ };
39
46
  type EmptyBuilderArgs = [] | Record<PropertyKey, never>;
40
47
  type ReadonlyArr<TArr extends ReadonlyArray<any>> = TArr extends ReadonlyArray<infer T> ? ReadonlyArray<T> : never;
41
48
  export interface Builder<TArgs extends readonly string[]> extends BaseBuilder<ReadonlyArr<TArgs>, BuilderArgs<TArgs[number], TArgs['length']>> {
@@ -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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"}