Compare commits

...

14 Commits

8 changed files with 3732 additions and 317 deletions

View File

@ -1,5 +1,45 @@
# Changelog # Changelog
## 2024-12-11 - 4.2.0 - feat(dependencies)
Update dependencies and enhance code documentation
- Updated 'type-fest' dependency from ^4.20.1 to ^4.30.0 for improved type definitions.
- Updated development dependencies for better development experience.
- Enhanced code documentation for the ICommitInfo interface with detailed JSDoc comments.
## 2024-07-26 - 4.1.2 - fix(finance)
Updated IInvoice interface to support various currencies.
- Changed the 'currency' field in the IInvoice interface from fixed 'EUR' to type TCurrency.
## 2024-07-26 - 4.1.1 - fix(finance)
Fix IInvoice interface to correctly include the currency field
- Corrected the IInvoice interface definition in `ts/finance/invoice.ts`
- Moved `position` field to the top of the IInvoiceItem interface
## 2024-07-26 - 4.1.0 - feat(finance)
Added notes field to IInvoice interface
- Expanded IInvoice interface to include notes field allowing additional notes for invoices.
## 2024-07-24 - 4.0.65 - fix(finance)
Added 'type' property to IInvoice interface
- Added 'type' property to the IInvoice interface in the finance domain.
- This property indicates whether the invoice is a 'creditnote' or 'debitnote'.
## 2024-07-18 - 4.0.64 - fix(business)
Add relationship field to contact interface
- Added 'relationship' field to the IContact interface in ts/business/contact.ts
## 2024-06-28 - 4.0.63 - fix(saas)
Refactor IProduct to separate IProductFeature interface
- Updated @types/node from 20.14.8 to 20.14.9
- Refactored IProduct's features property to a standalone IProductFeature interface in saas/product.ts
## 2024-06-24 - 4.0.62 - fix(dependencies) ## 2024-06-24 - 4.0.62 - fix(dependencies)
Updated dependencies to latest versions Updated dependencies to latest versions

View File

@ -1,6 +1,6 @@
{ {
"name": "@tsclass/tsclass", "name": "@tsclass/tsclass",
"version": "4.0.62", "version": "4.2.0",
"private": false, "private": false,
"description": "Provides TypeScript definitions for various business, financial, networking, content, and other common classes.", "description": "Provides TypeScript definitions for various business, financial, networking, content, and other common classes.",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
@ -37,14 +37,14 @@
}, },
"homepage": "https://github.com/tsclass/tsclass#readme", "homepage": "https://github.com/tsclass/tsclass#readme",
"dependencies": { "dependencies": {
"type-fest": "^4.20.1" "type-fest": "^4.30.0"
}, },
"devDependencies": { "devDependencies": {
"@git.zone/tsbuild": "^2.1.82", "@git.zone/tsbuild": "^2.2.0",
"@git.zone/tsrun": "^1.2.49", "@git.zone/tsrun": "^1.3.3",
"@git.zone/tstest": "^1.0.90", "@git.zone/tstest": "^1.0.90",
"@push.rocks/tapbundle": "^5.0.23", "@push.rocks/tapbundle": "^5.5.3",
"@types/node": "^20.14.8" "@types/node": "^22.10.2"
}, },
"files": [ "files": [
"ts/**/*", "ts/**/*",

3965
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@tsclass/tsclass', name: '@tsclass/tsclass',
version: '4.0.62', version: '4.2.0',
description: 'Provides TypeScript definitions for various business, financial, networking, content, and other common classes.' description: 'Provides TypeScript definitions for various business, financial, networking, content, and other common classes.'
} }

View File

@ -14,6 +14,7 @@ export interface IContact {
salutation?: TContactSalutation; salutation?: TContactSalutation;
type: TContactType; type: TContactType;
title?: TContactTitle; title?: TContactTitle;
relationship?: 'customer' | 'supplier' | 'partner' | 'employee' | 'other';
name: string; name: string;
surname?: string; surname?: string;
legalEntity?: string; legalEntity?: string;

View File

@ -1,5 +1,20 @@
export interface ICommitInfo { export interface ICommitInfo {
/**
* the name of the project
*/
name: string; name: string;
/**
* the current version of the project
*/
version: string; version: string;
/**
* the description of the project
*/
description: string; description: string;
/**
* the changelog of the project
*/
changelog?: string[];
} }

View File

@ -1,21 +1,23 @@
import { business, finance } from '../index.js'; import { business, finance } from '../index.js';
import type { TCurrency } from './currency.js';
export type TInvoiceStatus = 'draft' | 'invoice' | 'paid' | 'refunded'; export type TInvoiceStatus = 'draft' | 'invoice' | 'paid' | 'refunded';
export interface IInvoiceItem { export interface IInvoiceItem {
position: number;
name: string; name: string;
articleNumber?: string; articleNumber?: string;
unitType: string; unitType: string;
unitQuantity: number; unitQuantity: number;
unitNetPrice: number; unitNetPrice: number;
vatPercentage: number; vatPercentage: number;
currency: 'EUR';
} }
export interface IInvoice { export interface IInvoice {
id: string; id: string;
billedBy: business.IContact; billedBy: business.IContact;
billedTo: business.IContact; billedTo: business.IContact;
type: 'creditnote' | 'debitnote';
status: TInvoiceStatus; status: TInvoiceStatus;
items: IInvoiceItem[]; items: IInvoiceItem[];
periodOfPerformance?: { periodOfPerformance?: {
@ -34,5 +36,7 @@ export interface IInvoice {
items: IInvoiceItem[]; items: IInvoiceItem[];
}; };
}; };
notes: string[];
paymentOptions?: finance.IPaymentOptionInfo; paymentOptions?: finance.IPaymentOptionInfo;
currency: TCurrency;
} }

View File

@ -7,8 +7,16 @@ export interface IProduct {
os: 'web-based', os: 'web-based',
category: 'Business Application', category: 'Business Application',
offers: any[]; offers: any[];
features: IProductFeature[];
landingPage: string; landingPage: string;
appLink: string; appLink: string;
logoLink: string; logoLink: string;
publisher?: ICompany; publisher?: ICompany;
}
export interface IProductFeature {
heading: string;
description: string;
linkText: string;
linkUrl: string;
} }