Optional
lookupFn: RefLookupFunctionoptional function or additionalArgs object
Optional
additionalArgs: AdditionalPropArgsoptional object that contains beforeDeserialize and/or afterDeserialize handlers
Optional
additionalArgs: AdditionalPropArgsOptional
additionalArgs: AdditionalPropArgsGenerated using TypeDoc
reference
can be used to (de)serialize references that point to other models.The first parameter should be either a ModelSchema that has an
identifier()
property (see identifier) or a string that represents which attribute in the target object represents the identifier of the object.The second parameter is a lookup function that is invoked during deserialization to resolve an identifier to an object. Its signature should be as follows:
lookupFunction(identifier, callback, context)
where:identifier
is the identifier being resolvedcallback
is a node style calblack function to be invoked with the found object (as second arg) or an error (first arg)context
see context.The lookupFunction is optional. If it is not provided, it will try to find an object of the expected type and required identifier within the same JSON document
N.B. mind issues with circular dependencies when importing model schemas from other files! The module resolve algorithm might expose classes before
createModelSchema
is executed for the target class.Example