1.0.1 • Published 1 year ago

nv-facutil-idgrp v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

nv-facutil-idgrp

  • simple util to keep small id-graph
  • to test graph-flow-control-syntax in nvlang, normally USELESS

such as

   #g
   {
      g0: {m0:<&m0>,m1:<&m1>}        
      g1: {m1:<&m1>,m2:<&m2>}
      g2: {m1:<&m1>,m2:<&m2>,m3:<&m3>} 
      m0: {g0:<&g0>}
      m1: {g0:<&g0>,g1:<&g1>} 
      m2: {g1:<&g1>,g2:<&g2>}
      m3: {g2:<&g2>}
   }

   #edges  g.store_
   {
       g0_m0: <data-on:g0~>m0>,
       g0_m1: <data-on:g0~>m1>,
       g1_m1: ...
       g1_m2: ...
       g2_m1: ...
       g2_m2: ...
       g2_m3: ...
       m0_g0: ...
       m1_g0: ...
       m1_g1: ...
       m2_g1: ...
       m2_g2: ...
       m3_g2: ...
   }

install

  • npm install nv-facutil-idgrp

usage

  const x   = require("nv-facutil-idgrp");

example

        > x
        {
          SetAction: [class SetAction],
          creat_local_store: [Function: creat_local_store],
          creat_g: [Function: creat_g]
        }
        > g = x.creat_g()
        G {}
        > g.sync_set("g0","m0")
        SetAction {
          creat0: false,
          creat1: false,
          link: true,
          updt01: false,
          updt10: false,
          rtrn: [ [ 'g0', 'm0', null ], [ 'm0', 'g0', null ] ],
          creat_0: true,
          creat_1: true
        }
        > g
        G {
          g0: <ref *1> { m0: { g0: [Circular *1] } },
          m0: <ref *2> { g0: <ref *1> { m0: [Circular *2] } }
        }
        > g.sync_set("g0","m1")
        SetAction {
          creat0: false,
          creat1: false,
          link: true,
          updt01: false,
          updt10: false,
          rtrn: [ [ 'g0', 'm1', null ], [ 'm1', 'g0', null ] ],
          creat_1: true
        }
        > g
        G {
          g0: <ref *1> {
            m0: { g0: [Circular *1] },
            m1: { g0: [Circular *1] }
          },
          m0: <ref *2> {
            g0: <ref *1> { m0: [Circular *2], m1: [Object] }
          },
          m1: <ref *3> {
            g0: <ref *1> { m0: [Object], m1: [Circular *3] }
          }
        }
        > g.sync_set("g1","m0")
        SetAction {
          creat0: false,
          creat1: false,
          link: true,
          updt01: false,
          updt10: false,
          rtrn: [ [ 'g1', 'm0', null ], [ 'm0', 'g1', null ] ],
          creat_0: true
        }
        > g
        G {
          g0: <ref *1> {
            m0: { g0: [Circular *1], g1: [Object] },
            m1: { g0: [Circular *1] }
          },
          m0: <ref *2> {
            g0: <ref *1> { m0: [Circular *2], m1: [Object] },
            g1: { m0: [Circular *2] }
          },
          m1: <ref *3> {
            g0: <ref *1> { m0: [Object], m1: [Circular *3] }
          },
          g1: <ref *4> {
            m0: <ref *2> { g0: [Object], g1: [Circular *4] }
          }
        }

METHODS

    > g.

    g.async_delete          g.async_set             g.constructor           g.has                   g.has_pair              g.store_                g.sync_delete
    g.sync_set

    > g.store_.

    g.store_._delete               g.store_._insert               g.store_._update               g.store_.constructor           g.store_.delete_pair           g.store_.get_data
    g.store_.get_data_pair         g.store_.insert_pair           g.store_.make_key              g.store_.split_key             g.store_.update_pair

APIS

    {
      SetAction: [class SetAction],
      creat_local_store: [Function: creat_local_store],
      creat_g: [Function: creat_g]
    }

LICENSE

  • ISC
1.0.1

1 year ago