deukpack 1.0.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/LICENSE +201 -0
- package/NOTICE +6 -0
- package/README.ko.md +138 -0
- package/README.md +182 -0
- package/RELEASING.md +71 -0
- package/bin/deukpack.js +9 -0
- package/dist/ast/DeukPackASTBuilder.d.ts +153 -0
- package/dist/ast/DeukPackASTBuilder.d.ts.map +1 -0
- package/dist/ast/DeukPackASTBuilder.js +931 -0
- package/dist/ast/DeukPackASTBuilder.js.map +1 -0
- package/dist/codegen/CSharpGenerator.d.ts +136 -0
- package/dist/codegen/CSharpGenerator.d.ts.map +1 -0
- package/dist/codegen/CSharpGenerator.js +2303 -0
- package/dist/codegen/CSharpGenerator.js.map +1 -0
- package/dist/codegen/CodeGenerator.d.ts +11 -0
- package/dist/codegen/CodeGenerator.d.ts.map +1 -0
- package/dist/codegen/CodeGenerator.js +11 -0
- package/dist/codegen/CodeGenerator.js.map +1 -0
- package/dist/codegen/CppGenerator.d.ts +23 -0
- package/dist/codegen/CppGenerator.d.ts.map +1 -0
- package/dist/codegen/CppGenerator.js +215 -0
- package/dist/codegen/CppGenerator.js.map +1 -0
- package/dist/codegen/HighPerformanceCSharpGenerator.d.ts +29 -0
- package/dist/codegen/HighPerformanceCSharpGenerator.d.ts.map +1 -0
- package/dist/codegen/HighPerformanceCSharpGenerator.js +486 -0
- package/dist/codegen/HighPerformanceCSharpGenerator.js.map +1 -0
- package/dist/core/DeukPackEngine.d.ts +69 -0
- package/dist/core/DeukPackEngine.d.ts.map +1 -0
- package/dist/core/DeukPackEngine.js +379 -0
- package/dist/core/DeukPackEngine.js.map +1 -0
- package/dist/core/DeukPackGenerator.d.ts +9 -0
- package/dist/core/DeukPackGenerator.d.ts.map +1 -0
- package/dist/core/DeukPackGenerator.js +15 -0
- package/dist/core/DeukPackGenerator.js.map +1 -0
- package/dist/core/DeukParser.d.ts +12 -0
- package/dist/core/DeukParser.d.ts.map +1 -0
- package/dist/core/DeukParser.js +27 -0
- package/dist/core/DeukParser.js.map +1 -0
- package/dist/core/IdlParser.d.ts +27 -0
- package/dist/core/IdlParser.d.ts.map +1 -0
- package/dist/core/IdlParser.js +157 -0
- package/dist/core/IdlParser.js.map +1 -0
- package/dist/core/ProtoParser.d.ts +12 -0
- package/dist/core/ProtoParser.d.ts.map +1 -0
- package/dist/core/ProtoParser.js +27 -0
- package/dist/core/ProtoParser.js.map +1 -0
- package/dist/csharp/DpExcelProtocol.cs +3005 -0
- package/dist/csharp/DpProtocolLibrary.cs +13 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/lexer/DeukLexer.d.ts +31 -0
- package/dist/lexer/DeukLexer.d.ts.map +1 -0
- package/dist/lexer/DeukLexer.js +292 -0
- package/dist/lexer/DeukLexer.js.map +1 -0
- package/dist/lexer/IdlLexer.d.ts +33 -0
- package/dist/lexer/IdlLexer.d.ts.map +1 -0
- package/dist/lexer/IdlLexer.js +286 -0
- package/dist/lexer/IdlLexer.js.map +1 -0
- package/dist/native/NativeDeukPackEngine.d.ts +30 -0
- package/dist/native/NativeDeukPackEngine.d.ts.map +1 -0
- package/dist/native/NativeDeukPackEngine.js +99 -0
- package/dist/native/NativeDeukPackEngine.js.map +1 -0
- package/dist/proto/ProtoASTBuilder.d.ts +29 -0
- package/dist/proto/ProtoASTBuilder.d.ts.map +1 -0
- package/dist/proto/ProtoASTBuilder.js +239 -0
- package/dist/proto/ProtoASTBuilder.js.map +1 -0
- package/dist/proto/ProtoLexer.d.ts +29 -0
- package/dist/proto/ProtoLexer.d.ts.map +1 -0
- package/dist/proto/ProtoLexer.js +264 -0
- package/dist/proto/ProtoLexer.js.map +1 -0
- package/dist/proto/ProtoTypes.d.ts +40 -0
- package/dist/proto/ProtoTypes.d.ts.map +1 -0
- package/dist/proto/ProtoTypes.js +37 -0
- package/dist/proto/ProtoTypes.js.map +1 -0
- package/dist/protocols/BinaryProtocol.d.ts +7 -0
- package/dist/protocols/BinaryProtocol.d.ts.map +1 -0
- package/dist/protocols/BinaryProtocol.js +11 -0
- package/dist/protocols/BinaryProtocol.js.map +1 -0
- package/dist/protocols/BinaryWriter.d.ts +22 -0
- package/dist/protocols/BinaryWriter.d.ts.map +1 -0
- package/dist/protocols/BinaryWriter.js +104 -0
- package/dist/protocols/BinaryWriter.js.map +1 -0
- package/dist/protocols/CompactProtocol.d.ts +7 -0
- package/dist/protocols/CompactProtocol.d.ts.map +1 -0
- package/dist/protocols/CompactProtocol.js +11 -0
- package/dist/protocols/CompactProtocol.js.map +1 -0
- package/dist/protocols/ExcelProtocol.d.ts +98 -0
- package/dist/protocols/ExcelProtocol.d.ts.map +1 -0
- package/dist/protocols/ExcelProtocol.js +639 -0
- package/dist/protocols/ExcelProtocol.js.map +1 -0
- package/dist/protocols/JsonProtocol.d.ts +68 -0
- package/dist/protocols/JsonProtocol.d.ts.map +1 -0
- package/dist/protocols/JsonProtocol.js +422 -0
- package/dist/protocols/JsonProtocol.js.map +1 -0
- package/dist/protocols/WireProtocol.d.ts +348 -0
- package/dist/protocols/WireProtocol.d.ts.map +1 -0
- package/dist/protocols/WireProtocol.js +912 -0
- package/dist/protocols/WireProtocol.js.map +1 -0
- package/dist/serialization/WireDeserializer.d.ts +8 -0
- package/dist/serialization/WireDeserializer.d.ts.map +1 -0
- package/dist/serialization/WireDeserializer.js +13 -0
- package/dist/serialization/WireDeserializer.js.map +1 -0
- package/dist/serialization/WireSerializer.d.ts +20 -0
- package/dist/serialization/WireSerializer.d.ts.map +1 -0
- package/dist/serialization/WireSerializer.js +100 -0
- package/dist/serialization/WireSerializer.js.map +1 -0
- package/dist/types/DeukPackTypes.d.ts +291 -0
- package/dist/types/DeukPackTypes.d.ts.map +1 -0
- package/dist/types/DeukPackTypes.js +76 -0
- package/dist/types/DeukPackTypes.js.map +1 -0
- package/dist/utils/EndianUtils.d.ts +11 -0
- package/dist/utils/EndianUtils.d.ts.map +1 -0
- package/dist/utils/EndianUtils.js +32 -0
- package/dist/utils/EndianUtils.js.map +1 -0
- package/dist/utils/PerformanceMonitor.d.ts +26 -0
- package/dist/utils/PerformanceMonitor.d.ts.map +1 -0
- package/dist/utils/PerformanceMonitor.js +57 -0
- package/dist/utils/PerformanceMonitor.js.map +1 -0
- package/package.json +77 -0
- package/scripts/build_deukpack.js +669 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeukPackASTBuilder.js","sourceRoot":"","sources":["../../src/ast/DeukPackASTBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DeukPack C# Generator
|
|
3
|
+
* C# code generation
|
|
4
|
+
*/
|
|
5
|
+
import { DeukPackAST, GenerationOptions } from '../types/DeukPackTypes';
|
|
6
|
+
import { CodeGenerator } from './CodeGenerator';
|
|
7
|
+
export declare class CSharpGenerator extends CodeGenerator {
|
|
8
|
+
generate(ast: DeukPackAST, _options: GenerationOptions): Promise<{
|
|
9
|
+
[filename: string]: string;
|
|
10
|
+
}>;
|
|
11
|
+
/** Entity Framework Core: DbContext + DbSet per 메타 테이블. efSupport 시에만 호출. */
|
|
12
|
+
private generateEfDbContext;
|
|
13
|
+
/** tablelink<Table, Key>: 대상 테이블 row 타입에 지정한 키 필드가 없으면 오류. */
|
|
14
|
+
private validateTableLinkFields;
|
|
15
|
+
/** include 포함 전체 AST 기준 와이어/구조 영향 스키마 지문. 정의 변경 시 값이 바뀌어 스키마 버전 변경 여부를 코드젠 수준에서 판단 가능. */
|
|
16
|
+
private computeSchemaFingerprint;
|
|
17
|
+
private canonicalTypeStringForFingerprint;
|
|
18
|
+
private djb2Hash;
|
|
19
|
+
/** 메타 테이블(table/container) 목록 수집: 카테고리, 컨테이너 타입 풀네임, row 타입 풀네임, 키 필드명 목록 */
|
|
20
|
+
private collectMetaTableDefinitions;
|
|
21
|
+
/** MetaTableRegistry.g.cs 생성 — GetContainerType/GetRowType/GetKeyFieldNames/CreateEmptyTemplate, SchemaFingerprint, 리플렉션 제거 */
|
|
22
|
+
private generateMetaTableRegistry;
|
|
23
|
+
private groupBySourceFile;
|
|
24
|
+
private getFilenameFromSource;
|
|
25
|
+
private generateEnum;
|
|
26
|
+
/** 테이블 행 타입 여부: 어떤 meta container의 infos map value type으로 쓰이는지 */
|
|
27
|
+
private isTableRowType;
|
|
28
|
+
private generateStruct;
|
|
29
|
+
/** table 키워드: struct 이름이 table 또는 container(호환)이고 header + infos(map) 필드면 메타 테이블로 간주 */
|
|
30
|
+
private isMetaContainerStruct;
|
|
31
|
+
private generateFieldSchema;
|
|
32
|
+
/** Full C# string literal including quotes (e.g. for DocComment = "..." ). */
|
|
33
|
+
private escapeCSharpString;
|
|
34
|
+
/** Escape content for use inside C# "..." (no surrounding quotes). */
|
|
35
|
+
private escapeCSharpStringContent;
|
|
36
|
+
private dictToCSharpAnnotations;
|
|
37
|
+
/** 득팩 표준 타입명으로 TypeName 반환 (엑셀 Row2 등). 레거시 i16/i32/i64 → int16/int32/int64, list→요소타입만, map→map<K,V>. */
|
|
38
|
+
private getSchemaTypeInfo;
|
|
39
|
+
/** C# expression for DpFieldSchema.DefaultValue (object) – full value for schema recovery. */
|
|
40
|
+
private serializeDefaultValueToSchemaExpression;
|
|
41
|
+
/**
|
|
42
|
+
* message<> 첫 필드 기본값: struct.annotations.msgId + 첫 필드 타입의 AST만 사용.
|
|
43
|
+
* 타입명/프로퍼티명 하드코딩 없음 — 첫 필드 struct에서 'result' 포함 필드·메시지 id용 필드 이름을 AST로 조회.
|
|
44
|
+
*/
|
|
45
|
+
private buildMessageFirstFieldDefault;
|
|
46
|
+
/** 필드 기본값의 C# 우변 식 반환 (인스턴스 초기화·Default_ 정적 프로퍼티 공용). enum/struct/primitive 공통. */
|
|
47
|
+
private getFieldDefaultExpression;
|
|
48
|
+
private generateField;
|
|
49
|
+
/** Struct의 풀네임 (namespace.shortName) */
|
|
50
|
+
private getStructFullName;
|
|
51
|
+
/** Enum의 풀네임 (namespace.shortName) */
|
|
52
|
+
private getEnumFullName;
|
|
53
|
+
/** Typedef의 풀네임 (namespace.shortName) */
|
|
54
|
+
private getTypedefFullName;
|
|
55
|
+
/** 타입 문자열을 풀네임으로 해석. AST의 struct/enum/typedef 기준으로만 매칭 (이름·점 휴리스틱 없음). */
|
|
56
|
+
private resolveTypeToFullName;
|
|
57
|
+
/**
|
|
58
|
+
* AST 기준 타입 판별: 휴리스틱 없이 struct/enum/typedef 조회만 사용.
|
|
59
|
+
* AST에 정의되지 않은 타입(typedef/struct/enum에 없음) → primitive 로 간주.
|
|
60
|
+
* @returns 'primitive' | { kind: 'record', def } | { kind: 'enum', def } | null (미정의 타입, 득팩 표준 record)
|
|
61
|
+
*/
|
|
62
|
+
private resolveTypeToASTDefinition;
|
|
63
|
+
/**
|
|
64
|
+
* Apache 호환: default 있는 struct 필드 할당 후, 그 내부의 default 있는 nested struct가 null이면 CreateDefault()로 채움.
|
|
65
|
+
* (기본값이 있는 중첩 필드는 AST 기준으로만 처리, 타입명 하드코딩 없음)
|
|
66
|
+
*/
|
|
67
|
+
private generateEnsureNestedDefaults;
|
|
68
|
+
/** AST에서 풀네임으로만 struct 정의 찾기. typedef이면 대상 타입으로 따라감. */
|
|
69
|
+
private findStruct;
|
|
70
|
+
/** AST에서 풀네임 또는 short name( currentNamespace 있을 때)으로 typedef 정의 찾기 */
|
|
71
|
+
private findTypedef;
|
|
72
|
+
/**
|
|
73
|
+
* Struct 필드 기본값 객체 → C# 객체 초기화.
|
|
74
|
+
* Apache 호환: 특정 필드만 지정해도, 지정되지 않은 하위 struct 멤버는 CreateDefault()로 할당.
|
|
75
|
+
* 구조체·enum·변수 참조는 항상 풀네임으로 생성.
|
|
76
|
+
*/
|
|
77
|
+
private getCSharpStructObjectInitializer;
|
|
78
|
+
/**
|
|
79
|
+
* Struct 멤버 기본값 → C# 우변 식.
|
|
80
|
+
* enum/구조체/변수 참조는 항상 풀네임으로 생성. 필드 타입(풀네임)만 보고 분기.
|
|
81
|
+
*/
|
|
82
|
+
private getCSharpDefaultValueForStructMember;
|
|
83
|
+
private generateWriteCondition;
|
|
84
|
+
/** 레거시 Thrift typedef i64 _link_* / _linktid_* 타입명 여부 (AST에 typedef 없을 때 long 처리용). */
|
|
85
|
+
private isLinkTypedefName;
|
|
86
|
+
/** currentNamespace 지정 시 다른 네임스페이스 타입은 풀네임으로 반환. AST 조회만 사용(휴리스틱 없음). */
|
|
87
|
+
private getCSharpType;
|
|
88
|
+
private getCSharpDefaultValue;
|
|
89
|
+
private capitalize;
|
|
90
|
+
/** typedef를 따라 최종 wire 타입 문자열 반환 (타입 매칭용). 객체(list/set/map)는 그대로 두고 getTType에서 처리. */
|
|
91
|
+
private getResolvedWireTypeString;
|
|
92
|
+
/** Wire type: enum→I32, typedef→해당 primitive/enum/struct/list/set/map, 그 외 custom→Struct. */
|
|
93
|
+
private getTType;
|
|
94
|
+
private generateWriteField;
|
|
95
|
+
private generateReadField;
|
|
96
|
+
private generateWriteList;
|
|
97
|
+
private generateWriteSet;
|
|
98
|
+
private generateWriteMap;
|
|
99
|
+
private generateReadList;
|
|
100
|
+
private generateReadSet;
|
|
101
|
+
private generateReadMap;
|
|
102
|
+
private groupByNamespace;
|
|
103
|
+
private getServiceNamespace;
|
|
104
|
+
private generateService;
|
|
105
|
+
private getEnumNamespace;
|
|
106
|
+
private getStructNamespace;
|
|
107
|
+
private getTypedefNamespace;
|
|
108
|
+
private getConstantNamespace;
|
|
109
|
+
/** AST 조회로만 판별. currentNamespace 있으면 short name 해석. */
|
|
110
|
+
private isPrimitiveType;
|
|
111
|
+
/** AST 조회로만 판별 (휴리스틱 없음). currentNamespace 있으면 short name 해석. */
|
|
112
|
+
private isEnumType;
|
|
113
|
+
/** AST 조회로만 판별. currentNamespace 있으면 short name 해석. */
|
|
114
|
+
private isEnumTypeFullName;
|
|
115
|
+
/** 풀네임 또는 short name( currentNamespace 있을 때)으로 enum 정의 반환 */
|
|
116
|
+
private findEnumByFullName;
|
|
117
|
+
/** 원시 스키마 타입이면 true (typedef 포함, AST 기준). C# 출력에 원시 타입명(i32 등)이 나오면 안 됨. */
|
|
118
|
+
private isPrimitiveSchemaType;
|
|
119
|
+
/** 값 이름으로 AST에 정의된 enum 풀네임 반환. 동일 값 이름이 여러 enum에 있으면 currentNamespace와 같은 네임스페이스 enum 우선. */
|
|
120
|
+
private findEnumFullNameByValueName;
|
|
121
|
+
/** C# 타입 이름이 AST에 정의된 struct인지. AST 조회만 사용. */
|
|
122
|
+
private isStructCSharpType;
|
|
123
|
+
/** AST 조회로만 판별. currentNamespace 있으면 short name 해석. */
|
|
124
|
+
private isStructTypeFullName;
|
|
125
|
+
/** 필드 타입이 AST에 정의된 struct인지. list/set/map 요소가 아닌 필드 타입 자체가 struct일 때 true. currentNamespace 있으면 short name 해석. */
|
|
126
|
+
private isStructType;
|
|
127
|
+
/** CreateDefault() 내 필드 초기화 RHS: IDL 기본값이 있으면 사용(호환), 없으면 struct→CreateDefault(), list/set/map→빈 컬렉션, primitive/enum→타입 기본값 */
|
|
128
|
+
private generateCreateDefaultRhs;
|
|
129
|
+
private generateCloneField;
|
|
130
|
+
private generateCloneElement;
|
|
131
|
+
private generateToStringField;
|
|
132
|
+
private resolveConstant;
|
|
133
|
+
private generateTypedef;
|
|
134
|
+
private generateConstant;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=CSharpGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CSharpGenerator.d.ts","sourceRoot":"","sources":["../../src/codegen/CSharpGenerator.ts"],"names":[],"mappings":"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"}
|