@replohq/sandbox-runtime 1.24.4 → 1.24.6

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.
@@ -22,4 +22,9 @@ export declare function getHmacSha256Hex({ rawBody, signingKey, }: {
22
22
  rawBody: string;
23
23
  signingKey: string;
24
24
  }): Promise<string>;
25
+ export declare function isValidHmacSha256Hex({ rawBody, signingKey, signature, }: {
26
+ rawBody: string;
27
+ signingKey: string;
28
+ signature: string;
29
+ }): Promise<boolean>;
25
30
  export declare function deterministicUUID(value: string): string;
@@ -1 +1 @@
1
- export { base64UrlToBytes, bytesToBase64Url, constantTimeEqual, deterministicUUID, getHmacSha256Hex, randomBase64Url, randomUUID, sha256Hex } from '../../../chunk-ZTT7SNYN.mjs';
1
+ export { base64UrlToBytes, bytesToBase64Url, constantTimeEqual, deterministicUUID, getHmacSha256Hex, isValidHmacSha256Hex, randomBase64Url, randomUUID, sha256Hex } from '../../../chunk-WMAKU6GT.mjs';
@@ -1,6 +1,2 @@
1
1
  export declare function parseJsonOrNull(json: string): unknown | null;
2
- export declare function omitJsonObjectFieldsOrNull({ json, fields, }: {
3
- json: string;
4
- fields: string[];
5
- }): string | null;
6
2
  export declare function jsonStringifyOrNull(value: unknown): string | null;
@@ -1,4 +1,4 @@
1
- import { randomUUID } from '../../../chunk-ZTT7SNYN.mjs';
1
+ import { randomUUID } from '../../../chunk-WMAKU6GT.mjs';
2
2
  import { isNumber_default } from '../../../chunk-SKVPFN7M.mjs';
3
3
  import '../../../chunk-XYS6G2ZC.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- export { coerceNumberToString, deepCloneAndMergeReplacingArrays, errorMessage, exhaustiveSwitch, formatFileSize, getFromRecordOrNull, hasOwnProperty, invariant, isEmpty, isFunction_default as isFunction, isNotNullish, isNullish, isPrimitive, isString_default as isString, mergeReplacingArrays, mergeReplacingObjects, noop, preventDefault, sleep, sleepWithSignal, warning } from '../../../chunk-THOBCJJA.mjs';
1
+ export { coerceNumberToString, deepCloneAndMergeReplacingArrays, errorMessage, exhaustiveSwitch, formatFileSize, getFromRecordOrNull, hasOwnProperty, invariant, isEmpty, isFunction_default as isFunction, isNotNullish, isNullish, isPrimitive, isString_default as isString, mergeReplacingArrays, mergeReplacingObjects, noop, preventDefault, sleep, sleepWithSignal, warning } from '../../../chunk-HB4GV2QH.mjs';
2
2
  export { isNumber_default as isNumber } from '../../../chunk-SKVPFN7M.mjs';
3
3
  import '../../../chunk-4ITJNSXZ.mjs';
4
4
  import '../../../chunk-XYS6G2ZC.mjs';
@@ -1,4 +1,4 @@
1
- import { randomUUID } from '../../../chunk-ZTT7SNYN.mjs';
1
+ import { randomUUID } from '../../../chunk-WMAKU6GT.mjs';
2
2
 
3
3
  var PAGE_CAPTURE_REQUEST = "replo:page-capture:request";
4
4
  var PAGE_CAPTURE_RESPONSE = "replo:page-capture:response";
@@ -0,0 +1 @@
1
+ export declare const FEATURE_TYPES: readonly ["credits", "shopifyThemeBuilder.publishedElements", "sites", "shopifyThemeBuilder.projects"];
@@ -1,5 +1,5 @@
1
- import { commentAnchorSchema, displayModeSchema, commentAnchorElementSchema } from '../../chunk-CGRTGQO5.mjs';
2
- import '../../chunk-THOBCJJA.mjs';
1
+ import { commentAnchorSchema, displayModeSchema, commentAnchorElementSchema } from '../../chunk-YNBU56LF.mjs';
2
+ import '../../chunk-HB4GV2QH.mjs';
3
3
  import '../../chunk-SKVPFN7M.mjs';
4
4
  import '../../chunk-4ITJNSXZ.mjs';
5
5
  import '../../chunk-XYS6G2ZC.mjs';
@@ -249,6 +249,12 @@ export declare const errorUserFacingDetailsMessageSchema: z.ZodObject<{
249
249
  maximum: z.ZodNumber;
250
250
  }, z.core.$strip>>;
251
251
  plan: z.ZodOptional<z.ZodString>;
252
+ featureType: z.ZodCatch<z.ZodOptional<z.ZodEnum<{
253
+ credits: "credits";
254
+ "shopifyThemeBuilder.publishedElements": "shopifyThemeBuilder.publishedElements";
255
+ sites: "sites";
256
+ "shopifyThemeBuilder.projects": "shopifyThemeBuilder.projects";
257
+ }>>>;
252
258
  callToAction: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
253
259
  type: z.ZodLiteral<"reload">;
254
260
  }, z.core.$strip>, z.ZodObject<{
@@ -316,6 +322,12 @@ export declare const errorUserFacingDetailsSchema: z.ZodDiscriminatedUnion<[z.Zo
316
322
  maximum: z.ZodNumber;
317
323
  }, z.core.$strip>>;
318
324
  plan: z.ZodOptional<z.ZodString>;
325
+ featureType: z.ZodCatch<z.ZodOptional<z.ZodEnum<{
326
+ credits: "credits";
327
+ "shopifyThemeBuilder.publishedElements": "shopifyThemeBuilder.publishedElements";
328
+ sites: "sites";
329
+ "shopifyThemeBuilder.projects": "shopifyThemeBuilder.projects";
330
+ }>>>;
319
331
  callToAction: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
320
332
  type: z.ZodLiteral<"reload">;
321
333
  }, z.core.$strip>, z.ZodObject<{
@@ -1,6 +1,6 @@
1
- import { createIframeRpcChannel } from '../../chunk-6WREP7C2.mjs';
2
- import '../../chunk-ZTT7SNYN.mjs';
3
- import '../../chunk-THOBCJJA.mjs';
1
+ import { createIframeRpcChannel } from '../../chunk-Y5IA6NXD.mjs';
2
+ import '../../chunk-WMAKU6GT.mjs';
3
+ import '../../chunk-HB4GV2QH.mjs';
4
4
  import '../../chunk-SKVPFN7M.mjs';
5
5
  import '../../chunk-4ITJNSXZ.mjs';
6
6
  import '../../chunk-XYS6G2ZC.mjs';
@@ -12,6 +12,7 @@ export type ErrorUserFacingDetailsWithMessage = {
12
12
  maximum: number;
13
13
  };
14
14
  plan?: string;
15
+ featureType?: ("credits" | "shopifyThemeBuilder.publishedElements" | "sites" | "shopifyThemeBuilder.projects") | undefined;
15
16
  callToAction?: {
16
17
  type: "reload";
17
18
  } | {
@@ -1,6 +1,6 @@
1
- export { createIframeRpcChannel, createIframeRpcRemote, iframeRpcCallSchema } from '../../chunk-6WREP7C2.mjs';
2
- import '../../chunk-ZTT7SNYN.mjs';
3
- import '../../chunk-THOBCJJA.mjs';
1
+ export { createIframeRpcChannel, createIframeRpcRemote, iframeRpcCallSchema } from '../../chunk-Y5IA6NXD.mjs';
2
+ import '../../chunk-WMAKU6GT.mjs';
3
+ import '../../chunk-HB4GV2QH.mjs';
4
4
  import '../../chunk-SKVPFN7M.mjs';
5
5
  import '../../chunk-4ITJNSXZ.mjs';
6
6
  import '../../chunk-XYS6G2ZC.mjs';
@@ -130,3 +130,54 @@ export declare const pageHeatmapIframeMessageSchema: z.ZodDiscriminatedUnion<[z.
130
130
  type: z.ZodLiteral<"replo:heatmap:elementClicked">;
131
131
  selector: z.ZodNullable<z.ZodString>;
132
132
  }, z.core.$strip>], "type">;
133
+ /** Share of sessions that scrolled at least this far down the page, at each quarter. */
134
+ export declare function getScrollReachRows(scroll: {
135
+ pct: number;
136
+ views: number;
137
+ }[]): {
138
+ depth: number;
139
+ share: number;
140
+ }[];
141
+ export declare const listHeatmapPagesOutputSchema: z.ZodObject<{
142
+ pages: z.ZodArray<z.ZodObject<{
143
+ path: z.ZodString;
144
+ capture: z.ZodEnum<{
145
+ clicks: "clicks";
146
+ heatmap: "heatmap";
147
+ }>;
148
+ sessions: z.ZodNumber;
149
+ clicks: z.ZodNumber;
150
+ purchaseSessions: z.ZodNumber;
151
+ revenue: z.ZodNumber;
152
+ hasSiteSnapshot: z.ZodBoolean;
153
+ }, z.core.$strip>>;
154
+ }, z.core.$strip>;
155
+ export declare const getPageHeatmapOutputSchema: z.ZodObject<{
156
+ path: z.ZodString;
157
+ device: z.ZodString;
158
+ days: z.ZodNumber;
159
+ hasPicture: z.ZodBoolean;
160
+ totals: z.ZodObject<{
161
+ sessions: z.ZodNumber;
162
+ clicks: z.ZodNumber;
163
+ purchaseSessions: z.ZodNumber;
164
+ purchases: z.ZodNumber;
165
+ cartSessions: z.ZodNumber;
166
+ rageClicks: z.ZodNumber;
167
+ revenue: z.ZodNumber;
168
+ }, z.core.$strip>;
169
+ firstScreenHeight: z.ZodNumber;
170
+ scrollReach: z.ZodArray<z.ZodObject<{
171
+ depth: z.ZodNumber;
172
+ share: z.ZodNumber;
173
+ }, z.core.$strip>>;
174
+ topElements: z.ZodArray<z.ZodObject<{
175
+ label: z.ZodString;
176
+ clicks: z.ZodNumber;
177
+ sessions: z.ZodNumber;
178
+ purchaseSessions: z.ZodNumber;
179
+ revenue: z.ZodNumber;
180
+ rageClicks: z.ZodNumber;
181
+ pagePosition: z.ZodNumber;
182
+ }, z.core.$strip>>;
183
+ }, z.core.$strip>;
@@ -68,5 +68,59 @@ var pageHeatmapIframeMessageSchema = z.discriminatedUnion("type", [
68
68
  pageHeatmapDrawnMessageSchema,
69
69
  pageHeatmapElementClickedMessageSchema
70
70
  ]).describe("PageHeatmapIframeMessage");
71
+ var SCROLL_REACH_DEPTHS = [25, 50, 75, 100];
72
+ function getScrollReachRows(scroll) {
73
+ const total = scroll.reduce((sum, bucket) => sum + bucket.views, 0);
74
+ return SCROLL_REACH_DEPTHS.map((depth) => {
75
+ const reached = scroll.reduce((sum, bucket) => {
76
+ return bucket.pct >= depth ? sum + bucket.views : sum;
77
+ }, 0);
78
+ return { depth, share: total > 0 ? reached / total : 0 };
79
+ });
80
+ }
81
+ var heatNumberSchema = z.number();
82
+ var listHeatmapPagesOutputSchema = z.object({
83
+ pages: z.array(
84
+ z.object({
85
+ path: z.string(),
86
+ capture: z.enum(["heatmap", "clicks"]),
87
+ sessions: heatNumberSchema,
88
+ clicks: heatNumberSchema,
89
+ purchaseSessions: heatNumberSchema,
90
+ revenue: heatNumberSchema,
91
+ hasSiteSnapshot: z.boolean()
92
+ })
93
+ )
94
+ });
95
+ var getPageHeatmapOutputSchema = z.object({
96
+ path: z.string(),
97
+ device: z.string(),
98
+ days: heatNumberSchema,
99
+ hasPicture: z.boolean(),
100
+ totals: z.object({
101
+ sessions: heatNumberSchema,
102
+ clicks: heatNumberSchema,
103
+ purchaseSessions: heatNumberSchema,
104
+ purchases: heatNumberSchema,
105
+ cartSessions: heatNumberSchema,
106
+ rageClicks: heatNumberSchema,
107
+ revenue: heatNumberSchema
108
+ }),
109
+ firstScreenHeight: heatNumberSchema,
110
+ scrollReach: z.array(
111
+ z.object({ depth: heatNumberSchema, share: heatNumberSchema })
112
+ ),
113
+ topElements: z.array(
114
+ z.object({
115
+ label: z.string(),
116
+ clicks: heatNumberSchema,
117
+ sessions: heatNumberSchema,
118
+ purchaseSessions: heatNumberSchema,
119
+ revenue: heatNumberSchema,
120
+ rageClicks: heatNumberSchema,
121
+ pagePosition: heatNumberSchema
122
+ })
123
+ )
124
+ });
71
125
 
72
- export { PAGE_HEATMAP_MAX_BADGES, PAGE_HEATMAP_MAX_CLICKS, PAGE_HEATMAP_MAX_SECTIONS, PAGE_HEATMAP_PROTOCOL_VERSION, pageHeatmapBadgeSchema, pageHeatmapClearMessageSchema, pageHeatmapClickSchema, pageHeatmapDrawnMessageSchema, pageHeatmapElementClickedMessageSchema, pageHeatmapElementSectionSchema, pageHeatmapFocusMessageSchema, pageHeatmapIframeMessageSchema, pageHeatmapModeSchema, pageHeatmapParentMessageSchema, pageHeatmapReadyMessageSchema, pageHeatmapRequestReadyMessageSchema, pageHeatmapScrollBucketSchema, pageHeatmapSetMessageSchema };
126
+ export { PAGE_HEATMAP_MAX_BADGES, PAGE_HEATMAP_MAX_CLICKS, PAGE_HEATMAP_MAX_SECTIONS, PAGE_HEATMAP_PROTOCOL_VERSION, getPageHeatmapOutputSchema, getScrollReachRows, listHeatmapPagesOutputSchema, pageHeatmapBadgeSchema, pageHeatmapClearMessageSchema, pageHeatmapClickSchema, pageHeatmapDrawnMessageSchema, pageHeatmapElementClickedMessageSchema, pageHeatmapElementSectionSchema, pageHeatmapFocusMessageSchema, pageHeatmapIframeMessageSchema, pageHeatmapModeSchema, pageHeatmapParentMessageSchema, pageHeatmapReadyMessageSchema, pageHeatmapRequestReadyMessageSchema, pageHeatmapScrollBucketSchema, pageHeatmapSetMessageSchema };
@@ -1,6 +1,6 @@
1
- import { createIframeRpcChannel } from '../../chunk-6WREP7C2.mjs';
2
- import '../../chunk-ZTT7SNYN.mjs';
3
- import '../../chunk-THOBCJJA.mjs';
1
+ import { createIframeRpcChannel } from '../../chunk-Y5IA6NXD.mjs';
2
+ import '../../chunk-WMAKU6GT.mjs';
3
+ import '../../chunk-HB4GV2QH.mjs';
4
4
  import '../../chunk-SKVPFN7M.mjs';
5
5
  import '../../chunk-4ITJNSXZ.mjs';
6
6
  import '../../chunk-XYS6G2ZC.mjs';
@@ -1,5 +1,5 @@
1
- export { SELECT_MODE_SELECTABLE_ATTRIBUTE, SELECT_MODE_SELECTABLE_PAYLOAD_ATTRIBUTE, displayModeSchema, getIframeOffset, isSelectedSection, readSelectablePayload, selectModeBoundingRectSchema, selectModeClickPositionSchema, selectModeDefinedStyleSchema, selectModeFiberChainEntrySchema, selectModeFormatCommandSchema, selectModeHoverRectSchema, selectModeImageSchema, selectModeImageScopeSchema, selectModeImageSourceSchema, selectModeInlineTextStatusSchema, selectModeOptimisticUpdatePayloadSchema, selectModeSelectionRectSchema, selectModeSelectionSchema, selectModeSelectionTypeSchema, selectModeSourceLocationSchema, selectModeStyleAtRuleSchema, selectModeStyleVariantSchema, selectModeTextMetricsSchema, selectModeTiptapActiveMarksSchema, selectModeVideoSchema, selectableDataPayloadSchema, selectableDataSchema, selectablePlanDataSchema, selectablePlanPayloadSchema, selectedElementSchema, transformPoint, transformRect, transformSelectableData, transformSelectedElement } from '../../chunk-CGRTGQO5.mjs';
2
- import '../../chunk-THOBCJJA.mjs';
1
+ export { SELECT_MODE_SELECTABLE_ATTRIBUTE, SELECT_MODE_SELECTABLE_PAYLOAD_ATTRIBUTE, displayModeSchema, getIframeOffset, isSelectedSection, readSelectablePayload, selectModeBoundingRectSchema, selectModeClickPositionSchema, selectModeDefinedStyleSchema, selectModeFiberChainEntrySchema, selectModeFormatCommandSchema, selectModeHoverRectSchema, selectModeImageSchema, selectModeImageScopeSchema, selectModeImageSourceSchema, selectModeInlineTextStatusSchema, selectModeOptimisticUpdatePayloadSchema, selectModeSelectionRectSchema, selectModeSelectionSchema, selectModeSelectionTypeSchema, selectModeSourceLocationSchema, selectModeStyleAtRuleSchema, selectModeStyleVariantSchema, selectModeTextMetricsSchema, selectModeTiptapActiveMarksSchema, selectModeVideoSchema, selectableDataPayloadSchema, selectableDataSchema, selectablePlanDataSchema, selectablePlanPayloadSchema, selectedElementSchema, transformPoint, transformRect, transformSelectableData, transformSelectedElement } from '../../chunk-YNBU56LF.mjs';
2
+ import '../../chunk-HB4GV2QH.mjs';
3
3
  import '../../chunk-SKVPFN7M.mjs';
4
4
  import '../../chunk-4ITJNSXZ.mjs';
5
5
  import '../../chunk-XYS6G2ZC.mjs';
@@ -1,5 +1,5 @@
1
- import { selectModeBoundingRectSchema, selectModeTiptapActiveMarksSchema, selectModeSelectionRectSchema, selectableDataSchema, selectModeHoverRectSchema, selectModeFormatCommandSchema, selectModeOptimisticUpdatePayloadSchema, selectModeSelectionTypeSchema, displayModeSchema, selectModeClickPositionSchema, selectedElementSchema } from '../../chunk-CGRTGQO5.mjs';
2
- import '../../chunk-THOBCJJA.mjs';
1
+ import { selectModeBoundingRectSchema, selectModeTiptapActiveMarksSchema, selectModeSelectionRectSchema, selectableDataSchema, selectModeHoverRectSchema, selectModeFormatCommandSchema, selectModeOptimisticUpdatePayloadSchema, selectModeSelectionTypeSchema, displayModeSchema, selectModeClickPositionSchema, selectedElementSchema } from '../../chunk-YNBU56LF.mjs';
2
+ import '../../chunk-HB4GV2QH.mjs';
3
3
  import '../../chunk-SKVPFN7M.mjs';
4
4
  import '../../chunk-4ITJNSXZ.mjs';
5
5
  import '../../chunk-XYS6G2ZC.mjs';
package/buildMetadata.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export const BUILD_METADATA = {
2
2
  "packageName": "@replohq/sandbox-runtime",
3
- "version": "1.24.4",
3
+ "version": "1.24.6",
4
4
  "branch": "HEAD",
5
- "commit": "49a643c73e7608adcefebcd5c5e27c3e6d0c05a9",
6
- "builtAt": "2026-11-04T22:05:21.699Z"
5
+ "commit": "12bcf877e300038e72dc16ebd4fcdec038826d27",
6
+ "builtAt": "2026-11-08T23:15:21.565Z"
7
7
  };
@@ -63,8 +63,19 @@ async function getHmacSha256Hex({
63
63
  );
64
64
  return [...new Uint8Array(signature)].map((byte) => byte.toString(16).padStart(2, "0")).join("");
65
65
  }
66
+ async function isValidHmacSha256Hex({
67
+ rawBody,
68
+ signingKey,
69
+ signature
70
+ }) {
71
+ const encoder = new TextEncoder();
72
+ return constantTimeEqual({
73
+ left: encoder.encode(await getHmacSha256Hex({ rawBody, signingKey })),
74
+ right: encoder.encode(signature)
75
+ });
76
+ }
66
77
  function deterministicUUID(value) {
67
78
  return v5(value, v5.URL);
68
79
  }
69
80
 
70
- export { base64UrlToBytes, bytesToBase64Url, constantTimeEqual, deterministicUUID, getHmacSha256Hex, randomBase64Url, randomUUID, sha256Hex };
81
+ export { base64UrlToBytes, bytesToBase64Url, constantTimeEqual, deterministicUUID, getHmacSha256Hex, isValidHmacSha256Hex, randomBase64Url, randomUUID, sha256Hex };
@@ -1,5 +1,5 @@
1
- import { randomUUID } from './chunk-ZTT7SNYN.mjs';
2
- import { isNullish } from './chunk-THOBCJJA.mjs';
1
+ import { randomUUID } from './chunk-WMAKU6GT.mjs';
2
+ import { isNullish } from './chunk-HB4GV2QH.mjs';
3
3
  import * as z from 'zod';
4
4
 
5
5
  var defaultLogger = {
@@ -8,6 +8,13 @@ var defaultLogger = {
8
8
  error: console.error
9
9
  };
10
10
 
11
+ var FEATURE_TYPES = [
12
+ "credits",
13
+ "shopifyThemeBuilder.publishedElements",
14
+ "sites",
15
+ "shopifyThemeBuilder.projects"
16
+ ];
17
+
11
18
  var ReploError = class _ReploError extends Error {
12
19
  config;
13
20
  id;
@@ -53,6 +60,7 @@ var errorUserFacingDetailsMessageSchema = z.object({
53
60
  maximum: z.number()
54
61
  }).optional(),
55
62
  plan: z.string().optional(),
63
+ featureType: z.enum(FEATURE_TYPES).optional().catch(void 0),
56
64
  callToAction: z.discriminatedUnion("type", [
57
65
  z.object({ type: z.literal("reload") }),
58
66
  z.object({ type: z.literal("installApp") }),
@@ -1,4 +1,4 @@
1
- import { exhaustiveSwitch } from './chunk-THOBCJJA.mjs';
1
+ import { exhaustiveSwitch } from './chunk-HB4GV2QH.mjs';
2
2
  import * as z from 'zod';
3
3
 
4
4
  function parseJsonOrNull(json) {
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@replohq/sandbox-runtime",
3
- "version": "1.24.4",
3
+ "version": "1.24.6",
4
4
  "reploBuild": {
5
5
  "packageName": "@replohq/sandbox-runtime",
6
- "version": "1.24.4",
6
+ "version": "1.24.6",
7
7
  "branch": "HEAD",
8
- "commit": "49a643c73e7608adcefebcd5c5e27c3e6d0c05a9",
9
- "builtAt": "2026-11-04T22:05:21.699Z"
8
+ "commit": "12bcf877e300038e72dc16ebd4fcdec038826d27",
9
+ "builtAt": "2026-11-08T23:15:21.565Z"
10
10
  },
11
11
  "description": "Replo sandbox runtime — editor integration for agent-built Next.js sites.",
12
12
  "license": "SEE LICENSE IN LICENSE",
@@ -1,46 +0,0 @@
1
- import { dequal as dequalLite } from "dequal/lite";
2
- interface ForEachPrimitiveValueArgs {
3
- target: Record<string, any> | unknown[] | null;
4
- fn: (value: unknown, key: string, newTarget: Record<string, any>) => void;
5
- valueConversionFunction?: (transformValue: Record<string, any> | unknown[]) => Record<string, any> | unknown[];
6
- }
7
- /** There's probably a bug somewhere here since it assumes target is initially an object */
8
- export declare function forEachPrimitiveValue({ target, fn, valueConversionFunction, }: ForEachPrimitiveValueArgs): void;
9
- export declare function shallowEqual(objA: unknown, objB: unknown): boolean;
10
- /**
11
- * Internally we use `dequal` for deep equality checks. It benchmarks faster
12
- * than lodash and most other libraries.
13
- *
14
- * This function is an alias for `dequal`'s "lite" module. It does not check
15
- * equality for `Map` or `Set` values. If you need to compare those, use
16
- * `deepEqualHeavy`.
17
- *
18
- * @see https://github.com/lukeed/dequal#modes
19
- */
20
- export declare const deepEqual: typeof dequalLite;
21
- /**
22
- * Creates a new object with specified keys omitted.
23
- *
24
- * @param obj - The source object
25
- * @param keysToOmit - Array of keys to omit from the result
26
- * @returns A new object without the specified keys
27
- */
28
- export declare function omit<ObjectType extends Record<string, any>, KeyType extends keyof ObjectType>(obj: ObjectType, keysToOmit: KeyType[]): Omit<ObjectType, KeyType>;
29
- /**
30
- * `ObjectType` with every key that can hold `undefined` made optional and
31
- * `undefined` removed from its value type. Keys that can't be `undefined`
32
- * stay required.
33
- */
34
- export type WithoutUndefined<ObjectType> = {
35
- [Key in keyof ObjectType as undefined extends ObjectType[Key] ? never : Key]: ObjectType[Key];
36
- } & {
37
- [Key in keyof ObjectType as undefined extends ObjectType[Key] ? Key : never]?: Exclude<ObjectType[Key], undefined>;
38
- };
39
- /**
40
- * Copies `data` without its `undefined`-valued own keys. A plain loop rather
41
- * than lodash `pickBy`: this ships in the published SDK, and `pickBy` drags in
42
- * lodash's iteratee-shorthand machinery (~6 KB gzipped) for a one-line check.
43
- */
44
- export declare function filterUndefined<ObjectType extends Record<string, unknown>>(data: ObjectType): WithoutUndefined<ObjectType>;
45
- export declare function toNullableIfDefined<ValueType>(value: ValueType | undefined): ValueType | null | undefined;
46
- export {};
File without changes