@usertour/helpers 0.0.49 → 0.0.50
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/dist/__tests__/content-helper.test.cjs +5 -3
- package/dist/__tests__/content-helper.test.js +1 -1
- package/dist/{chunk-BCAOJ3IY.js → chunk-JTRQ5CEL.js} +6 -4
- package/dist/content-helper.cjs +6 -4
- package/dist/content-helper.d.cts +9 -4
- package/dist/content-helper.d.ts +9 -4
- package/dist/content-helper.js +1 -1
- package/dist/index.cjs +6 -4
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -323,12 +323,14 @@ var duplicateData = (data, contentType) => {
|
|
|
323
323
|
}
|
|
324
324
|
return data;
|
|
325
325
|
};
|
|
326
|
-
var duplicateStep = (step) => {
|
|
326
|
+
var duplicateStep = (step, options) => {
|
|
327
|
+
var _a;
|
|
327
328
|
const { id, cvid, createdAt, updatedAt, versionId, trigger, target, data, ...rest } = step;
|
|
329
|
+
const preserveUndefined = (_a = options == null ? void 0 : options.preserveUndefined) != null ? _a : false;
|
|
328
330
|
return {
|
|
329
331
|
...rest,
|
|
330
|
-
data: data ? processQuestionElements(data) : data,
|
|
331
|
-
trigger: trigger ? duplicateTriggers(trigger) : trigger,
|
|
332
|
+
data: data ? processQuestionElements(data) : preserveUndefined ? data : [],
|
|
333
|
+
trigger: trigger ? duplicateTriggers(trigger) : preserveUndefined ? trigger : [],
|
|
332
334
|
target: duplicateTarget(target)
|
|
333
335
|
};
|
|
334
336
|
};
|
|
@@ -205,12 +205,14 @@ var duplicateData = (data, contentType) => {
|
|
|
205
205
|
}
|
|
206
206
|
return data;
|
|
207
207
|
};
|
|
208
|
-
var duplicateStep = (step) => {
|
|
208
|
+
var duplicateStep = (step, options) => {
|
|
209
|
+
var _a;
|
|
209
210
|
const { id, cvid, createdAt, updatedAt, versionId, trigger, target, data, ...rest } = step;
|
|
211
|
+
const preserveUndefined = (_a = options == null ? void 0 : options.preserveUndefined) != null ? _a : false;
|
|
210
212
|
return {
|
|
211
213
|
...rest,
|
|
212
|
-
data: data ? processQuestionElements(data) : data,
|
|
213
|
-
trigger: trigger ? duplicateTriggers(trigger) : trigger,
|
|
214
|
+
data: data ? processQuestionElements(data) : preserveUndefined ? data : [],
|
|
215
|
+
trigger: trigger ? duplicateTriggers(trigger) : preserveUndefined ? trigger : [],
|
|
214
216
|
target: duplicateTarget(target)
|
|
215
217
|
};
|
|
216
218
|
};
|
|
@@ -218,7 +220,7 @@ var duplicateSteps = (steps) => {
|
|
|
218
220
|
if (!isArray(steps)) {
|
|
219
221
|
return [];
|
|
220
222
|
}
|
|
221
|
-
return steps.map((step) => duplicateStep(step));
|
|
223
|
+
return steps.map((step) => duplicateStep(step, { preserveUndefined: true }));
|
|
222
224
|
};
|
|
223
225
|
var duplicateStepWithRename = (originalStep, sequence, existingStepNames) => {
|
|
224
226
|
const duplicated = duplicateStep(originalStep);
|
package/dist/content-helper.cjs
CHANGED
|
@@ -346,12 +346,14 @@ var duplicateData = (data, contentType) => {
|
|
|
346
346
|
}
|
|
347
347
|
return data;
|
|
348
348
|
};
|
|
349
|
-
var duplicateStep = (step) => {
|
|
349
|
+
var duplicateStep = (step, options) => {
|
|
350
|
+
var _a;
|
|
350
351
|
const { id, cvid, createdAt, updatedAt, versionId, trigger, target, data, ...rest } = step;
|
|
352
|
+
const preserveUndefined = (_a = options == null ? void 0 : options.preserveUndefined) != null ? _a : false;
|
|
351
353
|
return {
|
|
352
354
|
...rest,
|
|
353
|
-
data: data ? processQuestionElements(data) : data,
|
|
354
|
-
trigger: trigger ? duplicateTriggers(trigger) : trigger,
|
|
355
|
+
data: data ? processQuestionElements(data) : preserveUndefined ? data : [],
|
|
356
|
+
trigger: trigger ? duplicateTriggers(trigger) : preserveUndefined ? trigger : [],
|
|
355
357
|
target: duplicateTarget(target)
|
|
356
358
|
};
|
|
357
359
|
};
|
|
@@ -359,7 +361,7 @@ var duplicateSteps = (steps) => {
|
|
|
359
361
|
if (!isArray(steps)) {
|
|
360
362
|
return [];
|
|
361
363
|
}
|
|
362
|
-
return steps.map((step) => duplicateStep(step));
|
|
364
|
+
return steps.map((step) => duplicateStep(step, { preserveUndefined: true }));
|
|
363
365
|
};
|
|
364
366
|
var duplicateStepWithRename = (originalStep, sequence, existingStepNames) => {
|
|
365
367
|
const duplicated = duplicateStep(originalStep);
|
|
@@ -63,6 +63,7 @@ declare const duplicateData: (data: unknown, contentType: string) => unknown;
|
|
|
63
63
|
/**
|
|
64
64
|
* Step-like type that works with both Prisma Step and @usertour/types Step
|
|
65
65
|
* This allows the function to be used in both server and client contexts
|
|
66
|
+
* Uses unknown for data/trigger to accept Prisma's JsonValue type
|
|
66
67
|
*/
|
|
67
68
|
type StepLike = {
|
|
68
69
|
id?: string;
|
|
@@ -70,18 +71,22 @@ type StepLike = {
|
|
|
70
71
|
createdAt?: string | Date;
|
|
71
72
|
updatedAt?: string | Date;
|
|
72
73
|
versionId?: string;
|
|
73
|
-
data?:
|
|
74
|
-
trigger?:
|
|
75
|
-
target?:
|
|
74
|
+
data?: unknown;
|
|
75
|
+
trigger?: unknown;
|
|
76
|
+
target?: unknown;
|
|
76
77
|
[key: string]: unknown;
|
|
77
78
|
};
|
|
78
79
|
/**
|
|
79
80
|
* Core function to duplicate a single step by removing database-specific fields
|
|
80
81
|
* and regenerating IDs in triggers, target actions, and question elements
|
|
81
82
|
* @param step - The step to duplicate
|
|
83
|
+
* @param options - Options for duplication behavior
|
|
84
|
+
* @param options.preserveUndefined - If true, undefined data/trigger remain undefined; if false (default), they become empty arrays
|
|
82
85
|
* @returns A new step object with regenerated IDs, without id/cvid/timestamps/versionId
|
|
83
86
|
*/
|
|
84
|
-
declare const duplicateStep: <T extends StepLike>(step: T
|
|
87
|
+
declare const duplicateStep: <T extends StepLike>(step: T, options?: {
|
|
88
|
+
preserveUndefined?: boolean;
|
|
89
|
+
}) => Omit<T, "id" | "cvid" | "createdAt" | "updatedAt" | "versionId">;
|
|
85
90
|
/**
|
|
86
91
|
* Process multiple steps for duplication
|
|
87
92
|
* Works with both Prisma Step type (server) and @usertour/types Step (client)
|
package/dist/content-helper.d.ts
CHANGED
|
@@ -63,6 +63,7 @@ declare const duplicateData: (data: unknown, contentType: string) => unknown;
|
|
|
63
63
|
/**
|
|
64
64
|
* Step-like type that works with both Prisma Step and @usertour/types Step
|
|
65
65
|
* This allows the function to be used in both server and client contexts
|
|
66
|
+
* Uses unknown for data/trigger to accept Prisma's JsonValue type
|
|
66
67
|
*/
|
|
67
68
|
type StepLike = {
|
|
68
69
|
id?: string;
|
|
@@ -70,18 +71,22 @@ type StepLike = {
|
|
|
70
71
|
createdAt?: string | Date;
|
|
71
72
|
updatedAt?: string | Date;
|
|
72
73
|
versionId?: string;
|
|
73
|
-
data?:
|
|
74
|
-
trigger?:
|
|
75
|
-
target?:
|
|
74
|
+
data?: unknown;
|
|
75
|
+
trigger?: unknown;
|
|
76
|
+
target?: unknown;
|
|
76
77
|
[key: string]: unknown;
|
|
77
78
|
};
|
|
78
79
|
/**
|
|
79
80
|
* Core function to duplicate a single step by removing database-specific fields
|
|
80
81
|
* and regenerating IDs in triggers, target actions, and question elements
|
|
81
82
|
* @param step - The step to duplicate
|
|
83
|
+
* @param options - Options for duplication behavior
|
|
84
|
+
* @param options.preserveUndefined - If true, undefined data/trigger remain undefined; if false (default), they become empty arrays
|
|
82
85
|
* @returns A new step object with regenerated IDs, without id/cvid/timestamps/versionId
|
|
83
86
|
*/
|
|
84
|
-
declare const duplicateStep: <T extends StepLike>(step: T
|
|
87
|
+
declare const duplicateStep: <T extends StepLike>(step: T, options?: {
|
|
88
|
+
preserveUndefined?: boolean;
|
|
89
|
+
}) => Omit<T, "id" | "cvid" | "createdAt" | "updatedAt" | "versionId">;
|
|
85
90
|
/**
|
|
86
91
|
* Process multiple steps for duplication
|
|
87
92
|
* Works with both Prisma Step type (server) and @usertour/types Step (client)
|
package/dist/content-helper.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1902,12 +1902,14 @@ var duplicateData = (data, contentType) => {
|
|
|
1902
1902
|
}
|
|
1903
1903
|
return data;
|
|
1904
1904
|
};
|
|
1905
|
-
var duplicateStep = (step) => {
|
|
1905
|
+
var duplicateStep = (step, options) => {
|
|
1906
|
+
var _a;
|
|
1906
1907
|
const { id, cvid, createdAt, updatedAt, versionId, trigger, target, data, ...rest } = step;
|
|
1908
|
+
const preserveUndefined = (_a = options == null ? void 0 : options.preserveUndefined) != null ? _a : false;
|
|
1907
1909
|
return {
|
|
1908
1910
|
...rest,
|
|
1909
|
-
data: data ? processQuestionElements(data) : data,
|
|
1910
|
-
trigger: trigger ? duplicateTriggers(trigger) : trigger,
|
|
1911
|
+
data: data ? processQuestionElements(data) : preserveUndefined ? data : [],
|
|
1912
|
+
trigger: trigger ? duplicateTriggers(trigger) : preserveUndefined ? trigger : [],
|
|
1911
1913
|
target: duplicateTarget(target)
|
|
1912
1914
|
};
|
|
1913
1915
|
};
|
|
@@ -1915,7 +1917,7 @@ var duplicateSteps = (steps) => {
|
|
|
1915
1917
|
if (!isArray(steps)) {
|
|
1916
1918
|
return [];
|
|
1917
1919
|
}
|
|
1918
|
-
return steps.map((step) => duplicateStep(step));
|
|
1920
|
+
return steps.map((step) => duplicateStep(step, { preserveUndefined: true }));
|
|
1919
1921
|
};
|
|
1920
1922
|
var duplicateStepWithRename = (originalStep, sequence, existingStepNames) => {
|
|
1921
1923
|
const duplicated = duplicateStep(originalStep);
|
package/dist/index.js
CHANGED