MCPcopy Create free account
hub / github.com/zenstackhq/zenstack / getDiscriminatorField

Function getDiscriminatorField

packages/orm/src/client/query-utils.ts:453–464  ·  view source on GitHub ↗
(schema: SchemaDef, model: string)

Source from the content-addressed store, hash-verified

451}
452
453export function getDiscriminatorField(schema: SchemaDef, model: string) {
454 const modelDef = requireModel(schema, model);
455 const delegateAttr = modelDef.attributes?.find((attr) => attr.name === '@@delegate');
456 if (!delegateAttr) {
457 return undefined;
458 }
459 const discriminator = delegateAttr.args?.find((arg) => arg.name === 'discriminator');
460 if (!discriminator || !ExpressionUtils.isField(discriminator.value)) {
461 throw createInternalError(`Discriminator field not defined for model "${model}"`, model);
462 }
463 return discriminator.value.field;
464}
465
466export function getDelegateDiscriminatorValue(schema: SchemaDef, model: string) {
467 const modelDef = requireModel(schema, model);

Callers 2

processBaseModelCreateFunction · 0.90

Calls 3

createInternalErrorFunction · 0.90
findMethod · 0.80
requireModelFunction · 0.70

Tested by

no test coverage detected