@ibgib/ts-gib 0.5.21 → 0.5.23
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.
- package/CHANGELOG.md +11 -0
- package/dist/V1/sha256v1.d.mts.map +1 -1
- package/dist/V1/sha256v1.mjs +57 -26
- package/dist/V1/sha256v1.mjs.map +1 -1
- package/dist/helper.d.mts +17 -6
- package/dist/helper.d.mts.map +1 -1
- package/dist/helper.mjs +34 -25
- package/dist/helper.mjs.map +1 -1
- package/package.json +1 -1
- package/src/V1/sha256v1.mts +63 -25
- package/src/V1/sha256v1.respec.mts +1004 -2
- package/src/helper.mts +36 -24
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
## 0.5.22/23
|
|
2
|
+
* Tweaked `toNormalizedForHashing` to normalize arrays slightly differently.
|
|
3
|
+
* Instead of returning the raw array, the fn now maps each member to its
|
|
4
|
+
normalized version. This way objects _inside_ those arrays are normalized,
|
|
5
|
+
as would be expected, but the actual order of the array itself is preserved.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 0.5.21
|
|
9
|
+
* correcting bare imports in all libs/apps
|
|
10
|
+
* updated helper-gib, ts-gib and encrypt-gib.
|
|
11
|
+
|
|
1
12
|
## 0.5.6
|
|
2
13
|
* impl: added `validateRel8nsIntrinsically` and respecs
|
|
3
14
|
* i decided not to change `validateIbGibIntrinsically` to also call this.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sha256v1.d.mts","sourceRoot":"","sources":["../../src/V1/sha256v1.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAgC,MAAM,aAAa,CAAC;AAMrE;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAyGhF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"sha256v1.d.mts","sourceRoot":"","sources":["../../src/V1/sha256v1.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAgC,MAAM,aAAa,CAAC;AAMrE;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAyGhF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAoL5E;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW7B"}
|
package/dist/V1/sha256v1.mjs
CHANGED
|
@@ -160,38 +160,69 @@ export function sha256v1(ibGib, salt = "") {
|
|
|
160
160
|
return hashAsArray.map(b => b.toString(16).padStart(2, '0')).join('');
|
|
161
161
|
};
|
|
162
162
|
/**
|
|
163
|
-
*
|
|
164
|
-
*
|
|
163
|
+
* THIS IS DUPLICATED CODE IN THE RESPEC FILE. ANY CHANGES HERE MUST
|
|
164
|
+
* MANUALLY BE CHANGED IN THE RESPEC FILE!!!
|
|
165
165
|
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
166
|
+
* Normalizes an object/value for consistent hashing.
|
|
167
|
+
* - Recursively processes objects and arrays.
|
|
168
|
+
* - For objects:
|
|
169
|
+
* - Sorts keys alphabetically.
|
|
170
|
+
* - Removes properties whose values are `undefined`.
|
|
171
|
+
* - Keeps properties whose values are `null`.
|
|
172
|
+
* - For arrays:
|
|
173
|
+
* - Preserves element order.
|
|
174
|
+
* - Recursively normalizes each element.
|
|
175
|
+
* - Primitives (strings, numbers, booleans) and `null` are returned as is.
|
|
168
176
|
*
|
|
169
|
-
*
|
|
177
|
+
* THIS IS DUPLICATED CODE IN THE RESPEC FILE. ANY CHANGES HERE MUST
|
|
178
|
+
* MANUALLY BE CHANGED IN THE RESPEC FILE!!!
|
|
179
|
+
*
|
|
180
|
+
* @param value The value to normalize.
|
|
181
|
+
* @returns The normalized value.
|
|
170
182
|
*/
|
|
171
|
-
const toNormalizedForHashing = (
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
return obj.concat(); /* <<<< returns early */
|
|
183
|
+
const toNormalizedForHashing = (value) => {
|
|
184
|
+
// Handle null, primitives (string, number, boolean) directly.
|
|
185
|
+
// `undefined` at the top level will be handled by the caller or become part of an object/array.
|
|
186
|
+
if (value === null || typeof value !== 'object') {
|
|
187
|
+
return value;
|
|
177
188
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return
|
|
189
|
+
// Handle Arrays: recursively normalize elements, preserve order
|
|
190
|
+
if (Array.isArray(value)) {
|
|
191
|
+
return value.map(element => toNormalizedForHashing(element));
|
|
181
192
|
}
|
|
182
|
-
//
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
if (value !== undefined) {
|
|
190
|
-
// Recursively normalize if the value is an object
|
|
191
|
-
normalized[key] = (typeof value === 'object' && value !== null) ? toNormalizedForHashing(value) : value;
|
|
193
|
+
// Handle Objects (plain objects)
|
|
194
|
+
const normalizedObject = {};
|
|
195
|
+
const sortedKeys = Object.keys(value).sort();
|
|
196
|
+
for (const key of sortedKeys) {
|
|
197
|
+
const propertyValue = value[key];
|
|
198
|
+
if (propertyValue !== undefined) { // CRITICAL: Only omit if value is undefined
|
|
199
|
+
normalizedObject[key] = toNormalizedForHashing(propertyValue);
|
|
192
200
|
}
|
|
201
|
+
// If propertyValue is undefined, it's omitted from normalizedObject.
|
|
202
|
+
// If propertyValue is null, it's included.
|
|
193
203
|
}
|
|
194
|
-
return
|
|
204
|
+
return normalizedObject;
|
|
205
|
+
// if (!obj) {
|
|
206
|
+
// return obj; /* <<<< returns early */
|
|
207
|
+
// } else if (typeof obj === 'string' || Array.isArray(obj)) {
|
|
208
|
+
// return obj.concat(); /* <<<< returns early */
|
|
209
|
+
// } else if (typeof obj !== 'object') {
|
|
210
|
+
// // Return non-objects as is, we don't know how to concat/copy it...hmm...
|
|
211
|
+
// return obj; /* <<<< returns early */
|
|
212
|
+
// }
|
|
213
|
+
// // we have an object. we will create a new object and populate it.
|
|
214
|
+
// const normalized = {};
|
|
215
|
+
// // sort keys alphabetically
|
|
216
|
+
// // NOTE: this does NOT mutate obj as Object.keys produces a new array
|
|
217
|
+
// const keys = Object.keys(obj).sort();
|
|
218
|
+
// for (const key of keys) {
|
|
219
|
+
// const value = obj[key];
|
|
220
|
+
// if (value !== undefined) {
|
|
221
|
+
// // Recursively normalize if the value is an object
|
|
222
|
+
// normalized[key] = (typeof value === 'object' && value !== null) ? toNormalizedForHashing(value) : value;
|
|
223
|
+
// }
|
|
224
|
+
// }
|
|
225
|
+
// return normalized;
|
|
195
226
|
};
|
|
196
227
|
let hashFields;
|
|
197
228
|
if (salt) {
|
|
@@ -276,7 +307,7 @@ export function sha256v1(ibGib, salt = "") {
|
|
|
276
307
|
return allHash;
|
|
277
308
|
};
|
|
278
309
|
}
|
|
279
|
-
return hashFields(ibGib.ib, ibGib?.data, ibGib?.rel8ns);
|
|
310
|
+
return hashFields(ibGib.ib, ibGib?.data, ibGib?.rel8ns); // conditional nav ibGib?.data and ibGib?.rel8ns
|
|
280
311
|
}
|
|
281
312
|
/**
|
|
282
313
|
* I have one large-ish sha256 function for gibbing purposes
|
package/dist/V1/sha256v1.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sha256v1.mjs","sourceRoot":"","sources":["../../src/V1/sha256v1.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sha256v1.mjs","sourceRoot":"","sources":["../../src/V1/sha256v1.mts"],"names":[],"mappings":"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"}
|
package/dist/helper.d.mts
CHANGED
|
@@ -21,13 +21,24 @@ export declare function getIbAndGib({ ibGib, ibGibAddr, delimiter }: {
|
|
|
21
21
|
delimiter?: string;
|
|
22
22
|
}): IbAndGib;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
24
|
+
* Normalizes an object/value for consistent hashing.
|
|
25
|
+
* - Recursively processes objects and arrays.
|
|
26
|
+
* - For objects:
|
|
27
|
+
* - Sorts keys alphabetically.
|
|
28
|
+
* - Removes properties whose values are `undefined`.
|
|
29
|
+
* - Keeps properties whose values are `null`.
|
|
30
|
+
* - For arrays:
|
|
31
|
+
* - Preserves element order.
|
|
32
|
+
* - Recursively normalizes each element.
|
|
33
|
+
* - Primitives (strings, numbers, booleans) and `null` are returned as is.
|
|
26
34
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
35
|
+
* @param value The value to normalize.
|
|
36
|
+
* @returns The normalized value.
|
|
29
37
|
*
|
|
30
|
-
*
|
|
38
|
+
* This has been adjusted due to conversation with Gemini and working on python
|
|
39
|
+
* port. The main thing here is that we normalize array members, but not the
|
|
40
|
+
* array itself. This way the array's order is preserved, but any object members
|
|
41
|
+
* are themselves normalized.
|
|
31
42
|
*/
|
|
32
|
-
export declare function toNormalizedForHashing(
|
|
43
|
+
export declare function toNormalizedForHashing(value: any): any;
|
|
33
44
|
//# sourceMappingURL=helper.d.mts.map
|
package/dist/helper.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.mts","sourceRoot":"","sources":["../src/helper.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGlE;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EACzB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAe,EAClC,EAAE;IACC,EAAE,CAAC,EAAE,EAAE,CAAC;IACR,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,SAAS,CAIZ;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EACxB,KAAK,EACL,SAAS,EACT,SAAe,EAClB,EAAE;IACC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,QAAQ,CAyCX;
|
|
1
|
+
{"version":3,"file":"helper.d.mts","sourceRoot":"","sources":["../src/helper.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGlE;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EACzB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAe,EAClC,EAAE;IACC,EAAE,CAAC,EAAE,EAAE,CAAC;IACR,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,SAAS,CAIZ;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EACxB,KAAK,EACL,SAAS,EACT,SAAe,EAClB,EAAE;IACC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,QAAQ,CAyCX;AAGD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAyBtD"}
|
package/dist/helper.mjs
CHANGED
|
@@ -63,37 +63,46 @@ export function getIbAndGib({ ibGib, ibGibAddr, delimiter = '^' }) {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
66
|
+
* Normalizes an object/value for consistent hashing.
|
|
67
|
+
* - Recursively processes objects and arrays.
|
|
68
|
+
* - For objects:
|
|
69
|
+
* - Sorts keys alphabetically.
|
|
70
|
+
* - Removes properties whose values are `undefined`.
|
|
71
|
+
* - Keeps properties whose values are `null`.
|
|
72
|
+
* - For arrays:
|
|
73
|
+
* - Preserves element order.
|
|
74
|
+
* - Recursively normalizes each element.
|
|
75
|
+
* - Primitives (strings, numbers, booleans) and `null` are returned as is.
|
|
68
76
|
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
77
|
+
* @param value The value to normalize.
|
|
78
|
+
* @returns The normalized value.
|
|
71
79
|
*
|
|
72
|
-
*
|
|
80
|
+
* This has been adjusted due to conversation with Gemini and working on python
|
|
81
|
+
* port. The main thing here is that we normalize array members, but not the
|
|
82
|
+
* array itself. This way the array's order is preserved, but any object members
|
|
83
|
+
* are themselves normalized.
|
|
73
84
|
*/
|
|
74
|
-
export function toNormalizedForHashing(
|
|
75
|
-
|
|
76
|
-
|
|
85
|
+
export function toNormalizedForHashing(value) {
|
|
86
|
+
// Handle null, primitives (string, number, boolean) directly.
|
|
87
|
+
// `undefined` at the top level will be handled by the caller or become part of an object/array.
|
|
88
|
+
if (value === null || typeof value !== 'object') {
|
|
89
|
+
return value;
|
|
77
90
|
}
|
|
78
|
-
|
|
79
|
-
|
|
91
|
+
// Handle Arrays: recursively normalize elements, preserve order
|
|
92
|
+
if (Array.isArray(value)) {
|
|
93
|
+
return value.map(element => toNormalizedForHashing(element));
|
|
80
94
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
// NOTE: this does NOT mutate obj as Object.keys produces a new array
|
|
89
|
-
const keys = Object.keys(obj).sort();
|
|
90
|
-
for (const key of keys) {
|
|
91
|
-
const value = obj[key];
|
|
92
|
-
if (value !== undefined) {
|
|
93
|
-
// Recursively normalize if the value is an object
|
|
94
|
-
normalized[key] = (typeof value === 'object' && value !== null) ? toNormalizedForHashing(value) : value;
|
|
95
|
+
// Handle Objects (plain objects)
|
|
96
|
+
const normalizedObject = {};
|
|
97
|
+
const sortedKeys = Object.keys(value).sort();
|
|
98
|
+
for (const key of sortedKeys) {
|
|
99
|
+
const propertyValue = value[key];
|
|
100
|
+
if (propertyValue !== undefined) { // CRITICAL: Only omit if value is undefined
|
|
101
|
+
normalizedObject[key] = toNormalizedForHashing(propertyValue);
|
|
95
102
|
}
|
|
103
|
+
// If propertyValue is undefined, it's omitted from normalizedObject.
|
|
104
|
+
// If propertyValue is null, it's included.
|
|
96
105
|
}
|
|
97
|
-
return
|
|
106
|
+
return normalizedObject;
|
|
98
107
|
}
|
|
99
108
|
//# sourceMappingURL=helper.mjs.map
|
package/dist/helper.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.mjs","sourceRoot":"","sources":["../src/helper.mts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,EACzB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,GAAG,GAAG,EAMlC;IACG,EAAE,GAAG,EAAE,IAAI,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;IAC3B,GAAG,GAAG,GAAG,IAAI,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;IAC9B,OAAO,EAAE,GAAG,SAAS,GAAG,GAAG,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,EACxB,KAAK,EACL,SAAS,EACT,SAAS,GAAG,GAAG,EAKlB;IACG,MAAM,EAAE,GAAG,eAAe,CAAC;IAC3B,IAAI,CAAC,SAAS,EAAE;QACZ,IAAI,KAAK,EAAE;YACP,SAAS,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SACvC;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,+CAA+C,CAAC,CAAC;SACzE;KACJ;IACD,IAAI,CAAC,SAAS,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,yCAAyC,CAAC,CAAC;KAAE;IAEpF,IAAI,CAAC,SAAS,EAAE;QAAE,SAAS,GAAG,GAAG,CAAC;KAAE;IAEpC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,qDAAqD;QACrD,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC7D,4CAA4C;QAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;KACrC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAC/D,qDAAqD;QACrD,wDAAwD;QACxD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;KACrC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;QACpE,8CAA8C;QAC9C,2CAA2C;QAC3C,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAClC,qCAAqC;QACrC,oEAAoE;QACpE,4CAA4C;KAC/C;SAAM;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,oGAAoG,CAAC,CAAC;QACxH,uBAAuB;QACvB,kBAAkB;QAClB,aAAa;QACb,OAAO;YACH,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACtD,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1C,CAAA;KACJ;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"helper.mjs","sourceRoot":"","sources":["../src/helper.mts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibgib/ts-gib",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.23",
|
|
4
4
|
"description": "ibgib library with low-level graphing-related substrate functionality, e.g. creating raw ibgibs and transformations. node19+ needed for heavily-used webcrypto hashing isomorphically consumed in node and browsers (apps).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://gitlab.com/ibgib/ts-gib",
|
package/src/V1/sha256v1.mts
CHANGED
|
@@ -151,41 +151,79 @@ export function sha256v1(ibGib: IbGib_V1, salt: string = ""): Promise<string> {
|
|
|
151
151
|
};
|
|
152
152
|
|
|
153
153
|
/**
|
|
154
|
-
*
|
|
155
|
-
*
|
|
154
|
+
* THIS IS DUPLICATED CODE IN THE RESPEC FILE. ANY CHANGES HERE MUST
|
|
155
|
+
* MANUALLY BE CHANGED IN THE RESPEC FILE!!!
|
|
156
156
|
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
157
|
+
* Normalizes an object/value for consistent hashing.
|
|
158
|
+
* - Recursively processes objects and arrays.
|
|
159
|
+
* - For objects:
|
|
160
|
+
* - Sorts keys alphabetically.
|
|
161
|
+
* - Removes properties whose values are `undefined`.
|
|
162
|
+
* - Keeps properties whose values are `null`.
|
|
163
|
+
* - For arrays:
|
|
164
|
+
* - Preserves element order.
|
|
165
|
+
* - Recursively normalizes each element.
|
|
166
|
+
* - Primitives (strings, numbers, booleans) and `null` are returned as is.
|
|
159
167
|
*
|
|
160
|
-
*
|
|
168
|
+
* THIS IS DUPLICATED CODE IN THE RESPEC FILE. ANY CHANGES HERE MUST
|
|
169
|
+
* MANUALLY BE CHANGED IN THE RESPEC FILE!!!
|
|
170
|
+
*
|
|
171
|
+
* @param value The value to normalize.
|
|
172
|
+
* @returns The normalized value.
|
|
161
173
|
*/
|
|
162
|
-
const toNormalizedForHashing = (
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
return
|
|
167
|
-
} else if (typeof obj !== 'object') {
|
|
168
|
-
// Return non-objects as is, we don't know how to concat/copy it...hmm...
|
|
169
|
-
return obj; /* <<<< returns early */
|
|
174
|
+
const toNormalizedForHashing = (value: any) => {
|
|
175
|
+
// Handle null, primitives (string, number, boolean) directly.
|
|
176
|
+
// `undefined` at the top level will be handled by the caller or become part of an object/array.
|
|
177
|
+
if (value === null || typeof value !== 'object') {
|
|
178
|
+
return value;
|
|
170
179
|
}
|
|
171
180
|
|
|
172
|
-
//
|
|
173
|
-
|
|
181
|
+
// Handle Arrays: recursively normalize elements, preserve order
|
|
182
|
+
if (Array.isArray(value)) {
|
|
183
|
+
return value.map(element => toNormalizedForHashing(element));
|
|
184
|
+
}
|
|
174
185
|
|
|
175
|
-
//
|
|
176
|
-
|
|
177
|
-
const
|
|
186
|
+
// Handle Objects (plain objects)
|
|
187
|
+
const normalizedObject: { [key: string]: any } = {};
|
|
188
|
+
const sortedKeys = Object.keys(value).sort();
|
|
178
189
|
|
|
179
|
-
for (const key of
|
|
180
|
-
const
|
|
181
|
-
if (
|
|
182
|
-
|
|
183
|
-
normalized[key] = (typeof value === 'object' && value !== null) ? toNormalizedForHashing(value) : value;
|
|
190
|
+
for (const key of sortedKeys) {
|
|
191
|
+
const propertyValue = value[key];
|
|
192
|
+
if (propertyValue !== undefined) { // CRITICAL: Only omit if value is undefined
|
|
193
|
+
normalizedObject[key] = toNormalizedForHashing(propertyValue);
|
|
184
194
|
}
|
|
195
|
+
// If propertyValue is undefined, it's omitted from normalizedObject.
|
|
196
|
+
// If propertyValue is null, it's included.
|
|
185
197
|
}
|
|
186
|
-
return
|
|
198
|
+
return normalizedObject;
|
|
199
|
+
|
|
200
|
+
// if (!obj) {
|
|
201
|
+
// return obj; /* <<<< returns early */
|
|
202
|
+
// } else if (typeof obj === 'string' || Array.isArray(obj)) {
|
|
203
|
+
// return obj.concat(); /* <<<< returns early */
|
|
204
|
+
// } else if (typeof obj !== 'object') {
|
|
205
|
+
// // Return non-objects as is, we don't know how to concat/copy it...hmm...
|
|
206
|
+
// return obj; /* <<<< returns early */
|
|
207
|
+
// }
|
|
208
|
+
|
|
209
|
+
// // we have an object. we will create a new object and populate it.
|
|
210
|
+
// const normalized = {};
|
|
211
|
+
|
|
212
|
+
// // sort keys alphabetically
|
|
213
|
+
// // NOTE: this does NOT mutate obj as Object.keys produces a new array
|
|
214
|
+
// const keys = Object.keys(obj).sort();
|
|
215
|
+
|
|
216
|
+
// for (const key of keys) {
|
|
217
|
+
// const value = obj[key];
|
|
218
|
+
// if (value !== undefined) {
|
|
219
|
+
// // Recursively normalize if the value is an object
|
|
220
|
+
// normalized[key] = (typeof value === 'object' && value !== null) ? toNormalizedForHashing(value) : value;
|
|
221
|
+
// }
|
|
222
|
+
// }
|
|
223
|
+
// return normalized;
|
|
187
224
|
}
|
|
188
225
|
|
|
226
|
+
|
|
189
227
|
let hashFields;
|
|
190
228
|
if (salt) {
|
|
191
229
|
hashFields = async (ib: Ib, data: IbGibData_V1 | undefined, rel8ns: IbGibRel8ns_V1 | undefined) => {
|
|
@@ -264,7 +302,7 @@ export function sha256v1(ibGib: IbGib_V1, salt: string = ""): Promise<string> {
|
|
|
264
302
|
return allHash;
|
|
265
303
|
}
|
|
266
304
|
}
|
|
267
|
-
return hashFields(ibGib.ib, ibGib?.data, ibGib?.rel8ns);
|
|
305
|
+
return hashFields(ibGib.ib, ibGib?.data, ibGib?.rel8ns); // conditional nav ibGib?.data and ibGib?.rel8ns
|
|
268
306
|
}
|
|
269
307
|
|
|
270
308
|
/**
|