@hdml/schemas
TypeScript icon, indicating that this package has built-in type declarations

0.0.2-alpha.5 • Public • Published

@hdml/schemas

The @hdml/schemas package is a part of the HDML-Utilities monorepo and provides TypeScript types generated by the FlatBuffers tool. These types define the HyperData object model, facilitating consistent data handling and transfer across the HDML ecosystem.

Features

  • FlatBuffers-based: Uses FlatBuffers to ensure efficient and compact serialization and deserialization of data.
  • TypeScript support: Provides strongly typed interfaces for the HyperData object model.
  • Automated updates: Types are auto-generated from FlatBuffers schemas during the build process, ensuring synchronization with the latest schema definitions.

Installation

To include @hdml/schemas in your project, install it using npm or yarn:

npm install @hdml/schemas
# or
yarn add @hdml/schemas

Usage

Import the generated types into your TypeScript project to leverage the HyperData object model:

import { HDOM } from "@hdml/types";
import { ConnectorTypesEnum } from "@hdml/schemas";
import { serialize, deserialize } from "@hdml/buffer";

const hdom: HDOM = {
  includes: [],
  connections: [
    {
      name: "",
      description: null,
      options: {
        connector: ConnectorTypesEnum.Postgres,
        parameters: {
          host: "",
          user: "",
          password: "",
          ssl: false,
        },
      },
    },
  ],
  models: [],
  frames: [],
};
const buf = serialize(hdom);
const struct = deserialize(buf);

Schema Compilation

The @hdml/schemas package is the target for FlatBuffers schema compilation. The schemas are maintained in a separate repository, HDML-Schemas, which is included in the monorepo as a git submodule. This structure ensures a clean separation of schema definitions and their generated outputs.

Development Workflow

  • Update schemas: Make necessary changes to the FlatBuffers schemas in the HDML-Schemas repository.
  • Remap commit: After updating the schemas, remap the corresponding commit from the HDML-Schemas repository to the monorepo by updating the git submodule reference.
  • Compile schemas: Run the build process in the monorepo to generate updated TypeScript types from the schemas.
  • Use updated types: The latest types are now available in the @hdml/schemas package for use in your projects.

License

Apache License Version 2.0

Readme

Keywords

none

Package Sidebar

Install

npm i @hdml/schemas

Weekly Downloads

0

Version

0.0.2-alpha.5

License

Apache-2.0

Unpacked Size

724 kB

Total Files

268

Last publish

Collaborators

  • hdml