2.1.1 • Published 5 years ago

sq-reflect v2.1.1

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

sq-reflect

postgres typescript type generator

install

$ npm i --save-dev sq-reflect
# or
$ yarn add -D sq-reflect

usage

$ sq-reflect --conn postgres://postgres@localhost:5432/db_name --file schema.ts

example

schema.sql

CREATE TYPE enum_color AS ENUM (
  'RED',
  'GREEN',
  'BLUE'
);

CREATE TABLE "user" (
  id                        UUID PRIMARY KEY,
  metadata                  JSON NOT NULL,
  favorite_color enum_color NOT NULL,
  created_at                TIMESTAMPTZ NOT NULL DEFAULT now(),
  deleted_at                TIMESTAMPTZ NULL
);

CREATE VIEW users AS (
  SELECT
    id,
    metadata,
    favorite_color,
    created_at
  FROM "user"
  WHERE
    deleted_at IS NULL
  ORDER BY created_at DESC
);

generates

schema.ts

export enum EnumColor {
  RED = 'RED',
  GREEN = 'GREEN',
  BLUE = 'BLUE',
}

export interface User<MetadataType = object> {
  id: string;
  metadata: MetadataType;
  favorite_color: EnumColor;
  created_at: Date;
  deleted_at: Date | null;
}

export interface Users<MetadataType = object> {
  id: string | null;
  metadata: MetadataType | null;
  favorite_color: EnumColor | null;
  created_at: Date | null;
}
2.1.1

5 years ago

2.1.0

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.1.0

5 years ago

1.0.0-1

5 years ago

1.0.0

5 years ago

0.0.0

5 years ago