UNPKG

jaydata-dynamic-metadata

Version:

OData v4 metadata to JayData context util

3 lines 15.9 kB
{ "src": "/*//////////////////////////////////////////////////////////////////////////////////////\n////// Autogenerated by JaySvcUtil http://JayData.org for more info /////////\n////// OData V4 TypeScript /////////\n//////////////////////////////////////////////////////////////////////////////////////*/\n\ndeclare module $data{\n class Geography{}\n class GeographyLineString{}\n class GeographyPolygon{}\n class GeographyMultiPoint{}\n class GeographyMultiPolygon{}\n class GeographyMultiLineString{}\n class GeographyCollection{}\n\n class Geometry{}\n class GeometryLineString{}\n class GeometryPolygon{}\n class GeometryMultiPoint{}\n class GeometryMultiPolygon{}\n class GeometryMultiLineString{}\n class GeometryCollection{}\n\n const enum EntityState{\n Detached = 0,\n Unchanged = 10,\n Added = 20,\n Modified = 30,\n Deleted = 40\n }\n\n interface MemberDefinition{\n name: string;\n type: any;\n dataType: any;\n elementType: any;\n originalType: any;\n kind: string;\n classMember: boolean;\n set: (value:any) => void;\n get: () => any;\n value: any;\n initialValue: any;\n method: Function;\n enumerable: boolean;\n configurable: boolean;\n key: boolean;\n computed: boolean;\n storeOnObject: boolean;\n monitorChanges: boolean;\n }\n\n interface Event{\n attach(eventHandler: (sender: any, event: any) => void ): void;\n detach(eventHandler: () => void ): void;\n fire(e: any, sender: any): void;\n }\n\n class Base<T>{\n constructor();\n getType: () => typeof Base;\n\n static addProperty(name:string, getterOrType:string | Function, setterOrGetter?:Function, setter?:Function): void;\n static addMember(name:string, definition:any, isClassMember?:boolean): void;\n static describeField(name:string, definition:any): void;\n\n static hasMetadata(key:string, property?:string): boolean;\n static getAllMetadata(property?:string): any;\n static getMetadata(key:string, property?:string): any;\n static setMetadata(key:string, value:any, property?:string): void;\n }\n\n class Enum extends Base<Enum>{\n static extend(name:string, instanceDefinition:any, classDefinition?:any): Base<Enum>;\n }\n function createEnum(name:string, enumType:any, enumDefinition?:any): Base<Enum>;\n\n class Entity extends Base<Entity>{\n static extend(name:string, instanceDefinition:any, classDefinition?:any): Base<Entity>;\n\n entityState: EntityState;\n changedProperties: MemberDefinition[];\n\n propertyChanging: Event;\n propertyChanged: Event;\n propertyValidationError: Event;\n isValid: boolean;\n }\n\n class EntitySet<Ttype extends typeof Entity, T extends Entity> extends Queryable<T>{\n add(item: T): T;\n add(initData: {}): T;\n attach(item: T): void;\n attach(item: {}): void;\n attachOrGet(item: T): T;\n attachOrGet(item: {}): T;\n detach(item: T): void;\n detach(item: {}): void;\n remove(item: T): void;\n remove(item: {}): void;\n elementType: Ttype;\n }\n\n class EntityContext extends Base<EntityContext>{\n constructor(config?: any);\n onReady(): Promise<EntityContext>;\n saveChanges(): Promise<number>;\n stateManager: {reset: Function};\n static extend(name:string, instanceDefinition:any, classDefinition?:any): Base<EntityContext>;\n }\n\n class Queryable<T extends Entity | Edm.Primitive>{\n filter(predicate: (it: T) => boolean, thisArg?: any): Queryable<T>;\n filter(predicate: string, thisArg?: any): Queryable<T>;\n map(projection: (it: T) => any): Queryable<any>;\n map(projection: string): Queryable<any>;\n orderBy(predicate: (it: T) => void): Queryable<T>;\n orderBy(predicate: string): Queryable<T>;\n orderByDescending(predicate: (it: T) => void): Queryable<T>;\n orderByDescending(predicate: string): Queryable<T>;\n include(selector: string): Queryable<T>;\n skip(amount: number): Queryable<T>;\n take(amount: number): Queryable<T>;\n forEach(handler: (it: T) => void): Promise<T>;\n length(): Promise<number>;\n toArray(): Promise<T[]>;\n single(predicate: (it: T) => boolean, params?: any): Promise<T>;\n single(predicate: string, params?: any): Promise<T>;\n first(predicate?: (it: T) => boolean, params?: any): Promise<T>;\n first(predicate?: string, params?: any): Promise<T>;\n removeAll(): Promise<number>;\n count(): Promise<number>;\n }\n class ServiceAction{}\n class ServiceFunction{}\n\n function implementation(name:string): typeof Base;\n}\nexport {$data as $data}\n\ndeclare type JSDate = Date;\n\ndeclare module Edm {\n type Boolean = boolean;\n type Binary = Uint8Array;\n type DateTime = JSDate;\n type DateTimeOffset = JSDate;\n type Duration = string;\n type TimeOfDay = string;\n type Date = string;\n type Time = string;\n type Decimal = string;\n type Single = number;\n type Float = number;\n type Double = number;\n type Guid = string;\n type Int16 = number;\n type Int32 = number;\n type Int64 = string;\n type Byte = number;\n type SByte = number;\n type String = string;\n type GeographyPoint = $data.Geography;\n type GeographyLineString = $data.GeographyLineString;\n type GeographyPolygon = $data.GeographyPolygon;\n type GeographyMultiPoint = $data.GeographyMultiPoint;\n type GeographyMultiPolygon = $data.GeographyMultiPolygon;\n type GeographyMultiLineString = $data.GeographyMultiLineString;\n type GeographyCollection = $data.GeographyCollection;\n type GeometryPoint = $data.Geometry;\n type GeometryLineString = $data.GeometryLineString;\n type GeometryPolygon = $data.GeometryPolygon;\n type GeometryMultiPoint = $data.GeometryMultiPoint;\n type GeometryMultiPolygon = $data.GeometryMultiPolygon;\n type GeometryMultiLineString = $data.GeometryMultiLineString;\n type GeometryCollection = $data.GeometryCollection;\n type Primitive =\n Boolean | Binary | Guid | DateTime | DateTimeOffset | Duration | TimeOfDay | Date | Time |\n Decimal | Single | Float | Double | Int16 | Int32 | Int64 | Byte | SByte | String |\n GeographyPoint | GeographyLineString | GeographyPolygon | GeographyMultiPoint | GeographyMultiLineString | GeographyMultiPolygon | GeographyCollection |\n GeometryPoint | GeometryLineString | GeometryPolygon | GeometryMultiPoint | GeometryMultiLineString | GeometryMultiPolygon | GeometryCollection;\n}\nexport {Edm as Edm}\n\ndeclare module JayData.Test.CommonItems.Entities {\n\n export class TestItemType extends $data.Entity {\n constructor();\n constructor(initData: { Id?: Edm.Int32; blob?: Edm.Binary; b0?: Edm.Boolean; b1?: Edm.Byte; d0?: Edm.DateTimeOffset; de0?: Edm.Decimal; n0?: Edm.Double; si0?: Edm.Single; g0?: Edm.Guid; i16?: Edm.Int16; i0?: Edm.Int32; i64?: Edm.Int64; s0?: Edm.String });\n\n Id: Edm.Int32;\n blob: Edm.Binary;\n b0: Edm.Boolean;\n b1: Edm.Byte;\n d0: Edm.DateTimeOffset;\n de0: Edm.Decimal;\n n0: Edm.Double;\n si0: Edm.Single;\n g0: Edm.Guid;\n i16: Edm.Int16;\n i0: Edm.Int32;\n i64: Edm.Int64;\n s0: Edm.String;\n }\n\n export class TestItemGroup extends $data.Entity {\n constructor();\n constructor(initData: { Id?: Edm.Guid; Name?: Edm.String; Items?: JayData.Test.CommonItems.Entities.TestItemGuid[] });\n\n Id: Edm.Guid;\n Name: Edm.String;\n Items: JayData.Test.CommonItems.Entities.TestItemGuid[];\n }\n\n export class TestItemGuid extends $data.Entity {\n constructor();\n constructor(initData: { Id?: Edm.Guid; i0?: Edm.Int32; b0?: Edm.Boolean; s0?: Edm.String; time?: Edm.TimeOfDay; date?: Edm.Date; t?: Edm.DateTimeOffset; dur?: Edm.Duration; dtOffset?: Edm.DateTimeOffset; lng?: Edm.Int64; dec?: Edm.Decimal; flt?: Edm.Single; emails?: Edm.String[]; Group?: JayData.Test.CommonItems.Entities.TestItemGroup });\n\n Id: Edm.Guid;\n i0: Edm.Int32;\n b0: Edm.Boolean;\n s0: Edm.String;\n time: Edm.TimeOfDay;\n date: Edm.Date;\n t: Edm.DateTimeOffset;\n dur: Edm.Duration;\n dtOffset: Edm.DateTimeOffset;\n lng: Edm.Int64;\n dec: Edm.Decimal;\n flt: Edm.Single;\n emails: Edm.String[];\n Group: JayData.Test.CommonItems.Entities.TestItemGroup;\n }\n\n export class TagConnection extends $data.Entity {\n constructor();\n constructor(initData: { Id?: Edm.Int32; Article?: JayData.Test.CommonItems.Entities.Article; Tag?: JayData.Test.CommonItems.Entities.Tag });\n\n Id: Edm.Int32;\n Article: JayData.Test.CommonItems.Entities.Article;\n Tag: JayData.Test.CommonItems.Entities.Tag;\n }\n\n export class TestItem extends $data.Entity {\n constructor();\n constructor(initData: { Id?: Edm.Int32; i0?: Edm.Int32; b0?: Edm.Boolean; s0?: Edm.String; blob?: Edm.Byte[]; n0?: Edm.Double; d0?: Edm.DateTimeOffset; g0?: Edm.Guid; l0?: Edm.Int64; de0?: Edm.Decimal; b1?: Edm.Byte; Tags?: JayData.Test.CommonItems.Entities.Tag[]; User?: JayData.Test.CommonItems.Entities.User });\n\n Id: Edm.Int32;\n i0: Edm.Int32;\n b0: Edm.Boolean;\n s0: Edm.String;\n blob: Edm.Byte[];\n n0: Edm.Double;\n d0: Edm.DateTimeOffset;\n g0: Edm.Guid;\n l0: Edm.Int64;\n de0: Edm.Decimal;\n b1: Edm.Byte;\n Tags: JayData.Test.CommonItems.Entities.Tag[];\n User: JayData.Test.CommonItems.Entities.User;\n }\n\n export class Tag extends $data.Entity {\n constructor();\n constructor(initData: { Id?: Edm.Int32; Title?: Edm.String; Articles?: JayData.Test.CommonItems.Entities.TagConnection[] });\n\n Id: Edm.Int32;\n Title: Edm.String;\n Articles: JayData.Test.CommonItems.Entities.TagConnection[];\n }\n\n export class Category extends JayData.Test.CommonItems.Entities.MyTClass {\n constructor();\n constructor(initData: { RowVersion?: Edm.Binary; Subtitle?: Edm.String; Description?: Edm.String; Articles?: JayData.Test.CommonItems.Entities.Article[]; GetFirstArticleTitle?: $data.ServiceAction; LocationSwipe?: $data.ServiceFunction });\n\n RowVersion: Edm.Binary;\n Subtitle: Edm.String;\n Description: Edm.String;\n Articles: JayData.Test.CommonItems.Entities.Article[];\n GetFirstArticleTitle: { (contains: Edm.String): Promise<void>; };\n LocationSwipe: { (Loc: Edm.GeographyPoint): Promise<Edm.GeographyPoint>; };\n }\n\n export class UserProfile extends $data.Entity {\n constructor();\n constructor(initData: { Id?: Edm.Int32; FullName?: Edm.String; Bio?: Edm.String; Avatar?: Edm.Binary; Birthday?: Edm.DateTimeOffset; Location?: JayData.Test.CommonItems.Entities.Location; User?: JayData.Test.CommonItems.Entities.User });\n\n Id: Edm.Int32;\n FullName: Edm.String;\n Bio: Edm.String;\n Avatar: Edm.Binary;\n Birthday: Edm.DateTimeOffset;\n Location: JayData.Test.CommonItems.Entities.Location;\n User: JayData.Test.CommonItems.Entities.User;\n }\n\n export class Article extends JayData.Test.CommonItems.Entities.MyTClass {\n constructor();\n constructor(initData: { RowVersion?: Edm.Binary; Lead?: Edm.String; Body?: Edm.String; CreateDate?: Edm.DateTimeOffset; Thumbnail_LowRes?: Edm.Binary; Thumbnail_HighRes?: Edm.Binary; Category?: JayData.Test.CommonItems.Entities.Category; Tags?: JayData.Test.CommonItems.Entities.TagConnection[]; Author?: JayData.Test.CommonItems.Entities.User; Reviewer?: JayData.Test.CommonItems.Entities.User });\n\n RowVersion: Edm.Binary;\n Lead: Edm.String;\n Body: Edm.String;\n CreateDate: Edm.DateTimeOffset;\n Thumbnail_LowRes: Edm.Binary;\n Thumbnail_HighRes: Edm.Binary;\n Category: JayData.Test.CommonItems.Entities.Category;\n Tags: JayData.Test.CommonItems.Entities.TagConnection[];\n Author: JayData.Test.CommonItems.Entities.User;\n Reviewer: JayData.Test.CommonItems.Entities.User;\n }\n\n export class MyTClass extends $data.Entity {\n constructor();\n constructor(initData: { Id?: Edm.Int32; Title?: Edm.String });\n\n Id: Edm.Int32;\n Title: Edm.String;\n }\n\n export class User extends $data.Entity {\n constructor();\n constructor(initData: { Id?: Edm.Int32; LoginName?: Edm.String; Email?: Edm.String; UserType?: JayData.Test.CommonItems.Entities.UserType; Articles?: JayData.Test.CommonItems.Entities.Article[]; Profile?: JayData.Test.CommonItems.Entities.UserProfile });\n\n Id: Edm.Int32;\n LoginName: Edm.String;\n Email: Edm.String;\n UserType: JayData.Test.CommonItems.Entities.UserType;\n Articles: JayData.Test.CommonItems.Entities.Article[];\n Profile: JayData.Test.CommonItems.Entities.UserProfile;\n }\n\n export class Location extends $data.Entity {\n constructor();\n constructor(initData: { Address?: Edm.String; City?: Edm.String; Zip?: Edm.Int32; Country?: Edm.String });\n\n Address: Edm.String;\n City: Edm.String;\n Zip: Edm.Int32;\n Country: Edm.String;\n }\n\n export enum UserType {\n Admin,\n Customer,\n Guest,\n }\n\n}\n\ndeclare module almafa {\n\n export class Container extends $data.EntityContext {\n onReady(): Promise<Container>;\n\n Users: $data.EntitySet<typeof JayData.Test.CommonItems.Entities.User, JayData.Test.CommonItems.Entities.User>;\n Articles: $data.EntitySet<typeof JayData.Test.CommonItems.Entities.Article, JayData.Test.CommonItems.Entities.Article>;\n UserProfiles: $data.EntitySet<typeof JayData.Test.CommonItems.Entities.UserProfile, JayData.Test.CommonItems.Entities.UserProfile>;\n Categories: $data.EntitySet<typeof JayData.Test.CommonItems.Entities.Category, JayData.Test.CommonItems.Entities.Category>;\n Tags: $data.EntitySet<typeof JayData.Test.CommonItems.Entities.Tag, JayData.Test.CommonItems.Entities.Tag>;\n TestTable: $data.EntitySet<typeof JayData.Test.CommonItems.Entities.TestItem, JayData.Test.CommonItems.Entities.TestItem>;\n TagConnections: $data.EntitySet<typeof JayData.Test.CommonItems.Entities.TagConnection, JayData.Test.CommonItems.Entities.TagConnection>;\n TestTable2: $data.EntitySet<typeof JayData.Test.CommonItems.Entities.TestItemGuid, JayData.Test.CommonItems.Entities.TestItemGuid>;\n TestItemGroups: $data.EntitySet<typeof JayData.Test.CommonItems.Entities.TestItemGroup, JayData.Test.CommonItems.Entities.TestItemGroup>;\n TestItemTypes: $data.EntitySet<typeof JayData.Test.CommonItems.Entities.TestItemType, JayData.Test.CommonItems.Entities.TestItemType>;\n SAction1: { (number1: Edm.Int32): Promise<void>; };\n SAction2: { (count: Edm.Int32): Promise<void>; };\n SFunction1: { (number2: Edm.Int32): $data.Queryable<Edm.String>; };\n SFunction2: { (number3: Edm.Int32): Promise<Edm.String>; };\n }\n\n}\n\nexport {JayData as JayData}\n\nexport {almafa as almafa}\n\nexport var type: typeof almafa.Container;\nexport var factory: (config:any) => almafa.Container;\nexport var myContext: almafa.Container;" }