@slmdevs/contentstack-lib

Starting point for a new NPM package.

Usage no npm install needed!

<script type="module">
  import slmdevsContentstackLib from 'https://cdn.skypack.dev/@slmdevs/contentstack-lib';
</script>

README

contentstack-lib

NPM module containing shared code for our content stack resources


RdsConnection

Class responsible for holding our SQL connection and making it available to be used in our code.

Constructor Arguments

Argument Type
connectionUrl String
options RdsConnectionOpts
import { Rds } from '@slmdevs/contentsack-lib'

let rdsConnection: Rds
Rds.connectWithSecret(secretId).then((instance): void => {
    rdsConnection = instance
})

//....

Methods

query

Public method that performs the provided query and returns the raw result

//...
rdsConnection.query(`SELECT uuid, name
                FROM content.author;`)

ContentUtil

Static class holding utility methods to simplify the transformation of content

Methods

capitalize

Static method that takes a string and returns the capitalized version

convertCamelToSnake

Static method that takes a camelcase string and converts it to snake case.

import { ContentUtil } from '@slmdevs/contentsack-lib'

ContentUtil.capitalize('uncapitalizedName') // UncapitalizedName
ContentUtil.convertCamelToSnake('myCamelCaseString') // my_Camel_Case_String

Interfaces

Here is a list of the interfaces made available by this module

RdsConnectionOpts

Options object passed into the RdsConnection constructor

WriterArticle

Shape of the article object

WriterAuthor

Shape of the author object

WriterCategory

Shape of the category object

WriterTag

Shape of the tag object

FindArticleInput

Shape of the input object provided when querying for an article

WriterLocation

Shape of a location object

WriterArticleSerie

Shape of an article serie object

WriterTeaserable

Shape of a teaserable Object.