@ddunigma/node 2.0.2 → 2.2.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.
Files changed (51) hide show
  1. package/LICENCE +1 -1
  2. package/README.md +342 -78
  3. package/dist/DduStream-KO75MEEM.js +2 -0
  4. package/dist/chunk-CZMUPXSK.js +5 -0
  5. package/dist/index.cjs +8 -0
  6. package/dist/index.d.cts +813 -0
  7. package/dist/index.d.ts +813 -0
  8. package/dist/index.js +5 -0
  9. package/package.json +34 -15
  10. package/dist/cjs/base/BaseDdu.d.ts +0 -53
  11. package/dist/cjs/base/BaseDdu.js +0 -29
  12. package/dist/cjs/base/index.d.ts +0 -1
  13. package/dist/cjs/base/index.js +0 -5
  14. package/dist/cjs/charSets/index.d.ts +0 -18
  15. package/dist/cjs/charSets/index.js +0 -4385
  16. package/dist/cjs/encoders/Ddu64.d.ts +0 -185
  17. package/dist/cjs/encoders/Ddu64.js +0 -941
  18. package/dist/cjs/encoders/index.d.ts +0 -1
  19. package/dist/cjs/encoders/index.js +0 -5
  20. package/dist/cjs/index.d.ts +0 -4
  21. package/dist/cjs/index.js +0 -9
  22. package/dist/cjs/package.json +0 -3
  23. package/dist/cjs/types/DduDefaultTypes.d.ts +0 -3
  24. package/dist/cjs/types/DduDefaultTypes.js +0 -17
  25. package/dist/cjs/types/DduEnums.d.ts +0 -6
  26. package/dist/cjs/types/DduEnums.js +0 -10
  27. package/dist/cjs/types/DduInterface.d.ts +0 -39
  28. package/dist/cjs/types/DduInterface.js +0 -2
  29. package/dist/cjs/types/index.d.ts +0 -3
  30. package/dist/cjs/types/index.js +0 -19
  31. package/dist/mjs/base/BaseDdu.d.ts +0 -53
  32. package/dist/mjs/base/BaseDdu.js +0 -23
  33. package/dist/mjs/base/index.d.ts +0 -1
  34. package/dist/mjs/base/index.js +0 -1
  35. package/dist/mjs/charSets/index.d.ts +0 -18
  36. package/dist/mjs/charSets/index.js +0 -4380
  37. package/dist/mjs/encoders/Ddu64.d.ts +0 -185
  38. package/dist/mjs/encoders/Ddu64.js +0 -964
  39. package/dist/mjs/encoders/index.d.ts +0 -1
  40. package/dist/mjs/encoders/index.js +0 -1
  41. package/dist/mjs/index.d.ts +0 -4
  42. package/dist/mjs/index.js +0 -3
  43. package/dist/mjs/package.json +0 -3
  44. package/dist/mjs/types/DduDefaultTypes.d.ts +0 -3
  45. package/dist/mjs/types/DduDefaultTypes.js +0 -14
  46. package/dist/mjs/types/DduEnums.d.ts +0 -6
  47. package/dist/mjs/types/DduEnums.js +0 -7
  48. package/dist/mjs/types/DduInterface.d.ts +0 -39
  49. package/dist/mjs/types/DduInterface.js +0 -1
  50. package/dist/mjs/types/index.d.ts +0 -3
  51. package/dist/mjs/types/index.js +0 -3
package/package.json CHANGED
@@ -1,29 +1,40 @@
1
1
  {
2
2
  "name": "@ddunigma/node",
3
- "version": "2.0.2",
4
- "main": "dist/cjs/index.js",
5
- "module": "dist/mjs/index.js",
6
- "types": "dist/mjs/index.d.ts",
3
+ "version": "2.2.0",
4
+ "main": "dist/index.cjs",
5
+ "module": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
7
  "type": "module",
8
+ "engines": {
9
+ "node": ">=18.0.0"
10
+ },
8
11
  "scripts": {
9
- "build": "rm -rf dist/* && tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && sh postProcess.sh",
10
- "test": "tsx ./src/test/test-quick.ts",
11
- "test:comprehensive": "tsx ./src/test/test-comprehensive.ts",
12
- "test:all": "tsx ./src/test/test-all-integrated.ts",
13
- "dev": "tsx ./src/test/test-quick.ts"
12
+ "build": "tsup",
13
+ "bench": "node --expose-gc --import tsx benchmarks/encoding-benchmark.ts",
14
+ "pack:check": "node scripts/verify-pack.mjs",
15
+ "test": "vitest run",
16
+ "test:watch": "vitest",
17
+ "test:coverage": "vitest run --coverage",
18
+ "lint": "eslint src benchmarks eslint.config.mjs tsup.config.ts --fix",
19
+ "format": "prettier --write src/",
20
+ "test:all": "vitest run"
14
21
  },
15
22
  "exports": {
16
23
  ".": {
17
24
  "import": {
18
- "types": "./dist/mjs/index.d.ts",
19
- "default": "./dist/mjs/index.js"
25
+ "types": "./dist/index.d.ts",
26
+ "default": "./dist/index.js"
20
27
  },
21
28
  "require": {
22
- "types": "./dist/cjs/index.d.ts",
23
- "default": "./dist/cjs/index.js"
29
+ "types": "./dist/index.d.cts",
30
+ "default": "./dist/index.cjs"
24
31
  }
25
32
  }
26
33
  },
34
+ "files": [
35
+ "dist",
36
+ "!dist/**/*.map"
37
+ ],
27
38
  "repository": {
28
39
  "type": "git",
29
40
  "url": "https://github.com/parkjh2568/ddunigma-node.git"
@@ -32,16 +43,24 @@
32
43
  "license": "BSD-2-Clause",
33
44
  "description": "",
34
45
  "devDependencies": {
46
+ "@eslint/js": "^10.0.1",
35
47
  "@types/node": "^22.13.0",
48
+ "@vitest/coverage-v8": "^4.1.2",
49
+ "eslint": "^10.2.0",
50
+ "globals": "^17.4.0",
51
+ "prettier": "^3.8.1",
52
+ "tsup": "^8.5.1",
36
53
  "tsx": "^4.19.2",
37
- "typescript": "^5.7.3"
54
+ "typescript": "^5.7.3",
55
+ "typescript-eslint": "^8.58.0",
56
+ "vitest": "^4.1.2"
38
57
  },
39
58
  "keywords": [
40
59
  "ddu",
41
60
  "enigma",
42
61
  "Base64",
43
62
  "base conversion",
44
- "base64 encord",
63
+ "base64 encode",
45
64
  "base64 decode",
46
65
  "base64_encode",
47
66
  "base64_decode",
@@ -1,53 +0,0 @@
1
- import { DduOptions } from "../types";
2
- export declare abstract class BaseDdu {
3
- protected readonly defaultEncoding: BufferEncoding;
4
- /**
5
- * 주어진 숫자보다 작거나 같은 가장 큰 2의 제곱수의 지수를 반환합니다.
6
- * @param n - 대상 숫자
7
- * @returns 2의 제곱수 지수 (예: n=8 → 3, n=64 → 6)
8
- * @example getLargestPowerOfTwoExponent(8) // 3
9
- * @example getLargestPowerOfTwoExponent(100) // 6
10
- */
11
- protected getLargestPowerOfTwoExponent(n: number): number;
12
- /**
13
- * charset 크기에 필요한 비트 길이를 계산합니다.
14
- * @param setLength - charset 문자 수
15
- * @returns 필요한 비트 수
16
- * @example getBitLength(64) // 6
17
- * @example getBitLength(100) // 7
18
- */
19
- protected getBitLength(setLength: number): number;
20
- /**
21
- * 입력 데이터를 인코딩합니다.
22
- * @param input - 인코딩할 문자열 또는 Buffer
23
- * @param options - 인코딩 옵션
24
- * @returns 인코딩된 문자열
25
- */
26
- abstract encode(input: Buffer | string, options?: DduOptions): string;
27
- /**
28
- * 인코딩된 문자열을 Buffer로 디코딩합니다.
29
- * @param input - 인코딩된 문자열
30
- * @param options - 디코딩 옵션
31
- * @returns 디코딩된 Buffer
32
- */
33
- abstract decodeToBuffer(input: string, options?: DduOptions): Buffer;
34
- /**
35
- * 인코딩된 문자열을 원본 문자열로 디코딩합니다.
36
- * @param input - 인코딩된 문자열
37
- * @param options - 디코딩 옵션
38
- * @returns 디코딩된 문자열
39
- */
40
- abstract decode(input: string, options?: DduOptions): string;
41
- /**
42
- * 현재 인코더의 charset 정보를 반환합니다.
43
- * @returns charset 설정 정보 객체
44
- */
45
- abstract getCharSetInfo(): {
46
- charSet: string[];
47
- paddingChar: string;
48
- charLength: number;
49
- bitLength: number;
50
- usePowerOfTwo: boolean;
51
- encoding: BufferEncoding;
52
- };
53
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseDdu = void 0;
4
- class BaseDdu {
5
- constructor() {
6
- this.defaultEncoding = "utf-8";
7
- }
8
- /**
9
- * 주어진 숫자보다 작거나 같은 가장 큰 2의 제곱수의 지수를 반환합니다.
10
- * @param n - 대상 숫자
11
- * @returns 2의 제곱수 지수 (예: n=8 → 3, n=64 → 6)
12
- * @example getLargestPowerOfTwoExponent(8) // 3
13
- * @example getLargestPowerOfTwoExponent(100) // 6
14
- */
15
- getLargestPowerOfTwoExponent(n) {
16
- return Math.floor(Math.log2(n));
17
- }
18
- /**
19
- * charset 크기에 필요한 비트 길이를 계산합니다.
20
- * @param setLength - charset 문자 수
21
- * @returns 필요한 비트 수
22
- * @example getBitLength(64) // 6
23
- * @example getBitLength(100) // 7
24
- */
25
- getBitLength(setLength) {
26
- return Math.ceil(Math.log2(setLength));
27
- }
28
- }
29
- exports.BaseDdu = BaseDdu;
@@ -1 +0,0 @@
1
- export { BaseDdu } from "./BaseDdu";
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseDdu = void 0;
4
- var BaseDdu_1 = require("./BaseDdu");
5
- Object.defineProperty(exports, "BaseDdu", { enumerable: true, get: function () { return BaseDdu_1.BaseDdu; } });
@@ -1,18 +0,0 @@
1
- import { CharSetConfig, DduSetSymbol } from "../types";
2
- /**
3
- * 심볼에 해당하는 charset 설정을 반환합니다.
4
- * @param symbol - charset 심볼
5
- * @returns CharSetConfig 또는 undefined
6
- */
7
- export declare function getCharSet(symbol: DduSetSymbol): CharSetConfig | undefined;
8
- /**
9
- * 모든 사용 가능한 charset 심볼 목록을 반환합니다.
10
- * @returns DduSetSymbol 배열
11
- */
12
- export declare function getAllSymbols(): DduSetSymbol[];
13
- /**
14
- * 해당 심볼의 charset이 존재하는지 확인합니다.
15
- * @param symbol - 확인할 charset 심볼
16
- * @returns 존재 여부
17
- */
18
- export declare function hasCharSet(symbol: DduSetSymbol): boolean;