@ibgib/core-gib 0.1.49 → 0.1.51

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.
@@ -8,4 +8,9 @@ export declare const DEFAULT_COMMENT_TEXT_IB_SUBSTRING_LENGTH = 20;
8
8
  * @example "comment thisisacomm here_is_addl_metadata"
9
9
  */
10
10
  export declare const DEFAULT_COMMENT_METADATA_IB_SUBSTRING_LENGTH = 128;
11
+ /**
12
+ * if whitespace-only comment ibgib is enabled, the ib will contain this in
13
+ * place of the whitespace text.
14
+ */
15
+ export declare const COMMENT_IB_WHITESPACE_ONLY_TEXT = "___whitespace___";
11
16
  //# sourceMappingURL=comment-constants.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"comment-constants.d.mts","sourceRoot":"","sources":["../../../src/common/comment/comment-constants.mts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,wCAAwC,KAAK,CAAC;AAC3D;;;;GAIG;AACH,eAAO,MAAM,4CAA4C,MAAM,CAAC"}
1
+ {"version":3,"file":"comment-constants.d.mts","sourceRoot":"","sources":["../../../src/common/comment/comment-constants.mts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,wCAAwC,KAAK,CAAC;AAC3D;;;;GAIG;AACH,eAAO,MAAM,4CAA4C,MAAM,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,+BAA+B,qBAAqB,CAAC"}
@@ -8,4 +8,9 @@ export const DEFAULT_COMMENT_TEXT_IB_SUBSTRING_LENGTH = 20;
8
8
  * @example "comment thisisacomm here_is_addl_metadata"
9
9
  */
10
10
  export const DEFAULT_COMMENT_METADATA_IB_SUBSTRING_LENGTH = 128;
11
+ /**
12
+ * if whitespace-only comment ibgib is enabled, the ib will contain this in
13
+ * place of the whitespace text.
14
+ */
15
+ export const COMMENT_IB_WHITESPACE_ONLY_TEXT = '___whitespace___';
11
16
  //# sourceMappingURL=comment-constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"comment-constants.mjs","sourceRoot":"","sources":["../../../src/common/comment/comment-constants.mts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,EAAE,CAAC;AAC3D;;;;GAIG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"comment-constants.mjs","sourceRoot":"","sources":["../../../src/common/comment/comment-constants.mts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,EAAE,CAAC;AAC3D;;;;GAIG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAG,GAAG,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,kBAAkB,CAAC"}
@@ -31,7 +31,7 @@ export declare function parseCommentIb({ ib, }: {
31
31
  * creates a comment ibgib, returning the transform result,
32
32
  * optionally saving it in a given {@link space}.
33
33
  */
34
- export declare function createCommentIbGib({ text, addlMetadataText, saveInSpace, space, }: {
34
+ export declare function createCommentIbGib({ text, addlMetadataText, saveInSpace, space, dontTrimText, }: {
35
35
  /**
36
36
  * comment text
37
37
  */
@@ -52,6 +52,14 @@ export declare function createCommentIbGib({ text, addlMetadataText, saveInSpace
52
52
  * this space.
53
53
  */
54
54
  space?: IbGibSpaceAny;
55
+ /**
56
+ * If true, stores `text` verbatim without trimming leading/trailing
57
+ * whitespace. Required for lossless chunking where rawTexts must tile the
58
+ * parent source exactly.
59
+ *
60
+ * Default: false (existing behaviour — trims whitespace).
61
+ */
62
+ dontTrimText?: boolean;
55
63
  }): Promise<TransformResult<CommentIbGib_V1>>;
56
64
  export declare function isComment({ ibGib, }: {
57
65
  ibGib: IbGib_V1;
@@ -1 +1 @@
1
- {"version":3,"file":"comment-helper.d.mts","sourceRoot":"","sources":["../../../src/common/comment/comment-helper.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAyB,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAGlF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAkB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtE;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAC3B,WAAW,EACX,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,MAAM,CA6BT;AAED,wBAAgB,cAAc,CAAC,EAC7B,EAAE,GACH,EAAE;IACD,EAAE,EAAE,EAAE,CAAC;CACR,GAAG;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,CAmBA;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,gBAAgB,EAChB,WAAW,EACX,KAAK,GACN,EAAE;IACD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,GAAG,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAuC5C;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,GACN,EAAE;IACD,KAAK,EAAE,QAAQ,CAAC;CACjB,GAAG,OAAO,CAwCV"}
1
+ {"version":3,"file":"comment-helper.d.mts","sourceRoot":"","sources":["../../../src/common/comment/comment-helper.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAyB,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAGlF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAkB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtE;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAC3B,WAAW,EACX,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,MAAM,CA6BT;AAED,wBAAgB,cAAc,CAAC,EAC7B,EAAE,GACH,EAAE;IACD,EAAE,EAAE,EAAE,CAAC;CACR,GAAG;IACF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,CAmBA;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,gBAAgB,EAChB,WAAW,EACX,KAAK,EACL,YAAY,GACb,EAAE;IACD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAuC5C;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,GACN,EAAE;IACD,KAAK,EAAE,QAAQ,CAAC;CACjB,GAAG,OAAO,CAwCV"}
@@ -2,7 +2,7 @@ import { getSaferSubstring, getTimestamp, pretty } from '@ibgib/helper-gib/dist/
2
2
  import { Factory_V1 as factory } from '@ibgib/ts-gib/dist/V1/index.mjs';
3
3
  import { GLOBAL_LOG_A_LOT } from '../../core-constants.mjs';
4
4
  import { persistTransformResult } from '../../witness/space/space-helper.mjs';
5
- import { DEFAULT_COMMENT_METADATA_IB_SUBSTRING_LENGTH, DEFAULT_COMMENT_TEXT_IB_SUBSTRING_LENGTH } from './comment-constants.mjs';
5
+ import { COMMENT_IB_WHITESPACE_ONLY_TEXT, DEFAULT_COMMENT_METADATA_IB_SUBSTRING_LENGTH, DEFAULT_COMMENT_TEXT_IB_SUBSTRING_LENGTH } from './comment-constants.mjs';
6
6
  const logalot = GLOBAL_LOG_A_LOT || false;
7
7
  /**
8
8
  * generates an ib based on the comment text.
@@ -74,7 +74,7 @@ export function parseCommentIb({ ib, }) {
74
74
  * creates a comment ibgib, returning the transform result,
75
75
  * optionally saving it in a given {@link space}.
76
76
  */
77
- export async function createCommentIbGib({ text, addlMetadataText, saveInSpace, space, }) {
77
+ export async function createCommentIbGib({ text, addlMetadataText, saveInSpace, space, dontTrimText, }) {
78
78
  const lc = `[${createCommentIbGib.name}]`;
79
79
  if (logalot) {
80
80
  console.log(`${lc} starting...`);
@@ -83,15 +83,17 @@ export async function createCommentIbGib({ text, addlMetadataText, saveInSpace,
83
83
  if (!text) {
84
84
  throw new Error(`text required (E: 3e3d0f555e1a83771a6548eb10943522)`);
85
85
  }
86
- text = text.trim();
86
+ if (!dontTrimText) {
87
+ text = text.trim();
88
+ }
87
89
  if (!text) {
88
- throw new Error(`text cannot be only whitespace (E: d6db3537b9834294836aeb70987c908e)`);
90
+ throw new Error(`text cannot be only whitespace when dontTrimText is falsy. (E: d6db3537b9834294836aeb70987c908e)`);
89
91
  }
90
92
  const data = { text, textTimestamp: getTimestamp() };
91
93
  // create an ibgib with the filename and ext
92
94
  const opts = {
93
95
  parentIbGib: factory.primitive({ ib: 'comment' }),
94
- ib: getCommentIb({ commentText: text, addlMetadataText }),
96
+ ib: getCommentIb({ commentText: text.trim() || COMMENT_IB_WHITESPACE_ONLY_TEXT, addlMetadataText }),
95
97
  data,
96
98
  dna: true,
97
99
  tjp: { uuid: true, timestamp: true },
@@ -1 +1 @@
1
- {"version":3,"file":"comment-helper.mjs","sourceRoot":"","sources":["../../../src/common/comment/comment-helper.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comment-helper.mjs","sourceRoot":"","sources":["../../../src/common/comment/comment-helper.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AAE1G,OAAO,EAAE,UAAU,IAAI,OAAO,EAAY,MAAM,iCAAiC,CAAC;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,+BAA+B,EAAE,4CAA4C,EAAE,wCAAwC,EAAE,MAAM,yBAAyB,CAAC;AAElK,MAAM,OAAO,GAAG,gBAAgB,IAAI,KAAK,CAAC;AAG1C;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,WAAW,EACX,gBAAgB,GAUjB;IACC,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC;IACpC,IAAI,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAAC,CAAC;QAErG,wDAAwD;QACxD,MAAM,aAAa,GACjB,iBAAiB,CAAC;YAChB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,wCAAwC;YAChD,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,8DAA8D;SAChG,CAAC,CAAC;QAEL,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,gBAAgB,CAAC,MAAM,GAAG,4CAA4C,EAAE,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,gBAAgB,CAAC,MAAM,8BAA8B,4CAA4C,EAAE,CAAC,CAAC;YAC/I,CAAC;YACD,MAAM,iBAAiB,GACrB,iBAAiB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,4CAA4C,EAAE,CAAC,CAAC;YACtG,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAC;YAAC,CAAC;YAChJ,OAAO,WAAW,aAAa,IAAI,iBAAiB,EAAE,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,aAAa,EAAE,CAAC;QACpC,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,EAAE,GAGH;IAIC,MAAM,EAAE,GAAG,GAAG,cAAc,CAAC,IAAI,GAAG,CAAC;IACrC,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;QAAC,CAAC;QAExF,IAAI,CAAC,EAAE,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAAC,CAAC;QAElF,IAAI,CAAC,CAAC,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtE,kGAAkG;QAClG,OAAO,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,IAAI,EACJ,gBAAgB,EAChB,WAAW,EACX,KAAK,EACL,YAAY,GA8Bb;IACC,MAAM,EAAE,GAAG,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC;IAE1C,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAAC,CAAC;IAClD,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAAC,CAAC;QAEtF,IAAI,CAAC,YAAY,EAAE,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QAE1C,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAC;QAAC,CAAC;QAEnI,MAAM,IAAI,GAAmB,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,CAAC;QAErE,4CAA4C;QAC5C,MAAM,IAAI,GAAQ;YAChB,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;YACjD,EAAE,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,+BAA+B,EAAE,gBAAgB,EAAE,CAAC;YACnG,IAAI;YACJ,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;YACpC,QAAQ,EAAE,IAAI;SACf,CAAC;QAEF,uDAAuD;QACvD,kEAAkE;QAElE,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqC,CAAC;QAEzF,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;YAAC,CAAC;YACjH,MAAM,sBAAsB,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,GAGN;IACC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC;IACjC,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAAC,CAAC;QAElD,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAAC,CAAC;QAExF,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAEnC,mBAAmB;QACnB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oEAAoE,CAAC,CAAC;YAAC,CAAC;YACxG,OAAO,KAAK,CAAC;QACf,CAAC;QAED,4BAA4B;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACxC,IAAI,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oFAAoF,CAAC,CAAC;YAAC,CAAC;YACxH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,kEAAkE,CAAC,CAAC;YAAC,CAAC;YACtG,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,yFAAyF,CAAC,CAAC;YAAC,CAAC;YAC7H,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oGAAoG,CAAC,CAAC;QAAC,CAAC;QACxI,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibgib/core-gib",
3
- "version": "0.1.49",
3
+ "version": "0.1.51",
4
4
  "description": "ibgib core functionality, including base architecture for witnesses, spaces, apps, robbots, etc., as well as shared utility functions. Node v19+ needed for heavily-used isomorphic webcrypto hashing consumed in both node and browsers.",
5
5
  "funding": {
6
6
  "type": "individual",
@@ -8,3 +8,9 @@ export const DEFAULT_COMMENT_TEXT_IB_SUBSTRING_LENGTH = 20;
8
8
  * @example "comment thisisacomm here_is_addl_metadata"
9
9
  */
10
10
  export const DEFAULT_COMMENT_METADATA_IB_SUBSTRING_LENGTH = 128;
11
+
12
+ /**
13
+ * if whitespace-only comment ibgib is enabled, the ib will contain this in
14
+ * place of the whitespace text.
15
+ */
16
+ export const COMMENT_IB_WHITESPACE_ONLY_TEXT = '___whitespace___';
@@ -6,7 +6,7 @@ import { GLOBAL_LOG_A_LOT } from '../../core-constants.mjs';
6
6
  import { IbGibSpaceAny } from '../../witness/space/space-base-v1.mjs';
7
7
  import { persistTransformResult } from '../../witness/space/space-helper.mjs';
8
8
  import { CommentData_V1, CommentIbGib_V1 } from './comment-types.mjs';
9
- import { DEFAULT_COMMENT_METADATA_IB_SUBSTRING_LENGTH, DEFAULT_COMMENT_TEXT_IB_SUBSTRING_LENGTH } from './comment-constants.mjs';
9
+ import { COMMENT_IB_WHITESPACE_ONLY_TEXT, DEFAULT_COMMENT_METADATA_IB_SUBSTRING_LENGTH, DEFAULT_COMMENT_TEXT_IB_SUBSTRING_LENGTH } from './comment-constants.mjs';
10
10
 
11
11
  const logalot = GLOBAL_LOG_A_LOT || false;
12
12
 
@@ -100,6 +100,7 @@ export async function createCommentIbGib({
100
100
  addlMetadataText,
101
101
  saveInSpace,
102
102
  space,
103
+ dontTrimText,
103
104
  }: {
104
105
  /**
105
106
  * comment text
@@ -121,6 +122,14 @@ export async function createCommentIbGib({
121
122
  * this space.
122
123
  */
123
124
  space?: IbGibSpaceAny,
125
+ /**
126
+ * If true, stores `text` verbatim without trimming leading/trailing
127
+ * whitespace. Required for lossless chunking where rawTexts must tile the
128
+ * parent source exactly.
129
+ *
130
+ * Default: false (existing behaviour — trims whitespace).
131
+ */
132
+ dontTrimText?: boolean,
124
133
  }): Promise<TransformResult<CommentIbGib_V1>> {
125
134
  const lc = `[${createCommentIbGib.name}]`;
126
135
 
@@ -128,16 +137,16 @@ export async function createCommentIbGib({
128
137
  try {
129
138
  if (!text) { throw new Error(`text required (E: 3e3d0f555e1a83771a6548eb10943522)`); }
130
139
 
131
- text = text.trim();
140
+ if (!dontTrimText) { text = text.trim(); }
132
141
 
133
- if (!text) { throw new Error(`text cannot be only whitespace (E: d6db3537b9834294836aeb70987c908e)`); }
142
+ if (!text) { throw new Error(`text cannot be only whitespace when dontTrimText is falsy. (E: d6db3537b9834294836aeb70987c908e)`); }
134
143
 
135
144
  const data: CommentData_V1 = { text, textTimestamp: getTimestamp() };
136
145
 
137
146
  // create an ibgib with the filename and ext
138
147
  const opts: any = {
139
148
  parentIbGib: factory.primitive({ ib: 'comment' }),
140
- ib: getCommentIb({ commentText: text, addlMetadataText }),
149
+ ib: getCommentIb({ commentText: text.trim() || COMMENT_IB_WHITESPACE_ONLY_TEXT, addlMetadataText }),
141
150
  data,
142
151
  dna: true,
143
152
  tjp: { uuid: true, timestamp: true },