Compare commits
48 Commits
Author | SHA1 | Date | |
---|---|---|---|
af427347d9 | |||
952103c64e | |||
65ba20253c | |||
73e90165a4 | |||
bc16d5e8ea | |||
7bb964603c | |||
a8ee64eb54 | |||
f75d0f9378 | |||
e9293ec31e | |||
b04155e4f1 | |||
bc8534d382 | |||
a2a1d61671 | |||
a580ba53dd | |||
e194e2a3b6 | |||
0c2ded6288 | |||
6742e3ca73 | |||
e2deb4f7b3 | |||
0d48aa8b00 | |||
bfc646c308 | |||
ab008d16e8 | |||
7f5b86864d | |||
825148442b | |||
2a18ec1555 | |||
c5284ff813 | |||
498934237d | |||
ac73badd76 | |||
90698230ae | |||
04f37d5665 | |||
0f26791ee2 | |||
34e65462e2 | |||
f55ac65e20 | |||
474ce92b88 | |||
de95e03699 | |||
1e4adeede6 | |||
ca67505870 | |||
18eabb11af | |||
3572dc6574 | |||
0d815f0414 | |||
d6c361750d | |||
d877aed78b | |||
ac7848a462 | |||
76037fba47 | |||
36a7347a3d | |||
d748505b8a | |||
def1a8add3 | |||
1f75449985 | |||
d2380c2192 | |||
1e3fd5830d |
121
.gitlab-ci.yml
121
.gitlab-ci.yml
@ -1,59 +1,142 @@
|
|||||||
image: hosttoday/ht-docker-node:npmts
|
# gitzone standard
|
||||||
|
image: hosttoday/ht-docker-node:npmci
|
||||||
|
|
||||||
|
cache:
|
||||||
|
paths:
|
||||||
|
- .npmci_cache/
|
||||||
|
key: "$CI_BUILD_STAGE"
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
|
- security
|
||||||
- test
|
- test
|
||||||
- release
|
- release
|
||||||
- trigger
|
- metadata
|
||||||
- pages
|
|
||||||
|
|
||||||
|
# ====================
|
||||||
|
# security stage
|
||||||
|
# ====================
|
||||||
|
mirror:
|
||||||
|
stage: security
|
||||||
|
script:
|
||||||
|
- npmci git mirror
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
- notpriv
|
||||||
|
|
||||||
|
snyk:
|
||||||
|
stage: security
|
||||||
|
script:
|
||||||
|
- npmci command npm install -g snyk
|
||||||
|
- npmci command npm install --ignore-scripts
|
||||||
|
- npmci command snyk test
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
- notpriv
|
||||||
|
|
||||||
|
# ====================
|
||||||
|
# test stage
|
||||||
|
# ====================
|
||||||
testLEGACY:
|
testLEGACY:
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- npmci test legacy
|
- npmci node install legacy
|
||||||
|
- npmci npm install
|
||||||
|
- npmci npm test
|
||||||
|
coverage: /\d+.?\d+?\%\s*coverage/
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
|
- notpriv
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
testLTS:
|
testLTS:
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- npmci test lts
|
- npmci node install lts
|
||||||
|
- npmci npm install
|
||||||
|
- npmci npm test
|
||||||
|
coverage: /\d+.?\d+?\%\s*coverage/
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
|
- notpriv
|
||||||
|
|
||||||
testSTABLE:
|
testSTABLE:
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- npmci test stable
|
- npmci node install stable
|
||||||
|
- npmci npm install
|
||||||
|
- npmci npm test
|
||||||
|
coverage: /\d+.?\d+?\%\s*coverage/
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
|
- notpriv
|
||||||
|
|
||||||
release:
|
release:
|
||||||
stage: release
|
stage: release
|
||||||
script:
|
script:
|
||||||
- npmci publish
|
- npmci node install stable
|
||||||
|
- npmci npm publish
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
|
- notpriv
|
||||||
|
|
||||||
|
# ====================
|
||||||
|
# metadata stage
|
||||||
|
# ====================
|
||||||
|
codequality:
|
||||||
|
stage: metadata
|
||||||
|
image: docker:stable
|
||||||
|
allow_failure: true
|
||||||
|
services:
|
||||||
|
- docker:stable-dind
|
||||||
|
script:
|
||||||
|
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
|
||||||
|
- docker run
|
||||||
|
--env SOURCE_CODE="$PWD"
|
||||||
|
--volume "$PWD":/code
|
||||||
|
--volume /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
"registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code
|
||||||
|
artifacts:
|
||||||
|
paths: [codeclimate.json]
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
- priv
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
stage: trigger
|
stage: metadata
|
||||||
script:
|
script:
|
||||||
- npmci trigger
|
- npmci trigger
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
|
- notpriv
|
||||||
|
|
||||||
pages:
|
pages:
|
||||||
image: hosttoday/ht-docker-node:npmpage
|
image: hosttoday/ht-docker-node:npmci
|
||||||
stage: pages
|
stage: metadata
|
||||||
script:
|
script:
|
||||||
- npmci command npmpage --host gitlab
|
- npmci command npm install -g npmpage
|
||||||
|
- npmci command npmpage
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
- notpriv
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
paths:
|
paths:
|
||||||
- public
|
- public
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
windowsCompatibility:
|
||||||
|
image: stefanscherer/node-windows:10-build-tools
|
||||||
|
stage: metadata
|
||||||
|
script:
|
||||||
|
- npmci npm install
|
||||||
|
- npmci npm test
|
||||||
|
coverage: /\d+.?\d+?\%\s*coverage/
|
||||||
|
tags:
|
||||||
|
- windows
|
||||||
|
allow_failure: true
|
||||||
|
49
README.md
49
README.md
@ -1,15 +1,19 @@
|
|||||||
# tsclass
|
# tsclass
|
||||||
common classes for TypeScript.
|
|
||||||
|
common classes for TypeScript
|
||||||
|
|
||||||
## Availabililty
|
## Availabililty
|
||||||
[](https://www.npmjs.com/package/tsclass)
|
|
||||||
[](https://gitlab.com/tsclass/tsclass)
|
[](https://www.npmjs.com/package/tsclass)
|
||||||
[](https://github.com/tsclass/tsclass)
|
[](https://GitLab.com/tsclass/tsclass)
|
||||||
[](https://tsclass.gitlab.io/tsclass/)
|
[](https://github.com/tsclass/tsclass)
|
||||||
|
[](https://tsclass.gitlab.io/tsclass/)
|
||||||
|
|
||||||
## Status for master
|
## Status for master
|
||||||
[](https://gitlab.com/tsclass/tsclass/commits/master)
|
|
||||||
[](https://gitlab.com/tsclass/tsclass/commits/master)
|
[](https://GitLab.com/tsclass/tsclass/commits/master)
|
||||||
|
[](https://GitLab.com/tsclass/tsclass/commits/master)
|
||||||
|
[](https://www.npmjs.com/package/tsclass)
|
||||||
[](https://david-dm.org/tsclass/tsclass)
|
[](https://david-dm.org/tsclass/tsclass)
|
||||||
[](https://www.bithound.io/github/tsclass/tsclass/master/dependencies/npm)
|
[](https://www.bithound.io/github/tsclass/tsclass/master/dependencies/npm)
|
||||||
[](https://www.bithound.io/github/tsclass/tsclass)
|
[](https://www.bithound.io/github/tsclass/tsclass)
|
||||||
@ -18,30 +22,41 @@ common classes for TypeScript.
|
|||||||
[](http://standardjs.com/)
|
[](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.
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
import { IInvoice } from 'tsclass'
|
import { IInvoice } from 'tsclass';
|
||||||
|
|
||||||
class myOwnInvoice implements IInvoice {
|
class myOwnInvoice implements IInvoice {
|
||||||
constructor(){
|
constructor() {
|
||||||
super() // you need to call super() in the constructor
|
super(); // you need to call super() in the constructor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Time/Date
|
### Time/Date
|
||||||
* Date
|
|
||||||
* Time
|
- Date
|
||||||
|
- Time
|
||||||
|
|
||||||
### Publications/Websites/Blogs
|
### Publications/Websites/Blogs
|
||||||
* Article
|
|
||||||
* Author
|
- Article
|
||||||
|
- Author
|
||||||
|
|
||||||
### Finance
|
### Finance
|
||||||
* Invoice
|
|
||||||
|
|
||||||
|
- Invoice
|
||||||
|
|
||||||
> 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)
|
||||||
|
|
||||||
|
[](https://push.rocks)
|
||||||
|
19
dist/article.d.ts
vendored
19
dist/article.d.ts
vendored
@ -1,19 +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[];
|
|
||||||
}
|
|
2
dist/article.js
vendored
2
dist/article.js
vendored
@ -1,2 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2FydGljbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
20
dist/author.d.ts
vendored
20
dist/author.d.ts
vendored
@ -1,20 +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[];
|
|
||||||
}
|
|
2
dist/author.js
vendored
2
dist/author.js
vendored
@ -1,2 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvYXV0aG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
5
dist/date.d.ts
vendored
5
dist/date.d.ts
vendored
@ -1,5 +0,0 @@
|
|||||||
export interface IDate {
|
|
||||||
day: number;
|
|
||||||
month: number;
|
|
||||||
year: number;
|
|
||||||
}
|
|
2
dist/date.js
vendored
2
dist/date.js
vendored
@ -1,2 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
5
dist/index.d.ts
vendored
5
dist/index.d.ts
vendored
@ -1,5 +0,0 @@
|
|||||||
export * from './article';
|
|
||||||
export * from './author';
|
|
||||||
export * from './date';
|
|
||||||
export * from './invoice';
|
|
||||||
export * from './time';
|
|
2
dist/index.js
vendored
2
dist/index.js
vendored
@ -1,2 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
2
dist/invoice.d.ts
vendored
2
dist/invoice.d.ts
vendored
@ -1,2 +0,0 @@
|
|||||||
export interface IInvoice {
|
|
||||||
}
|
|
2
dist/invoice.js
vendored
2
dist/invoice.js
vendored
@ -1,2 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2ludm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
2
dist/time.d.ts
vendored
2
dist/time.d.ts
vendored
@ -1,2 +0,0 @@
|
|||||||
export interface ITime {
|
|
||||||
}
|
|
2
dist/time.js
vendored
2
dist/time.js
vendored
@ -1,2 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3RpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
0
docs/index.md
Normal file
0
docs/index.md
Normal file
8
npmextra.json
Normal file
8
npmextra.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"npmci": {
|
||||||
|
"npmGlobalTools": [
|
||||||
|
"npmts"
|
||||||
|
],
|
||||||
|
"npmAccessLevel": "public"
|
||||||
|
}
|
||||||
|
}
|
108
package-lock.json
generated
Normal file
108
package-lock.json
generated
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
{
|
||||||
|
"name": "@tsclass/tsclass",
|
||||||
|
"version": "1.0.27",
|
||||||
|
"lockfileVersion": 1,
|
||||||
|
"requires": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@gitzone/tsrun": {
|
||||||
|
"version": "1.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@gitzone/tsrun/-/tsrun-1.0.5.tgz",
|
||||||
|
"integrity": "sha512-zSiRnlvNAlBmrqknwH9B0gIRx7IEegPzmN+DZ4yN3f+L62WlVbKyPLeeV09SKE8BFiGo+0VIGiQW3EV/9mXMfw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ts-node": "^6.1.0",
|
||||||
|
"typescript": "^2.9.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"arrify": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
|
||||||
|
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"buffer-from": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"diff": {
|
||||||
|
"version": "3.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
|
||||||
|
"integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"make-error": {
|
||||||
|
"version": "1.3.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz",
|
||||||
|
"integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"minimist": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||||
|
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"mkdirp": {
|
||||||
|
"version": "0.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||||
|
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"minimist": "0.0.8"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"minimist": {
|
||||||
|
"version": "0.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||||
|
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"source-map-support": {
|
||||||
|
"version": "0.5.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz",
|
||||||
|
"integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"buffer-from": "^1.0.0",
|
||||||
|
"source-map": "^0.6.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ts-node": {
|
||||||
|
"version": "6.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-6.1.1.tgz",
|
||||||
|
"integrity": "sha512-79FnymLGDBd/nXoiak1L6w6fd9Zz9Ge/x8/Aglaeh31KkqRLDzbfT1vBGlO5dqc76WzufTlW4IYl7e01CVUF5A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"arrify": "^1.0.0",
|
||||||
|
"diff": "^3.1.0",
|
||||||
|
"make-error": "^1.1.1",
|
||||||
|
"minimist": "^1.2.0",
|
||||||
|
"mkdirp": "^0.5.1",
|
||||||
|
"source-map-support": "^0.5.6",
|
||||||
|
"yn": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"typescript": {
|
||||||
|
"version": "2.9.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
|
||||||
|
"integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"yn": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
11
package.json
11
package.json
@ -1,11 +1,13 @@
|
|||||||
{
|
{
|
||||||
"name": "tsclass",
|
"name": "@tsclass/tsclass",
|
||||||
"version": "1.0.4",
|
"version": "1.0.27",
|
||||||
|
"private": false,
|
||||||
"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": "tsrun test/test.ts",
|
||||||
|
"build": "npmts --notest"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -21,7 +23,8 @@
|
|||||||
"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",
|
||||||
|
"dependencies": {},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"npmts": "^5.1.5"
|
"@gitzone/tsrun": "^1.0.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
3
test/test.ts
Normal file
3
test/test.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
import * as tsclass from '../ts/index';
|
||||||
|
|
||||||
|
let contact: tsclass.IContact;
|
@ -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[]
|
|
||||||
}
|
|
25
ts/author.ts
25
ts/author.ts
@ -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[]
|
|
||||||
}
|
|
8
ts/business/address.ts
Normal file
8
ts/business/address.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
export interface IAddress {
|
||||||
|
name?: string;
|
||||||
|
streetName: string;
|
||||||
|
houseNumber: string;
|
||||||
|
postalCode: string;
|
||||||
|
city: string;
|
||||||
|
country: string;
|
||||||
|
}
|
17
ts/business/company.ts
Normal file
17
ts/business/company.ts
Normal 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;
|
||||||
|
}
|
29
ts/business/contact.ts
Normal file
29
ts/business/contact.ts
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
import { IAddress } from '../index';
|
||||||
|
|
||||||
|
export type TContactSalutation = 'Mr' | 'Ms' | 'Mrs';
|
||||||
|
|
||||||
|
export type TContactType = 'person' | 'company';
|
||||||
|
|
||||||
|
export type TContactTitle = 'Doctor' | 'Professor';
|
||||||
|
|
||||||
|
export interface IContact {
|
||||||
|
// =======
|
||||||
|
// general
|
||||||
|
// =======
|
||||||
|
salutation?: TContactSalutation;
|
||||||
|
type: TContactType;
|
||||||
|
title?: TContactTitle;
|
||||||
|
name: string;
|
||||||
|
surname?: string;
|
||||||
|
legalEntity?: string;
|
||||||
|
address: IAddress;
|
||||||
|
description: string;
|
||||||
|
customerNumber?: string;
|
||||||
|
|
||||||
|
|
||||||
|
// =========
|
||||||
|
// financial
|
||||||
|
// =========
|
||||||
|
vatId?: string;
|
||||||
|
bankAccountNumber?: string;
|
||||||
|
}
|
17
ts/business/invoice.ts
Normal file
17
ts/business/invoice.ts
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
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 {
|
||||||
|
billedBy: IContact;
|
||||||
|
billedTo: IContact;
|
||||||
|
status: TInvoiceStatus;
|
||||||
|
items: IInvoiceItem[];
|
||||||
|
}
|
1
ts/cloud/dns.ts
Normal file
1
ts/cloud/dns.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export type TDnsRecord = 'A' | 'AAAA' | 'CNAME' | 'TXT' | 'SRV' | 'LOC' | 'MX' | 'NS' | 'SPF';
|
23
ts/content/article.ts
Normal file
23
ts/content/article.ts
Normal 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[];
|
||||||
|
}
|
24
ts/content/author.ts
Normal file
24
ts/content/author.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
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[];
|
||||||
|
}
|
@ -1,5 +0,0 @@
|
|||||||
export interface IDate {
|
|
||||||
day: number
|
|
||||||
month: number
|
|
||||||
year: number
|
|
||||||
}
|
|
5
ts/general/date.ts
Normal file
5
ts/general/date.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export interface IDate {
|
||||||
|
day: number;
|
||||||
|
month: number;
|
||||||
|
year: number;
|
||||||
|
}
|
1
ts/general/time.ts
Normal file
1
ts/general/time.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export interface ITime {}
|
21
ts/index.ts
21
ts/index.ts
@ -1,5 +1,16 @@
|
|||||||
export * from './article'
|
// Business
|
||||||
export * from './author'
|
export * from './business/address';
|
||||||
export * from './date'
|
export * from './business/company';
|
||||||
export * from './invoice'
|
export * from './business/contact';
|
||||||
export * from './time'
|
export * from './business/invoice';
|
||||||
|
|
||||||
|
// Cloud
|
||||||
|
export * from './cloud/dns';
|
||||||
|
|
||||||
|
// Content
|
||||||
|
export * from './content/article';
|
||||||
|
export * from './content/author';
|
||||||
|
|
||||||
|
// General
|
||||||
|
export * from './general/date';
|
||||||
|
export * from './general/time';
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
export interface IInvoice {
|
|
||||||
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
export interface ITime {
|
|
||||||
|
|
||||||
}
|
|
Reference in New Issue
Block a user