Naughty Pinching Mannequins
    Wondering what’s next for npm?Check out our public roadmap! »

    This package has been deprecated

    Author message:

    This package has been renamed to kentico-cloud-delivery. Please install this latest version as it contains many improvements/bug fixes and supports both node and browser

    kentico-cloud-delivery-typescript-sdk
    TypeScript icon, indicating that this package has built-in type declarations

    3.1.0 • Public • Published

    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.

    Install

    npm i kentico-cloud-delivery-typescript-sdk

    DownloadsWeekly Downloads

    11

    Version

    3.1.0

    License

    MIT

    Unpacked Size

    2.66 MB

    Total Files

    631

    Last publish

    Collaborators

    • avatar