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

@lwc/engine-core
TypeScript icon, indicating that this package has built-in type declarations

1.9.0 • Public • Published

@lwc/engine-core

This package contains the core logic shared by different runtime environments. Examples of this include the rendering engine and the reactivity mechanism. Since this package only provides internal APIs for building custom runtimes, it should never be consumed directly in an application.

Usage of internal APIs are prevented by the compiler and are therefore not documented here.

Supported APIs

This package supports the following APIs.

@api

This decorator is used to mark the public fields and the public methods of an LWC component.

import { LightningElement, api } from 'lwc';
 
class LightningHello extends LightningElement {
    @api
    hello = 'default hello';
}

@track

This decorator should be used on private fields to track object mutations.

import { LightningElement, api, track } from 'lwc';
 
class LightningHello extends LightningElement {
    @api
    get name() {
        return name.raw;
    }
    set name(value) {
        name.normalized = normalize(value);
    }
 
    @track
    name = {
        raw: 'Web components ',
        normalized: 'Web Components',
    };
}

@wire

This decorator should be used to wire fields and methods to a wire adapter.

import { LightningElement, wire } from 'lwc';
import { getRecord } from 'recordDataService';
 
export default class Test extends LightningElement {
    @wire(getRecord, { id: 1 })
    recordData;
}

createContextProvider()

This function creates a context provider, given a wire adapter constructor.

LightningElement

This class should be extended to create an LWC constructor.

import { LightningElement } from 'lwc';
 
class LightningHello extends LightningElement {
    // component implementation
}

Experimental APIs

Experimental APIs are subject to change, may be removed at any time, and should be used at your own risk!

getComponentDef()

This experimental API provides access to internal component metadata.

isComponentConstructor()

This experimental API enables the identification of LWC constructors.

readonly()

This experimental API enables the creation of a reactive readonly membrane around any object value.

register()

This experimental API enables the registration of 'services' in LWC by exposing hooks into the component life-cycle.

sanitizeAttribute()

This experimental API enables the sanitization of attribute values by external services.

unwrap()

This experimental API enables the removal of an object's observable membrane proxy wrapper.

Keywords

none

Install

npm i @lwc/engi[email protected]

Version

1.9.0

License

MIT

Unpacked Size

451 kB

Total Files

52

Homepage

lwc.dev/

Last publish

Collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar