![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
@ovotech/avro-logical-types
Advanced tools
Some logical types for avsc.
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 },
});
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
You can run the tests with:
yarn test
Style is maintained with prettier and tslint
yarn lint
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.
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).
This project is licensed under Apache 2 - see the LICENSE file for details
FAQs
Some logical types for avsc
The npm package @ovotech/avro-logical-types receives a total of 213 weekly downloads. As such, @ovotech/avro-logical-types popularity was classified as not popular.
We found that @ovotech/avro-logical-types demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 107 open source maintainers collaborating on the project.
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.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.