@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
JavaScript
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==