@nexssp/data

    1.0.8 • Public • Published

    @nexssp/data

    Just library for datatypes.

    Note

    This library/module is the effect of the refactoring the Nexss Programmer @nexssp/cli which development has been started in 2018.

    Examples

    const { is, type } = require('@nexssp/data')
    console.log(type(new Map())) // map
    const Stream = require('stream')
    console.log(type(new Stream.Readable())) // stream
    console.log(type({})) // object
    console.log(type(() => {})) // function
    console.log(type(Promise.resolve(1))) // promise
    console.log(is('object', {})) // true
    console.log(is('array', [])) // true
    console.log(is('array', '[]')) // false
    console.log(is('file', 'example.js')) // true
    console.log(is('directory', 'example.js')) // false
    console.log(is('directory', '../tests')) // true
    
    // object, string, array, number, boolean, undefined, function, null,
    // map, set, generatorfunction, promise, stream, file, directory

    Functions

    • type (value) -> return one of the datatype: object, string, array, number, boolean, undefined, function, null, map, set, generatorfunction, promise, stream, url, json
    • is (type, value) -> check for the types + is('directory',v), is('dir',v), **is('file',v), **is('url',v), , is('json',v)
    • compare (v1, v2) -> compares 2 values. If any of them is function, it will run first and then compare
    • isEmpty (value) -> check if anything is empty like array, object, string.

    Valid Datatypes

    exports.valid = {
      object: () => [{}, { x: 1 }, { x: 1, y: { nested: true } }],
      string: () => ['', 'mystring'],
      array: () => [[0], [1, 2]],
      number: () => [1, 1234, 36936936936936936936936936936936936936936936936936],
      boolean: () => [true, false],
      undefined: () => [undefined],
      function: () => [() => {}, function () {}, () => 'somestring'],
      asyncfunction: () => [async () => {}, async function () {}],
      null: () => [null],
      map: () => [
        new Map(),
        new Map([
          ['key1', 'value1'],
          ['key2', 'value2'],
        ]),
      ],
      set: () => [
        new Set(),
        new Set([
          ['key1', 'value1'],
          ['key2', 'value2'],
        ]),
      ],
      generatorfunction: () => [function* x() {}],
      promise: () => [Promise.resolve() /*, Promise.reject()*/],
      stream: () => [
        new stream.Readable(),
        new stream.Writable(),
        new stream.Transform(),
        new stream.Stream(),
        new stream.Duplex(),
        new stream.PassThrough(),
      ],
      file: () => [path.resolve(`lib/data.js`)],
      directory: () => [path.resolve(`lib`)],
      dir: () => [path.resolve(`lib`)],
      url: () => ['https://abc.ce', 'https://abc.de'],
      json: () => ['{"x":1}', '{"val":{"nested":5}}'],
      regexp: () => [new RegExp(/x/)],
    }

    Install

    npm i @nexssp/data

    Homepage

    nexss.com

    DownloadsWeekly Downloads

    46

    Version

    1.0.8

    License

    MIT

    Unpacked Size

    18.1 kB

    Total Files

    11

    Last publish

    Collaborators

    • nexss