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

hasura-utils

v1.0.6

Published

Downloads

28

Readme

hasura-utils

Installation

Synopsis

Details

API

hasura-utils

hasura-utils

Type aliases

NameFunction

Ƭ NameFunction: function

Defined in index.ts:48

Type declaration:

▸ (table: string, schema?: undefined | string): string

Parameters:

Name | Type | ------ | ------ | table | string | schema? | undefined | string |


Operation

Ƭ Operation: "insert" | "select" | "update" | "delete"

Defined in index.ts:49


TableFilterFunction

Ƭ TableFilterFunction: function

Defined in index.ts:50

Type declaration:

▸ (table: Table): boolean

Parameters:

Name | Type | ------ | ------ | table | Table |

Variables

Const OPERATIONS

OPERATIONS: Operation[] = ["insert", "select", "update", "delete"]

Defined in index.ts:30

Functions

_untrackTable

_untrackTable(table: string, schema: string): object

Defined in migration-commands/untrack-table.ts:1

Parameters:

Name | Type | Default | ------ | ------ | ------ | table | string | - | schema | string | "public" |

Returns: object

  • type: string = "untrack_table"

  • args: object

    • table: object

      • name: string = table

      • schema: string


createDeletePermission

createDeletePermission(table: string, schema: string, __namedParameters: object): object

Defined in migration-commands/create-delete-permission.ts:3

Parameters:

table: string

Default value schema: string= "public"

__namedParameters: object

Name | Type | ------ | ------ | role | string | filter | object |

Returns: object


createInsertPermission

createInsertPermission(table: string, schema: string, __namedParameters: object): object

Defined in migration-commands/create-insert-permission.ts:3

Parameters:

table: string

Default value schema: string= "public"

__namedParameters: object

Name | Type | Default | ------ | ------ | ------ | columns | string[] | [] | filter | object | - | role | string | - | set | object | - |

Returns: object


createSelectPermission

createSelectPermission(table: string, schema: string, __namedParameters: object): object

Defined in migration-commands/create-select-permission.ts:3

Parameters:

table: string

Default value schema: string= "public"

__namedParameters: object

Name | Type | Default | ------ | ------ | ------ | allowAggregations | boolean | false | columns | string[] | [] | computedFields | undefined | string[] | - | limit | number | 10000 | role | string | - | filter | object | - |

Returns: object


createUpdatePermission

createUpdatePermission(table: string, schema: string, __namedParameters: object): object

Defined in migration-commands/create-update-permission.ts:3

Parameters:

table: string

Default value schema: string= "public"

__namedParameters: object

Name | Type | Default | ------ | ------ | ------ | columns | string[] | [] | role | string | - | set | undefined | object | - | filter | object | - |

Returns: object


dropPermission

dropPermission(table: string, schema: string, __namedParameters: object): object

Defined in migration-commands/drop-permission.ts:3

Parameters:

table: string

Default value schema: string= "public"

__namedParameters: object

Name | Type | ------ | ------ | operation | "insert" | "select" | "update" | "delete" | role | string |

Returns: object


formatAndWriteData

formatAndWriteData<T>(data: T, format?: "json" | "yaml", file?: undefined | string): Promise‹string | T›

Defined in helper.ts:8

Type parameters:

T

Parameters:

Name | Type | ------ | ------ | data | T | format? | "json" | "yaml" | file? | undefined | string |

Returns: Promise‹string | T›


getColumnNames

getColumnNames(table: Table, exclude: string[]): string[]

Defined in helper.ts:93

Parameters:

Name | Type | ------ | ------ | table | Table | exclude | string[] |

Returns: string[]


getHasuraCacheRedirectMapSource

getHasuraCacheRedirectMapSource(map: Record‹string, string›): string

Defined in helper.ts:49

Parameters:

Name | Type | ------ | ------ | map | Record‹string, string› |

Returns: string


getMultipleObjectName

getMultipleObjectName(table: string, schema?: undefined | string): string

Defined in helper.ts:45

Returns multiple object name used by Hasura for given PostgreSQL table.

Parameters:

Name | Type | Description | ------ | ------ | ------ | table | string | is the table name to create single result name. | schema? | undefined | string | - |

Returns: string

single object name.


getSingleObjectName

getSingleObjectName(table: string, schema?: undefined | string): string

Defined in helper.ts:35

Returns single object name used by Hasura for given PostgreSQL table.

Parameters:

Name | Type | Description | ------ | ------ | ------ | table | string | is the table name to create single result name. | schema? | undefined | string | - |

Returns: string

single object name.


getTableName

getTableName(table: string, schema?: undefined | string): string

Defined in helper.ts:25

Parameters:

Name | Type | ------ | ------ | table | string | schema? | undefined | string |

Returns: string


trackTable

trackTable(table: string, schema: string, options: object): object

Defined in migration-commands/track-table.ts:4

Parameters:

table: string

schema: string

options: object

Name | Type | ------ | ------ | getMultipleObjectName | NameFunction | getSingleObjectName | NameFunction | getTableName | NameFunction |

Returns: object

  • type: string = "track_table"

  • version: number = 2

  • args: object

    • configuration: object

      • custom_root_fields: object

        • delete: string = delete${camelize(options.getMultipleObjectName(table, schema))}

        • insert: string = add${camelize(options.getMultipleObjectName(table, schema))}

        • select: string = options.getMultipleObjectName(table, schema)

        • select_aggregate: string = ${camelize(options.getTableName(table, schema), true)}Aggregate

        • select_by_pk: string = options.getSingleObjectName(table, schema)

        • update: string = update${camelize(options.getMultipleObjectName(table, schema))}

    • table: object

      • name: string = table

      • schema: string


writeMigration

writeMigration(dir: string, up: object, down: object): Promise‹any›

Defined in helper.ts:21

Parameters:

Name | Type | ------ | ------ | dir | string | up | object | down | object |

Returns: Promise‹any›

Object literals

Const PERMISSION_FUNCTION

PERMISSION_FUNCTION: object

Defined in index.ts:31

delete

delete: createDeletePermission = createDeletePermission

Defined in index.ts:35

insert

insert: createInsertPermission = createInsertPermission

Defined in index.ts:32

select

select: createSelectPermission = createSelectPermission

Defined in index.ts:33

update

update: createUpdatePermission = createUpdatePermission

Defined in index.ts:34

Classes

hasura-utilsHasuraUtils

Class: HasuraUtils

Hierarchy

  • HasuraUtils

Methods

getMetaData

getMetaData(): Promise‹MetaData

Defined in index.ts:128

Returns: Promise‹MetaData


getTrackedTables

getTrackedTables(): Promise‹Table[]›

Defined in index.ts:140

Returns: Promise‹Table[]›


writeHasureCacheRedirectMap

writeHasureCacheRedirectMap(file: string, __namedParameters: object): Promise‹string›

Defined in index.ts:206

Creates typescript file for mapping (single object name -> table name) to be used with cache redirects.

Example

import { InMemoryCache, CacheResolver } from "apollo-cache-inmemory";

function getHasuraCacheRedirects(redirectMap: Record<string, string>): Record<string, CacheResolver> {
  const result: Record<string, CacheResolver> = {};
  Object.entries(redirectMap).forEach(([singleRecordName, tableName]) => {
    result[singleRecordName] = (_, args, { getCacheKey }) => getCacheKey({ __typename: tableName, id: args.id });
  });
  return result;
}

const cache: InMemoryCache = new InMemoryCache({
  cacheRedirects: {
    Query: { ...getHasuraCacheRedirects(apolloCacheRedirectMap) }
  }
});

see https://www.apollographql.com/docs/react/caching/cache-interaction/#cache-redirects-with-cacheredirects

see https://www.apollographql.com/docs/react/performance/performance/

Parameters:

file: string

is the file to wirte mapping.

Default value __namedParameters: object= {}

Name | Type | Default | ------ | ------ | ------ | onlyTracked | boolean | false | filter | | - |

Returns: Promise‹string›


writeMigrationsCreatePermissions

writeMigrationsCreatePermissions(__namedParameters: object): Promise‹string | object›

Defined in index.ts:145

Parameters:

__namedParameters: object

Name | Type | ------ | ------ | dir | string | filter | undefined | function | role | string | set | undefined | object | excludeColumns | object |

Returns: Promise‹string | object›


writeMigrationsTrackTable

writeMigrationsTrackTable(__namedParameters: object): Promise‹any›

Defined in index.ts:172

Parameters:

__namedParameters: object

Name | Type | ------ | ------ | dir | string | filter | undefined | function |

Returns: Promise‹any›


Static create

create(__namedParameters: object): Promise‹HasuraUtils

Defined in index.ts:92

Parameters:

Default value __namedParameters: object= {} as any

Name | Type | Default | ------ | ------ | ------ | adminSecret | string | process.env["X-HASURA-ADMIN-SECRET"] || "" | database | string | - | includeSchemas | string[] | ["public"] | multipleObjectNameFunction | function | getMultipleObjectName | password | string | - | singleObjectNameFunction | function | getSingleObjectName | tableNameFunction | function | getTableName | url | string | process.env["GRAPHQL-URL"] || "http://localhost:8080/v1/query" | user | string | - |

Returns: Promise‹HasuraUtils

Interfaces

hasura-utilsHasuraTableName

Interface: HasuraTableName

Hierarchy

  • HasuraTableName

Properties

name

name: string

Defined in index.ts:40


schema

schema: string

Defined in index.ts:39

hasura-utilsMetaData

Interface: MetaData

Hierarchy

  • MetaData

Properties

tables

tables: Array‹object›

Defined in index.ts:45


version

version: number

Defined in index.ts:44

hasura-utilsOptions

Interface: Options

Hierarchy

  • Options

Properties

Optional adminSecret

adminSecret? : undefined | string

Defined in index.ts:54


database

database: string

Defined in index.ts:55


Optional includeSchemas

includeSchemas? : string[]

Defined in index.ts:58


Optional multipleObjectNameFunction

multipleObjectNameFunction? : NameFunction

Defined in index.ts:60


password

password: string

Defined in index.ts:57


Optional singleObjectNameFunction

singleObjectNameFunction? : NameFunction

Defined in index.ts:59


Optional tableNameFunction

tableNameFunction? : NameFunction

Defined in index.ts:61


Optional url

url? : undefined | string

Defined in index.ts:53


user

user: string

Defined in index.ts:56