Comparing version 1.0.0-pre-47 to 1.0.0-pre-48
import type { DryvValidationSession } from './DryvValidationSession'; | ||
import { DryvOptions } from './typings'; | ||
import { DryvValidator } from './DryvValidator'; | ||
import { DryvCompositeValidator } from './DryvCompositeValidator'; | ||
export declare function createValidator<TModel extends object>(parent: DryvCompositeValidator, value: any, model: TModel | undefined, field: keyof TModel | undefined, session: DryvValidationSession, options: DryvOptions): DryvValidator | null; | ||
import { DryvComplexValidator } from './DryvComplexValidator'; | ||
export declare function createValidator<TModel extends object>(parent: DryvComplexValidator, value: any, model: TModel | undefined, field: keyof TModel | undefined, session: DryvValidationSession, options: DryvOptions): DryvValidator | null; |
@@ -5,8 +5,8 @@ import { DryvValidatableArray, DryvValidationResult } from './'; | ||
import { DryvValidationSession } from './DryvValidationSession'; | ||
import { DryvCompositeValidator } from './DryvCompositeValidator'; | ||
export declare class DryvArrayValidator<TModel extends object = any> extends DryvCompositeValidator<any, DryvValidatableArray<TModel>> { | ||
import { DryvComplexValidator } from './DryvComplexValidator'; | ||
export declare class DryvArrayValidator<TModel extends object = any> extends DryvComplexValidator<any, DryvValidatableArray<TModel>> { | ||
private _unregisterArray?; | ||
private readonly _items; | ||
proxy: TModel[]; | ||
constructor(model: TModel[], session: DryvValidationSession, parent: DryvCompositeValidator | undefined, options: DryvOptions, field?: keyof any); | ||
constructor(model: TModel[], session: DryvValidationSession, parent: DryvComplexValidator | undefined, options: DryvOptions, field?: keyof any); | ||
protected onParentChanged(): void; | ||
@@ -13,0 +13,0 @@ private updateArray; |
@@ -12,4 +12,4 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
import { dryvValidatableArray, observableArrayProxy } from './internal'; | ||
import { DryvCompositeValidator } from './DryvCompositeValidator'; | ||
export class DryvArrayValidator extends DryvCompositeValidator { | ||
import { DryvComplexValidator } from './DryvComplexValidator'; | ||
export class DryvArrayValidator extends DryvComplexValidator { | ||
constructor(model, session, parent, options, field) { | ||
@@ -16,0 +16,0 @@ super(model, session, parent, options, field); |
@@ -1,14 +0,23 @@ | ||
import type { DryvValidationSession } from './'; | ||
import { DryvOptions } from './'; | ||
import { DryvValidator } from './DryvValidator'; | ||
export declare abstract class DryvCompositeValidator<TModel extends object = any, TTransparentProxy = any> extends DryvValidator<TModel, TModel, DryvCompositeValidator> { | ||
private _ignoreChildChanges; | ||
private _isReverting; | ||
private _transparentProxy?; | ||
protected constructor(model: TModel, session: DryvValidationSession<TModel>, parent: DryvCompositeValidator | undefined, options: DryvOptions, field?: keyof TModel); | ||
get transparentProxy(): TTransparentProxy; | ||
protected set transparentProxy(value: TTransparentProxy); | ||
protected get isReverting(): boolean; | ||
revert(): void; | ||
refreshDirty(): void; | ||
import type { DryvValidationSession } from './' | ||
import { DryvOptions } from './' | ||
import { DryvValidator } from './DryvValidator' | ||
export declare abstract class DryvComplexValidator< | ||
TModel extends object = any, | ||
TTransparentProxy = any | ||
> extends DryvValidator<TModel, TModel, DryvComplexValidator> { | ||
private _ignoreChildChanges | ||
private _isReverting | ||
private _transparentProxy? | ||
protected constructor( | ||
model: TModel, | ||
session: DryvValidationSession<TModel>, | ||
parent: DryvComplexValidator | undefined, | ||
options: DryvOptions, | ||
field?: keyof TModel | ||
) | ||
get transparentProxy(): TTransparentProxy | ||
protected set transparentProxy(value: TTransparentProxy) | ||
protected get isReverting(): boolean | ||
revert(): void | ||
refreshDirty(): void | ||
} |
@@ -1,38 +0,39 @@ | ||
import { DryvValidator } from './DryvValidator'; | ||
export class DryvCompositeValidator extends DryvValidator { | ||
constructor(model, session, parent, options, field) { | ||
super(model, session, parent, options, field); | ||
this._ignoreChildChanges = false; | ||
this._isReverting = false; | ||
import { DryvValidator } from './DryvValidator' | ||
export class DryvComplexValidator extends DryvValidator { | ||
constructor(model, session, parent, options, field) { | ||
super(model, session, parent, options, field) | ||
this._ignoreChildChanges = false | ||
this._isReverting = false | ||
} | ||
get transparentProxy() { | ||
return this._transparentProxy | ||
} | ||
set transparentProxy(value) { | ||
this._transparentProxy = value | ||
} | ||
get isReverting() { | ||
return this._isReverting | ||
} | ||
revert() { | ||
try { | ||
this._isReverting = true | ||
super.revert() | ||
} finally { | ||
this._isReverting = false | ||
} | ||
get transparentProxy() { | ||
return this._transparentProxy; | ||
} | ||
refreshDirty() { | ||
var _a | ||
if (this._ignoreChildChanges) { | ||
return | ||
} | ||
set transparentProxy(value) { | ||
this._transparentProxy = value; | ||
const wasDirty = this.isDirty | ||
this.isDirty = this.childValidators().some((f) => | ||
f === null || f === void 0 ? void 0 : f.isDirty | ||
) | ||
if (this.isDirty !== wasDirty) { | ||
;(_a = this.parent) === null || _a === void 0 ? void 0 : _a.refreshDirty() | ||
} | ||
get isReverting() { | ||
return this._isReverting; | ||
} | ||
revert() { | ||
try { | ||
this._isReverting = true; | ||
super.revert(); | ||
} | ||
finally { | ||
this._isReverting = false; | ||
} | ||
} | ||
refreshDirty() { | ||
var _a; | ||
if (this._ignoreChildChanges) { | ||
return; | ||
} | ||
const wasDirty = this.isDirty; | ||
this.isDirty = this.childValidators().some((f) => f === null || f === void 0 ? void 0 : f.isDirty); | ||
if (this.isDirty !== wasDirty) { | ||
(_a = this.parent) === null || _a === void 0 ? void 0 : _a.refreshDirty(); | ||
} | ||
} | ||
} | ||
} | ||
//# sourceMappingURL=DryvCompositeValidator.js.map | ||
//# sourceMappingURL=DryvComplexValidator.js.map |
import type { DryvValidationResult, DryvValidationSession } from './'; | ||
import { DryvOptions, DryvServerErrors, DryvServerValidationResponse, DryvValidator } from './'; | ||
import { DryvCompositeValidator } from './DryvCompositeValidator'; | ||
export declare class DryvFieldValidator<TModel extends object, TParameters = any> extends DryvValidator<TModel, TParameters, DryvCompositeValidator> { | ||
import { DryvComplexValidator } from './DryvComplexValidator'; | ||
export declare class DryvFieldValidator<TModel extends object, TParameters = any> extends DryvValidator<TModel, TParameters, DryvComplexValidator> { | ||
private _initialValue; | ||
constructor(model: TModel, session: DryvValidationSession, parent: DryvCompositeValidator, options: DryvOptions, field: keyof TModel); | ||
constructor(model: TModel, session: DryvValidationSession, parent: DryvComplexValidator, options: DryvOptions, field: keyof TModel); | ||
get value(): any; | ||
@@ -8,0 +8,0 @@ set value(value: any); |
import { DryvValidationResult, DryvValidationSession } from './'; | ||
import { DryvOptions, DryvValidatableObject } from './'; | ||
import { DryvOptions, DryvValidatableObject } from './typings'; | ||
import { DryvValidator } from './DryvValidator'; | ||
import { DryvCompositeValidator } from './DryvCompositeValidator'; | ||
export declare class DryvObjectValidator<TModel extends object = any> extends DryvCompositeValidator<TModel, DryvValidatableObject<TModel>> { | ||
import { DryvComplexValidator } from './DryvComplexValidator'; | ||
export declare class DryvObjectValidator<TModel extends object = any> extends DryvComplexValidator<TModel, DryvValidatableObject<TModel>> { | ||
private _unregister?; | ||
@@ -11,3 +11,3 @@ readonly fields: { | ||
proxy: TModel; | ||
constructor(model: TModel, session: DryvValidationSession<TModel, any>, parent: DryvCompositeValidator | undefined, options: DryvOptions, field?: keyof TModel); | ||
constructor(model: TModel, session: DryvValidationSession<TModel, any>, parent: DryvComplexValidator | undefined, options: DryvOptions, field?: keyof TModel); | ||
private updateModel; | ||
@@ -14,0 +14,0 @@ get value(): TModel; |
@@ -12,4 +12,4 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
import { dryvValidatableObject, observableProxy } from './internal'; | ||
import { DryvCompositeValidator } from './DryvCompositeValidator'; | ||
export class DryvObjectValidator extends DryvCompositeValidator { | ||
import { DryvComplexValidator } from './DryvComplexValidator'; | ||
export class DryvObjectValidator extends DryvComplexValidator { | ||
constructor(model, session, parent, options, field) { | ||
@@ -34,2 +34,5 @@ super(model, session, parent, options, field); | ||
let validator = this.fields[event.field]; | ||
if (this.isReverting || validator === null) { | ||
return; | ||
} | ||
if (validator === undefined) { | ||
@@ -39,4 +42,4 @@ validator = createValidator(this, event.newValue, proxy, event.field, this.session, this.options); | ||
} | ||
if (this.isReverting || validator === null) { | ||
return; | ||
else { | ||
validator.value = event.newValue; | ||
} | ||
@@ -43,0 +46,0 @@ validator === null || validator === void 0 ? void 0 : validator.refreshDirty(); |
import { DryvFieldValidationResult, DryvOptions, DryvValidationResult, DryvValidationRule, DryvValidationRuleSet, DryvValidator } from './.'; | ||
import { DryvCompositeValidator } from './DryvCompositeValidator'; | ||
import { DryvComplexValidator } from './DryvComplexValidator'; | ||
export declare class DryvValidationSession<TModel extends object = any, TParameters = any> { | ||
@@ -20,3 +20,3 @@ private options; | ||
get isValidating(): boolean; | ||
validateObject(objectValidator: DryvCompositeValidator): Promise<DryvValidationResult>; | ||
validateObject(objectValidator: DryvComplexValidator): Promise<DryvValidationResult>; | ||
validateField(field: DryvValidator<TModel>, model?: TModel): Promise<DryvValidationResult>; | ||
@@ -23,0 +23,0 @@ private canValidateFields; |
@@ -1,2 +0,2 @@ | ||
import { DryvCompositeValidator } from '../DryvCompositeValidator'; | ||
import { DryvComplexValidator } from '../DryvComplexValidator'; | ||
export function dryvValidatableArray(validator) { | ||
@@ -17,3 +17,3 @@ return new Proxy(validator.childValidators(), new DryvTransparentArrayProxyHandler(validator)); | ||
const value = target[prop]; | ||
return value instanceof DryvCompositeValidator ? value.transparentProxy : value; | ||
return value instanceof DryvComplexValidator ? value.transparentProxy : value; | ||
} | ||
@@ -20,0 +20,0 @@ apply(target, thisArg, argArray) { |
import { DryvObjectValidator, DryvValidator } from '../.'; | ||
import { DryvCompositeValidator } from '../DryvCompositeValidator'; | ||
import { DryvComplexValidator } from '../DryvComplexValidator'; | ||
export function dryvValidatableObject(validator) { | ||
@@ -12,3 +12,3 @@ return new Proxy(validator, new DryvTransparentProxyHandler()); | ||
const innerValue = target.fields[prop]; | ||
return innerValue instanceof DryvCompositeValidator ? innerValue.transparentProxy : innerValue; | ||
return innerValue instanceof DryvComplexValidator ? innerValue.transparentProxy : innerValue; | ||
} | ||
@@ -15,0 +15,0 @@ set(target, prop, value, receiver) { |
{ | ||
"name": "dryvjs", | ||
"version": "1.0.0-pre-47", | ||
"version": "1.0.0-pre-48", | ||
"main": "dist/index.js", | ||
@@ -5,0 +5,0 @@ "types": "dist/index.d.ts", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
406957
257
5917