Skip to main content
Latest
class SerializePropertyOptionsMap
import { SerializePropertyOptionsMap } from "https://deno.land/x/ts_serialize@v2.0.3/serialize_property_options_map.ts";

Double indexed map of Serialized Property Options The property options of a Serialize Property can be looked up by both the property key on the original object, and the serialized property key used in json

When adding a key to the map that overlaps the property key or the serialize key of a parent key any parent entries using those keys will be ignored, even if no entry for the child map exists

Constructors

new
SerializePropertyOptionsMap(parentMap?: SerializePropertyOptionsMap)

Properties

private
propertyKeyIgnoreSet: Set<string | symbol>
private
propertyKeyMap: Map<string | symbol, SerializePropertyOptions>
private
serializedKeyIgnoreSet: Set<string>
private
serializedKeyMap: Map<string, SerializePropertyOptions>

Methods

private
getMergedWithParentMap(): Map<string | symbol, SerializePropertyOptions>

Get a map of all property entries for this map, including parent entires, excluding any ignored parent properties

getByPropertyKey(propertyKey: string | symbol): SerializePropertyOptions | undefined
getBySerializedKey(serializedKey: string): SerializePropertyOptions | undefined
hasPropertyKey(propertyKey: string | symbol): boolean
hasSerializedKey(serializedKey: string): boolean
set(serializePropertyOptions: SerializePropertyOptions): void

Setting a key will throw an error if there are key collisions with either an existing property key or serialized key