MCPcopy Create free account
hub / github.com/mikro-orm/mikro-orm / buildCloneFields

Function buildCloneFields

packages/sql/src/AbstractSqlDriver.ts:1108–1132  ·  view source on GitHub ↗
(
    props: EntityProperty<T>[],
    mappedOverrides: Dictionary | undefined,
    meta: EntityMetadata<T>,
  )

Source from the content-addressed store, hash-verified

1106 }
1107
1108 private buildCloneFields<T extends object>(
1109 props: EntityProperty<T>[],
1110 mappedOverrides: Dictionary | undefined,
1111 meta: EntityMetadata<T>,
1112 ): { selectFields: (string | RawQueryFragment)[]; insertColumns: string[] } {
1113 const selectFields: (string | RawQueryFragment)[] = [];
1114 const insertColumns: string[] = [];
1115
1116 for (const prop of props) {
1117 for (const fieldName of prop.fieldNames) {
1118 insertColumns.push(fieldName);
1119
1120 if (mappedOverrides && fieldName in mappedOverrides) {
1121 selectFields.push(raw('? as ??', [mappedOverrides[fieldName], fieldName]));
1122 } else if (meta.versionProperty === prop.name) {
1123 const initial = prop.runtimeType === 'Date' ? new Date() : 1;
1124 selectFields.push(raw('? as ??', [initial, fieldName]));
1125 } else {
1126 selectFields.push(fieldName);
1127 }
1128 }
1129 }
1130
1131 return { selectFields, insertColumns };
1132 }
1133
1134 private getCloneableProps<T extends object>(meta: EntityMetadata<T>, ownProps?: boolean): EntityProperty<T>[] {
1135 return (ownProps ? (meta.ownProps ?? meta.props) : meta.props).filter(prop => {

Callers

nothing calls this directly

Calls 2

rawFunction · 0.90
pushMethod · 0.80

Tested by

no test coverage detected