@zajno/common 2.6.5 → 2.6.7
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/cjs/api/builder.js +13 -8
- package/cjs/api/builder.js.map +1 -1
- package/cjs/api/call.types.js +1 -0
- package/cjs/api/call.types.js.map +1 -1
- package/cjs/api/endpoint.js +10 -0
- package/cjs/api/endpoint.js.map +1 -1
- package/cjs/api/helpers.js.map +1 -1
- package/cjs/api/index.js +4 -1
- package/cjs/api/index.js.map +1 -1
- package/cjs/structures/path/builder.helpers.js +180 -0
- package/cjs/structures/path/builder.helpers.js.map +1 -0
- package/cjs/structures/path/builder.js +21 -106
- package/cjs/structures/path/builder.js.map +1 -1
- package/cjs/structures/path/types.helpers.js +3 -0
- package/cjs/structures/path/types.helpers.js.map +1 -0
- package/esm/api/builder.js +12 -8
- package/esm/api/builder.js.map +1 -1
- package/esm/api/call.types.js +1 -0
- package/esm/api/call.types.js.map +1 -1
- package/esm/api/endpoint.js +10 -0
- package/esm/api/endpoint.js.map +1 -1
- package/esm/api/helpers.js.map +1 -1
- package/esm/api/index.js +1 -0
- package/esm/api/index.js.map +1 -1
- package/esm/structures/path/builder.helpers.js +172 -0
- package/esm/structures/path/builder.helpers.js.map +1 -0
- package/esm/structures/path/builder.js +20 -104
- package/esm/structures/path/builder.js.map +1 -1
- package/esm/structures/path/types.helpers.js +2 -0
- package/esm/structures/path/types.helpers.js.map +1 -0
- package/package.json +1 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/tsconfig.types.tsbuildinfo +1 -1
- package/types/api/builder.d.ts +5 -0
- package/types/api/call.types.d.ts +7 -6
- package/types/api/endpoint.d.ts +2 -0
- package/types/api/endpoint.types.d.ts +4 -1
- package/types/api/extensions/contentType.d.ts +1 -1
- package/types/api/helpers.d.ts +3 -1
- package/types/api/index.d.ts +1 -0
- package/types/structures/path/builder.d.ts +5 -4
- package/types/structures/path/builder.helpers.d.ts +8 -0
- package/types/structures/path/types.d.ts +32 -27
- package/types/structures/path/types.helpers.d.ts +23 -0
- package/types/types/misc.d.ts +4 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { CombineOptions, combineUrls } from './utils.js';
|
|
2
|
+
export const staticFactory = (strings) => {
|
|
3
|
+
const parts = strings.slice();
|
|
4
|
+
let defaultOptions = undefined;
|
|
5
|
+
return {
|
|
6
|
+
build: (_, options) => combineUrls(CombineOptions.merge(defaultOptions, options), ...parts),
|
|
7
|
+
template: (_, options) => combineUrls(CombineOptions.merge(defaultOptions, options), ...parts),
|
|
8
|
+
args: [],
|
|
9
|
+
as() { return this; },
|
|
10
|
+
withDefaults(defaults) {
|
|
11
|
+
defaultOptions = defaults;
|
|
12
|
+
return this;
|
|
13
|
+
},
|
|
14
|
+
withBuildTransform() { return this; },
|
|
15
|
+
withTemplateTransform() { return this; },
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export function constructStatic(input) {
|
|
19
|
+
let staticPath = undefined;
|
|
20
|
+
/* istanbul ignore else -- @preserve */
|
|
21
|
+
if (Array.isArray(input)) {
|
|
22
|
+
staticPath = combineUrls(...input);
|
|
23
|
+
}
|
|
24
|
+
else if (typeof input === 'string') {
|
|
25
|
+
staticPath = input;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
throw new Error('Path.construct: Invalid input, expected string | string[]');
|
|
29
|
+
}
|
|
30
|
+
return staticFactory([staticPath]);
|
|
31
|
+
}
|
|
32
|
+
;
|
|
33
|
+
export function constructDynamic(strings, ...paramsRaw) {
|
|
34
|
+
if (paramsRaw.length === 0) {
|
|
35
|
+
return staticFactory(strings);
|
|
36
|
+
}
|
|
37
|
+
// Collect metadata about parameters
|
|
38
|
+
const params = paramsRaw.map((p, index) => {
|
|
39
|
+
const isOptional = p.endsWith(Tokens.Optional);
|
|
40
|
+
return {
|
|
41
|
+
raw: p,
|
|
42
|
+
// Remove optional token from the end of the parameter name
|
|
43
|
+
name: isOptional
|
|
44
|
+
? p.slice(0, -Tokens.Optional.length)
|
|
45
|
+
: p,
|
|
46
|
+
index,
|
|
47
|
+
isOptional,
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
let defaultOptions = undefined;
|
|
51
|
+
let buildTransforms = null;
|
|
52
|
+
let templateTransforms = null;
|
|
53
|
+
const build = (args, options, transforms = buildTransforms) => {
|
|
54
|
+
const parts = [];
|
|
55
|
+
const getValue = !args
|
|
56
|
+
? (() => null)
|
|
57
|
+
: Array.isArray(args)
|
|
58
|
+
? (arg) => args[arg.index]?.toString()
|
|
59
|
+
: (arg) => args[arg.name]?.toString();
|
|
60
|
+
for (let i = 0; i < strings.length; ++i) {
|
|
61
|
+
parts.push(strings[i]);
|
|
62
|
+
if (i >= params.length) {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
const info = params[i];
|
|
66
|
+
let v = getValue(info);
|
|
67
|
+
if (v != null) {
|
|
68
|
+
const t = transforms?.[info.name];
|
|
69
|
+
if (t) {
|
|
70
|
+
v = t(v, info);
|
|
71
|
+
}
|
|
72
|
+
parts.push(v);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return combineUrls(CombineOptions.merge(defaultOptions, options), ...parts);
|
|
76
|
+
};
|
|
77
|
+
const template = (transform, options) => {
|
|
78
|
+
const baseTransform = templateTransforms
|
|
79
|
+
? (v, info) => {
|
|
80
|
+
const t = templateTransforms[info.name];
|
|
81
|
+
return t ? t(v, info) : v;
|
|
82
|
+
}
|
|
83
|
+
: (v) => v;
|
|
84
|
+
let resTransform;
|
|
85
|
+
if (transform && typeof transform === 'function') {
|
|
86
|
+
resTransform = (v, info) => transform(baseTransform(v, info), info);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
const { prefix = '', suffix = '', optionalSuffix = Tokens.Optional, } = typeof transform === 'string'
|
|
90
|
+
? { prefix: transform }
|
|
91
|
+
: transform || {};
|
|
92
|
+
resTransform = (v, info) => {
|
|
93
|
+
const value = baseTransform(v, info);
|
|
94
|
+
return `${prefix}${value}${info.isOptional ? optionalSuffix : ''}${suffix}`;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
const args = params.map(param => resTransform(param.name, param));
|
|
98
|
+
return build(args, options, {});
|
|
99
|
+
};
|
|
100
|
+
let _args = undefined;
|
|
101
|
+
const result = {
|
|
102
|
+
build,
|
|
103
|
+
template,
|
|
104
|
+
get args() {
|
|
105
|
+
if (!_args) {
|
|
106
|
+
_args = params.map(p => p.name);
|
|
107
|
+
}
|
|
108
|
+
return _args;
|
|
109
|
+
},
|
|
110
|
+
as() { return this; },
|
|
111
|
+
asOptional() {
|
|
112
|
+
return constructDynamic(strings, ...params.map(p => p.isOptional ? p.raw : `${p.raw}${Tokens.Optional}`));
|
|
113
|
+
},
|
|
114
|
+
withDefaults(defaults) {
|
|
115
|
+
defaultOptions = defaults;
|
|
116
|
+
return this;
|
|
117
|
+
},
|
|
118
|
+
withBuildTransform(transforms) {
|
|
119
|
+
buildTransforms = transforms;
|
|
120
|
+
return this;
|
|
121
|
+
},
|
|
122
|
+
withTemplateTransform(transforms) {
|
|
123
|
+
templateTransforms = transforms;
|
|
124
|
+
return this;
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
return result;
|
|
128
|
+
}
|
|
129
|
+
const Tokens = {
|
|
130
|
+
Separator: '/',
|
|
131
|
+
Optional: '?',
|
|
132
|
+
Arg: ':',
|
|
133
|
+
};
|
|
134
|
+
export function guardIsStatic(value) {
|
|
135
|
+
return typeof value === 'string' || Array.isArray(value);
|
|
136
|
+
}
|
|
137
|
+
export function normalizeInput(inputs) {
|
|
138
|
+
if (!inputs.length) {
|
|
139
|
+
return [];
|
|
140
|
+
}
|
|
141
|
+
const normalizeString = (input) => {
|
|
142
|
+
const part = input.trim();
|
|
143
|
+
if (part.startsWith(Tokens.Arg)) {
|
|
144
|
+
const cleaned = part.slice(Tokens.Arg.length);
|
|
145
|
+
return constructDynamic `${cleaned}`;
|
|
146
|
+
}
|
|
147
|
+
return part;
|
|
148
|
+
};
|
|
149
|
+
const extractParts = (input) => {
|
|
150
|
+
if (input.includes(Tokens.Separator)) {
|
|
151
|
+
return input.split(Tokens.Separator)
|
|
152
|
+
.map(normalizeString)
|
|
153
|
+
.filter(Boolean);
|
|
154
|
+
}
|
|
155
|
+
return normalizeString(input);
|
|
156
|
+
};
|
|
157
|
+
return inputs.map(input => {
|
|
158
|
+
if (typeof input === 'string') {
|
|
159
|
+
return extractParts(input);
|
|
160
|
+
}
|
|
161
|
+
if (Array.isArray(input)) {
|
|
162
|
+
return input.map(i => {
|
|
163
|
+
if (typeof i === 'string') {
|
|
164
|
+
return extractParts(i);
|
|
165
|
+
}
|
|
166
|
+
return i;
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
return input;
|
|
170
|
+
}).flat();
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=builder.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.helpers.js","sourceRoot":"","sources":["../../../../src/structures/path/builder.helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,107 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const staticFactory = (strings) => {
|
|
4
|
-
const parts = strings.slice();
|
|
5
|
-
let defaultOptions = undefined;
|
|
6
|
-
return {
|
|
7
|
-
build: (_, options) => combineUrls(CombineOptions.merge(defaultOptions, options), ...parts),
|
|
8
|
-
template: (_, options) => combineUrls(CombineOptions.merge(defaultOptions, options), ...parts),
|
|
9
|
-
args: [],
|
|
10
|
-
as() { return this; },
|
|
11
|
-
withDefaults(defaults) {
|
|
12
|
-
defaultOptions = defaults;
|
|
13
|
-
return this;
|
|
14
|
-
},
|
|
15
|
-
withBuildTransform() { return this; },
|
|
16
|
-
withTemplateTransform() { return this; },
|
|
17
|
-
};
|
|
18
|
-
};
|
|
1
|
+
import { constructDynamic, constructStatic, guardIsStatic, normalizeInput, } from './builder.helpers.js';
|
|
2
|
+
import { combineUrls } from './utils.js';
|
|
19
3
|
/** Tagged template literal to create a path builder */
|
|
20
4
|
export function build(strings, ...params) {
|
|
21
|
-
|
|
22
|
-
return staticFactory(strings);
|
|
23
|
-
}
|
|
24
|
-
let defaultOptions = undefined;
|
|
25
|
-
let buildTransforms = null;
|
|
26
|
-
let templateTransforms = null;
|
|
27
|
-
const build = (args, options, transforms = buildTransforms) => {
|
|
28
|
-
const parts = [];
|
|
29
|
-
const getValue = !args
|
|
30
|
-
? (() => null)
|
|
31
|
-
: Array.isArray(args)
|
|
32
|
-
? (_key, index) => args[index]?.toString()
|
|
33
|
-
: (key, _index) => args[key]?.toString();
|
|
34
|
-
for (let i = 0; i < strings.length; ++i) {
|
|
35
|
-
parts.push(strings[i]);
|
|
36
|
-
if (i < params.length) {
|
|
37
|
-
let v = getValue(params[i], i);
|
|
38
|
-
if (v != null) {
|
|
39
|
-
const t = transforms?.[params[i]];
|
|
40
|
-
if (t) {
|
|
41
|
-
v = t(v);
|
|
42
|
-
}
|
|
43
|
-
parts.push(v);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return combineUrls(CombineOptions.merge(defaultOptions, options), ...parts);
|
|
48
|
-
};
|
|
49
|
-
const template = (prefix, options) => {
|
|
50
|
-
let args;
|
|
51
|
-
const t = templateTransforms
|
|
52
|
-
? (v) => {
|
|
53
|
-
const t = templateTransforms[v];
|
|
54
|
-
return t ? t(v) : v;
|
|
55
|
-
}
|
|
56
|
-
: (v) => v;
|
|
57
|
-
if (typeof prefix === 'string') {
|
|
58
|
-
args = params.map(p => prefix + t(p));
|
|
59
|
-
}
|
|
60
|
-
else if (typeof prefix === 'function') {
|
|
61
|
-
args = params.map((p, i) => prefix(t(p), i));
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
args = params.map(t);
|
|
65
|
-
}
|
|
66
|
-
return build(args, options, {});
|
|
67
|
-
};
|
|
68
|
-
const result = {
|
|
69
|
-
build,
|
|
70
|
-
template,
|
|
71
|
-
args: params,
|
|
72
|
-
as() { return this; },
|
|
73
|
-
asOptional() { return this; },
|
|
74
|
-
withDefaults(defaults) {
|
|
75
|
-
defaultOptions = defaults;
|
|
76
|
-
return this;
|
|
77
|
-
},
|
|
78
|
-
withBuildTransform(transforms) {
|
|
79
|
-
buildTransforms = transforms;
|
|
80
|
-
return this;
|
|
81
|
-
},
|
|
82
|
-
withTemplateTransform(transforms) {
|
|
83
|
-
templateTransforms = transforms;
|
|
84
|
-
return this;
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
return result;
|
|
88
|
-
}
|
|
89
|
-
const constructStatic = (input) => {
|
|
90
|
-
let staticPath = undefined;
|
|
91
|
-
/* istanbul ignore else -- @preserve */
|
|
92
|
-
if (Array.isArray(input)) {
|
|
93
|
-
staticPath = combineUrls(...input);
|
|
94
|
-
}
|
|
95
|
-
else if (typeof input === 'string') {
|
|
96
|
-
staticPath = input;
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
throw new Error('Path.construct: Invalid input, expected string | string[]');
|
|
100
|
-
}
|
|
101
|
-
return staticFactory([staticPath]);
|
|
102
|
-
};
|
|
103
|
-
function guardIsStatic(value) {
|
|
104
|
-
return typeof value === 'string' || Array.isArray(value);
|
|
5
|
+
return constructDynamic(strings, ...params);
|
|
105
6
|
}
|
|
106
7
|
export const Empty = build ``;
|
|
107
8
|
/**
|
|
@@ -113,7 +14,8 @@ export const Empty = build ``;
|
|
|
113
14
|
* - manually implementing `Builder<string[]>`
|
|
114
15
|
* - another `construct` call
|
|
115
16
|
*/
|
|
116
|
-
export function construct(...
|
|
17
|
+
export function construct(...inputsRaw) {
|
|
18
|
+
const inputs = normalizeInput(inputsRaw);
|
|
117
19
|
if (!inputs.length) {
|
|
118
20
|
return Empty;
|
|
119
21
|
}
|
|
@@ -138,7 +40,21 @@ export function construct(...inputs) {
|
|
|
138
40
|
const result = {
|
|
139
41
|
build: (args, options) => {
|
|
140
42
|
const innerOptions = skipOuterOptions(options);
|
|
141
|
-
|
|
43
|
+
let outputResults;
|
|
44
|
+
if (Array.isArray(args)) {
|
|
45
|
+
// if args is array, we need to split it into parts so each `output` will get its own args
|
|
46
|
+
let usedArgsCount = 0;
|
|
47
|
+
outputResults = outputs.map(o => {
|
|
48
|
+
const currentArgs = args.slice(usedArgsCount, usedArgsCount + o.args.length);
|
|
49
|
+
usedArgsCount += o.args.length;
|
|
50
|
+
return o.build(currentArgs, innerOptions);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// in case of object we don't have to split args
|
|
55
|
+
outputResults = outputs.map(o => o.build(args, innerOptions));
|
|
56
|
+
}
|
|
57
|
+
return combineUrls(options, ...outputResults);
|
|
142
58
|
},
|
|
143
59
|
template: (prefix, options) => {
|
|
144
60
|
const innerOptions = skipOuterOptions(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/structures/path/builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/structures/path/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.helpers.js","sourceRoot":"","sources":["../../../../src/structures/path/types.helpers.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
package/tsconfig.cjs.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/abstractions.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/file.ts","../src/logger/index.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/proxy.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.ts","../src/structures/path/utils.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/abstractions.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/file.ts","../src/logger/index.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/proxy.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
package/tsconfig.esm.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/abstractions.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/file.ts","../src/logger/index.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/proxy.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.ts","../src/structures/path/utils.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/abstractions.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/file.ts","../src/logger/index.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/proxy.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/abstractions.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/file.ts","../src/logger/index.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/proxy.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.ts","../src/structures/path/utils.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
|
1
|
+
{"root":["../src/api/builder.ts","../src/api/call.ts","../src/api/call.types.ts","../src/api/endpoint.ts","../src/api/endpoint.types.ts","../src/api/error.ts","../src/api/helpers.ts","../src/api/index.ts","../src/api/logging.ts","../src/api/methods.ts","../src/api/processor.ts","../src/api/register.ts","../src/api/statuscodes.ts","../src/api/extensions/contenttype.ts","../src/api/extensions/index.ts","../src/api/extensions/validation.ts","../src/async/arrays.ts","../src/async/index.ts","../src/async/manualpromise.ts","../src/async/misc.ts","../src/async/timeout.ts","../src/dates/calc.ts","../src/dates/calendarindex.ts","../src/dates/convert.ts","../src/dates/datex.ts","../src/dates/decompose.ts","../src/dates/format.ts","../src/dates/index.ts","../src/dates/parse.ts","../src/dates/period.ts","../src/dates/shift.ts","../src/dates/types.ts","../src/dates/tz.ts","../src/dates/yeardate.ts","../src/fields/filter.ts","../src/fields/index.ts","../src/fields/skip.ts","../src/fields/transfer.ts","../src/fields/update.ts","../src/functions/assert.ts","../src/functions/disposer.symbols.ts","../src/functions/disposer.ts","../src/functions/index.ts","../src/functions/safe.ts","../src/functions/throttle.ts","../src/lazy/index.ts","../src/lazy/lazy.ts","../src/lazy/light.ts","../src/lazy/promise.ts","../src/lazy/types.ts","../src/localization/localizationmanager.ts","../src/localization/localizedvalidationerrors.ts","../src/localization/abstractions.ts","../src/localization/index.ts","../src/localization/defaults/validationerrorslocalization.ts","../src/localization/defaults/defaultshape.ts","../src/logger/abstractions.ts","../src/logger/batch.ts","../src/logger/console.ts","../src/logger/file.ts","../src/logger/index.ts","../src/logger/manager.ts","../src/logger/named.ts","../src/logger/proxy.ts","../src/math/arrays.ts","../src/math/calc.ts","../src/math/distribution.ts","../src/math/index.ts","../src/math/object/helpers.ts","../src/math/object/index.ts","../src/math/object/math.composite.ts","../src/math/object/math.ts","../src/math/object/ops.composite.ts","../src/math/object/ops.ts","../src/math/object/types.ts","../src/models/entitywithstatus.ts","../src/models/file.ts","../src/models/loading.ts","../src/models/logicmodel.ts","../src/models/model.ts","../src/models/valuescollector.ts","../src/models/types.ts","../src/models/wrappers.ts","../src/observing/event.late.ts","../src/observing/event.ts","../src/observing/progresstracker.ts","../src/observing/throttledevent.ts","../src/observing/timeout.ts","../src/observing/timer.ts","../src/storage/index.ts","../src/storage/types.ts","../src/storage/wrappers.ts","../src/structures/expire.ts","../src/structures/linkedlist.ts","../src/structures/nameof.ts","../src/structures/pool.ts","../src/structures/promisecache.ts","../src/structures/promiseextended.ts","../src/structures/promiseproxy.ts","../src/structures/subscribersmap.ts","../src/structures/tempocache.ts","../src/structures/helpers/enum.ts","../src/structures/helpers/name.ts","../src/structures/path/builder.helpers.ts","../src/structures/path/builder.ts","../src/structures/path/index.ts","../src/structures/path/types.helpers.ts","../src/structures/path/types.ts","../src/structures/path/utils.ts","../src/structures/queue/parallel.ts","../src/structures/queue/tasks.ts","../src/types/arrays.ts","../src/types/comparator.ts","../src/types/deep.ts","../src/types/functions.ts","../src/types/getter.ts","../src/types/ident.ts","../src/types/index.ts","../src/types/misc.ts","../src/validation/validationerrors.ts","../src/validation/creditcard.ts","../src/validation/emails.ts","../src/validation/helpers.ts","../src/validation/index.ts","../src/validation/throwers.ts","../src/validation/types.ts","../src/validation/validators.ts","../src/validation/wrappers.ts"],"version":"5.7.3"}
|
package/types/api/builder.d.ts
CHANGED
|
@@ -6,6 +6,11 @@ export type IEndpointCaller<T extends IEndpointInfo, TExtra extends object = Rec
|
|
|
6
6
|
export type ApiDefinition = IEndpointInfo | {
|
|
7
7
|
[key: string]: ApiDefinition;
|
|
8
8
|
};
|
|
9
|
+
export type ApiRemapped<T extends ApiDefinition, TResult> = T extends IEndpointInfo ? TResult : T extends Record<string, any> ? {
|
|
10
|
+
[K in keyof T]: ApiRemapped<T[K], TResult>;
|
|
11
|
+
} : never;
|
|
12
|
+
/** Converts each endpoint in a nested structure to something via transformer */
|
|
13
|
+
export declare function remapApisStructure<TApi extends ApiDefinition, TResult>(root: TApi, transformer: (api: IEndpointInfo) => TResult): ApiRemapped<TApi, TResult>;
|
|
9
14
|
export type ApiRunner<T, TExtra extends Record<string, any>> = T extends IEndpointInfo ? IEndpointCaller<T, TExtra> : T extends Record<string, any> ? {
|
|
10
15
|
[K in keyof T]: ApiRunner<T[K], TExtra>;
|
|
11
16
|
} : never;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Path } from '../structures/path/index.js';
|
|
2
1
|
import type { AnyObject } from '../types/misc.js';
|
|
3
2
|
import type { IEndpointInfo } from './endpoint.types.js';
|
|
4
3
|
import type { LogTypes } from './logging.js';
|
|
@@ -42,11 +41,13 @@ export type CallerOptions<TExtra extends object = Record<string, any>> = {
|
|
|
42
41
|
beforeRequest?: <T extends IEndpointInfo = IEndpointInfo, TIn = IEndpointInfo.ExtractIn<T>, TExtra extends object = Record<string, any>>(config: RequestConfigDetails<T, TIn, TExtra>) => Promise<void> | void | Promise<RequestConfigDetails<T, TIn, TExtra>> | RequestConfigDetails<T, TIn, TExtra>;
|
|
43
42
|
};
|
|
44
43
|
};
|
|
45
|
-
|
|
46
|
-
type
|
|
44
|
+
type CombineInputs<T extends IEndpointInfo> = IEndpointInfo.ExtractIn<T, object> & IEndpointInfo.ExtractPath<T, object> & IEndpointInfo.ExtractQuery<T, object>;
|
|
45
|
+
export type EndpointCallArgs<T extends IEndpointInfo> = object extends CombineInputs<T> ? (null | undefined | object) : CombineInputs<T>;
|
|
46
|
+
type CallerParams<T extends IEndpointInfo, TExtra extends object> = object extends CombineInputs<T> ? [data?: EndpointCallArgs<T>, extra?: RequestExtra<T> & TExtra] : [data: EndpointCallArgs<T>, extra?: RequestExtra<T> & TExtra];
|
|
47
47
|
export interface GenericApiCaller<TExtra extends object = Record<string, any>> {
|
|
48
|
-
<T extends IEndpointInfo>(api: T, data
|
|
49
|
-
|
|
48
|
+
<T extends IEndpointInfo>(api: T, ...[data, extra]: CallerParams<T, TExtra>): Promise<IEndpointInfo.ExtractOut<T>>;
|
|
49
|
+
}
|
|
50
|
+
export interface ApiCaller<TEndpoint extends IEndpointInfo, TExtra extends object = Record<string, any>> {
|
|
51
|
+
(...[data, extra]: CallerParams<TEndpoint, TExtra>): Promise<IEndpointInfo.ExtractOut<TEndpoint>>;
|
|
50
52
|
}
|
|
51
|
-
export type ApiCaller<TEndpoint extends IEndpointInfo, TExtra extends object = Record<string, any>> = TEndpoint extends IEndpointNoArgs ? (data?: null, extra?: RequestExtra<TEndpoint> & TExtra) => Promise<IEndpointInfo.ExtractOut<TEndpoint>> : (data: EndpointCallArgs<TEndpoint>, extra?: RequestExtra<TEndpoint> & TExtra) => Promise<IEndpointInfo.ExtractOut<TEndpoint>>;
|
|
52
53
|
export {};
|
package/types/api/endpoint.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export interface ApiEndpoint extends IEndpointInfo.Base {
|
|
|
29
29
|
withErrors<TErr>(errorProcessor?: (err: TErr) => void): this & IEndpointInfo.IErrors<TErr>;
|
|
30
30
|
/** Applies headers type. */
|
|
31
31
|
withHeaders<THeads>(_headersMarker?: THeads): this & IEndpointInfo.IHeaders<THeads>;
|
|
32
|
+
/** Helper chain method for finalizing the type. Can make some runtime optimizations as well. */
|
|
33
|
+
finalize(): IEndpointInfo.Finalized<this>;
|
|
32
34
|
}
|
|
33
35
|
export declare namespace ApiEndpoint {
|
|
34
36
|
function isEndpoint(obj: any): obj is IEndpointInfo;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Path } from '../structures/path/index.js';
|
|
2
|
-
import
|
|
2
|
+
import { RemoveFunctionFields } from '../types/functions.js';
|
|
3
|
+
import type { AnyObject, Coalesce, EmptyObjectNullable, Expand } from '../types/misc.js';
|
|
3
4
|
import type { EndpointMethods } from './methods.js';
|
|
4
5
|
/**
|
|
5
6
|
* Definition of an abstract REST API endpoint.
|
|
@@ -61,5 +62,7 @@ export declare namespace IEndpointInfo {
|
|
|
61
62
|
export type ExtractOut<T> = T extends IOut<infer TOut> ? TOut : never;
|
|
62
63
|
export type ExtractErrors<T> = T extends IErrors<infer TErrors> ? TErrors : Any;
|
|
63
64
|
export type ExtractHeaders<T> = T extends IHeaders<infer THeaders> ? THeaders : Any;
|
|
65
|
+
type MergeOmit<T, K> = Omit<T, keyof K> & K;
|
|
66
|
+
export type Finalized<T extends Base> = Expand<Readonly<RemoveFunctionFields<MergeOmit<T, IIn<ExtractIn<T, object | null>>> & MergeOmit<T, IOut<ExtractOut<T>>> & MergeOmit<T, IPath<T extends IPath<infer TPath> ? TPath : Path.IBuilder>> & MergeOmit<T, IQuery<ExtractQuery<T, object>>> & MergeOmit<T, IErrors<ExtractErrors<T>>> & MergeOmit<T, IHeaders<ExtractHeaders<T>>>>>>;
|
|
64
67
|
export {};
|
|
65
68
|
}
|
|
@@ -4,7 +4,7 @@ import type { ApiEndpoint, IEndpointInfo } from '../endpoint.js';
|
|
|
4
4
|
*
|
|
5
5
|
*/
|
|
6
6
|
export interface IEndpointInputContentType {
|
|
7
|
-
/**
|
|
7
|
+
/** Endpoint request content-type, if was specified. */
|
|
8
8
|
readonly contentType?: string;
|
|
9
9
|
/** Marks this endpoint with Content-Type header to be set as 'application/x-www-form-urlencoded'. */
|
|
10
10
|
asUrlEncoded(): this;
|
package/types/api/helpers.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export declare const DefaultSettings: {
|
|
|
4
4
|
basePrefix: string;
|
|
5
5
|
};
|
|
6
6
|
export declare function setDefaults(settings: Partial<typeof DefaultSettings>): void;
|
|
7
|
+
type PrefixOptions = string | boolean;
|
|
7
8
|
export declare function getPath<T extends IEndpointInfo.Base & IEndpointInfo.IPathAbstract>(endpoint: T, pathArgs: IEndpointInfo.ExtractPath<T>, prefix?: string | boolean): string;
|
|
8
|
-
export declare function getTemplate<T extends IEndpointInfo>(endpoint: T, prefix?:
|
|
9
|
+
export declare function getTemplate<T extends IEndpointInfo>(endpoint: T, prefix?: PrefixOptions): string;
|
|
9
10
|
export declare function getFormattedDisplayName(endpoint: IEndpointInfo): string;
|
|
11
|
+
export {};
|
package/types/api/index.d.ts
CHANGED
|
@@ -4,5 +4,6 @@ export type * from './endpoint.types.js';
|
|
|
4
4
|
export { EndpointMethods } from './methods.js';
|
|
5
5
|
export * from './helpers.js';
|
|
6
6
|
export { buildApiCaller } from './call.js';
|
|
7
|
+
export { buildApi, createEndpointCallable } from './builder.js';
|
|
7
8
|
export { registerPostProcessor, registerPreProcessor } from './register.js';
|
|
8
9
|
export { LogTypes } from './logging.js';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { BaseInput, CombineBuilders,
|
|
2
|
-
export * from './types.js';
|
|
1
|
+
import { BaseInput, CombineBuilders, SwitchBuilder } from './types.js';
|
|
2
|
+
export type * from './types.js';
|
|
3
|
+
export type { TemplateTransform } from './types.helpers.js';
|
|
3
4
|
/** Tagged template literal to create a path builder */
|
|
4
5
|
export declare function build<TArgs extends string[]>(strings: TemplateStringsArray, ...params: TArgs): SwitchBuilder<TArgs>;
|
|
5
|
-
export declare const Empty: StaticBuilder;
|
|
6
|
+
export declare const Empty: import("./types.js").StaticBuilder;
|
|
6
7
|
/**
|
|
7
8
|
* For input, use any amount of arguments, each one can be:
|
|
8
9
|
*
|
|
@@ -12,4 +13,4 @@ export declare const Empty: StaticBuilder;
|
|
|
12
13
|
* - manually implementing `Builder<string[]>`
|
|
13
14
|
* - another `construct` call
|
|
14
15
|
*/
|
|
15
|
-
export declare function construct<TArr extends BaseInput[]>(...
|
|
16
|
+
export declare function construct<TArr extends BaseInput[]>(...inputsRaw: TArr): CombineBuilders<TArr>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BaseInput, Builder, StaticBuilder, StaticInput } from './types.js';
|
|
2
|
+
export declare const staticFactory: (strings: readonly string[]) => StaticBuilder;
|
|
3
|
+
export declare function constructStatic(input: StaticInput): StaticBuilder & {
|
|
4
|
+
asOptional?(): never;
|
|
5
|
+
};
|
|
6
|
+
export declare function constructDynamic(strings: TemplateStringsArray, ...paramsRaw: string[]): StaticBuilder | Builder<readonly string[]>;
|
|
7
|
+
export declare function guardIsStatic(value: any): value is StaticInput;
|
|
8
|
+
export declare function normalizeInput(inputs: BaseInput[]): BaseInput[];
|