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.
Files changed (122) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +6 -0
  3. package/README.ko.md +138 -0
  4. package/README.md +182 -0
  5. package/RELEASING.md +71 -0
  6. package/bin/deukpack.js +9 -0
  7. package/dist/ast/DeukPackASTBuilder.d.ts +153 -0
  8. package/dist/ast/DeukPackASTBuilder.d.ts.map +1 -0
  9. package/dist/ast/DeukPackASTBuilder.js +931 -0
  10. package/dist/ast/DeukPackASTBuilder.js.map +1 -0
  11. package/dist/codegen/CSharpGenerator.d.ts +136 -0
  12. package/dist/codegen/CSharpGenerator.d.ts.map +1 -0
  13. package/dist/codegen/CSharpGenerator.js +2303 -0
  14. package/dist/codegen/CSharpGenerator.js.map +1 -0
  15. package/dist/codegen/CodeGenerator.d.ts +11 -0
  16. package/dist/codegen/CodeGenerator.d.ts.map +1 -0
  17. package/dist/codegen/CodeGenerator.js +11 -0
  18. package/dist/codegen/CodeGenerator.js.map +1 -0
  19. package/dist/codegen/CppGenerator.d.ts +23 -0
  20. package/dist/codegen/CppGenerator.d.ts.map +1 -0
  21. package/dist/codegen/CppGenerator.js +215 -0
  22. package/dist/codegen/CppGenerator.js.map +1 -0
  23. package/dist/codegen/HighPerformanceCSharpGenerator.d.ts +29 -0
  24. package/dist/codegen/HighPerformanceCSharpGenerator.d.ts.map +1 -0
  25. package/dist/codegen/HighPerformanceCSharpGenerator.js +486 -0
  26. package/dist/codegen/HighPerformanceCSharpGenerator.js.map +1 -0
  27. package/dist/core/DeukPackEngine.d.ts +69 -0
  28. package/dist/core/DeukPackEngine.d.ts.map +1 -0
  29. package/dist/core/DeukPackEngine.js +379 -0
  30. package/dist/core/DeukPackEngine.js.map +1 -0
  31. package/dist/core/DeukPackGenerator.d.ts +9 -0
  32. package/dist/core/DeukPackGenerator.d.ts.map +1 -0
  33. package/dist/core/DeukPackGenerator.js +15 -0
  34. package/dist/core/DeukPackGenerator.js.map +1 -0
  35. package/dist/core/DeukParser.d.ts +12 -0
  36. package/dist/core/DeukParser.d.ts.map +1 -0
  37. package/dist/core/DeukParser.js +27 -0
  38. package/dist/core/DeukParser.js.map +1 -0
  39. package/dist/core/IdlParser.d.ts +27 -0
  40. package/dist/core/IdlParser.d.ts.map +1 -0
  41. package/dist/core/IdlParser.js +157 -0
  42. package/dist/core/IdlParser.js.map +1 -0
  43. package/dist/core/ProtoParser.d.ts +12 -0
  44. package/dist/core/ProtoParser.d.ts.map +1 -0
  45. package/dist/core/ProtoParser.js +27 -0
  46. package/dist/core/ProtoParser.js.map +1 -0
  47. package/dist/csharp/DpExcelProtocol.cs +3005 -0
  48. package/dist/csharp/DpProtocolLibrary.cs +13 -0
  49. package/dist/index.d.ts +22 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +43 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/lexer/DeukLexer.d.ts +31 -0
  54. package/dist/lexer/DeukLexer.d.ts.map +1 -0
  55. package/dist/lexer/DeukLexer.js +292 -0
  56. package/dist/lexer/DeukLexer.js.map +1 -0
  57. package/dist/lexer/IdlLexer.d.ts +33 -0
  58. package/dist/lexer/IdlLexer.d.ts.map +1 -0
  59. package/dist/lexer/IdlLexer.js +286 -0
  60. package/dist/lexer/IdlLexer.js.map +1 -0
  61. package/dist/native/NativeDeukPackEngine.d.ts +30 -0
  62. package/dist/native/NativeDeukPackEngine.d.ts.map +1 -0
  63. package/dist/native/NativeDeukPackEngine.js +99 -0
  64. package/dist/native/NativeDeukPackEngine.js.map +1 -0
  65. package/dist/proto/ProtoASTBuilder.d.ts +29 -0
  66. package/dist/proto/ProtoASTBuilder.d.ts.map +1 -0
  67. package/dist/proto/ProtoASTBuilder.js +239 -0
  68. package/dist/proto/ProtoASTBuilder.js.map +1 -0
  69. package/dist/proto/ProtoLexer.d.ts +29 -0
  70. package/dist/proto/ProtoLexer.d.ts.map +1 -0
  71. package/dist/proto/ProtoLexer.js +264 -0
  72. package/dist/proto/ProtoLexer.js.map +1 -0
  73. package/dist/proto/ProtoTypes.d.ts +40 -0
  74. package/dist/proto/ProtoTypes.d.ts.map +1 -0
  75. package/dist/proto/ProtoTypes.js +37 -0
  76. package/dist/proto/ProtoTypes.js.map +1 -0
  77. package/dist/protocols/BinaryProtocol.d.ts +7 -0
  78. package/dist/protocols/BinaryProtocol.d.ts.map +1 -0
  79. package/dist/protocols/BinaryProtocol.js +11 -0
  80. package/dist/protocols/BinaryProtocol.js.map +1 -0
  81. package/dist/protocols/BinaryWriter.d.ts +22 -0
  82. package/dist/protocols/BinaryWriter.d.ts.map +1 -0
  83. package/dist/protocols/BinaryWriter.js +104 -0
  84. package/dist/protocols/BinaryWriter.js.map +1 -0
  85. package/dist/protocols/CompactProtocol.d.ts +7 -0
  86. package/dist/protocols/CompactProtocol.d.ts.map +1 -0
  87. package/dist/protocols/CompactProtocol.js +11 -0
  88. package/dist/protocols/CompactProtocol.js.map +1 -0
  89. package/dist/protocols/ExcelProtocol.d.ts +98 -0
  90. package/dist/protocols/ExcelProtocol.d.ts.map +1 -0
  91. package/dist/protocols/ExcelProtocol.js +639 -0
  92. package/dist/protocols/ExcelProtocol.js.map +1 -0
  93. package/dist/protocols/JsonProtocol.d.ts +68 -0
  94. package/dist/protocols/JsonProtocol.d.ts.map +1 -0
  95. package/dist/protocols/JsonProtocol.js +422 -0
  96. package/dist/protocols/JsonProtocol.js.map +1 -0
  97. package/dist/protocols/WireProtocol.d.ts +348 -0
  98. package/dist/protocols/WireProtocol.d.ts.map +1 -0
  99. package/dist/protocols/WireProtocol.js +912 -0
  100. package/dist/protocols/WireProtocol.js.map +1 -0
  101. package/dist/serialization/WireDeserializer.d.ts +8 -0
  102. package/dist/serialization/WireDeserializer.d.ts.map +1 -0
  103. package/dist/serialization/WireDeserializer.js +13 -0
  104. package/dist/serialization/WireDeserializer.js.map +1 -0
  105. package/dist/serialization/WireSerializer.d.ts +20 -0
  106. package/dist/serialization/WireSerializer.d.ts.map +1 -0
  107. package/dist/serialization/WireSerializer.js +100 -0
  108. package/dist/serialization/WireSerializer.js.map +1 -0
  109. package/dist/types/DeukPackTypes.d.ts +291 -0
  110. package/dist/types/DeukPackTypes.d.ts.map +1 -0
  111. package/dist/types/DeukPackTypes.js +76 -0
  112. package/dist/types/DeukPackTypes.js.map +1 -0
  113. package/dist/utils/EndianUtils.d.ts +11 -0
  114. package/dist/utils/EndianUtils.d.ts.map +1 -0
  115. package/dist/utils/EndianUtils.js +32 -0
  116. package/dist/utils/EndianUtils.js.map +1 -0
  117. package/dist/utils/PerformanceMonitor.d.ts +26 -0
  118. package/dist/utils/PerformanceMonitor.d.ts.map +1 -0
  119. package/dist/utils/PerformanceMonitor.js +57 -0
  120. package/dist/utils/PerformanceMonitor.js.map +1 -0
  121. package/package.json +77 -0
  122. 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":"AAAA;;;GAGG;AAIH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAoG,MAAM,wBAAwB,CAAC;AAC1K,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,aAAa;IAC1C,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAqItG,6EAA6E;IAC7E,OAAO,CAAC,mBAAmB;IAqC3B,8DAA8D;IAC9D,OAAO,CAAC,uBAAuB;IA2B/B,0FAA0F;IAC1F,OAAO,CAAC,wBAAwB;IA4BhC,OAAO,CAAC,iCAAiC;IAYzC,OAAO,CAAC,QAAQ;IAQhB,6EAA6E;IAC7E,OAAO,CAAC,2BAA2B;IAwBnC,+HAA+H;IAC/H,OAAO,CAAC,yBAAyB;IAyEjC,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,YAAY;IAuCpB,kEAAkE;IAClE,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,cAAc;IAwQtB,wFAAwF;IACxF,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,mBAAmB;IAyB3B,8EAA8E;IAC9E,OAAO,CAAC,kBAAkB;IAK1B,sEAAsE;IACtE,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,uBAAuB;IAM/B,0GAA0G;IAC1G,OAAO,CAAC,iBAAiB;IAsDzB,8FAA8F;IAC9F,OAAO,CAAC,uCAAuC;IAgB/C;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAmBrC,mFAAmF;IACnF,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,aAAa;IA2BrB,wCAAwC;IACxC,OAAO,CAAC,iBAAiB;IAMzB,sCAAsC;IACtC,OAAO,CAAC,eAAe;IAMvB,yCAAyC;IACzC,OAAO,CAAC,kBAAkB;IAM1B,0EAA0E;IAC1E,OAAO,CAAC,qBAAqB;IA2C7B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IA6BlC;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAmBpC,wDAAwD;IACxD,OAAO,CAAC,UAAU;IAyBlB,sEAAsE;IACtE,OAAO,CAAC,WAAW;IASnB;;;;OAIG;IACH,OAAO,CAAC,gCAAgC;IAuDxC;;;OAGG;IACH,OAAO,CAAC,oCAAoC;IAwF5C,OAAO,CAAC,sBAAsB;IAsG9B,uFAAuF;IACvF,OAAO,CAAC,iBAAiB;IAIzB,yEAAyE;IACzE,OAAO,CAAC,aAAa;IAkDrB,OAAO,CAAC,qBAAqB;IA8H7B,OAAO,CAAC,UAAU;IAIlB,sFAAsF;IACtF,OAAO,CAAC,yBAAyB;IAWjC,6FAA6F;IAC7F,OAAO,CAAC,QAAQ;IA0ChB,OAAO,CAAC,kBAAkB;IAsC1B,OAAO,CAAC,iBAAiB;IAoDzB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,eAAe;IAqCvB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,oBAAoB;IAyB5B,uDAAuD;IACvD,OAAO,CAAC,eAAe;IAIvB,iEAAiE;IACjE,OAAO,CAAC,UAAU;IAIlB,uDAAuD;IACvD,OAAO,CAAC,kBAAkB;IAI1B,6DAA6D;IAC7D,OAAO,CAAC,kBAAkB;IAS1B,4EAA4E;IAC5E,OAAO,CAAC,qBAAqB;IAI7B,8FAA8F;IAC9F,OAAO,CAAC,2BAA2B;IAYnC,+CAA+C;IAC/C,OAAO,CAAC,kBAAkB;IAI1B,uDAAuD;IACvD,OAAO,CAAC,oBAAoB;IAI5B,kHAAkH;IAClH,OAAO,CAAC,YAAY;IAIpB,+HAA+H;IAC/H,OAAO,CAAC,wBAAwB;IA8EhC,OAAO,CAAC,kBAAkB;IAoD1B,OAAO,CAAC,oBAAoB;IA2D5B,OAAO,CAAC,qBAAqB;IAsD7B,OAAO,CAAC,eAAe;IA4CvB,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,gBAAgB;CAkBzB"}