# Template Filters
Filters are essentially functions that can be applied to variables. They are called with a pipe operator (|) and can take arguments. nunjucks (opens new window) filters alter output of variables in place. You can use all available builtin nunjucks filters (opens new window).
{{ table.name | lower }} -> Converts name to lower case. (i.e. Member -> member)
They can be chained:
{{ table.name | plural | camelCase }} -> Converts name to plural in camel case. (i.e. member_name -> memberNames)
# pg-generator filters
pg-generator offfers additional filters suitable for database scaffolding. Some of them are based on highly popular inflection (opens new window) npm module.
Filter Name | Description | Before | After |
---|---|---|---|
camelCase | Converts string to camelcase. | member_name | memberName |
pascalCase | Converts string to pascal case. | member_name | MemberName |
classCase | Converts string to class case. | member_name | MemberName |
snakeCase | Converts string to snake case. | memberName | member_name |
dashCase | Converts string to separated by dash (-). | member_Name | member-name |
singular | Converts string to singular. | member_names | member_name |
plural | Converts string to plural. | member_name | member_names |
clearDefault | Clears PostgreSQL default values to be used in JS code. | "O''Reilly" | "O'Reilly" |
quote | Adds quotes to string using JSON.stringify . | member_name | "member_name" |
singleQuote | Adds single quotes to string. | member_name | 'member_name' |
stringifyIfObject({nullToUndef:false, raw:false}) | Converts object to string to use in template directly. | { name: 'George' } | { name: 'George' } |
stripPrefix(arg1, arg2, ...) | Strips given texts and object.name s from beginning of string. | cart_cart_id1 | cart_id |
stripSuffix(arg1, arg2, ...) | Strips given texts and object.name s from end of string. | cart_id2 | cart |
strip(arg1, arg2, ...) | Strips given texts and object.name s from string. | cart_product_id3 | cart_id |
padRight(length, [char]) | Pads string with optional char (default space) until it's length equals to length. | member4 | member...... |
relationName | Converts foreign key name to be used in a relationship. If string ends with '_id' or 'id', strips it (case insensitive). Otherwise adds given prefix at the beginning of the string. | company_id, account | company related_account |
makeJsDoc(str) | Converts given string to JSOC lines | "some \n multi line" | " _ some\n _ multi line" |
* Footnotes
*1 {{ 'cart_cart_id' | stripPrefix('cart') }} -> cart_id
{{ 'cart_cart_id' | stripPrefix(cart_table) }} -> cart_id (Assuming cart_table.name equals cart)
{{ 'a_b_c_table' | stripPrefix('a', 'b') }} -> c_table
*2 {{ 'cart_id' | stripSuffix('id') }} -> cart
*3 {{ 'cart_product_id' | strip('product') }} -> cart_id
*4 {{ 'member' | padRight(10) }} -> member <- Space padded until here.
{{ 'member' | padRight(10, '_') }} -> member____
# API of Filter Functions
# clearDefault(string) ⇒ string
| boolean
| undefined
Clears SQL type escapes (Two quote '' to one quote ') and strips beginning and trailing quotes around string. Also escapes result according to JSON standards.
Returns: string
| boolean
| undefined
- - Default value to use in template.
Param | Type | Description |
---|---|---|
string | string | Default value returned from PostgreSQL. |
# relationName(str, [prefix]) ⇒ string
Converts foreign key name to be used in a relationship. If string ends with '_id' or 'id', strips it (case insensitive). Otherwise adds given prefix at the beginning of the string. company_id -> company, account -> related_account
Returns: string
- - Name for the belongsTo relationship.
Param | Type | Default | Description |
---|---|---|---|
str | string | Foreign key name. | |
[prefix] | string | "related" | Prefix to add if no given string does not contain 'id'. |
# stripPrefix(source, arguments) ⇒ string
Variadic function which strips given list of strings or object's names from start of the source string.
Returns: string
- - Cleaned string.
Param | Type | Description |
---|---|---|
source | string | Source string to be cleaned. |
arguments | string | Object | List of strings or objects (object's names) to delete from source string. |
# stripSuffix(source, arguments) ⇒ string
Variadic function which strips given list of strings or object's names from end of the source string.
Returns: string
- - Cleaned string.
Param | Type | Description |
---|---|---|
source | string | Source string to be cleaned. |
arguments | string | Object | List of strings or objects (object's names) to delete from source string. |
# padRight(str, count, [char]) ⇒ string
Pads given string's right side with given character (default space) to complete its length to count.
Returns: string
- - Result string with length of count.
Param | Type | Default | Description |
---|---|---|---|
str | string | Source string. | |
count | number | Total length of the result string. | |
[char] | string | "space" | Padding character |