Socket
Socket
Sign inDemoInstall

kentico-cloud-delivery-typescript-sdk

Package Overview
Dependencies
6
Maintainers
1
Versions
95
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    kentico-cloud-delivery-typescript-sdk

Official Kentico Cloud Delivery SDK


Version published
Weekly downloads
55
increased by1733.33%
Maintainers
1
Install size
19.9 MB
Created
Weekly downloads
 

Readme

Source

Kentico Cloud Delivery JavaScript / TypeScript SDK

npm version Build Status npm Forums Coverage Status Known Vulnerabilities

A client library for retrieving content from Kentico Cloud that supports JavaScript and TypeScript.

TypeScript

JavaScript

DocumentationDocumentation
Quick startQuick start
Sample apps
Angular 5+ app (live demo, github)JavaScript app
Configuration
Client configurationClient configuration
API documentation
Get items (Observable)Get items (Observable)
Get items (Promise)Get items (Promise)
Creating modelsCreating models
Model generatorModel generator
Initialize clientInitialize client
Query parametersQuery parameters
FilteringFiltering
SortingSorting
LocalizationLocalization
Property binding / Model decoratorsProperty binding
Preview modePreview mode
Secured API modeSecured API mode
URL slugsURL slugs
Rich text resolverRich text resolver
Strongly typed nested propertyN/A
Get typesGet types
Get taxonomiesGet taxonomies
Errors
Handling errorsHandling errors
Debugging
Request dataRequest data
Getting URLGetting URL

Node.js support

Visit GitHub repository to see how you can use this SDK in Node.js environment.

Quick start

npm i kentico-cloud-delivery-typescript-sdk --save

TypeScript (ES6)

import { ContentItem, Fields,TypeResolver,DeliveryClient,DeliveryClientConfig } from 'kentico-cloud-delivery-typescript-sdk';

/**
 * This is optional, but it is considered a best practice to define your models
 * so you can leverage intellisense and so that you can extend your models with 
 * additional properties / methods.
 */
export class Movie extends ContentItem {
  public title: Fields.TextField;
}

/**
 * Type resolvers make sure instance of proper class is created for your content types.
 * If you don't use any custom models, return an empty array.
 */
let typeResolvers: TypeResolver[] = [
    new TypeResolver('movie', () => new Movie()),
];

/**
 * Create new instance of Delivery Client
 */
var deliveryClient = new DeliveryClient(
  new DeliveryClientConfig('projectId', typeResolvers)
);

/**
 * Get typed data from Cloud (note that the 'Movie' has to be registered in your type resolvers)
 */
deliveryClient.items<Movie>()
  .type('movie')
  .get()
  .subscribe(response => {
    console.log(response);
    // you can access strongly types properties
    console.log(response.items[0].title.text);
});

/**
 * Get data without having custom models 
 */
deliveryClient.items<ContentItem>()
  .type('movie')
  .get()
  .subscribe(response => {
    console.log(response);
    // you can access properties same way as with strongly typed models, but note
    // that you don't get any intellisense and the underlying object 
    // instance is of 'ContentItem' type
    console.log(response.items[0].title.text);
});

JavaScript (CommonJS)

var KenticoCloud = require('kentico-cloud-delivery-typescript-sdk');

/**
 * This is optional, but it is considered a best practice to define your models
 * so that you can leverage intellisense and extend your models with 
 * additional methods.
 */
class Movie extends KenticoCloud.ContentItem {
    constructor() {
        super();
    }
}

/**
 * Type resolvers make sure instance of proper class is created for your content types.
 * If you don't use any custom classes, return an empty array.
 */
var typeResolvers = [
    new KenticoCloud.TypeResolver('movie', () => new Movie()),
];

/**
 * Delivery client configuration object
 */
var config = new KenticoCloud.DeliveryClientConfig(projectId, typeResolvers);

/**
 * Create new instance of Delivery Client
 */
var deliveryClient = new KenticoCloud.DeliveryClient(config);

/**
 * Fetch all items of 'movie' type and given parameters from Kentico Cloud.
 * Important note: SDK will convert items to your type if you registered it. For example,
 * in this case the objects will be of 'Movie' type we defined above. 
 * If you don't use custom models, 'ContentItem' object instances will be returned.
 */
deliveryClient.items()
    .type('movie')
    .get()
    .subscribe(response => console.log(response));

Testing

Note: You need to have Firefox installed in order to run tests via Karma.

  • Use npm test to run all tests.
  • Use npm run dev-test to run developer tests created in dev-test folder. Use this for your testing purposes.

Publishing

In order to publish SDK first run one of following tasks to increase version & update sdk info file:

  • npm run new-patch
  • npm run new-minor
  • npm run new-major

And then run (note that tests and necessary scripts are automatically executed using the prepublishOnly script):

  • npm run publish

Feedback & Contribution

Feedback & Contributions are welcomed. Feel free to take/start an issue & submit PR.

Keywords

FAQs

Last updated on 26 Mar 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc