8000 Merge pull request #473 from javascript-obfuscator/enums-export-in-ty… · sec-js/javascript-obfuscator@f273af1 · GitHub
[go: up one dir, main page]

Skip to content

Commit f273af1

Browse files
authored
Merge pull request javascript-obfuscator#473 from javascript-obfuscator/enums-export-in-typings
Fixed typings
2 parents b7edcdc + 2f27d75 commit f273af1

File tree

15 files changed

+72
-35
lines changed

15 files changed

+72
-35
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Change Log
33
v0.20.3
44
---
55
* Fixed `for-await-of` statement: https://github.com/javascript-obfuscator/javascript-obfuscator/issues/419
6+
* Fixed typings. Now string values correctly assignable to enum-like options
67

78
v0.20.2
89
---

dist/index.browser.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.cli.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
},
2222
"types": "index.d.ts",
2323
"dependencies": {
24+
"@gradecam/tsenum": "^1.2.0",
2425
"@nuxtjs/opencollective": "0.2.2",
2526
"chalk": "3.0.0",
2627
"chance": "1.1.4",

src/enums/ObfuscationTarget.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1-
export enum ObfuscationTarget {
2-
Browser = 'browser',
3-
BrowserNoEval = 'browser-no-eval',
4-
Node = 'node'
5-
}
1+
import { MakeEnum } from '@gradecam/tsenum';
2+
3+
export const ObfuscationTarget: Readonly<{
4+
BrowserNoEval: string;
5+
Node: string;
6+
Browser: string;
7+
}> = MakeEnum({
8+
Browser: 'browser',
9+
BrowserNoEval: 'browser-no-eval',
10+
Node: 'node'
11+
});

src/enums/StringArrayEncoding.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
export enum StringArrayEncoding {
2-
Base64 = 'base64',
3-
Rc4 = 'rc4'
4-
}
1+
import { MakeEnum } from '@gradecam/tsenum';
2+
3+
export const StringArrayEncoding: Readonly<{
4+
Rc4: string;
5+
Base64: string;
6+
}> = MakeEnum({
7+
Base64: 'base64',
8+
Rc4: 'rc4'
9+
});
Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1-
export enum IdentifierNamesGenerator {
2-
DictionaryIdentifierNamesGenerator = 'dictionary',
3-
HexadecimalIdentifierNamesGenerator = 'hexadecimal',
4-
MangledIdentifierNamesGenerator = 'mangled'
5-
}
1+
import { MakeEnum } from '@gradecam/tsenum';
2+
3+
export const IdentifierNamesGenerator: Readonly<{
4+
MangledIdentifierNamesGenerator: string;
5+
DictionaryIdentifierNamesGenerator: string;
6+
HexadecimalIdentifierNamesGenerator: string;
7+
}> = MakeEnum({
8+
DictionaryIdentifierNamesGenerator: 'dictionary',
9+
HexadecimalIdentifierNamesGenerator: 'hexadecimal',
10+
MangledIdentifierNamesGenerator: 'mangled'
11+
});

src/enums/source-map/SourceMapMode.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
export enum SourceMapMode {
2-
Inline = 'inline',
3-
Separate = 'separate'
4-
}
1+
import { MakeEnum } from '@gradecam/tsenum';
2+
3+
export const SourceMapMode: Readonly<{
4+
Separate: string;
5+
Inline: string;
6+
}> = MakeEnum({
7+
Inline: 'inline',
8+
Separate: 'separate'
9+
});

src/interfaces/options/IOptions.d.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { TypeFromEnum } from '@gradecam/tsenum';
2+
13
import { TStringArrayEncoding } from '../../types/options/TStringArrayEncoding';
24

35
import { IdentifierNamesGenerator } from '../../enums/generators/identifier-names-generators/IdentifierNamesGenerator';
@@ -14,7 +16,7 @@ export interface IOptions {
1416
readonly debugProtectionInterval: boolean;
1517
readonly disableConsoleOutput: boolean;
1618
readonly domainLock: string[];
17-
readonly identifierNamesGenerator: IdentifierNamesGenerator;
19+
readonly identifierNamesGenerator: TypeFromEnum<typeof IdentifierNamesGenerator>;
1820
readonly identifiersDictionary: string[];
1921
readonly identifiersPrefix: string;
2022
readonly inputFileName: string;
@@ -28,13 +30,13 @@ export interface IOptions {
2830
readonly sourceMap: boolean;
2931
readonly sourceMapBaseUrl: string;
3032
readonly sourceMapFileName: string;
31-
readonly sourceMapMode: SourceMapMode;
33+
readonly sourceMapMode: TypeFromEnum<typeof SourceMapMode>;
3234
readonly splitStrings: boolean;
3335
readonly splitStringsChunkLength: number;
3436
readonly stringArray: boolean;
3537
readonly stringArrayEncoding: TStringArrayEncoding;
3638
readonly stringArrayThreshold: number;
37-
readonly target: ObfuscationTarget;
39+
readonly target: TypeFromEnum<typeof ObfuscationTarget>;
3840
readonly transformObjectKeys: boolean;
3941
readonly unicodeEscapeSequence: boolean;
4042
}

0 commit comments

Comments
 (0)
0