Skip to content

Commit

Permalink
fix(NODE-3245): mark symbols as internal remove from type definitions (
Browse files Browse the repository at this point in the history
  • Loading branch information
nbbeeken committed May 21, 2021
1 parent 661511d commit 0b636ba
Show file tree
Hide file tree
Showing 27 changed files with 12,011 additions and 642 deletions.
12,405 changes: 11,839 additions & 566 deletions package-lock.json

Large diffs are not rendered by default.

17 changes: 8 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,19 @@
"bson-ext": "^2.0.0"
},
"dependencies": {
"bson": "^4.2.3",
"denque": "^1.4.1"
"bson": "^4.4.0",
"denque": "^1.5.0"
},
"devDependencies": {
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@microsoft/api-extractor": "^7.14.0",
"@microsoft/api-extractor": "^7.15.2",
"@microsoft/tsdoc-config": "^0.15.2",
"@types/aws4": "^1.5.1",
"@types/bl": "^2.1.0",
"@types/chai": "^4.2.14",
"@types/chai-subset": "^1.3.3",
"@types/kerberos": "^1.1.0",
"@types/mocha": "^8.2.0",
"@types/node": "^14.14.41",
"@types/node": "^15.3.1",
"@types/saslprep": "^1.0.0",
"@types/semver": "^7.3.4",
"@typescript-eslint/eslint-plugin": "^4.19.0",
Expand All @@ -49,11 +48,11 @@
"chalk": "^4.1.0",
"co": "4.6.0",
"coveralls": "^3.0.11",
"eslint": "^7.20.0",
"eslint": "^7.26.0",
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-jsdoc": "^30.7.8",
"eslint-plugin-prettier": "^3.1.3",
"eslint-plugin-tsdoc": "^0.2.11",
"eslint-plugin-tsdoc": "^0.2.14",
"js-yaml": "^3.14.0",
"jsdoc": "^3.6.4",
"lodash.camelcase": "^4.3.0",
Expand All @@ -72,8 +71,8 @@
"standard-version": "^9.1.1",
"through2": "^3.0.1",
"ts-node": "^9.1.1",
"tsd": "^0.14.0",
"typedoc": "^0.20.35",
"tsd": "^0.15.1",
"typedoc": "^0.20.36",
"typescript": "^4.2.4",
"typescript-cached-transpile": "^0.0.6",
"worker-farm": "^1.5.0",
Expand Down
3 changes: 3 additions & 0 deletions src/change_stream.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,11 @@ import type { ClientSession } from './sessions';
import { executeOperation, ExecutionResult } from './operations/execute_operation';
import { InferIdType, Nullable, TypedEventEmitter } from './mongo_types';

/** @internal */
const kResumeQueue = Symbol('resumeQueue');
/** @internal */
const kCursorStream = Symbol('cursorStream');
/** @internal */
const kClosed = Symbol('closed');

const CHANGE_STREAM_OPTIONS = ['resumeAfter', 'startAfter', 'startAtOperationTime', 'fullDocument'];
Expand Down
26 changes: 18 additions & 8 deletions src/cmap/connection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,23 @@ import type { W, WriteConcern, WriteConcernOptions } from '../write_concern';
import type { ServerApi, SupportedNodeConnectionOptions } from '../mongo_client';
import { CancellationToken, TypedEventEmitter } from '../mongo_types';

/** @internal */
const kStream = Symbol('stream');
/** @internal */
const kQueue = Symbol('queue');
/** @internal */
const kMessageStream = Symbol('messageStream');
/** @internal */
const kGeneration = Symbol('generation');
/** @internal */
const kLastUseTime = Symbol('lastUseTime');
/** @internal */
const kClusterTime = Symbol('clusterTime');
/** @internal */
const kDescription = Symbol('description');
/** @internal */
const kIsMaster = Symbol('ismaster');
/** @internal */
const kAutoEncrypter = Symbol('autoEncrypter');

/** @internal */
Expand Down Expand Up @@ -113,7 +122,8 @@ export interface ConnectionOptions
autoEncrypter?: AutoEncrypter;
serverApi?: ServerApi;
monitorCommands: boolean;
connectionType: typeof Connection;
/** @internal */
connectionType?: typeof Connection;
credentials?: MongoCredentials;
connectTimeoutMS?: number;
tls: boolean;
Expand All @@ -134,15 +144,15 @@ export interface DestroyOptions {

/** @public */
export type ConnectionEvents = {
[Connection.COMMAND_STARTED](event: CommandStartedEvent): void;
[Connection.COMMAND_SUCCEEDED](event: CommandSucceededEvent): void;
[Connection.COMMAND_FAILED](event: CommandFailedEvent): void;
[Connection.CLUSTER_TIME_RECEIVED](clusterTime: Document): void;
[Connection.CLOSE](): void;
[Connection.MESSAGE](message: any): void;
commandStarted(event: CommandStartedEvent): void;
commandSucceeded(event: CommandSucceededEvent): void;
commandFailed(event: CommandFailedEvent): void;
clusterTimeReceived(clusterTime: Document): void;
close(): void;
message(message: any): void;
};

/** @public */
/** @internal */
export class Connection extends TypedEventEmitter<ConnectionEvents> {
id: number | '<monitor>';
address: string;
Expand Down
34 changes: 22 additions & 12 deletions src/cmap/connection_pool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,23 @@ import {
} from './connection_pool_events';
import { CancellationToken, TypedEventEmitter } from '../mongo_types';

/** @internal */
const kLogger = Symbol('logger');
/** @internal */
const kConnections = Symbol('connections');
/** @internal */
const kPermits = Symbol('permits');
/** @internal */
const kMinPoolSizeTimer = Symbol('minPoolSizeTimer');
/** @internal */
const kGeneration = Symbol('generation');
/** @internal */
const kConnectionCounter = Symbol('connectionCounter');
/** @internal */
const kCancellationToken = Symbol('cancellationToken');
/** @internal */
const kWaitQueue = Symbol('waitQueue');
/** @internal */
const kCancelled = Symbol('cancelled');

/** @public */
Expand Down Expand Up @@ -55,21 +64,21 @@ export interface CloseOptions {

/** @public */
export type ConnectionPoolEvents = {
[ConnectionPool.CONNECTION_POOL_CREATED](event: ConnectionPoolCreatedEvent): void;
[ConnectionPool.CONNECTION_POOL_CLOSED](event: ConnectionPoolClosedEvent): void;
[ConnectionPool.CONNECTION_POOL_CLEARED](event: ConnectionPoolClearedEvent): void;
[ConnectionPool.CONNECTION_CREATED](event: ConnectionCreatedEvent): void;
[ConnectionPool.CONNECTION_READY](event: ConnectionReadyEvent): void;
[ConnectionPool.CONNECTION_CLOSED](event: ConnectionClosedEvent): void;
[ConnectionPool.CONNECTION_CHECK_OUT_STARTED](event: ConnectionCheckOutStartedEvent): void;
[ConnectionPool.CONNECTION_CHECK_OUT_FAILED](event: ConnectionCheckOutFailedEvent): void;
[ConnectionPool.CONNECTION_CHECKED_OUT](event: ConnectionCheckedOutEvent): void;
[ConnectionPool.CONNECTION_CHECKED_IN](event: ConnectionCheckedInEvent): void;
connectionPoolCreated(event: ConnectionPoolCreatedEvent): void;
connectionPoolClosed(event: ConnectionPoolClosedEvent): void;
connectionPoolCleared(event: ConnectionPoolClearedEvent): void;
connectionCreated(event: ConnectionCreatedEvent): void;
connectionReady(event: ConnectionReadyEvent): void;
connectionClosed(event: ConnectionClosedEvent): void;
connectionCheckOutStarted(event: ConnectionCheckOutStartedEvent): void;
connectionCheckOutFailed(event: ConnectionCheckOutFailedEvent): void;
connectionCheckedOut(event: ConnectionCheckedOutEvent): void;
connectionCheckedIn(event: ConnectionCheckedInEvent): void;
} & Omit<ConnectionEvents, 'close' | 'message'>;

/**
* A pool of connections which dynamically resizes, and emit events related to pool activity
* @public
* @internal
*/
export class ConnectionPool extends TypedEventEmitter<ConnectionPoolEvents> {
closed: boolean;
Expand Down Expand Up @@ -148,6 +157,7 @@ export class ConnectionPool extends TypedEventEmitter<ConnectionPoolEvents> {
*/
static readonly CONNECTION_CHECKED_IN = 'connectionCheckedIn' as const;

/** @internal */
constructor(options: ConnectionPoolOptions) {
super();

Expand Down Expand Up @@ -548,7 +558,7 @@ export const CMAP_EVENTS = [

/**
* A callback provided to `withConnection`
* @public
* @internal
*
* @param error - An error instance representing the error during the execution.
* @param connection - The managed connection which was checked out of the pool.
Expand Down
11 changes: 11 additions & 0 deletions src/cmap/connection_pool_events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export class ConnectionPoolMonitoringEvent {
/** The address (host/port pair) of the pool */
address: string;

/** @internal */
constructor(pool: ConnectionPool) {
this.time = new Date();
this.address = pool.address;
Expand All @@ -28,6 +29,7 @@ export class ConnectionPoolCreatedEvent extends ConnectionPoolMonitoringEvent {
/** The options used to create this connection pool */
options?: ConnectionPoolOptions;

/** @internal */
constructor(pool: ConnectionPool) {
super(pool);
this.options = pool.options;
Expand All @@ -40,6 +42,7 @@ export class ConnectionPoolCreatedEvent extends ConnectionPoolMonitoringEvent {
* @category Event
*/
export class ConnectionPoolClosedEvent extends ConnectionPoolMonitoringEvent {
/** @internal */
constructor(pool: ConnectionPool) {
super(pool);
}
Expand All @@ -54,6 +57,7 @@ export class ConnectionCreatedEvent extends ConnectionPoolMonitoringEvent {
/** A monotonically increasing, per-pool id for the newly created connection */
connectionId: number | '<monitor>';

/** @internal */
constructor(pool: ConnectionPool, connection: Connection) {
super(pool);
this.connectionId = connection.id;
Expand All @@ -69,6 +73,7 @@ export class ConnectionReadyEvent extends ConnectionPoolMonitoringEvent {
/** The id of the connection */
connectionId: number | '<monitor>';

/** @internal */
constructor(pool: ConnectionPool, connection: Connection) {
super(pool);
this.connectionId = connection.id;
Expand All @@ -86,6 +91,7 @@ export class ConnectionClosedEvent extends ConnectionPoolMonitoringEvent {
/** The reason the connection was closed */
reason: string;

/** @internal */
constructor(pool: ConnectionPool, connection: Connection, reason: string) {
super(pool);
this.connectionId = connection.id;
Expand All @@ -99,6 +105,7 @@ export class ConnectionClosedEvent extends ConnectionPoolMonitoringEvent {
* @category Event
*/
export class ConnectionCheckOutStartedEvent extends ConnectionPoolMonitoringEvent {
/** @internal */
constructor(pool: ConnectionPool) {
super(pool);
}
Expand All @@ -113,6 +120,7 @@ export class ConnectionCheckOutFailedEvent extends ConnectionPoolMonitoringEvent
/** The reason the attempt to check out failed */
reason: AnyError | string;

/** @internal */
constructor(pool: ConnectionPool, reason: AnyError | string) {
super(pool);
this.reason = reason;
Expand All @@ -128,6 +136,7 @@ export class ConnectionCheckedOutEvent extends ConnectionPoolMonitoringEvent {
/** The id of the connection */
connectionId: number | '<monitor>';

/** @internal */
constructor(pool: ConnectionPool, connection: Connection) {
super(pool);
this.connectionId = connection.id;
Expand All @@ -143,6 +152,7 @@ export class ConnectionCheckedInEvent extends ConnectionPoolMonitoringEvent {
/** The id of the connection */
connectionId: number | '<monitor>';

/** @internal */
constructor(pool: ConnectionPool, connection: Connection) {
super(pool);
this.connectionId = connection.id;
Expand All @@ -155,6 +165,7 @@ export class ConnectionCheckedInEvent extends ConnectionPoolMonitoringEvent {
* @category Event
*/
export class ConnectionPoolClearedEvent extends ConnectionPoolMonitoringEvent {
/** @internal */
constructor(pool: ConnectionPool) {
super(pool);
}
Expand Down
1 change: 1 addition & 0 deletions src/cmap/message_stream.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ const MESSAGE_HEADER_SIZE = 16;
const COMPRESSION_DETAILS_SIZE = 9; // originalOpcode + uncompressedSize, compressorID

const kDefaultMaxBsonMessageSize = 1024 * 1024 * 16 * 4;
/** @internal */
const kBuffer = Symbol('buffer');

/** @internal */
Expand Down
14 changes: 14 additions & 0 deletions src/cursor/abstract_cursor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,27 @@ import type { ExecutionResult } from '../operations/execute_operation';
import { ReadConcern, ReadConcernLike } from '../read_concern';
import { TODO_NODE_3286, TypedEventEmitter } from '../mongo_types';

/** @internal */
const kId = Symbol('id');
/** @internal */
const kDocuments = Symbol('documents');
/** @internal */
const kServer = Symbol('server');
/** @internal */
const kNamespace = Symbol('namespace');
/** @internal */
const kTopology = Symbol('topology');
/** @internal */
const kSession = Symbol('session');
/** @internal */
const kOptions = Symbol('options');
/** @internal */
const kTransform = Symbol('transform');
/** @internal */
const kInitialized = Symbol('initialized');
/** @internal */
const kClosed = Symbol('closed');
/** @internal */
const kKilled = Symbol('killed');

/** @public */
Expand Down Expand Up @@ -108,6 +119,7 @@ export abstract class AbstractCursor<
/** @event */
static readonly CLOSE = 'close' as const;

/** @internal */
constructor(
topology: Topology,
namespace: MongoDBNamespace,
Expand Down Expand Up @@ -155,10 +167,12 @@ export abstract class AbstractCursor<
return this[kId];
}

/** @internal */
get topology(): Topology {
return this[kTopology];
}

/** @internal */
get server(): Server | undefined {
return this[kServer];
}
Expand Down
3 changes: 3 additions & 0 deletions src/cursor/aggregation_cursor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,11 @@ import type { ExplainVerbosityLike } from '../explain';
/** @public */
export interface AggregationCursorOptions extends AbstractCursorOptions, AggregateOptions {}

/** @internal */
const kParent = Symbol('parent');
/** @internal */
const kPipeline = Symbol('pipeline');
/** @internal */
const kOptions = Symbol('options');

/**
Expand Down
4 changes: 4 additions & 0 deletions src/cursor/find_cursor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@ import { formatSort, Sort, SortDirection } from '../sort';
import type { Callback, MongoDBNamespace } from '../utils';
import { AbstractCursor, assertUninitialized } from './abstract_cursor';

/** @internal */
const kFilter = Symbol('filter');
/** @internal */
const kNumReturned = Symbol('numReturned');
/** @internal */
const kBuiltOptions = Symbol('builtOptions');

/** @public Flags allowed for cursor */
Expand All @@ -36,6 +39,7 @@ export class FindCursor<TSchema = Document> extends AbstractCursor<TSchema> {
/** @internal */
[kBuiltOptions]: FindOptions;

/** @internal */
constructor(
topology: Topology,
namespace: MongoDBNamespace,
Expand Down
1 change: 1 addition & 0 deletions src/encrypter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { MONGO_CLIENT_EVENTS } from './operations/connect';

let AutoEncrypterClass: AutoEncrypter;

/** @internal */
const kInternalClient = Symbol('internalClient');

/** @internal */
Expand Down
Loading

0 comments on commit 0b636ba

Please sign in to comment.