Socket
Socket
Sign inDemoInstall

@ovotech/avro-logical-types

Package Overview
Dependencies
3
Maintainers
107
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @ovotech/avro-logical-types

Some logical types for avsc


Version published
Weekly downloads
129
decreased by-53.43%
Maintainers
107
Install size
345 kB
Created
Weekly downloads
 

Readme

Source

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

FAQs

Last updated on 20 Dec 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc