@commercetools-test-data/cart

中文文档
10.18.2发布于 2025/05/08MITTypeScriptESM + CJS近 30 天下载 2923

Data model for commercetools API Cart

原始使用文档
文档目录11 节
  1. Cart
  2. CustomLineItem
  3. LineItem
  4. TaxPortion
  5. TaxedItemPrice
  6. ShippingInfo
  7. TaxedPrice
  8. DirectDiscount
  9. DiscountedLineItemPortion
  10. DiscountedLineItemPrice
  11. DiscountedLineItemPriceForQuantity

@commercetools-test-data/cart

This package provides the data model for the commercetools platform Cart representations

https://docs.commercetools.com/api/projects/carts#representations

Install

$ pnpm add -D @commercetools-test-data/cart

Usage

Cart

import {
  Cart,
  CartDraft,
  type TCart,
  type TCartDraft,
} from '@commercetools-test-data/cart';

const cart = Cart.random().build<TCart>();
const cartDraft = CartDraft.random().build<TCartDraft>();

// Presets
const emptyCartDraft = CartDraft.presets.empty().build<TCartDraft>();

CustomLineItem

import {
  CustomLineItemRest,
  CustomLineItemDraftRest,
  CustomLineItemGraphql,
  CustomLineItemDraftGraphql,
} from '@commercetools-test-data/cart';

const restCustomLineItem = CustomLineItemRest.random().build();
const graphqlCustomLineItem = CustomLineItemGraphql.random().build();

const restCustomLineItemDraft = CustomLineItemDraftRest.random().build();
const graphqlCustomLineItemDraft = CustomLineItemDraftGraphql.random().build();

LineItem

import {
  LineItemRest,
  LineItemDraftRest
  LineItemGraphql,
  LineItemDraftGraphql,
} from '@commercetools-test-data/cart';

const restLineItem = LineItemRest.random().build();
const graphqlLineItem = LineItemGraphql.random().build();

const restLineItemDraft = LineItemDraftRest.random().build();
const graphqlLineItemDraft = LineItemDraftGraphql.random().build()

// Presets
const restEmptyLineItemDraft = LineItemDraftRest.presets.empty().build();
const graphqlEmptyLineItemDraft = LineItemDraftGraphql.presets.empty().build()

TaxPortion

import {
  TaxPortionRest,
  TaxPortionDraftRest,
  TaxPortionGraphql,
  TaxPortionDraftGraphql,
} from '@commercetools-test-data/cart';

const restTaxPortion = TaxPortionRest.random().build();
const graphqlTaxPortion = TaxPortionGraphql.random().build();

const restTaxPortionDraft = TaxPortionDraftRest.random().build();
const graphqlTaxPortionDraft = TaxPortionDraftGraphql.random().build();

TaxedItemPrice

import {
  TaxedItemPriceRest,
  TaxedItemPriceGraphql,
} from '@commercetools-test-data/cart';

const restTaxedItemPrice = TaxedItemPriceRest.random().build();
const graphqlTaxedItemPrice = TaxedItemPriceGraphql.random().build();

ShippingInfo

import {
  ShippingInfoRest,
  ShippingInfoGraphql,
} from '@commercetools-test-data/cart';

const restShippingInfo = ShippingInfoRest.random().build();
const graphqlShippingInfo = ShippingInfoGraphql.random().build();

TaxedPrice

import {
  TaxedPriceRest,
  TaxedPriceGraphql,
} from '@commercetools-test-data/cart';

const restTaxedPrice = TaxedPriceRest.random().build();
const graphqlTaxedPrice = TaxedPriceGraphql.random().build();

DirectDiscount

import {
  DirectDiscountRest,
  DirectDiscountGraphql,
  DirectDiscountDraftRest,
  DirectDiscountDraftGraphql,
} from '@commercetools-test-data/cart';

const restDirectDiscount = DirectDiscountRest.random().build();
const graphqlDirectDiscount = DirectDiscountGraphql.random().build();

const restDirectDiscountDraft = DirectDiscountDraftRest.random().build();
const graphqlDirectDiscountDraft = DirectDiscountDraftGraphql.random().build();

DiscountedLineItemPortion

import {
  DiscountedLineItemPortionRest,
  DiscountedLineItemPortionGraphql,
  DiscountedLineItemPortionDraftRest,
  DiscountedLineItemPortionDraftGraphql,
} from '@commercetools-test-data/cart';

const restDiscountedLineItemPortion =
  DiscountedLineItemPortionRest.random().build();
const graphqlDiscountedLineItemPortion =
  DiscountedLineItemPortionGraphql.random().build();

const restDiscountedLineItemPortionDraft =
  DiscountedLineItemPortionDraftRest.random().build();
const graphqlDiscountedLineItemPortionDraft =
  DiscountedLineItemPortionDraftGraphql.random().build();

DiscountedLineItemPrice

import {
  DiscountedLineItemPriceRest,
  DiscountedLineItemPriceGraphql,
} from '@commercetools-test-data/cart';

const restDiscountedLineItemPrice =
  DiscountedLineItemPriceRest.random().build();
const graphqlDiscountedLineItemPrice =
  DiscountedLineItemPriceGraphql.random().build();

DiscountedLineItemPriceForQuantity

import {
  DiscountedLineItemPriceForQuantityRest,
  DiscountedLineItemPriceForQuantityGraphql,
} from '@commercetools-test-data/cart';

const restDiscountedLineItemPriceForQuantity =
  DiscountedLineItemPriceForQuantityRest.random().build();
const graphqlDiscountedLineItemPriceForQuantity =
  DiscountedLineItemPriceForQuantityGraphql.random().build();

版本与发布记录

@commercetools-test-data/cart 共发布 477 个版本,首次发布于 2023/03/02;过去 12 个月发布了 0 个版本。

版本发布日期距今
10.18.2latest2025/05/081.5 年前
0.0.0-canary-20250508100830canary2025/05/081.5 年前
10.18.12025/05/071.5 年前
0.0.0-canary-202505071304522025/05/071.5 年前
10.18.02025/05/071.5 年前
0.0.0-canary-202505070711342025/05/071.5 年前

关于 @commercetools-test-data/cart 的常见问题

@commercetools-test-data/cart 是什么?

Data model for commercetools API Cart

如何安装 @commercetools-test-data/cart?

在项目目录运行 npm install @commercetools-test-data/cart,或使用 pnpm add / yarn add / bun add。

@commercetools-test-data/cart 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@commercetools-test-data/cart 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@commercetools-test-data/cart 可以商用吗?

@commercetools-test-data/cart 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@commercetools-test-data/cart 的下载量有多少?

根据 npm 官方下载统计,@commercetools-test-data/cart 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,923 次,日均约 97 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@commercetools-test-data/cart 还在维护吗?

最新版本 10.18.2 发布于 2025/05/08(1.5 年前);至今共发布 477 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/03/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。