@luzzle/core 0.0.41 → 0.0.42

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.
@@ -1,3 +1,9 @@
1
+ function parseIndex(key) {
2
+ if (!/^\d+$/.test(key))
3
+ return undefined;
4
+ const n = parseInt(key, 10);
5
+ return Number.isSafeInteger(n) ? n : undefined;
6
+ }
1
7
  export function getFrontmatterValue(obj, path) {
2
8
  const parts = path.split('.');
3
9
  let current = obj;
@@ -16,20 +22,34 @@ export function setFrontmatterValue(obj, path, value) {
16
22
  for (let i = 0; i < parts.length; i++) {
17
23
  const part = parts[i];
18
24
  const nextPart = i < parts.length - 1 ? parts[i + 1] : lastPart;
19
- const isNextIndex = !isNaN(parseInt(nextPart, 10));
20
- if (!(part in current) ||
21
- current[part] === null ||
22
- typeof current[part] !== 'object' ||
23
- (isNextIndex && !Array.isArray(current[part])) ||
24
- (!isNextIndex && Array.isArray(current[part]))) {
25
+ const nextIndex = parseIndex(nextPart);
26
+ const isNextIndex = nextIndex !== undefined;
27
+ if (Array.isArray(current[part]) && !isNextIndex) {
28
+ throw new Error(`Invalid path '${path}': Cannot access property '${nextPart}' on Array at '${parts
29
+ .slice(0, i + 1)
30
+ .join('.')}'`);
31
+ }
32
+ if (Array.isArray(current)) {
33
+ const index = parseIndex(part);
34
+ if (index !== undefined && index > current.length) {
35
+ throw new Error(`Invalid path '${path}': Index ${index} out of bounds (length: ${current.length})`);
36
+ }
37
+ }
38
+ const existing = current[part];
39
+ const exists = part in current && existing !== null && typeof existing === 'object';
40
+ const typeMismatch = (isNextIndex && !Array.isArray(existing)) || (!isNextIndex && Array.isArray(existing));
41
+ if (!exists || typeMismatch) {
25
42
  current[part] = isNextIndex ? [] : {};
26
43
  }
27
44
  current = current[part];
28
45
  }
29
- const isLastIndex = !isNaN(parseInt(lastPart, 10));
46
+ const lastIndex = parseIndex(lastPart);
47
+ const isLastIndex = lastIndex !== undefined;
30
48
  if (isLastIndex && Array.isArray(current)) {
31
- const index = parseInt(lastPart, 10);
32
- current[index] = value;
49
+ if (lastIndex > current.length) {
50
+ throw new Error(`Invalid path '${path}': Index ${lastIndex} out of bounds (length: ${current.length})`);
51
+ }
52
+ current[lastIndex] = value;
33
53
  }
34
54
  else if (Array.isArray(current[lastPart]) && !Array.isArray(value)) {
35
55
  current[lastPart].push(value);
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter.path.js","sourceRoot":"","sources":["../../../../src/pieces/utils/frontmatter.path.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontmatter.path.js","sourceRoot":"","sources":["../../../../src/pieces/utils/frontmatter.path.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,32 @@ describe('pieces/utils/frontmatter.path.ts', () => {
47
47
  paths.setFrontmatterValue(obj, 'meta.author', 'Bob');
48
48
  expect(obj.meta.author).toBe('Bob');
49
49
  });
50
+ // New Tests for Safety Fixes
51
+ test('throws error when accessing property on array', () => {
52
+ const obj = { tags: ['a'] };
53
+ expect(() => paths.setFrontmatterValue(obj, 'tags.name', 'Bob')).toThrow(/Cannot access property 'name' on Array/);
54
+ });
55
+ test('throws error when creating sparse array (index > length)', () => {
56
+ const obj = { tags: ['a'] };
57
+ expect(() => paths.setFrontmatterValue(obj, 'tags.2', 'c')).toThrow(/Index 2 out of bounds/);
58
+ });
59
+ test('throws error when creating sparse array in nested path (index > length)', () => {
60
+ const obj = { authors: [{ name: 'A' }] };
61
+ // authors length is 1. index 2 is out of bounds.
62
+ expect(() => paths.setFrontmatterValue(obj, 'authors.2.name', 'C')).toThrow(/Index 2 out of bounds/);
63
+ });
64
+ test('allows creating next index (index == length)', () => {
65
+ const obj = { tags: ['a'] };
66
+ paths.setFrontmatterValue(obj, 'tags.1', 'b');
67
+ expect(obj.tags).toEqual(['a', 'b']);
68
+ });
69
+ test('allows creating deeply nested next index', () => {
70
+ const obj = { authors: [{ name: 'A' }] };
71
+ // authors is length 1. Next index is 1.
72
+ paths.setFrontmatterValue(obj, 'authors.1.name', 'B');
73
+ // Should create object at index 1 with name 'B'
74
+ expect(obj.authors[1]).toEqual({ name: 'B' });
75
+ });
50
76
  });
51
77
  describe('unsetFrontmatterValue', () => {
52
78
  test('unsets top level value', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter.path.test.js","sourceRoot":"","sources":["../../../../src/pieces/utils/frontmatter.path.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontmatter.path.test.js","sourceRoot":"","sources":["../../../../src/pieces/utils/frontmatter.path.test.ts"],"names":[],"mappings":"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"}