Add initial types for samples
This commit is contained in:
5
orders/@types/OrdersService/index.js
Normal file
5
orders/@types/OrdersService/index.js
Normal file
@@ -0,0 +1,5 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
const cds = require('@sap/cds')
|
||||
const cson = cds.entities('OrdersService')
|
||||
module.exports.Order = cson.Orders
|
||||
module.exports.Orders = cson.Orders
|
||||
37
orders/@types/OrdersService/index.ts
Normal file
37
orders/@types/OrdersService/index.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
import * as _sap_capire_orders from './../sap/capire/orders';
|
||||
import * as __ from './../_';
|
||||
import * as _ from './..';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
export function Order<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class OrderAspect extends Base {
|
||||
OrderNo: string;
|
||||
Items: {
|
||||
ID: string;
|
||||
product: __.Association.to<_sap_capire_orders.Product>;
|
||||
quantity: number;
|
||||
title: string;
|
||||
price: number;
|
||||
};
|
||||
/**
|
||||
* Canonical user ID
|
||||
*/
|
||||
buyer: _.User;
|
||||
/**
|
||||
* Type for an association to Currencies
|
||||
*
|
||||
* See https://cap.cloud.sap/docs/cds/common#type-currency
|
||||
*/
|
||||
currency: __.Association.to<_.Currency>;
|
||||
};
|
||||
}
|
||||
const OrderXtended = _.cuid(_.managed(Order(__.Entity)))
|
||||
export type Order = InstanceType<typeof OrderXtended>
|
||||
|
||||
export class Orders extends Array<Order> {
|
||||
}
|
||||
|
||||
3
orders/@types/_/index.js
Normal file
3
orders/@types/_/index.js
Normal file
@@ -0,0 +1,3 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
const cds = require('@sap/cds')
|
||||
const cson = cds.entities('_')
|
||||
35
orders/@types/_/index.ts
Normal file
35
orders/@types/_/index.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
|
||||
|
||||
export namespace Association {
|
||||
export type to <T> = T & ((fn:(a:T)=>any) => T)
|
||||
export namespace to {
|
||||
// type many <T> = T[] & (T extends (infer R)[] ? R[] & ((fn:(a:R)=>any) => R[]) : T[]);
|
||||
export type many <T extends readonly unknown[]> = T & ((fn:(a:T[number])=>any) => T[number]);
|
||||
}
|
||||
}
|
||||
|
||||
export namespace Composition {
|
||||
export type of <T> = T & ((fn:(a:T)=>any) => T)
|
||||
export namespace of {
|
||||
//type many <T> = T[] & (T extends (infer R)[] ? R[] & ((fn:(a:R)=>any) => R[]) : T[]);
|
||||
export type many <T extends readonly unknown[]> = T & ((fn:(a:T[number])=>any) => T[number]);
|
||||
}
|
||||
}
|
||||
|
||||
export class Entity {
|
||||
static data<T extends Entity> (this:T, input:Object) : T {
|
||||
return {} as T // mock
|
||||
}
|
||||
}
|
||||
|
||||
export type EntitySet<T> = T[] & {
|
||||
data (input:object[]) : T[]
|
||||
data (input:object) : T
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
3
orders/@types/index.js
Normal file
3
orders/@types/index.js
Normal file
@@ -0,0 +1,3 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
const cds = require('@sap/cds')
|
||||
const cson = cds.entities('')
|
||||
57
orders/@types/index.ts
Normal file
57
orders/@types/index.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
import * as _sap_common from './sap/common';
|
||||
import * as __ from './_';
|
||||
|
||||
export type Language = __.Association.to<_sap_common.Language>;
|
||||
export type Currency = __.Association.to<_sap_common.Currency>;
|
||||
export type Country = __.Association.to<_sap_common.Country>;
|
||||
export type User = string;
|
||||
|
||||
|
||||
// the following represents the CDS aspect 'cuid'
|
||||
export function cuid<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class cuidAspect extends Base {
|
||||
ID: string;
|
||||
};
|
||||
}
|
||||
const cuidXtended = cuid(__.Entity)
|
||||
export type cuid = InstanceType<typeof cuidXtended>
|
||||
|
||||
// the following represents the CDS aspect 'managed'
|
||||
export function managed<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class managedAspect extends Base {
|
||||
createdAt: Date;
|
||||
/**
|
||||
* Canonical user ID
|
||||
*/
|
||||
createdBy: User;
|
||||
modifiedAt: Date;
|
||||
/**
|
||||
* Canonical user ID
|
||||
*/
|
||||
modifiedBy: User;
|
||||
};
|
||||
}
|
||||
const managedXtended = managed(__.Entity)
|
||||
export type managed = InstanceType<typeof managedXtended>
|
||||
|
||||
// the following represents the CDS aspect 'temporal'
|
||||
export function temporal<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class temporalAspect extends Base {
|
||||
validFrom: Date;
|
||||
validTo: Date;
|
||||
};
|
||||
}
|
||||
const temporalXtended = temporal(__.Entity)
|
||||
export type temporal = InstanceType<typeof temporalXtended>
|
||||
|
||||
// the following represents the CDS aspect 'extensible'
|
||||
export function extensible<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class extensibleAspect extends Base {
|
||||
extensions__: string;
|
||||
};
|
||||
}
|
||||
const extensibleXtended = extensible(__.Entity)
|
||||
export type extensible = InstanceType<typeof extensibleXtended>
|
||||
|
||||
|
||||
7
orders/@types/sap/capire/orders/index.js
Normal file
7
orders/@types/sap/capire/orders/index.js
Normal file
@@ -0,0 +1,7 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
const cds = require('@sap/cds')
|
||||
const cson = cds.entities('sap.capire.orders')
|
||||
module.exports.Order = cson.Orders
|
||||
module.exports.Orders = cson.Orders
|
||||
module.exports.Product = cson.Products
|
||||
module.exports.Products = cson.Products
|
||||
50
orders/@types/sap/capire/orders/index.ts
Normal file
50
orders/@types/sap/capire/orders/index.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
import * as __ from './../../../_';
|
||||
import * as _ from './../../..';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
export function Order<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class OrderAspect extends Base {
|
||||
OrderNo: string;
|
||||
Items: {
|
||||
ID: string;
|
||||
product: __.Association.to<Product>;
|
||||
quantity: number;
|
||||
title: string;
|
||||
price: number;
|
||||
};
|
||||
/**
|
||||
* Canonical user ID
|
||||
*/
|
||||
buyer: _.User;
|
||||
/**
|
||||
* Type for an association to Currencies
|
||||
*
|
||||
* See https://cap.cloud.sap/docs/cds/common#type-currency
|
||||
*/
|
||||
currency: __.Association.to<_.Currency>;
|
||||
};
|
||||
}
|
||||
const OrderXtended = _.cuid(_.managed(Order(__.Entity)))
|
||||
export type Order = InstanceType<typeof OrderXtended>
|
||||
|
||||
export class Orders extends Array<Order> {
|
||||
}
|
||||
|
||||
/**
|
||||
* This is a stand-in for arbitrary ordered Products
|
||||
*/
|
||||
export function Product<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class ProductAspect extends Base {
|
||||
ID: string;
|
||||
};
|
||||
}
|
||||
const ProductXtended = Product(__.Entity)
|
||||
export type Product = InstanceType<typeof ProductXtended>
|
||||
|
||||
export class Products extends Array<Product> {
|
||||
}
|
||||
|
||||
9
orders/@types/sap/common/countries/index.js
Normal file
9
orders/@types/sap/common/countries/index.js
Normal file
@@ -0,0 +1,9 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
const cds = require('@sap/cds')
|
||||
const cson = cds.entities('sap.common.countries')
|
||||
module.exports.Region = cson.Regions
|
||||
module.exports.Regions = cson.Regions
|
||||
module.exports.City = cson.Cities
|
||||
module.exports.Cities = cson.Cities
|
||||
module.exports.District = cson.Districts
|
||||
module.exports.Districts = cson.Districts
|
||||
47
orders/@types/sap/common/countries/index.ts
Normal file
47
orders/@types/sap/common/countries/index.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
import * as __ from './../../../_';
|
||||
import * as _sap_common from './..';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
export function Region<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class RegionAspect extends Base {
|
||||
code: string;
|
||||
children: __.Composition.of.many<Regions>;
|
||||
cities: __.Composition.of.many<Cities>;
|
||||
_parent: string;
|
||||
};
|
||||
}
|
||||
const RegionXtended = _sap_common.CodeList(Region(__.Entity))
|
||||
export type Region = InstanceType<typeof RegionXtended>
|
||||
|
||||
export class Regions extends Array<Region> {
|
||||
}
|
||||
|
||||
export function City<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class CityAspect extends Base {
|
||||
code: string;
|
||||
region: __.Association.to<Region>;
|
||||
districts: __.Composition.of.many<Districts>;
|
||||
};
|
||||
}
|
||||
const CityXtended = _sap_common.CodeList(City(__.Entity))
|
||||
export type City = InstanceType<typeof CityXtended>
|
||||
|
||||
export class Cities extends Array<City> {
|
||||
}
|
||||
|
||||
export function District<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class DistrictAspect extends Base {
|
||||
code: string;
|
||||
city: __.Association.to<City>;
|
||||
};
|
||||
}
|
||||
const DistrictXtended = _sap_common.CodeList(District(__.Entity))
|
||||
export type District = InstanceType<typeof DistrictXtended>
|
||||
|
||||
export class Districts extends Array<District> {
|
||||
}
|
||||
|
||||
9
orders/@types/sap/common/index.js
Normal file
9
orders/@types/sap/common/index.js
Normal file
@@ -0,0 +1,9 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
const cds = require('@sap/cds')
|
||||
const cson = cds.entities('sap.common')
|
||||
module.exports.Language = cson.Languages
|
||||
module.exports.Languages = cson.Languages
|
||||
module.exports.Country = cson.Countries
|
||||
module.exports.Countries = cson.Countries
|
||||
module.exports.Currency = cson.Currencies
|
||||
module.exports.Currencies = cson.Currencies
|
||||
73
orders/@types/sap/common/index.ts
Normal file
73
orders/@types/sap/common/index.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
import * as __ from './../../_';
|
||||
import * as _sap_common_countries from './countries';
|
||||
|
||||
export type Locale = string;
|
||||
|
||||
|
||||
// the following represents the CDS aspect 'CodeList'
|
||||
export function CodeList<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class CodeListAspect extends Base {
|
||||
name: string;
|
||||
descr: string;
|
||||
};
|
||||
}
|
||||
const CodeListXtended = CodeList(__.Entity)
|
||||
export type CodeList = InstanceType<typeof CodeListXtended>
|
||||
|
||||
/**
|
||||
* Code list for languages
|
||||
*
|
||||
* See https://cap.cloud.sap/docs/cds/common#entity-sapcommonlanguages
|
||||
*/
|
||||
export function Language<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class LanguageAspect extends Base {
|
||||
/**
|
||||
* Type for a language code
|
||||
*/
|
||||
code: Locale;
|
||||
};
|
||||
}
|
||||
const LanguageXtended = CodeList(Language(__.Entity))
|
||||
export type Language = InstanceType<typeof LanguageXtended>
|
||||
|
||||
export class Languages extends Array<Language> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Code list for countries
|
||||
*
|
||||
* See https://cap.cloud.sap/docs/cds/common#entity-sapcommoncountries
|
||||
*/
|
||||
export function Country<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class CountryAspect extends Base {
|
||||
code: string;
|
||||
regions: __.Composition.of.many<_sap_common_countries.Regions>;
|
||||
};
|
||||
}
|
||||
const CountryXtended = CodeList(Country(__.Entity))
|
||||
export type Country = InstanceType<typeof CountryXtended>
|
||||
|
||||
export class Countries extends Array<Country> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Code list for currencies
|
||||
*
|
||||
* See https://cap.cloud.sap/docs/cds/common#entity-sapcommoncurrencies
|
||||
*/
|
||||
export function Currency<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class CurrencyAspect extends Base {
|
||||
code: string;
|
||||
symbol: string;
|
||||
numcode: number;
|
||||
exponent: number;
|
||||
minor: string;
|
||||
};
|
||||
}
|
||||
const CurrencyXtended = CodeList(Currency(__.Entity))
|
||||
export type Currency = InstanceType<typeof CurrencyXtended>
|
||||
|
||||
export class Currencies extends Array<Currency> {
|
||||
}
|
||||
|
||||
5
orders/jsconfig.json
Normal file
5
orders/jsconfig.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"checkJs": true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user