Compare commits

...

22 Commits

Author SHA1 Message Date
0f26791ee2 1.0.13 2017-11-09 01:46:49 +01:00
34e65462e2 start invoice interface 2017-11-09 01:46:45 +01:00
f55ac65e20 1.0.12 2017-06-11 20:57:32 +02:00
474ce92b88 update structure 2017-06-11 20:57:30 +02:00
de95e03699 1.0.11 2017-06-11 20:54:17 +02:00
1e4adeede6 structure + dns record type 2017-06-11 20:54:06 +02:00
ca67505870 1.0.10 2017-06-10 12:48:16 +02:00
18eabb11af update compilation 2017-06-10 12:48:11 +02:00
3572dc6574 1.0.9 2017-06-10 12:46:14 +02:00
0d815f0414 update structure 2017-06-10 12:29:54 +02:00
d6c361750d 1.0.8 2017-03-24 23:23:46 +01:00
d877aed78b add yarn 2017-03-24 23:23:44 +01:00
ac7848a462 1.0.7 2017-03-24 23:20:31 +01:00
76037fba47 clean dependencies 2017-03-16 19:38:32 +01:00
36a7347a3d 1.0.6 2017-03-16 19:37:51 +01:00
d748505b8a add npmextra.json 2017-03-16 19:37:47 +01:00
def1a8add3 1.0.5 2017-03-16 19:34:33 +01:00
1f75449985 update to latest standards 2017-03-16 19:34:27 +01:00
d2380c2192 Merge branch 'master' into 'master'
add ICompany

See merge request !1
2017-03-16 18:31:29 +00:00
1e3fd5830d add ICompany 2017-03-16 14:47:43 +01:00
3d9c7bbec7 1.0.4 2016-11-17 12:06:40 +01:00
884186e429 fix author interface 2016-11-17 12:06:33 +01:00
38 changed files with 212 additions and 102 deletions

View File

@ -1,4 +1,10 @@
image: hosttoday/ht-docker-node:npmts # gitzone standard
image: hosttoday/ht-docker-node:npmci
cache:
paths:
- .yarn/
key: "$CI_BUILD_STAGE"
stages: stages:
- test - test
@ -10,6 +16,7 @@ testLEGACY:
stage: test stage: test
script: script:
- npmci test legacy - npmci test legacy
coverage: /\d+.?\d+?\%\s*coverage/
tags: tags:
- docker - docker
allow_failure: true allow_failure: true
@ -18,6 +25,7 @@ testLTS:
stage: test stage: test
script: script:
- npmci test lts - npmci test lts
coverage: /\d+.?\d+?\%\s*coverage/
tags: tags:
- docker - docker
@ -25,6 +33,7 @@ testSTABLE:
stage: test stage: test
script: script:
- npmci test stable - npmci test stable
coverage: /\d+.?\d+?\%\s*coverage/
tags: tags:
- docker - docker
@ -47,10 +56,13 @@ trigger:
- docker - docker
pages: pages:
image: hosttoday/ht-docker-node:npmpage image: hosttoday/ht-docker-node:npmci
stage: pages stage: pages
script: script:
- npmci command npmpage --host gitlab - npmci command yarn global add npmpage
- npmci command npmpage
tags:
- docker
only: only:
- tags - tags
artifacts: artifacts:

View File

@ -1,15 +1,16 @@
# tsclass # tsclass
common classes for TypeScript. common classes for TypeScript
## Availabililty ## Availabililty
[![npm](https://push.rocks/assets/repo-button-npm.svg)](https://www.npmjs.com/package/tsclass) [![npm](https://tsclass.gitlab.io/assets/repo-button-npm.svg)](https://www.npmjs.com/package/tsclass)
[![git](https://push.rocks/assets/repo-button-git.svg)](https://gitlab.com/tsclass/tsclass) [![git](https://tsclass.gitlab.io/assets/repo-button-git.svg)](https://GitLab.com/tsclass/tsclass)
[![git](https://push.rocks/assets/repo-button-mirror.svg)](https://github.com/tsclass/tsclass) [![git](https://tsclass.gitlab.io/assets/repo-button-mirror.svg)](https://github.com/tsclass/tsclass)
[![docs](https://push.rocks/assets/repo-button-docs.svg)](https://tsclass.gitlab.io/tsclass/) [![docs](https://tsclass.gitlab.io/assets/repo-button-docs.svg)](https://tsclass.gitlab.io/tsclass/)
## Status for master ## Status for master
[![build status](https://gitlab.com/tsclass/tsclass/badges/master/build.svg)](https://gitlab.com/tsclass/tsclass/commits/master) [![build status](https://GitLab.com/tsclass/tsclass/badges/master/build.svg)](https://GitLab.com/tsclass/tsclass/commits/master)
[![coverage report](https://gitlab.com/tsclass/tsclass/badges/master/coverage.svg)](https://gitlab.com/tsclass/tsclass/commits/master) [![coverage report](https://GitLab.com/tsclass/tsclass/badges/master/coverage.svg)](https://GitLab.com/tsclass/tsclass/commits/master)
[![npm downloads per month](https://img.shields.io/npm/dm/tsclass.svg)](https://www.npmjs.com/package/tsclass)
[![Dependency Status](https://david-dm.org/tsclass/tsclass.svg)](https://david-dm.org/tsclass/tsclass) [![Dependency Status](https://david-dm.org/tsclass/tsclass.svg)](https://david-dm.org/tsclass/tsclass)
[![bitHound Dependencies](https://www.bithound.io/github/tsclass/tsclass/badges/dependencies.svg)](https://www.bithound.io/github/tsclass/tsclass/master/dependencies/npm) [![bitHound Dependencies](https://www.bithound.io/github/tsclass/tsclass/badges/dependencies.svg)](https://www.bithound.io/github/tsclass/tsclass/master/dependencies/npm)
[![bitHound Code](https://www.bithound.io/github/tsclass/tsclass/badges/code.svg)](https://www.bithound.io/github/tsclass/tsclass) [![bitHound Code](https://www.bithound.io/github/tsclass/tsclass/badges/code.svg)](https://www.bithound.io/github/tsclass/tsclass)
@ -18,6 +19,8 @@ common classes for TypeScript.
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/) [![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
## Usage ## Usage
Use TypeScript for best in class instellisense.
tsclass exposes many commonly used objects as interface to implement (-> extends keyword) by individual implementations. tsclass exposes many commonly used objects as interface to implement (-> extends keyword) by individual implementations.
They come complete with best in class intellisense and are easy to require. They come complete with best in class intellisense and are easy to require.
@ -45,3 +48,10 @@ class myOwnInvoice implements IInvoice {
> The modules in bold letters exist as own modules and can be used seperately > The modules in bold letters exist as own modules and can be used seperately
For further information read the linked docs at the top of this README.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://tsclass.gitlab.io/assets/repo-footer.svg)](https://push.rocks)

14
dist/business/company.d.ts vendored Normal file
View File

@ -0,0 +1,14 @@
import { IDate } from '../index';
/**
* describes a company's lifecycle state
*/
export declare type TCompanyStatus = 'planed' | 'founding' | 'active' | 'liquidation' | 'closed';
/**
* describes a company
*/
export interface ICompany {
name: string;
foundedDate: IDate;
closedDate: IDate;
status: TCompanyStatus;
}

3
dist/business/company.js vendored Normal file
View File

@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2J1c2luZXNzL2NvbXBhbnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9

3
dist/business/contact.d.ts vendored Normal file
View File

@ -0,0 +1,3 @@
export interface IContact {
name: string;
}

3
dist/business/contact.js vendored Normal file
View File

@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2J1c2luZXNzL2NvbnRhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9

10
dist/business/invoice.d.ts vendored Normal file
View File

@ -0,0 +1,10 @@
export declare type TInvoiceStatus = 'draft' | 'invoice' | 'paid' | 'refunded';
export interface IInvoiceItem {
name: string;
unitType: string;
quantity: number;
vatPercentage: number;
}
export interface IInvoice {
status: TInvoiceStatus;
}

View File

@ -1,5 +1,3 @@
"use strict"; "use strict";
class IInvoice { Object.defineProperty(exports, "__esModule", { value: true });
} //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2J1c2luZXNzL2ludm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
exports.IInvoice = IInvoice;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2ludm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0NBRUM7QUFGRCw0QkFFQyJ9

1
dist/cloud/dns.d.ts vendored Normal file
View File

@ -0,0 +1 @@
export declare type TDnsRecord = 'A' | 'AAAA' | 'CNAME' | 'TXT' | 'SRV' | 'LOC' | 'MX' | 'NS' | 'SPF';

3
dist/cloud/dns.js vendored Normal file
View File

@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvY2xvdWQvZG5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==

View File

@ -1,4 +1,4 @@
import { IAuthor } from './author'; import { IAuthor } from '../index';
export interface IArticle { export interface IArticle {
/** /**
* the title of an article * the title of an article

View File

@ -1,2 +1,3 @@
"use strict"; "use strict";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2FydGljbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9 Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2NvbnRlbnQvYXJ0aWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=

View File

@ -1,5 +1,5 @@
import { IDate } from './date'; import { IDate } from '../index';
import { IArticle } from './article'; import { IArticle } from '../index';
export interface IAuthor { export interface IAuthor {
/** /**
* the first name of an author * the first name of an author
@ -16,5 +16,5 @@ export interface IAuthor {
/** /**
* articles of an author * articles of an author
*/ */
articles: IArticle; articles: IArticle[];
} }

View File

@ -1,2 +1,3 @@
"use strict"; "use strict";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvYXV0aG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ== Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvY29udGVudC9hdXRob3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9

View File

@ -1,2 +1,3 @@
"use strict"; "use strict";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9 Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2dlbmVyYWwvZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=

View File

@ -1,2 +1,3 @@
"use strict"; "use strict";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3RpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9 Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2dlbmVyYWwvdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=

13
dist/index.d.ts vendored
View File

@ -1,5 +1,8 @@
export * from './article'; export * from './business/company';
export * from './author'; export * from './business/contact';
export * from './date'; export * from './business/invoice';
export * from './invoice'; export * from './cloud/dns';
export * from './time'; export * from './content/article';
export * from './content/author';
export * from './general/date';
export * from './general/time';

7
dist/index.js vendored
View File

@ -1,6 +1,3 @@
"use strict"; "use strict";
function __export(m) { Object.defineProperty(exports, "__esModule", { value: true });
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
}
__export(require("./invoice"));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsK0JBQXlCIn0=

2
dist/invoice.d.ts vendored
View File

@ -1,2 +0,0 @@
export declare class IInvoice {
}

0
docs/index.md Normal file
View File

7
npmextra.json Normal file
View File

@ -0,0 +1,7 @@
{
"npmci": {
"globalNpmTools": [
"npmts"
]
}
}

View File

@ -1,11 +1,11 @@
{ {
"name": "tsclass", "name": "tsclass",
"version": "1.0.3", "version": "1.0.13",
"description": "common classes for TypeScript", "description": "common classes for TypeScript",
"main": "dist/index.js", "main": "dist/index.js",
"typings": "dist/index.d.ts", "typings": "dist/index.d.ts",
"scripts": { "scripts": {
"test": "(npmts)" "test": "(npmts --notest)"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -20,8 +20,5 @@
"bugs": { "bugs": {
"url": "https://github.com/tsclass/tsclass/issues" "url": "https://github.com/tsclass/tsclass/issues"
}, },
"homepage": "https://github.com/tsclass/tsclass#readme", "homepage": "https://github.com/tsclass/tsclass#readme"
"devDependencies": {
"npmts": "^5.1.5"
}
} }

View File

@ -1,23 +0,0 @@
import { IAuthor } from './author'
export interface IArticle {
/**
* the title of an article
*/
title: string
/**
* the Author of an article
*/
author: IAuthor
/**
* the content of an article
*/
content: string
/**
* the tags of an article
*/
tags: string[]
}

View File

@ -1,25 +0,0 @@
import { IDate } from './date'
import { IArticle } from './article'
export interface IAuthor {
/**
* the first name of an author
*/
firstName: string
/**
* the surname of an author
*/
surName: string
/**
* the birthday of an author
*/
birthday: IDate
/**
* articles of an author
*/
articles: IArticle
}

17
ts/business/company.ts Normal file
View File

@ -0,0 +1,17 @@
import { IContact } from '../index'
import { IDate } from '../index'
/**
* describes a company's lifecycle state
*/
export type TCompanyStatus = 'planed' | 'founding' | 'active' | 'liquidation' | 'closed'
/**
* describes a company
*/
export interface ICompany {
name: string
foundedDate: IDate
closedDate: IDate
status: TCompanyStatus
}

4
ts/business/contact.ts Normal file
View File

@ -0,0 +1,4 @@
export interface IContact {
name: string
}

14
ts/business/invoice.ts Normal file
View File

@ -0,0 +1,14 @@
import { IContact } from '../index'
export type TInvoiceStatus = 'draft' | 'invoice' | 'paid' | 'refunded'
export interface IInvoiceItem {
name: string
unitType: string
quantity: number
vatPercentage: number
}
export interface IInvoice {
status: TInvoiceStatus
}

1
ts/cloud/dns.ts Normal file
View File

@ -0,0 +1 @@
export type TDnsRecord = 'A' | 'AAAA' | 'CNAME' | 'TXT' | 'SRV' | 'LOC' | 'MX' | 'NS' | 'SPF'

23
ts/content/article.ts Normal file
View File

@ -0,0 +1,23 @@
import { IAuthor } from '../index'
export interface IArticle {
/**
* the title of an article
*/
title: string
/**
* the Author of an article
*/
author: IAuthor
/**
* the content of an article
*/
content: string
/**
* the tags of an article
*/
tags: string[]
}

25
ts/content/author.ts Normal file
View File

@ -0,0 +1,25 @@
import { IDate } from '../index'
import { IArticle } from '../index'
export interface IAuthor {
/**
* the first name of an author
*/
firstName: string
/**
* the surname of an author
*/
surName: string
/**
* the birthday of an author
*/
birthday: IDate
/**
* articles of an author
*/
articles: IArticle[]
}

View File

@ -1,5 +0,0 @@
export interface IDate {
day: number
month: number
year: number
}

5
ts/general/date.ts Normal file
View File

@ -0,0 +1,5 @@
export interface IDate {
day: number
month: number
year: number
}

View File

@ -1,5 +1,15 @@
export * from './article' // Business
export * from './author' export * from './business/company'
export * from './date' export * from './business/contact'
export * from './invoice' export * from './business/invoice'
export * from './time'
// Cloud
export * from './cloud/dns'
// Content
export * from './content/article'
export * from './content/author'
// General
export * from './general/date'
export * from './general/time'

View File

@ -1,3 +0,0 @@
export class IInvoice {
}

4
yarn.lock Normal file
View File

@ -0,0 +1,4 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1