1.0.33 • Published 2 years ago

nv-cli-binding-tem v1.0.33

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

nv-cli-binding-tem

  • nv-cli-binding-tem
  • for creat cli project
  • some json-template-util for binding.gyp config
  • some fake class (for code-replace using)
  • this tool is just a doc-like tool

install

  • npm install nv-cli-binding-tem

usage

const bding = require("nv-cli-binding-tem");

example

    > bding.creat_one_binding_gyp_target('addon')
    {
      target_name: 'addon',
      type: 'executable',
      dependencies: [],
      defines: [ 'DEFINE_FOO', 'DEFINE_A_VALUE=value' ],
      sources: [ './addon.cc' ],
      include_dirs: [
        `<!(node -e "require('nan')")`,
        '$(DEFAULT_DEPENDENCY_PATH)/include'
      ],
      libraries: [ '-lglib-2.0', '-L$(DEFAULT_DEPENDENCY_PATH)/lib' ],
      cflags_cc: [
        '-DINET',
        '-DINET6',
        '-DBUILD_FOR_GST_ANALYTICS',
        '<!@(pkg-config --cflags glib-2.0)'
      ],
      conditions: [ [ 'OS=="mac"', [Object], [Object] ] ],
      direct_dependent_settings: { defines: [], linkflags: [] },
      export_dependent_settings: []
    }
    >

    nv-cli-binding-tem# cat tst.js
    const {creat_deps_env} = require("./index");


    console.log(creat_deps_env())
    nv-cli-binding-tem#
    nv-cli-binding-tem# node tst.js
    DepsEnv {
      SCRIPT: '/mnt/sdb/NV5/NV5_/nvcli-/pkgs/ENG/nv-cli-binding-tem/index.js',
      FILENAME: 'nv-cli-binding-tem',
      PATHNAME: '/mnt/sdb/NV5/NV5_/nvcli-/pkgs/ENG/nv-cli-binding-tem',
      ROOT: '/mnt/sdb/NV5/NV5_/nvcli-/pkgs/ENG',
      BUILD_DIR: '/mnt/sdb/NV5/NV5_/nvcli-/pkgs/ENG/build',
      CURRENT_DIR: '/mnt/sdb/NV5/NV5_/nvcli-/pkgs/ENG/nv-cli-binding-tem',
      LIB_DIR: '/mnt/sdb/NV5/NV5_/nvcli-/pkgs/ENG/build/libdeps',
      PREFIX_DIR: '/mnt/sdb/NV5/NV5_/nvcli-/pkgs/ENG/build/libdeps/build',
      DISABLE_NONFREE: false,
      CLEANUP: false,
      NIGHTLY: false,
      NO_INTERNAL: false,
      INCR_INSTALL: false,
      SUDO: ''
    }

some FAKE classes

    class FunctionCallbackInfo extends Array {
        static kHolderIndex = 0
        static kIsolateIndex = 1
        static kReturnValueDefaultValueIndex = 2
        static kReturnValueIndex = 3
        static kDataIndex = 4
        static kCalleeIndex = 5
        static kContextSaveIndex = 6
        static kArgsLength = 7
        ////
        #self
        #callee
        #holder
        #data
        #rslt
        #isolate
        constructor(implicit_args,values) {
            super();
            values.forEach(r=>this.push(r));
        }
        Length ()          {return(this.length)}
        Callee ()          {return(this.#callee)}
        This()             {return(this.#self)}
        Holder()           {return(this.#holder)}
        IsConstructCall()  {return(true)}
        Data()             {return(this.#data)}
        GetIsolate()       {return(this.#isolate)}
        GetReturnValue()   {return(this.#rslt)}
    }

METHODS

APIS

    {
      OptParser: [class OptParser],
      Opt: [class Opt extends Array],
      load_from_mat: [Function: load_from_mat],
      load_from_mat_and_parse: [Function: load_from_mat_and_parse],
      load_from_tbl: [Function: load_from_tbl],
      load_from_tbl_and_parse: [Function: load_from_tbl_and_parse],
      exec: [Function: wrap_exec],
      Env: [class Env extends Array] {
        PROPS: [
          'CFLAGS',
          'CXXFLAGS',
          'LDFLAGS',
          'CORE_HOME',
          'PKG_CONFIG_PATH',
          'CC',
          'CXX',
          'DEFAULT_DEPENDENCY_PATH',
          'CUSTOM_INCLUDE_PATH',
          'CUSTOM_LIBRARY_PATH',
          'OPTIMIZATION_LEVEL',
          'LD_LIBRARY_PATH'
        ]
      },
      load_env: [Function: load_env],
      cpu_count_: [Getter],
      os_type_: [Getter],
      creat_gyp_cmd_func: [Function: creat_gyp_cmd_func],
      creat_one_binding_gyp_target: [Function: creat_one_binding_gyp_target],
      creat_binding_gyp_targets: [Function: creat_binding_gyp_targets]
    }


        > x.enum
        {
          PropertyHandlerFlags: {
            kNone: 0,
            kAllCanRead: 1,
            kNonMasking: 2,
            kOnlyInterceptStrings: 3,
            kHasNoSideEffect: 4
          },
          WeakCallbackType: { kParameter: 0, kInternalFields: 1, kFinalizer: 2 },
          TaskPriority: { kBestEffort: 0, kUserVisible: 1, kUserBlocking: 2 },
          StateTag: {
            JS: 0,
            GC: 1,
            PARSER: 2,
            BYTECODE_COMPILER: 3,
            COMPILER: 4,
            OTHER: 5,
            EXTERNAL: 6,
            ATOMICS_WAIT: 7,
            IDLE: 8
          },
          AccessControl: {
            DEFAULT: 0,
            ALL_CAN_READ: 1,
            ALL_CAN_WRITE: 2,
            PROHIBITS_OVERWRITING: 3
          },
          AccessType: {
            ACCESS_GET: 0,
            ACCESS_SET: 1,
            ACCESS_HAS: 2,
            ACCESS_DELETE: 3,
            ACCESS_KEYS: 4
          },
          SideEffect: {
            kHasSideEffect: 0,
            kHasNoSideEffect: 1,
            kHasSideEffectToReceiver: 2
          }
        }
        >

LICENSE

  • ISC
1.0.2

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.3

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.20

2 years ago

1.0.25

2 years ago

1.0.24

2 years ago

1.0.27

2 years ago

1.0.33

2 years ago

1.0.32

2 years ago

1.0.10

2 years ago

1.0.31

2 years ago

1.0.30

2 years ago

1.0.15

2 years ago

1.0.13

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago