@gaonjs/core 0.1.1 → 0.1.3
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/index.d.ts +20 -7
- package/dist/index.js +12 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @gaonjs/core — Gaon 프레임웍의 로드맵·메타데이터 단일 원천.
|
|
3
|
-
*
|
|
4
|
-
* v1 커널(설정·생명주기·플러그인·doctor) 구현은 로드맵 M2 이후.
|
|
5
|
-
* M1(현재)에서는 스텁 CLI가 소비하는 로드맵 데이터만 제공한다.
|
|
6
|
-
*/
|
|
7
|
-
export declare const VERSION = "0.1.0";
|
|
1
|
+
export declare const VERSION: string;
|
|
8
2
|
export declare const HOMEPAGE = "https://gaonjs.dev";
|
|
9
3
|
export type MilestoneStatus = "in-progress" | "planned";
|
|
10
4
|
export interface Milestone {
|
|
@@ -14,3 +8,22 @@ export interface Milestone {
|
|
|
14
8
|
}
|
|
15
9
|
/** 설계 문서 §13.5 / M1 착수 지시의 6개 마일스톤. */
|
|
16
10
|
export declare const MILESTONES: readonly Milestone[];
|
|
11
|
+
/**
|
|
12
|
+
* hidden 컬럼 브랜드. `T` 에 예약 옵셔널 키를 얹은 교차 타입이다.
|
|
13
|
+
*
|
|
14
|
+
* 옵셔널 팬텀이라 읽기·insert·update·where 의 값 할당에는 **투명**하고
|
|
15
|
+
* (평범한 값이 그대로 할당된다), 직렬화 매핑 타입만 `keyof` 로 이 키의
|
|
16
|
+
* 존재를 감지해 해당 컬럼을 떨군다. unique symbol 은 모듈-로컬이라
|
|
17
|
+
* 패키지 경계를 넘으면 동일성이 깨지므로, 예약 문자열 키를 브랜드로 쓴다.
|
|
18
|
+
*/
|
|
19
|
+
export type Hidden<T> = T & {
|
|
20
|
+
readonly __gaon_hidden__?: true;
|
|
21
|
+
};
|
|
22
|
+
/** 값 타입 `V` 가 Hidden 브랜드를 지녔는지 — 직렬화 매핑에서 키 제외 판정. */
|
|
23
|
+
export type IsHidden<V> = "__gaon_hidden__" extends keyof V ? true : false;
|
|
24
|
+
/**
|
|
25
|
+
* 레코드에 hidden 컬럼명 목록을 싣는 런타임 마커(비열거 프로퍼티).
|
|
26
|
+
* model() 이 부여하고, 직렬화 런타임(@gaonjs/vue)이 읽어 제외한다.
|
|
27
|
+
* 전역 심볼 레지스트리(`Symbol.for`)라 패키지·번들 경계를 넘어도 동일하다.
|
|
28
|
+
*/
|
|
29
|
+
export declare const HIDDEN_COLUMNS: unique symbol;
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,12 @@
|
|
|
4
4
|
* v1 커널(설정·생명주기·플러그인·doctor) 구현은 로드맵 M2 이후.
|
|
5
5
|
* M1(현재)에서는 스텁 CLI가 소비하는 로드맵 데이터만 제공한다.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
import { readFileSync } from "node:fs";
|
|
8
|
+
// 자기 package.json 을 런타임에 읽어 버전을 노출한다 — 하드코딩 상수
|
|
9
|
+
// 정정(errata 후속). 배포 시 package.json 은 항상 포함되고, dist/ 기준
|
|
10
|
+
// 상위(패키지 루트)에 있으므로 `../package.json` 으로 참조한다.
|
|
11
|
+
const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8"));
|
|
12
|
+
export const VERSION = pkg.version;
|
|
8
13
|
export const HOMEPAGE = "https://gaonjs.dev";
|
|
9
14
|
/** 설계 문서 §13.5 / M1 착수 지시의 6개 마일스톤. */
|
|
10
15
|
export const MILESTONES = [
|
|
@@ -15,3 +20,9 @@ export const MILESTONES = [
|
|
|
15
20
|
{ id: "M5", title: "인증 배터리 (세션 + JWT · 앱별 분리)", status: "planned" },
|
|
16
21
|
{ id: "M6", title: "실시간 세로 조각 (채널 → 프레즌스 → gaon hub)", status: "planned" },
|
|
17
22
|
];
|
|
23
|
+
/**
|
|
24
|
+
* 레코드에 hidden 컬럼명 목록을 싣는 런타임 마커(비열거 프로퍼티).
|
|
25
|
+
* model() 이 부여하고, 직렬화 런타임(@gaonjs/vue)이 읽어 제외한다.
|
|
26
|
+
* 전역 심볼 레지스트리(`Symbol.for`)라 패키지·번들 경계를 넘어도 동일하다.
|
|
27
|
+
*/
|
|
28
|
+
export const HIDDEN_COLUMNS = Symbol.for("gaon.hiddenColumns");
|