@carbonbox/domain 0.44.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -119,6 +119,13 @@ class GHGEmissionResult extends AggregateRoot_1.AggregateRoot {
119
119
  get unit() {
120
120
  return __classPrivateFieldGet(this, _GHGEmissionResult_unit, "f");
121
121
  }
122
+ /**
123
+ * Si este resultado se suma al total del inventario. Falso solo para el CO₂ biogénico
124
+ * (`CO2-BIOGENIC`), que se reporta como partida informativa fuera de los alcances.
125
+ */
126
+ countsTowardsInventoryTotal() {
127
+ return __classPrivateFieldGet(this, _GHGEmissionResult_greenhouseGas, "f").countsTowardsInventoryTotal();
128
+ }
122
129
  }
123
130
  exports.GHGEmissionResult = GHGEmissionResult;
124
131
  _GHGEmissionResult_emissionCalculation = new WeakMap(), _GHGEmissionResult_greenhouseGas = new WeakMap(), _GHGEmissionResult_activityValue = new WeakMap(), _GHGEmissionResult_emissionFactor = new WeakMap(), _GHGEmissionResult_globalWarmingPotential = new WeakMap(), _GHGEmissionResult_rawEmission = new WeakMap(), _GHGEmissionResult_co2Equivalent = new WeakMap(), _GHGEmissionResult_unit = new WeakMap();
@@ -45,6 +45,18 @@ class GHGEmissionResultGreenhouseGas extends ValueObject_1.ValueObject {
45
45
  isFluorinatedGas() {
46
46
  return GHGEmissionResultGreenhouseGas.FLUORINATED_CATEGORIES.includes(this.category);
47
47
  }
48
+ /** CO₂ de biomasa / biocombustibles (`CO2-BIOGENIC`): partida informativa fuera del total. */
49
+ isBiogenicCarbonDioxide() {
50
+ return GreenhouseGasSpecies_1.GreenhouseGasSpecies.isBiogenicCarbonDioxide(this.species);
51
+ }
52
+ /**
53
+ * Si el resultado de este gas se suma al total del inventario y a sus alcances. Solo el CO₂
54
+ * biogénico queda fuera (GHG Protocol cap. 9 / ISO 14064-1 §9.3.1); el CH₄ y el N₂O de la
55
+ * misma combustión cuentan con su PCG.
56
+ */
57
+ countsTowardsInventoryTotal() {
58
+ return !this.isBiogenicCarbonDioxide();
59
+ }
48
60
  toPrimitives() {
49
61
  return {
50
62
  greenhouseGasCategory: this.value.greenhouseGasCategory,
@@ -43,9 +43,10 @@ var DataBindingSource;
43
43
  DataBindingSource["AGGREGATION_GAS_N2O"] = "aggregation.gas.n2o";
44
44
  // Aggregations - By Segment
45
45
  DataBindingSource["AGGREGATION_BY_SEGMENT"] = "aggregation.bySegment";
46
- // Aggregations - Biogenic
47
- DataBindingSource["AGGREGATION_BIOGENIC"] = "aggregation.biogenic";
46
+ // Aggregations - Biogenic CO₂ (informational item OUTSIDE the inventory total and the scopes,
47
+ // GHG Protocol cap. 9 / ISO 14064-1 §9.3.1): the `CO2-BIOGENIC` species, total and per source.
48
48
  DataBindingSource["AGGREGATION_BIOGENIC_CO2"] = "aggregation.biogenicCO2";
49
+ DataBindingSource["AGGREGATION_BIOGENIC_CO2_BY_SOURCE"] = "aggregation.biogenicCO2.bySource";
49
50
  // Aggregations - Uncertainty (GAP 4): inventory-level propagated uncertainty
50
51
  DataBindingSource["AGGREGATION_UNCERTAINTY_PERCENTAGE"] = "aggregation.uncertainty.percentage";
51
52
  DataBindingSource["AGGREGATION_UNCERTAINTY_LEVEL"] = "aggregation.uncertainty.level";
@@ -10,6 +10,12 @@ const InvalidPropertyValueError_1 = require("../exceptions/InvalidPropertyValueE
10
10
  * para que un mismo refrigerante escrito con espacios/casing distintos matchee siempre igual.
11
11
  * La categoría (GreenhouseGasCategory) viaja al lado; aquí no se valida coherencia química
12
12
  * especie↔categoría (decisión de diseño: validación permisiva, match por especie).
13
+ *
14
+ * CO₂ biogénico: el CO₂ liberado al quemar biomasa o biocombustibles se reporta por separado,
15
+ * fuera de los alcances y del total del inventario (GHG Protocol Corporate Standard cap. 9;
16
+ * ISO 14064-1:2018 §9.3.1). Se modela como la especie `CO2-BIOGENIC` de la categoría CO2
17
+ * (paralela a `CH4-BIOGENIC`, que SÍ cuenta en el total con su PCG). Este VO es el único lugar
18
+ * que conoce esa convención: toda suma de inventario pregunta `isBiogenicCarbonDioxide`.
13
19
  */
14
20
  class GreenhouseGasSpecies extends String_1.String {
15
21
  constructor(value, skipDomainValidation) {
@@ -33,6 +39,16 @@ class GreenhouseGasSpecies extends String_1.String {
33
39
  String_1.String.guardAgainstInvalidType(value, GreenhouseGasSpecies.PROPERTY_NAME);
34
40
  return value.trim().replace(/\s+/g, ' ').toUpperCase();
35
41
  }
42
+ /**
43
+ * True para la especie `CO2-BIOGENIC` (en cualquier casing/espaciado): CO₂ que NO cuenta en
44
+ * el total del inventario y se reporta como partida informativa.
45
+ */
46
+ static isBiogenicCarbonDioxide(value) {
47
+ return GreenhouseGasSpecies.normalize(value) === GreenhouseGasSpecies.BIOGENIC_CARBON_DIOXIDE;
48
+ }
49
+ isBiogenicCarbonDioxide() {
50
+ return GreenhouseGasSpecies.isBiogenicCarbonDioxide(this.value);
51
+ }
36
52
  static guardAgainstInvalidSpecies(value) {
37
53
  String_1.String.guardAgainstEmptyValue(value, GreenhouseGasSpecies.PROPERTY_NAME);
38
54
  if (!GreenhouseGasSpecies.SPECIES_REGEX.test(value)) {
@@ -45,6 +61,7 @@ class GreenhouseGasSpecies extends String_1.String {
45
61
  }
46
62
  exports.GreenhouseGasSpecies = GreenhouseGasSpecies;
47
63
  GreenhouseGasSpecies.PROPERTY_NAME = 'greenhouseGasSpecies';
64
+ GreenhouseGasSpecies.BIOGENIC_CARBON_DIOXIDE = 'CO2-BIOGENIC';
48
65
  // Letras, dígitos, espacio, guion y barra: cubre ASHRAE (R-410A) y químicos/mezclas
49
66
  // (HFC-134A, MEZCLA HFC 365MFC/HFC 227EA, POLYCOLD 1102HC).
50
67
  GreenhouseGasSpecies.SPECIES_REGEX = /^[A-Z0-9][A-Z0-9 /-]*$/;
@@ -24,5 +24,10 @@ export declare class GHGEmissionResult extends AggregateRoot<GHGEmissionResultPr
24
24
  get rawEmission(): GHGEmissionResultRawEmission;
25
25
  get co2Equivalent(): GHGEmissionResultCo2Equivalent;
26
26
  get unit(): GHGEmissionResultUnit;
27
+ /**
28
+ * Si este resultado se suma al total del inventario. Falso solo para el CO₂ biogénico
29
+ * (`CO2-BIOGENIC`), que se reporta como partida informativa fuera de los alcances.
30
+ */
31
+ countsTowardsInventoryTotal(): boolean;
27
32
  }
28
33
  //# sourceMappingURL=GHGEmissionResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GHGEmissionResult.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/emission-calculation-results/ghg-emission-results/domain/entity/GHGEmissionResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAAE,oCAAoC,EAAE,MAAM,uDAAuD,CAAC;AAC7G,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,uCAAuC,EAAE,MAAM,0DAA0D,CAAC;AACnH,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AAEjG,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,iBACX,SAAQ,aAAa,CAAC,2BAA2B,CACjD,YAAW,kBAAkB;;IAiB7B,OAAO;WAoCgB,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,iBAAiB;WAIxD,cAAc,CAAC,UAAU,EAAE,2BAA2B,GAAG,iBAAiB;IAiBjG,IAAoB,YAAY,IAAI,2BAA2B,CAa9D;IAED,IAAW,mBAAmB,IAAI,oCAAoC,CAErE;IAED,IAAW,aAAa,IAAI,8BAA8B,CAEzD;IAED,IAAW,aAAa,IAAI,8BAA8B,CAEzD;IAED,IAAW,cAAc,IAAI,+BAA+B,CAE3D;IAED,IAAW,sBAAsB,IAAI,uCAAuC,CAE3E;IAED,IAAW,WAAW,IAAI,4BAA4B,CAErD;IAED,IAAW,aAAa,IAAI,8BAA8B,CAEzD;IAED,IAAW,IAAI,IAAI,qBAAqB,CAEvC;CACF"}
1
+ {"version":3,"file":"GHGEmissionResult.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/emission-calculation-results/ghg-emission-results/domain/entity/GHGEmissionResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAAE,oCAAoC,EAAE,MAAM,uDAAuD,CAAC;AAC7G,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,uCAAuC,EAAE,MAAM,0DAA0D,CAAC;AACnH,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AAEjG,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,iBACX,SAAQ,aAAa,CAAC,2BAA2B,CACjD,YAAW,kBAAkB;;IAiB7B,OAAO;WAoCgB,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,iBAAiB;WAIxD,cAAc,CAAC,UAAU,EAAE,2BAA2B,GAAG,iBAAiB;IAiBjG,IAAoB,YAAY,IAAI,2BAA2B,CAa9D;IAED,IAAW,mBAAmB,IAAI,oCAAoC,CAErE;IAED,IAAW,aAAa,IAAI,8BAA8B,CAEzD;IAED,IAAW,aAAa,IAAI,8BAA8B,CAEzD;IAED,IAAW,cAAc,IAAI,+BAA+B,CAE3D;IAED,IAAW,sBAAsB,IAAI,uCAAuC,CAE3E;IAED,IAAW,WAAW,IAAI,4BAA4B,CAErD;IAED,IAAW,aAAa,IAAI,8BAA8B,CAEzD;IAED,IAAW,IAAI,IAAI,qBAAqB,CAEvC;IAED;;;OAGG;IACI,2BAA2B,IAAI,OAAO;CAG9C"}
@@ -22,6 +22,14 @@ export declare class GHGEmissionResultGreenhouseGas extends ValueObject<GHGEmiss
22
22
  isCO2(): boolean;
23
23
  isMainGas(): boolean;
24
24
  isFluorinatedGas(): boolean;
25
+ /** CO₂ de biomasa / biocombustibles (`CO2-BIOGENIC`): partida informativa fuera del total. */
26
+ isBiogenicCarbonDioxide(): boolean;
27
+ /**
28
+ * Si el resultado de este gas se suma al total del inventario y a sus alcances. Solo el CO₂
29
+ * biogénico queda fuera (GHG Protocol cap. 9 / ISO 14064-1 §9.3.1); el CH₄ y el N₂O de la
30
+ * misma combustión cuentan con su PCG.
31
+ */
32
+ countsTowardsInventoryTotal(): boolean;
25
33
  toPrimitives(): GHGEmissionResultGreenhouseGasPrimitives;
26
34
  }
27
35
  //# sourceMappingURL=GHGEmissionResultGreenhouseGas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GHGEmissionResultGreenhouseGas.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/emission-calculation-results/ghg-emission-results/domain/value-objects/GHGEmissionResultGreenhouseGas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAI9F,MAAM,MAAM,wCAAwC,GAAG;IACrD,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;GAIG;AACH,qBAAa,8BACX,SAAQ,WAAW,CAAC,wCAAwC,CAAC;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAmB;IAExD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAIzC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAM5C;IAEF,OAAO;WAcO,MAAM,CAAC,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,8BAA8B;WAU/E,cAAc,CACnC,UAAU,EAAE,wCAAwC,GACnD,8BAA8B;IAIjC,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAU1C,IAAW,QAAQ,IAAI,qBAAqB,CAE3C;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAEM,KAAK,IAAI,OAAO;IAIhB,SAAS,IAAI,OAAO;IAIpB,gBAAgB,IAAI,OAAO;IAIlB,YAAY,IAAI,wCAAwC;CAMzE"}
1
+ {"version":3,"file":"GHGEmissionResultGreenhouseGas.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/emission-calculation-results/ghg-emission-results/domain/value-objects/GHGEmissionResultGreenhouseGas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAI9F,MAAM,MAAM,wCAAwC,GAAG;IACrD,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;GAIG;AACH,qBAAa,8BACX,SAAQ,WAAW,CAAC,wCAAwC,CAAC;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAmB;IAExD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAIzC;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAM5C;IAEF,OAAO;WAcO,MAAM,CAAC,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,8BAA8B;WAU/E,cAAc,CACnC,UAAU,EAAE,wCAAwC,GACnD,8BAA8B;IAIjC,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAU1C,IAAW,QAAQ,IAAI,qBAAqB,CAE3C;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAEM,KAAK,IAAI,OAAO;IAIhB,SAAS,IAAI,OAAO;IAIpB,gBAAgB,IAAI,OAAO;IAIlC,8FAA8F;IACvF,uBAAuB,IAAI,OAAO;IAIzC;;;;OAIG;IACI,2BAA2B,IAAI,OAAO;IAI7B,YAAY,IAAI,wCAAwC;CAMzE"}
@@ -32,8 +32,8 @@ export declare enum DataBindingSource {
32
32
  AGGREGATION_GAS_CH4 = "aggregation.gas.ch4",
33
33
  AGGREGATION_GAS_N2O = "aggregation.gas.n2o",
34
34
  AGGREGATION_BY_SEGMENT = "aggregation.bySegment",
35
- AGGREGATION_BIOGENIC = "aggregation.biogenic",
36
35
  AGGREGATION_BIOGENIC_CO2 = "aggregation.biogenicCO2",
36
+ AGGREGATION_BIOGENIC_CO2_BY_SOURCE = "aggregation.biogenicCO2.bySource",
37
37
  AGGREGATION_UNCERTAINTY_PERCENTAGE = "aggregation.uncertainty.percentage",
38
38
  AGGREGATION_UNCERTAINTY_LEVEL = "aggregation.uncertainty.level",
39
39
  AGGREGATION_UNCERTAINTY_RANGE_MIN_TCO2E = "aggregation.uncertainty.rangeMinTCO2e",
@@ -1 +1 @@
1
- {"version":3,"file":"DataBindingSource.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/shared/domain/enums/DataBindingSource.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,iBAAiB;IAE3B,mBAAmB,wBAAwB;IAC3C,yBAAyB,qCAAqC;IAC9D,qBAAqB,yBAAyB;IAC9C,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;IAC3C,0BAA0B,8BAA8B;IACxD,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IAGnD,iBAAiB,qBAAqB;IACtC,eAAe,mBAAmB;IAClC,sBAAsB,0BAA0B;IAChD,WAAW,gBAAgB;IAG3B,iBAAiB,sBAAsB;IACvC,uBAAuB,2BAA2B;IAGlD,mBAAmB,uBAAuB;IAC1C,mBAAmB,uBAAuB;IAC1C,mBAAmB,uBAAuB;IAC1C,oBAAoB,wBAAwB;IAG5C,uBAAuB,2BAA2B;IAClD,2BAA2B,gCAAgC;IAC3D,8BAA8B,mCAAmC;IACjE,0BAA0B,+BAA+B;IAGzD,kBAAkB,sBAAsB;IACxC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAG3C,sBAAsB,0BAA0B;IAGhD,oBAAoB,yBAAyB;IAC7C,wBAAwB,4BAA4B;IAGpD,kCAAkC,uCAAuC;IACzE,6BAA6B,kCAAkC;IAC/D,uCAAuC,0CAA0C;IACjF,uCAAuC,0CAA0C;IACjF,iCAAiC,qCAAqC;IAItE,gBAAgB,oBAAoB;IACpC,qBAAqB,wBAAwB;IAC7C,8BAA8B,iCAAiC;IAC/D,uBAAuB,2BAA2B;IAClD,8BAA8B,iCAAiC;IAC/D,2CAA2C,6CAA6C;IAIxF,eAAe,oBAAoB;IACnC,2BAA2B,+BAA+B;IAC1D,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAG3C,qBAAqB,yBAAyB;IAC9C,oBAAoB,wBAAwB;IAC5C,kCAAkC,qCAAqC;IACvE,oBAAoB,wBAAwB;IAC5C,oBAAoB,wBAAwB;IAC5C,yBAAyB,4BAA4B;IACrD,gCAAgC,mCAAmC;IACnE,mCAAmC,sCAAsC;IACzE,sCAAsC,yCAAyC;IAG/E,oBAAoB,wBAAwB;IAC5C,aAAa,kBAAkB;IAC/B,sBAAsB,0BAA0B;IAChD,cAAc,kBAAkB;IAGhC,kBAAkB,uBAAuB;IACzC,0BAA0B,8BAA8B;IACxD,2BAA2B,+BAA+B;IAC1D,uBAAuB,2BAA2B;IAClD,wBAAwB,4BAA4B;IAGpD,cAAc,kBAAkB;IAChC,oBAAoB,wBAAwB;IAC5C,gBAAgB,oBAAoB;IACpC,YAAY,gBAAgB;IAC5B,oBAAoB,wBAAwB;IAC5C,2BAA2B,8BAA8B;IACzD,0BAA0B,6BAA6B;IAGvD,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,qBAAqB,yBAAyB;IAG9C,uBAAuB,4BAA4B;IACnD,2BAA2B,+BAA+B;IAC1D,2BAA2B,+BAA+B;IAG1D,kBAAkB,kBAAkB;IACpC,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAG/C,sBAAsB,4BAA4B;IAClD,cAAc,qBAAqB;IACnC,uBAAuB,6BAA6B;CACrD"}
1
+ {"version":3,"file":"DataBindingSource.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/shared/domain/enums/DataBindingSource.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,iBAAiB;IAE3B,mBAAmB,wBAAwB;IAC3C,yBAAyB,qCAAqC;IAC9D,qBAAqB,yBAAyB;IAC9C,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;IAC3C,0BAA0B,8BAA8B;IACxD,sBAAsB,2BAA2B;IACjD,uBAAuB,4BAA4B;IAGnD,iBAAiB,qBAAqB;IACtC,eAAe,mBAAmB;IAClC,sBAAsB,0BAA0B;IAChD,WAAW,gBAAgB;IAG3B,iBAAiB,sBAAsB;IACvC,uBAAuB,2BAA2B;IAGlD,mBAAmB,uBAAuB;IAC1C,mBAAmB,uBAAuB;IAC1C,mBAAmB,uBAAuB;IAC1C,oBAAoB,wBAAwB;IAG5C,uBAAuB,2BAA2B;IAClD,2BAA2B,gCAAgC;IAC3D,8BAA8B,mCAAmC;IACjE,0BAA0B,+BAA+B;IAGzD,kBAAkB,sBAAsB;IACxC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAG3C,sBAAsB,0BAA0B;IAIhD,wBAAwB,4BAA4B;IACpD,kCAAkC,qCAAqC;IAGvE,kCAAkC,uCAAuC;IACzE,6BAA6B,kCAAkC;IAC/D,uCAAuC,0CAA0C;IACjF,uCAAuC,0CAA0C;IACjF,iCAAiC,qCAAqC;IAItE,gBAAgB,oBAAoB;IACpC,qBAAqB,wBAAwB;IAC7C,8BAA8B,iCAAiC;IAC/D,uBAAuB,2BAA2B;IAClD,8BAA8B,iCAAiC;IAC/D,2CAA2C,6CAA6C;IAIxF,eAAe,oBAAoB;IACnC,2BAA2B,+BAA+B;IAC1D,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAG3C,qBAAqB,yBAAyB;IAC9C,oBAAoB,wBAAwB;IAC5C,kCAAkC,qCAAqC;IACvE,oBAAoB,wBAAwB;IAC5C,oBAAoB,wBAAwB;IAC5C,yBAAyB,4BAA4B;IACrD,gCAAgC,mCAAmC;IACnE,mCAAmC,sCAAsC;IACzE,sCAAsC,yCAAyC;IAG/E,oBAAoB,wBAAwB;IAC5C,aAAa,kBAAkB;IAC/B,sBAAsB,0BAA0B;IAChD,cAAc,kBAAkB;IAGhC,kBAAkB,uBAAuB;IACzC,0BAA0B,8BAA8B;IACxD,2BAA2B,+BAA+B;IAC1D,uBAAuB,2BAA2B;IAClD,wBAAwB,4BAA4B;IAGpD,cAAc,kBAAkB;IAChC,oBAAoB,wBAAwB;IAC5C,gBAAgB,oBAAoB;IACpC,YAAY,gBAAgB;IAC5B,oBAAoB,wBAAwB;IAC5C,2BAA2B,8BAA8B;IACzD,0BAA0B,6BAA6B;IAGvD,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,qBAAqB,yBAAyB;IAG9C,uBAAuB,4BAA4B;IACnD,2BAA2B,+BAA+B;IAC1D,2BAA2B,+BAA+B;IAG1D,kBAAkB,kBAAkB;IACpC,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAG/C,sBAAsB,4BAA4B;IAClD,cAAc,qBAAqB;IACnC,uBAAuB,6BAA6B;CACrD"}
@@ -6,9 +6,16 @@ import { String } from './String';
6
6
  * para que un mismo refrigerante escrito con espacios/casing distintos matchee siempre igual.
7
7
  * La categoría (GreenhouseGasCategory) viaja al lado; aquí no se valida coherencia química
8
8
  * especie↔categoría (decisión de diseño: validación permisiva, match por especie).
9
+ *
10
+ * CO₂ biogénico: el CO₂ liberado al quemar biomasa o biocombustibles se reporta por separado,
11
+ * fuera de los alcances y del total del inventario (GHG Protocol Corporate Standard cap. 9;
12
+ * ISO 14064-1:2018 §9.3.1). Se modela como la especie `CO2-BIOGENIC` de la categoría CO2
13
+ * (paralela a `CH4-BIOGENIC`, que SÍ cuenta en el total con su PCG). Este VO es el único lugar
14
+ * que conoce esa convención: toda suma de inventario pregunta `isBiogenicCarbonDioxide`.
9
15
  */
10
16
  export declare class GreenhouseGasSpecies extends String {
11
17
  private static readonly PROPERTY_NAME;
18
+ static readonly BIOGENIC_CARBON_DIOXIDE = "CO2-BIOGENIC";
12
19
  private static readonly SPECIES_REGEX;
13
20
  private constructor();
14
21
  static create(value: string): GreenhouseGasSpecies;
@@ -18,6 +25,12 @@ export declare class GreenhouseGasSpecies extends String {
18
25
  * espacios internos + UPPERCASE. Idempotente.
19
26
  */
20
27
  static normalize(value: string): string;
28
+ /**
29
+ * True para la especie `CO2-BIOGENIC` (en cualquier casing/espaciado): CO₂ que NO cuenta en
30
+ * el total del inventario y se reporta como partida informativa.
31
+ */
32
+ static isBiogenicCarbonDioxide(value: string): boolean;
33
+ isBiogenicCarbonDioxide(): boolean;
21
34
  private static guardAgainstInvalidSpecies;
22
35
  toPrimitives(): string;
23
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GreenhouseGasSpecies.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/value-objects/GreenhouseGasSpecies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;;GAOG;AACH,qBAAa,oBAAqB,SAAQ,MAAM;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAA0B;IAI/D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAEjE,OAAO;WAQgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB;WAM3C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB;IAI9E;;;OAGG;WACW,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAM9C,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAYzB,YAAY,IAAI,MAAM;CAGvC"}
1
+ {"version":3,"file":"GreenhouseGasSpecies.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/value-objects/GreenhouseGasSpecies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAqB,SAAQ,MAAM;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAA0B;IAE/D,gBAAuB,uBAAuB,kBAAkB;IAIhE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAEjE,OAAO;WAQgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB;WAM3C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB;IAI9E;;;OAGG;WACW,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAM9C;;;OAGG;WACW,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAItD,uBAAuB,IAAI,OAAO;IAIzC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAYzB,YAAY,IAAI,MAAM;CAGvC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "browser": false
4
4
  },
5
5
  "name": "@carbonbox/domain",
6
- "version": "0.44.0",
6
+ "version": "0.45.0",
7
7
  "description": "Domain package for CarbonBox Project",
8
8
  "main": "build/main/index.js",
9
9
  "types": "build/types/main/index.d.ts",