Navigator Prefabricating Marinates

    outline-numbering

    2.0.0 • Public • Published

    outline-numbering

    number hierarchical documents like Section 1(c)(iv)

    outline-numbering is part of the abstract-numbering family of packages.

    var outline = require('outline-numbering')
    var assert = require('assert')

    The package is a numbering scheme as described by abstract-numbering.

    Outline Style

    assert.deepEqual(
      outline([
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        }
      ]),
      'Section 1'
    )
     
    assert.deepEqual(
      outline([
        {
          series: { number: 1, of: 2 },
          element: { number: 1, of: 1 }
        }
      ]),
      'Section A-1'
    )
     
    assert.deepEqual(
      outline([
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        }
      ]),
      'Section 1(a)'
    )
     
    assert.deepEqual(
      outline([
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 28, of: 28 }
        }
      ]),
      'Section 1(ab)'
    )
     
    assert.deepEqual(
      outline([
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        }
      ]),
      'Section 1(a)(i)'
    )
     
    assert.deepEqual(
      outline([
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        }
      ]),
      'Section 1(a)(i)(A)'
    )
     
    assert.deepEqual(
      outline([
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        }
      ]),
      'Section 1(a)(i)(A)(I)'
    )
     
    assert.deepEqual(
      outline([
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        },
        {
          series: { number: 1, of: 1 },
          element: { number: 1, of: 1 }
        }
      ]),
      'Section 1(a)(i)(A)(I)(a)'
    )

    Short Forms

    assert.deepEqual(
      outline(
        [
          {
            series: { number: 1, of: 1 },
            element: { number: 1, of: 1 }
          }
        ],
        true
      ),
      '1.'
    )
     
    assert.deepEqual(
      outline(
        [
          {
            series: { number: 1, of: 1 },
            element: { number: 1, of: 1 }
          },
          {
            series: { number: 1, of: 1 },
            element: { number: 1, of: 1 }
          }
        ],
        true
      ),
      '(a)'
    )

    Install

    npm i outline-numbering

    DownloadsWeekly Downloads

    490

    Version

    2.0.0

    License

    BlueOak-1.0.0

    Unpacked Size

    7.47 kB

    Total Files

    4

    Last publish

    Collaborators

    • kemitchell