Skip to content

Commit 97ae18f

Browse files
committed
Fix: Return string value for falsy enum values; use comma-only separator
1 parent 23b3b10 commit 97ae18f

2 files changed

Lines changed: 4 additions & 6 deletions

File tree

projects/angular-odata/src/lib/schema/parsers/enum-type.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,13 @@ export class ODataEnumTypeParser<E> extends ODataAnnotatable implements FieldPar
110110
const parserOptions = { ...this.parserOptions, ...options };
111111
if (this.flags) {
112112
let names = this.fields(value as number).map((f) => f.name);
113-
if (names.length === 0 && value) names = [`${value}`];
114-
if (names.length === 0) return undefined;
113+
if (names.length === 0) names = [`${value}`];
115114
return !parserOptions?.stringAsEnum
116115
? `${this.namespace}.${this.name}'${names.join(',')}'`
117116
: names.join(',');
118117
} else {
119118
let name = this.field(value as number)?.name;
120-
if (name === undefined && value) name = `${value}`;
121-
if (name === undefined) return undefined;
119+
if (name === undefined) name = `${value}`;
122120
return !parserOptions?.stringAsEnum ? `${this.namespace}.${this.name}'${name}'` : name;
123121
}
124122
}

projects/angular-odata/src/lib/schema/parsers/parser.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,9 @@ describe('ODataClient', () => {
177177
it('should serialize flags', () => {
178178
const parser = client.parserForType(`${NAMESPACE}.FlagEnums`) as ODataEnumTypeParser<FlagEnums>;
179179
expect(parser !== undefined).toBeTruthy();
180-
expect(parser.serialize(<FlagEnums>3)).toEqual('Flag1, Flag2');
180+
expect(parser.serialize(<FlagEnums>3)).toEqual('Flag1,Flag2');
181181
expect(parser.serialize(<FlagEnums>0)).toEqual('0');
182-
expect(parser.serialize(FlagEnums.Flag1 | FlagEnums.Flag4)).toEqual('Flag1, Flag4');
182+
expect(parser.serialize(FlagEnums.Flag1 | FlagEnums.Flag4)).toEqual('Flag1,Flag4');
183183
});
184184

185185
it('should deserialize flags', () => {

0 commit comments

Comments
 (0)