Skip to content

Commit b0d0f53

Browse files
authored
Fix workflow bundler warn due to non-workflow safe import in user-met… (#1767)
1 parent 1d5fea2 commit b0d0f53

File tree

4 files changed

+40
-35
lines changed

4 files changed

+40
-35
lines changed

packages/client/src/schedule-helpers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
extractWorkflowType,
88
LoadedDataConverter,
99
} from '@temporalio/common';
10-
import { encodeUserMetadata, decodeUserMetadata } from '@temporalio/common/lib/user-metadata';
10+
import { encodeUserMetadata, decodeUserMetadata } from '@temporalio/common/lib/internal-non-workflow/codec-helpers';
1111
import {
1212
encodeUnifiedSearchAttributes,
1313
decodeSearchAttributes,

packages/client/src/workflow-client.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {
2424
WorkflowIdConflictPolicy,
2525
compilePriority,
2626
} from '@temporalio/common';
27-
import { encodeUserMetadata } from '@temporalio/common/lib/user-metadata';
27+
import { encodeUserMetadata } from '@temporalio/common/lib/internal-non-workflow/codec-helpers';
2828
import { encodeUnifiedSearchAttributes } from '@temporalio/common/lib/converter/payload-search-attributes';
2929
import { composeInterceptors } from '@temporalio/common/lib/interceptors';
3030
import { History } from '@temporalio/common/lib/proto-utils';

packages/common/src/internal-non-workflow/codec-helpers.ts

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
1+
import type { temporal } from '@temporalio/proto';
12
import { Payload } from '../interfaces';
2-
import { arrayFromPayloads, fromPayloadsAtIndex, toPayloads } from '../converter/payload-converter';
3+
import {
4+
arrayFromPayloads,
5+
convertOptionalToPayload,
6+
fromPayloadsAtIndex,
7+
toPayloads,
8+
} from '../converter/payload-converter';
39
import { PayloadConverterError } from '../errors';
410
import { PayloadCodec } from '../converter/payload-codec';
511
import { ProtoFailure } from '../failure';
612
import { LoadedDataConverter } from '../converter/data-converter';
13+
import { UserMetadata } from '../user-metadata';
714
import { DecodedPayload, DecodedProtoFailure, EncodedPayload, EncodedProtoFailure } from './codec-types';
815

916
/**
@@ -359,3 +366,32 @@ export function noopDecodeMap<K extends string>(
359366
): Record<K, DecodedPayload> | null | undefined {
360367
return map as Record<K, DecodedPayload> | null | undefined;
361368
}
369+
370+
export async function encodeUserMetadata(
371+
dataConverter: LoadedDataConverter,
372+
staticSummary: string | undefined,
373+
staticDetails: string | undefined
374+
): Promise<temporal.api.sdk.v1.IUserMetadata | undefined> {
375+
if (staticSummary == null && staticDetails == null) return undefined;
376+
377+
const { payloadConverter, payloadCodecs } = dataConverter;
378+
const summary = await encodeOptionalSingle(payloadCodecs, convertOptionalToPayload(payloadConverter, staticSummary));
379+
const details = await encodeOptionalSingle(payloadCodecs, convertOptionalToPayload(payloadConverter, staticDetails));
380+
381+
if (summary == null && details == null) return undefined;
382+
383+
return { summary, details };
384+
}
385+
386+
export async function decodeUserMetadata(
387+
dataConverter: LoadedDataConverter,
388+
metadata: temporal.api.sdk.v1.IUserMetadata | undefined | null
389+
): Promise<UserMetadata> {
390+
const res = { staticSummary: undefined, staticDetails: undefined };
391+
if (metadata == null) return res;
392+
393+
const staticSummary = (await decodeOptionalSinglePayload<string>(dataConverter, metadata.summary)) ?? undefined;
394+
const staticDetails = (await decodeOptionalSinglePayload<string>(dataConverter, metadata.details)) ?? undefined;
395+
396+
return { staticSummary, staticDetails };
397+
}
Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
import { temporal } from '@temporalio/proto';
1+
import type { temporal } from '@temporalio/proto';
22
import { convertOptionalToPayload, PayloadConverter } from './converter/payload-converter';
3-
import { LoadedDataConverter } from './converter/data-converter';
4-
import { decodeOptionalSinglePayload, encodeOptionalSingle } from './internal-non-workflow';
53

64
/**
75
* User metadata that can be attached to workflow commands.
@@ -27,32 +25,3 @@ export function userMetadataToPayload(
2725

2826
return { summary, details };
2927
}
30-
31-
export async function encodeUserMetadata(
32-
dataConverter: LoadedDataConverter,
33-
staticSummary: string | undefined,
34-
staticDetails: string | undefined
35-
): Promise<temporal.api.sdk.v1.IUserMetadata | undefined> {
36-
if (staticSummary == null && staticDetails == null) return undefined;
37-
38-
const { payloadConverter, payloadCodecs } = dataConverter;
39-
const summary = await encodeOptionalSingle(payloadCodecs, convertOptionalToPayload(payloadConverter, staticSummary));
40-
const details = await encodeOptionalSingle(payloadCodecs, convertOptionalToPayload(payloadConverter, staticDetails));
41-
42-
if (summary == null && details == null) return undefined;
43-
44-
return { summary, details };
45-
}
46-
47-
export async function decodeUserMetadata(
48-
dataConverter: LoadedDataConverter,
49-
metadata: temporal.api.sdk.v1.IUserMetadata | undefined | null
50-
): Promise<UserMetadata> {
51-
const res = { staticSummary: undefined, staticDetails: undefined };
52-
if (metadata == null) return res;
53-
54-
const staticSummary = (await decodeOptionalSinglePayload<string>(dataConverter, metadata.summary)) ?? undefined;
55-
const staticDetails = (await decodeOptionalSinglePayload<string>(dataConverter, metadata.details)) ?? undefined;
56-
57-
return { staticSummary, staticDetails };
58-
}

0 commit comments

Comments
 (0)