@ngxs-labs/entity-state
Version:
<p align="center"> <img src="https://raw.githubusercontent.com/ngxs-labs/emitter/master/docs/assets/logo.png"> </p>
34 lines • 4.08 kB
JavaScript
import { generateActionObject } from '../internal';
import { EntityActionType } from './type-alias';
export class Update {
/**
* Generates an action that will update all entities, specified by the given selector.
* @param target The targeted state class
* @param selector An EntitySelector that determines the entities to update
* @param data An Updater that will be applied to the selected entities
* @see EntitySelector
* @see Updater
*/
constructor(target, selector, data) {
return generateActionObject(EntityActionType.Update, target, {
selector,
data
});
}
}
export class UpdateAll {
/**
* Generates an action that will update all entities.
* If no entity is active a runtime error will be thrown.
* @param target The targeted state class
* @param data An Updater that will be applied to all entities
* @see EntitySelector
* @see Updater
*/
constructor(target, data) {
return generateActionObject(EntityActionType.UpdateAll, target, {
data
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hY3Rpb25zL3VwZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUEyQixNQUFNLGNBQWMsQ0FBQztBQWF6RSxNQUFNLE9BQU8sTUFBTTtJQUNqQjs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxNQUE0QixFQUFFLFFBQTJCLEVBQUUsSUFBZ0I7UUFDckYsT0FBTyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFO1lBQzNELFFBQVE7WUFDUixJQUFJO1NBQ2MsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxTQUFTO0lBQ3BCOzs7Ozs7O09BT0c7SUFDSCxZQUFZLE1BQTRCLEVBQUUsSUFBZ0I7UUFDeEQsT0FBTyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFO1lBQzlELElBQUk7U0FDYyxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2VuZXJhdGVBY3Rpb25PYmplY3QgfSBmcm9tICcuLi9pbnRlcm5hbCc7XHJcbmltcG9ydCB7IEVudGl0eUFjdGlvblR5cGUsIEVudGl0eVNlbGVjdG9yLCBVcGRhdGVyIH0gZnJvbSAnLi90eXBlLWFsaWFzJztcclxuaW1wb3J0IHsgRW50aXR5U3RhdGUgfSBmcm9tICcuLi9lbnRpdHktc3RhdGUnO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVVwZGF0ZTxUPiB7XHJcbiAgc2VsZWN0b3I/OiBFbnRpdHlTZWxlY3RvcjxUPjtcclxuICBkYXRhOiBVcGRhdGVyPFQ+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVVwZGF0ZUFjdGlvbjxUPiB7XHJcbiAgcGF5bG9hZDogRW50aXR5VXBkYXRlPFQ+O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVXBkYXRlPFQ+IHtcclxuICAvKipcclxuICAgKiBHZW5lcmF0ZXMgYW4gYWN0aW9uIHRoYXQgd2lsbCB1cGRhdGUgYWxsIGVudGl0aWVzLCBzcGVjaWZpZWQgYnkgdGhlIGdpdmVuIHNlbGVjdG9yLlxyXG4gICAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldGVkIHN0YXRlIGNsYXNzXHJcbiAgICogQHBhcmFtIHNlbGVjdG9yIEFuIEVudGl0eVNlbGVjdG9yIHRoYXQgZGV0ZXJtaW5lcyB0aGUgZW50aXRpZXMgdG8gdXBkYXRlXHJcbiAgICogQHBhcmFtIGRhdGEgQW4gVXBkYXRlciB0aGF0IHdpbGwgYmUgYXBwbGllZCB0byB0aGUgc2VsZWN0ZWQgZW50aXRpZXNcclxuICAgKiBAc2VlIEVudGl0eVNlbGVjdG9yXHJcbiAgICogQHNlZSBVcGRhdGVyXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IodGFyZ2V0OiBUeXBlPEVudGl0eVN0YXRlPFQ+Piwgc2VsZWN0b3I6IEVudGl0eVNlbGVjdG9yPFQ+LCBkYXRhOiBVcGRhdGVyPFQ+KSB7XHJcbiAgICByZXR1cm4gZ2VuZXJhdGVBY3Rpb25PYmplY3QoRW50aXR5QWN0aW9uVHlwZS5VcGRhdGUsIHRhcmdldCwge1xyXG4gICAgICBzZWxlY3RvcixcclxuICAgICAgZGF0YVxyXG4gICAgfSBhcyBFbnRpdHlVcGRhdGU8VD4pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFVwZGF0ZUFsbDxUPiB7XHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGVzIGFuIGFjdGlvbiB0aGF0IHdpbGwgdXBkYXRlIGFsbCBlbnRpdGllcy5cclxuICAgKiBJZiBubyBlbnRpdHkgaXMgYWN0aXZlIGEgcnVudGltZSBlcnJvciB3aWxsIGJlIHRocm93bi5cclxuICAgKiBAcGFyYW0gdGFyZ2V0IFRoZSB0YXJnZXRlZCBzdGF0ZSBjbGFzc1xyXG4gICAqIEBwYXJhbSBkYXRhIEFuIFVwZGF0ZXIgdGhhdCB3aWxsIGJlIGFwcGxpZWQgdG8gYWxsIGVudGl0aWVzXHJcbiAgICogQHNlZSBFbnRpdHlTZWxlY3RvclxyXG4gICAqIEBzZWUgVXBkYXRlclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHRhcmdldDogVHlwZTxFbnRpdHlTdGF0ZTxUPj4sIGRhdGE6IFVwZGF0ZXI8VD4pIHtcclxuICAgIHJldHVybiBnZW5lcmF0ZUFjdGlvbk9iamVjdChFbnRpdHlBY3Rpb25UeXBlLlVwZGF0ZUFsbCwgdGFyZ2V0LCB7XHJcbiAgICAgIGRhdGFcclxuICAgIH0gYXMgRW50aXR5VXBkYXRlPFQ+KTtcclxuICB9XHJcbn1cclxuIl19