@discomedia/utils 1.0.20 → 1.0.21

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.
@@ -112,10 +112,14 @@ export declare const disco: {
112
112
  getMarketOpenClose: typeof mt.getMarketOpenClose;
113
113
  getLastFullTradingDate: typeof mt.getLastFullTradingDate;
114
114
  getNextMarketDay: typeof mt.getNextMarketDay;
115
+ getPreviousMarketDay: typeof mt.getPreviousMarketDay;
116
+ getMarketTimePeriod: typeof mt.getMarketTimePeriod;
115
117
  getMarketStatus: typeof mt.getMarketStatus;
116
118
  getNYTimeZone: typeof mt.getNYTimeZone;
117
119
  getTradingDate: typeof mt.getTradingDate;
118
120
  getTradingStartAndEndDates: typeof mt.getTradingStartAndEndDates;
121
+ isMarketDay: typeof mt.isMarketDay;
122
+ isWithinMarketHours: typeof mt.isWithinMarketHours;
119
123
  countTradingDays: typeof mt.countTradingDays;
120
124
  MARKET_TIMES: Types.MarketTimesConfig;
121
125
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAK3C,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;kBA4Bd,CAAF;;;kBAqCwI,CAAC;;;kBAA4zC,CAAC;;;kBAAkwC,CAAC;;;kBAAisD,CAAC;gBAAkB,CAAC;iBAAmB,CAAC;iBAAmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;kBAlDv8I,CAAC;;;kBAkDipS,CAAC;oBAAsB,CAAC;sBAAyB,CAAC;;;kBAAhxP,CAAC;;;kBAAwjc,CAAC;qBAAuB,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;iBAA4B,CAAC;iBAA2B,CAAC;gBAAkB,CAAC;;;;;eAA5/W,CAAC;;;iBAAiE,CAAC;;kBAAmC,CAAC;;;;;kBAA65Q,CAAC;oBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADnxZ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAM3C,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;kBA2Bd,CAAC;;;kBAsCA,CAAC;;;kBAIguC,CAAC;;;kBAAkwC,CAAC;;;kBAAisD,CAAC;gBAAkB,CAAC;iBAAmB,CAAC;iBAAmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;kBAvDrtI,CAAC;;;kBAuD+5R,CAAC;oBAAsB,CAAC;sBAAyB,CAAC;;;kBAAhxP,CAAC;;;kBAAwjc,CAAC;qBAAuB,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;iBAA4B,CAAC;iBAA2B,CAAC;gBAAkB,CAAC;;;;;eAA5/W,CAAC;;;iBAAiE,CAAC;;kBAAmC,CAAC;;;;;kBAA65Q,CAAC;oBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADljZ,CAAC"}
@@ -34,6 +34,19 @@ export declare const MARKET_CONFIG: {
34
34
  };
35
35
  };
36
36
  };
37
+ /**
38
+ * Checks if a date/time is within market hours, extended hours, or continuous.
39
+ * @param date - Date object
40
+ * @param intradayReporting - 'market_hours', 'extended_hours', or 'continuous'
41
+ * @returns true if within hours, false otherwise
42
+ */
43
+ export declare function isWithinMarketHours(date: Date, intradayReporting?: IntradayReporting): boolean;
44
+ /**
45
+ * Returns the start and end dates for a market time period.
46
+ * @param params - MarketTimeParams
47
+ * @returns PeriodDates object
48
+ */
49
+ export declare function getMarketTimePeriod(params: MarketTimeParams): PeriodDates;
37
50
  /**
38
51
  * Returns market open/close times for a given date.
39
52
  * @param options - { date?: Date }
@@ -84,6 +97,18 @@ export declare function getNextMarketDay({ referenceDate }?: {
84
97
  yyyymmdd: string;
85
98
  dateISOString: string;
86
99
  };
100
+ /**
101
+ * Returns the previous market day before the reference date.
102
+ * @param referenceDate - Date object (default: now)
103
+ * @returns Object with date, yyyymmdd string, and ISO string
104
+ */
105
+ export declare function getPreviousMarketDay({ referenceDate }?: {
106
+ referenceDate?: Date;
107
+ }): {
108
+ date: Date;
109
+ yyyymmdd: string;
110
+ dateISOString: string;
111
+ };
87
112
  /**
88
113
  * Returns the trading date for a given time. Note: Just trims the date string; does not validate if the date is a market day.
89
114
  * @param time - a string, number (unix timestamp), or Date object representing the time
@@ -115,13 +140,6 @@ export declare function getMarketStatus(options?: {
115
140
  * @returns true if market day, false otherwise
116
141
  */
117
142
  export declare function isMarketDay(date: Date): boolean;
118
- /**
119
- * Checks if a date/time is within market hours, extended hours, or continuous.
120
- * @param date - Date object
121
- * @param intradayReporting - 'market_hours', 'extended_hours', or 'continuous'
122
- * @returns true if within hours, false otherwise
123
- */
124
- export declare function isWithinMarketHours(date: Date, intradayReporting?: IntradayReporting): boolean;
125
143
  /**
126
144
  * Returns full trading days from market open to market close.
127
145
  * endDate is always the most recent market close (previous day's close if before open, today's close if after open).
@@ -139,42 +157,6 @@ export declare function getTradingStartAndEndDates(options?: {
139
157
  startDate: Date;
140
158
  endDate: Date;
141
159
  };
142
- /**
143
- * Creates a MarketTime utility instance with helper methods.
144
- * @param timezone - Optional timezone string
145
- * @param intradayReporting - Optional intraday reporting mode
146
- * @returns Utility object with market time methods
147
- */
148
- export declare function createMarketTimeUtil(timezone?: string, intradayReporting?: IntradayReporting): {
149
- isMarketDay: (date: Date) => boolean;
150
- isWithinMarketHours: (date: Date) => boolean;
151
- getLastFullTradingDate: (date?: Date) => Date;
152
- getNextMarketDay: (date: Date) => Date;
153
- getMarketOpenClose: (options?: {
154
- date?: Date;
155
- }) => MarketOpenCloseResult;
156
- getMarketTimePeriod: (params: MarketTimeParams) => PeriodDates;
157
- getMarketStatus: (date?: Date) => MarketStatus;
158
- isEarlyCloseDay: (date: Date) => boolean;
159
- getEarlyCloseTime: (date: Date) => number | null;
160
- };
161
- /**
162
- * Backward compatibility class for MarketTime utilities.
163
- */
164
- export declare class MarketTimeUtil {
165
- private intradayReporting;
166
- constructor(timezone?: string, intradayReporting?: IntradayReporting);
167
- isMarketDay(date: Date): boolean;
168
- isWithinMarketHours(date: Date): boolean;
169
- getLastFullTradingDate(date?: Date): Date;
170
- getNextMarketDay(date: Date): Date;
171
- getMarketOpenClose(options?: {
172
- date?: Date;
173
- }): MarketOpenCloseResult;
174
- getMarketTimePeriod(params: MarketTimeParams): PeriodDates;
175
- isEarlyCloseDay(date: Date): boolean;
176
- getEarlyCloseTime(date: Date): number | null;
177
- }
178
160
  /**
179
161
  * Counts trading time between two dates (passed as standard Date objects), excluding weekends and holidays, and closed market hours, using other functions in this library.
180
162
  *
@@ -1 +1 @@
1
- {"version":3,"file":"market-time.d.ts","sourceRoot":"","sources":["../../src/market-time.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market-time.d.ts","sourceRoot":"","sources":["../../src/market-time.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAEhB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAInC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAahB,CAAC;AA+PX;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,GAAE,iBAAkC,GAAG,OAAO,CA0B9G;AAoJD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CA8CzE;AAkFD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAO,GAAG,qBAAqB,CAGvF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,gBAAqB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAM7F;AAED;;GAEG;AACH;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,GAAE,IAAiB,GAAG,IAAI,CAE3E;AAED;;GAEG;AACH;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,GAAE,IAAiB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAQ3G;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,aAAa,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,IAAI,CAAA;CAAO,GAAG;IAClF,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAkBA;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,IAAI,CAAA;CAAO;;;;EAgBpF;AAED;;;;GAIG;AACH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAMnE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,QAAQ,GAAG,QAAQ,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAO,GAAG,YAAY,CAG3E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAG/C;AAED;;;;GAIG;AACH;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACV,GACL;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CA0CpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,IAAI,EACf,OAAO,GAAE,IAAiB,GACzB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAuDA;AAGD,eAAO,MAAM,YAAY,EAAE,iBA0B1B,CAAC"}
@@ -112,10 +112,14 @@ export declare const disco: {
112
112
  getMarketOpenClose: typeof mt.getMarketOpenClose;
113
113
  getLastFullTradingDate: typeof mt.getLastFullTradingDate;
114
114
  getNextMarketDay: typeof mt.getNextMarketDay;
115
+ getPreviousMarketDay: typeof mt.getPreviousMarketDay;
116
+ getMarketTimePeriod: typeof mt.getMarketTimePeriod;
115
117
  getMarketStatus: typeof mt.getMarketStatus;
116
118
  getNYTimeZone: typeof mt.getNYTimeZone;
117
119
  getTradingDate: typeof mt.getTradingDate;
118
120
  getTradingStartAndEndDates: typeof mt.getTradingStartAndEndDates;
121
+ isMarketDay: typeof mt.isMarketDay;
122
+ isWithinMarketHours: typeof mt.isWithinMarketHours;
119
123
  countTradingDays: typeof mt.countTradingDays;
120
124
  MARKET_TIMES: Types.MarketTimesConfig;
121
125
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAK3C,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;kBA4Bd,CAAF;;;kBAqCwI,CAAC;;;kBAA4zC,CAAC;;;kBAAkwC,CAAC;;;kBAAisD,CAAC;gBAAkB,CAAC;iBAAmB,CAAC;iBAAmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;kBAlDv8I,CAAC;;;kBAkDipS,CAAC;oBAAsB,CAAC;sBAAyB,CAAC;;;kBAAhxP,CAAC;;;kBAAwjc,CAAC;qBAAuB,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;iBAA4B,CAAC;iBAA2B,CAAC;gBAAkB,CAAC;;;;;eAA5/W,CAAC;;;iBAAiE,CAAC;;kBAAmC,CAAC;;;;;kBAA65Q,CAAC;oBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADnxZ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAM3C,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;kBA2Bd,CAAC;;;kBAsCA,CAAC;;;kBAIguC,CAAC;;;kBAAkwC,CAAC;;;kBAAisD,CAAC;gBAAkB,CAAC;iBAAmB,CAAC;iBAAmB,CAAC;gBAAkB,CAAC;;;;;;;;;;;;;;;;;;kBAvDrtI,CAAC;;;kBAuD+5R,CAAC;oBAAsB,CAAC;sBAAyB,CAAC;;;kBAAhxP,CAAC;;;kBAAwjc,CAAC;qBAAuB,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;uBAAkC,CAAC;wBAAmC,CAAC;iBAA4B,CAAC;iBAA2B,CAAC;gBAAkB,CAAC;;;;;eAA5/W,CAAC;;;iBAAiE,CAAC;;kBAAmC,CAAC;;;;;kBAA65Q,CAAC;oBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADljZ,CAAC"}
@@ -34,6 +34,19 @@ export declare const MARKET_CONFIG: {
34
34
  };
35
35
  };
36
36
  };
37
+ /**
38
+ * Checks if a date/time is within market hours, extended hours, or continuous.
39
+ * @param date - Date object
40
+ * @param intradayReporting - 'market_hours', 'extended_hours', or 'continuous'
41
+ * @returns true if within hours, false otherwise
42
+ */
43
+ export declare function isWithinMarketHours(date: Date, intradayReporting?: IntradayReporting): boolean;
44
+ /**
45
+ * Returns the start and end dates for a market time period.
46
+ * @param params - MarketTimeParams
47
+ * @returns PeriodDates object
48
+ */
49
+ export declare function getMarketTimePeriod(params: MarketTimeParams): PeriodDates;
37
50
  /**
38
51
  * Returns market open/close times for a given date.
39
52
  * @param options - { date?: Date }
@@ -84,6 +97,18 @@ export declare function getNextMarketDay({ referenceDate }?: {
84
97
  yyyymmdd: string;
85
98
  dateISOString: string;
86
99
  };
100
+ /**
101
+ * Returns the previous market day before the reference date.
102
+ * @param referenceDate - Date object (default: now)
103
+ * @returns Object with date, yyyymmdd string, and ISO string
104
+ */
105
+ export declare function getPreviousMarketDay({ referenceDate }?: {
106
+ referenceDate?: Date;
107
+ }): {
108
+ date: Date;
109
+ yyyymmdd: string;
110
+ dateISOString: string;
111
+ };
87
112
  /**
88
113
  * Returns the trading date for a given time. Note: Just trims the date string; does not validate if the date is a market day.
89
114
  * @param time - a string, number (unix timestamp), or Date object representing the time
@@ -115,13 +140,6 @@ export declare function getMarketStatus(options?: {
115
140
  * @returns true if market day, false otherwise
116
141
  */
117
142
  export declare function isMarketDay(date: Date): boolean;
118
- /**
119
- * Checks if a date/time is within market hours, extended hours, or continuous.
120
- * @param date - Date object
121
- * @param intradayReporting - 'market_hours', 'extended_hours', or 'continuous'
122
- * @returns true if within hours, false otherwise
123
- */
124
- export declare function isWithinMarketHours(date: Date, intradayReporting?: IntradayReporting): boolean;
125
143
  /**
126
144
  * Returns full trading days from market open to market close.
127
145
  * endDate is always the most recent market close (previous day's close if before open, today's close if after open).
@@ -139,42 +157,6 @@ export declare function getTradingStartAndEndDates(options?: {
139
157
  startDate: Date;
140
158
  endDate: Date;
141
159
  };
142
- /**
143
- * Creates a MarketTime utility instance with helper methods.
144
- * @param timezone - Optional timezone string
145
- * @param intradayReporting - Optional intraday reporting mode
146
- * @returns Utility object with market time methods
147
- */
148
- export declare function createMarketTimeUtil(timezone?: string, intradayReporting?: IntradayReporting): {
149
- isMarketDay: (date: Date) => boolean;
150
- isWithinMarketHours: (date: Date) => boolean;
151
- getLastFullTradingDate: (date?: Date) => Date;
152
- getNextMarketDay: (date: Date) => Date;
153
- getMarketOpenClose: (options?: {
154
- date?: Date;
155
- }) => MarketOpenCloseResult;
156
- getMarketTimePeriod: (params: MarketTimeParams) => PeriodDates;
157
- getMarketStatus: (date?: Date) => MarketStatus;
158
- isEarlyCloseDay: (date: Date) => boolean;
159
- getEarlyCloseTime: (date: Date) => number | null;
160
- };
161
- /**
162
- * Backward compatibility class for MarketTime utilities.
163
- */
164
- export declare class MarketTimeUtil {
165
- private intradayReporting;
166
- constructor(timezone?: string, intradayReporting?: IntradayReporting);
167
- isMarketDay(date: Date): boolean;
168
- isWithinMarketHours(date: Date): boolean;
169
- getLastFullTradingDate(date?: Date): Date;
170
- getNextMarketDay(date: Date): Date;
171
- getMarketOpenClose(options?: {
172
- date?: Date;
173
- }): MarketOpenCloseResult;
174
- getMarketTimePeriod(params: MarketTimeParams): PeriodDates;
175
- isEarlyCloseDay(date: Date): boolean;
176
- getEarlyCloseTime(date: Date): number | null;
177
- }
178
160
  /**
179
161
  * Counts trading time between two dates (passed as standard Date objects), excluding weekends and holidays, and closed market hours, using other functions in this library.
180
162
  *
@@ -1 +1 @@
1
- {"version":3,"file":"market-time.d.ts","sourceRoot":"","sources":["../../src/market-time.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market-time.d.ts","sourceRoot":"","sources":["../../src/market-time.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAEhB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAInC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAahB,CAAC;AA+PX;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,GAAE,iBAAkC,GAAG,OAAO,CA0B9G;AAoJD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CA8CzE;AAkFD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAO,GAAG,qBAAqB,CAGvF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,gBAAqB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAM7F;AAED;;GAEG;AACH;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,GAAE,IAAiB,GAAG,IAAI,CAE3E;AAED;;GAEG;AACH;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,GAAE,IAAiB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAQ3G;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,aAAa,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,IAAI,CAAA;CAAO,GAAG;IAClF,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAkBA;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,IAAI,CAAA;CAAO;;;;EAgBpF;AAED;;;;GAIG;AACH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAMnE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,QAAQ,GAAG,QAAQ,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAO,GAAG,YAAY,CAG3E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAG/C;AAED;;;;GAIG;AACH;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACV,GACL;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CA0CpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,IAAI,EACf,OAAO,GAAE,IAAiB,GACzB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAuDA;AAGD,eAAO,MAAM,YAAY,EAAE,iBA0B1B,CAAC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.0.20",
6
+ "version": "1.0.21",
7
7
  "author": "Disco Media",
8
8
  "description": "Utility functions used in Disco Media apps",
9
9
  "always-build-npm": true,