breeze-client
Version:
Breeze data management for JavaScript clients
73 lines (69 loc) • 3.64 kB
TypeScript
/** Configuration info to be passed to the [[NamingConvention]] constructor */
export interface NamingConventionConfig {
/** The name of this NamingConvention */
name?: string;
/** Function that takes a server property name add converts it into a client side property name. */
serverPropertyNameToClient?: (nm: string, context?: any) => string;
/** Function that takes a client property name add converts it into a server side property name. */
clientPropertyNameToServer?: (nm: string, context?: any) => string;
}
/**
A NamingConvention instance is used to specify the naming conventions under which a MetadataStore
will translate property names between the server and the javascript client.
The default NamingConvention does not perform any translation, it simply passes property names thru unchanged.
@dynamic
**/
export declare class NamingConvention {
/** @hidden @internal */
_$typeName: string;
/** The name of this NamingConvention. __Read Only__ */
name: string;
/** Function that takes a server property name add converts it into a client side property name. __Read Only__ */
serverPropertyNameToClient: (nm: string, context?: any) => string;
/** Function that takes a client property name add converts it into a server side property name. __Read Only__ */
clientPropertyNameToServer: (nm: string, context?: any) => string;
/**
NamingConvention constructor
> // A naming convention that converts the first character of every property name to uppercase on the server
> // and lowercase on the client.
> var namingConv = new NamingConvention({
> serverPropertyNameToClient: function(serverPropertyName) {
> return serverPropertyName.substr(0, 1).toLowerCase() + serverPropertyName.substr(1);
> },
> clientPropertyNameToServer: function(clientPropertyName) {
> return clientPropertyName.substr(0, 1).toUpperCase() + clientPropertyName.substr(1);
> }
> });
> var ms = new MetadataStore({ namingConvention: namingConv });
> var em = new EntityManager( { metadataStore: ms });
**/
constructor(ncConfig: NamingConventionConfig);
/**
/**
A noop naming convention - This is the default unless another is specified.
**/
static none: NamingConvention;
/**
The "camelCase" naming convention - This implementation only lowercases the first character of the server property name
but leaves the rest of the property name intact. If a more complicated version is needed then one should be created via the ctor.
**/
static camelCase: NamingConvention;
/**
The default value whenever NamingConventions are not specified.
**/
static defaultInstance: NamingConvention;
/**
Sets the 'defaultInstance' by creating a copy of the current 'defaultInstance' and then applying all of the properties of the current instance.
The current instance is returned unchanged.
> var namingConv = new NamingConvention({
> serverPropertyNameToClient: function(serverPropertyName) {
> return serverPropertyName.substr(0, 1).toLowerCase() + serverPropertyName.substr(1);
> },
> clientPropertyNameToServer: function(clientPropertyName) {
> return clientPropertyName.substr(0, 1).toUpperCase() + clientPropertyName.substr(1);
> }
> });
> namingConv.setAsDefault();
**/
setAsDefault(): any;
}