domain-objects
Version:
A simple, convenient way to represent domain objects, leverage domain knowledge, and add runtime validation in your code base.
28 lines (27 loc) • 1.04 kB
TypeScript
/**
* determines whether property name is an intuitive reference to a domain object
*
* options
* - entire match
* - prefix match
* - suffix match
*
* for example:
* - `address: Address` => true
* - `homeAddress: Address` => true
* - `home: Address` => false 🚫
* - `engineerUuid: Engineer` => true
* - `leadEngineerUuid: Engineer` => true
* - `engineerUuids: Engineer` => true
* - `assignedEngineerUuids: Engineer` => true
* - `lead: Engineer` => false 🚫
* - `leadUuid: Engineer` => false 🚫
* - `assignedUuids: Engineer` => false 🚫
* - `leadEngineerUuid: LeadEngineer` => true
* - `headEngineerUuid: LeadEngineer` => false 🚫 // close, but not fully qualified -> not explicit
* - `engineerUuid: LeadEngineer` => false 🚫 // close, but not fully qualified -> not explicit
*/
export declare const isPropertyNameAReferenceExplicitly: ({ propertyName: propertyNamePotentiallyWithIrrelevantSuffixes, domainObjectName, }: {
propertyName: string;
domainObjectName: string;
}) => boolean;