Add initial types for samples
This commit is contained in:
3
bookshop/@types/_/index.js
Normal file
3
bookshop/@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
bookshop/@types/_/index.ts
Normal file
35
bookshop/@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
bookshop/@types/index.js
Normal file
3
bookshop/@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
bookshop/@types/index.ts
Normal file
57
bookshop/@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>
|
||||
|
||||
|
||||
9
bookshop/@types/sap/capire/bookshop/index.js
Normal file
9
bookshop/@types/sap/capire/bookshop/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.capire.bookshop')
|
||||
module.exports.Book = cson.Books
|
||||
module.exports.Books = cson.Books
|
||||
module.exports.Author = cson.Authors
|
||||
module.exports.Authors = cson.Authors
|
||||
module.exports.Genre = cson.Genres
|
||||
module.exports.Genres = cson.Genres
|
||||
66
bookshop/@types/sap/capire/bookshop/index.ts
Normal file
66
bookshop/@types/sap/capire/bookshop/index.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
import * as __ from './../../../_';
|
||||
import * as _ from './../../..';
|
||||
import * as _sap_common from './../../common';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
export function Book<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class BookAspect extends Base {
|
||||
ID: number;
|
||||
title: string;
|
||||
descr: string;
|
||||
author: __.Association.to<Author>;
|
||||
genre: __.Association.to<Genre>;
|
||||
stock: number;
|
||||
price: number;
|
||||
/**
|
||||
* Type for an association to Currencies
|
||||
*
|
||||
* See https://cap.cloud.sap/docs/cds/common#type-currency
|
||||
*/
|
||||
currency: __.Association.to<_.Currency>;
|
||||
image: string;
|
||||
};
|
||||
}
|
||||
const BookXtended = _.managed(Book(__.Entity))
|
||||
export type Book = InstanceType<typeof BookXtended>
|
||||
|
||||
export class Books extends Array<Book> {
|
||||
}
|
||||
|
||||
export function Author<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class AuthorAspect extends Base {
|
||||
ID: number;
|
||||
name: string;
|
||||
dateOfBirth: Date;
|
||||
dateOfDeath: Date;
|
||||
placeOfBirth: string;
|
||||
placeOfDeath: string;
|
||||
books: __.Association.to.many<Books>;
|
||||
};
|
||||
}
|
||||
const AuthorXtended = _.managed(Author(__.Entity))
|
||||
export type Author = InstanceType<typeof AuthorXtended>
|
||||
|
||||
export class Authors extends Array<Author> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Hierarchically organized Code List for Genres
|
||||
*/
|
||||
export function Genre<TBase extends new (...args: any[]) => {}>(Base: TBase) {
|
||||
return class GenreAspect extends Base {
|
||||
ID: number;
|
||||
parent: __.Association.to<Genre>;
|
||||
children: __.Composition.of.many<Genres>;
|
||||
};
|
||||
}
|
||||
const GenreXtended = _sap_common.CodeList(Genre(__.Entity))
|
||||
export type Genre = InstanceType<typeof GenreXtended>
|
||||
|
||||
export class Genres extends Array<Genre> {
|
||||
}
|
||||
|
||||
9
bookshop/@types/sap/common/index.js
Normal file
9
bookshop/@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
|
||||
68
bookshop/@types/sap/common/index.ts
Normal file
68
bookshop/@types/sap/common/index.ts
Normal file
@@ -0,0 +1,68 @@
|
||||
// This is an automatically generated file. Please do not change its contents manually!
|
||||
import * as __ from './../../_';
|
||||
|
||||
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;
|
||||
};
|
||||
}
|
||||
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;
|
||||
};
|
||||
}
|
||||
const CurrencyXtended = CodeList(Currency(__.Entity))
|
||||
export type Currency = InstanceType<typeof CurrencyXtended>
|
||||
|
||||
export class Currencies extends Array<Currency> {
|
||||
}
|
||||
|
||||
5
bookshop/jsconfig.json
Normal file
5
bookshop/jsconfig.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"checkJs": true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user