Skip to content

Latest commit

Β 

History

History
46 lines (40 loc) Β· 1.65 KB

File metadata and controls

46 lines (40 loc) Β· 1.65 KB
// Type definitions for [~라이브러리 이름~] [~선택적 버전 숫자~]
// Project: [~ν”„λ‘œμ νŠΈ 이름~]
// Definitions by: [~λ‚΄ 이름~] <[~λ‚΄ URL~]>

/*~ 이건 λͺ¨λ“ˆ ν…œν”Œλ¦Ώ νŒŒμΌμž…λ‹ˆλ‹€.
 *~ 이름을 index.d.ts둜 λ³€κ²½ν•˜κ³ , λͺ¨λ“ˆκ³Ό 같은 μ΄λ¦„μ˜ 폴더 μ•ˆμ— λ°°μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.
 *~ 예λ₯Ό λ“€μ–΄, "super-greeter" νŒŒμΌμ„ μž‘μ„±ν•˜λŠ” 경우
 *~ 이 νŒŒμΌμ€ 'super-greeter/index.d.ts'κ°€ λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.
 */

/*~ μ „μ—­ λ³€μˆ˜ 'myClassLib'을 λ…ΈμΆœν•˜λŠ” UMD λͺ¨λ“ˆμ„
 *~ λͺ¨λ“ˆ λ‘œλ” ν™˜κ²½ μ™ΈλΆ€μ—μ„œ λ‘œλ“œν•˜λ €λ©΄, μ—¬κΈ°μ—μ„œ μ „μ—­μœΌλ‘œ μ„ μ–Έν•˜μ„Έμš”.
 *~ 그렇지 μ•ŠμœΌλ©΄, 이 선언을 μ œκ±°ν•˜μ„Έμš”.
 */
export as namespace myLib;

/*~ 이 λͺ¨λ“ˆμ΄ λ©”μ„œλ“œλ₯Ό 가지고 μžˆλ‹€λ©΄, λ‹€μŒκ³Ό 같이 ν•¨μˆ˜λ‘œμ¨ μ„ μ–Έν•˜μ„Έμš”.
 */
export function myMethod(a: string): string;
export function myOtherMethod(a: number): number;

/*~ λͺ¨λ“ˆ importλ₯Ό 톡해 μ‚¬μš© κ°€λŠ₯ν•œ νƒ€μž…μ„ μ„ μ–Έν•  수 μžˆμŠ΅λ‹ˆλ‹€ */
export interface someType {
    name: string;
    length: number;
    extras?: string[];
}

/*~ const, let, varλ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λ“ˆμ˜ ν”„λ‘œνΌν‹°λ₯Ό μ„ μ–Έν•  수 μžˆμŠ΅λ‹ˆλ‹€ */
export const myField: number;

/*~ λͺ¨λ“ˆμ˜ 점으둜 κ΅¬λΆ„λœ 이름 μ•ˆμ— νƒ€μž…, ν”„λ‘œνΌν‹°, λ©”μ„œλ“œκ°€ μžˆλŠ” 경우
 *~ 'namespace' μ•ˆμ— μ„ μ–Έν•˜μ„Έμš”.
 */
export namespace subProp {
    /*~ 예λ₯Ό λ“€μ–΄ 이런 μ •μ˜κ°€ μžˆμ„ λ•Œ, λ‹€μŒκ³Ό 같이 μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€:
     *~   import { subProp } from 'yourModule';
     *~   subProp.foo();
     *~ λ˜λŠ”
     *~   import * as yourMod from 'yourModule';
     *~   yourMod.subProp.foo();
     */
    export function foo(): void;
}