@carbonbox/domain

中文文档
0.56.1发布于 2026/11/05ISCTypeScriptCommonJS零依赖近 30 天下载 1.2万

CarbonBox 项目域包

中文使用文档
文档目录43 节
  1. · 总 则
  2. 蒂波斯·德·韦拉·德·卡波罗
  3. 多米尼奥校长
  4. 阿基特克图拉
  5. 基础
  6. 帕特罗内斯·阿基特克通科斯·克拉夫
  7. 卡尔佩塔斯区
  8. 多米尼奥组织
  9. 诺门克拉图拉会议
  10. * 印斯塔拉西翁
  11. 伊尼西奥·拉皮多
  12. 埃斯图克图拉·德塔拉达·德多米尼奥
  13. 1. 活动数据收集
  14. 2. 碳足迹配置
  15. 3. 公司资源
  16. 4. 排放计算公式
  17. 5. 排放量计算程序
  18. 6. 排放量计算结果
  19. 7. 利害关系方
  20. 8. 共享域
  21. 多米尼奥·德·德·内克奥
  22. 国际通商协会
  23. 哥伦比亚共和国
  24. 多租户
  25. 迪纳米卡省
  26. * 发展
  27. 优先请求
  28. 国家概况
  29. 脚本
  30. 测试
  31. 埃斯坦达雷斯·德科迪戈
  32. 配置 ESLint
  33. 配置类型脚本
  34. CI/CD 和 自动
  35. 特拉巴霍汽车公司
  36. 释放方案
  37. - 康特里布尔
  38. 弗卢霍·德特拉巴霍
  39. 瓜斯-德德萨罗洛
  40. 普罗耶克托省
  41. · 诉讼
  42. 自动
  43. * 带子

@ carbox/ 域名

CI npm version License: ISC

多米尼奥·普拉和盖斯提翁·韦拉·斯吉安多·普林西皮奥斯·多马尼-德里芬设计学院(DDD)和阿基特克图拉·林皮亚学院赞助人.

· 总 则

碳问题研究中心 644个箭头类型脚本 组织 8个背景 主讲人:

蒂波斯·德·韦拉·德·卡波罗

  • 韦拉斯·德·碳公司 - 妇女组织
  • 韦拉斯·德·卡尔沃·德·普罗多斯 - 生产商品的保险
  • 韦拉斯·德·卡波罗·德·埃克托斯 - 事件概况

多米尼奥校长

  1. 活动数据收集 - 重建重建方案
  2. 碳脚印配置 - 韦拉省重建委员会
  3. 公司资源 - 组织活动(活动、活动、产品)
  4. 排放计算公式 - 机车组变数和因数
  5. 排放量计算程序 - 查巴霍和杰斯蒂翁·查巴霍斯教会
  6. 排放量计算结果 - 成果和权利司
  7. QQ 利害关系方 - 作用问题
  8. 共享域 - 跨部门和基金

阿基特克图拉

基础

  • 域驱动设计( DDD) - 多米尼奥河模型
  • 阿基特克图拉·林皮亚 - 卡帕德多米尼奥·普拉·辛依托 外星人
  • 营养方案 - Patrón 两者兼有/结果
  • Principios 固态 - 互联互通系统
  • 塞古里达德·德·蒂波斯 - 综合证书

帕特罗内斯·阿基特克通科斯·克拉夫

  • 总和根 - 外来托达斯 AggregateRoot<T>
  • 值对象 - Objetos inmultus con vicación
  • 工厂方法 - 梅托多斯·埃斯塔托斯 create() 尔 fromPrimitives()
  • 佩特龙或者 - 马内霍·富克纳尔(Manejo) Either<L,R>
  • 普里米蒂沃斯争议 - 草原系列旅游港

卡尔佩塔斯区

(一) 设计:

carbonbox-domain/
├── src/                                    # Código fuente TypeScript
│   ├── carbonbox/                          # Contextos de dominio principales
│   │   ├── activity-data-collection/       # Sistema de recopilación de datos
│   │   ├── carbon-footprint-configurations/ # Configuraciones de huella de carbono
│   │   ├── company-resources/              # Recursos organizacionales
│   │   ├── emission-calculation-formulas/  # Fórmulas y factores de emisión
│   │   ├── emission-calculation-process/   # Procesos de cálculo
│   │   ├── emission-calculation-results/   # Resultados y agregaciones
│   │   ├── purchase-management-system/     # Sistema de gestión de compras
│   │   ├── shared/                         # Componentes compartidos
│   │   └── stakeholders/                   # Gestión de stakeholders
│   └── main/
│       └── index.ts                        # Punto de entrada principal
├── build/                                  # Archivos JavaScript compilados
│   ├── carbonbox/                          # Estructura compilada
│   │   ├── activity-data-collection/
│   │   │   ├── activity-data-submissions/
│   │   │   ├── collection-fields/
│   │   │   ├── conditional-logic/
│   │   │   ├── contextual-labels/
│   │   │   ├── dynamic-forms/
│   │   │   └── stakeholder-adaptations/
│   │   ├── calculation-engine/
│   │   │   ├── GreenhouseGasEnum.js
│   │   │   ├── IPCCMethodologyEnum.js
│   │   │   ├── IPCCTierEnum.js
│   │   │   ├── VariableTypeEnum.js
│   │   │   ├── calculation-method/
│   │   │   ├── emission-factor/
│   │   │   ├── equation/
│   │   │   ├── equation-variable/
│   │   │   └── shared/
│   │   ├── carbon-footprint/
│   │   │   └── corporate/
│   │   ├── carbon-footprint-configurations/
│   │   │   ├── corporate/
│   │   │   ├── corporate-config/
│   │   │   ├── corporate-configuration/
│   │   │   ├── corporate-configurations/
│   │   │   ├── event/
│   │   │   ├── event-config/
│   │   │   ├── event-configuration/
│   │   │   ├── event-configurations/
│   │   │   ├── product/
│   │   │   ├── product-config/
│   │   │   ├── product-configuration/
│   │   │   ├── product-configurations/
│   │   │   └── shared/
│   │   ├── company-resources/
│   │   │   ├── event/
│   │   │   ├── events/
│   │   │   ├── facilities/
│   │   │   ├── facility/
│   │   │   ├── product/
│   │   │   └── products/
│   │   ├── data-collection/
│   │   │   ├── domain/
│   │   │   ├── emission-calculation/
│   │   │   ├── input-field-template/
│   │   │   └── shared/
│   │   ├── emission-calculation-engine/
│   │   │   └── domain/
│   │   ├── emission-calculation-formulas/
│   │   │   ├── calculation-variables/
│   │   │   ├── domain/
│   │   │   ├── emission-factors/
│   │   │   ├── global-warming-potentials/
│   │   │   └── shared/
│   │   ├── emission-calculation-process/
│   │   │   ├── calculation-jobs/
│   │   │   ├── calculation-processes/
│   │   │   └── calculation-workflows/
│   │   ├── emission-calculation-results/
│   │   │   ├── emission-aggregations/
│   │   │   ├── emission-calculations/
│   │   │   └── ghg-emission-results/
│   │   ├── emission-formula-engine/
│   │   │   ├── domain/
│   │   │   ├── emission-factor/
│   │   │   ├── formula-variable/
│   │   │   ├── global-warming-potential/
│   │   │   └── shared/
│   │   ├── plan/
│   │   │   ├── discount/
│   │   │   └── domain/
│   │   ├── plugins/
│   │   │   ├── IPluginPrimitives.js
│   │   │   ├── Plugin.js
│   │   │   └── users/
│   │   ├── pricing/
│   │   ├── purchase-management-system/
│   │   ├── purchasing/
│   │   ├── services/
│   │   ├── shared/
│   │   ├── stakeholders/
│   │   └── users/
│   ├── main/
│   │   └── index.js
│   └── types/                              # Definiciones de tipos TypeScript
│       ├── carbonbox/
│       └── main/
├── package.json                            # Configuración del paquete
├── tsconfig.json                           # Configuración de TypeScript
├── tsconfig.prod.json                      # Configuración de producción
└── README.md                               # Documentación del proyecto

多米尼奥组织

DDD 语境一致:

  • domain/ - 物品、价值对象、异物和异物
  • entities/ - 《国家经济法》
  • value-objects/ - 勇者斗恶龙
  • shared/ - 构成条件
  • types/ - 环境简介

诺门克拉图拉会议

  • Interfaz群岛: 预选赛 I 页:1. IPurchaseContract.ts(中文(简体) )
  • 值对象: Nombre descrifivo del 概念(ej. PurchaseContractCode.ts(中文(简体) )
  • 条目: Nombre del agagado (ej.) (英语). PurchaseContract.ts(中文(简体) )
  • 数字: 苏菲乔 Enum 页:1. GreenhouseGasEnum.ts(中文(简体) )

* 印斯塔拉西翁

npm install @carbonbox/domain

伊尼西奥·拉皮多

import { 
  CorporateCarbonFootprintConfiguration,
  Either,
  DomainError 
} from '@carbonbox/domain';

// Crear una configuración de huella de carbono corporativa
const result: Either<DomainError, CorporateCarbonFootprintConfiguration> = 
  CorporateCarbonFootprintConfiguration.create({
    configurationCode: 'CORP-001',
    configurationName: 'Evaluación Corporativa Anual 2024',
    carbonFootprintObjective: 'CARBON_NEUTRALITY',
    reportingStandard: 'GHG_PROTOCOL',
    collectionPeriod: 'ANNUAL',
    // ... otras propiedades requeridas
  });

// Manejar el resultado funcionalmente
result.fold(
  (error) => console.error('Error al crear configuración:', error.message),
  (config) => console.log('Configuración creada:', config.toPrimitives())
);

埃斯图克图拉·德塔拉达·德多米尼奥

1. 活动数据收集

普罗波西托语Name: Sistema completo de recopilación dinámica de datos con comficulations. 中国植物物种信息数据库.

// Crear un formulario dinámico con lógica condicional
const form = DynamicForm.create({
  formCode: 'SCOPE1_EMISSIONS',
  fields: [
    CollectionField.create({
      fieldType: 'NUMERIC_INPUT',
      isRequired: true,
      validationRules: ['POSITIVE_NUMBER']
    })
  ],
  conditionalRules: [
    ConditionalFieldRule.create({
      triggerField: 'emissionSource',
      action: 'SHOW_FIELD',
      targetField: 'fuelType'
    })
  ]
});

2. 碳足迹配置

普罗波西托语Name: 碳水化合物主要用途:.

企业

const corporateConfig = CorporateCarbonFootprintConfiguration.create({
  configurationCode: 'CORP-2024',
  reportingStandard: 'ISO_14064_1',
  corporateSegmentConfigurations: [
    CorporateSegmentConfiguration.create({
      segment: CorporateSegment.create({
        segmentCode: 'SCOPE_1',
        segmentName: 'Emisiones Directas'
      })
    })
  ]
});

3. 公司资源

普罗波西托语Name页:1.

// Gestión de instalaciones con alcance operacional
const facility = Facility.create({
  facilityCode: 'FAC-001',
  commercialBranchName: 'Oficina Principal',
  operationalScope: 'OPERATIONAL_CONTROL',
  address: Address.create({
    street: 'Carrera 7 #100-50',
    city: 'Bogotá',
    countryCode: 'CO'
  })
});

4. 排放计算公式

普罗波西托语Name: 机车变数和因数.

const formula = EmissionCalculationFormula.create({
  formulaCode: 'COMBUSTION_CO2',
  expression: 'activityData * emissionFactor * oxidationFactor',
  applicableGreenhouseGases: ['CO2'],
  variables: [
    CalculationVariable.create({
      variableName: 'activityData',
      unit: 'LITERS',
      dataType: 'NUMERIC'
    })
  ],
  emissionFactor: EmissionFactor.create({
    value: 2.31,
    unit: 'KG_CO2_PER_LITER'
  })
});

5. 排放量计算程序

普罗波西托语Name(原始内容存档于2013-10-12). Orquestación de flujos de trabajo y gestión de trabajos de cálculo.

const workflow = CalculationWorkflow.create({
  workflowCode: 'ANNUAL_CALCULATION',
  trigger: 'SCHEDULED',
  status: 'ACTIVE',
  processes: [
    CalculationProcess.create({
      processCode: 'SCOPE1_CALC',
      priority: 'HIGH',
      jobs: [
        CalculationJob.create({
          jobType: 'EMISSION_CALCULATION',
          status: 'PENDING'
        })
      ]
    })
  ]
});

6. 排放量计算结果

普罗波西托语Name: 阿尔马塞纳米恩托和卡尔库罗斯成果区.

const result = EmissionCalculation.create({
  calculationId: 'CALC-001',
  emissionValue: 1500.25,
  unit: 'KG_CO2_EQ',
  uncertaintyRange: UncertaintyRange.create({
    lowerBound: 1425.24,
    upperBound: 1575.26
  }),
  ghgBreakdown: GHGBreakdown.create({
    co2: 1450.0,
    ch4: 50.25,
    n2o: 0.0
  })
});

7. 利害关系方

普罗波西托语Name: 作用方面的利益攸关方综合系统.

// Jerarquía: Host → Manager → Coordinator → Client
const client = CarbonClient.create({
  stakeholderCode: 'CLI-001',
  businessName: 'Empresa Sostenible S.A.S.',
  taxIdentification: ColombiaNIT.create('900123456-7'),
  businessScale: 'LARGE_ENTERPRISE',
  supervisionHierarchy: {
    coordinator: 'COORD-001',
    manager: 'MGR-001'
  }
});

8. 共享域

普罗波西托语Name: 跨部门和基金.

// Manejo funcional de errores con Either
const operation = Either.fromTryCatch(
  () => processEmissionData(data),
  (error) => new InvalidDataError(error.message)
);

operation
  .map(result => result.toPrimitives())
  .fold(
    error => handleError(error),
    success => processSuccess(success)
  );

多米尼奥·德·德·内克奥

国际通商协会

  • 《议定书》 - 阿尔坎斯第1、第2和第3中学
  • ISO 14064 - 标准 1个 - 碳问题国际研讨会
  • 7 Efeto Invernadero气体 - CO2、CH4、N2O、HFCs、PFCs、SF6、NF3
  • 报告希布里多斯 - 国家妇女委员会

哥伦比亚共和国

  • 国家信息技术研究所 - 特许经营公司
  • 格式化三角洲 - 科隆比亚克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特克特
  • 埃斯卡拉斯·德尼加西奥 - Clasificación según 规范的哥伦比亚

多租户

  • 杰拉基亚作用组织 - 东道 经理 协调员 客户
  • Permisos控制中心 - Sistema 颗粒体分泌物
  • 监督 - 《报告和监督法》
  • 达多斯分会 - Aislamiento por客户端碳

迪纳米卡省

  • 公式配置 - 公式化问题
  • Lógica 专注 - Campos que aparecen según 协商会议
  • 适应利益攸关方 - " 个人 " 方案
  • 塞吉米恩多·德·内蒂多姆布雷 - 达多斯卡利达和内地达多斯运动

* 发展

优先请求

  • 节点.js 18.x o 20.x
  • 类型脚本 5.x
  • 无

国家概况

# Clonar el repositorio
git clone https://github.com/CarbonBoxTech/carbonbox-domain.git
cd carbonbox-domain

# Instalar dependencias
npm ci

# Construir el proyecto
npm run build

# Ejecutar linting
npm run lint

# Corregir problemas de linting automáticamente
npm run lint:fix

# Modo desarrollo con observación
npm run tsc

脚本

脚本德克赖普西翁
npm run buildCompilar 类型脚本 a JavaScript
npm run tsc模多观测观测台的Iniciar 编译器类型Script
npm run lintEjecutar ESLint en articivos fuente 互联网档案馆的存檔,存档日期2013-12-02
npm run lint:fix自动操作问题

测试

《宪法》第5条:

  • 欢乐 - 测试框架
  • 齐压 - 普鲁埃巴斯端到端(配置
  • 普鲁埃巴斯大学 - 执行事务主任
# Estructura preparada para testing
__test__/           # Pruebas unitarias
cypress/           # Pruebas E2E
jest.config.ts     # Configuración Jest
cypress.config.ts  # Configuración Cypress

埃斯坦达雷斯·德科迪戈

配置 ESLint

  • 空心机类型脚本 - 限制居住权
  • 进口组织 - 进口自动化组织
  • 无未使用的变量 - 限制变量政策
  • 统一格式 - 统一格式

配置类型脚本

{
  "target": "ES2021",
  "module": "commonjs",
  "strict": true,
  "experimentalDecorators": true,
  "emitDecoratorMetadata": true,
  "declaration": true,
  "declarationMap": true,
  "outDir": "./build"
}

CI/CD 和 自动

特拉巴霍汽车公司

孔蒂努瓦综合管道

# .github/workflows/ci.yml
- ESLint validation
- TypeScript compilation  
- Build verification
- Matrix testing (Node.js 18.x, 20.x)

自动释放管道

# .github/workflows/release.yml  
- Full CI pipeline execution
- GitHub release creation
- NPM package publication

释放方案

# 1. Actualizar versión
npm version patch|minor|major

# 2. Push cambios y tags
git push origin main --tags

# 3. GitHub Actions se encarga del resto automáticamente
# - Ejecuta CI completo
# - Crea release en GitHub  
# - Publica a NPM

- 康特里布尔

弗卢霍·德特拉巴霍

  1. 叉头 del repositorio 存档副本
  2. 颜色 拉玛·德·卡克西斯蒂克: git checkout -b feature/nueva-caracteristica
  3. 赛吉尔 圣克萨斯州
  4. 提交 数据: git commit -m 'Agregar nueva característica'
  5. 推开 拉玛: git push origin feature/nueva-caracteristica
  6. 阿布里尔 拉请求

瓜斯-德德萨罗洛

DDD 首席秘书

  • 用户 工厂方法 学校教育
  • 曼特纳 值对象 不可变
  • 执行器 总和根 正确补偿
  • 赛吉尔 双胞胎 错误

埃斯坦达雷斯·德科迪戈

// ✅ Correcto - Usar factory methods
const entity = MyEntity.create(props);

// ❌ Incorrecto - Constructor directo
const entity = new MyEntity(props);

// ✅ Correcto - Manejo de errores con Either
const result: Either<DomainError, Success> = operation();

// ❌ Incorrecto - Lanzar excepciones
throw new Error('Something went wrong');

普罗耶克托省

  • {}644 Archivos 类型脚本 - 科贝图拉公司
  • ^ 8 多米尼奥背景 - 责任分离
  • ======================================================================================================== - 卡帕德多米尼奥·普拉
  • QQ 类型脚本限制 - 马克西马·塞古里德·德·皮托斯
  • 帕特龙 DDD - 执行域域设计包

· 诉讼

Este proyecto está licenciado bajo la Licencia ISC - ver el archivo (英语) 自由主义 (原始内容存档于2019-09-29). para detalles.

自动

* 带子


希克多(Hecho con ❤️ para la gestión sostenible de huella de carlo 🌱) 活塞活塞(活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活塞活活塞活塞活塞活塞活塞活塞活塞活塞活塞活活塞活塞活塞活活活活活

版本与发布记录

@carbonbox/domain 共发布 313 个版本,首次发布于 2025/04/01;过去 12 个月发布了 177 个版本。

版本发布日期距今
0.56.1latest2026/11/054 天前
0.56.02026/11/054 天前
0.55.02026/11/036 天前
0.54.02026/10/2911 天前
0.53.02026/10/2812 天前
0.52.02026/10/2613 天前

关于 @carbonbox/domain 的常见问题

@carbonbox/domain 是什么?

CarbonBox 项目域包

如何安装 @carbonbox/domain?

在项目目录运行 npm install @carbonbox/domain,或使用 pnpm add / yarn add / bun add。

@carbonbox/domain 支持 TypeScript 吗?

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

@carbonbox/domain 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@carbonbox/domain 可以商用吗?

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

@carbonbox/domain 的下载量有多少?

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

@carbonbox/domain 还在维护吗?

最新版本 0.56.1 发布于 2026/11/05(4 天前);至今共发布 313 个版本,其中过去 12 个月发布了 177 个;首次发布于 2025/04/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。