Wondering what’s next for npm?Check out our public roadmap! »

    @mornya/primitive-type-libs
    TypeScript icon, indicating that this package has built-in type declarations

    0.5.1 • Public • Published

    Primitive Type Libs

    npm node types downloads license

    Prototype methods of JavaScript Primitive Types.

    This project has been created by Vessel. For a simple and quick reference, click here.

    About

    자바스크립트 Primitive Type에 대한 확장 프로토타입 구현 라이브러리.

    Installation

    해당 라이브러리를 사용 할 프로젝트에서는 아래와 같이 의존성 모듈로 설치한다.

    $ npm install --save @mornya/primitive-type-libs
    or
    $ yarn add @mornya/primitive-type-libs

    Usage

    아래와 같이 사용 할 모듈을 import 하여 사용한다.

    import { PrimitiveType } from '@mornya/primitive-type-libs';
    import { move } from '@mornya/primitive-type-libs/dist/array';
    import { format } from '@mornya/primitive-type-libs/dist/date';
     
    const option: PrimitiveType.Option = {
      array: [move],
      date: [format],
    };
     
    PrimitiveType.initialize(option);
     
    console.log(Array.move);
    console.log(Date.format);

    타입 정의를 위해 tsconfig.json 파일에 아래와 같이 include 항목에 경로를 추가하고 exclude 항목에는 node_modules 경로를 제외하는 설정을 해주어야 한다.

    {
      ...
    
      "include": {
        "node_modules/@mornya/primitive-type-libs/types/**/*"
      },
      "exclude": {
        // "node_modules"
      }
    }
    

    Modules in the package

    본 패키지에는 아래와 같은 모듈들을 포함한다.
    제공되는 모듈과 메소드 사용법 등은 코드 스니핏을 참고한다.

    Array module

    Array.move

    지정한 숫자만큼 배열 아이템의 순서를 이동한다.

    let value = [1, 2, 3];
    value = value.move(1, 0);
    console.log(value); // [2, 1, 3]

    Array.removeMatch

    지정한 배열과 중복되는 배열 내 아이템을 제거한다.

    let value = [1, 2, 3, 4, 5];
    value = value.removeMatch([3, 5]);
    console.log(value); // [1, 2, 4]

    Array.shuffle

    배열 내 아이템을 랜덤하게 섞는다.

    let value = [1, 2, 3, 4, 5];
    value = value.shuffle();
    console.log(value); // [5, 1, 3, 2, 4]...

    Date module

    Date.format

    Date 객체를 지정한 날짜형식의 문자열로 리턴한다.

    const date = new Date();
    const formatted = date.format('yyyy-MM-dd HH:mm:ss / E', {
      lang: 'ko', // default value ['ko'|'en'|'ch']
      fillZero: true, // default value
    });
    console.log(formatted); // 2019-01-01 12:34:56 / 화

    yyyy: 네 자릿수 연도
    yy: 두 자릿수 연도
    MM: 두 자릿수 월
    MO: 한국어/영어/한자 월(1월,2월,... / January,February,... / 1月,2月,...)
    dd: 두 자릿수 일
    E: 옵션(lang)에 따라 요일명(월,화,... / Mon,Tue,... / 月,火,...) 표기
    HH: 두 자릿수 시
    hh: 두 자릿수 시 (12시간제)
    mm: 두 자릿수 분
    ss: 두 자릿수 초
    ms: 밀리초
    ap/AP: 옵션(lang)에 따라 'AM' / '오전' / '午前' 등 표기
    $Y: 옵션(lang)에 따라 '년' / '年' 표기
    $M: 옵션(lang)에 따라 '월' / '月' 표기
    $D: 옵션(lang)에 따라 '일' / '日' 표기
    $H: 옵션(lang)에 따라 '시' / '時' 표기
    $m: 옵션(lang)에 따라 '분' / '分' 표기
    $s: 옵션(lang)에 따라 '초' / '秒' 표기

    Date.collect

    문자열을 마스킹하여 날짜를 추출하여 Date 타입으로 리턴한다.

    millisecond는 추출대상에서 예외.

    console.log(new Date().collect(
      'yyyy-MM-dd HH:mm:ss',
      '2019-01-01 13:59:59',
    ));
    // 2019-01-01T13:59:59.000Z

    yyyy: 네 자릿수 연도
    MM: 두 자릿수 월
    dd: 두 자릿수 일
    HH: 두 자릿수 시 (24시간제)
    hh: 두 자릿수 시 (12시간제)
    mm: 두 자릿수 분
    ss: 두 자릿수 초

    Date.isToday

    해당 Date 타입의 날짜가 오늘 날짜인지 체크한다.

    const today = new Date();
    console.log(today.isToday()); // true
     
    today.setFullYear(today.getFullYear() - 1);
    console.log(today.isToday()); // false

    Date.setYesterday

    오늘로부터 N일 전으로 날짜를 설정한다.

    console.log(new Date().setYesterday(10)); // 오늘부터 10일 전 날짜

    Date.setTomorrow

    오늘로부터 N일 이후의 날짜를 설정한다.

    console.log(new Date().setTomorrow(10)); // 오늘부터 10일 후 날짜

    Number module

    Number.zf

    지정한 숫자만큼 '0'을 해당 숫자 앞에 추가하여 문자열로 리턴한다.

    const value = 123;
    value.zf(2);
    console.log(value); // 00123

    Number.toDigits

    숫자(소수포함)를 자릿수 구분 문자열로 리턴한다.

    const value = 1000.123;
    console.log(value.toDigits()); // 1,000.123

    Number.inRange

    숫자가 범위내의 수인지의 여부에 따라 true/false를 리턴한다. 1개의 파라미터만 주어지면 0부터 해당 값 내 범위인지를 체크한다.

    console.log((10).inRange(9, 10)); // true
    console.log((10).inRange(10)); // true
    console.log((-2).inRange(-1)); // false

    String module

    String.zf

    지정한 숫자만큼 '0'을 해당 문자열 앞에 추가한다.

    const value = '123';
    value.zf(2);
    console.log(value); // 00123

    String.truthy

    빈 문자열이 아닐 경우 true, 그렇지 않으면 false 반환.

    const value = '';
    console.log(value.truthy()); // false

    String.falsy

    빈 문자열일 경우 true, 그렇지 않으면 false 반환.

    const value = '';
    console.log(value.falsy()); // true

    String.format

    문자열에 포함된 { } 안의 값을 파라미터 오브젝트의 동일 키에 해당하는 값으로 치환한다.

    const value = '안녕하세요. {mornya} 입니다.';
    const result = value.format({ mornya: '염전노예' });
    console.log(result); // 안녕하세요. 염전노예 입니다.

    String.toCamelCase

    문자열을 camelCase 표기법으로 치환한다.

    const value = 'HelloWorld';
    console.log(value.toCamelCase()); // helloWorld

    String.extractNumber

    문자열에서 숫자만 추출해낸다.

    const value = '안녕 "M0123" 친구야. 넌 43살이 맞니?';
    console.log(value.extractNumber()); // 012343

    Change Log

    프로젝트 변경사항은 CHANGELOG.md 파일 참조.

    License

    프로젝트 라이센스는 LICENSE 파일 참조.

    Install

    npm i @mornya/primitive-type-libs

    DownloadsWeekly Downloads

    1

    Version

    0.5.1

    License

    ISC

    Unpacked Size

    23.3 kB

    Total Files

    19

    Last publish

    Collaborators

    • avatar