@discomedia/utils 1.0.40 → 1.0.41

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.mjs CHANGED
@@ -17214,14 +17214,25 @@ class AlpacaMarketDataAPI extends EventEmitter {
17214
17214
  `Avg Volume: ${avgVolume.toLocaleString()}`);
17215
17215
  }
17216
17216
  /**
17217
- * Get all assets available for trade and data consumption from Alpaca
17218
- * @param params Optional query params: status (e.g. 'active'), asset_class (e.g. 'us_equity', 'crypto')
17217
+ * Get assets available for trade and data consumption from Alpaca
17218
+ * @param params Optional query params
17219
+ * - status: 'active' | 'inactive' (default 'active')
17220
+ * - asset_class: 'us_equity' | 'us_option' | 'crypto' (default 'us_equity')
17221
+ * - shortable: if true (default), filters to assets with shortable=true and easy_to_borrow=true
17219
17222
  * @returns Array of AlpacaAsset objects
17220
17223
  * @see https://docs.alpaca.markets/reference/get-v2-assets-1
17221
17224
  */
17222
17225
  async getAssets(params) {
17223
17226
  // Endpoint: GET /v2/assets
17224
- return this.makeRequest('/assets', 'GET', params, 'api'); // use apiURL
17227
+ const { status = 'active', asset_class = 'us_equity', shortable = true, } = {
17228
+ status: params?.status ?? 'active',
17229
+ asset_class: params?.asset_class ?? 'us_equity',
17230
+ shortable: params?.shortable ?? true,
17231
+ };
17232
+ const assets = await this.makeRequest('/assets', 'GET', { status, asset_class }, 'api');
17233
+ if (!shortable)
17234
+ return assets;
17235
+ return assets.filter((a) => a.shortable === true && a.easy_to_borrow === true);
17225
17236
  }
17226
17237
  /**
17227
17238
  * Get a single asset by symbol or asset_id