@lightdash/common 0.1609.5 → 0.1610.1

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.
Files changed (38) hide show
  1. package/dist/cjs/types/api/paginatedQuery.d.ts +11 -1
  2. package/dist/cjs/types/api/paginatedQuery.d.ts.map +1 -1
  3. package/dist/cjs/types/promotion.d.ts +3 -1
  4. package/dist/cjs/types/promotion.d.ts.map +1 -1
  5. package/dist/cjs/types/sqlRunner.d.ts +32 -7
  6. package/dist/cjs/types/sqlRunner.d.ts.map +1 -1
  7. package/dist/cjs/types/sqlRunner.js +27 -1
  8. package/dist/cjs/types/sqlRunner.js.map +1 -1
  9. package/dist/cjs/utils/slug.test.js +78 -58
  10. package/dist/cjs/utils/slug.test.js.map +1 -1
  11. package/dist/cjs/utils/slugs.d.ts +4 -28
  12. package/dist/cjs/utils/slugs.d.ts.map +1 -1
  13. package/dist/cjs/utils/slugs.js +37 -40
  14. package/dist/cjs/utils/slugs.js.map +1 -1
  15. package/dist/esm/types/api/paginatedQuery.d.ts +11 -1
  16. package/dist/esm/types/api/paginatedQuery.d.ts.map +1 -1
  17. package/dist/esm/types/promotion.d.ts +3 -1
  18. package/dist/esm/types/promotion.d.ts.map +1 -1
  19. package/dist/esm/types/sqlRunner.d.ts +32 -7
  20. package/dist/esm/types/sqlRunner.d.ts.map +1 -1
  21. package/dist/esm/types/sqlRunner.js +25 -0
  22. package/dist/esm/types/sqlRunner.js.map +1 -1
  23. package/dist/esm/utils/slug.test.js +79 -59
  24. package/dist/esm/utils/slug.test.js.map +1 -1
  25. package/dist/esm/utils/slugs.d.ts +4 -28
  26. package/dist/esm/utils/slugs.d.ts.map +1 -1
  27. package/dist/esm/utils/slugs.js +32 -36
  28. package/dist/esm/utils/slugs.js.map +1 -1
  29. package/dist/tsconfig.types.tsbuildinfo +1 -1
  30. package/dist/types/types/api/paginatedQuery.d.ts +11 -1
  31. package/dist/types/types/api/paginatedQuery.d.ts.map +1 -1
  32. package/dist/types/types/promotion.d.ts +3 -1
  33. package/dist/types/types/promotion.d.ts.map +1 -1
  34. package/dist/types/types/sqlRunner.d.ts +32 -7
  35. package/dist/types/types/sqlRunner.d.ts.map +1 -1
  36. package/dist/types/utils/slugs.d.ts +4 -28
  37. package/dist/types/utils/slugs.d.ts.map +1 -1
  38. package/package.json +1 -1
@@ -12,16 +12,19 @@ export type SqlRunnerPayload = TraceTaskBase & {
12
12
  sqlChartUuid?: string;
13
13
  context: QueryExecutionContext;
14
14
  } & SqlRunnerBody;
15
+ export type ValuesColumn = {
16
+ reference: string;
17
+ aggregation: VizAggregationOptions;
18
+ };
19
+ export type GroupByColumn = {
20
+ reference: string;
21
+ };
22
+ export type SortBy = PivotChartLayout['sortBy'];
15
23
  type ApiSqlRunnerPivotQueryPayload = {
16
24
  savedSqlUuid?: string;
17
25
  indexColumn: PivotIndexColum;
18
- valuesColumns: {
19
- reference: string;
20
- aggregation: VizAggregationOptions;
21
- }[];
22
- groupByColumns: {
23
- reference: string;
24
- }[] | undefined;
26
+ valuesColumns: ValuesColumn[];
27
+ groupByColumns: GroupByColumn[] | undefined;
25
28
  sortBy: PivotChartLayout['sortBy'] | undefined;
26
29
  };
27
30
  export type SqlRunnerPivotQueryPayload = SqlRunnerPayload & ApiSqlRunnerPivotQueryPayload;
@@ -150,5 +153,27 @@ export type ApiGithubDbtWritePreview = {
150
153
  owner: string;
151
154
  };
152
155
  };
156
+ export declare const prefixPivotConfigurationReferences: (config: {
157
+ indexColumn: PivotIndexColum;
158
+ valuesColumns: ValuesColumn[];
159
+ groupByColumns: GroupByColumn[] | undefined;
160
+ sortBy: SortBy | undefined;
161
+ }, prefix: string) => {
162
+ indexColumn: {
163
+ reference: string;
164
+ type: import("..").VizIndexType;
165
+ };
166
+ valuesColumns: {
167
+ reference: string;
168
+ aggregation: VizAggregationOptions;
169
+ }[];
170
+ groupByColumns: {
171
+ reference: string;
172
+ }[] | undefined;
173
+ sortBy: {
174
+ reference: string;
175
+ direction: import("..").SortByDirection;
176
+ }[] | undefined;
177
+ } | undefined;
153
178
  export {};
154
179
  //# sourceMappingURL=sqlRunner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlRunner.d.ts","sourceRoot":"","sources":["../../../src/types/sqlRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlRunner.d.ts","sourceRoot":"","sources":["../../../src/types/sqlRunner.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { convertFieldRefToFieldId } from './field';
1
2
  import { SchedulerJobStatus } from './scheduler';
2
3
  export function isErrorDetails(results) {
3
4
  return results.error !== undefined;
@@ -5,4 +6,28 @@ export function isErrorDetails(results) {
5
6
  export const isApiSqlRunnerJobSuccessResponse = (response) => response.status === SchedulerJobStatus.COMPLETED;
6
7
  export const isApiSqlRunnerJobErrorResponse = (response) => response.status === SchedulerJobStatus.ERROR;
7
8
  export const isApiSqlRunnerJobPivotQuerySuccessResponse = (response) => response.status === SchedulerJobStatus.COMPLETED;
9
+ export const prefixPivotConfigurationReferences = (config, prefix) => {
10
+ if (!config || !config.indexColumn) {
11
+ return undefined;
12
+ }
13
+ return {
14
+ ...config,
15
+ indexColumn: {
16
+ ...config.indexColumn,
17
+ reference: convertFieldRefToFieldId(config.indexColumn.reference, prefix),
18
+ },
19
+ valuesColumns: config.valuesColumns.map((col) => ({
20
+ ...col,
21
+ reference: convertFieldRefToFieldId(col.reference, prefix),
22
+ })),
23
+ groupByColumns: config.groupByColumns?.map((col) => ({
24
+ ...col,
25
+ reference: convertFieldRefToFieldId(col.reference, prefix),
26
+ })),
27
+ sortBy: config.sortBy?.map((sort) => ({
28
+ ...sort,
29
+ reference: convertFieldRefToFieldId(sort.reference, prefix),
30
+ })),
31
+ };
32
+ };
8
33
  //# sourceMappingURL=sqlRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlRunner.js","sourceRoot":"","sources":["../../../src/types/sqlRunner.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,kBAAkB,EAAsB,MAAM,aAAa,CAAC;AAgDrE,MAAM,UAAU,cAAc,CAC1B,OAA6D;IAE7D,OAAQ,OAA0C,CAAC,KAAK,KAAK,SAAS,CAAC;AAC3E,CAAC;AAmBD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC5C,QAA6D,EACR,EAAE,CACvD,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS,CAAC;AAErD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC1C,QAA6D,EACzC,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,KAAK,CAAC;AAUxE,MAAM,CAAC,MAAM,0CAA0C,GAAG,CACtD,QAA6D,EACE,EAAE,CACjE,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS,CAAC"}
1
+ {"version":3,"file":"sqlRunner.js","sourceRoot":"","sources":["../../../src/types/sqlRunner.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAKnD,OAAO,EAAE,kBAAkB,EAAsB,MAAM,aAAa,CAAC;AAwDrE,MAAM,UAAU,cAAc,CAC1B,OAA6D;IAE7D,OAAQ,OAA0C,CAAC,KAAK,KAAK,SAAS,CAAC;AAC3E,CAAC;AAmBD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC5C,QAA6D,EACR,EAAE,CACvD,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS,CAAC;AAErD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC1C,QAA6D,EACzC,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,KAAK,CAAC;AAUxE,MAAM,CAAC,MAAM,0CAA0C,GAAG,CACtD,QAA6D,EACE,EAAE,CACjE,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,SAAS,CAAC;AA2GrD,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAC9C,MAKC,EACD,MAAc,EAChB,EAAE;IACA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO;QACH,GAAG,MAAM;QACT,WAAW,EAAE;YACT,GAAG,MAAM,CAAC,WAAW;YACrB,SAAS,EAAE,wBAAwB,CAC/B,MAAM,CAAC,WAAW,CAAC,SAAS,EAC5B,MAAM,CACT;SACJ;QACD,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9C,GAAG,GAAG;YACN,SAAS,EAAE,wBAAwB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;SAC7D,CAAC,CAAC;QACH,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjD,GAAG,GAAG;YACN,SAAS,EAAE,wBAAwB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;SAC7D,CAAC,CAAC;QACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClC,GAAG,IAAI;YACP,SAAS,EAAE,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;SAC9D,CAAC,CAAC;KACN,CAAC;AACN,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { generateSlug, getLabelFromSlug, getLtreePathFromSlug, getParentSlug, getSlugsWithHierarchy, } from './slugs';
1
+ import { generateSlug, getContentAsCodePathFromLtreePath, getDeepestPaths, getLtreePathFromContentAsCodePath, getLtreePathFromSlug, isSubPath, } from './slugs';
2
2
  describe('Slug', () => {
3
3
  test('should generate space slugs', async () => {
4
4
  expect(generateSlug('my space name')).toEqual('my-space-name');
@@ -37,73 +37,93 @@ describe('Slug', () => {
37
37
  // Handle japanese characters
38
38
  expect(generateSlug('ライトダッシュ').length).toEqual(5);
39
39
  });
40
- describe('getSlugsWithHierarchy', () => {
41
- test('should return array with single slug for non-hierarchical slug', () => {
42
- expect(getSlugsWithHierarchy('my-space')).toEqual(['my-space']);
43
- });
44
- test('should return array with hierarchical slugs', () => {
45
- expect(getSlugsWithHierarchy('parent-space/child-space')).toEqual([
46
- 'parent-space',
47
- 'parent-space/child-space',
48
- ]);
49
- });
50
- test('should handle multiple levels of hierarchy', () => {
51
- expect(getSlugsWithHierarchy('grandparent-space/parent-space/child-space')).toEqual([
52
- 'grandparent-space',
53
- 'grandparent-space/parent-space',
54
- 'grandparent-space/parent-space/child-space',
55
- ]);
56
- });
57
- });
58
- describe('getParentSlug', () => {
59
- test('should return empty string for non-hierarchical slug', () => {
60
- expect(getParentSlug('my-space')).toEqual('');
61
- });
62
- test('should return parent slug for hierarchical slug', () => {
63
- expect(getParentSlug('parent-space/child-space')).toEqual('parent-space');
64
- });
65
- test('should return parent path for deeply nested slug', () => {
66
- expect(getParentSlug('grandparent-space/parent-space/child-space')).toEqual('grandparent-space/parent-space');
67
- });
68
- });
69
- describe('getLabelFromSlug', () => {
70
- test('should return same slug for non-hierarchical slug', () => {
71
- expect(getLabelFromSlug('my-space')).toEqual('my-space');
72
- });
73
- test('should return last part of hierarchical slug', () => {
74
- expect(getLabelFromSlug('parent-space/child-space')).toEqual('child-space');
75
- });
76
- test('should return last part of deeply nested slug', () => {
77
- expect(getLabelFromSlug('grandparent-space/parent-space/child-space')).toEqual('child-space');
78
- });
79
- });
80
40
  describe('getLtreePathFromSlug', () => {
81
- test('should convert simple slug to ltree path', () => {
41
+ test('should return ltree path from slug', () => {
82
42
  expect(getLtreePathFromSlug('my-space')).toEqual('my_space');
83
43
  });
84
- test('should convert hierarchical slug to ltree path', () => {
85
- expect(getLtreePathFromSlug('parent-space/child-space')).toEqual('parent_space.child_space');
86
- });
87
- test('should handle deeply nested slugs', () => {
88
- expect(getLtreePathFromSlug('grandparent-space/parent-space/child-space')).toEqual('grandparent_space.parent_space.child_space');
89
- });
90
- test('should remove non-alphanumeric characters except underscores', () => {
91
- expect(getLtreePathFromSlug('my!space@name')).toEqual('my_space_name');
92
- expect(getLtreePathFromSlug('my space name')).toEqual('my_space_name');
93
- expect(getLtreePathFromSlug('my_space_name')).toEqual('my_space_name');
94
- });
95
- test('should handle mixed case slugs', () => {
96
- expect(getLtreePathFromSlug('MySpace/ChildSpace')).toEqual('myspace.childspace');
97
- });
98
- test('should handle empty slug', () => {
99
- expect(getLtreePathFromSlug('')).toEqual('');
44
+ test('should return ltree path from legacy hierarchical slug', () => {
45
+ expect(getLtreePathFromSlug('parent-space/child-space')).toEqual('parent_space___child_space');
100
46
  });
101
47
  test('should not trim hyphens from slug', () => {
102
48
  expect(getLtreePathFromSlug('-my-space-name-with-hyphens-')).toEqual('_my_space_name_with_hyphens_');
103
49
  });
104
50
  test('should not trim hyphens from deeply nested slug', () => {
105
- expect(getLtreePathFromSlug('grandparent-space-/-parent-space/child-space-')).toEqual('grandparent_space_._parent_space.child_space_');
51
+ expect(getLtreePathFromSlug('grandparent-space-/-parent-space/child-space-')).toEqual('grandparent_space_____parent_space___child_space_');
106
52
  });
107
53
  });
108
54
  });
55
+ describe('getLtreePathFromContentAsCodePath', () => {
56
+ test('root', () => {
57
+ expect(getLtreePathFromContentAsCodePath('my-space')).toEqual('my_space');
58
+ });
59
+ test('nested', () => {
60
+ expect(getLtreePathFromContentAsCodePath('parent/child/-grandchild/final-child')).toEqual('parent.child._grandchild.final_child');
61
+ expect(getLtreePathFromContentAsCodePath('-parent-/-child-')).toEqual('_parent_._child_');
62
+ });
63
+ test('new slugs', () => {
64
+ expect(getLtreePathFromContentAsCodePath('-foo/-foo___bar/-foo___bar___boo')).toEqual('_foo._foo___bar._foo___bar___boo');
65
+ });
66
+ });
67
+ describe('getContentAsCodePathFromLtreePath', () => {
68
+ test('root', () => {
69
+ expect(getContentAsCodePathFromLtreePath('my_space')).toEqual('my-space');
70
+ expect(getContentAsCodePathFromLtreePath('_my_space')).toEqual('-my-space');
71
+ });
72
+ test('nested', () => {
73
+ expect(getContentAsCodePathFromLtreePath('parent.child._grandchild.final_child')).toEqual('parent/child/-grandchild/final-child');
74
+ });
75
+ test('new slugs', () => {
76
+ expect(getContentAsCodePathFromLtreePath('_foo._foo___bar._foo___bar___boo')).toEqual('-foo/-foo---bar/-foo---bar---boo');
77
+ });
78
+ });
79
+ describe('getContentAsCodePathFromLtreePath + getLtreePathFromContentAsCodePath', () => {
80
+ test('should be the inverse of each other', () => {
81
+ expect(getContentAsCodePathFromLtreePath(getLtreePathFromContentAsCodePath('my-space'))).toEqual('my-space');
82
+ expect(getLtreePathFromContentAsCodePath(getContentAsCodePathFromLtreePath('__my_space_'))).toEqual('__my_space_');
83
+ expect(getLtreePathFromContentAsCodePath(getContentAsCodePathFromLtreePath('__my_space_.foo.bar'))).toEqual('__my_space_.foo.bar');
84
+ });
85
+ });
86
+ describe('getDeepestPaths', () => {
87
+ test('should return the deepest paths', () => {
88
+ expect(getDeepestPaths([
89
+ 'dash',
90
+ 'charts',
91
+ 'charts2',
92
+ 'charts2.charts2_child',
93
+ ])).toEqual(['dash', 'charts', 'charts2.charts2_child']);
94
+ expect(getDeepestPaths([
95
+ 'jaffle_shop.dashboards.dashboards_marketing',
96
+ 'jaffle_shop.sub_charts_2.sub_charts_2_child',
97
+ 'jaffle_shop.dashboards',
98
+ 'jaffle_shop.sub_charts',
99
+ 'jaffle_shop.sub_charts_2',
100
+ ])).toEqual([
101
+ 'jaffle_shop.dashboards.dashboards_marketing',
102
+ 'jaffle_shop.sub_charts_2.sub_charts_2_child',
103
+ 'jaffle_shop.sub_charts',
104
+ ]);
105
+ expect(getDeepestPaths([
106
+ 'a.b.c.d',
107
+ 'a.b.c',
108
+ 'a.b.c.d.e',
109
+ 'a.b.c.d.e.f',
110
+ 'a.b.c.d.e.f.g',
111
+ 'a.b.c.d.e.f.g.h',
112
+ 'a.b.c.d.e.f.g.h.i',
113
+ 'foo',
114
+ 'bar',
115
+ ])).toEqual(['a.b.c.d.e.f.g.h.i', 'foo', 'bar']);
116
+ expect(getDeepestPaths(['a'])).toEqual(['a']);
117
+ expect(getDeepestPaths(['a', 'b'])).toEqual(['a', 'b']);
118
+ });
119
+ });
120
+ describe('isSubpath', () => {
121
+ test('should return true if the path is a subpath of the other path', () => {
122
+ expect(isSubPath('a.b.c', 'a.b')).toEqual(false);
123
+ expect(isSubPath('a.b.c', 'a.b.c')).toEqual(false);
124
+ expect(isSubPath('a.b.c', 'a.b.c.d')).toEqual(true);
125
+ expect(isSubPath('a', 'a')).toEqual(false);
126
+ expect(isSubPath('a', 'a.b')).toEqual(true);
127
+ });
128
+ });
109
129
  //# sourceMappingURL=slug.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slug.test.js","sourceRoot":"","sources":["../../../src/utils/slug.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slug.test.js","sourceRoot":"","sources":["../../../src/utils/slug.test.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,7 @@
1
1
  export declare const generateSlug: (name: string) => string;
2
- /**
3
- * Get all slugs with hierarchy for a given slug
4
- * For example, "parent-space/child-space" will return ["parent-space", "parent-space/child-space"]
5
- * @param slug - The slug to get the hierarchy for
6
- * @returns An array of slugs with hierarchy
7
- */
8
- export declare const getSlugsWithHierarchy: (slug: string) => string[];
9
- /**
10
- * Get the parent slug from a slug with hierarchy
11
- * For example, "parent-space/child-space" will return "parent-space"
12
- * @param slug - The slug to get the parent slug from
13
- * @returns The parent slug
14
- */
15
- export declare const getParentSlug: (slug: string) => string;
16
- /**
17
- * Get the label from a slug with hierarchy
18
- * For example, "parent-space/child-space" will return "child-space"
19
- * @param slug - The slug to get the label from
20
- * @returns The label
21
- */
22
- export declare const getLabelFromSlug: (slug: string) => string;
23
- /**
24
- * Get the ltree path from a slug with hierarchy
25
- * For example, "parent-space/child-space" will return "parent_space.child_space"
26
- * Verifies that each slug is a valid PostgreSQL ltree label (A-Za-z0-9_)
27
- * @param slug - The slug to get the ltree path from
28
- * @returns The ltree path
29
- */
30
2
  export declare const getLtreePathFromSlug: (slug: string) => string;
3
+ export declare const getLtreePathFromContentAsCodePath: (path: string) => string;
4
+ export declare const getContentAsCodePathFromLtreePath: (path: string) => string;
5
+ export declare const getDeepestPaths: (paths: string[]) => string[];
6
+ export declare const isSubPath: (path: string, subPath: string) => boolean;
31
7
  //# sourceMappingURL=slugs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slugs.d.ts","sourceRoot":"","sources":["../../../src/utils/slugs.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,YAAY,SAAU,MAAM,WAQxC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,SAAU,MAAM,aAMxC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,aAAa,SAAU,MAAM,WACA,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,SAAU,MAAM,WAAkC,CAAC;AAEhF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,SAAU,MAAM,WAKhD,CAAC"}
1
+ {"version":3,"file":"slugs.d.ts","sourceRoot":"","sources":["../../../src/utils/slugs.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,YAAY,SAAU,MAAM,WAQxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,MAAM,WAQhD,CAAC;AAEF,eAAO,MAAM,iCAAiC,SAAU,MAAM,WACf,CAAC;AAEhD,eAAO,MAAM,iCAAiC,SAAU,MAAM,WACf,CAAC;AAEhD,eAAO,MAAM,eAAe,UAAW,MAAM,EAAE,KAAG,MAAM,EA4BvD,CAAC;AAEF,eAAO,MAAM,SAAS,SAAU,MAAM,WAAW,MAAM,YACK,CAAC"}
@@ -18,42 +18,38 @@ export const generateSlug = (name) => {
18
18
  }
19
19
  return sanitizedSlug;
20
20
  };
21
- /**
22
- * Get all slugs with hierarchy for a given slug
23
- * For example, "parent-space/child-space" will return ["parent-space", "parent-space/child-space"]
24
- * @param slug - The slug to get the hierarchy for
25
- * @returns An array of slugs with hierarchy
26
- */
27
- export const getSlugsWithHierarchy = (slug) => slug.split('/').reduce((acc, s) => {
28
- if (acc.length === 0) {
29
- return [s];
30
- }
31
- return [...acc, `${acc[acc.length - 1]}/${s}`];
32
- }, []);
33
- /**
34
- * Get the parent slug from a slug with hierarchy
35
- * For example, "parent-space/child-space" will return "parent-space"
36
- * @param slug - The slug to get the parent slug from
37
- * @returns The parent slug
38
- */
39
- export const getParentSlug = (slug) => slug.split('/').slice(0, -1).join('/');
40
- /**
41
- * Get the label from a slug with hierarchy
42
- * For example, "parent-space/child-space" will return "child-space"
43
- * @param slug - The slug to get the label from
44
- * @returns The label
45
- */
46
- export const getLabelFromSlug = (slug) => slug.split('/').pop() ?? slug;
47
- /**
48
- * Get the ltree path from a slug with hierarchy
49
- * For example, "parent-space/child-space" will return "parent_space.child_space"
50
- * Verifies that each slug is a valid PostgreSQL ltree label (A-Za-z0-9_)
51
- * @param slug - The slug to get the ltree path from
52
- * @returns The ltree path
53
- */
54
21
  export const getLtreePathFromSlug = (slug) => {
55
- const slugs = slug.split('/');
56
- const sanitizedSlugs = slugs.map((s) => sanitizeSlug(s, false));
57
- return sanitizedSlugs.join('.').replace(/-/g, '_');
22
+ let path = slug;
23
+ // This is for backwards compatibility with the old slug format that contained hierarchy
24
+ if (path.includes('/')) {
25
+ path = path.split('/').join('___');
26
+ }
27
+ return path.replace(/-/g, '_');
28
+ };
29
+ export const getLtreePathFromContentAsCodePath = (path) => path.replace(/-/g, '_').replace(/\//g, '.');
30
+ export const getContentAsCodePathFromLtreePath = (path) => path.replace(/_/g, '-').replace(/\./g, '/');
31
+ export const getDeepestPaths = (paths) => {
32
+ const uniquePaths = Array.from(new Set(paths));
33
+ const result = [];
34
+ for (const path of uniquePaths) {
35
+ const pathSegments = path.split('.');
36
+ const isPrefix = uniquePaths.some((otherPath) => {
37
+ if (path === otherPath)
38
+ return false;
39
+ const otherSegments = otherPath.split('.');
40
+ if (pathSegments.length < otherSegments.length) {
41
+ const potentialPrefix = otherSegments
42
+ .slice(0, pathSegments.length)
43
+ .join('.');
44
+ return potentialPrefix === path;
45
+ }
46
+ return false;
47
+ });
48
+ if (!isPrefix) {
49
+ result.push(path);
50
+ }
51
+ }
52
+ return result;
58
53
  };
54
+ export const isSubPath = (path, subPath) => subPath.startsWith(path) && subPath[path.length] === '.';
59
55
  //# sourceMappingURL=slugs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../src/utils/slugs.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,WAAW,GAAG,IAAI,EAAE,EAAE;IACtD,IAAI,aAAa,GAAG,IAAI;SACnB,WAAW,EAAE;QACd,kEAAkE;SACjE,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAEjC,IAAI,WAAW,EAAE,CAAC;QACd,oCAAoC;QACpC,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,qCAAqC;QACrC,sDAAsD;QACtD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAW,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;IACxC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC,EAAE,EAAE,CAAC,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,EAAE;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhE,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../src/utils/slugs.ts"],"names":[],"mappings":"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"}