ts-case-convert 2.2.1 → 2.3.0
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/.gitattributes +0 -22
- package/README.md +53 -3
- package/RELEASE.md +83 -0
- package/lib/caseConvert.d.ts +13 -9
- package/lib/caseConvert.js +35 -17
- package/lib/no-split-numbers.d.ts +7 -0
- package/lib/no-split-numbers.js +13 -0
- package/package.json +53 -33
- package/.changelog.tmp.md +0 -7
- package/CHANGELOG.md +0 -31
package/.gitattributes
CHANGED
|
@@ -1,23 +1 @@
|
|
|
1
|
-
# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
|
2
|
-
|
|
3
1
|
*.snap linguist-generated
|
|
4
|
-
/.eslintrc.json linguist-generated
|
|
5
|
-
/.gitattributes linguist-generated
|
|
6
|
-
/.github/pull_request_template.md linguist-generated
|
|
7
|
-
/.github/workflows/build.yml linguist-generated
|
|
8
|
-
/.github/workflows/pull-request-lint.yml linguist-generated
|
|
9
|
-
/.github/workflows/release.yml linguist-generated
|
|
10
|
-
/.github/workflows/upgrade-main.yml linguist-generated
|
|
11
|
-
/.gitignore linguist-generated
|
|
12
|
-
/.mergify.yml linguist-generated
|
|
13
|
-
/.npmignore linguist-generated
|
|
14
|
-
/.projen/** linguist-generated
|
|
15
|
-
/.projen/deps.json linguist-generated
|
|
16
|
-
/.projen/files.json linguist-generated
|
|
17
|
-
/.projen/tasks.json linguist-generated
|
|
18
|
-
/jest.config.json linguist-generated
|
|
19
|
-
/LICENSE linguist-generated
|
|
20
|
-
/package.json linguist-generated
|
|
21
|
-
/tsconfig.dev.json linguist-generated
|
|
22
|
-
/tsconfig.json linguist-generated
|
|
23
|
-
/yarn.lock linguist-generated
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
</a>
|
|
19
19
|
</p>
|
|
20
20
|
|
|
21
|
-
ts-case-convert
|
|
21
|
+
ts-case-convert is a zero dependency implementation for converting object keys between camelCase, snake_case, PascalCase, and SCREAMING_SNAKE_CASE while preserving TypeScript type information, code completion, and type validation. See tests for detailed conversion tests.
|
|
22
22
|
|
|
23
23
|
## Usage
|
|
24
24
|
|
|
@@ -56,17 +56,67 @@ const snake = objectToSnake({
|
|
|
56
56
|
type CheckSnake = typeof snake.an_array_of_objects[0]['a_b']; // -> 'string'
|
|
57
57
|
const ab: CheckSnake = snake.an_array_of_objects[0]['a_b']; // -> valid
|
|
58
58
|
console.log(snake.an_array_of_objects.a_b); // -> 'ab'
|
|
59
|
+
|
|
60
|
+
const screamingSnake = objectToScreamingSnake({
|
|
61
|
+
helloWorld: 'helloWorld',
|
|
62
|
+
s3Id: 'id',
|
|
63
|
+
nestedObject: {
|
|
64
|
+
apiVersion: 'v1',
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
type CheckScreamingSnake = typeof screamingSnake.NESTED_OBJECT.API_VERSION; // -> 'string'
|
|
69
|
+
console.log(screamingSnake.S3_ID); // -> 'id'
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## No Number Splitting
|
|
73
|
+
|
|
74
|
+
The default snake case conversion splits lowercase letters from following numbers:
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
import { toSnake } from 'ts-case-convert';
|
|
78
|
+
|
|
79
|
+
console.log(toSnake('myItem1')); // -> 'my_item_1'
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Use the `no-split-numbers` import path when numbers should stay attached to the preceding word. It exports the same runtime function and type names as the default entry point.
|
|
83
|
+
|
|
84
|
+
```typescript
|
|
85
|
+
import {
|
|
86
|
+
objectToScreamingSnake,
|
|
87
|
+
objectToSnake,
|
|
88
|
+
toScreamingSnake,
|
|
89
|
+
toSnake,
|
|
90
|
+
} from 'ts-case-convert/no-split-numbers';
|
|
91
|
+
|
|
92
|
+
console.log(toSnake('myItem1')); // -> 'my_item1'
|
|
93
|
+
console.log(toScreamingSnake('myItem1')); // -> 'MY_ITEM1'
|
|
94
|
+
|
|
95
|
+
const output = objectToSnake({
|
|
96
|
+
myItem1: 'value',
|
|
97
|
+
nestedObject: {
|
|
98
|
+
apiVersion2: 'v2',
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
console.log(output.my_item1); // -> 'value'
|
|
103
|
+
|
|
104
|
+
const screaming = objectToScreamingSnake({
|
|
105
|
+
myItem1: 'value',
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
console.log(screaming.MY_ITEM1); // -> 'value'
|
|
59
109
|
```
|
|
60
110
|
|
|
61
111
|
## Run tests
|
|
62
112
|
|
|
63
113
|
```sh
|
|
64
|
-
|
|
114
|
+
pnpm run test
|
|
65
115
|
```
|
|
66
116
|
|
|
67
117
|
## Documentation
|
|
68
118
|
|
|
69
|
-
See [tests](./test/caseConvert.test.ts).
|
|
119
|
+
See [tests](./test/caseConvert.test.ts), [bug regression tests](./test/caseConvert.bugs.test.ts), and [no-split-numbers tests](./test/no-split-numbers.test.ts).
|
|
70
120
|
|
|
71
121
|
## 📝 License
|
|
72
122
|
|
package/RELEASE.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Release
|
|
2
|
+
|
|
3
|
+
## Pre-release
|
|
4
|
+
|
|
5
|
+
fetch latest:
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
git fetch --tags
|
|
9
|
+
git tag --list 'v*' --sort=-version:refname | head -n 5
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
checks:
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
pnpm install
|
|
16
|
+
pnpm run check
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Commit
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
git commit -m "chore: x"
|
|
23
|
+
git commit -m "docs: x"
|
|
24
|
+
git commit -m "fix: x"
|
|
25
|
+
git commit -m "feat: x"
|
|
26
|
+
git commit -m "feat: x" -m "BREAKING CHANGE: x."
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Build
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
pnpm run release
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Verify version:
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
cat dist/version.txt
|
|
39
|
+
cat dist/releasetag.txt
|
|
40
|
+
ls dist/js
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
verify tarball:
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
dist/js/ts-case-convert-$(cat dist/version.txt).tgz
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Publish
|
|
50
|
+
|
|
51
|
+
```sh
|
|
52
|
+
pnpm run publish -- --otp 123_456
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Confirm
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
npm view ts-case-convert version
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Tag and Push
|
|
62
|
+
|
|
63
|
+
```sh
|
|
64
|
+
pnpm run tag
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
```sh
|
|
68
|
+
git push origin main --follow-tags
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Useful Commands
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
pnpm run compile
|
|
75
|
+
pnpm run lint
|
|
76
|
+
pnpm run test
|
|
77
|
+
pnpm run check
|
|
78
|
+
pnpm run build
|
|
79
|
+
pnpm run release
|
|
80
|
+
pnpm run publish -- --otp 123_456
|
|
81
|
+
pnpm run tag
|
|
82
|
+
pnpm run upgrade
|
|
83
|
+
```
|
package/lib/caseConvert.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
export declare function toCamel<T extends string>(term: T): ToCamel<T>;
|
|
2
2
|
export declare function objectToCamel<T extends object>(obj: T): ObjectToCamel<T>;
|
|
3
3
|
export declare function toSnake<T extends string>(term: T): ToSnake<T>;
|
|
4
|
+
export declare function toSnakeNoSplitNumbers<T extends string>(term: T): ToSnake<T, false>;
|
|
4
5
|
export declare function objectToSnake<T extends object>(obj: T): ObjectToSnake<T>;
|
|
6
|
+
export declare function objectToSnakeNoSplitNumbers<T extends object>(obj: T): ObjectToSnake<T, false>;
|
|
5
7
|
export declare function toScreamingSnake<T extends string>(term: T): ToScreamingSnake<T>;
|
|
8
|
+
export declare function toScreamingSnakeNoSplitNumbers<T extends string>(term: T): ToScreamingSnake<T, false>;
|
|
6
9
|
export declare function objectToScreamingSnake<T extends object>(obj: T): ObjectToScreamingSnake<T>;
|
|
10
|
+
export declare function objectToScreamingSnakeNoSplitNumbers<T extends object>(obj: T): ObjectToScreamingSnake<T, false>;
|
|
7
11
|
export declare function toPascal<T extends string>(term: T): ToPascal<T>;
|
|
8
12
|
export declare function objectToPascal<T extends object>(obj: T): ObjectToPascal<T>;
|
|
9
13
|
export type ToCamel<S extends string | number | symbol> = S extends string ? S extends NumericKey ? S : S extends `${infer Head}_${infer Tail}` ? `${ToCamel<Uncapitalize<Head>>}${Capitalize<ToCamel<Tail>>}` : S extends `${infer Head}-${infer Tail}` ? `${ToCamel<Uncapitalize<Head>>}${Capitalize<ToCamel<Tail>>}` : Uncapitalize<S> : never;
|
|
@@ -14,19 +18,19 @@ export type ToPascal<S extends string | number | symbol> = S extends string ? S
|
|
|
14
18
|
export type ObjectToPascal<T extends object | undefined | null> = T extends undefined ? undefined : T extends null ? null : T extends Array<infer ArrayType> ? Array<ConvertArrayItem<ArrayType, 'pascal'>> : T extends Uint8Array ? Uint8Array : T extends Date ? Date : {
|
|
15
19
|
[K in keyof T as ToPascal<K>]: ConvertObjectValue<T[K], 'pascal'>;
|
|
16
20
|
};
|
|
17
|
-
export type ToSnake<S extends string | number | symbol> = S extends string ? S extends NumericKey ? S : S extends `${infer Head}${CapitalChars}${infer Tail}` ? Head extends '' ? Tail extends '' ? Lowercase<S> : S extends `${infer Caps}${Tail}` ? Caps extends CapitalChars ? Tail extends CapitalLetters ? `${Lowercase<Caps>}_${Lowercase<Tail>}` : Tail extends `${CapitalLetters}${string}` ? `${ToSnake<Caps>}_${ToSnake<Tail>}` : `${ToSnake<Caps>}${ToSnake<Tail>}` : never : never : Tail extends '' ? S extends `${Head}${infer Caps}` ? Caps extends CapitalChars ? Head extends Lowercase<Head> ? Caps extends Numbers ? Head extends `${string}${Numbers}` ? never : `${ToSnake<Head>}_${Caps}` : `${ToSnake<Head>}_${ToSnake<Caps>}` : never : never : never : S extends `${Head}${infer Caps}${Tail}` ? Caps extends CapitalChars ? Head extends Lowercase<Head> ? Tail extends CapitalLetters ? `${ToSnake<Head>}_${ToSnake<Caps>}_${Lowercase<Tail>}` : Tail extends `${CapitalLetters}${string}` ? Caps extends Numbers ? `${ToSnake<Head>}${Caps}_${ToSnake<Tail>}` : Head extends Numbers ? never : Head extends `${string}${Numbers}` ? never : `${Head}_${ToSnake<Caps>}_${ToSnake<Tail>}` : Tail extends `${LowercaseLetters}${string}` ? Head extends `${string}${Numbers}` ? `${Head}_${Lowercase<Caps>}${ToSnake<Tail>}` : `${ToSnake<Head>}_${Lowercase<Caps>}${ToSnake<Tail>}` : `${ToSnake<Head>}_${Lowercase<Caps>}${ToSnake<Tail>}` : never : never : never : S : never;
|
|
18
|
-
export type ObjectToSnake<T extends object | undefined | null> = T extends undefined ? undefined : T extends null ? null : T extends Array<infer ArrayType> ? Array<ConvertArrayItem<ArrayType, 'snake'>> : T extends Uint8Array ? Uint8Array : T extends Date ? Date : {
|
|
19
|
-
[K in keyof T as ToSnake<K>]: ConvertObjectValue<T[K], 'snake'>;
|
|
21
|
+
export type ToSnake<S extends string | number | symbol, SplitNumbers extends boolean = true> = S extends string ? S extends NumericKey ? S : S extends `${infer Head}${CapitalChars}${infer Tail}` ? Head extends '' ? Tail extends '' ? Lowercase<S> : S extends `${infer Caps}${Tail}` ? Caps extends CapitalChars ? Tail extends CapitalLetters ? `${Lowercase<Caps>}_${Lowercase<Tail>}` : Tail extends `${CapitalLetters}${string}` ? `${ToSnake<Caps>}_${ToSnake<Tail>}` : `${ToSnake<Caps>}${ToSnake<Tail>}` : never : never : Tail extends '' ? S extends `${Head}${infer Caps}` ? Caps extends CapitalChars ? Head extends Lowercase<Head> ? Caps extends Numbers ? SplitNumbers extends false ? `${ToSnake<Head, SplitNumbers>}${Caps}` : Head extends `${string}${Numbers}` ? never : `${ToSnake<Head, SplitNumbers>}_${Caps}` : `${ToSnake<Head, SplitNumbers>}_${ToSnake<Caps, SplitNumbers>}` : never : never : never : S extends `${Head}${infer Caps}${Tail}` ? Caps extends CapitalChars ? Head extends Lowercase<Head> ? Tail extends CapitalLetters ? `${ToSnake<Head, SplitNumbers>}_${ToSnake<Caps, SplitNumbers>}_${Lowercase<Tail>}` : Tail extends `${CapitalLetters}${string}` ? Caps extends Numbers ? `${ToSnake<Head, SplitNumbers>}${Caps}_${ToSnake<Tail, SplitNumbers>}` : Head extends Numbers ? never : Head extends `${string}${Numbers}` ? never : `${Head}_${ToSnake<Caps, SplitNumbers>}_${ToSnake<Tail, SplitNumbers>}` : Tail extends `${LowercaseLetters}${string}` ? Head extends `${string}${Numbers}` ? `${Head}_${Lowercase<Caps>}${ToSnake<Tail, SplitNumbers>}` : `${ToSnake<Head, SplitNumbers>}_${Lowercase<Caps>}${ToSnake<Tail, SplitNumbers>}` : `${ToSnake<Head, SplitNumbers>}_${Lowercase<Caps>}${ToSnake<Tail, SplitNumbers>}` : never : never : never : S : never;
|
|
22
|
+
export type ObjectToSnake<T extends object | undefined | null, SplitNumbers extends boolean = true> = T extends undefined ? undefined : T extends null ? null : T extends Array<infer ArrayType> ? Array<ConvertArrayItem<ArrayType, 'snake', SplitNumbers>> : T extends Uint8Array ? Uint8Array : T extends Date ? Date : {
|
|
23
|
+
[K in keyof T as ToSnake<K, SplitNumbers>]: ConvertObjectValue<T[K], 'snake', SplitNumbers>;
|
|
20
24
|
};
|
|
21
|
-
export type ToScreamingSnake<S extends string | number | symbol> = Uppercase<ToSnake<S>>;
|
|
22
|
-
export type ObjectToScreamingSnake<T extends object | undefined | null> = T extends undefined ? undefined : T extends null ? null : T extends Array<infer ArrayType> ? Array<ConvertArrayItem<ArrayType, 'screamingSnake'>> : T extends Uint8Array ? Uint8Array : T extends Date ? Date : {
|
|
23
|
-
[K in keyof T as ToScreamingSnake<K>]: ConvertObjectValue<T[K], 'screamingSnake'>;
|
|
25
|
+
export type ToScreamingSnake<S extends string | number | symbol, SplitNumbers extends boolean = true> = Uppercase<ToSnake<S, SplitNumbers>>;
|
|
26
|
+
export type ObjectToScreamingSnake<T extends object | undefined | null, SplitNumbers extends boolean = true> = T extends undefined ? undefined : T extends null ? null : T extends Array<infer ArrayType> ? Array<ConvertArrayItem<ArrayType, 'screamingSnake', SplitNumbers>> : T extends Uint8Array ? Uint8Array : T extends Date ? Date : {
|
|
27
|
+
[K in keyof T as ToScreamingSnake<K, SplitNumbers>]: ConvertObjectValue<T[K], 'screamingSnake', SplitNumbers>;
|
|
24
28
|
};
|
|
25
29
|
type CaseMode = 'camel' | 'pascal' | 'snake' | 'screamingSnake';
|
|
26
30
|
type NumericKey = `${number}`;
|
|
27
|
-
type Convert<T extends object | undefined | null, Mode extends CaseMode> = Mode extends 'camel' ? ObjectToCamel<T> : Mode extends 'pascal' ? ObjectToPascal<T> : Mode extends 'snake' ? ObjectToSnake<T> : ObjectToScreamingSnake<T>;
|
|
28
|
-
type ConvertArrayItem<T, Mode extends CaseMode> = T extends object ? Convert<T, Mode> : T;
|
|
29
|
-
type ConvertObjectValue<T, Mode extends CaseMode> = T extends Array<infer ArrayType> ? Array<ConvertArrayItem<ArrayType, Mode>> : T extends object | undefined | null ? Convert<T, Mode> : T;
|
|
31
|
+
type Convert<T extends object | undefined | null, Mode extends CaseMode, SplitNumbers extends boolean> = Mode extends 'camel' ? ObjectToCamel<T> : Mode extends 'pascal' ? ObjectToPascal<T> : Mode extends 'snake' ? ObjectToSnake<T, SplitNumbers> : ObjectToScreamingSnake<T, SplitNumbers>;
|
|
32
|
+
type ConvertArrayItem<T, Mode extends CaseMode, SplitNumbers extends boolean = true> = T extends object ? Convert<T, Mode, SplitNumbers> : T;
|
|
33
|
+
type ConvertObjectValue<T, Mode extends CaseMode, SplitNumbers extends boolean = true> = T extends Array<infer ArrayType> ? Array<ConvertArrayItem<ArrayType, Mode, SplitNumbers>> : T extends object | undefined | null ? Convert<T, Mode, SplitNumbers> : T;
|
|
30
34
|
type CapitalLetters = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z';
|
|
31
35
|
type LowercaseLetters = 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z';
|
|
32
36
|
type Numbers = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';
|
package/lib/caseConvert.js
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.toCamel = toCamel;
|
|
4
|
+
exports.objectToCamel = objectToCamel;
|
|
5
|
+
exports.toSnake = toSnake;
|
|
6
|
+
exports.toSnakeNoSplitNumbers = toSnakeNoSplitNumbers;
|
|
7
|
+
exports.objectToSnake = objectToSnake;
|
|
8
|
+
exports.objectToSnakeNoSplitNumbers = objectToSnakeNoSplitNumbers;
|
|
9
|
+
exports.toScreamingSnake = toScreamingSnake;
|
|
10
|
+
exports.toScreamingSnakeNoSplitNumbers = toScreamingSnakeNoSplitNumbers;
|
|
11
|
+
exports.objectToScreamingSnake = objectToScreamingSnake;
|
|
12
|
+
exports.objectToScreamingSnakeNoSplitNumbers = objectToScreamingSnakeNoSplitNumbers;
|
|
13
|
+
exports.toPascal = toPascal;
|
|
14
|
+
exports.objectToPascal = objectToPascal;
|
|
4
15
|
function convertObject(obj, keyConverter) {
|
|
5
16
|
if (obj === null || typeof obj === 'undefined' || typeof obj !== 'object') {
|
|
6
17
|
return obj;
|
|
7
18
|
}
|
|
8
19
|
const out = (Array.isArray(obj) ? [] : {});
|
|
9
20
|
for (const [k, v] of Object.entries(obj)) {
|
|
10
|
-
// eslint-disable-next-line
|
|
11
21
|
// @ts-ignore
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
13
22
|
out[keyConverter(k)] = Array.isArray(v)
|
|
14
23
|
? v.map((item) => typeof item === 'object' &&
|
|
15
24
|
!(item instanceof Uint8Array) &&
|
|
@@ -34,22 +43,22 @@ function toCamel(term) {
|
|
|
34
43
|
.replace(/^([A-Z])/, (m) => m[0].toLowerCase())
|
|
35
44
|
.replace(/[_-]([a-z0-9])/g, (m) => m[1].toUpperCase()));
|
|
36
45
|
}
|
|
37
|
-
exports.toCamel = toCamel;
|
|
38
46
|
function objectToCamel(obj) {
|
|
39
47
|
return convertObject(obj, toCamel);
|
|
40
48
|
}
|
|
41
|
-
|
|
42
|
-
function toSnake(term) {
|
|
49
|
+
function toSnakeWithSplitNumbers(term, splitNumbers) {
|
|
43
50
|
var _a, _b;
|
|
44
51
|
if (isNumericKey(term)) {
|
|
45
52
|
return term;
|
|
46
53
|
}
|
|
47
54
|
let result = term;
|
|
48
55
|
let circuitBreaker = 0;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
if (splitNumbers) {
|
|
57
|
+
while ((((_a = /([a-z])([0-9])(?![A-Z][a-z])/.exec(result)) === null || _a === void 0 ? void 0 : _a.length) || 0) > 2 &&
|
|
58
|
+
circuitBreaker < 10) {
|
|
59
|
+
result = result.replace(/([a-z])([0-9])(?![A-Z][a-z])/, (_all, $1, $2) => `${$1.toLowerCase()}_${$2.toLowerCase()}`);
|
|
60
|
+
circuitBreaker += 1;
|
|
61
|
+
}
|
|
53
62
|
}
|
|
54
63
|
while ((((_b = /(.+?)([A-Z])/.exec(result)) === null || _b === void 0 ? void 0 : _b.length) || 0) > 2 &&
|
|
55
64
|
circuitBreaker < 10) {
|
|
@@ -58,31 +67,40 @@ function toSnake(term) {
|
|
|
58
67
|
}
|
|
59
68
|
return result.toLowerCase();
|
|
60
69
|
}
|
|
61
|
-
|
|
70
|
+
function toSnake(term) {
|
|
71
|
+
return toSnakeWithSplitNumbers(term, true);
|
|
72
|
+
}
|
|
73
|
+
function toSnakeNoSplitNumbers(term) {
|
|
74
|
+
return toSnakeWithSplitNumbers(term, false);
|
|
75
|
+
}
|
|
62
76
|
function objectToSnake(obj) {
|
|
63
77
|
return convertObject(obj, toSnake);
|
|
64
78
|
}
|
|
65
|
-
|
|
79
|
+
function objectToSnakeNoSplitNumbers(obj) {
|
|
80
|
+
return convertObject(obj, toSnakeNoSplitNumbers);
|
|
81
|
+
}
|
|
66
82
|
function toScreamingSnake(term) {
|
|
67
83
|
return toSnake(term).toUpperCase();
|
|
68
84
|
}
|
|
69
|
-
|
|
85
|
+
function toScreamingSnakeNoSplitNumbers(term) {
|
|
86
|
+
return toSnakeNoSplitNumbers(term).toUpperCase();
|
|
87
|
+
}
|
|
70
88
|
function objectToScreamingSnake(obj) {
|
|
71
89
|
return convertObject(obj, toScreamingSnake);
|
|
72
90
|
}
|
|
73
|
-
|
|
91
|
+
function objectToScreamingSnakeNoSplitNumbers(obj) {
|
|
92
|
+
return convertObject(obj, toScreamingSnakeNoSplitNumbers);
|
|
93
|
+
}
|
|
74
94
|
function toPascal(term) {
|
|
75
95
|
if (isNumericKey(term)) {
|
|
76
96
|
return term;
|
|
77
97
|
}
|
|
78
98
|
return toCamel(term).replace(/^([a-z])/, (m) => m[0].toUpperCase());
|
|
79
99
|
}
|
|
80
|
-
exports.toPascal = toPascal;
|
|
81
100
|
function objectToPascal(obj) {
|
|
82
101
|
return convertObject(obj, toPascal);
|
|
83
102
|
}
|
|
84
|
-
exports.objectToPascal = objectToPascal;
|
|
85
103
|
function isNumericKey(term) {
|
|
86
104
|
return /^-?\d+(?:\.\d+)?$/.test(term);
|
|
87
105
|
}
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZUNvbnZlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2FzZUNvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBUyxhQUFhLENBT3BCLEdBQVcsRUFBRSxZQUFxQztJQUNsRCxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBTyxHQUFHLEtBQUssV0FBVyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUN6RSxPQUFPLEdBQUcsQ0FBQztLQUNaO0lBRUQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBWSxDQUFDO0lBQ3RELEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3hDLDJCQUEyQjtRQUMzQixhQUFhO1FBQ2IsbUVBQW1FO1FBQ25FLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUEyQixJQUFlLEVBQUUsRUFBRSxDQUNuRCxPQUFPLElBQUksS0FBSyxRQUFRO2dCQUN4QixDQUFDLENBQUMsSUFBSSxZQUFZLFVBQVUsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLElBQUksWUFBWSxJQUFJLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQyxhQUFhLENBU1gsSUFBSSxFQUFFLFlBQVksQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLElBQUksQ0FDSztZQUNqQixDQUFDLENBQUMsQ0FBQyxZQUFZLFVBQVUsSUFBSSxDQUFDLFlBQVksSUFBSTtnQkFDOUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVE7b0JB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QixPQUFPLElBQW1CLENBQUM7S0FDNUI7SUFFRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUNKLENBQUM7QUFDbkIsQ0FBQztBQVJELDRCQVFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFtQixHQUFNO0lBQ3JELE9BQU8sYUFBYSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRkQsd0NBRUM7QUF3S0QsU0FBUyxZQUFZLENBQUMsSUFBWTtJQUNoQyxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gY29udmVydE9iamVjdDxcbiAgVElucHV0IGV4dGVuZHMgb2JqZWN0LFxuICBUUmVzdWx0IGV4dGVuZHNcbiAgICB8IE9iamVjdFRvQ2FtZWw8VElucHV0PlxuICAgIHwgT2JqZWN0VG9TbmFrZTxUSW5wdXQ+XG4gICAgfCBPYmplY3RUb1NjcmVhbWluZ1NuYWtlPFRJbnB1dD5cbiAgICB8IE9iamVjdFRvUGFzY2FsPFRJbnB1dD4sXG4+KG9iajogVElucHV0LCBrZXlDb252ZXJ0ZXI6IChhcmc6IHN0cmluZykgPT4gc3RyaW5nKTogVFJlc3VsdCB7XG4gIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgY29uc3Qgb3V0ID0gKEFycmF5LmlzQXJyYXkob2JqKSA/IFtdIDoge30pIGFzIFRSZXN1bHQ7XG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxuICAgIG91dFtrZXlDb252ZXJ0ZXIoayldID0gQXJyYXkuaXNBcnJheSh2KVxuICAgICAgPyAodi5tYXAoPEFycmF5SXRlbSBleHRlbmRzIG9iamVjdD4oaXRlbTogQXJyYXlJdGVtKSA9PlxuICAgICAgICAgIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICEoaXRlbSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpICYmXG4gICAgICAgICAgIShpdGVtIGluc3RhbmNlb2YgRGF0ZSlcbiAgICAgICAgICAgID8gY29udmVydE9iamVjdDxcbiAgICAgICAgICAgICAgICBBcnJheUl0ZW0sXG4gICAgICAgICAgICAgICAgVFJlc3VsdCBleHRlbmRzIE9iamVjdFRvQ2FtZWw8VElucHV0PlxuICAgICAgICAgICAgICAgICAgPyBPYmplY3RUb0NhbWVsPEFycmF5SXRlbT5cbiAgICAgICAgICAgICAgICAgIDogVFJlc3VsdCBleHRlbmRzIE9iamVjdFRvUGFzY2FsPFRJbnB1dD5cbiAgICAgICAgICAgICAgICAgID8gT2JqZWN0VG9QYXNjYWw8QXJyYXlJdGVtPlxuICAgICAgICAgICAgICAgICAgOiBUUmVzdWx0IGV4dGVuZHMgT2JqZWN0VG9TY3JlYW1pbmdTbmFrZTxUSW5wdXQ+XG4gICAgICAgICAgICAgICAgICA/IE9iamVjdFRvU2NyZWFtaW5nU25ha2U8QXJyYXlJdGVtPlxuICAgICAgICAgICAgICAgICAgOiBPYmplY3RUb1NuYWtlPEFycmF5SXRlbT5cbiAgICAgICAgICAgICAgPihpdGVtLCBrZXlDb252ZXJ0ZXIpXG4gICAgICAgICAgICA6IGl0ZW0sXG4gICAgICAgICkgYXMgdW5rbm93bltdKVxuICAgICAgOiB2IGluc3RhbmNlb2YgVWludDhBcnJheSB8fCB2IGluc3RhbmNlb2YgRGF0ZVxuICAgICAgPyB2XG4gICAgICA6IHR5cGVvZiB2ID09PSAnb2JqZWN0J1xuICAgICAgPyBjb252ZXJ0T2JqZWN0PFxuICAgICAgICAgIHR5cGVvZiB2LFxuICAgICAgICAgIFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb0NhbWVsPFRJbnB1dD5cbiAgICAgICAgICAgID8gT2JqZWN0VG9DYW1lbDx0eXBlb2Ygdj5cbiAgICAgICAgICAgIDogVFJlc3VsdCBleHRlbmRzIE9iamVjdFRvUGFzY2FsPFRJbnB1dD5cbiAgICAgICAgICAgID8gT2JqZWN0VG9QYXNjYWw8dHlwZW9mIHY+XG4gICAgICAgICAgICA6IFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb1NjcmVhbWluZ1NuYWtlPFRJbnB1dD5cbiAgICAgICAgICAgID8gT2JqZWN0VG9TY3JlYW1pbmdTbmFrZTx0eXBlb2Ygdj5cbiAgICAgICAgICAgIDogT2JqZWN0VG9TbmFrZTx0eXBlb2Ygdj5cbiAgICAgICAgPih2LCBrZXlDb252ZXJ0ZXIpXG4gICAgICA6ICh2IGFzIHVua25vd24pO1xuICB9XG4gIHJldHVybiBvdXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0NhbWVsPFQgZXh0ZW5kcyBzdHJpbmc+KHRlcm06IFQpOiBUb0NhbWVsPFQ+IHtcbiAgaWYgKGlzTnVtZXJpY0tleSh0ZXJtKSkge1xuICAgIHJldHVybiB0ZXJtIGFzIFRvQ2FtZWw8VD47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIHRlcm0ubGVuZ3RoID09PSAxXG4gICAgICA/IHRlcm0udG9Mb3dlckNhc2UoKVxuICAgICAgOiB0ZXJtXG4gICAgICAgICAgLnJlcGxhY2UoL14oW0EtWl0pLywgKG0pID0+IG1bMF0udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAucmVwbGFjZSgvW18tXShbYS16MC05XSkvZywgKG0pID0+IG1bMV0udG9VcHBlckNhc2UoKSlcbiAgKSBhcyBUb0NhbWVsPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9DYW1lbDxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb0NhbWVsPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b0NhbWVsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU25ha2U8VCBleHRlbmRzIHN0cmluZz4odGVybTogVCk6IFRvU25ha2U8VD4ge1xuICBpZiAoaXNOdW1lcmljS2V5KHRlcm0pKSB7XG4gICAgcmV0dXJuIHRlcm0gYXMgVG9TbmFrZTxUPjtcbiAgfVxuXG4gIGxldCByZXN1bHQ6IHN0cmluZyA9IHRlcm07XG4gIGxldCBjaXJjdWl0QnJlYWtlciA9IDA7XG5cbiAgd2hpbGUgKFxuICAgICgvKFthLXpdKShbMC05XSkoPyFbQS1aXVthLXpdKS8uZXhlYyhyZXN1bHQpPy5sZW5ndGggfHwgMCkgPiAyICYmXG4gICAgY2lyY3VpdEJyZWFrZXIgPCAxMFxuICApIHtcbiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShcbiAgICAgIC8oW2Etel0pKFswLTldKSg/IVtBLVpdW2Etel0pLyxcbiAgICAgIChfYWxsLCAkMTogc3RyaW5nLCAkMjogc3RyaW5nKSA9PlxuICAgICAgICBgJHskMS50b0xvd2VyQ2FzZSgpfV8keyQyLnRvTG93ZXJDYXNlKCl9YCxcbiAgICApO1xuXG4gICAgY2lyY3VpdEJyZWFrZXIgKz0gMTtcbiAgfVxuXG4gIHdoaWxlIChcbiAgICAoLyguKz8pKFtBLVpdKS8uZXhlYyhyZXN1bHQpPy5sZW5ndGggfHwgMCkgPiAyICYmXG4gICAgY2lyY3VpdEJyZWFrZXIgPCAxMFxuICApIHtcbiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShcbiAgICAgIC8oLis/KShbQS1aXSkvLFxuICAgICAgKF9hbGwsICQxOiBzdHJpbmcsICQyOiBzdHJpbmcpID0+XG4gICAgICAgIGAkeyQxLnRvTG93ZXJDYXNlKCl9XyR7JDIudG9Mb3dlckNhc2UoKX1gLFxuICAgICk7XG4gICAgY2lyY3VpdEJyZWFrZXIgKz0gMTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKSBhcyBUb1NuYWtlPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9TbmFrZTxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb1NuYWtlPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b1NuYWtlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU2NyZWFtaW5nU25ha2U8VCBleHRlbmRzIHN0cmluZz4oXG4gIHRlcm06IFQsXG4pOiBUb1NjcmVhbWluZ1NuYWtlPFQ+IHtcbiAgcmV0dXJuIHRvU25ha2UodGVybSkudG9VcHBlckNhc2UoKSBhcyBUb1NjcmVhbWluZ1NuYWtlPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9TY3JlYW1pbmdTbmFrZTxUIGV4dGVuZHMgb2JqZWN0PihcbiAgb2JqOiBULFxuKTogT2JqZWN0VG9TY3JlYW1pbmdTbmFrZTxUPiB7XG4gIHJldHVybiBjb252ZXJ0T2JqZWN0KG9iaiwgdG9TY3JlYW1pbmdTbmFrZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1Bhc2NhbDxUIGV4dGVuZHMgc3RyaW5nPih0ZXJtOiBUKTogVG9QYXNjYWw8VD4ge1xuICBpZiAoaXNOdW1lcmljS2V5KHRlcm0pKSB7XG4gICAgcmV0dXJuIHRlcm0gYXMgVG9QYXNjYWw8VD47XG4gIH1cblxuICByZXR1cm4gdG9DYW1lbCh0ZXJtKS5yZXBsYWNlKC9eKFthLXpdKS8sIChtKSA9PlxuICAgIG1bMF0udG9VcHBlckNhc2UoKSxcbiAgKSBhcyBUb1Bhc2NhbDxUPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9iamVjdFRvUGFzY2FsPFQgZXh0ZW5kcyBvYmplY3Q+KG9iajogVCk6IE9iamVjdFRvUGFzY2FsPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b1Bhc2NhbCk7XG59XG5cbmV4cG9ydCB0eXBlIFRvQ2FtZWw8UyBleHRlbmRzIHN0cmluZyB8IG51bWJlciB8IHN5bWJvbD4gPSBTIGV4dGVuZHMgc3RyaW5nXG4gID8gUyBleHRlbmRzIE51bWVyaWNLZXlcbiAgICA/IFNcbiAgICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBIZWFkfV8ke2luZmVyIFRhaWx9YFxuICAgID8gYCR7VG9DYW1lbDxVbmNhcGl0YWxpemU8SGVhZD4+fSR7Q2FwaXRhbGl6ZTxUb0NhbWVsPFRhaWw+Pn1gXG4gICAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH0tJHtpbmZlciBUYWlsfWBcbiAgICA/IGAke1RvQ2FtZWw8VW5jYXBpdGFsaXplPEhlYWQ+Pn0ke0NhcGl0YWxpemU8VG9DYW1lbDxUYWlsPj59YFxuICAgIDogVW5jYXBpdGFsaXplPFM+XG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIE9iamVjdFRvQ2FtZWw8VCBleHRlbmRzIG9iamVjdCB8IHVuZGVmaW5lZCB8IG51bGw+ID1cbiAgVCBleHRlbmRzIHVuZGVmaW5lZFxuICAgID8gdW5kZWZpbmVkXG4gICAgOiBUIGV4dGVuZHMgbnVsbFxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIEFycmF5PGluZmVyIEFycmF5VHlwZT5cbiAgICA/IEFycmF5PENvbnZlcnRBcnJheUl0ZW08QXJyYXlUeXBlLCAnY2FtZWwnPj5cbiAgICA6IFQgZXh0ZW5kcyBVaW50OEFycmF5XG4gICAgPyBVaW50OEFycmF5XG4gICAgOiBUIGV4dGVuZHMgRGF0ZVxuICAgID8gRGF0ZVxuICAgIDoge1xuICAgICAgICBbSyBpbiBrZXlvZiBUIGFzIFRvQ2FtZWw8Sz5dOiBDb252ZXJ0T2JqZWN0VmFsdWU8VFtLXSwgJ2NhbWVsJz47XG4gICAgICB9O1xuXG5leHBvcnQgdHlwZSBUb1Bhc2NhbDxTIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sPiA9IFMgZXh0ZW5kcyBzdHJpbmdcbiAgPyBTIGV4dGVuZHMgTnVtZXJpY0tleVxuICAgID8gU1xuICAgIDogUyBleHRlbmRzIGAke2luZmVyIEhlYWR9XyR7aW5mZXIgVGFpbH1gXG4gICAgPyBgJHtDYXBpdGFsaXplPFRvQ2FtZWw8SGVhZD4+fSR7Q2FwaXRhbGl6ZTxUb0NhbWVsPFRhaWw+Pn1gXG4gICAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH0tJHtpbmZlciBUYWlsfWBcbiAgICA/IGAke0NhcGl0YWxpemU8VG9DYW1lbDxIZWFkPj59JHtDYXBpdGFsaXplPFRvQ2FtZWw8VGFpbD4+fWBcbiAgICA6IENhcGl0YWxpemU8Uz5cbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgT2JqZWN0VG9QYXNjYWw8VCBleHRlbmRzIG9iamVjdCB8IHVuZGVmaW5lZCB8IG51bGw+ID1cbiAgVCBleHRlbmRzIHVuZGVmaW5lZFxuICAgID8gdW5kZWZpbmVkXG4gICAgOiBUIGV4dGVuZHMgbnVsbFxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIEFycmF5PGluZmVyIEFycmF5VHlwZT5cbiAgICA/IEFycmF5PENvbnZlcnRBcnJheUl0ZW08QXJyYXlUeXBlLCAncGFzY2FsJz4+XG4gICAgOiBUIGV4dGVuZHMgVWludDhBcnJheVxuICAgID8gVWludDhBcnJheVxuICAgIDogVCBleHRlbmRzIERhdGVcbiAgICA/IERhdGVcbiAgICA6IHtcbiAgICAgICAgW0sgaW4ga2V5b2YgVCBhcyBUb1Bhc2NhbDxLPl06IENvbnZlcnRPYmplY3RWYWx1ZTxUW0tdLCAncGFzY2FsJz47XG4gICAgICB9O1xuXG5leHBvcnQgdHlwZSBUb1NuYWtlPFMgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2w+ID0gUyBleHRlbmRzIHN0cmluZ1xuICA/IFMgZXh0ZW5kcyBOdW1lcmljS2V5XG4gICAgPyBTXG4gICAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH0ke0NhcGl0YWxDaGFyc30ke2luZmVyIFRhaWx9YCAvLyBzdHJpbmcgaGFzIGEgY2FwaXRhbCBjaGFyIHNvbWV3aGVyZVxuICAgID8gSGVhZCBleHRlbmRzICcnIC8vIHRoZXJlIGlzIGEgY2FwaXRhbCBjaGFyIGluIHRoZSBmaXJzdCBwb3NpdGlvblxuICAgICAgPyBUYWlsIGV4dGVuZHMgJydcbiAgICAgICAgPyBMb3dlcmNhc2U8Uz4gLyogICdBJyAqL1xuICAgICAgICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBDYXBzfSR7VGFpbH1gIC8vIHRhaWwgZXhpc3RzLCBoYXMgY2FwaXRhbCBjaGFyYWN0ZXJzXG4gICAgICAgID8gQ2FwcyBleHRlbmRzIENhcGl0YWxDaGFyc1xuICAgICAgICAgID8gVGFpbCBleHRlbmRzIENhcGl0YWxMZXR0ZXJzXG4gICAgICAgICAgICA/IGAke0xvd2VyY2FzZTxDYXBzPn1fJHtMb3dlcmNhc2U8VGFpbD59YCAvKiAnQUInICovXG4gICAgICAgICAgICA6IFRhaWwgZXh0ZW5kcyBgJHtDYXBpdGFsTGV0dGVyc30ke3N0cmluZ31gXG4gICAgICAgICAgICA/IGAke1RvU25ha2U8Q2Fwcz59XyR7VG9TbmFrZTxUYWlsPn1gIC8qIGZpcnN0IHRhaWwgY2hhciBpcyB1cHBlcj8gJ0FCY2QnICovXG4gICAgICAgICAgICA6IGAke1RvU25ha2U8Q2Fwcz59JHtUb1NuYWtlPFRhaWw+fWAgLyogJ0FiQ0QnLCdBYmNEJywgICovIC8qIFRPRE86IGlmIHRhaWwgaXMgb25seSBudW1iZXJzLCBhcHBlbmQgd2l0aG91dCB1bmRlcnNjb3JlICovXG4gICAgICAgICAgOiBuZXZlciAvKiBuZXZlciByZWFjaGVkLCB1c2VkIGZvciBpbmZlcmVuY2Ugb2YgY2FwcyAqL1xuICAgICAgICA6IG5ldmVyXG4gICAgICA6IFRhaWwgZXh0ZW5kcyAnJyAvKiAnYUInICdhYkNEJyAnQUJDRCcgJ0FCJyAqL1xuICAgICAgPyBTIGV4dGVuZHMgYCR7SGVhZH0ke2luZmVyIENhcHN9YFxuICAgICAgICA/IENhcHMgZXh0ZW5kcyBDYXBpdGFsQ2hhcnNcbiAgICAgICAgICA/IEhlYWQgZXh0ZW5kcyBMb3dlcmNhc2U8SGVhZD4gLyogJ2FiY0QnICovXG4gICAgICAgICAgICA/IENhcHMgZXh0ZW5kcyBOdW1iZXJzXG4gICAgICAgICAgICAgID8gLy8gSGVhZCBleGlzdHMgYW5kIGlzIGxvd2VyY2FzZSwgdGFpbCBkb2VzIG5vdCwgQ2FwcyBpcyBhIG51bWJlciwgd2UgbWF5IGJlIGluIGEgc3ViLXNlbGVjdFxuICAgICAgICAgICAgICAgIC8vIGlmIGhlYWQgZW5kcyB3aXRoIG51bWJlciwgZG9uJ3Qgc3BsaXQgaGVhZCBhbiBDYXBzLCBrZWVwIGNvbnRpZ3VvdXMgbnVtYmVycyB0b2dldGhlclxuICAgICAgICAgICAgICAgIEhlYWQgZXh0ZW5kcyBgJHtzdHJpbmd9JHtOdW1iZXJzfWBcbiAgICAgICAgICAgICAgICA/IG5ldmVyXG4gICAgICAgICAgICAgICAgOiAvLyBoZWFkIGRvZXMgbm90IGVuZCBpbiBudW1iZXIsIHNhZmUgdG8gc3BsaXQuICdhYmMyJyAtPiAnYWJjXzInXG4gICAgICAgICAgICAgICAgICBgJHtUb1NuYWtlPEhlYWQ+fV8ke0NhcHN9YFxuICAgICAgICAgICAgICA6IGAke1RvU25ha2U8SGVhZD59XyR7VG9TbmFrZTxDYXBzPn1gIC8qICdhYmNEJyAnYWJjMjUnICovXG4gICAgICAgICAgICA6IG5ldmVyIC8qIHN0b3AgdW5pb24gdHlwZSBmb3JtaW5nICovXG4gICAgICAgICAgOiBuZXZlclxuICAgICAgICA6IG5ldmVyIC8qIG5ldmVyIHJlYWNoZWQsIHVzZWQgZm9yIGluZmVyZW5jZSBvZiBjYXBzICovXG4gICAgICA6IFMgZXh0ZW5kcyBgJHtIZWFkfSR7aW5mZXIgQ2Fwc30ke1RhaWx9YCAvKiAnYWJDZCcgJ0FCQ0QnICdBYkNkJyAnQUJjRCcgKi9cbiAgICAgID8gQ2FwcyBleHRlbmRzIENhcGl0YWxDaGFyc1xuICAgICAgICA/IEhlYWQgZXh0ZW5kcyBMb3dlcmNhc2U8SGVhZD4gLyogaXMgJ2FiQ2QnICdhYkNEJyA/ICovXG4gICAgICAgICAgPyBUYWlsIGV4dGVuZHMgQ2FwaXRhbExldHRlcnMgLyogaXMgJ2FiQ0QnIHdoZXJlIENhcHMgPSAnQycgKi9cbiAgICAgICAgICAgID8gYCR7VG9TbmFrZTxIZWFkPn1fJHtUb1NuYWtlPENhcHM+fV8ke0xvd2VyY2FzZTxUYWlsPn1gIC8qIGFCQ0QgVGFpbCA9ICdEJywgSGVhZCA9ICdhQicgKi9cbiAgICAgICAgICAgIDogVGFpbCBleHRlbmRzIGAke0NhcGl0YWxMZXR0ZXJzfSR7c3RyaW5nfWAgLyogaXMgJ2FCQ2QnIHdoZXJlIENhcHMgPSAnQicgKi9cbiAgICAgICAgICAgID8gQ2FwcyBleHRlbmRzIE51bWJlcnNcbiAgICAgICAgICAgICAgPyBgJHtUb1NuYWtlPEhlYWQ+fSR7Q2Fwc31fJHtUb1NuYWtlPFRhaWw+fWAgLyogJ3MzSWQnID0+ICdzM19pZCcgKi9cbiAgICAgICAgICAgICAgOiBIZWFkIGV4dGVuZHMgTnVtYmVyc1xuICAgICAgICAgICAgICA/IG5ldmVyIC8qIHN0b3AgdW5pb24gdHlwZSBmb3JtaW5nICovXG4gICAgICAgICAgICAgIDogSGVhZCBleHRlbmRzIGAke3N0cmluZ30ke051bWJlcnN9YFxuICAgICAgICAgICAgICA/IG5ldmVyIC8qIHN0b3AgdW5pb24gdHlwZSBmb3JtaW5nICovXG4gICAgICAgICAgICAgIDogYCR7SGVhZH1fJHtUb1NuYWtlPENhcHM+fV8ke1RvU25ha2U8VGFpbD59YCAvKiAnYUJDZCcgPT4gYCR7J2EnfV8ke0xvd2VyY2FzZTwnQic+fV8ke1RvU25ha2U8J0NkJz59YCAqL1xuICAgICAgICAgICAgOiBUYWlsIGV4dGVuZHMgYCR7TG93ZXJjYXNlTGV0dGVyc30ke3N0cmluZ31gXG4gICAgICAgICAgICA/IEhlYWQgZXh0ZW5kcyBgJHtzdHJpbmd9JHtOdW1iZXJzfWBcbiAgICAgICAgICAgICAgPyBgJHtIZWFkfV8ke0xvd2VyY2FzZTxDYXBzPn0ke1RvU25ha2U8VGFpbD59YCAvKiAnczNJZCcgPT4gJ3MzX2lkJyAqL1xuICAgICAgICAgICAgICA6IGAke1RvU25ha2U8SGVhZD59XyR7TG93ZXJjYXNlPENhcHM+fSR7VG9TbmFrZTxUYWlsPn1gIC8qICdhQmNEJyB3aGVyZSBDYXBzID0gJ0InIHRhaWwgc3RhcnRzIGFzIGxvd2VyY2FzZSAqL1xuICAgICAgICAgICAgOiBgJHtUb1NuYWtlPEhlYWQ+fV8ke0xvd2VyY2FzZTxDYXBzPn0ke1RvU25ha2U8VGFpbD59YCAvKiAnYUJjRCcgd2hlcmUgQ2FwcyA9ICdCJyB0YWlsIHN0YXJ0cyBhcyBsb3dlcmNhc2UgKi9cbiAgICAgICAgICA6IG5ldmVyXG4gICAgICAgIDogbmV2ZXJcbiAgICAgIDogbmV2ZXJcbiAgICA6IFMgLyogJ2FiYycgICovXG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIE9iamVjdFRvU25ha2U8VCBleHRlbmRzIG9iamVjdCB8IHVuZGVmaW5lZCB8IG51bGw+ID1cbiAgVCBleHRlbmRzIHVuZGVmaW5lZFxuICAgID8gdW5kZWZpbmVkXG4gICAgOiBUIGV4dGVuZHMgbnVsbFxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIEFycmF5PGluZmVyIEFycmF5VHlwZT5cbiAgICA/IEFycmF5PENvbnZlcnRBcnJheUl0ZW08QXJyYXlUeXBlLCAnc25ha2UnPj5cbiAgICA6IFQgZXh0ZW5kcyBVaW50OEFycmF5XG4gICAgPyBVaW50OEFycmF5XG4gICAgOiBUIGV4dGVuZHMgRGF0ZVxuICAgID8gRGF0ZVxuICAgIDoge1xuICAgICAgICBbSyBpbiBrZXlvZiBUIGFzIFRvU25ha2U8Sz5dOiBDb252ZXJ0T2JqZWN0VmFsdWU8VFtLXSwgJ3NuYWtlJz47XG4gICAgICB9O1xuXG5leHBvcnQgdHlwZSBUb1NjcmVhbWluZ1NuYWtlPFMgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2w+ID1cbiAgVXBwZXJjYXNlPFRvU25ha2U8Uz4+O1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb1NjcmVhbWluZ1NuYWtlPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogVCBleHRlbmRzIG51bGxcbiAgICA/IG51bGxcbiAgICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgPyBBcnJheTxDb252ZXJ0QXJyYXlJdGVtPEFycmF5VHlwZSwgJ3NjcmVhbWluZ1NuYWtlJz4+XG4gICAgOiBUIGV4dGVuZHMgVWludDhBcnJheVxuICAgID8gVWludDhBcnJheVxuICAgIDogVCBleHRlbmRzIERhdGVcbiAgICA/IERhdGVcbiAgICA6IHtcbiAgICAgICAgW0sgaW4ga2V5b2YgVCBhcyBUb1NjcmVhbWluZ1NuYWtlPEs+XTogQ29udmVydE9iamVjdFZhbHVlPFxuICAgICAgICAgIFRbS10sXG4gICAgICAgICAgJ3NjcmVhbWluZ1NuYWtlJ1xuICAgICAgICA+O1xuICAgICAgfTtcblxudHlwZSBDYXNlTW9kZSA9ICdjYW1lbCcgfCAncGFzY2FsJyB8ICdzbmFrZScgfCAnc2NyZWFtaW5nU25ha2UnO1xuXG50eXBlIE51bWVyaWNLZXkgPSBgJHtudW1iZXJ9YDtcblxudHlwZSBDb252ZXJ0PFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsLCBNb2RlIGV4dGVuZHMgQ2FzZU1vZGU+ID1cbiAgTW9kZSBleHRlbmRzICdjYW1lbCdcbiAgICA/IE9iamVjdFRvQ2FtZWw8VD5cbiAgICA6IE1vZGUgZXh0ZW5kcyAncGFzY2FsJ1xuICAgID8gT2JqZWN0VG9QYXNjYWw8VD5cbiAgICA6IE1vZGUgZXh0ZW5kcyAnc25ha2UnXG4gICAgPyBPYmplY3RUb1NuYWtlPFQ+XG4gICAgOiBPYmplY3RUb1NjcmVhbWluZ1NuYWtlPFQ+O1xuXG50eXBlIENvbnZlcnRBcnJheUl0ZW08VCwgTW9kZSBleHRlbmRzIENhc2VNb2RlPiA9IFQgZXh0ZW5kcyBvYmplY3RcbiAgPyBDb252ZXJ0PFQsIE1vZGU+XG4gIDogVDtcblxudHlwZSBDb252ZXJ0T2JqZWN0VmFsdWU8VCwgTW9kZSBleHRlbmRzIENhc2VNb2RlPiA9IFQgZXh0ZW5kcyBBcnJheTxcbiAgaW5mZXIgQXJyYXlUeXBlXG4+XG4gID8gQXJyYXk8Q29udmVydEFycmF5SXRlbTxBcnJheVR5cGUsIE1vZGU+PlxuICA6IFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsXG4gID8gQ29udmVydDxULCBNb2RlPlxuICA6IFQ7XG5cbmZ1bmN0aW9uIGlzTnVtZXJpY0tleSh0ZXJtOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIC9eLT9cXGQrKD86XFwuXFxkKyk/JC8udGVzdCh0ZXJtKTtcbn1cblxudHlwZSBDYXBpdGFsTGV0dGVycyA9XG4gIHwgJ0EnXG4gIHwgJ0InXG4gIHwgJ0MnXG4gIHwgJ0QnXG4gIHwgJ0UnXG4gIHwgJ0YnXG4gIHwgJ0cnXG4gIHwgJ0gnXG4gIHwgJ0knXG4gIHwgJ0onXG4gIHwgJ0snXG4gIHwgJ0wnXG4gIHwgJ00nXG4gIHwgJ04nXG4gIHwgJ08nXG4gIHwgJ1AnXG4gIHwgJ1EnXG4gIHwgJ1InXG4gIHwgJ1MnXG4gIHwgJ1QnXG4gIHwgJ1UnXG4gIHwgJ1YnXG4gIHwgJ1cnXG4gIHwgJ1gnXG4gIHwgJ1knXG4gIHwgJ1onO1xuXG50eXBlIExvd2VyY2FzZUxldHRlcnMgPVxuICB8ICdhJ1xuICB8ICdiJ1xuICB8ICdjJ1xuICB8ICdkJ1xuICB8ICdlJ1xuICB8ICdmJ1xuICB8ICdnJ1xuICB8ICdoJ1xuICB8ICdpJ1xuICB8ICdqJ1xuICB8ICdrJ1xuICB8ICdsJ1xuICB8ICdtJ1xuICB8ICduJ1xuICB8ICdvJ1xuICB8ICdwJ1xuICB8ICdxJ1xuICB8ICdyJ1xuICB8ICdzJ1xuICB8ICd0J1xuICB8ICd1J1xuICB8ICd2J1xuICB8ICd3J1xuICB8ICd4J1xuICB8ICd5J1xuICB8ICd6JztcblxudHlwZSBOdW1iZXJzID0gJzAnIHwgJzEnIHwgJzInIHwgJzMnIHwgJzQnIHwgJzUnIHwgJzYnIHwgJzcnIHwgJzgnIHwgJzknO1xuXG50eXBlIENhcGl0YWxDaGFycyA9IENhcGl0YWxMZXR0ZXJzIHwgTnVtYmVycztcbiJdfQ==
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZUNvbnZlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2FzZUNvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnREEsMEJBWUM7QUFFRCxzQ0FFQztBQTJDRCwwQkFFQztBQUVELHNEQUlDO0FBRUQsc0NBRUM7QUFFRCxrRUFJQztBQUVELDRDQUlDO0FBRUQsd0VBSUM7QUFFRCx3REFJQztBQUVELG9GQUlDO0FBRUQsNEJBUUM7QUFFRCx3Q0FFQztBQW5LRCxTQUFTLGFBQWEsQ0FDcEIsR0FBVyxFQUNYLFlBQXFDO0lBRXJDLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxXQUFXLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDMUUsT0FBTyxHQUF5QixDQUFDO0lBQ25DLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFZLENBQUM7SUFDdEQsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUV6QyxhQUFhO1FBRWIsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQTJCLElBQWUsRUFBRSxFQUFFLENBQ25ELE9BQU8sSUFBSSxLQUFLLFFBQVE7Z0JBQ3hCLENBQUMsQ0FBQyxJQUFJLFlBQVksVUFBVSxDQUFDO2dCQUM3QixDQUFDLENBQUMsSUFBSSxZQUFZLElBQUksQ0FBQztnQkFDckIsQ0FBQyxDQUFDLGFBQWEsQ0FTWCxJQUFJLEVBQUUsWUFBWSxDQUFDO2dCQUN2QixDQUFDLENBQUMsSUFBSSxDQUNLO1lBQ2pCLENBQUMsQ0FBQyxDQUFDLFlBQVksVUFBVSxJQUFJLENBQUMsWUFBWSxJQUFJO2dCQUM5QyxDQUFDLENBQUMsQ0FBQztnQkFDSCxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUTtvQkFDdkIsQ0FBQyxDQUFDLGFBQWEsQ0FTWCxDQUFDLEVBQUUsWUFBWSxDQUFDO29CQUNwQixDQUFDLENBQUUsQ0FBYSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFnQixPQUFPLENBQW1CLElBQU87SUFDL0MsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQWtCLENBQUM7SUFDNUIsQ0FBQztJQUVELE9BQU8sQ0FDTCxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNwQixDQUFDLENBQUMsSUFBSTthQUNELE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUM5QyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUMvQyxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQW1CLEdBQU07SUFDcEQsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUc5QixJQUFPLEVBQUUsWUFBMEI7O0lBQ25DLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTyxJQUFnQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLE1BQU0sR0FBVyxJQUFJLENBQUM7SUFDMUIsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBRXZCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakIsT0FDRSxDQUFDLENBQUEsTUFBQSw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzlELGNBQWMsR0FBRyxFQUFFLEVBQ25CLENBQUM7WUFDRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FDckIsOEJBQThCLEVBQzlCLENBQUMsSUFBSSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUMvQixHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDNUMsQ0FBQztZQUVGLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUNFLENBQUMsQ0FBQSxNQUFBLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzlDLGNBQWMsR0FBRyxFQUFFLEVBQ25CLENBQUM7UUFDRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FDckIsY0FBYyxFQUNkLENBQUMsSUFBSSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUMvQixHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDNUMsQ0FBQztRQUNGLGNBQWMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLFdBQVcsRUFBOEIsQ0FBQztBQUMxRCxDQUFDO0FBRUQsU0FBZ0IsT0FBTyxDQUFtQixJQUFPO0lBQy9DLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FDbkMsSUFBTztJQUVQLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxTQUFnQixhQUFhLENBQW1CLEdBQU07SUFDcEQsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxTQUFnQiwyQkFBMkIsQ0FDekMsR0FBTTtJQUVOLE9BQU8sYUFBYSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FDOUIsSUFBTztJQUVQLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBeUIsQ0FBQztBQUM1RCxDQUFDO0FBRUQsU0FBZ0IsOEJBQThCLENBQzVDLElBQU87SUFFUCxPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBZ0MsQ0FBQztBQUNqRixDQUFDO0FBRUQsU0FBZ0Isc0JBQXNCLENBQ3BDLEdBQU07SUFFTixPQUFPLGFBQWEsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBZ0Isb0NBQW9DLENBQ2xELEdBQU07SUFFTixPQUFPLGFBQWEsQ0FBQyxHQUFHLEVBQUUsOEJBQThCLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsU0FBZ0IsUUFBUSxDQUFtQixJQUFPO0lBQ2hELElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTyxJQUFtQixDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUNKLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBbUIsR0FBTTtJQUNyRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQXlORCxTQUFTLFlBQVksQ0FBQyxJQUFZO0lBQ2hDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBjb252ZXJ0T2JqZWN0PFRJbnB1dCBleHRlbmRzIG9iamVjdCwgVFJlc3VsdD4oXG4gIG9iajogVElucHV0LFxuICBrZXlDb252ZXJ0ZXI6IChhcmc6IHN0cmluZykgPT4gc3RyaW5nLFxuKTogVFJlc3VsdCB7XG4gIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gb2JqIGFzIHVua25vd24gYXMgVFJlc3VsdDtcbiAgfVxuXG4gIGNvbnN0IG91dCA9IChBcnJheS5pc0FycmF5KG9iaikgPyBbXSA6IHt9KSBhcyBUUmVzdWx0O1xuICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhvYmopKSB7XG5cbiAgICAvLyBAdHMtaWdub3JlXG5cbiAgICBvdXRba2V5Q29udmVydGVyKGspXSA9IEFycmF5LmlzQXJyYXkodilcbiAgICAgID8gKHYubWFwKDxBcnJheUl0ZW0gZXh0ZW5kcyBvYmplY3Q+KGl0ZW06IEFycmF5SXRlbSkgPT5cbiAgICAgICAgICB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAhKGl0ZW0gaW5zdGFuY2VvZiBVaW50OEFycmF5KSAmJlxuICAgICAgICAgICEoaXRlbSBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICAgICA/IGNvbnZlcnRPYmplY3Q8XG4gICAgICAgICAgICAgICAgQXJyYXlJdGVtLFxuICAgICAgICAgICAgICAgIFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb0NhbWVsPFRJbnB1dD5cbiAgICAgICAgICAgICAgICAgID8gT2JqZWN0VG9DYW1lbDxBcnJheUl0ZW0+XG4gICAgICAgICAgICAgICAgICA6IFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+XG4gICAgICAgICAgICAgICAgICA/IE9iamVjdFRvUGFzY2FsPEFycmF5SXRlbT5cbiAgICAgICAgICAgICAgICAgIDogVFJlc3VsdCBleHRlbmRzIE9iamVjdFRvU2NyZWFtaW5nU25ha2U8VElucHV0PlxuICAgICAgICAgICAgICAgICAgPyBPYmplY3RUb1NjcmVhbWluZ1NuYWtlPEFycmF5SXRlbT5cbiAgICAgICAgICAgICAgICAgIDogT2JqZWN0VG9TbmFrZTxBcnJheUl0ZW0+XG4gICAgICAgICAgICAgID4oaXRlbSwga2V5Q29udmVydGVyKVxuICAgICAgICAgICAgOiBpdGVtLFxuICAgICAgICApIGFzIHVua25vd25bXSlcbiAgICAgIDogdiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgfHwgdiBpbnN0YW5jZW9mIERhdGVcbiAgICAgID8gdlxuICAgICAgOiB0eXBlb2YgdiA9PT0gJ29iamVjdCdcbiAgICAgID8gY29udmVydE9iamVjdDxcbiAgICAgICAgICB0eXBlb2YgdixcbiAgICAgICAgICBUUmVzdWx0IGV4dGVuZHMgT2JqZWN0VG9DYW1lbDxUSW5wdXQ+XG4gICAgICAgICAgICA/IE9iamVjdFRvQ2FtZWw8dHlwZW9mIHY+XG4gICAgICAgICAgICA6IFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+XG4gICAgICAgICAgICA/IE9iamVjdFRvUGFzY2FsPHR5cGVvZiB2PlxuICAgICAgICAgICAgOiBUUmVzdWx0IGV4dGVuZHMgT2JqZWN0VG9TY3JlYW1pbmdTbmFrZTxUSW5wdXQ+XG4gICAgICAgICAgICA/IE9iamVjdFRvU2NyZWFtaW5nU25ha2U8dHlwZW9mIHY+XG4gICAgICAgICAgICA6IE9iamVjdFRvU25ha2U8dHlwZW9mIHY+XG4gICAgICAgID4odiwga2V5Q29udmVydGVyKVxuICAgICAgOiAodiBhcyB1bmtub3duKTtcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9DYW1lbDxUIGV4dGVuZHMgc3RyaW5nPih0ZXJtOiBUKTogVG9DYW1lbDxUPiB7XG4gIGlmIChpc051bWVyaWNLZXkodGVybSkpIHtcbiAgICByZXR1cm4gdGVybSBhcyBUb0NhbWVsPFQ+O1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICB0ZXJtLmxlbmd0aCA9PT0gMVxuICAgICAgPyB0ZXJtLnRvTG93ZXJDYXNlKClcbiAgICAgIDogdGVybVxuICAgICAgICAgIC5yZXBsYWNlKC9eKFtBLVpdKS8sIChtKSA9PiBtWzBdLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgLnJlcGxhY2UoL1tfLV0oW2EtejAtOV0pL2csIChtKSA9PiBtWzFdLnRvVXBwZXJDYXNlKCkpXG4gICkgYXMgVG9DYW1lbDxUPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9iamVjdFRvQ2FtZWw8VCBleHRlbmRzIG9iamVjdD4ob2JqOiBUKTogT2JqZWN0VG9DYW1lbDxUPiB7XG4gIHJldHVybiBjb252ZXJ0T2JqZWN0KG9iaiwgdG9DYW1lbCk7XG59XG5cbmZ1bmN0aW9uIHRvU25ha2VXaXRoU3BsaXROdW1iZXJzPFxuICBUIGV4dGVuZHMgc3RyaW5nLFxuICBTcGxpdE51bWJlcnMgZXh0ZW5kcyBib29sZWFuLFxuPih0ZXJtOiBULCBzcGxpdE51bWJlcnM6IFNwbGl0TnVtYmVycyk6IFRvU25ha2U8VCwgU3BsaXROdW1iZXJzPiB7XG4gIGlmIChpc051bWVyaWNLZXkodGVybSkpIHtcbiAgICByZXR1cm4gdGVybSBhcyBUb1NuYWtlPFQsIFNwbGl0TnVtYmVycz47XG4gIH1cblxuICBsZXQgcmVzdWx0OiBzdHJpbmcgPSB0ZXJtO1xuICBsZXQgY2lyY3VpdEJyZWFrZXIgPSAwO1xuXG4gIGlmIChzcGxpdE51bWJlcnMpIHtcbiAgICB3aGlsZSAoXG4gICAgICAoLyhbYS16XSkoWzAtOV0pKD8hW0EtWl1bYS16XSkvLmV4ZWMocmVzdWx0KT8ubGVuZ3RoIHx8IDApID4gMiAmJlxuICAgICAgY2lyY3VpdEJyZWFrZXIgPCAxMFxuICAgICkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoXG4gICAgICAgIC8oW2Etel0pKFswLTldKSg/IVtBLVpdW2Etel0pLyxcbiAgICAgICAgKF9hbGwsICQxOiBzdHJpbmcsICQyOiBzdHJpbmcpID0+XG4gICAgICAgICAgYCR7JDEudG9Mb3dlckNhc2UoKX1fJHskMi50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICApO1xuXG4gICAgICBjaXJjdWl0QnJlYWtlciArPSAxO1xuICAgIH1cbiAgfVxuXG4gIHdoaWxlIChcbiAgICAoLyguKz8pKFtBLVpdKS8uZXhlYyhyZXN1bHQpPy5sZW5ndGggfHwgMCkgPiAyICYmXG4gICAgY2lyY3VpdEJyZWFrZXIgPCAxMFxuICApIHtcbiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShcbiAgICAgIC8oLis/KShbQS1aXSkvLFxuICAgICAgKF9hbGwsICQxOiBzdHJpbmcsICQyOiBzdHJpbmcpID0+XG4gICAgICAgIGAkeyQxLnRvTG93ZXJDYXNlKCl9XyR7JDIudG9Mb3dlckNhc2UoKX1gLFxuICAgICk7XG4gICAgY2lyY3VpdEJyZWFrZXIgKz0gMTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKSBhcyBUb1NuYWtlPFQsIFNwbGl0TnVtYmVycz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1NuYWtlPFQgZXh0ZW5kcyBzdHJpbmc+KHRlcm06IFQpOiBUb1NuYWtlPFQ+IHtcbiAgcmV0dXJuIHRvU25ha2VXaXRoU3BsaXROdW1iZXJzKHRlcm0sIHRydWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9TbmFrZU5vU3BsaXROdW1iZXJzPFQgZXh0ZW5kcyBzdHJpbmc+KFxuICB0ZXJtOiBULFxuKTogVG9TbmFrZTxULCBmYWxzZT4ge1xuICByZXR1cm4gdG9TbmFrZVdpdGhTcGxpdE51bWJlcnModGVybSwgZmFsc2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9TbmFrZTxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb1NuYWtlPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b1NuYWtlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9iamVjdFRvU25ha2VOb1NwbGl0TnVtYmVyczxUIGV4dGVuZHMgb2JqZWN0PihcbiAgb2JqOiBULFxuKTogT2JqZWN0VG9TbmFrZTxULCBmYWxzZT4ge1xuICByZXR1cm4gY29udmVydE9iamVjdChvYmosIHRvU25ha2VOb1NwbGl0TnVtYmVycyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1NjcmVhbWluZ1NuYWtlPFQgZXh0ZW5kcyBzdHJpbmc+KFxuICB0ZXJtOiBULFxuKTogVG9TY3JlYW1pbmdTbmFrZTxUPiB7XG4gIHJldHVybiB0b1NuYWtlKHRlcm0pLnRvVXBwZXJDYXNlKCkgYXMgVG9TY3JlYW1pbmdTbmFrZTxUPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU2NyZWFtaW5nU25ha2VOb1NwbGl0TnVtYmVyczxUIGV4dGVuZHMgc3RyaW5nPihcbiAgdGVybTogVCxcbik6IFRvU2NyZWFtaW5nU25ha2U8VCwgZmFsc2U+IHtcbiAgcmV0dXJuIHRvU25ha2VOb1NwbGl0TnVtYmVycyh0ZXJtKS50b1VwcGVyQ2FzZSgpIGFzIFRvU2NyZWFtaW5nU25ha2U8VCwgZmFsc2U+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9TY3JlYW1pbmdTbmFrZTxUIGV4dGVuZHMgb2JqZWN0PihcbiAgb2JqOiBULFxuKTogT2JqZWN0VG9TY3JlYW1pbmdTbmFrZTxUPiB7XG4gIHJldHVybiBjb252ZXJ0T2JqZWN0KG9iaiwgdG9TY3JlYW1pbmdTbmFrZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3RUb1NjcmVhbWluZ1NuYWtlTm9TcGxpdE51bWJlcnM8VCBleHRlbmRzIG9iamVjdD4oXG4gIG9iajogVCxcbik6IE9iamVjdFRvU2NyZWFtaW5nU25ha2U8VCwgZmFsc2U+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b1NjcmVhbWluZ1NuYWtlTm9TcGxpdE51bWJlcnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9QYXNjYWw8VCBleHRlbmRzIHN0cmluZz4odGVybTogVCk6IFRvUGFzY2FsPFQ+IHtcbiAgaWYgKGlzTnVtZXJpY0tleSh0ZXJtKSkge1xuICAgIHJldHVybiB0ZXJtIGFzIFRvUGFzY2FsPFQ+O1xuICB9XG5cbiAgcmV0dXJuIHRvQ2FtZWwodGVybSkucmVwbGFjZSgvXihbYS16XSkvLCAobSkgPT5cbiAgICBtWzBdLnRvVXBwZXJDYXNlKCksXG4gICkgYXMgVG9QYXNjYWw8VD47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3RUb1Bhc2NhbDxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb1Bhc2NhbDxUPiB7XG4gIHJldHVybiBjb252ZXJ0T2JqZWN0KG9iaiwgdG9QYXNjYWwpO1xufVxuXG5leHBvcnQgdHlwZSBUb0NhbWVsPFMgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2w+ID0gUyBleHRlbmRzIHN0cmluZ1xuICA/IFMgZXh0ZW5kcyBOdW1lcmljS2V5XG4gICAgPyBTXG4gICAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH1fJHtpbmZlciBUYWlsfWBcbiAgICA/IGAke1RvQ2FtZWw8VW5jYXBpdGFsaXplPEhlYWQ+Pn0ke0NhcGl0YWxpemU8VG9DYW1lbDxUYWlsPj59YFxuICAgIDogUyBleHRlbmRzIGAke2luZmVyIEhlYWR9LSR7aW5mZXIgVGFpbH1gXG4gICAgPyBgJHtUb0NhbWVsPFVuY2FwaXRhbGl6ZTxIZWFkPj59JHtDYXBpdGFsaXplPFRvQ2FtZWw8VGFpbD4+fWBcbiAgICA6IFVuY2FwaXRhbGl6ZTxTPlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb0NhbWVsPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogVCBleHRlbmRzIG51bGxcbiAgICA/IG51bGxcbiAgICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgPyBBcnJheTxDb252ZXJ0QXJyYXlJdGVtPEFycmF5VHlwZSwgJ2NhbWVsJz4+XG4gICAgOiBUIGV4dGVuZHMgVWludDhBcnJheVxuICAgID8gVWludDhBcnJheVxuICAgIDogVCBleHRlbmRzIERhdGVcbiAgICA/IERhdGVcbiAgICA6IHtcbiAgICAgICAgW0sgaW4ga2V5b2YgVCBhcyBUb0NhbWVsPEs+XTogQ29udmVydE9iamVjdFZhbHVlPFRbS10sICdjYW1lbCc+O1xuICAgICAgfTtcblxuZXhwb3J0IHR5cGUgVG9QYXNjYWw8UyBleHRlbmRzIHN0cmluZyB8IG51bWJlciB8IHN5bWJvbD4gPSBTIGV4dGVuZHMgc3RyaW5nXG4gID8gUyBleHRlbmRzIE51bWVyaWNLZXlcbiAgICA/IFNcbiAgICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBIZWFkfV8ke2luZmVyIFRhaWx9YFxuICAgID8gYCR7Q2FwaXRhbGl6ZTxUb0NhbWVsPEhlYWQ+Pn0ke0NhcGl0YWxpemU8VG9DYW1lbDxUYWlsPj59YFxuICAgIDogUyBleHRlbmRzIGAke2luZmVyIEhlYWR9LSR7aW5mZXIgVGFpbH1gXG4gICAgPyBgJHtDYXBpdGFsaXplPFRvQ2FtZWw8SGVhZD4+fSR7Q2FwaXRhbGl6ZTxUb0NhbWVsPFRhaWw+Pn1gXG4gICAgOiBDYXBpdGFsaXplPFM+XG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIE9iamVjdFRvUGFzY2FsPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogVCBleHRlbmRzIG51bGxcbiAgICA/IG51bGxcbiAgICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgPyBBcnJheTxDb252ZXJ0QXJyYXlJdGVtPEFycmF5VHlwZSwgJ3Bhc2NhbCc+PlxuICAgIDogVCBleHRlbmRzIFVpbnQ4QXJyYXlcbiAgICA/IFVpbnQ4QXJyYXlcbiAgICA6IFQgZXh0ZW5kcyBEYXRlXG4gICAgPyBEYXRlXG4gICAgOiB7XG4gICAgICAgIFtLIGluIGtleW9mIFQgYXMgVG9QYXNjYWw8Sz5dOiBDb252ZXJ0T2JqZWN0VmFsdWU8VFtLXSwgJ3Bhc2NhbCc+O1xuICAgICAgfTtcblxuZXhwb3J0IHR5cGUgVG9TbmFrZTxcbiAgUyBleHRlbmRzIHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCxcbiAgU3BsaXROdW1iZXJzIGV4dGVuZHMgYm9vbGVhbiA9IHRydWUsXG4+ID0gUyBleHRlbmRzIHN0cmluZ1xuICA/IFMgZXh0ZW5kcyBOdW1lcmljS2V5XG4gICAgPyBTXG4gICAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH0ke0NhcGl0YWxDaGFyc30ke2luZmVyIFRhaWx9YCAvLyBzdHJpbmcgaGFzIGEgY2FwaXRhbCBjaGFyIHNvbWV3aGVyZVxuICAgID8gSGVhZCBleHRlbmRzICcnIC8vIHRoZXJlIGlzIGEgY2FwaXRhbCBjaGFyIGluIHRoZSBmaXJzdCBwb3NpdGlvblxuICAgICAgPyBUYWlsIGV4dGVuZHMgJydcbiAgICAgICAgPyBMb3dlcmNhc2U8Uz4gLyogICdBJyAqL1xuICAgICAgICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBDYXBzfSR7VGFpbH1gIC8vIHRhaWwgZXhpc3RzLCBoYXMgY2FwaXRhbCBjaGFyYWN0ZXJzXG4gICAgICAgID8gQ2FwcyBleHRlbmRzIENhcGl0YWxDaGFyc1xuICAgICAgICAgID8gVGFpbCBleHRlbmRzIENhcGl0YWxMZXR0ZXJzXG4gICAgICAgICAgICA/IGAke0xvd2VyY2FzZTxDYXBzPn1fJHtMb3dlcmNhc2U8VGFpbD59YCAvKiAnQUInICovXG4gICAgICAgICAgICA6IFRhaWwgZXh0ZW5kcyBgJHtDYXBpdGFsTGV0dGVyc30ke3N0cmluZ31gXG4gICAgICAgICAgICA/IGAke1RvU25ha2U8Q2Fwcz59XyR7VG9TbmFrZTxUYWlsPn1gIC8qIGZpcnN0IHRhaWwgY2hhciBpcyB1cHBlcj8gJ0FCY2QnICovXG4gICAgICAgICAgICA6IGAke1RvU25ha2U8Q2Fwcz59JHtUb1NuYWtlPFRhaWw+fWAgLyogJ0FiQ0QnLCdBYmNEJywgICovIC8qIFRPRE86IGlmIHRhaWwgaXMgb25seSBudW1iZXJzLCBhcHBlbmQgd2l0aG91dCB1bmRlcnNjb3JlICovXG4gICAgICAgICAgOiBuZXZlciAvKiBuZXZlciByZWFjaGVkLCB1c2VkIGZvciBpbmZlcmVuY2Ugb2YgY2FwcyAqL1xuICAgICAgICA6IG5ldmVyXG4gICAgICA6IFRhaWwgZXh0ZW5kcyAnJyAvKiAnYUInICdhYkNEJyAnQUJDRCcgJ0FCJyAqL1xuICAgICAgPyBTIGV4dGVuZHMgYCR7SGVhZH0ke2luZmVyIENhcHN9YFxuICAgICAgICA/IENhcHMgZXh0ZW5kcyBDYXBpdGFsQ2hhcnNcbiAgICAgICAgICA/IEhlYWQgZXh0ZW5kcyBMb3dlcmNhc2U8SGVhZD4gLyogJ2FiY0QnICovXG4gICAgICAgICAgICA/IENhcHMgZXh0ZW5kcyBOdW1iZXJzXG4gICAgICAgICAgICAgID8gLy8gSGVhZCBleGlzdHMgYW5kIGlzIGxvd2VyY2FzZSwgdGFpbCBkb2VzIG5vdCwgQ2FwcyBpcyBhIG51bWJlciwgd2UgbWF5IGJlIGluIGEgc3ViLXNlbGVjdFxuICAgICAgICAgICAgICAgIC8vIGlmIGhlYWQgZW5kcyB3aXRoIG51bWJlciwgZG9uJ3Qgc3BsaXQgaGVhZCBhbiBDYXBzLCBrZWVwIGNvbnRpZ3VvdXMgbnVtYmVycyB0b2dldGhlclxuICAgICAgICAgICAgICAgIFNwbGl0TnVtYmVycyBleHRlbmRzIGZhbHNlXG4gICAgICAgICAgICAgICAgPyBgJHtUb1NuYWtlPEhlYWQsIFNwbGl0TnVtYmVycz59JHtDYXBzfWBcbiAgICAgICAgICAgICAgICA6IEhlYWQgZXh0ZW5kcyBgJHtzdHJpbmd9JHtOdW1iZXJzfWBcbiAgICAgICAgICAgICAgICA/IG5ldmVyXG4gICAgICAgICAgICAgICAgOiAvLyBoZWFkIGRvZXMgbm90IGVuZCBpbiBudW1iZXIsIHNhZmUgdG8gc3BsaXQuICdhYmMyJyAtPiAnYWJjXzInXG4gICAgICAgICAgICAgICAgICBgJHtUb1NuYWtlPEhlYWQsIFNwbGl0TnVtYmVycz59XyR7Q2Fwc31gXG4gICAgICAgICAgICAgIDogYCR7VG9TbmFrZTxIZWFkLCBTcGxpdE51bWJlcnM+fV8ke1RvU25ha2U8XG4gICAgICAgICAgICAgICAgICBDYXBzLFxuICAgICAgICAgICAgICAgICAgU3BsaXROdW1iZXJzXG4gICAgICAgICAgICAgICAgPn1gIC8qICdhYmNEJyAnYWJjMjUnICovXG4gICAgICAgICAgICA6IG5ldmVyIC8qIHN0b3AgdW5pb24gdHlwZSBmb3JtaW5nICovXG4gICAgICAgICAgOiBuZXZlclxuICAgICAgICA6IG5ldmVyIC8qIG5ldmVyIHJlYWNoZWQsIHVzZWQgZm9yIGluZmVyZW5jZSBvZiBjYXBzICovXG4gICAgICA6IFMgZXh0ZW5kcyBgJHtIZWFkfSR7aW5mZXIgQ2Fwc30ke1RhaWx9YCAvKiAnYWJDZCcgJ0FCQ0QnICdBYkNkJyAnQUJjRCcgKi9cbiAgICAgID8gQ2FwcyBleHRlbmRzIENhcGl0YWxDaGFyc1xuICAgICAgICA/IEhlYWQgZXh0ZW5kcyBMb3dlcmNhc2U8SGVhZD4gLyogaXMgJ2FiQ2QnICdhYkNEJyA/ICovXG4gICAgICAgICAgPyBUYWlsIGV4dGVuZHMgQ2FwaXRhbExldHRlcnMgLyogaXMgJ2FiQ0QnIHdoZXJlIENhcHMgPSAnQycgKi9cbiAgICAgICAgICAgID8gYCR7VG9TbmFrZTxIZWFkLCBTcGxpdE51bWJlcnM+fV8ke1RvU25ha2U8XG4gICAgICAgICAgICAgICAgQ2FwcyxcbiAgICAgICAgICAgICAgICBTcGxpdE51bWJlcnNcbiAgICAgICAgICAgICAgPn1fJHtMb3dlcmNhc2U8VGFpbD59YCAvKiBhQkNEIFRhaWwgPSAnRCcsIEhlYWQgPSAnYUInICovXG4gICAgICAgICAgICA6IFRhaWwgZXh0ZW5kcyBgJHtDYXBpdGFsTGV0dGVyc30ke3N0cmluZ31gIC8qIGlzICdhQkNkJyB3aGVyZSBDYXBzID0gJ0InICovXG4gICAgICAgICAgICA/IENhcHMgZXh0ZW5kcyBOdW1iZXJzXG4gICAgICAgICAgICAgID8gYCR7VG9TbmFrZTxIZWFkLCBTcGxpdE51bWJlcnM+fSR7Q2Fwc31fJHtUb1NuYWtlPFxuICAgICAgICAgICAgICAgICAgVGFpbCxcbiAgICAgICAgICAgICAgICAgIFNwbGl0TnVtYmVyc1xuICAgICAgICAgICAgICAgID59YCAvKiAnczNJZCcgPT4gJ3MzX2lkJyAqL1xuICAgICAgICAgICAgICA6IEhlYWQgZXh0ZW5kcyBOdW1iZXJzXG4gICAgICAgICAgICAgID8gbmV2ZXIgLyogc3RvcCB1bmlvbiB0eXBlIGZvcm1pbmcgKi9cbiAgICAgICAgICAgICAgOiBIZWFkIGV4dGVuZHMgYCR7c3RyaW5nfSR7TnVtYmVyc31gXG4gICAgICAgICAgICAgID8gbmV2ZXIgLyogc3RvcCB1bmlvbiB0eXBlIGZvcm1pbmcgKi9cbiAgICAgICAgICAgICAgOiBgJHtIZWFkfV8ke1RvU25ha2U8Q2FwcywgU3BsaXROdW1iZXJzPn1fJHtUb1NuYWtlPFxuICAgICAgICAgICAgICAgICAgVGFpbCxcbiAgICAgICAgICAgICAgICAgIFNwbGl0TnVtYmVyc1xuICAgICAgICAgICAgICAgID59YCAvKiAnYUJDZCcgPT4gYCR7J2EnfV8ke0xvd2VyY2FzZTwnQic+fV8ke1RvU25ha2U8J0NkJz59YCAqL1xuICAgICAgICAgICAgOiBUYWlsIGV4dGVuZHMgYCR7TG93ZXJjYXNlTGV0dGVyc30ke3N0cmluZ31gXG4gICAgICAgICAgICA/IEhlYWQgZXh0ZW5kcyBgJHtzdHJpbmd9JHtOdW1iZXJzfWBcbiAgICAgICAgICAgICAgPyBgJHtIZWFkfV8ke0xvd2VyY2FzZTxDYXBzPn0ke1RvU25ha2U8XG4gICAgICAgICAgICAgICAgICBUYWlsLFxuICAgICAgICAgICAgICAgICAgU3BsaXROdW1iZXJzXG4gICAgICAgICAgICAgICAgPn1gIC8qICdzM0lkJyA9PiAnczNfaWQnICovXG4gICAgICAgICAgICAgIDogYCR7VG9TbmFrZTxIZWFkLCBTcGxpdE51bWJlcnM+fV8ke0xvd2VyY2FzZTxDYXBzPn0ke1RvU25ha2U8XG4gICAgICAgICAgICAgICAgICBUYWlsLFxuICAgICAgICAgICAgICAgICAgU3BsaXROdW1iZXJzXG4gICAgICAgICAgICAgICAgPn1gIC8qICdhQmNEJyB3aGVyZSBDYXBzID0gJ0InIHRhaWwgc3RhcnRzIGFzIGxvd2VyY2FzZSAqL1xuICAgICAgICAgICAgOiBgJHtUb1NuYWtlPEhlYWQsIFNwbGl0TnVtYmVycz59XyR7TG93ZXJjYXNlPENhcHM+fSR7VG9TbmFrZTxcbiAgICAgICAgICAgICAgICBUYWlsLFxuICAgICAgICAgICAgICAgIFNwbGl0TnVtYmVyc1xuICAgICAgICAgICAgICA+fWAgLyogJ2FCY0QnIHdoZXJlIENhcHMgPSAnQicgdGFpbCBzdGFydHMgYXMgbG93ZXJjYXNlICovXG4gICAgICAgICAgOiBuZXZlclxuICAgICAgICA6IG5ldmVyXG4gICAgICA6IG5ldmVyXG4gICAgOiBTIC8qICdhYmMnICAqL1xuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb1NuYWtlPFxuICBUIGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgU3BsaXROdW1iZXJzIGV4dGVuZHMgYm9vbGVhbiA9IHRydWUsXG4+ID1cbiAgVCBleHRlbmRzIHVuZGVmaW5lZFxuICAgID8gdW5kZWZpbmVkXG4gICAgOiBUIGV4dGVuZHMgbnVsbFxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIEFycmF5PGluZmVyIEFycmF5VHlwZT5cbiAgICA/IEFycmF5PENvbnZlcnRBcnJheUl0ZW08QXJyYXlUeXBlLCAnc25ha2UnLCBTcGxpdE51bWJlcnM+PlxuICAgIDogVCBleHRlbmRzIFVpbnQ4QXJyYXlcbiAgICA/IFVpbnQ4QXJyYXlcbiAgICA6IFQgZXh0ZW5kcyBEYXRlXG4gICAgPyBEYXRlXG4gICAgOiB7XG4gICAgICAgIFtLIGluIGtleW9mIFQgYXMgVG9TbmFrZTxLLCBTcGxpdE51bWJlcnM+XTogQ29udmVydE9iamVjdFZhbHVlPFxuICAgICAgICAgIFRbS10sXG4gICAgICAgICAgJ3NuYWtlJyxcbiAgICAgICAgICBTcGxpdE51bWJlcnNcbiAgICAgICAgPjtcbiAgICAgIH07XG5cbmV4cG9ydCB0eXBlIFRvU2NyZWFtaW5nU25ha2U8XG4gIFMgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wsXG4gIFNwbGl0TnVtYmVycyBleHRlbmRzIGJvb2xlYW4gPSB0cnVlLFxuPiA9IFVwcGVyY2FzZTxUb1NuYWtlPFMsIFNwbGl0TnVtYmVycz4+O1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb1NjcmVhbWluZ1NuYWtlPFxuICBUIGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgU3BsaXROdW1iZXJzIGV4dGVuZHMgYm9vbGVhbiA9IHRydWUsXG4+ID1cbiAgVCBleHRlbmRzIHVuZGVmaW5lZFxuICAgID8gdW5kZWZpbmVkXG4gICAgOiBUIGV4dGVuZHMgbnVsbFxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIEFycmF5PGluZmVyIEFycmF5VHlwZT5cbiAgICA/IEFycmF5PENvbnZlcnRBcnJheUl0ZW08QXJyYXlUeXBlLCAnc2NyZWFtaW5nU25ha2UnLCBTcGxpdE51bWJlcnM+PlxuICAgIDogVCBleHRlbmRzIFVpbnQ4QXJyYXlcbiAgICA/IFVpbnQ4QXJyYXlcbiAgICA6IFQgZXh0ZW5kcyBEYXRlXG4gICAgPyBEYXRlXG4gICAgOiB7XG4gICAgICAgIFtLIGluIGtleW9mIFQgYXMgVG9TY3JlYW1pbmdTbmFrZTxLLCBTcGxpdE51bWJlcnM+XTogQ29udmVydE9iamVjdFZhbHVlPFxuICAgICAgICAgIFRbS10sXG4gICAgICAgICAgJ3NjcmVhbWluZ1NuYWtlJyxcbiAgICAgICAgICBTcGxpdE51bWJlcnNcbiAgICAgICAgPjtcbiAgICAgIH07XG5cbnR5cGUgQ2FzZU1vZGUgPSAnY2FtZWwnIHwgJ3Bhc2NhbCcgfCAnc25ha2UnIHwgJ3NjcmVhbWluZ1NuYWtlJztcblxudHlwZSBOdW1lcmljS2V5ID0gYCR7bnVtYmVyfWA7XG5cbnR5cGUgQ29udmVydDxcbiAgVCBleHRlbmRzIG9iamVjdCB8IHVuZGVmaW5lZCB8IG51bGwsXG4gIE1vZGUgZXh0ZW5kcyBDYXNlTW9kZSxcbiAgU3BsaXROdW1iZXJzIGV4dGVuZHMgYm9vbGVhbixcbj4gPVxuICBNb2RlIGV4dGVuZHMgJ2NhbWVsJ1xuICAgID8gT2JqZWN0VG9DYW1lbDxUPlxuICAgIDogTW9kZSBleHRlbmRzICdwYXNjYWwnXG4gICAgPyBPYmplY3RUb1Bhc2NhbDxUPlxuICAgIDogTW9kZSBleHRlbmRzICdzbmFrZSdcbiAgICA/IE9iamVjdFRvU25ha2U8VCwgU3BsaXROdW1iZXJzPlxuICAgIDogT2JqZWN0VG9TY3JlYW1pbmdTbmFrZTxULCBTcGxpdE51bWJlcnM+O1xuXG50eXBlIENvbnZlcnRBcnJheUl0ZW08XG4gIFQsXG4gIE1vZGUgZXh0ZW5kcyBDYXNlTW9kZSxcbiAgU3BsaXROdW1iZXJzIGV4dGVuZHMgYm9vbGVhbiA9IHRydWUsXG4+ID0gVCBleHRlbmRzIG9iamVjdFxuICA/IENvbnZlcnQ8VCwgTW9kZSwgU3BsaXROdW1iZXJzPlxuICA6IFQ7XG5cbnR5cGUgQ29udmVydE9iamVjdFZhbHVlPFxuICBULFxuICBNb2RlIGV4dGVuZHMgQ2FzZU1vZGUsXG4gIFNwbGl0TnVtYmVycyBleHRlbmRzIGJvb2xlYW4gPSB0cnVlLFxuPiA9IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gID8gQXJyYXk8Q29udmVydEFycmF5SXRlbTxBcnJheVR5cGUsIE1vZGUsIFNwbGl0TnVtYmVycz4+XG4gIDogVCBleHRlbmRzIG9iamVjdCB8IHVuZGVmaW5lZCB8IG51bGxcbiAgPyBDb252ZXJ0PFQsIE1vZGUsIFNwbGl0TnVtYmVycz5cbiAgOiBUO1xuXG5mdW5jdGlvbiBpc051bWVyaWNLZXkodGVybTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAvXi0/XFxkKyg/OlxcLlxcZCspPyQvLnRlc3QodGVybSk7XG59XG5cbnR5cGUgQ2FwaXRhbExldHRlcnMgPVxuICB8ICdBJ1xuICB8ICdCJ1xuICB8ICdDJ1xuICB8ICdEJ1xuICB8ICdFJ1xuICB8ICdGJ1xuICB8ICdHJ1xuICB8ICdIJ1xuICB8ICdJJ1xuICB8ICdKJ1xuICB8ICdLJ1xuICB8ICdMJ1xuICB8ICdNJ1xuICB8ICdOJ1xuICB8ICdPJ1xuICB8ICdQJ1xuICB8ICdRJ1xuICB8ICdSJ1xuICB8ICdTJ1xuICB8ICdUJ1xuICB8ICdVJ1xuICB8ICdWJ1xuICB8ICdXJ1xuICB8ICdYJ1xuICB8ICdZJ1xuICB8ICdaJztcblxudHlwZSBMb3dlcmNhc2VMZXR0ZXJzID1cbiAgfCAnYSdcbiAgfCAnYidcbiAgfCAnYydcbiAgfCAnZCdcbiAgfCAnZSdcbiAgfCAnZidcbiAgfCAnZydcbiAgfCAnaCdcbiAgfCAnaSdcbiAgfCAnaidcbiAgfCAnaydcbiAgfCAnbCdcbiAgfCAnbSdcbiAgfCAnbidcbiAgfCAnbydcbiAgfCAncCdcbiAgfCAncSdcbiAgfCAncidcbiAgfCAncydcbiAgfCAndCdcbiAgfCAndSdcbiAgfCAndidcbiAgfCAndydcbiAgfCAneCdcbiAgfCAneSdcbiAgfCAneic7XG5cbnR5cGUgTnVtYmVycyA9ICcwJyB8ICcxJyB8ICcyJyB8ICczJyB8ICc0JyB8ICc1JyB8ICc2JyB8ICc3JyB8ICc4JyB8ICc5JztcblxudHlwZSBDYXBpdGFsQ2hhcnMgPSBDYXBpdGFsTGV0dGVycyB8IE51bWJlcnM7XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { objectToCamel, objectToSnakeNoSplitNumbers as objectToSnake, objectToScreamingSnakeNoSplitNumbers as objectToScreamingSnake, toSnakeNoSplitNumbers as toSnake, toScreamingSnakeNoSplitNumbers as toScreamingSnake, toCamel, toPascal, objectToPascal, } from './caseConvert';
|
|
2
|
+
export type { ObjectToCamel, ToCamel, ToPascal, ObjectToPascal, } from './caseConvert';
|
|
3
|
+
import type { ObjectToScreamingSnake as DefaultObjectToScreamingSnake, ObjectToSnake as DefaultObjectToSnake, ToScreamingSnake as DefaultToScreamingSnake, ToSnake as DefaultToSnake } from './caseConvert';
|
|
4
|
+
export type ToSnake<S extends string | number | symbol> = DefaultToSnake<S, false>;
|
|
5
|
+
export type ObjectToSnake<T extends object | undefined | null> = DefaultObjectToSnake<T, false>;
|
|
6
|
+
export type ToScreamingSnake<S extends string | number | symbol> = DefaultToScreamingSnake<S, false>;
|
|
7
|
+
export type ObjectToScreamingSnake<T extends object | undefined | null> = DefaultObjectToScreamingSnake<T, false>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.objectToPascal = exports.toPascal = exports.toCamel = exports.toScreamingSnake = exports.toSnake = exports.objectToScreamingSnake = exports.objectToSnake = exports.objectToCamel = void 0;
|
|
4
|
+
var caseConvert_1 = require("./caseConvert");
|
|
5
|
+
Object.defineProperty(exports, "objectToCamel", { enumerable: true, get: function () { return caseConvert_1.objectToCamel; } });
|
|
6
|
+
Object.defineProperty(exports, "objectToSnake", { enumerable: true, get: function () { return caseConvert_1.objectToSnakeNoSplitNumbers; } });
|
|
7
|
+
Object.defineProperty(exports, "objectToScreamingSnake", { enumerable: true, get: function () { return caseConvert_1.objectToScreamingSnakeNoSplitNumbers; } });
|
|
8
|
+
Object.defineProperty(exports, "toSnake", { enumerable: true, get: function () { return caseConvert_1.toSnakeNoSplitNumbers; } });
|
|
9
|
+
Object.defineProperty(exports, "toScreamingSnake", { enumerable: true, get: function () { return caseConvert_1.toScreamingSnakeNoSplitNumbers; } });
|
|
10
|
+
Object.defineProperty(exports, "toCamel", { enumerable: true, get: function () { return caseConvert_1.toCamel; } });
|
|
11
|
+
Object.defineProperty(exports, "toPascal", { enumerable: true, get: function () { return caseConvert_1.toPascal; } });
|
|
12
|
+
Object.defineProperty(exports, "objectToPascal", { enumerable: true, get: function () { return caseConvert_1.objectToPascal; } });
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tc3BsaXQtbnVtYmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uby1zcGxpdC1udW1iZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQVN1QjtBQVJyQiw0R0FBQSxhQUFhLE9BQUE7QUFDYiw0R0FBQSwyQkFBMkIsT0FBaUI7QUFDNUMscUhBQUEsb0NBQW9DLE9BQTBCO0FBQzlELHNHQUFBLHFCQUFxQixPQUFXO0FBQ2hDLCtHQUFBLDhCQUE4QixPQUFvQjtBQUNsRCxzR0FBQSxPQUFPLE9BQUE7QUFDUCx1R0FBQSxRQUFRLE9BQUE7QUFDUiw2R0FBQSxjQUFjLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBvYmplY3RUb0NhbWVsLFxuICBvYmplY3RUb1NuYWtlTm9TcGxpdE51bWJlcnMgYXMgb2JqZWN0VG9TbmFrZSxcbiAgb2JqZWN0VG9TY3JlYW1pbmdTbmFrZU5vU3BsaXROdW1iZXJzIGFzIG9iamVjdFRvU2NyZWFtaW5nU25ha2UsXG4gIHRvU25ha2VOb1NwbGl0TnVtYmVycyBhcyB0b1NuYWtlLFxuICB0b1NjcmVhbWluZ1NuYWtlTm9TcGxpdE51bWJlcnMgYXMgdG9TY3JlYW1pbmdTbmFrZSxcbiAgdG9DYW1lbCxcbiAgdG9QYXNjYWwsXG4gIG9iamVjdFRvUGFzY2FsLFxufSBmcm9tICcuL2Nhc2VDb252ZXJ0JztcblxuZXhwb3J0IHR5cGUge1xuICBPYmplY3RUb0NhbWVsLFxuICBUb0NhbWVsLFxuICBUb1Bhc2NhbCxcbiAgT2JqZWN0VG9QYXNjYWwsXG59IGZyb20gJy4vY2FzZUNvbnZlcnQnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIE9iamVjdFRvU2NyZWFtaW5nU25ha2UgYXMgRGVmYXVsdE9iamVjdFRvU2NyZWFtaW5nU25ha2UsXG4gIE9iamVjdFRvU25ha2UgYXMgRGVmYXVsdE9iamVjdFRvU25ha2UsXG4gIFRvU2NyZWFtaW5nU25ha2UgYXMgRGVmYXVsdFRvU2NyZWFtaW5nU25ha2UsXG4gIFRvU25ha2UgYXMgRGVmYXVsdFRvU25ha2UsXG59IGZyb20gJy4vY2FzZUNvbnZlcnQnO1xuXG5leHBvcnQgdHlwZSBUb1NuYWtlPFMgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2w+ID0gRGVmYXVsdFRvU25ha2U8XG4gIFMsXG4gIGZhbHNlXG4+O1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb1NuYWtlPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIERlZmF1bHRPYmplY3RUb1NuYWtlPFQsIGZhbHNlPjtcblxuZXhwb3J0IHR5cGUgVG9TY3JlYW1pbmdTbmFrZTxTIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sPiA9XG4gIERlZmF1bHRUb1NjcmVhbWluZ1NuYWtlPFMsIGZhbHNlPjtcblxuZXhwb3J0IHR5cGUgT2JqZWN0VG9TY3JlYW1pbmdTbmFrZTxUIGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkIHwgbnVsbD4gPVxuICBEZWZhdWx0T2JqZWN0VG9TY3JlYW1pbmdTbmFrZTxULCBmYWxzZT47XG4iXX0=
|
package/package.json
CHANGED
|
@@ -6,24 +6,20 @@
|
|
|
6
6
|
"url": "https://github.com/RossWilliams/ts-case-convert.git"
|
|
7
7
|
},
|
|
8
8
|
"scripts": {
|
|
9
|
-
"build": "
|
|
10
|
-
"bump": "
|
|
11
|
-
"
|
|
12
|
-
"compile": "
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"unbump": "npx projen unbump",
|
|
24
|
-
"upgrade": "npx projen upgrade",
|
|
25
|
-
"watch": "npx projen watch",
|
|
26
|
-
"projen": "npx projen"
|
|
9
|
+
"build": "pnpm run check && pnpm run package",
|
|
10
|
+
"bump": "node scripts/bump-version.js",
|
|
11
|
+
"check": "pnpm run compile && pnpm run lint && pnpm run test",
|
|
12
|
+
"compile": "tsc --build",
|
|
13
|
+
"lint": "eslint --fix --no-error-on-unmatched-pattern src test scripts",
|
|
14
|
+
"package": "mkdir -p dist/js && mv $(npm pack) dist/js/",
|
|
15
|
+
"publish": "npm publish \"dist/js/ts-case-convert-$(cat dist/version.txt).tgz\" --tag latest",
|
|
16
|
+
"release": "rm -fr dist && pnpm run bump && pnpm run build && pnpm run unbump",
|
|
17
|
+
"tag": "node scripts/tag-version.js",
|
|
18
|
+
"test": "jest --passWithNoTests --updateSnapshot",
|
|
19
|
+
"test:watch": "jest --watch",
|
|
20
|
+
"unbump": "node scripts/reset-version.js",
|
|
21
|
+
"upgrade": "pnpm dlx npm-check-updates@latest --upgrade --target=latest --peer --dep=dev,peer,prod,optional --filter=@types/jest,@types/node,@typescript-eslint/eslint-plugin,@typescript-eslint/parser,constructs,eslint-import-resolver-typescript,eslint-plugin-import,eslint,jest,jest-junit,standard-version,ts-jest,typescript && pnpm install",
|
|
22
|
+
"watch": "tsc --build -w"
|
|
27
23
|
},
|
|
28
24
|
"author": {
|
|
29
25
|
"name": "Ross Williams",
|
|
@@ -31,20 +27,19 @@
|
|
|
31
27
|
"organization": "Universal Constructor"
|
|
32
28
|
},
|
|
33
29
|
"devDependencies": {
|
|
34
|
-
"@types/jest": "^
|
|
35
|
-
"@types/node": "^
|
|
36
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
37
|
-
"@typescript-eslint/parser": "^
|
|
38
|
-
"constructs": "^10.
|
|
39
|
-
"eslint": "^
|
|
40
|
-
"eslint-import-resolver-typescript": "^
|
|
41
|
-
"eslint-plugin-import": "^2.
|
|
42
|
-
"jest": "^
|
|
43
|
-
"jest-junit": "^
|
|
44
|
-
"projen": "^0.77.6",
|
|
30
|
+
"@types/jest": "^30.0.0",
|
|
31
|
+
"@types/node": "^24.12.4",
|
|
32
|
+
"@typescript-eslint/eslint-plugin": "^8.59.4",
|
|
33
|
+
"@typescript-eslint/parser": "^8.59.4",
|
|
34
|
+
"constructs": "^10.6.0",
|
|
35
|
+
"eslint": "^9.39.4",
|
|
36
|
+
"eslint-import-resolver-typescript": "^4.4.4",
|
|
37
|
+
"eslint-plugin-import": "^2.32.0",
|
|
38
|
+
"jest": "^30.4.2",
|
|
39
|
+
"jest-junit": "^17.0.0",
|
|
45
40
|
"standard-version": "^9",
|
|
46
|
-
"ts-jest": "^29.
|
|
47
|
-
"typescript": "
|
|
41
|
+
"ts-jest": "^29.4.11",
|
|
42
|
+
"typescript": "6.0.3"
|
|
48
43
|
},
|
|
49
44
|
"keywords": [
|
|
50
45
|
"PascalCase",
|
|
@@ -58,7 +53,32 @@
|
|
|
58
53
|
],
|
|
59
54
|
"main": "lib/index.js",
|
|
60
55
|
"license": "Apache-2.0",
|
|
61
|
-
"
|
|
56
|
+
"packageManager": "pnpm@10.33.0",
|
|
57
|
+
"typesVersions": {
|
|
58
|
+
"*": {
|
|
59
|
+
"no-split-numbers": [
|
|
60
|
+
"lib/no-split-numbers.d.ts"
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"version": "2.3.0",
|
|
62
65
|
"types": "lib/index.d.ts",
|
|
63
|
-
"
|
|
66
|
+
"exports": {
|
|
67
|
+
".": {
|
|
68
|
+
"types": "./lib/index.d.ts",
|
|
69
|
+
"require": "./lib/index.js",
|
|
70
|
+
"default": "./lib/index.js"
|
|
71
|
+
},
|
|
72
|
+
"./no-split-numbers": {
|
|
73
|
+
"types": "./lib/no-split-numbers.d.ts",
|
|
74
|
+
"require": "./lib/no-split-numbers.js",
|
|
75
|
+
"default": "./lib/no-split-numbers.js"
|
|
76
|
+
},
|
|
77
|
+
"./lib/*": {
|
|
78
|
+
"types": "./lib/*.d.ts",
|
|
79
|
+
"require": "./lib/*.js",
|
|
80
|
+
"default": "./lib/*.js"
|
|
81
|
+
},
|
|
82
|
+
"./package.json": "./package.json"
|
|
83
|
+
}
|
|
64
84
|
}
|
package/.changelog.tmp.md
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
## [1.2.0](https://github.com/RossWilliams/ts-case-convert/compare/v1.1.2...v1.2.0) (2021-06-08)
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
### Features
|
|
6
|
-
|
|
7
|
-
* support convert to pascal case and typescript 4.3 ([d615d9c](https://github.com/RossWilliams/ts-case-convert/commit/d615d9c80b97c6e3e826df5a5b5ad41521ac95da))
|
package/CHANGELOG.md
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
|
-
|
|
5
|
-
### [1.1.2](https://github.com/RossWilliams/ts-case-convert/compare/v1.1.1...v1.1.2) (2021-03-31)
|
|
6
|
-
|
|
7
|
-
### [1.1.1](https://github.com/RossWilliams/ts-case-convert/compare/v1.1.0...v1.1.1) (2021-03-31)
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
### Bug Fixes
|
|
11
|
-
|
|
12
|
-
* better support optional nested types ([ea7e171](https://github.com/RossWilliams/ts-case-convert/commit/ea7e1716abb445bd9b48c5a07028860cef962f1b))
|
|
13
|
-
|
|
14
|
-
## [1.1.0](https://github.com/RossWilliams/ts-case-convert/compare/v1.0.5...v1.1.0) (2021-03-24)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
### Features
|
|
18
|
-
|
|
19
|
-
* export ObjectToCamel and ObjectToSnake types ([c48f0f3](https://github.com/RossWilliams/ts-case-convert/commit/c48f0f3f2b87f6eef6afcd818fb03869b564494a))
|
|
20
|
-
|
|
21
|
-
### [1.0.5](https://github.com/RossWilliams/ts-case-convert/compare/v1.0.4...v1.0.5) (2021-03-14)
|
|
22
|
-
|
|
23
|
-
### [1.0.4](https://github.com/RossWilliams/ts-case-convert/compare/v1.0.3...v1.0.4) (2021-03-14)
|
|
24
|
-
|
|
25
|
-
### [1.0.3](https://github.com/RossWilliams/ts-case-convert/compare/v1.0.2...v1.0.3) (2021-03-14)
|
|
26
|
-
|
|
27
|
-
### [1.0.2](https://github.com/RossWilliams/ts-case-convert/compare/v1.0.1...v1.0.2) (2021-03-14)
|
|
28
|
-
|
|
29
|
-
### 1.0.1 (2021-03-14)
|
|
30
|
-
|
|
31
|
-
### 0.1.1 (2021-03-14)
|