Nitrate Processed Mincemeat

    @avro/types

    1.0.25 • Public • Published

    Avro types NPM version

    Pure JavaScript implementation of the Avro specification.

    Features

    Installation

    $ npm install @avro/types

    @avro/types is compatible with all versions of node.js since 0.11.

    Examples

    Inside a node.js module, or using browserify:

    const {Type} = require('@avro/types');
    • Encode and decode values from a known schema:

      const type = Type.forSchema({
        type: 'record',
        fields: [
          {name: 'kind', type: {type: 'enum', symbols: ['CAT', 'DOG']}},
          {name: 'name', type: 'string'}
        ]
      });
      
      const buf = type.toBuffer({kind: 'CAT', name: 'Albert'}); // Encoded buffer.
      const val = type.fromBuffer(buf); // = {kind: 'CAT', name: 'Albert'}
    • Infer a value's schema and encode similar values:

      const type = Type.forValue({
        city: 'Cambridge',
        zipCodes: ['02138', '02139'],
        visits: 2
      });
      
      // We can use `type` to encode any values with the same structure:
      const bufs = [
        type.toBuffer({city: 'Seattle', zipCodes: ['98101'], visits: 3}),
        type.toBuffer({city: 'NYC', zipCodes: [], visits: 0})
      ];

    Install

    npm i @avro/types

    DownloadsWeekly Downloads

    388

    Version

    1.0.25

    License

    MIT

    Unpacked Size

    128 kB

    Total Files

    8

    Last publish

    Collaborators

    • mtth