npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@odata2ts/converter-v2-to-v4

v0.5.4

Published

A set of odata2ts compatible converters to convert certain OData V2 types to their V4 analog

Downloads

12,634

Readme

npm (scoped)

V2-to-V4 Converters

A set of odata2ts compatible converters to convert certain OData V2 types to their V4 analog. Thus, other converters only need to take care of the V4 data models.

Conversions

| OData V2 Type | Result Type | Converter Id | Description | | -------------- | --------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | | Edm.DateTime | Edm.DateTimeOffset | dateTimeToDateTimeOffsetConverter | Converts "/Date(123...)/" to ISO8601 "2022-02-22T12:00:00Z"; offsets are supported "/Date(123..+120)/" | | Edm.Byte | number | stringToNumberConverter | | | Edm.SByte | number | stringToNumberConverter | | | Edm.Single | number | stringToNumberConverter | | | Edm.Double | number | stringToNumberConverter | | | Edm.Int64 | numberstring | stringToNumberConverterbigNumberNoopConverter | By default, converted to number, with the help of the noop converter string | | Edm.Decimal | numberstring | stringToNumberConverterbigNumberNoopConverter | By default, converted to number, with the help of the noop converter string | | Edm.Time | Edm.TimeOfDay | timeToTimeOfDayConverter | Converts duration format to time format, e.g. PT12H15M to 12:15:00 | | Edm.Time | Edm.Duration | timeToDurationConverter | Relabels Edm.Time to Edm.Duration (no conversion required); not a default converter |

Note on Big Numbers

Edm.Int64 & Edm.Decimal get converted to the number type as V4 does it. However, please note that those numbers potentially don't fit into JS' number type, which might result in precision loss.

In order to prevent such precision loss, you could use additional converters after this converter, e.g. int64ToBigIntConverter from the common converter package.

Alternatively, you can use the bigNumberNoopConverter from this package to keep those types as string. This would like this in the odata2ts configuration:

{
  converters: [
    {
      module: "@odata2ts/converter-v2-to-v4",
      use: [
        "stringToNumberConverter",
        "bigNumberNoopConverter",
        "dateTimeToDateTimeOffsetConverter",
        "timeToTimeOfDayConverter",
      ],
    },
  ];
}

Installation

npm install --save @odata2ts/converter-v2-to-v4

Documentation

V2-to-V4-Converter Documentation

Main Documentation of odata2ts: https://odata2ts.github.io/

Support, Feedback, Contributing

This project is open to feature requests, suggestions, bug reports, usage questions etc. via GitHub issues.

Contributions and feedback are encouraged and always welcome.

See the contribution guidelines for further information.

Spirit

This project has been created and is maintained in the following spirit:

  • adhere to the OData specification as much as possible
    • support any OData service implementation which conforms to the spec
    • allow to work around faulty implementations if possible
  • stability matters
    • exercise Test Driven Development
    • bomb the place with unit tests (code coverage > 95%)
    • ensure that assumptions & understanding are correct by creating integration tests

License

MIT - see License.