@mongosh/types 2.1.0 → 2.1.1

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/AUTHORS CHANGED
@@ -6,3 +6,4 @@ Alena Khineika <alena.khineika@gmail.com>
6
6
  Sergey Petushkov <petushkov.sergey@gmail.com>
7
7
  Le Roux Bodenstein <lerouxb@gmail.com>
8
8
  Martin Rodriguez Reboredo <yakoyoku@gmail.com>
9
+ Kevin Mas Ruiz <kevin.mas@hey.com>
package/lib/index.d.ts CHANGED
@@ -144,8 +144,15 @@ export interface FetchingUpdateMetadataEvent {
144
144
  export interface FetchingUpdateMetadataCompleteEvent {
145
145
  latest: string | null;
146
146
  }
147
+ export interface SessionStartedEvent {
148
+ isInteractive: boolean;
149
+ timings: {
150
+ [category: string]: number;
151
+ };
152
+ }
147
153
  export interface MongoshBusEventsMap extends ConnectEventMap {
148
154
  'mongosh:connect': (ev: ConnectEvent) => void;
155
+ 'mongosh:start-session': (ev: SessionStartedEvent) => void;
149
156
  'mongosh:new-user': (identity: {
150
157
  userId: string;
151
158
  anonymousId: string;
@@ -247,3 +254,22 @@ export interface ConfigProvider<T> {
247
254
  validateConfig<K extends keyof T>(key: K, value: T[K]): Promise<string | null>;
248
255
  listConfigOptions(): string[] | undefined | Promise<string[]>;
249
256
  }
257
+ export declare const TimingCategories: {
258
+ readonly REPLInstantiation: "REPLInstantiation";
259
+ readonly UserConfigLoading: "UserConfigLoading";
260
+ readonly DriverSetup: "DriverSetup";
261
+ readonly Logging: "Logging";
262
+ readonly SnippetLoading: "SnippetLoading";
263
+ readonly Snapshot: "Snapshot";
264
+ readonly ResourceFileLoading: "ResourceFileLoading";
265
+ readonly AsyncRewrite: "AsyncRewrite";
266
+ readonly Eval: "Eval";
267
+ readonly EvalFile: "EvalFile";
268
+ readonly Telemetry: "Telemetry";
269
+ readonly Main: "Main";
270
+ };
271
+ export type TimingCategory = (typeof TimingCategories)[keyof typeof TimingCategories];
272
+ export type TimingInterface = {
273
+ markTime: (category: TimingCategory, label: string) => void;
274
+ getTimingData: () => [string, string, number][];
275
+ };
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CliUserConfigValidator = exports.CliUserConfig = exports.SnippetShellUserConfigValidator = exports.SnippetShellUserConfig = exports.ShellUserConfigValidator = exports.ShellUserConfig = void 0;
3
+ exports.TimingCategories = exports.CliUserConfigValidator = exports.CliUserConfig = exports.SnippetShellUserConfigValidator = exports.SnippetShellUserConfig = exports.ShellUserConfigValidator = exports.ShellUserConfig = void 0;
4
4
  class ShellUserConfig {
5
5
  constructor() {
6
6
  this.displayBatchSize = 20;
@@ -166,4 +166,18 @@ function isValidUrl(url) {
166
166
  }
167
167
  return true;
168
168
  }
169
+ exports.TimingCategories = {
170
+ REPLInstantiation: 'REPLInstantiation',
171
+ UserConfigLoading: 'UserConfigLoading',
172
+ DriverSetup: 'DriverSetup',
173
+ Logging: 'Logging',
174
+ SnippetLoading: 'SnippetLoading',
175
+ Snapshot: 'Snapshot',
176
+ ResourceFileLoading: 'ResourceFileLoading',
177
+ AsyncRewrite: 'AsyncRewrite',
178
+ Eval: 'Eval',
179
+ EvalFile: 'EvalFile',
180
+ Telemetry: 'Telemetry',
181
+ Main: 'Main',
182
+ };
169
183
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongosh/types",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "Types for mongosh internals",
5
5
  "author": "Anna Henningsen <anna.henningsen@mongodb.com>",
6
6
  "homepage": "https://github.com/mongodb-js/mongosh/tree/main/packages/types#readme",
@@ -49,5 +49,5 @@
49
49
  "mongodb": "^6.3.0",
50
50
  "prettier": "^2.8.8"
51
51
  },
52
- "gitHead": "963c75bc45834b1bf69e62bf5b72c4ae8ef26cb4"
52
+ "gitHead": "c7e70b65988d21c9020abf2bbd253a94b1d3316c"
53
53
  }
package/src/index.ts CHANGED
@@ -174,12 +174,24 @@ export interface FetchingUpdateMetadataCompleteEvent {
174
174
  latest: string | null;
175
175
  }
176
176
 
177
+ export interface SessionStartedEvent {
178
+ isInteractive: boolean;
179
+ timings: {
180
+ [category: string]: number;
181
+ };
182
+ }
183
+
177
184
  export interface MongoshBusEventsMap extends ConnectEventMap {
178
185
  /**
179
186
  * Signals a connection to a MongoDB instance has been established
180
187
  * or the used database changed.
181
188
  */
182
189
  'mongosh:connect': (ev: ConnectEvent) => void;
190
+ /**
191
+ * Signals when a session is started, that will enable the REPL on interactive
192
+ * sessions or close on non-interactive sessions.
193
+ */
194
+ 'mongosh:start-session': (ev: SessionStartedEvent) => void;
183
195
  /**
184
196
  * Signals that the shell is started by a new user.
185
197
  */
@@ -585,3 +597,25 @@ function isValidUrl(url: string): boolean {
585
597
  /* eslint-enable @typescript-eslint/ban-ts-comment */
586
598
  return true; // Currently no overlap between URL-less environments and environments with config options.
587
599
  }
600
+
601
+ export const TimingCategories = {
602
+ REPLInstantiation: 'REPLInstantiation',
603
+ UserConfigLoading: 'UserConfigLoading',
604
+ DriverSetup: 'DriverSetup',
605
+ Logging: 'Logging',
606
+ SnippetLoading: 'SnippetLoading',
607
+ Snapshot: 'Snapshot',
608
+ ResourceFileLoading: 'ResourceFileLoading',
609
+ AsyncRewrite: 'AsyncRewrite',
610
+ Eval: 'Eval',
611
+ EvalFile: 'EvalFile',
612
+ Telemetry: 'Telemetry',
613
+ Main: 'Main',
614
+ } as const;
615
+
616
+ export type TimingCategory =
617
+ (typeof TimingCategories)[keyof typeof TimingCategories];
618
+ export type TimingInterface = {
619
+ markTime: (category: TimingCategory, label: string) => void;
620
+ getTimingData: () => [string, string, number][];
621
+ };