Skip to content

Commit fd40840

Browse files
committed
refactor: derive metadataWithContent directly from type, not type => adapter
1 parent 63ce40e commit fd40840

File tree

5 files changed

+9
-13
lines changed

5 files changed

+9
-13
lines changed

src/registry/registryAccess.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,3 +178,9 @@ export class RegistryAccess {
178178
}
179179
}
180180
}
181+
182+
/** decomposed and default types are `false`, everything else is true */
183+
export const typeAllowsMetadataWithContent = (type: MetadataType): boolean =>
184+
type.strategies?.adapter !== undefined && // another way of saying default
185+
type.strategies.adapter !== 'decomposed' &&
186+
type.strategies.adapter !== 'default';

src/resolve/adapters/baseSourceAdapter.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { NodeFSTreeContainer, TreeContainer } from '../treeContainers';
1414
import { SourceComponent } from '../sourceComponent';
1515
import { SourcePath } from '../../common/types';
1616
import { MetadataType } from '../../registry/types';
17-
import { RegistryAccess } from '../../registry/registryAccess';
17+
import { RegistryAccess, typeAllowsMetadataWithContent } from '../../registry/registryAccess';
1818

1919
Messages.importMessagesDirectory(__dirname);
2020
const messages = Messages.loadMessages('@salesforce/source-deploy-retrieve', 'sdr');
@@ -30,7 +30,6 @@ export abstract class BaseSourceAdapter implements SourceAdapter {
3030
* folder, including its root metadata xml file.
3131
*/
3232
protected ownFolder = false;
33-
protected metadataWithContent = true;
3433

3534
public constructor(
3635
type: MetadataType,
@@ -107,7 +106,7 @@ export abstract class BaseSourceAdapter implements SourceAdapter {
107106
return folderMetadataXml;
108107
}
109108

110-
if (!this.metadataWithContent) {
109+
if (!typeAllowsMetadataWithContent(this.type)) {
111110
return parseAsContentMetadataXml(this.type)(path);
112111
}
113112
}

src/resolve/adapters/decomposedSourceAdapter.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ const messages = Messages.loadMessages('@salesforce/source-deploy-retrieve', 'sd
4343
*/
4444
export class DecomposedSourceAdapter extends MixedContentSourceAdapter {
4545
protected ownFolder = true;
46-
protected metadataWithContent = false;
4746

4847
public getComponent(path: SourcePath, isResolvingSource = true): SourceComponent | undefined {
4948
let rootMetadata = super.parseAsRootMetadataXml(path);

src/resolve/adapters/defaultSourceAdapter.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ import { BaseSourceAdapter } from './baseSourceAdapter';
2323
*```
2424
*/
2525
export class DefaultSourceAdapter extends BaseSourceAdapter {
26-
protected metadataWithContent = false;
27-
2826
/* istanbul ignore next */
2927
// retained to preserve API
3028
// eslint-disable-next-line class-methods-use-this

src/resolve/metadataResolver.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import { basename, dirname, sep } from 'node:path';
88
import { Lifecycle, Messages, SfError, Logger } from '@salesforce/core';
99
import { extName, fnJoin, parentName, parseMetadataXml } from '../utils/path';
10-
import { RegistryAccess } from '../registry/registryAccess';
10+
import { RegistryAccess, typeAllowsMetadataWithContent } from '../registry/registryAccess';
1111
import { MetadataType } from '../registry/types';
1212
import { ComponentSet } from '../collections/componentSet';
1313
import { META_XML_SUFFIX } from '../common/constants';
@@ -442,9 +442,3 @@ const pathIncludesDirName =
442442
* @param fsPath File path of a potential metadata xml file
443443
*/
444444
const parseAsRootMetadataXml = (fsPath: string): boolean => Boolean(parseMetadataXml(fsPath));
445-
446-
/** decomposed and default types are `false`, everything else is true */
447-
const typeAllowsMetadataWithContent = (type: MetadataType): boolean =>
448-
type.strategies?.adapter !== undefined && // another way of saying default
449-
type.strategies.adapter !== 'decomposed' &&
450-
type.strategies.adapter !== 'default';

0 commit comments

Comments
 (0)