Documentation: getEnumerationContent Function in intlayer

    Description:

    getEnumerationContent 함수는 열거형 객체에서 미리 정의된 조건에 따라 특정 수량에 해당하는 콘텐츠를 검색합니다. 조건은 키로 정의되며, 그 우선순위는 객체 내 순서에 의해 결정됩니다.

    Parameters:

    • enumerationContent: QuantityContent<Content>

      • Description: 키가 조건을 나타내고 (예: <=, <, >=, =) 값이 해당 콘텐츠를 나타내는 객체입니다. 키의 순서가 일치 우선순위를 정의합니다.
      • Type: QuantityContent<Content>
        • Content는 어떤 유형이든 될 수 있습니다.
    • quantity: number

      • Description: enumerationContent의 조건과 일치시키기 위해 사용되는 숫자 값입니다.
      • Type: number

    Returns:

    • Type: Content
    • Description: enumerationContent에서 첫 번째로 일치하는 조건에 해당하는 콘텐츠입니다. 일치하는 항목이 없을 경우, 구현에 따라 기본 처리(예: 오류 또는 대체 콘텐츠)로 대체됩니다.

    Example Usage:

    Basic Usage:

    typescript
    import { getEnumerationContent } from "@intlayer/config/client";
    
    const content = getEnumerationContent(
      {
        "<=-2.3": "당신은 -2.3보다 적습니다",
        "<1": "당신은 하나보다 작습니다",
        "2": "당신은 두 개를 가지고 있습니다",
        ">=3": "당신은 세 개 이상 가지고 있습니다",
      },
      2
    );
    
    console.log(content); // Output: "당신은 두 개를 가지고 있습니다"
    

    Priority of Conditions:

    typescript
    const content = getEnumerationContent(
      {
        "<4": "당신은 네 개보다 적습니다",
        "2": "당신은 두 개를 가지고 있습니다",
      },
      2
    );
    
    console.log(content); // Output: "당신은 네 개보다 적습니다"
    

    Edge Cases:

    • No Matching Condition:

      • 제공된 수량과 일치하는 조건이 없으면, 함수는 undefined를 반환하거나 기본/대체 시나리오를 명시적으로 처리합니다.
    • Ambiguous Conditions:

      • 조건이 겹치는 경우, 첫 번째로 일치하는 조건(객체 순서에 따라)이 우선합니다.
    • Invalid Keys:

      • 함수는 enumerationContent의 모든 키가 유효하고 조건으로 해석할 수 있다고 가정합니다. 유효하지 않거나 잘못 형식화된 키는 예기치 않은 동작을 초래할 수 있습니다.
    • TypeScript Enforcement:

      • 함수는 모든 키에서 Content 유형이 일관되도록 하여 검색된 콘텐츠의 유형 안전성을 보장합니다.

    Notes:

    • 주어진 수량에 따라 적절한 조건을 결정하기 위해 findMatchingCondition 유틸리티가 사용됩니다.

    이 문서를 개선할 아이디어가 있으시면 GitHub에 풀 리퀘스트를 제출하여 자유롭게 기여해 주세요.

    문서에 대한 GitHub 링크