metal-orm 1.0.97 → 1.0.98

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -4247,6 +4247,21 @@ declare class SelectQueryBuilder<T = EntityInstance<TableDef>, TTable extends Ta
4247
4247
  page: number;
4248
4248
  pageSize: number;
4249
4249
  }): Promise<PaginatedResult<T>>;
4250
+ /**
4251
+ * Executes the query and returns an array of values for a single column.
4252
+ * This is a convenience method to avoid manual `.map(r => r.column)`.
4253
+ *
4254
+ * @param column - The column name to extract
4255
+ * @param ctx - ORM session context
4256
+ * @returns Promise of an array containing only the values of the specified column
4257
+ * @example
4258
+ * const acronyms = await selectFromEntity(Organization)
4259
+ * .select('acronym')
4260
+ * .distinct(O.acronym)
4261
+ * .pluck('acronym', session);
4262
+ * // ['NASA', 'UN', 'WHO']
4263
+ */
4264
+ pluck<K extends keyof T & string>(column: K, ctx: OrmSession): Promise<T[K][]>;
4250
4265
  /**
4251
4266
  * Executes the query with provided execution and hydration contexts
4252
4267
  * @param execCtx - Execution context
package/dist/index.d.ts CHANGED
@@ -4247,6 +4247,21 @@ declare class SelectQueryBuilder<T = EntityInstance<TableDef>, TTable extends Ta
4247
4247
  page: number;
4248
4248
  pageSize: number;
4249
4249
  }): Promise<PaginatedResult<T>>;
4250
+ /**
4251
+ * Executes the query and returns an array of values for a single column.
4252
+ * This is a convenience method to avoid manual `.map(r => r.column)`.
4253
+ *
4254
+ * @param column - The column name to extract
4255
+ * @param ctx - ORM session context
4256
+ * @returns Promise of an array containing only the values of the specified column
4257
+ * @example
4258
+ * const acronyms = await selectFromEntity(Organization)
4259
+ * .select('acronym')
4260
+ * .distinct(O.acronym)
4261
+ * .pluck('acronym', session);
4262
+ * // ['NASA', 'UN', 'WHO']
4263
+ */
4264
+ pluck<K extends keyof T & string>(column: K, ctx: OrmSession): Promise<T[K][]>;
4250
4265
  /**
4251
4266
  * Executes the query with provided execution and hydration contexts
4252
4267
  * @param execCtx - Execution context
package/dist/index.js CHANGED
@@ -7224,6 +7224,24 @@ var SelectQueryBuilder = class _SelectQueryBuilder {
7224
7224
  const builder = this.ensureDefaultSelection();
7225
7225
  return executePagedQuery(builder, session, options, (sess) => builder.count(sess));
7226
7226
  }
7227
+ /**
7228
+ * Executes the query and returns an array of values for a single column.
7229
+ * This is a convenience method to avoid manual `.map(r => r.column)`.
7230
+ *
7231
+ * @param column - The column name to extract
7232
+ * @param ctx - ORM session context
7233
+ * @returns Promise of an array containing only the values of the specified column
7234
+ * @example
7235
+ * const acronyms = await selectFromEntity(Organization)
7236
+ * .select('acronym')
7237
+ * .distinct(O.acronym)
7238
+ * .pluck('acronym', session);
7239
+ * // ['NASA', 'UN', 'WHO']
7240
+ */
7241
+ async pluck(column, ctx) {
7242
+ const rows = await this.executePlain(ctx);
7243
+ return rows.map((r) => r[column]);
7244
+ }
7227
7245
  /**
7228
7246
  * Executes the query with provided execution and hydration contexts
7229
7247
  * @param execCtx - Execution context