@ovotech/avro-logical-types
Some logical types for avsc
Last updated 10 months ago by ikerin .
Apache-2.0 · Original npm · Tarball · package.json
$ cnpm install @ovotech/avro-logical-types 
SYNC missed versions from official npm registry.

Avro Logical Types

Some logical types for avsc.

Using

yarn add @ovotech/avro-logical-types
import { DateType } from '@ovotech/avro-logical-types';
import { Type } from 'avsc';

const type = Type.forSchema(
  {
    type: 'record',
    fields: [{ name: 'kind', type: { type: 'enum', symbols: ['CAT', 'DOG'] } }, { name: 'name', type: 'string' }],
  },
  { logicalTypes: { date: DateType } },
);

Or with @ovotech/avro-stream

import { AvroDeserializer } from '@ovotech/avro-stream';
import { DateType, TimestampType } from '@ovotech/avro-logical-types';

const deserializer = new AvroDeserializer('http://localhost:8081', {
  logicalTypes: { date: DateType, 'timestamp-millis': TimestampType },
});

Available Types

DateType: Dates serialised as epoch days (number of days since epoch), deserialised as ISO String

DateAsDateType: Dates serialised as epoch days (number of days since epoch), deserialised as an instance of Date

TimestampType: Dates serialised as timestamp, deserialised as ISO String

TimestampAsDateType: Dates serialised as timestamp, deserialised as an instance of Date

DecimalType: Decimal, up to 64bit (or 63 bit signed), serialised as bytes, deserialised as an instance of decimal.js

Running the tests

You can run the tests with:

yarn test

Coding style (linting, etc) tests

Style is maintained with prettier and tslint

yarn lint

Deployment

Deployment is preferment by lerna automatically on merge / push to master, but you'll need to bump the package version numbers yourself. Only updated packages with newer versions will be pushed to the npm registry.

Contributing

Have a bug? File an issue with a simple example that reproduces this so we can take a look & confirm.

Want to make a change? Submit a PR, explain why it's useful, and make sure you've updated the docs (this file) and the tests (see test folder).

License

This project is licensed under Apache 2 - see the LICENSE file for details

Current Tags

  • 1.1.2                                ...           latest (10 months ago)

4 Versions

  • 1.1.2                                ...           10 months ago
  • 1.0.2                                ...           a year ago
  • 1.0.1                                ...           2 years ago
  • 1.0.0                                ...           2 years ago
Downloads
Today 0
This Week 0
This Month 2
Last Day 0
Last Week 2
Last Month 6
Dependencies (2)
Dev Dependencies (11)

Copyright 2014 - 2016 © taobao.org |