ngx-base-state
Version:
Base classes for creation state service via Rxjs observable
18 lines • 2.61 kB
JavaScript
import { BaseState } from './base.state';
/**
* @class
* @classdes Primitive state class. Used for save state with Primitive type (Like boolean, number or string).
*/
export class PrimitiveState extends BaseState {
validateDataType(data) {
const isDataValid = ((typeof data === 'number') ||
(typeof data === 'string') ||
(typeof data === 'boolean') ||
(typeof data === 'bigint') ||
(typeof data === 'symbol'));
if (!isDataValid) {
throw new Error(`${this.constructor.name}: Expected data in Primitive format!`);
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGlicmFyeS9zcmMvbGliL3N0YXRlcy9wcmltaXRpdmUuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUl6Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBb0MsU0FBUSxTQUFZO0lBQzlDLGdCQUFnQixDQUFDLElBQWE7UUFDN0MsTUFBTSxXQUFXLEdBQUcsQ0FDaEIsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUM7WUFDMUIsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUM7WUFDMUIsQ0FBQyxPQUFPLElBQUksS0FBSyxTQUFTLENBQUM7WUFDM0IsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUM7WUFDMUIsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FDN0IsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLHNDQUFzQyxDQUFDLENBQUM7U0FDbkY7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlU3RhdGUgfSBmcm9tICcuL2Jhc2Uuc3RhdGUnO1xyXG5cclxudHlwZSBQcmltaXRpdmUgPSBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuIHwgYmlnaW50IHwgc3ltYm9sO1xyXG5cclxuLyoqXHJcbiAqXHRAY2xhc3NcclxuICpcdEBjbGFzc2RlcyBQcmltaXRpdmUgc3RhdGUgY2xhc3MuIFVzZWQgZm9yIHNhdmUgc3RhdGUgd2l0aCBQcmltaXRpdmUgdHlwZSAoTGlrZSBib29sZWFuLCBudW1iZXIgb3Igc3RyaW5nKS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBQcmltaXRpdmVTdGF0ZTxUIGV4dGVuZHMgUHJpbWl0aXZlPiBleHRlbmRzIEJhc2VTdGF0ZTxUPiB7XHJcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGVEYXRhVHlwZShkYXRhOiB1bmtub3duKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaXNEYXRhVmFsaWQgPSAoXHJcbiAgICAgICAgICAgICh0eXBlb2YgZGF0YSA9PT0gJ251bWJlcicpIHx8XHJcbiAgICAgICAgICAgICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHx8XHJcbiAgICAgICAgICAgICh0eXBlb2YgZGF0YSA9PT0gJ2Jvb2xlYW4nKSB8fFxyXG4gICAgICAgICAgICAodHlwZW9mIGRhdGEgPT09ICdiaWdpbnQnKSB8fFxyXG4gICAgICAgICAgICAodHlwZW9mIGRhdGEgPT09ICdzeW1ib2wnKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmICghaXNEYXRhVmFsaWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IEV4cGVjdGVkIGRhdGEgaW4gUHJpbWl0aXZlIGZvcm1hdCFgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19