Member Junction
    Preparing search index...

    Module @memberjunction/templates-base-types - v5.49.0

    @memberjunction/templates-base-types

    Base types and metadata caching engine for MemberJunction's templating system. Provides cached access to template metadata and can be used on both client and server.

    graph TD
        subgraph "@memberjunction/templates-base-types"
            A[TemplateEngineBase] --> B[Templates Cache]
            A --> C[Template Contents]
            A --> D[Template Params]
            A --> E[Content Types]
            A --> F[Categories]
        end
    
        subgraph "Loaded via Dataset"
            G["Template_Metadata
    Dataset"] end G --> A H["@memberjunction/templates
    (Server Engine)"] --> A style A fill:#2d6a9f,stroke:#1a4971,color:#fff style B fill:#2d8659,stroke:#1a5c3a,color:#fff style C fill:#2d8659,stroke:#1a5c3a,color:#fff style D fill:#2d8659,stroke:#1a5c3a,color:#fff style E fill:#7c5295,stroke:#563a6b,color:#fff style F fill:#7c5295,stroke:#563a6b,color:#fff style H fill:#b8762f,stroke:#8a5722,color:#fff

    This package provides the foundational layer for MemberJunction's templating system:

    • TemplateEngineBase: Singleton engine that loads and caches all template metadata via the Template_Metadata dataset
    • TemplateRenderResult: Standard result type for template rendering operations
    • Metadata Access: Cached getters for templates, content types, categories, contents, and params
    • Template Lookup: Convenience method for finding templates by name (case-insensitive)
    • Content Association: Automatically associates template contents and params with their parent templates after loading
    npm install @memberjunction/templates-base-types
    
    import { TemplateEngineBase } from '@memberjunction/templates-base-types';

    // Load template metadata
    await TemplateEngineBase.Instance.Config(false, contextUser);

    // Force refresh
    await TemplateEngineBase.Instance.Config(true, contextUser);
    const engine = TemplateEngineBase.Instance;

    // All templates (with Content and Params pre-associated)
    const templates = engine.Templates;

    // Find a template by name
    const emailTemplate = engine.FindTemplate('Welcome Email');

    // Access template contents and params
    const contents = emailTemplate.Content;
    const params = emailTemplate.Params;

    // Other metadata
    const contentTypes = engine.TemplateContentTypes;
    const categories = engine.TemplateCategories;
    import { TemplateRenderResult } from '@memberjunction/templates-base-types';

    // Returned by rendering operations
    const result: TemplateRenderResult = {
    Success: true,
    Output: '<html>...</html>',
    Message: undefined // Only set on failure
    };
    Member Type Description
    Instance static getter Singleton instance
    Config() method Load/refresh template metadata
    Templates getter All templates with associated contents and params
    TemplateContentTypes getter Available content types
    TemplateCategories getter Template categories
    TemplateContents getter All template content records
    TemplateParams getter All template parameter definitions
    FindTemplate() method Find template by name (case-insensitive)
    Property Type Description
    Success boolean Whether rendering succeeded
    Output string The rendered output
    Message string (optional) Error message on failure

    This package provides the metadata caching layer usable anywhere. The @memberjunction/templates package extends it with server-side Nunjucks rendering, custom extensions, and AI prompt integration.

    graph LR
        A["@memberjunction/templates-base-types
    (Metadata + Types)"] --> B["@memberjunction/templates
    (Server Rendering)"] C[Client Code] --> A D[Server Code] --> B style A fill:#2d6a9f,stroke:#1a4971,color:#fff style B fill:#2d8659,stroke:#1a5c3a,color:#fff style C fill:#b8762f,stroke:#8a5722,color:#fff style D fill:#b8762f,stroke:#8a5722,color:#fff
    Package Purpose
    @memberjunction/core BaseEngine, UserInfo, IMetadataProvider
    @memberjunction/core-entities Template entity types
    @memberjunction/global MJGlobal class factory

    ISC

    Classes

    TemplateEngineBase
    TemplateRenderResult