215 lines
9.9 KiB
JavaScript
215 lines
9.9 KiB
JavaScript
![]() |
"use strict";
|
||
|
/* --------------------------------------------------------------------------------------------
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||
|
* ------------------------------------------------------------------------------------------ */
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.DidCloseNotebookDocumentNotification = exports.DidSaveNotebookDocumentNotification = exports.DidChangeNotebookDocumentNotification = exports.NotebookCellArrayChange = exports.DidOpenNotebookDocumentNotification = exports.NotebookDocumentSyncRegistrationType = exports.NotebookDocument = exports.NotebookCell = exports.ExecutionSummary = exports.NotebookCellKind = void 0;
|
||
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
||
|
const Is = require("./utils/is");
|
||
|
const messages_1 = require("./messages");
|
||
|
/**
|
||
|
* A notebook cell kind.
|
||
|
*
|
||
|
* @since 3.17.0
|
||
|
*/
|
||
|
var NotebookCellKind;
|
||
|
(function (NotebookCellKind) {
|
||
|
/**
|
||
|
* A markup-cell is formatted source that is used for display.
|
||
|
*/
|
||
|
NotebookCellKind.Markup = 1;
|
||
|
/**
|
||
|
* A code-cell is source code.
|
||
|
*/
|
||
|
NotebookCellKind.Code = 2;
|
||
|
function is(value) {
|
||
|
return value === 1 || value === 2;
|
||
|
}
|
||
|
NotebookCellKind.is = is;
|
||
|
})(NotebookCellKind = exports.NotebookCellKind || (exports.NotebookCellKind = {}));
|
||
|
var ExecutionSummary;
|
||
|
(function (ExecutionSummary) {
|
||
|
function create(executionOrder, success) {
|
||
|
const result = { executionOrder };
|
||
|
if (success === true || success === false) {
|
||
|
result.success = success;
|
||
|
}
|
||
|
return result;
|
||
|
}
|
||
|
ExecutionSummary.create = create;
|
||
|
function is(value) {
|
||
|
const candidate = value;
|
||
|
return Is.objectLiteral(candidate) && vscode_languageserver_types_1.uinteger.is(candidate.executionOrder) && (candidate.success === undefined || Is.boolean(candidate.success));
|
||
|
}
|
||
|
ExecutionSummary.is = is;
|
||
|
function equals(one, other) {
|
||
|
if (one === other) {
|
||
|
return true;
|
||
|
}
|
||
|
if (one === null || one === undefined || other === null || other === undefined) {
|
||
|
return false;
|
||
|
}
|
||
|
return one.executionOrder === other.executionOrder && one.success === other.success;
|
||
|
}
|
||
|
ExecutionSummary.equals = equals;
|
||
|
})(ExecutionSummary = exports.ExecutionSummary || (exports.ExecutionSummary = {}));
|
||
|
var NotebookCell;
|
||
|
(function (NotebookCell) {
|
||
|
function create(kind, document) {
|
||
|
return { kind, document };
|
||
|
}
|
||
|
NotebookCell.create = create;
|
||
|
function is(value) {
|
||
|
const candidate = value;
|
||
|
return Is.objectLiteral(candidate) && NotebookCellKind.is(candidate.kind) && vscode_languageserver_types_1.DocumentUri.is(candidate.document) &&
|
||
|
(candidate.metadata === undefined || Is.objectLiteral(candidate.metadata));
|
||
|
}
|
||
|
NotebookCell.is = is;
|
||
|
function diff(one, two) {
|
||
|
const result = new Set();
|
||
|
if (one.document !== two.document) {
|
||
|
result.add('document');
|
||
|
}
|
||
|
if (one.kind !== two.kind) {
|
||
|
result.add('kind');
|
||
|
}
|
||
|
if (one.executionSummary !== two.executionSummary) {
|
||
|
result.add('executionSummary');
|
||
|
}
|
||
|
if ((one.metadata !== undefined || two.metadata !== undefined) && !equalsMetadata(one.metadata, two.metadata)) {
|
||
|
result.add('metadata');
|
||
|
}
|
||
|
if ((one.executionSummary !== undefined || two.executionSummary !== undefined) && !ExecutionSummary.equals(one.executionSummary, two.executionSummary)) {
|
||
|
result.add('executionSummary');
|
||
|
}
|
||
|
return result;
|
||
|
}
|
||
|
NotebookCell.diff = diff;
|
||
|
function equalsMetadata(one, other) {
|
||
|
if (one === other) {
|
||
|
return true;
|
||
|
}
|
||
|
if (one === null || one === undefined || other === null || other === undefined) {
|
||
|
return false;
|
||
|
}
|
||
|
if (typeof one !== typeof other) {
|
||
|
return false;
|
||
|
}
|
||
|
if (typeof one !== 'object') {
|
||
|
return false;
|
||
|
}
|
||
|
const oneArray = Array.isArray(one);
|
||
|
const otherArray = Array.isArray(other);
|
||
|
if (oneArray !== otherArray) {
|
||
|
return false;
|
||
|
}
|
||
|
if (oneArray && otherArray) {
|
||
|
if (one.length !== other.length) {
|
||
|
return false;
|
||
|
}
|
||
|
for (let i = 0; i < one.length; i++) {
|
||
|
if (!equalsMetadata(one[i], other[i])) {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (Is.objectLiteral(one) && Is.objectLiteral(other)) {
|
||
|
const oneKeys = Object.keys(one);
|
||
|
const otherKeys = Object.keys(other);
|
||
|
if (oneKeys.length !== otherKeys.length) {
|
||
|
return false;
|
||
|
}
|
||
|
oneKeys.sort();
|
||
|
otherKeys.sort();
|
||
|
if (!equalsMetadata(oneKeys, otherKeys)) {
|
||
|
return false;
|
||
|
}
|
||
|
for (let i = 0; i < oneKeys.length; i++) {
|
||
|
const prop = oneKeys[i];
|
||
|
if (!equalsMetadata(one[prop], other[prop])) {
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
})(NotebookCell = exports.NotebookCell || (exports.NotebookCell = {}));
|
||
|
var NotebookDocument;
|
||
|
(function (NotebookDocument) {
|
||
|
function create(uri, notebookType, version, cells) {
|
||
|
return { uri, notebookType, version, cells };
|
||
|
}
|
||
|
NotebookDocument.create = create;
|
||
|
function is(value) {
|
||
|
const candidate = value;
|
||
|
return Is.objectLiteral(candidate) && Is.string(candidate.uri) && vscode_languageserver_types_1.integer.is(candidate.version) && Is.typedArray(candidate.cells, NotebookCell.is);
|
||
|
}
|
||
|
NotebookDocument.is = is;
|
||
|
})(NotebookDocument = exports.NotebookDocument || (exports.NotebookDocument = {}));
|
||
|
var NotebookDocumentSyncRegistrationType;
|
||
|
(function (NotebookDocumentSyncRegistrationType) {
|
||
|
NotebookDocumentSyncRegistrationType.method = 'notebookDocument/sync';
|
||
|
NotebookDocumentSyncRegistrationType.messageDirection = messages_1.MessageDirection.clientToServer;
|
||
|
NotebookDocumentSyncRegistrationType.type = new messages_1.RegistrationType(NotebookDocumentSyncRegistrationType.method);
|
||
|
})(NotebookDocumentSyncRegistrationType = exports.NotebookDocumentSyncRegistrationType || (exports.NotebookDocumentSyncRegistrationType = {}));
|
||
|
/**
|
||
|
* A notification sent when a notebook opens.
|
||
|
*
|
||
|
* @since 3.17.0
|
||
|
*/
|
||
|
var DidOpenNotebookDocumentNotification;
|
||
|
(function (DidOpenNotebookDocumentNotification) {
|
||
|
DidOpenNotebookDocumentNotification.method = 'notebookDocument/didOpen';
|
||
|
DidOpenNotebookDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;
|
||
|
DidOpenNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidOpenNotebookDocumentNotification.method);
|
||
|
DidOpenNotebookDocumentNotification.registrationMethod = NotebookDocumentSyncRegistrationType.method;
|
||
|
})(DidOpenNotebookDocumentNotification = exports.DidOpenNotebookDocumentNotification || (exports.DidOpenNotebookDocumentNotification = {}));
|
||
|
var NotebookCellArrayChange;
|
||
|
(function (NotebookCellArrayChange) {
|
||
|
function is(value) {
|
||
|
const candidate = value;
|
||
|
return Is.objectLiteral(candidate) && vscode_languageserver_types_1.uinteger.is(candidate.start) && vscode_languageserver_types_1.uinteger.is(candidate.deleteCount) && (candidate.cells === undefined || Is.typedArray(candidate.cells, NotebookCell.is));
|
||
|
}
|
||
|
NotebookCellArrayChange.is = is;
|
||
|
function create(start, deleteCount, cells) {
|
||
|
const result = { start, deleteCount };
|
||
|
if (cells !== undefined) {
|
||
|
result.cells = cells;
|
||
|
}
|
||
|
return result;
|
||
|
}
|
||
|
NotebookCellArrayChange.create = create;
|
||
|
})(NotebookCellArrayChange = exports.NotebookCellArrayChange || (exports.NotebookCellArrayChange = {}));
|
||
|
var DidChangeNotebookDocumentNotification;
|
||
|
(function (DidChangeNotebookDocumentNotification) {
|
||
|
DidChangeNotebookDocumentNotification.method = 'notebookDocument/didChange';
|
||
|
DidChangeNotebookDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;
|
||
|
DidChangeNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidChangeNotebookDocumentNotification.method);
|
||
|
DidChangeNotebookDocumentNotification.registrationMethod = NotebookDocumentSyncRegistrationType.method;
|
||
|
})(DidChangeNotebookDocumentNotification = exports.DidChangeNotebookDocumentNotification || (exports.DidChangeNotebookDocumentNotification = {}));
|
||
|
/**
|
||
|
* A notification sent when a notebook document is saved.
|
||
|
*
|
||
|
* @since 3.17.0
|
||
|
*/
|
||
|
var DidSaveNotebookDocumentNotification;
|
||
|
(function (DidSaveNotebookDocumentNotification) {
|
||
|
DidSaveNotebookDocumentNotification.method = 'notebookDocument/didSave';
|
||
|
DidSaveNotebookDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;
|
||
|
DidSaveNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidSaveNotebookDocumentNotification.method);
|
||
|
DidSaveNotebookDocumentNotification.registrationMethod = NotebookDocumentSyncRegistrationType.method;
|
||
|
})(DidSaveNotebookDocumentNotification = exports.DidSaveNotebookDocumentNotification || (exports.DidSaveNotebookDocumentNotification = {}));
|
||
|
/**
|
||
|
* A notification sent when a notebook closes.
|
||
|
*
|
||
|
* @since 3.17.0
|
||
|
*/
|
||
|
var DidCloseNotebookDocumentNotification;
|
||
|
(function (DidCloseNotebookDocumentNotification) {
|
||
|
DidCloseNotebookDocumentNotification.method = 'notebookDocument/didClose';
|
||
|
DidCloseNotebookDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer;
|
||
|
DidCloseNotebookDocumentNotification.type = new messages_1.ProtocolNotificationType(DidCloseNotebookDocumentNotification.method);
|
||
|
DidCloseNotebookDocumentNotification.registrationMethod = NotebookDocumentSyncRegistrationType.method;
|
||
|
})(DidCloseNotebookDocumentNotification = exports.DidCloseNotebookDocumentNotification || (exports.DidCloseNotebookDocumentNotification = {}));
|