Class Index | File Index

Classes


Namespace JSV


Defined in: jsv.js.

Namespace Summary
Constructor Attributes Constructor Name and Description
 
JSV
A globaly accessible object that provides the ability to create and manage Environments, as well as providing utility methods.
Method Summary
Method Attributes Method Name and Description
<static>  
Creates and returns a new Environment that is a clone of the environment registered with the provided ID.
<static>  
Returns the ID of the default environment.
<static>  
Returns if the provide value is an instance of JSONInstance.
<static>  
JSV.isJSONSchema(o)
Returns if the provide value is an instance of JSONSchema.
<static>  
JSV.registerEnvironment(id, env)
Registers the provided Environment with the provided ID.
<static>  
Sets which registered ID is the default environment.
Utility Method Summary
Utility Method Attributes Utility Method Name and Description
<static>  
JSV.clone(o, deep)
Creates a copy of the target object.
<static>  
JSV.createObject(proto)
Return a new object that inherits all of the properties of the provided object.
<static>  
Properly escapes a URI component for embedding into a URI string.
<static>  
JSV.filterArray(arr, iterator, scope)
Returns a new array that only contains the items allowed by the iterator.
<static>  
JSV.formatURI(uri)
Returns a URI that is formated for JSV.
<static>  
JSV.inherits(base, extra, extension)
Merges two schemas/instance together.
<static>  
JSV.keys(o)
Returns an array of the names of all properties of an object.
<static>  
JSV.mapArray(arr, iterator, scope)
Returns a new array with each item transformed by the iterator.
<static>  
JSV.mapObject(obj, iterator, scope)
Returns a new object with each property transformed by the iterator.
<static>  
JSV.popFirst(arr, o)
Mutates the array by removing the first item that matches the provided value in the array.
<static>  
JSV.pushUnique(arr, o)
Mutates the array by pushing the provided value onto the array only if it is not already there.
<static>  
JSV.randomUUID()
Generates a pseudo-random UUID.
<static>  
JSV.searchArray(arr, o)
Returns the first index in the array that the provided item is located at.
<static>  
JSV.toArray(o)
Returns an array representation of a value.
<static>  
JSV.typeOf(o)
Returns the name of the type of the provided value.
Namespace Detail
JSV
A globaly accessible object that provides the ability to create and manage Environments, as well as providing utility methods.
Method Detail
<static> {Environment} JSV.createEnvironment(id)
Creates and returns a new Environment that is a clone of the environment registered with the provided ID. If no environment ID is provided, the default environment is cloned.
Parameters:
{String} id Optional
The ID of the environment to clone. If undefined, the default environment ID is used.
Throws:
{Error}
If there is no environment registered with the provided ID
Returns:
{Environment} A newly cloned Environment

<static> {String} JSV.getDefaultEnvironmentID()
Returns the ID of the default environment.
Returns:
{String} The ID of the default environment

<static> {Boolean} JSV.isJSONInstance(o)
Returns if the provide value is an instance of JSONInstance.
Parameters:
o
The value to test
Returns:
{Boolean} If the provide value is an instance of JSONInstance

<static> {Boolean} JSV.isJSONSchema(o)
Returns if the provide value is an instance of JSONSchema.
Parameters:
o
The value to test
Returns:
{Boolean} If the provide value is an instance of JSONSchema

<static> JSV.registerEnvironment(id, env)
Registers the provided Environment with the provided ID.
Parameters:
{String} id
The ID of the environment
{Environment} env
The environment to register

<static> JSV.setDefaultEnvironmentID(id)
Sets which registered ID is the default environment.
Parameters:
{String} id
The ID of the registered environment that is default
Throws:
{Error}
If there is no registered environment with the provided ID
Utility Method Detail
<static> JSV.clone(o, deep)
Creates a copy of the target object.

This method will create a new instance of the target, and then mixin the properties of the target. If deep is true, then each property will be cloned before mixin.

Warning: This is not a generic clone function, as it will only properly clone objects and arrays.

Parameters:
{Any} o
The value to clone
{Boolean} deep Optional, Default: false
If each property should be recursively cloned
Returns:
A cloned copy of the provided value

<static> {Object} JSV.createObject(proto)
Return a new object that inherits all of the properties of the provided object.
Parameters:
{Object} proto
The prototype of the new object
Returns:
{Object} A new object that inherits all of the properties of the provided object

<static> {String} JSV.escapeURIComponent(str)
Properly escapes a URI component for embedding into a URI string.
Parameters:
{String} str
The URI component to escape
Returns:
{String} The escaped URI component

<static> {Array} JSV.filterArray(arr, iterator, scope)
Returns a new array that only contains the items allowed by the iterator.
Parameters:
{Array} arr
The array to filter
{Function} iterator
The function that returns true if the provided property should be added to the array
{Object} scope
The value of this within the iterator
Returns:
{Array} A new array that contains the items allowed by the iterator

<static> {String} JSV.formatURI(uri)
Returns a URI that is formated for JSV. Currently, this only ensures that the URI ends with a hash tag (#).
Parameters:
{String} uri
The URI to format
Returns:
{String} The URI formatted for JSV

<static> {Any} JSV.inherits(base, extra, extension)
Merges two schemas/instance together.
Parameters:
{JSONSchema|Any} base
The old value to merge
{JSONSchema|Any} extra
The new value to merge
{Boolean} extension
If the merge is a JSON Schema extension
Returns:
{Any} The modified base value

<static> {Array} JSV.keys(o)
Returns an array of the names of all properties of an object.
Parameters:
{Object|Array} o
The object in question
Returns:
{Array} The names of all properties

<static> {Array} JSV.mapArray(arr, iterator, scope)
Returns a new array with each item transformed by the iterator.
Parameters:
{Array} arr
The array to transform
{Function} iterator
A function that returns the new value of the provided item
{Object} scope
The value of this in the iterator
Returns:
{Array} A new array with each item transformed

<static> {Object} JSV.mapObject(obj, iterator, scope)
Returns a new object with each property transformed by the iterator.
Parameters:
{Object} obj
The object to transform
{Function} iterator
A function that returns the new value of the provided property
{Object} scope Optional
The value of this in the iterator
Returns:
{Object} A new object with each property transformed

<static> {Array} JSV.popFirst(arr, o)
Mutates the array by removing the first item that matches the provided value in the array.
Parameters:
{Array} arr
The array to modify
{Any} o
The object to remove from the array
Returns:
{Array} The provided array for chaining

<static> {Array} JSV.pushUnique(arr, o)
Mutates the array by pushing the provided value onto the array only if it is not already there.
Parameters:
{Array} arr
The array to modify
{Any} o
The object to add to the array if it is not already there
Returns:
{Array} The provided array for chaining

<static> {String} JSV.randomUUID()
Generates a pseudo-random UUID.
Returns:
{String} A new universally unique ID

<static> {Number} JSV.searchArray(arr, o)
Returns the first index in the array that the provided item is located at.
Parameters:
{Array} arr
The array to search
{Any} o
The item being searched for
Returns:
{Number} The index of the item in the array, or -1 if not found

<static> {Array} JSV.toArray(o)
Returns an array representation of a value.
Parameters:
{Any} o
The value to convert into an array
Returns:
{Array} The value as an array

<static> {String} JSV.typeOf(o)
Returns the name of the type of the provided value.
Parameters:
{Any} o
The value to determine the type of
Returns:
{String} The name of the type of the value

Documentation generated by JsDoc Toolkit 2.4.0 on Wed Sep 14 2011 18:53:24 GMT-0600 (MDT)