@g1cloud/entity-modeler-next 5.2.10 → 5.2.12
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/dist/agent/symbolicOp.d.ts +6 -0
- package/dist/core/columnResolve.d.ts +18 -0
- package/dist/core/types.d.ts +23 -0
- package/dist/entity-modeler-next.css +1 -1
- package/dist/entity-modeler.js +8748 -8716
- package/dist/entity-modeler.umd.cjs +27 -27
- package/dist/i18n/ko.d.ts +1 -0
- package/package.json +1 -1
|
@@ -36,6 +36,12 @@ export interface AssocHandle {
|
|
|
36
36
|
* `attribute.add`/`index.add`/`operation.add` op은 *기존* 엔티티에 자식을 추가하는 용도로 남는다.
|
|
37
37
|
*/
|
|
38
38
|
export interface EntitySpec {
|
|
39
|
+
/**
|
|
40
|
+
* **클래스** 논리명(다국어) — `Entity.classLogicalName`. 테이블이 없는 자리(직렬화 타입
|
|
41
|
+
* `SERIALIZED_TYPE`)의 논리명이 여기 산다(그 타입은 `table` 자체를 갖지 않는다).
|
|
42
|
+
* ⚠️테이블이 있는 엔티티는 `table.logicalName`(dotted-key)이 이기므로 그쪽을 쓴다.
|
|
43
|
+
*/
|
|
44
|
+
classLogicalName?: MultiLangText;
|
|
39
45
|
name: string;
|
|
40
46
|
/** 기본 'JPA_ENTITY'. */
|
|
41
47
|
stereotype?: ClassStereotype;
|
|
@@ -85,6 +85,24 @@ export declare function hasMultiLangText(t: MultiLangText | undefined): boolean;
|
|
|
85
85
|
* ⚠️판정은 **내용 유무**다(`??` 아님) — 빈 객체 `{}` 는 편집 중간 상태로 실재하고, 그것을 「값 있음」으로
|
|
86
86
|
* 읽으면 폴백이 조용히 막힌다(`resolveEffectiveColumn` 의 임베드 상속이 같은 이유로 같은 판정을 쓴다).
|
|
87
87
|
*/
|
|
88
|
+
/**
|
|
89
|
+
* **실효 엔티티 논리명** — 테이블 논리명이 있으면 그것, 없으면 «클래스» 논리명(`Entity.classLogicalName`).
|
|
90
|
+
*
|
|
91
|
+
* ★`effectiveLogicalName`(속성/컬럼 축)의 **엔티티 판**이고 같은 이유로 단일 출처다 — 소비처가 다섯이다
|
|
92
|
+
* (캔버스 노드 헤더 · 탐색기 라벨·검색 · 명령 팔레트 · 코드젠 클래스 javadoc). 각자 `?? ` 로 재기술하면
|
|
93
|
+
* 어긋난다.
|
|
94
|
+
*
|
|
95
|
+
* ★**테이블이 이긴다** — 더 구체적인 자리이고, 클래스 논리명은 「테이블이 말해 주지 않을 때」의 값이다
|
|
96
|
+
* (직렬화 타입은 테이블이 아예 없다). 그래서 직렬화 → 일반 전환 후에도 표시가 유지된다.
|
|
97
|
+
*
|
|
98
|
+
* ⚠️판정은 **내용 유무**다(`??` 아님) — 빈 객체 `{}` 가 폴백을 조용히 막는 것을 피한다.
|
|
99
|
+
*/
|
|
100
|
+
export declare function effectiveEntityLogicalName(entity: {
|
|
101
|
+
classLogicalName?: MultiLangText;
|
|
102
|
+
table?: {
|
|
103
|
+
logicalName?: MultiLangText;
|
|
104
|
+
};
|
|
105
|
+
}): MultiLangText | undefined;
|
|
88
106
|
export declare function effectiveLogicalName(attr: Pick<Attribute, 'fieldLogicalName'>, col: Pick<DbColumn, 'logicalName'> | undefined): MultiLangText | undefined;
|
|
89
107
|
/**
|
|
90
108
|
* 실효 물리명 — override(비어있지 않은 physicalName)가 있으면 그 값, 없으면 상속 기본값.
|
package/dist/core/types.d.ts
CHANGED
|
@@ -372,6 +372,29 @@ export interface Entity {
|
|
|
372
372
|
packageName?: string;
|
|
373
373
|
superClass?: string;
|
|
374
374
|
schema?: string;
|
|
375
|
+
/**
|
|
376
|
+
* 이 **클래스(상자)** 의 업무 논리명 — **테이블 없는 자리 전용**(직렬화 타입 `SERIALIZED_TYPE`).
|
|
377
|
+
*
|
|
378
|
+
* ★**`table.logicalName` 과 다른 축이다.** 엔티티 논리명은 원래 테이블에만 있었고(`table` 서브객체),
|
|
379
|
+
* 그 자리가 「클래스의 표시명」 역할까지 겸했다. 테이블 축을 지우는 전환(`columnAxisCleanupCommands`
|
|
380
|
+
* 의 `table = null`)이 들어오면서 논리명이 **딸려 나갔고**, 채울 자리도 함께 사라졌다 — 캔버스 논리
|
|
381
|
+
* 뷰가 직렬화 타입 **노드 이름**에 `(논리명)` 을 띄우는데 넣을 수단이 없었다.
|
|
382
|
+
*
|
|
383
|
+
* ★★**`Attribute.fieldLogicalName` 과 같은 실패의 「엔티티 판」이다.** 그 트랙(5.2.10)이 **필드 축만**
|
|
384
|
+
* 고쳤고 엔티티 축에는 같은 처방을 적용하지 않았다 — 규율 ②(*축이 사라지면 그 축의 모든 필드를 정리*)의
|
|
385
|
+
* **경계를 한 축에서만 그은** 형태다. 실측(2026-08-31)에서 v1 doc 의 `CartGift` 가 테이블 논리명
|
|
386
|
+
* **「장바구니사은품」** 을 갖고 있었고 전환으로 소실됐음이 확인돼 이 필드가 신설됐다.
|
|
387
|
+
*
|
|
388
|
+
* ★**이름에 `class` 를 박은 이유** — `logicalName` 하나로 두면 `entity.update {logicalName}`(엔티티)와
|
|
389
|
+
* `attribute.update {logicalName}`(**컬럼** 평탄 키)가 **같은 키로 다른 축**을 가리켜 AI 어휘가 모호해진다.
|
|
390
|
+
* 네 축을 이름으로 갈라 둔다: `classLogicalName` / `table.logicalName` / `fieldLogicalName` /
|
|
391
|
+
* `DbColumn.logicalName`. (엔티티 patch 화이트리스트엔 평탄 `logicalName` 이 없어 «충돌»은 없었지만,
|
|
392
|
+
* 충돌 부재가 곧 명료함은 아니다 — 사용자 결정 2026-08-31.)
|
|
393
|
+
*
|
|
394
|
+
* ★**편집 노출은 테이블 블록이 감춰지는 자리에서만** — 테이블이 있는 엔티티는 `table.logicalName` 을
|
|
395
|
+
* 계속 쓴다(입력란이 둘로 보이지 않게). 전환 시 값 이전·이탈 비대칭·실효 해소는 필드 축과 동형이다.
|
|
396
|
+
*/
|
|
397
|
+
classLogicalName?: MultiLangText;
|
|
375
398
|
description?: MultiLangText;
|
|
376
399
|
abstractClass?: boolean;
|
|
377
400
|
hasPersonalInfo?: boolean;
|