@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
38 lines (37 loc) • 1.62 kB
TypeScript
/**
* A symbol used to mark properties that should be ignored during cloning operations.
*/
export declare const ignoreSymbol: unique symbol;
/**
* A symbol used to mark properties that should be ignored during cloning operations.
*/
export declare const ignoreCloneSymbol: unique symbol;
/**
* A symbol used to mark properties that should be serializable.
*/
export declare const serializeSymbol: unique symbol;
/**
* A decorator function that marks a property of a class to be ignored during cloning.
*
* @param target - The target object (class prototype) where the property resides.
* @param propertyKey - The key of the property to be ignored during cloning.
*/
export declare function BrainIgnoreClone(target: any, propertyKey: string | symbol): void;
/**
* A decorator function that marks a property of a class to be ignored. No proxy will be created for this object.
*
* @param target - The target object (class prototype) where the property resides.
* @param propertyKey - The key of the property to be ignored.
*/
export declare function BrainIgnore(target: any, propertyKey: string | symbol): void;
/**
* A decorator function that marks a property of a class to be serializable.
*
* @param target - The target object (class prototype) where the property resides.
* @param propertyKey - The key of the property to be ignored during cloning.
*/
export declare function BrainSerialize(target: any, propertyKey: string | symbol): void;
export interface IBrainSerializable {
isBrainSerializable: boolean;
}
export declare function isBrainSerializable(obj: any): obj is IBrainSerializable;