Nuns Practicing Misanthropy

    slonik-interceptor-field-name-transformation
    TypeScript icon, indicating that this package has built-in type declarations

    1.6.4 • Public • Published

    slonik-interceptor-field-name-transformation

    Travis build status Coveralls NPM version Canonical Code Style Twitter Follow

    Transforms Slonik query result field names.

    Motivation

    This interceptor removes the necessity to alias field names, e.g.

    connection.any(sql`
      SELECT
        id,
        full_name "fullName"
      FROM person
    `);

    Field name transformation uses afterQuery interceptor method to format field names.

    API

    import {
      createFieldNameTransformationInterceptor
    } from 'slonik-interceptor-field-name-transformation';
    /**
     * @property format The only supported format is CAMEL_CASE.
     * @property test Tests whether the field should be formatted. The default behaviour is to include all fields that match ^[a-z0-9_]+$ regex.
     */
    type ConfigurationType = {|
      +format: 'CAMEL_CASE',
      +test: (field: FieldType) => boolean
    |};
    
    (configuration: ConfigurationType) => InterceptorType;

    Example usage

    import {
      createPool
    } from 'slonik';
    import {
      createFieldNameTransformationInterceptor
    } from 'slonik-interceptor-field-name-transformation';
    
    const interceptors = [
      createFieldNameTransformationInterceptor({
        format: 'CAMEL_CASE'
      })
    ];
    
    const connection = createPool('postgres://', {
      interceptors
    });
    
    connection.any(sql`
      SELECT
        id,
        full_name
      FROM person
    `);
    
    // [
    //   {
    //     id: 1,
    //     fullName: 1
    //   }
    // ]

    Install

    npm i slonik-interceptor-field-name-transformation

    DownloadsWeekly Downloads

    3,646

    Version

    1.6.4

    License

    BSD-3-Clause

    Unpacked Size

    11.1 kB

    Total Files

    13

    Last publish

    Collaborators

    • gajus