@skmtc/core 0.0.781 → 0.0.783
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/esm/app/validate.d.ts +1 -1
- package/esm/app/validate.d.ts.map +1 -1
- package/esm/context/CoreContext.d.ts +177 -8
- package/esm/context/CoreContext.d.ts.map +1 -1
- package/esm/context/CoreContext.js +178 -0
- package/esm/context/ParseContext.d.ts +1 -1
- package/esm/context/ParseContext.d.ts.map +1 -1
- package/esm/context/StackTrail.d.ts +2 -2
- package/esm/context/StackTrail.d.ts.map +1 -1
- package/esm/context/types.d.ts +2 -2
- package/esm/context/types.d.ts.map +1 -1
- package/esm/dsl/ContentBase.d.ts +115 -0
- package/esm/dsl/ContentBase.d.ts.map +1 -1
- package/esm/dsl/ContentBase.js +110 -0
- package/esm/dsl/File.d.ts.map +1 -1
- package/esm/dsl/JsonFile.d.ts.map +1 -1
- package/esm/dsl/model/toModelBase.d.ts +2 -23
- package/esm/dsl/model/toModelBase.d.ts.map +1 -1
- package/esm/dsl/model/toModelEntry.d.ts +5 -5
- package/esm/dsl/model/toModelEntry.d.ts.map +1 -1
- package/esm/dsl/operation/toOperationBase.d.ts +2 -25
- package/esm/dsl/operation/toOperationBase.d.ts.map +1 -1
- package/esm/dsl/operation/toOperationEntry.d.ts +5 -5
- package/esm/dsl/operation/toOperationEntry.d.ts.map +1 -1
- package/esm/helpers/formatNumber.d.ts.map +1 -1
- package/esm/helpers/generationStats.d.ts.map +1 -1
- package/esm/helpers/strings.d.ts +63 -0
- package/esm/helpers/strings.d.ts.map +1 -1
- package/esm/helpers/strings.js +59 -0
- package/esm/helpers/toResolvedArtifactPath.d.ts.map +1 -1
- package/esm/mod.d.ts +66 -0
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +66 -0
- package/esm/oas/document/Document.d.ts +1 -9
- package/esm/oas/document/Document.d.ts.map +1 -1
- package/esm/oas/operation/Operation.d.ts +2 -12
- package/esm/oas/operation/Operation.d.ts.map +1 -1
- package/esm/oas/ref/Ref.d.ts +1 -3
- package/esm/oas/ref/Ref.d.ts.map +1 -1
- package/esm/oas/server/Server.d.ts.map +1 -1
- package/esm/oas/serverVariable/ServerVariable.d.ts.map +1 -1
- package/esm/run/toArtifacts.d.ts +114 -0
- package/esm/run/toArtifacts.d.ts.map +1 -1
- package/esm/run/toArtifacts.js +86 -0
- package/esm/types/DenoJson.d.ts +2 -11
- package/esm/types/DenoJson.d.ts.map +1 -1
- package/esm/types/Enrichments.d.ts +9 -207
- package/esm/types/Enrichments.d.ts.map +1 -1
- package/esm/types/Manifest.d.ts +3 -59
- package/esm/types/Manifest.d.ts.map +1 -1
- package/esm/types/Method.d.ts +11 -2
- package/esm/types/Method.d.ts.map +1 -1
- package/esm/types/Method.js +4 -3
- package/esm/types/ModuleExport.d.ts +1 -4
- package/esm/types/ModuleExport.d.ts.map +1 -1
- package/esm/types/PrettierConfig.d.ts +1 -24
- package/esm/types/PrettierConfig.d.ts.map +1 -1
- package/esm/types/Preview.d.ts +17 -52
- package/esm/types/Preview.d.ts.map +1 -1
- package/esm/types/Preview.js +3 -2
- package/esm/types/Results.d.ts +1 -1
- package/esm/types/Results.d.ts.map +1 -1
- package/esm/types/Settings.d.ts +135 -102
- package/esm/types/Settings.d.ts.map +1 -1
- package/esm/types/Settings.js +3 -0
- package/esm/typescript/List.d.ts +112 -1
- package/esm/typescript/List.d.ts.map +1 -1
- package/esm/typescript/List.js +106 -0
- package/package.json +1 -1
- package/script/app/validate.d.ts +1 -1
- package/script/app/validate.d.ts.map +1 -1
- package/script/context/CoreContext.d.ts +177 -8
- package/script/context/CoreContext.d.ts.map +1 -1
- package/script/context/CoreContext.js +178 -0
- package/script/context/ParseContext.d.ts +1 -1
- package/script/context/ParseContext.d.ts.map +1 -1
- package/script/context/StackTrail.d.ts +2 -2
- package/script/context/StackTrail.d.ts.map +1 -1
- package/script/context/types.d.ts +2 -2
- package/script/context/types.d.ts.map +1 -1
- package/script/dsl/ContentBase.d.ts +115 -0
- package/script/dsl/ContentBase.d.ts.map +1 -1
- package/script/dsl/ContentBase.js +110 -0
- package/script/dsl/File.d.ts.map +1 -1
- package/script/dsl/JsonFile.d.ts.map +1 -1
- package/script/dsl/model/toModelBase.d.ts +2 -23
- package/script/dsl/model/toModelBase.d.ts.map +1 -1
- package/script/dsl/model/toModelEntry.d.ts +5 -5
- package/script/dsl/model/toModelEntry.d.ts.map +1 -1
- package/script/dsl/operation/toOperationBase.d.ts +2 -25
- package/script/dsl/operation/toOperationBase.d.ts.map +1 -1
- package/script/dsl/operation/toOperationEntry.d.ts +5 -5
- package/script/dsl/operation/toOperationEntry.d.ts.map +1 -1
- package/script/helpers/formatNumber.d.ts.map +1 -1
- package/script/helpers/generationStats.d.ts.map +1 -1
- package/script/helpers/strings.d.ts +63 -0
- package/script/helpers/strings.d.ts.map +1 -1
- package/script/helpers/strings.js +59 -0
- package/script/helpers/toResolvedArtifactPath.d.ts.map +1 -1
- package/script/mod.d.ts +66 -0
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +66 -0
- package/script/oas/document/Document.d.ts +1 -9
- package/script/oas/document/Document.d.ts.map +1 -1
- package/script/oas/operation/Operation.d.ts +2 -12
- package/script/oas/operation/Operation.d.ts.map +1 -1
- package/script/oas/ref/Ref.d.ts +1 -3
- package/script/oas/ref/Ref.d.ts.map +1 -1
- package/script/oas/server/Server.d.ts.map +1 -1
- package/script/oas/serverVariable/ServerVariable.d.ts.map +1 -1
- package/script/run/toArtifacts.d.ts +114 -0
- package/script/run/toArtifacts.d.ts.map +1 -1
- package/script/run/toArtifacts.js +86 -0
- package/script/types/DenoJson.d.ts +2 -11
- package/script/types/DenoJson.d.ts.map +1 -1
- package/script/types/Enrichments.d.ts +9 -207
- package/script/types/Enrichments.d.ts.map +1 -1
- package/script/types/Manifest.d.ts +3 -59
- package/script/types/Manifest.d.ts.map +1 -1
- package/script/types/Method.d.ts +11 -2
- package/script/types/Method.d.ts.map +1 -1
- package/script/types/Method.js +4 -3
- package/script/types/ModuleExport.d.ts +1 -4
- package/script/types/ModuleExport.d.ts.map +1 -1
- package/script/types/PrettierConfig.d.ts +1 -24
- package/script/types/PrettierConfig.d.ts.map +1 -1
- package/script/types/Preview.d.ts +17 -52
- package/script/types/Preview.d.ts.map +1 -1
- package/script/types/Preview.js +3 -2
- package/script/types/Results.d.ts +1 -1
- package/script/types/Results.d.ts.map +1 -1
- package/script/types/Settings.d.ts +135 -102
- package/script/types/Settings.d.ts.map +1 -1
- package/script/types/Settings.js +3 -0
- package/script/typescript/List.d.ts +112 -1
- package/script/typescript/List.d.ts.map +1 -1
- package/script/typescript/List.js +106 -0
|
@@ -34,63 +34,28 @@ export type Mapping = {
|
|
|
34
34
|
source: OperationSource | ModelSource;
|
|
35
35
|
};
|
|
36
36
|
export declare const operationSource: v.ObjectSchema<{
|
|
37
|
-
readonly type: v.LiteralSchema<
|
|
37
|
+
readonly type: v.LiteralSchema<'operation', undefined>;
|
|
38
38
|
readonly generatorId: v.StringSchema<undefined>;
|
|
39
39
|
readonly operationPath: v.StringSchema<undefined>;
|
|
40
|
-
readonly operationMethod: v.UnionSchema<[
|
|
40
|
+
readonly operationMethod: v.UnionSchema<[
|
|
41
|
+
v.LiteralSchema<'get', undefined>,
|
|
42
|
+
v.LiteralSchema<'post', undefined>,
|
|
43
|
+
v.LiteralSchema<'put', undefined>,
|
|
44
|
+
v.LiteralSchema<'patch', undefined>,
|
|
45
|
+
v.LiteralSchema<'delete', undefined>,
|
|
46
|
+
v.LiteralSchema<'head', undefined>,
|
|
47
|
+
v.LiteralSchema<'options', undefined>,
|
|
48
|
+
v.LiteralSchema<'trace', undefined>
|
|
49
|
+
], undefined>;
|
|
41
50
|
}, undefined>;
|
|
42
51
|
export declare const modelSource: v.ObjectSchema<{
|
|
43
|
-
readonly type: v.LiteralSchema<
|
|
52
|
+
readonly type: v.LiteralSchema<'model', undefined>;
|
|
44
53
|
readonly generatorId: v.StringSchema<undefined>;
|
|
45
54
|
readonly refName: v.StringSchema<undefined>;
|
|
46
55
|
}, undefined>;
|
|
47
|
-
export declare const previewGroup: v.
|
|
48
|
-
export declare const previewModule: v.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}, undefined>;
|
|
53
|
-
export declare const mappingModule: v.ObjectSchema<{
|
|
54
|
-
readonly name: v.StringSchema<undefined>;
|
|
55
|
-
readonly exportPath: v.StringSchema<undefined>;
|
|
56
|
-
readonly group: v.PicklistSchema<["forms", "tables", "inputs"], undefined>;
|
|
57
|
-
readonly itemType: v.PicklistSchema<["input", "formatter"], undefined>;
|
|
58
|
-
readonly schema: v.StringSchema<undefined>;
|
|
59
|
-
}, undefined>;
|
|
60
|
-
export declare const preview: v.ObjectSchema<{
|
|
61
|
-
readonly module: v.ObjectSchema<{
|
|
62
|
-
readonly name: v.StringSchema<undefined>;
|
|
63
|
-
readonly exportPath: v.StringSchema<undefined>;
|
|
64
|
-
readonly group: v.PicklistSchema<["forms", "tables", "inputs"], undefined>;
|
|
65
|
-
}, undefined>;
|
|
66
|
-
readonly source: v.VariantSchema<"type", [v.ObjectSchema<{
|
|
67
|
-
readonly type: v.LiteralSchema<"operation", undefined>;
|
|
68
|
-
readonly generatorId: v.StringSchema<undefined>;
|
|
69
|
-
readonly operationPath: v.StringSchema<undefined>;
|
|
70
|
-
readonly operationMethod: v.UnionSchema<[v.LiteralSchema<"get", undefined>, v.LiteralSchema<"put", undefined>, v.LiteralSchema<"post", undefined>, v.LiteralSchema<"delete", undefined>, v.LiteralSchema<"options", undefined>, v.LiteralSchema<"head", undefined>, v.LiteralSchema<"patch", undefined>], undefined>;
|
|
71
|
-
}, undefined>, v.ObjectSchema<{
|
|
72
|
-
readonly type: v.LiteralSchema<"model", undefined>;
|
|
73
|
-
readonly generatorId: v.StringSchema<undefined>;
|
|
74
|
-
readonly refName: v.StringSchema<undefined>;
|
|
75
|
-
}, undefined>], undefined>;
|
|
76
|
-
}, undefined>;
|
|
77
|
-
export declare const mapping: v.ObjectSchema<{
|
|
78
|
-
readonly module: v.ObjectSchema<{
|
|
79
|
-
readonly name: v.StringSchema<undefined>;
|
|
80
|
-
readonly exportPath: v.StringSchema<undefined>;
|
|
81
|
-
readonly group: v.PicklistSchema<["forms", "tables", "inputs"], undefined>;
|
|
82
|
-
readonly itemType: v.PicklistSchema<["input", "formatter"], undefined>;
|
|
83
|
-
readonly schema: v.StringSchema<undefined>;
|
|
84
|
-
}, undefined>;
|
|
85
|
-
readonly source: v.VariantSchema<"type", [v.ObjectSchema<{
|
|
86
|
-
readonly type: v.LiteralSchema<"operation", undefined>;
|
|
87
|
-
readonly generatorId: v.StringSchema<undefined>;
|
|
88
|
-
readonly operationPath: v.StringSchema<undefined>;
|
|
89
|
-
readonly operationMethod: v.UnionSchema<[v.LiteralSchema<"get", undefined>, v.LiteralSchema<"put", undefined>, v.LiteralSchema<"post", undefined>, v.LiteralSchema<"delete", undefined>, v.LiteralSchema<"options", undefined>, v.LiteralSchema<"head", undefined>, v.LiteralSchema<"patch", undefined>], undefined>;
|
|
90
|
-
}, undefined>, v.ObjectSchema<{
|
|
91
|
-
readonly type: v.LiteralSchema<"model", undefined>;
|
|
92
|
-
readonly generatorId: v.StringSchema<undefined>;
|
|
93
|
-
readonly refName: v.StringSchema<undefined>;
|
|
94
|
-
}, undefined>], undefined>;
|
|
95
|
-
}, undefined>;
|
|
56
|
+
export declare const previewGroup: v.GenericSchema<PreviewGroup>;
|
|
57
|
+
export declare const previewModule: v.GenericSchema<PreviewModule>;
|
|
58
|
+
export declare const mappingModule: v.GenericSchema<MappingModule>;
|
|
59
|
+
export declare const preview: v.GenericSchema<Preview>;
|
|
60
|
+
export declare const mapping: v.GenericSchema<Mapping>;
|
|
96
61
|
//# sourceMappingURL=Preview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/types/Preview.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,WAAW,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAExD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,YAAY,CAAA;IACnB,QAAQ,EAAE,OAAO,GAAG,WAAW,CAAA;IAC/B,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,aAAa,CAAA;IACrB,MAAM,EAAE,eAAe,GAAG,WAAW,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,aAAa,CAAA;IACrB,MAAM,EAAE,eAAe,GAAG,WAAW,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/types/Preview.ts"],"names":[],"mappings":"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"}
|
package/script/types/Preview.js
CHANGED
|
@@ -61,11 +61,12 @@ exports.mappingModule = v.object({
|
|
|
61
61
|
itemType: v.picklist(['input', 'formatter']),
|
|
62
62
|
schema: v.string()
|
|
63
63
|
});
|
|
64
|
+
const source = v.variant('type', [exports.operationSource, exports.modelSource]);
|
|
64
65
|
exports.preview = v.object({
|
|
65
66
|
module: exports.previewModule,
|
|
66
|
-
source:
|
|
67
|
+
source: source
|
|
67
68
|
});
|
|
68
69
|
exports.mapping = v.object({
|
|
69
70
|
module: exports.mappingModule,
|
|
70
|
-
source:
|
|
71
|
+
source: source
|
|
71
72
|
});
|
|
@@ -2,7 +2,7 @@ import "../_dnt.polyfills.js";
|
|
|
2
2
|
import * as v from 'valibot';
|
|
3
3
|
export type ResultType = 'success' | 'warning' | 'error' | 'skipped' | 'notSupported';
|
|
4
4
|
export type WarningError = 'warning' | 'error';
|
|
5
|
-
export declare const resultType: v.
|
|
5
|
+
export declare const resultType: v.GenericSchema<ResultType>;
|
|
6
6
|
export interface ResultsItem {
|
|
7
7
|
[key: string]: ResultType | ResultsItem | Array<ResultsItem | null>;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Results.d.ts","sourceRoot":"","sources":["../../src/types/Results.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAA;AAErF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAA;AAE9C,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"Results.d.ts","sourceRoot":"","sources":["../../src/types/Results.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAA;AAErF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAA;AAE9C,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAMjD,CAAA;AAEF,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CACpE;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAGpD,CAAA"}
|
|
@@ -2,124 +2,157 @@ import "../_dnt.polyfills.js";
|
|
|
2
2
|
import { type GeneratorEnrichments } from './Enrichments.js';
|
|
3
3
|
import * as v from 'valibot';
|
|
4
4
|
import { type Method } from './Method.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Valibot schema for {@link ModulePackage}.
|
|
7
|
+
*/
|
|
8
|
+
export declare const modulePackage: v.GenericSchema<ModulePackage>;
|
|
9
|
+
/**
|
|
10
|
+
* Configuration for a module package in the generation output.
|
|
11
|
+
*
|
|
12
|
+
* Module packages allow organizing generated code into separate npm packages
|
|
13
|
+
* or modules with custom root paths and naming conventions.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const packages: ModulePackage[] = [
|
|
18
|
+
* {
|
|
19
|
+
* rootPath: './packages/api-client',
|
|
20
|
+
* moduleName: '@myorg/api-client'
|
|
21
|
+
* },
|
|
22
|
+
* {
|
|
23
|
+
* rootPath: './packages/types',
|
|
24
|
+
* moduleName: '@myorg/api-types'
|
|
25
|
+
* }
|
|
26
|
+
* ];
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
9
29
|
export type ModulePackage = {
|
|
30
|
+
/** The root file system path for this package */
|
|
10
31
|
rootPath: string;
|
|
32
|
+
/** Optional module name for package.json or imports */
|
|
11
33
|
moduleName?: string;
|
|
12
34
|
};
|
|
13
|
-
export declare const skipPaths: v.
|
|
14
|
-
export declare const skipOperations: v.
|
|
15
|
-
export declare const skipModels: v.
|
|
16
|
-
export declare const clientSettings: v.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
readonly exportPath: v.StringSchema<undefined>;
|
|
32
|
-
}, undefined>;
|
|
33
|
-
readonly label: v.StringSchema<undefined>;
|
|
34
|
-
}, undefined>, undefined>, undefined>;
|
|
35
|
-
}, undefined>, undefined>;
|
|
36
|
-
readonly form: v.OptionalSchema<v.ObjectSchema<{
|
|
37
|
-
readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
38
|
-
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
39
|
-
readonly fields: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
40
|
-
readonly id: v.StringSchema<undefined>;
|
|
41
|
-
readonly accessorPath: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
42
|
-
readonly input: v.ObjectSchema<{
|
|
43
|
-
readonly exportName: v.StringSchema<undefined>;
|
|
44
|
-
readonly exportPath: v.StringSchema<undefined>;
|
|
45
|
-
}, undefined>;
|
|
46
|
-
readonly label: v.StringSchema<undefined>;
|
|
47
|
-
readonly placeholder: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
48
|
-
}, undefined>, undefined>, undefined>;
|
|
49
|
-
readonly submitLabel: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
50
|
-
}, undefined>, undefined>;
|
|
51
|
-
readonly input: v.OptionalSchema<v.ObjectSchema<{
|
|
52
|
-
readonly id: v.StringSchema<undefined>;
|
|
53
|
-
readonly accessorPath: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
54
|
-
readonly formatter: v.ObjectSchema<{
|
|
55
|
-
readonly exportName: v.StringSchema<undefined>;
|
|
56
|
-
readonly exportPath: v.StringSchema<undefined>;
|
|
57
|
-
}, undefined>;
|
|
58
|
-
}, undefined>, undefined>;
|
|
59
|
-
}, undefined>, undefined>, undefined>, undefined>, undefined>;
|
|
60
|
-
readonly skip: v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.RecordSchema<v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.ArraySchema<v.UnionSchema<[v.LiteralSchema<"get", undefined>, v.LiteralSchema<"put", undefined>, v.LiteralSchema<"post", undefined>, v.LiteralSchema<"delete", undefined>, v.LiteralSchema<"options", undefined>, v.LiteralSchema<"head", undefined>, v.LiteralSchema<"patch", undefined>], undefined>, undefined>, undefined>, undefined>, v.RecordSchema<v.StringSchema<undefined>, v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>, v.StringSchema<undefined>], undefined>, undefined>, undefined>;
|
|
61
|
-
}, undefined>;
|
|
35
|
+
export declare const skipPaths: v.GenericSchema<SkipPaths>;
|
|
36
|
+
export declare const skipOperations: v.GenericSchema<SkipOperations>;
|
|
37
|
+
export declare const skipModels: v.GenericSchema<SkipModels>;
|
|
38
|
+
export declare const clientSettings: v.GenericSchema<ClientSettings>;
|
|
39
|
+
/**
|
|
40
|
+
* Configuration for skipping specific HTTP methods on API paths.
|
|
41
|
+
*
|
|
42
|
+
* Maps path patterns to arrays of HTTP methods that should be excluded
|
|
43
|
+
* from generation.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const skipPaths: SkipPaths = {
|
|
48
|
+
* '/admin/**': ['get', 'post'],
|
|
49
|
+
* '/debug': ['*'] // Skip all methods
|
|
50
|
+
* };
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
62
53
|
export type SkipPaths = Record<string, Method[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Configuration for skipping model generation by generator type.
|
|
56
|
+
*
|
|
57
|
+
* Maps generator keys to arrays of model names that should be excluded.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const skipModels: SkipModels = {
|
|
62
|
+
* 'typescript-models': ['InternalModel', 'DebugInfo'],
|
|
63
|
+
* 'validation': ['TempModel*'] // Supports glob patterns
|
|
64
|
+
* };
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
63
67
|
export type SkipModels = Record<string, string[]>;
|
|
68
|
+
/**
|
|
69
|
+
* Configuration for skipping operation generation by generator type.
|
|
70
|
+
*
|
|
71
|
+
* Maps generator keys to {@link SkipPaths} configurations for excluding
|
|
72
|
+
* specific operations from generation.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const skipOperations: SkipOperations = {
|
|
77
|
+
* 'api-client': {
|
|
78
|
+
* '/internal/**': ['*'],
|
|
79
|
+
* '/admin': ['delete']
|
|
80
|
+
* }
|
|
81
|
+
* };
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
64
84
|
export type SkipOperations = Record<string, SkipPaths>;
|
|
85
|
+
/**
|
|
86
|
+
* Union type representing different skip configurations.
|
|
87
|
+
*
|
|
88
|
+
* Can be either operation-specific skipping, model-specific skipping,
|
|
89
|
+
* or a simple string pattern for broad exclusions.
|
|
90
|
+
*/
|
|
65
91
|
export type Skip = SkipOperations | SkipModels | string;
|
|
92
|
+
/**
|
|
93
|
+
* Main configuration object for SKMTC client settings.
|
|
94
|
+
*
|
|
95
|
+
* Controls various aspects of code generation including output paths,
|
|
96
|
+
* package organization, enrichments, and selective skipping of content.
|
|
97
|
+
*
|
|
98
|
+
* @example Basic configuration
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const settings: ClientSettings = {
|
|
101
|
+
* basePath: './src/generated',
|
|
102
|
+
* skip: [
|
|
103
|
+
* 'InternalModel', // Skip specific model
|
|
104
|
+
* {
|
|
105
|
+
* 'api-client': {
|
|
106
|
+
* '/admin/**': ['*'] // Skip all admin operations
|
|
107
|
+
* }
|
|
108
|
+
* }
|
|
109
|
+
* ]
|
|
110
|
+
* };
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* @example Advanced configuration with packages
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const settings: ClientSettings = {
|
|
116
|
+
* basePath: './generated',
|
|
117
|
+
* packages: [
|
|
118
|
+
* {
|
|
119
|
+
* rootPath: './packages/client',
|
|
120
|
+
* moduleName: '@company/api-client'
|
|
121
|
+
* },
|
|
122
|
+
* {
|
|
123
|
+
* rootPath: './packages/types',
|
|
124
|
+
* moduleName: '@company/api-types'
|
|
125
|
+
* }
|
|
126
|
+
* ],
|
|
127
|
+
* enrichments: {
|
|
128
|
+
* models: customModelEnrichments,
|
|
129
|
+
* operations: customOperationEnrichments
|
|
130
|
+
* },
|
|
131
|
+
* skip: [
|
|
132
|
+
* {
|
|
133
|
+
* 'models': ['Internal*', 'Debug*'],
|
|
134
|
+
* 'operations': {
|
|
135
|
+
* '/health': ['get'],
|
|
136
|
+
* '/metrics/**': ['*']
|
|
137
|
+
* }
|
|
138
|
+
* }
|
|
139
|
+
* ]
|
|
140
|
+
* };
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
66
143
|
export type ClientSettings = {
|
|
144
|
+
/** Base output path for generated files */
|
|
67
145
|
basePath?: string;
|
|
146
|
+
/** Array of module package configurations */
|
|
68
147
|
packages?: ModulePackage[];
|
|
148
|
+
/** Custom enrichments for extending generation */
|
|
69
149
|
enrichments?: GeneratorEnrichments;
|
|
150
|
+
/** Array of skip configurations to exclude content */
|
|
70
151
|
skip?: Skip[];
|
|
71
152
|
};
|
|
72
153
|
export type SkmtcClientConfig = {
|
|
73
154
|
projectKey?: string;
|
|
74
155
|
settings: ClientSettings;
|
|
75
156
|
};
|
|
76
|
-
export declare const skmtcClientConfig: v.
|
|
77
|
-
readonly projectKey: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
78
|
-
readonly settings: v.ObjectSchema<{
|
|
79
|
-
readonly basePath: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
80
|
-
readonly packages: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
81
|
-
readonly rootPath: v.StringSchema<undefined>;
|
|
82
|
-
readonly moduleName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
83
|
-
}, undefined>, undefined>, undefined>;
|
|
84
|
-
readonly enrichments: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.ObjectSchema<{
|
|
85
|
-
readonly table: v.OptionalSchema<v.ObjectSchema<{
|
|
86
|
-
readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
87
|
-
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
88
|
-
readonly columns: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
89
|
-
readonly id: v.StringSchema<undefined>;
|
|
90
|
-
readonly accessorPath: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
91
|
-
readonly formatter: v.ObjectSchema<{
|
|
92
|
-
readonly exportName: v.StringSchema<undefined>;
|
|
93
|
-
readonly exportPath: v.StringSchema<undefined>;
|
|
94
|
-
}, undefined>;
|
|
95
|
-
readonly label: v.StringSchema<undefined>;
|
|
96
|
-
}, undefined>, undefined>, undefined>;
|
|
97
|
-
}, undefined>, undefined>;
|
|
98
|
-
readonly form: v.OptionalSchema<v.ObjectSchema<{
|
|
99
|
-
readonly title: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
100
|
-
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
101
|
-
readonly fields: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
102
|
-
readonly id: v.StringSchema<undefined>;
|
|
103
|
-
readonly accessorPath: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
104
|
-
readonly input: v.ObjectSchema<{
|
|
105
|
-
readonly exportName: v.StringSchema<undefined>;
|
|
106
|
-
readonly exportPath: v.StringSchema<undefined>;
|
|
107
|
-
}, undefined>;
|
|
108
|
-
readonly label: v.StringSchema<undefined>;
|
|
109
|
-
readonly placeholder: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
110
|
-
}, undefined>, undefined>, undefined>;
|
|
111
|
-
readonly submitLabel: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
112
|
-
}, undefined>, undefined>;
|
|
113
|
-
readonly input: v.OptionalSchema<v.ObjectSchema<{
|
|
114
|
-
readonly id: v.StringSchema<undefined>;
|
|
115
|
-
readonly accessorPath: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
116
|
-
readonly formatter: v.ObjectSchema<{
|
|
117
|
-
readonly exportName: v.StringSchema<undefined>;
|
|
118
|
-
readonly exportPath: v.StringSchema<undefined>;
|
|
119
|
-
}, undefined>;
|
|
120
|
-
}, undefined>, undefined>;
|
|
121
|
-
}, undefined>, undefined>, undefined>, undefined>, undefined>;
|
|
122
|
-
readonly skip: v.OptionalSchema<v.ArraySchema<v.UnionSchema<[v.RecordSchema<v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.ArraySchema<v.UnionSchema<[v.LiteralSchema<"get", undefined>, v.LiteralSchema<"put", undefined>, v.LiteralSchema<"post", undefined>, v.LiteralSchema<"delete", undefined>, v.LiteralSchema<"options", undefined>, v.LiteralSchema<"head", undefined>, v.LiteralSchema<"patch", undefined>], undefined>, undefined>, undefined>, undefined>, v.RecordSchema<v.StringSchema<undefined>, v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>, v.StringSchema<undefined>], undefined>, undefined>, undefined>;
|
|
123
|
-
}, undefined>;
|
|
124
|
-
}, undefined>;
|
|
157
|
+
export declare const skmtcClientConfig: v.GenericSchema<SkmtcClientConfig>;
|
|
125
158
|
//# sourceMappingURL=Settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../src/types/Settings.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../src/types/Settings.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAGvD,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAyC,CAAA;AAE1F,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAAmC,CAAA;AAE9F,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAA6C,CAAA;AAIhG,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAKzD,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,IAAI,GAAG,cAAc,GAAG,UAAU,GAAG,MAAM,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;IAC1B,kDAAkD;IAClD,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,sDAAsD;IACtD,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;CACd,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,cAAc,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAG/D,CAAA"}
|
package/script/types/Settings.js
CHANGED
|
@@ -38,6 +38,9 @@ require("../_dnt.polyfills.js");
|
|
|
38
38
|
const Enrichments_js_1 = require("./Enrichments.js");
|
|
39
39
|
const v = __importStar(require("valibot"));
|
|
40
40
|
const Method_js_1 = require("./Method.js");
|
|
41
|
+
/**
|
|
42
|
+
* Valibot schema for {@link ModulePackage}.
|
|
43
|
+
*/
|
|
41
44
|
exports.modulePackage = v.object({
|
|
42
45
|
rootPath: v.string(),
|
|
43
46
|
moduleName: v.optional(v.string())
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import type { Stringable } from '../dsl/Stringable.js';
|
|
2
|
+
/** Type alias for object-style lists with curly braces: `{item1, item2}` */
|
|
2
3
|
export type ListObject<V extends Stringable> = List<V[], ', ', '{}'>;
|
|
4
|
+
/** Type alias for line-separated lists without bookends */
|
|
3
5
|
export type ListLines<V extends Stringable> = List<V[], '\n', 'none'>;
|
|
6
|
+
/** Type alias for array-style lists with square brackets: `[item1, item2]` */
|
|
4
7
|
export type ListArray<V extends Stringable> = List<V[], ', ', '[]'>;
|
|
8
|
+
/** Type alias for parameter-style lists with parentheses: `(param1, param2)` */
|
|
5
9
|
export type ListParams<V extends Stringable> = List<V[], ', ', '()'>;
|
|
10
|
+
/** Options for controlling empty list behavior */
|
|
6
11
|
export type SkipEmptyOption = {
|
|
7
12
|
skipEmpty?: boolean;
|
|
8
13
|
};
|
|
@@ -19,11 +24,117 @@ type ConstructorOptions<Separator extends string = ', ', Bookends extends Booken
|
|
|
19
24
|
type ExtractArrayItem<ArrayOf> = ArrayOf extends Array<infer Item> ? Item : never;
|
|
20
25
|
type ToFilteredKeyValueReturn<Value extends undefined | Stringable | Stringable[] | List> = Value extends undefined ? undefined : List<[string, Stringable | Stringable[] | List], ': ', 'none'>;
|
|
21
26
|
type ToConditionalReturn<Value extends Stringable, Condition extends boolean> = Condition extends true ? List<[Value], ', ', 'none'> : List<never[], ', ', 'none'>;
|
|
27
|
+
/**
|
|
28
|
+
* A powerful utility class for building formatted lists of stringable items.
|
|
29
|
+
*
|
|
30
|
+
* The `List` class is a core component of the SKMTC DSL system, providing type-safe
|
|
31
|
+
* construction of formatted lists with customizable separators and bookends. It's
|
|
32
|
+
* extensively used throughout the codebase for generating code constructs like
|
|
33
|
+
* function parameters, object properties, array literals, and more.
|
|
34
|
+
*
|
|
35
|
+
* ## Type Safety
|
|
36
|
+
*
|
|
37
|
+
* The class uses TypeScript's generic system to provide compile-time guarantees
|
|
38
|
+
* about the list structure, separator, and bookend styles. This enables rich
|
|
39
|
+
* type inference and helps prevent formatting errors.
|
|
40
|
+
*
|
|
41
|
+
* ## Common Patterns
|
|
42
|
+
*
|
|
43
|
+
* - **Objects**: `List.toObject()` creates `{key: value, ...}` structures
|
|
44
|
+
* - **Arrays**: `List.toArray()` creates `[item, item, ...]` structures
|
|
45
|
+
* - **Parameters**: `List.toParams()` creates `(param, param, ...)` structures
|
|
46
|
+
* - **Lines**: `List.toLines()` creates newline-separated content
|
|
47
|
+
*
|
|
48
|
+
* @template Values - Array of stringable values
|
|
49
|
+
* @template Separator - String used to separate items
|
|
50
|
+
* @template Bookends - Style of bookends ('[]', '{}', '()', '<>', 'none')
|
|
51
|
+
*
|
|
52
|
+
* @example Basic usage
|
|
53
|
+
* ```typescript
|
|
54
|
+
* import { List } from '@skmtc/core';
|
|
55
|
+
*
|
|
56
|
+
* // Create a comma-separated list
|
|
57
|
+
* const items = new List(['apple', 'banana', 'cherry']);
|
|
58
|
+
* console.log(items.toString()); // "apple, banana, cherry"
|
|
59
|
+
*
|
|
60
|
+
* // Create an array-style list
|
|
61
|
+
* const array = new List(['a', 'b', 'c'], { bookends: '[]' });
|
|
62
|
+
* console.log(array.toString()); // "[a, b, c]"
|
|
63
|
+
*
|
|
64
|
+
* // Create an object-style list
|
|
65
|
+
* const obj = new List(['x: 1', 'y: 2'], { bookends: '{}' });
|
|
66
|
+
* console.log(obj.toString()); // "{x: 1, y: 2}"
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @example Using type aliases
|
|
70
|
+
* ```typescript
|
|
71
|
+
* // Type-safe array construction
|
|
72
|
+
* const params: ListParams<string> = List.toParams(['id', 'name', 'email']);
|
|
73
|
+
* console.log(params.toString()); // "(id, name, email)"
|
|
74
|
+
*
|
|
75
|
+
* // Object properties with filtering
|
|
76
|
+
* const props = List.toObject(['title', undefined, 'author'], { skipEmpty: true });
|
|
77
|
+
* console.log(props.toString()); // "{title, author}"
|
|
78
|
+
*
|
|
79
|
+
* // Line-separated content
|
|
80
|
+
* const lines = List.toLines(['import React from "react"', 'import { useState } from "react"']);
|
|
81
|
+
* console.log(lines.toString());
|
|
82
|
+
* // import React from "react"
|
|
83
|
+
* // import { useState } from "react"
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* @example Advanced usage with builders
|
|
87
|
+
* ```typescript
|
|
88
|
+
* // Function signature generation
|
|
89
|
+
* const signature = List.toParams([
|
|
90
|
+
* 'id: string',
|
|
91
|
+
* 'options?: RequestOptions',
|
|
92
|
+
* 'callback?: (result: T) => void'
|
|
93
|
+
* ]);
|
|
94
|
+
*
|
|
95
|
+
* // Interface properties
|
|
96
|
+
* const interfaceProps = List.toObject([
|
|
97
|
+
* 'readonly id: string',
|
|
98
|
+
* 'name: string',
|
|
99
|
+
* 'createdAt: Date',
|
|
100
|
+
* 'updatedAt?: Date'
|
|
101
|
+
* ]);
|
|
102
|
+
*
|
|
103
|
+
* console.log(`interface User ${interfaceProps}`);
|
|
104
|
+
* // interface User {readonly id: string, name: string, createdAt: Date, updatedAt?: Date}
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
22
107
|
export declare class List<Values extends Stringable[] = Stringable[], Separator extends string = string, Bookends extends BookendsType = BookendsType> {
|
|
108
|
+
/** The array of values in this list */
|
|
23
109
|
values: ExtractArrayItem<Values>[];
|
|
110
|
+
/** The separator string used between items */
|
|
24
111
|
separator: Separator;
|
|
112
|
+
/** The bookend style for wrapping the list */
|
|
25
113
|
bookends: Bookends;
|
|
114
|
+
/** Whether to skip rendering when the list is empty */
|
|
26
115
|
skipEmpty: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Creates a new List instance.
|
|
118
|
+
*
|
|
119
|
+
* @param values - Array of values (undefined values are automatically filtered out)
|
|
120
|
+
* @param options - Configuration options
|
|
121
|
+
* @param options.separator - String to use between items (default: ', ')
|
|
122
|
+
* @param options.bookends - Style of bookends to wrap the list (default: 'none')
|
|
123
|
+
* @param options.skipEmpty - Whether to return empty string for empty lists (default: false)
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* // Basic list with default comma separator
|
|
128
|
+
* const basic = new List(['a', 'b', 'c']);
|
|
129
|
+
*
|
|
130
|
+
* // Custom separator and bookends
|
|
131
|
+
* const custom = new List(['x', 'y', 'z'], {
|
|
132
|
+
* separator: ' | ',
|
|
133
|
+
* bookends: '[]',
|
|
134
|
+
* skipEmpty: true
|
|
135
|
+
* });
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
27
138
|
constructor(values: (ExtractArrayItem<Values> | undefined)[], { separator, bookends, skipEmpty }?: ConstructorOptions<Separator, Bookends>);
|
|
28
139
|
toString(): string;
|
|
29
140
|
/**
|
|
@@ -60,7 +171,7 @@ export declare class List<Values extends Stringable[] = Stringable[], Separator
|
|
|
60
171
|
* @param record
|
|
61
172
|
* @returns `record` with `undefined` values filtered out
|
|
62
173
|
*/
|
|
63
|
-
static toFilteredRecord: (record: Record<string, undefined | Stringable | Stringable[] | List>) =>
|
|
174
|
+
static toFilteredRecord: (record: Record<string, undefined | Stringable | Stringable[] | List>) => List<Stringable[], ", ", "{}">;
|
|
64
175
|
/**
|
|
65
176
|
* Join `key` and `value` using `: ` as separator
|
|
66
177
|
* @param key
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/typescript/List.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGtD,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,UAAU,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/typescript/List.ts"],"names":[],"mappings":"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"}
|