@skmtc/core 0.0.366 → 0.0.368
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/typescript/FunctionParameter.js +3 -9
- package/esm/typescript/List.d.ts +38 -8
- package/esm/typescript/List.d.ts.map +1 -1
- package/esm/typescript/List.js +59 -4
- package/package.json +1 -1
- package/script/typescript/FunctionParameter.js +3 -9
- package/script/typescript/List.d.ts +38 -8
- package/script/typescript/List.d.ts.map +1 -1
- package/script/typescript/List.js +62 -5
|
@@ -48,7 +48,7 @@ export class FunctionParameter {
|
|
|
48
48
|
.with({ type: 'void' }, () => List.toEmpty())
|
|
49
49
|
.with({ type: 'regular' }, ({ name }) => List.toSingle(name))
|
|
50
50
|
.with({ type: 'destructured' }, ({ typeDefinition }) => {
|
|
51
|
-
return List.
|
|
51
|
+
return List.fromKeys(typeDefinition.value.objectProperties?.properties).toObjectPlain();
|
|
52
52
|
})
|
|
53
53
|
.exhaustive();
|
|
54
54
|
}
|
|
@@ -74,13 +74,7 @@ export class FunctionParameter {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
const toDestructured = (typeDefinition) => {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
.map(value => value.toString())
|
|
80
|
-
.map(value => {
|
|
81
|
-
return isIdentifierName(value)
|
|
82
|
-
? value
|
|
83
|
-
: List.toKeyValue(value, camelCase(value));
|
|
77
|
+
return List.fromKeys(typeDefinition.value.objectProperties?.properties).toObject(key => {
|
|
78
|
+
return isIdentifierName(key) ? key : List.toKeyValue(key, camelCase(key));
|
|
84
79
|
});
|
|
85
|
-
return List.toObject(camelised);
|
|
86
80
|
};
|
package/esm/typescript/List.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { Stringable } from '../dsl/Stringable.js';
|
|
2
|
+
export type ListObject<V extends Stringable> = List<V[], ', ', '{}'>;
|
|
3
|
+
export type ListLines<V extends Stringable> = List<V[], '\n', 'none'>;
|
|
4
|
+
export type ListArray<V extends Stringable> = List<V[], ', ', '[]'>;
|
|
5
|
+
export type ListParams<V extends Stringable> = List<V[], ', ', '()'>;
|
|
6
|
+
export type ListKeyValue<Key extends Stringable, Value extends Stringable> = List<[Key, Value], ': ', 'none'>;
|
|
2
7
|
type BookendsType = '[]' | '{}' | '()' | '<>' | 'none';
|
|
3
8
|
type ConstructorOptions<Separator extends string = ', ', Bookends extends BookendsType = 'none'> = {
|
|
4
9
|
separator?: Separator;
|
|
@@ -47,7 +52,7 @@ export declare class List<Values extends Stringable[] = Stringable[], Separator
|
|
|
47
52
|
* @param record
|
|
48
53
|
* @returns `record` with `undefined` values filtered out
|
|
49
54
|
*/
|
|
50
|
-
static toFilteredRecord: (record: Record<string, undefined | Stringable | Stringable[] | List>) => List<Stringable[],
|
|
55
|
+
static toFilteredRecord: (record: Record<string, undefined | Stringable | Stringable[] | List>) => ListObject<List<[string, Stringable | List<Stringable[], string, BookendsType> | Stringable[]], ": ", "none">>;
|
|
51
56
|
/**
|
|
52
57
|
* Join `key` and `value` using `: ` as separator
|
|
53
58
|
* @param key
|
|
@@ -67,31 +72,39 @@ export declare class List<Values extends Stringable[] = Stringable[], Separator
|
|
|
67
72
|
* @param values
|
|
68
73
|
* @returns `values` joined with `, ` as separator and wrapped in `{` and `}`
|
|
69
74
|
*/
|
|
70
|
-
static toObject: (values: (
|
|
75
|
+
static toObject: <V extends Stringable>(values: (V | undefined)[]) => ListObject<V>;
|
|
71
76
|
/**
|
|
72
77
|
* Join `values` using `, ` as separator and wrap in `[` and `]`
|
|
73
78
|
* @param values
|
|
74
79
|
* @returns `values` joined with `, ` as separator and wrapped in `{` and `}`
|
|
75
80
|
*/
|
|
76
|
-
static toArray: (values: (
|
|
81
|
+
static toArray: <V extends Stringable>(values: (V | undefined)[]) => ListArray<V>;
|
|
77
82
|
/**
|
|
78
83
|
* Join `values` using `, ` as separator and wrap in `(` and `)`
|
|
79
84
|
* @param values
|
|
80
85
|
* @returns `values` joined with `, ` as separator and wrapped in `(` and `)`
|
|
81
86
|
*/
|
|
82
|
-
static toParams: (values: (
|
|
87
|
+
static toParams: <V extends Stringable>(values: (V | undefined)[]) => ListParams<V>;
|
|
83
88
|
/**
|
|
84
89
|
* Join `values` using `\n` as separator without a wrapper
|
|
85
90
|
* @param values
|
|
86
91
|
* @returns `values` joined with `\n` as separator without a wrapper
|
|
87
92
|
*/
|
|
88
|
-
static toLines: (values: (
|
|
93
|
+
static toLines: <V extends Stringable>(values: (V | undefined)[]) => ListLines<V>;
|
|
89
94
|
/**
|
|
90
|
-
* Create a
|
|
95
|
+
* Create a KeyList using the keys of @param record
|
|
96
|
+
* @afdafg
|
|
91
97
|
* @param record
|
|
92
|
-
* @returns
|
|
98
|
+
* @returns KeyList
|
|
93
99
|
*/
|
|
94
|
-
static
|
|
100
|
+
static fromKeys: (record: Record<string, Stringable> | undefined) => KeyList;
|
|
101
|
+
/**
|
|
102
|
+
* Create a EntryList using the entries of @param record
|
|
103
|
+
* @afdafg
|
|
104
|
+
* @param record
|
|
105
|
+
* @returns EntryList
|
|
106
|
+
*/
|
|
107
|
+
static fromEntrys: <T extends Stringable>(record: Record<string, T> | undefined) => EntryList<T>;
|
|
95
108
|
/**
|
|
96
109
|
* Create a keyValue pair if `value` is not undefined and is not an empty array or List.
|
|
97
110
|
* Return `undefined` otherwise.
|
|
@@ -109,5 +122,22 @@ export declare class List<Values extends Stringable[] = Stringable[], Separator
|
|
|
109
122
|
*/
|
|
110
123
|
static hasValue: (value: undefined | Stringable | Stringable[] | List) => value is Stringable | Stringable[] | List;
|
|
111
124
|
}
|
|
125
|
+
type KeyMapFn<V extends Stringable> = (key: string, index: number) => V;
|
|
126
|
+
export declare class KeyList {
|
|
127
|
+
keys: string[];
|
|
128
|
+
constructor(keys: string[]);
|
|
129
|
+
toObject<V extends Stringable>(mapFn: KeyMapFn<V>): ListObject<V>;
|
|
130
|
+
toObjectPlain(): ListObject<string>;
|
|
131
|
+
toLines<V extends Stringable>(mapFn: KeyMapFn<V>): ListLines<V>;
|
|
132
|
+
toLinesPlain(): ListLines<string>;
|
|
133
|
+
}
|
|
134
|
+
type Entry<T extends Stringable> = [key: string, value: T];
|
|
135
|
+
type EntryMapFn<T extends Stringable, V extends Stringable> = (entry: Entry<T>, index: number) => V;
|
|
136
|
+
export declare class EntryList<T extends Stringable> {
|
|
137
|
+
entries: Entry<T>[];
|
|
138
|
+
constructor(entries: Entry<T>[]);
|
|
139
|
+
toObject<V extends Stringable>(mapFn: EntryMapFn<T, V>): ListObject<V>;
|
|
140
|
+
toLines<V extends Stringable>(mapFn: EntryMapFn<T, V>): ListLines<V>;
|
|
141
|
+
}
|
|
112
142
|
export {};
|
|
113
143
|
//# sourceMappingURL=List.d.ts.map
|
|
@@ -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,KAAK,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;AAEtD,KAAK,kBAAkB,CACrB,SAAS,SAAS,MAAM,GAAG,IAAI,EAC/B,QAAQ,SAAS,YAAY,GAAG,MAAM,IACpC;IACF,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,KAAK,gBAAgB,CAAC,OAAO,IAAI,OAAO,SAAS,KAAK,CAAC,MAAM,IAAI,CAAC,GAC9D,IAAI,GACJ,KAAK,CAAA;AAET,KAAK,wBAAwB,CAC3B,KAAK,SAAS,SAAS,GAAG,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,IACxD,KAAK,SAAS,SAAS,GACvB,SAAS,GACT,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AAElE,KAAK,mBAAmB,CACtB,KAAK,SAAS,UAAU,EACxB,SAAS,SAAS,OAAO,IACvB,SAAS,SAAS,IAAI,GACtB,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAC3B,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AAE/B,qBAAa,IAAI,CACf,MAAM,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,EAC1C,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,QAAQ,SAAS,YAAY,GAAG,YAAY;IAE5C,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;gBAEhB,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,EAChD,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAE,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAM;IAQvE,QAAQ,IAAI,MAAM;IAYlB;;;OAGG;IACH,MAAM,CAAC,OAAO,QAAO,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAE7C;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,UAAW,UAAU,KAAG,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAEtE;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,aAAa,GAAI,KAAK,SAAS,UAAU,EAAE,SAAS,SAAS,OAAO,SAClE,KAAK,aACD,SAAS,KACnB,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAI7D;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,WACL,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,KACvD,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAMhC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,WACb,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/typescript/List.ts"],"names":[],"mappings":"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"}
|
package/esm/typescript/List.js
CHANGED
|
@@ -194,16 +194,31 @@ Object.defineProperty(List, "toLines", {
|
|
|
194
194
|
}
|
|
195
195
|
});
|
|
196
196
|
/**
|
|
197
|
-
* Create a
|
|
197
|
+
* Create a KeyList using the keys of @param record
|
|
198
|
+
* @afdafg
|
|
198
199
|
* @param record
|
|
199
|
-
* @returns
|
|
200
|
+
* @returns KeyList
|
|
200
201
|
*/
|
|
201
|
-
Object.defineProperty(List, "
|
|
202
|
+
Object.defineProperty(List, "fromKeys", {
|
|
202
203
|
enumerable: true,
|
|
203
204
|
configurable: true,
|
|
204
205
|
writable: true,
|
|
205
206
|
value: (record) => {
|
|
206
|
-
return new
|
|
207
|
+
return new KeyList(Object.keys(record ?? {}));
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
/**
|
|
211
|
+
* Create a EntryList using the entries of @param record
|
|
212
|
+
* @afdafg
|
|
213
|
+
* @param record
|
|
214
|
+
* @returns EntryList
|
|
215
|
+
*/
|
|
216
|
+
Object.defineProperty(List, "fromEntrys", {
|
|
217
|
+
enumerable: true,
|
|
218
|
+
configurable: true,
|
|
219
|
+
writable: true,
|
|
220
|
+
value: (record) => {
|
|
221
|
+
return new EntryList(Object.entries(record ?? {}));
|
|
207
222
|
}
|
|
208
223
|
});
|
|
209
224
|
/**
|
|
@@ -246,3 +261,43 @@ Object.defineProperty(List, "hasValue", {
|
|
|
246
261
|
return true;
|
|
247
262
|
}
|
|
248
263
|
});
|
|
264
|
+
export class KeyList {
|
|
265
|
+
constructor(keys) {
|
|
266
|
+
Object.defineProperty(this, "keys", {
|
|
267
|
+
enumerable: true,
|
|
268
|
+
configurable: true,
|
|
269
|
+
writable: true,
|
|
270
|
+
value: void 0
|
|
271
|
+
});
|
|
272
|
+
this.keys = keys;
|
|
273
|
+
}
|
|
274
|
+
toObject(mapFn) {
|
|
275
|
+
return List.toObject(this.keys.map((key, index) => mapFn(key, index)));
|
|
276
|
+
}
|
|
277
|
+
toObjectPlain() {
|
|
278
|
+
return List.toObject(this.keys);
|
|
279
|
+
}
|
|
280
|
+
toLines(mapFn) {
|
|
281
|
+
return List.toLines(this.keys.map((key, index) => mapFn(key, index)));
|
|
282
|
+
}
|
|
283
|
+
toLinesPlain() {
|
|
284
|
+
return List.toLines(this.keys);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
export class EntryList {
|
|
288
|
+
constructor(entries) {
|
|
289
|
+
Object.defineProperty(this, "entries", {
|
|
290
|
+
enumerable: true,
|
|
291
|
+
configurable: true,
|
|
292
|
+
writable: true,
|
|
293
|
+
value: void 0
|
|
294
|
+
});
|
|
295
|
+
this.entries = entries;
|
|
296
|
+
}
|
|
297
|
+
toObject(mapFn) {
|
|
298
|
+
return List.toObject(this.entries.map((entry, index) => mapFn(entry, index)));
|
|
299
|
+
}
|
|
300
|
+
toLines(mapFn) {
|
|
301
|
+
return List.toLines(this.entries.map((key, index) => mapFn(key, index)));
|
|
302
|
+
}
|
|
303
|
+
}
|
package/package.json
CHANGED
|
@@ -51,7 +51,7 @@ class FunctionParameter {
|
|
|
51
51
|
.with({ type: 'void' }, () => List_js_1.List.toEmpty())
|
|
52
52
|
.with({ type: 'regular' }, ({ name }) => List_js_1.List.toSingle(name))
|
|
53
53
|
.with({ type: 'destructured' }, ({ typeDefinition }) => {
|
|
54
|
-
return List_js_1.List.
|
|
54
|
+
return List_js_1.List.fromKeys(typeDefinition.value.objectProperties?.properties).toObjectPlain();
|
|
55
55
|
})
|
|
56
56
|
.exhaustive();
|
|
57
57
|
}
|
|
@@ -78,13 +78,7 @@ class FunctionParameter {
|
|
|
78
78
|
}
|
|
79
79
|
exports.FunctionParameter = FunctionParameter;
|
|
80
80
|
const toDestructured = (typeDefinition) => {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
.map(value => value.toString())
|
|
84
|
-
.map(value => {
|
|
85
|
-
return (0, helper_validator_identifier_1.isIdentifierName)(value)
|
|
86
|
-
? value
|
|
87
|
-
: List_js_1.List.toKeyValue(value, (0, lodash_es_1.camelCase)(value));
|
|
81
|
+
return List_js_1.List.fromKeys(typeDefinition.value.objectProperties?.properties).toObject(key => {
|
|
82
|
+
return (0, helper_validator_identifier_1.isIdentifierName)(key) ? key : List_js_1.List.toKeyValue(key, (0, lodash_es_1.camelCase)(key));
|
|
88
83
|
});
|
|
89
|
-
return List_js_1.List.toObject(camelised);
|
|
90
84
|
};
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { Stringable } from '../dsl/Stringable.js';
|
|
2
|
+
export type ListObject<V extends Stringable> = List<V[], ', ', '{}'>;
|
|
3
|
+
export type ListLines<V extends Stringable> = List<V[], '\n', 'none'>;
|
|
4
|
+
export type ListArray<V extends Stringable> = List<V[], ', ', '[]'>;
|
|
5
|
+
export type ListParams<V extends Stringable> = List<V[], ', ', '()'>;
|
|
6
|
+
export type ListKeyValue<Key extends Stringable, Value extends Stringable> = List<[Key, Value], ': ', 'none'>;
|
|
2
7
|
type BookendsType = '[]' | '{}' | '()' | '<>' | 'none';
|
|
3
8
|
type ConstructorOptions<Separator extends string = ', ', Bookends extends BookendsType = 'none'> = {
|
|
4
9
|
separator?: Separator;
|
|
@@ -47,7 +52,7 @@ export declare class List<Values extends Stringable[] = Stringable[], Separator
|
|
|
47
52
|
* @param record
|
|
48
53
|
* @returns `record` with `undefined` values filtered out
|
|
49
54
|
*/
|
|
50
|
-
static toFilteredRecord: (record: Record<string, undefined | Stringable | Stringable[] | List>) => List<Stringable[],
|
|
55
|
+
static toFilteredRecord: (record: Record<string, undefined | Stringable | Stringable[] | List>) => ListObject<List<[string, Stringable | List<Stringable[], string, BookendsType> | Stringable[]], ": ", "none">>;
|
|
51
56
|
/**
|
|
52
57
|
* Join `key` and `value` using `: ` as separator
|
|
53
58
|
* @param key
|
|
@@ -67,31 +72,39 @@ export declare class List<Values extends Stringable[] = Stringable[], Separator
|
|
|
67
72
|
* @param values
|
|
68
73
|
* @returns `values` joined with `, ` as separator and wrapped in `{` and `}`
|
|
69
74
|
*/
|
|
70
|
-
static toObject: (values: (
|
|
75
|
+
static toObject: <V extends Stringable>(values: (V | undefined)[]) => ListObject<V>;
|
|
71
76
|
/**
|
|
72
77
|
* Join `values` using `, ` as separator and wrap in `[` and `]`
|
|
73
78
|
* @param values
|
|
74
79
|
* @returns `values` joined with `, ` as separator and wrapped in `{` and `}`
|
|
75
80
|
*/
|
|
76
|
-
static toArray: (values: (
|
|
81
|
+
static toArray: <V extends Stringable>(values: (V | undefined)[]) => ListArray<V>;
|
|
77
82
|
/**
|
|
78
83
|
* Join `values` using `, ` as separator and wrap in `(` and `)`
|
|
79
84
|
* @param values
|
|
80
85
|
* @returns `values` joined with `, ` as separator and wrapped in `(` and `)`
|
|
81
86
|
*/
|
|
82
|
-
static toParams: (values: (
|
|
87
|
+
static toParams: <V extends Stringable>(values: (V | undefined)[]) => ListParams<V>;
|
|
83
88
|
/**
|
|
84
89
|
* Join `values` using `\n` as separator without a wrapper
|
|
85
90
|
* @param values
|
|
86
91
|
* @returns `values` joined with `\n` as separator without a wrapper
|
|
87
92
|
*/
|
|
88
|
-
static toLines: (values: (
|
|
93
|
+
static toLines: <V extends Stringable>(values: (V | undefined)[]) => ListLines<V>;
|
|
89
94
|
/**
|
|
90
|
-
* Create a
|
|
95
|
+
* Create a KeyList using the keys of @param record
|
|
96
|
+
* @afdafg
|
|
91
97
|
* @param record
|
|
92
|
-
* @returns
|
|
98
|
+
* @returns KeyList
|
|
93
99
|
*/
|
|
94
|
-
static
|
|
100
|
+
static fromKeys: (record: Record<string, Stringable> | undefined) => KeyList;
|
|
101
|
+
/**
|
|
102
|
+
* Create a EntryList using the entries of @param record
|
|
103
|
+
* @afdafg
|
|
104
|
+
* @param record
|
|
105
|
+
* @returns EntryList
|
|
106
|
+
*/
|
|
107
|
+
static fromEntrys: <T extends Stringable>(record: Record<string, T> | undefined) => EntryList<T>;
|
|
95
108
|
/**
|
|
96
109
|
* Create a keyValue pair if `value` is not undefined and is not an empty array or List.
|
|
97
110
|
* Return `undefined` otherwise.
|
|
@@ -109,5 +122,22 @@ export declare class List<Values extends Stringable[] = Stringable[], Separator
|
|
|
109
122
|
*/
|
|
110
123
|
static hasValue: (value: undefined | Stringable | Stringable[] | List) => value is Stringable | Stringable[] | List;
|
|
111
124
|
}
|
|
125
|
+
type KeyMapFn<V extends Stringable> = (key: string, index: number) => V;
|
|
126
|
+
export declare class KeyList {
|
|
127
|
+
keys: string[];
|
|
128
|
+
constructor(keys: string[]);
|
|
129
|
+
toObject<V extends Stringable>(mapFn: KeyMapFn<V>): ListObject<V>;
|
|
130
|
+
toObjectPlain(): ListObject<string>;
|
|
131
|
+
toLines<V extends Stringable>(mapFn: KeyMapFn<V>): ListLines<V>;
|
|
132
|
+
toLinesPlain(): ListLines<string>;
|
|
133
|
+
}
|
|
134
|
+
type Entry<T extends Stringable> = [key: string, value: T];
|
|
135
|
+
type EntryMapFn<T extends Stringable, V extends Stringable> = (entry: Entry<T>, index: number) => V;
|
|
136
|
+
export declare class EntryList<T extends Stringable> {
|
|
137
|
+
entries: Entry<T>[];
|
|
138
|
+
constructor(entries: Entry<T>[]);
|
|
139
|
+
toObject<V extends Stringable>(mapFn: EntryMapFn<T, V>): ListObject<V>;
|
|
140
|
+
toLines<V extends Stringable>(mapFn: EntryMapFn<T, V>): ListLines<V>;
|
|
141
|
+
}
|
|
112
142
|
export {};
|
|
113
143
|
//# sourceMappingURL=List.d.ts.map
|
|
@@ -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,KAAK,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;AAEtD,KAAK,kBAAkB,CACrB,SAAS,SAAS,MAAM,GAAG,IAAI,EAC/B,QAAQ,SAAS,YAAY,GAAG,MAAM,IACpC;IACF,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,KAAK,gBAAgB,CAAC,OAAO,IAAI,OAAO,SAAS,KAAK,CAAC,MAAM,IAAI,CAAC,GAC9D,IAAI,GACJ,KAAK,CAAA;AAET,KAAK,wBAAwB,CAC3B,KAAK,SAAS,SAAS,GAAG,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,IACxD,KAAK,SAAS,SAAS,GACvB,SAAS,GACT,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AAElE,KAAK,mBAAmB,CACtB,KAAK,SAAS,UAAU,EACxB,SAAS,SAAS,OAAO,IACvB,SAAS,SAAS,IAAI,GACtB,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAC3B,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AAE/B,qBAAa,IAAI,CACf,MAAM,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,EAC1C,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,QAAQ,SAAS,YAAY,GAAG,YAAY;IAE5C,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;gBAEhB,MAAM,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,EAChD,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAE,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAM;IAQvE,QAAQ,IAAI,MAAM;IAYlB;;;OAGG;IACH,MAAM,CAAC,OAAO,QAAO,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAE7C;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,UAAW,UAAU,KAAG,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAEtE;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,aAAa,GAAI,KAAK,SAAS,UAAU,EAAE,SAAS,SAAS,OAAO,SAClE,KAAK,aACD,SAAS,KACnB,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAI7D;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,WACL,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,KACvD,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAMhC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,WACb,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/typescript/List.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.List = void 0;
|
|
3
|
+
exports.EntryList = exports.KeyList = exports.List = void 0;
|
|
4
4
|
const ts_pattern_1 = require("ts-pattern");
|
|
5
5
|
class List {
|
|
6
6
|
constructor(values, { separator, bookends } = {}) {
|
|
@@ -198,16 +198,31 @@ Object.defineProperty(List, "toLines", {
|
|
|
198
198
|
}
|
|
199
199
|
});
|
|
200
200
|
/**
|
|
201
|
-
* Create a
|
|
201
|
+
* Create a KeyList using the keys of @param record
|
|
202
|
+
* @afdafg
|
|
202
203
|
* @param record
|
|
203
|
-
* @returns
|
|
204
|
+
* @returns KeyList
|
|
204
205
|
*/
|
|
205
|
-
Object.defineProperty(List, "
|
|
206
|
+
Object.defineProperty(List, "fromKeys", {
|
|
206
207
|
enumerable: true,
|
|
207
208
|
configurable: true,
|
|
208
209
|
writable: true,
|
|
209
210
|
value: (record) => {
|
|
210
|
-
return new
|
|
211
|
+
return new KeyList(Object.keys(record ?? {}));
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
/**
|
|
215
|
+
* Create a EntryList using the entries of @param record
|
|
216
|
+
* @afdafg
|
|
217
|
+
* @param record
|
|
218
|
+
* @returns EntryList
|
|
219
|
+
*/
|
|
220
|
+
Object.defineProperty(List, "fromEntrys", {
|
|
221
|
+
enumerable: true,
|
|
222
|
+
configurable: true,
|
|
223
|
+
writable: true,
|
|
224
|
+
value: (record) => {
|
|
225
|
+
return new EntryList(Object.entries(record ?? {}));
|
|
211
226
|
}
|
|
212
227
|
});
|
|
213
228
|
/**
|
|
@@ -250,3 +265,45 @@ Object.defineProperty(List, "hasValue", {
|
|
|
250
265
|
return true;
|
|
251
266
|
}
|
|
252
267
|
});
|
|
268
|
+
class KeyList {
|
|
269
|
+
constructor(keys) {
|
|
270
|
+
Object.defineProperty(this, "keys", {
|
|
271
|
+
enumerable: true,
|
|
272
|
+
configurable: true,
|
|
273
|
+
writable: true,
|
|
274
|
+
value: void 0
|
|
275
|
+
});
|
|
276
|
+
this.keys = keys;
|
|
277
|
+
}
|
|
278
|
+
toObject(mapFn) {
|
|
279
|
+
return List.toObject(this.keys.map((key, index) => mapFn(key, index)));
|
|
280
|
+
}
|
|
281
|
+
toObjectPlain() {
|
|
282
|
+
return List.toObject(this.keys);
|
|
283
|
+
}
|
|
284
|
+
toLines(mapFn) {
|
|
285
|
+
return List.toLines(this.keys.map((key, index) => mapFn(key, index)));
|
|
286
|
+
}
|
|
287
|
+
toLinesPlain() {
|
|
288
|
+
return List.toLines(this.keys);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
exports.KeyList = KeyList;
|
|
292
|
+
class EntryList {
|
|
293
|
+
constructor(entries) {
|
|
294
|
+
Object.defineProperty(this, "entries", {
|
|
295
|
+
enumerable: true,
|
|
296
|
+
configurable: true,
|
|
297
|
+
writable: true,
|
|
298
|
+
value: void 0
|
|
299
|
+
});
|
|
300
|
+
this.entries = entries;
|
|
301
|
+
}
|
|
302
|
+
toObject(mapFn) {
|
|
303
|
+
return List.toObject(this.entries.map((entry, index) => mapFn(entry, index)));
|
|
304
|
+
}
|
|
305
|
+
toLines(mapFn) {
|
|
306
|
+
return List.toLines(this.entries.map((key, index) => mapFn(key, index)));
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
exports.EntryList = EntryList;
|