Need private packages and team management tools?Check out npm Teams »

enonic-types

0.0.54 • Public • Published

TypeScript types for Enonic XP

npm version

This library contains TypeScript types for Enonic XP.

Code generation

We recommend using this library together with its sister library: enonic-ts-codegen. enonic-ts-codegen will create TypeScript interfaces for your content-types. Those interfaces will be very useful together with this library.

Example

We have an Enonic service that returns an article by id.

import { Request, Response } from "enonic-types/lib/controller";
import { ContentLibrary } from "enonic-types/lib/content";
import { Article } from "../../site/content-types/article/article"; // 1
 
const contentLib: ContentLibrary = __non_webpack_require__("/lib/xp/content"); // 2
 
export function get(req: Request): Response { // 3
  const content = contentLib.get<Article>({ key: req.params.id! });
 
  if (content !== null) { // 4
    const article: Article = content.data;
 
    return { status: 200, body: article }
  } else {
    return { status: 404 };
  }
}
  1. We import an interface Article { ... } generated by enonic-ts-codegen.
  2. When we import something with __non_webpack_require__, we can give the library a type. In this case the type is ContentLibrary.
  3. We use the imported Request and Response to control the shape of our controller.
  4. content is of the type Content<Article> | null, so we have to do a null check before proceiding.

Supported libraries

Keywords

Install

npm i enonic-types

DownloadsWeekly Downloads

189

Version

0.0.54

License

MIT

Unpacked Size

48.2 kB

Total Files

42

Last publish

Collaborators

  • avatar