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