Files
cocos-engine/cocos/core/data/serialization-metadata.ts
Leslie Leigh (李的序) 2ecf99ad53 Optimize animation document (#10860)
* Optimize animation document

* Update

* Update

* Update
2022-04-26 15:44:38 +08:00

31 lines
829 B
TypeScript

const sMetadataTag = Symbol('cc:SerializationMetadata');
/**
* @internal DO NOT USE IT IN YOUR CODES.
* @param constructor
* @returns
*/
// eslint-disable-next-line @typescript-eslint/ban-types
export function getSerializationMetadata (constructor: Function): SerializationMetadata | undefined {
return (constructor as MayBeInjected)[sMetadataTag];
}
/**
* @internal
*/
// eslint-disable-next-line @typescript-eslint/ban-types
export function getOrCreateSerializationMetadata (constructor: Function): SerializationMetadata {
return (constructor as MayBeInjected)[sMetadataTag] ??= {};
}
/**
* @internal For internal usage only. DO NOT USE IT IN YOUR CODES.
*/
export interface SerializationMetadata {
uniquelyReferenced?: boolean;
}
interface MayBeInjected {
[sMetadataTag]?: SerializationMetadata;
}