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;
}