UNPKG

@ngxs-labs/entity-state

Version:

<p align="center"> <img src="https://raw.githubusercontent.com/ngxs-labs/emitter/master/docs/assets/logo.png"> </p>

43 lines 5.02 kB
import { generateActionObject } from '../internal'; import { EntityActionType } from './type-alias'; export class SetActive { /** * Generates an action that sets an ID that identifies the active entity * @param target The targeted state class * @param id The ID that identifies the active entity */ constructor(target, id) { return generateActionObject(EntityActionType.SetActive, target, id); } } export class ClearActive { /** * Generates an action that clears the active entity in the given state * @param target The targeted state class */ constructor(target) { return generateActionObject(EntityActionType.ClearActive, target); } } export class RemoveActive { /** * Generates an action that removes the active entity from the state and clears the active ID. * @param target The targeted state class */ constructor(target) { return generateActionObject(EntityActionType.RemoveActive, target); } } export class UpdateActive { /** * Generates an action that will update the current active entity. * If no entity is active a runtime error will be thrown. * @param target The targeted state class * @param payload An Updater payload * @see Updater */ constructor(target, payload) { return generateActionObject(EntityActionType.UpdateActive, target, payload); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hY3Rpb25zL2FjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFvQixNQUFNLGNBQWMsQ0FBQztBQU9sRSxNQUFNLE9BQU8sU0FBUztJQUNwQjs7OztPQUlHO0lBQ0gsWUFBWSxNQUE4QixFQUFFLEVBQVU7UUFDcEQsT0FBTyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxXQUFXO0lBQ3RCOzs7T0FHRztJQUNILFlBQVksTUFBOEI7UUFDeEMsT0FBTyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFlBQVk7SUFDdkI7OztPQUdHO0lBQ0gsWUFBWSxNQUE4QjtRQUN4QyxPQUFPLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQUN2Qjs7Ozs7O09BTUc7SUFDSCxZQUFZLE1BQTRCLEVBQUUsT0FBbUI7UUFDM0QsT0FBTyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdlbmVyYXRlQWN0aW9uT2JqZWN0IH0gZnJvbSAnLi4vaW50ZXJuYWwnO1xyXG5pbXBvcnQgeyBFbnRpdHlBY3Rpb25UeXBlLCBQYXlsb2FkLCBVcGRhdGVyIH0gZnJvbSAnLi90eXBlLWFsaWFzJztcclxuaW1wb3J0IHsgRW50aXR5U3RhdGUgfSBmcm9tICcuLi9lbnRpdHktc3RhdGUnO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgdHlwZSBFbnRpdHlTZXRBY3RpdmVBY3Rpb24gPSBQYXlsb2FkPHN0cmluZz47XHJcbmV4cG9ydCB0eXBlIEVudGl0eVVwZGF0ZUFjdGl2ZUFjdGlvbjxUPiA9IFBheWxvYWQ8VXBkYXRlcjxUPj47XHJcblxyXG5leHBvcnQgY2xhc3MgU2V0QWN0aXZlIHtcclxuICAvKipcclxuICAgKiBHZW5lcmF0ZXMgYW4gYWN0aW9uIHRoYXQgc2V0cyBhbiBJRCB0aGF0IGlkZW50aWZpZXMgdGhlIGFjdGl2ZSBlbnRpdHlcclxuICAgKiBAcGFyYW0gdGFyZ2V0IFRoZSB0YXJnZXRlZCBzdGF0ZSBjbGFzc1xyXG4gICAqIEBwYXJhbSBpZCBUaGUgSUQgdGhhdCBpZGVudGlmaWVzIHRoZSBhY3RpdmUgZW50aXR5XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IodGFyZ2V0OiBUeXBlPEVudGl0eVN0YXRlPGFueT4+LCBpZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gZ2VuZXJhdGVBY3Rpb25PYmplY3QoRW50aXR5QWN0aW9uVHlwZS5TZXRBY3RpdmUsIHRhcmdldCwgaWQpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENsZWFyQWN0aXZlIHtcclxuICAvKipcclxuICAgKiBHZW5lcmF0ZXMgYW4gYWN0aW9uIHRoYXQgY2xlYXJzIHRoZSBhY3RpdmUgZW50aXR5IGluIHRoZSBnaXZlbiBzdGF0ZVxyXG4gICAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldGVkIHN0YXRlIGNsYXNzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IodGFyZ2V0OiBUeXBlPEVudGl0eVN0YXRlPGFueT4+KSB7XHJcbiAgICByZXR1cm4gZ2VuZXJhdGVBY3Rpb25PYmplY3QoRW50aXR5QWN0aW9uVHlwZS5DbGVhckFjdGl2ZSwgdGFyZ2V0KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZW1vdmVBY3RpdmUge1xyXG4gIC8qKlxyXG4gICAqIEdlbmVyYXRlcyBhbiBhY3Rpb24gdGhhdCByZW1vdmVzIHRoZSBhY3RpdmUgZW50aXR5IGZyb20gdGhlIHN0YXRlIGFuZCBjbGVhcnMgdGhlIGFjdGl2ZSBJRC5cclxuICAgKiBAcGFyYW0gdGFyZ2V0IFRoZSB0YXJnZXRlZCBzdGF0ZSBjbGFzc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHRhcmdldDogVHlwZTxFbnRpdHlTdGF0ZTxhbnk+Pikge1xyXG4gICAgcmV0dXJuIGdlbmVyYXRlQWN0aW9uT2JqZWN0KEVudGl0eUFjdGlvblR5cGUuUmVtb3ZlQWN0aXZlLCB0YXJnZXQpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFVwZGF0ZUFjdGl2ZTxUPiB7XHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGVzIGFuIGFjdGlvbiB0aGF0IHdpbGwgdXBkYXRlIHRoZSBjdXJyZW50IGFjdGl2ZSBlbnRpdHkuXHJcbiAgICogSWYgbm8gZW50aXR5IGlzIGFjdGl2ZSBhIHJ1bnRpbWUgZXJyb3Igd2lsbCBiZSB0aHJvd24uXHJcbiAgICogQHBhcmFtIHRhcmdldCBUaGUgdGFyZ2V0ZWQgc3RhdGUgY2xhc3NcclxuICAgKiBAcGFyYW0gcGF5bG9hZCBBbiBVcGRhdGVyIHBheWxvYWRcclxuICAgKiBAc2VlIFVwZGF0ZXJcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcih0YXJnZXQ6IFR5cGU8RW50aXR5U3RhdGU8VD4+LCBwYXlsb2FkOiBVcGRhdGVyPFQ+KSB7XHJcbiAgICByZXR1cm4gZ2VuZXJhdGVBY3Rpb25PYmplY3QoRW50aXR5QWN0aW9uVHlwZS5VcGRhdGVBY3RpdmUsIHRhcmdldCwgcGF5bG9hZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==