CERNY
This is the file that provides the core functionality of the Cerny.js library: interception, type checking, logging, dependency declaration, configuration and dictionaries.
To use the Cerny.js library this file must be included in your page. The configuration file (a copy of cerny.conf.js) must be included beforehand.
Some conventions used:
If a current function or member is overwritten in a script, e.g. 'insertBefore', but will be referred to later, the new name of the member is composed of an underscore followed by the old name, e.g. '_insertBefore'.
If a simple name is not possible due to keyword restrictions, the name is proceeded by an underscore, e.g. '_delete'.
If a function takes arbitrarily many arguments, the documentation for these parameters must be called 'arguments'.
If the documentation for a function does not specify a return value, the function returns undefined.
Functions
object
Prototypal inheritance [DCP].
method
Attach a function as a method to an object. This allows to create arbitrarliy many functions around the actual function. It aims for separation of concerns. The interceptors are wrapped around the function starting with the last one. This allows a "natural order", when filling the array regarding dependency. So more basic interceptors (e.g. LogIndenter) are pushed first.
signature
Specify the signature of a function. The types can be specified either by a string ("boolean", "string", "number", "object", "function", "undefined", "null", "any") or by a function, against which the actual value will be tested against with instanceof.
In the future it should be possible to specify an object as a type and the prototype chain is inspected for that object. Even more in the future it Cerny schemas could be used.
dump
Dump a value for logging purposes. Returns the value of the variable followed by it's type in braces. If the variable is a string, the value is enclosed by a single quote.
Logger
Create a logger. For every category there exists exactly one logger.
intercept
Instrument methods of an object for interception. Can be called multiple times with the same effect, only depending on CERNY.Configuration.Interception.active or the passed interceptors.
This function does not work on the window object in IE.
namespace
Create a namespace in CERNY. This function is inspired by the Yahoo! UI Library [YUI].
joinFunctions
Join functions into one function. The new function returns the return value of the last function.
Useful for extending event handlers on popular objects (like window).
isPresent
Check whether an expression is present during runtime.
require
Check for the presence of expressions.
load
Load a script. This function is called in require. It has different implementations in various environments (browser, Rhino [RHI]).
Dictionary
Dictionary maker.
A dictionary is a mapping from terms to definitions. Definitions may contain nested terms. The process of evaluating a term is done by lookup.
lookup
Lookup a term in this dictionary.

