@mittwald/api-models
Advanced tools
| import { extractTotalCountHeader, assertStatus, } from "@mittwald/api-client"; | ||
| export const apiContributorBehaviors = (client) => ({ | ||
| find: async (contributorId) => { | ||
| const response = await client.marketplace.extensionGetContributor({ | ||
| contributorId, | ||
| }); | ||
| if (response.status === 200) { | ||
| return response.data; | ||
| } | ||
| assertStatus(response, 404); | ||
| }, | ||
| list: async (query) => { | ||
| const response = await client.marketplace.extensionListContributors({ | ||
| queryParameters: query, | ||
| }); | ||
| assertStatus(response, 200); | ||
| return { | ||
| items: response.data, | ||
| totalCount: extractTotalCountHeader(response), | ||
| }; | ||
| }, | ||
| listIncomingInvoices: async (contributorId, queryParameters) => { | ||
| const response = await client.marketplace.contributorListIncomingInvoices({ | ||
| contributorId, | ||
| queryParameters, | ||
| }); | ||
| if (response.status === 200) { | ||
| return { | ||
| items: response.data, | ||
| totalCount: extractTotalCountHeader(response), | ||
| }; | ||
| } | ||
| assertStatus(response, 404); | ||
| return { | ||
| items: [], | ||
| totalCount: 0, | ||
| }; | ||
| }, | ||
| }); |
| export * from "./api.js"; | ||
| export * from "./types.js"; |
| import { config } from "../../config/config.js"; | ||
| import { classes } from "polytype"; | ||
| import { DataModel } from "../../base/DataModel.js"; | ||
| import assertObjectFound from "../../base/assertObjectFound.js"; | ||
| import { ReferenceModel } from "../../base/ReferenceModel.js"; | ||
| import { provideReact, } from "../../react/provideReact.js"; | ||
| import { ListQueryModel } from "../../base/ListQueryModel.js"; | ||
| import { ListDataModel } from "../../base/ListDataModel.js"; | ||
| import { ContributorIncomingInvoiceListQuery } from "./ContributorIncomingInvoice.js"; | ||
| export class Contributor extends ReferenceModel { | ||
| incomingInvoices; | ||
| constructor(id) { | ||
| super(id); | ||
| this.incomingInvoices = new ContributorIncomingInvoiceListQuery(this); | ||
| } | ||
| static ofId(id) { | ||
| return new Contributor(id); | ||
| } | ||
| static find = provideReact(async (id) => { | ||
| const data = await config.behaviors.contributor.find(id); | ||
| if (data !== undefined) { | ||
| return new ContributorDetailed(data); | ||
| } | ||
| }); | ||
| static query(query = {}) { | ||
| return new ContributorListQuery(query); | ||
| } | ||
| static get = provideReact(async (id) => { | ||
| const contributor = await this.find(id); | ||
| assertObjectFound(contributor, this, id); | ||
| return contributor; | ||
| }); | ||
| getDetailed = provideReact(() => Contributor.get(this.id), [this.id]); | ||
| findDetailed = provideReact(() => Contributor.find(this.id), [this.id]); | ||
| } | ||
| class ContributorCommon extends classes((DataModel), Contributor) { | ||
| constructor(data) { | ||
| super([data], [data.id]); | ||
| } | ||
| } | ||
| export class ContributorDetailed extends classes(ContributorCommon, (DataModel)) { | ||
| constructor(data) { | ||
| super([data], [data]); | ||
| } | ||
| } | ||
| export class ContributorListItem extends classes(ContributorCommon, (DataModel)) { | ||
| constructor(data) { | ||
| super([data], [data]); | ||
| } | ||
| } | ||
| export class ContributorListQuery extends ListQueryModel { | ||
| constructor(query = {}) { | ||
| super(query); | ||
| } | ||
| refine(query) { | ||
| return new ContributorListQuery({ | ||
| ...this.query, | ||
| ...query, | ||
| }); | ||
| } | ||
| execute = provideReact(async () => { | ||
| const { items, totalCount } = await config.behaviors.contributor.list({ | ||
| limit: config.defaultPaginationLimit, | ||
| ...this.query, | ||
| }); | ||
| return new ContributorList(this.query, items.map((d) => new ContributorListItem(d)), totalCount); | ||
| }, [this.queryId]); | ||
| getTotalCount = provideReact(async () => { | ||
| const { totalCount } = await this.refine({ limit: 1 }).execute(); | ||
| return totalCount; | ||
| }, [this.queryId]); | ||
| findOneAndOnly = provideReact(async () => { | ||
| const { items, totalCount } = await this.refine({ limit: 2 }).execute(); | ||
| if (totalCount === 1) { | ||
| return items[0]; | ||
| } | ||
| }, [this.queryId]); | ||
| } | ||
| export class ContributorList extends classes(ContributorListQuery, (ListDataModel)) { | ||
| constructor(query, contributors, totalCount) { | ||
| super([query], [contributors, totalCount]); | ||
| } | ||
| } |
| import { classes } from "polytype"; | ||
| import { ListQueryModel } from "../../base/ListQueryModel.js"; | ||
| import { Money } from "../../base/Money.js"; | ||
| import { provideReact } from "../../react.js"; | ||
| import { DateTime } from "luxon"; | ||
| import { ListDataModel } from "../../base/ListDataModel.js"; | ||
| import { DataModel } from "../../base/DataModel.js"; | ||
| import { config } from "../../config/config.js"; | ||
| export class ContributorIncomingInvoice extends DataModel { | ||
| contributor; | ||
| id; | ||
| pdfId; | ||
| invoiceNumber; | ||
| date; | ||
| totalNet; | ||
| totalGross; | ||
| constructor(contributor, data) { | ||
| super(data); | ||
| this.contributor = contributor; | ||
| this.id = data.id; | ||
| this.pdfId = data.pdfId; | ||
| this.invoiceNumber = data.invoiceNumber; | ||
| this.date = DateTime.fromISO(data.date); | ||
| this.totalNet = Money({ amount: data.totalNet, currency: "EUR" }); | ||
| this.totalGross = Money({ amount: data.totalGross, currency: "EUR" }); | ||
| } | ||
| } | ||
| export class ContributorIncomingInvoiceListQuery extends ListQueryModel { | ||
| contributor; | ||
| constructor(contributor, query = {}) { | ||
| super(query, { dependencies: [contributor.id] }); | ||
| this.contributor = contributor; | ||
| } | ||
| refine(query) { | ||
| return new ContributorIncomingInvoiceListQuery(this.contributor, { | ||
| ...this.query, | ||
| ...query, | ||
| }); | ||
| } | ||
| execute = provideReact(async () => { | ||
| const { items, totalCount } = await config.behaviors.contributor.listIncomingInvoices(this.contributor.id, this.query); | ||
| return new ContributorIncomingInvoicesList(this.contributor, this.query, items.map((i) => new ContributorIncomingInvoice(this.contributor, i)), totalCount); | ||
| }, [this.queryId]); | ||
| getTotalCount = provideReact(async () => { | ||
| const result = await this.refine({ limit: 1, skip: 0 }).execute(); | ||
| return result.totalCount; | ||
| }); | ||
| } | ||
| export class ContributorIncomingInvoicesList extends classes(ContributorIncomingInvoiceListQuery, (ListDataModel)) { | ||
| constructor(contributor, query, invoices, totalCount) { | ||
| super([contributor, query], [invoices, totalCount]); | ||
| } | ||
| } |
| export * from "./Contributor.js"; | ||
| export * from "./ContributorIncomingInvoice.js"; | ||
| export * from "./types.js"; |
| export {}; |
| export * from "./Contributor/index.js"; |
| import type { ContributorBehaviors } from "./types.js"; | ||
| import { MittwaldAPIV2Client } from "@mittwald/api-client"; | ||
| export declare const apiContributorBehaviors: (client: MittwaldAPIV2Client) => ContributorBehaviors; |
| export * from "./api.js"; | ||
| export * from "./types.js"; |
| import type { QueryResponseData } from "../../../base/types.js"; | ||
| import type { ContributorData, ContributorIncomingInvoiceData, ContributorListIncomingInvoiceQueryData, ContributorListItemData, ContributorListQueryData } from "../types.js"; | ||
| export interface ContributorBehaviors { | ||
| find: (contributorId: string) => Promise<ContributorData | undefined>; | ||
| list: (query?: ContributorListQueryData) => Promise<QueryResponseData<ContributorListItemData>>; | ||
| listIncomingInvoices: (contributorId: string, queryParameters?: ContributorListIncomingInvoiceQueryData) => Promise<{ | ||
| items: ContributorIncomingInvoiceData[]; | ||
| totalCount: number; | ||
| }>; | ||
| } |
| import { DataModel } from "../../base/DataModel.js"; | ||
| import { ReferenceModel } from "../../base/ReferenceModel.js"; | ||
| import { AsyncResourceVariant } from "../../react/provideReact.js"; | ||
| import { ListQueryModel } from "../../base/ListQueryModel.js"; | ||
| import { ListDataModel } from "../../base/ListDataModel.js"; | ||
| import { ContributorIncomingInvoiceListQuery } from "./ContributorIncomingInvoice.js"; | ||
| import type { ContributorData, ContributorListItemData, ContributorListQueryData } from "./types.js"; | ||
| export declare class Contributor extends ReferenceModel { | ||
| readonly incomingInvoices: ContributorIncomingInvoiceListQuery; | ||
| constructor(id: string); | ||
| static ofId(id: string): Contributor; | ||
| static find: AsyncResourceVariant<(id: string) => Promise<ContributorDetailed | undefined>>; | ||
| static query(query?: ContributorListQueryData): ContributorListQuery; | ||
| static get: AsyncResourceVariant<(id: string) => Promise<ContributorDetailed>>; | ||
| getDetailed: AsyncResourceVariant<() => Promise<ContributorDetailed>>; | ||
| findDetailed: AsyncResourceVariant<() => Promise<ContributorDetailed | undefined>>; | ||
| } | ||
| declare const ContributorCommon_base: import("polytype").Polytype.ClusteredConstructor<[{ | ||
| new (data: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.MarketplaceContributor): DataModel<import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.MarketplaceContributor>; | ||
| }, typeof Contributor]>; | ||
| declare class ContributorCommon extends ContributorCommon_base { | ||
| constructor(data: ContributorListItemData | ContributorData); | ||
| } | ||
| declare const ContributorDetailed_base: import("polytype").Polytype.ClusteredConstructor<[typeof ContributorCommon, { | ||
| new (data: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.MarketplaceContributor): DataModel<import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.MarketplaceContributor>; | ||
| }]>; | ||
| export declare class ContributorDetailed extends ContributorDetailed_base { | ||
| constructor(data: ContributorData); | ||
| } | ||
| declare const ContributorListItem_base: import("polytype").Polytype.ClusteredConstructor<[typeof ContributorCommon, { | ||
| new (data: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.MarketplaceContributor): DataModel<import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.MarketplaceContributor>; | ||
| }]>; | ||
| export declare class ContributorListItem extends ContributorListItem_base { | ||
| constructor(data: ContributorListItemData); | ||
| } | ||
| export declare class ContributorListQuery extends ListQueryModel<ContributorListQueryData> { | ||
| constructor(query?: ContributorListQueryData); | ||
| refine(query: ContributorListQueryData): ContributorListQuery; | ||
| execute: AsyncResourceVariant<() => Promise<ContributorList>>; | ||
| getTotalCount: AsyncResourceVariant<() => Promise<number>>; | ||
| findOneAndOnly: AsyncResourceVariant<() => Promise<ContributorListItem | undefined>>; | ||
| } | ||
| declare const ContributorList_base: import("polytype").Polytype.ClusteredConstructor<[typeof ContributorListQuery, { | ||
| new (items: ContributorListItem[], totalCount: number): ListDataModel<ContributorListItem>; | ||
| }]>; | ||
| export declare class ContributorList extends ContributorList_base { | ||
| constructor(query: ContributorListQueryData, contributors: ContributorListItem[], totalCount: number); | ||
| } | ||
| export {}; |
| import { ListQueryModel } from "../../base/ListQueryModel.js"; | ||
| import { Money } from "../../base/Money.js"; | ||
| import { DateTime } from "luxon"; | ||
| import type { Contributor } from "./Contributor.js"; | ||
| import type { ContributorIncomingInvoiceData, ContributorListIncomingInvoiceQueryData } from "./types.js"; | ||
| import { ListDataModel } from "../../base/ListDataModel.js"; | ||
| import { DataModel } from "../../base/DataModel.js"; | ||
| export declare class ContributorIncomingInvoice extends DataModel<ContributorIncomingInvoiceData> { | ||
| readonly contributor: Contributor; | ||
| readonly id: string; | ||
| readonly pdfId: string; | ||
| readonly invoiceNumber: string; | ||
| readonly date: DateTime; | ||
| readonly totalNet: Money; | ||
| readonly totalGross: Money; | ||
| constructor(contributor: Contributor, data: ContributorIncomingInvoiceData); | ||
| } | ||
| export declare class ContributorIncomingInvoiceListQuery extends ListQueryModel<ContributorListIncomingInvoiceQueryData> { | ||
| readonly contributor: Contributor; | ||
| constructor(contributor: Contributor, query?: ContributorListIncomingInvoiceQueryData); | ||
| refine(query: ContributorListIncomingInvoiceQueryData): ContributorIncomingInvoiceListQuery; | ||
| execute: import("../../react.js").AsyncResourceVariant<() => Promise<ContributorIncomingInvoicesList>>; | ||
| getTotalCount: import("../../react.js").AsyncResourceVariant<() => Promise<number>>; | ||
| } | ||
| declare const ContributorIncomingInvoicesList_base: import("polytype").Polytype.ClusteredConstructor<[typeof ContributorIncomingInvoiceListQuery, { | ||
| new (items: ContributorIncomingInvoice[], totalCount: number): ListDataModel<ContributorIncomingInvoice>; | ||
| }]>; | ||
| export declare class ContributorIncomingInvoicesList extends ContributorIncomingInvoicesList_base { | ||
| constructor(contributor: Contributor, query: ContributorListIncomingInvoiceQueryData, invoices: ContributorIncomingInvoice[], totalCount: number); | ||
| } | ||
| export {}; |
| export * from "./Contributor.js"; | ||
| export * from "./ContributorIncomingInvoice.js"; | ||
| export * from "./types.js"; |
| import type { MittwaldAPIV2 } from "@mittwald/api-client"; | ||
| export type ContributorData = MittwaldAPIV2.Components.Schemas.MarketplaceContributor; | ||
| export type ContributorListItemData = MittwaldAPIV2.Operations.ExtensionListContributors.ResponseData[number]; | ||
| export type ContributorListQueryData = MittwaldAPIV2.Paths.V2Contributors.Get.Parameters.Query; | ||
| export type ContributorIncomingInvoiceData = MittwaldAPIV2.Operations.ContributorListIncomingInvoices.ResponseData[number]; | ||
| export type ContributorListIncomingInvoiceQueryData = MittwaldAPIV2.Paths.V2ContributorsContributorIdInvoicesIncoming.Get.Parameters.Query; |
| export * from "./Contributor/index.js"; |
@@ -12,2 +12,3 @@ import { MittwaldAPIV2Client } from "@mittwald/api-client"; | ||
| import { apiContractItemBehaviors } from "../../contract/ContractItem/behaviors/index.js"; | ||
| import { apiContributorBehaviors } from "../../marketplace/Contributor/behaviors/api.js"; | ||
| class ApiSetupState { | ||
@@ -29,2 +30,3 @@ _client; | ||
| config.behaviors.contract = apiContractBehaviors(client); | ||
| config.behaviors.contributor = apiContributorBehaviors(client); | ||
| config.behaviors.contractItem = apiContractItemBehaviors(client); | ||
@@ -31,0 +33,0 @@ } |
@@ -6,2 +6,3 @@ export const config = { | ||
| contractItem: undefined, | ||
| contributor: undefined, | ||
| article: undefined, | ||
@@ -8,0 +9,0 @@ project: undefined, |
@@ -24,2 +24,3 @@ import { DataModel } from "../../base/DataModel.js"; | ||
| customDocumentRoot?: string | undefined; | ||
| deletionRequested?: boolean | undefined; | ||
| description: string; | ||
@@ -46,2 +47,3 @@ disabled: boolean; | ||
| customDocumentRoot?: string | undefined; | ||
| deletionRequested?: boolean | undefined; | ||
| description: string; | ||
@@ -74,2 +76,3 @@ disabled: boolean; | ||
| customDocumentRoot?: string | undefined; | ||
| deletionRequested?: boolean | undefined; | ||
| description: string; | ||
@@ -96,2 +99,3 @@ disabled: boolean; | ||
| customDocumentRoot?: string | undefined; | ||
| deletionRequested?: boolean | undefined; | ||
| description: string; | ||
@@ -98,0 +102,0 @@ disabled: boolean; |
@@ -31,3 +31,3 @@ import { ReferenceModel } from "../../base/ReferenceModel.js"; | ||
| name: string; | ||
| orderable: "forbidden" | "internal" | "beta_testing" | "full" | "deprecated"; | ||
| orderable: "full" | "forbidden" | "internal" | "beta_testing" | "deprecated"; | ||
| possibleArticleChanges?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.ArticleReadableChangeArticleOptions[] | undefined; | ||
@@ -54,3 +54,3 @@ price?: number | undefined; | ||
| name: string; | ||
| orderable: "forbidden" | "internal" | "beta_testing" | "full" | "deprecated"; | ||
| orderable: "full" | "forbidden" | "internal" | "beta_testing" | "deprecated"; | ||
| possibleArticleChanges?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.ArticleReadableChangeArticleOptions[] | undefined; | ||
@@ -84,3 +84,3 @@ price?: number | undefined; | ||
| name: string; | ||
| orderable: "forbidden" | "internal" | "beta_testing" | "full" | "deprecated"; | ||
| orderable: "full" | "forbidden" | "internal" | "beta_testing" | "deprecated"; | ||
| possibleArticleChanges?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.ArticleReadableChangeArticleOptions[] | undefined; | ||
@@ -107,3 +107,3 @@ price?: number | undefined; | ||
| name: string; | ||
| orderable: "forbidden" | "internal" | "beta_testing" | "full" | "deprecated"; | ||
| orderable: "full" | "forbidden" | "internal" | "beta_testing" | "deprecated"; | ||
| possibleArticleChanges?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.ArticleReadableChangeArticleOptions[] | undefined; | ||
@@ -110,0 +110,0 @@ price?: number | undefined; |
@@ -9,2 +9,3 @@ import { ProjectBehaviors } from "../project/Project/behaviors/index.js"; | ||
| import { ArticleBehaviors } from "../article/Article/behaviors/index.js"; | ||
| import type { ContributorBehaviors } from "../marketplace/Contributor/behaviors/types.js"; | ||
| interface Config { | ||
@@ -14,2 +15,3 @@ defaultPaginationLimit: number; | ||
| contract: ContractBehaviors; | ||
| contributor: ContributorBehaviors; | ||
| contractItem: ContractItemBehaviors; | ||
@@ -16,0 +18,0 @@ article: ArticleBehaviors; |
@@ -33,2 +33,3 @@ import { DataModel } from "../../base/DataModel.js"; | ||
| customerNumber: string; | ||
| deletionProhibitedBy?: ("hasOpenInvoices" | "hasActiveContracts" | "hasActiveExtensionSubscriptions" | "isActiveContributor")[] | undefined; | ||
| executingUserRoles?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.CustomerRole[] | undefined; | ||
@@ -39,2 +40,3 @@ flags?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.CustomerCustomerFlag[] | undefined; | ||
| isInDefaultOfPayment?: boolean | undefined; | ||
| isMailAddressInvalid?: boolean | undefined; | ||
| levelOfUndeliverableDunningNotice?: "first" | "second" | undefined; | ||
@@ -56,2 +58,3 @@ memberCount: number; | ||
| customerNumber: string; | ||
| deletionProhibitedBy?: ("hasOpenInvoices" | "hasActiveContracts" | "hasActiveExtensionSubscriptions" | "isActiveContributor")[] | undefined; | ||
| executingUserRoles?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.CustomerRole[] | undefined; | ||
@@ -62,2 +65,3 @@ flags?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.CustomerCustomerFlag[] | undefined; | ||
| isInDefaultOfPayment?: boolean | undefined; | ||
| isMailAddressInvalid?: boolean | undefined; | ||
| levelOfUndeliverableDunningNotice?: "first" | "second" | undefined; | ||
@@ -85,2 +89,3 @@ memberCount: number; | ||
| customerNumber: string; | ||
| deletionProhibitedBy?: ("hasOpenInvoices" | "hasActiveContracts" | "hasActiveExtensionSubscriptions" | "isActiveContributor")[] | undefined; | ||
| executingUserRoles?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.CustomerRole[] | undefined; | ||
@@ -91,2 +96,3 @@ flags?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.CustomerCustomerFlag[] | undefined; | ||
| isInDefaultOfPayment?: boolean | undefined; | ||
| isMailAddressInvalid?: boolean | undefined; | ||
| levelOfUndeliverableDunningNotice?: "first" | "second" | undefined; | ||
@@ -108,2 +114,3 @@ memberCount: number; | ||
| customerNumber: string; | ||
| deletionProhibitedBy?: ("hasOpenInvoices" | "hasActiveContracts" | "hasActiveExtensionSubscriptions" | "isActiveContributor")[] | undefined; | ||
| executingUserRoles?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.CustomerRole[] | undefined; | ||
@@ -114,2 +121,3 @@ flags?: import("@mittwald/api-client").MittwaldAPIV2.Components.Schemas.CustomerCustomerFlag[] | undefined; | ||
| isInDefaultOfPayment?: boolean | undefined; | ||
| isMailAddressInvalid?: boolean | undefined; | ||
| levelOfUndeliverableDunningNotice?: "first" | "second" | undefined; | ||
@@ -116,0 +124,0 @@ memberCount: number; |
@@ -65,2 +65,3 @@ import { ProjectData, ProjectListItemData, ProjectListQueryData, ProjectListQueryModelData } from "./types.js"; | ||
| customerId: string; | ||
| deletionRequested?: boolean | undefined; | ||
| description: string; | ||
@@ -122,2 +123,3 @@ directories: { | ||
| customerId: string; | ||
| deletionRequested?: boolean | undefined; | ||
| description: string; | ||
@@ -162,2 +164,3 @@ directories: { | ||
| customerId: string; | ||
| deletionRequested?: boolean | undefined; | ||
| description: string; | ||
@@ -194,2 +197,3 @@ directories: { | ||
| customerId: string; | ||
| deletionRequested?: boolean | undefined; | ||
| description: string; | ||
@@ -196,0 +200,0 @@ directories: { |
+17
-15
| { | ||
| "name": "@mittwald/api-models", | ||
| "version": "0.0.0-development-e87cbeb-20251001", | ||
| "version": "0.0.0-development-e8d9270-20260119", | ||
| "author": "Mittwald CM Service GmbH & Co. KG <opensource@mittwald.de>", | ||
@@ -42,7 +42,7 @@ "type": "module", | ||
| "dependencies": { | ||
| "@mittwald/api-client": "^0.0.0-development-e87cbeb-20251001", | ||
| "another-deep-freeze": "^1.0.0", | ||
| "@mittwald/api-client": "^0.0.0-development-e8d9270-20260119", | ||
| "another-deep-freeze": "1.0.0", | ||
| "context": "^3.0.33", | ||
| "dinero.js": "^1.9.1", | ||
| "object-code": "^1.3.3", | ||
| "object-code": "^1.3.4", | ||
| "polytype": "^0.17.0", | ||
@@ -54,19 +54,21 @@ "tsd": "^0.31.2", | ||
| "@jest/globals": "^29.7.0", | ||
| "@mittwald/react-use-promise": "^2.6.0", | ||
| "@testing-library/dom": "^10.4.0", | ||
| "@testing-library/jest-dom": "^6.6.3", | ||
| "@testing-library/react": "^16.1.0", | ||
| "@types/dinero.js": "^1", | ||
| "@mittwald/react-use-promise": "^2.6.2", | ||
| "@testing-library/dom": "^10.4.1", | ||
| "@testing-library/jest-dom": "^6.9.1", | ||
| "@testing-library/react": "^16.3.0", | ||
| "@types/dinero.js": "^1.9.4", | ||
| "@types/jest": "^29.5.14", | ||
| "@types/react": "^18.3.14", | ||
| "@types/react-dom": "^18", | ||
| "@types/luxon": "^3.7.1", | ||
| "@types/react": "^18.3.26", | ||
| "@types/react-dom": "^18.3.7", | ||
| "@typescript-eslint/eslint-plugin": "^7.18.0", | ||
| "@typescript-eslint/parser": "^7.18.0", | ||
| "eslint": "^8.57.1", | ||
| "eslint-config-prettier": "^9.1.0", | ||
| "eslint-config-prettier": "^9.1.2", | ||
| "eslint-plugin-json": "^3.1.0", | ||
| "eslint-plugin-prettier": "^5.2.1", | ||
| "eslint-plugin-prettier": "^5.5.4", | ||
| "jest": "^29.7.0", | ||
| "jest-environment-jsdom": "^29.7.0", | ||
| "prettier": "^3.4.2", | ||
| "luxon": "^3.7.2", | ||
| "prettier": "^3.6.2", | ||
| "react": "^18.3.1", | ||
@@ -89,3 +91,3 @@ "react-dom": "^18.3.1", | ||
| }, | ||
| "gitHead": "01b01e9cefc0ae0b5b7dabd7261dd7acd0b33d44" | ||
| "gitHead": "421fb85a679788d0f7f4c8bf0f5618435a895367" | ||
| } |
155717
10.78%197
8.84%3050
11.27%25
8.7%+ Added
- Removed
Updated
Updated
Updated