mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 05:28:59 +01:00 
			
		
		
		
	server-ts: utils.js -> utils.ts
This commit is contained in:
		
							parent
							
								
									28735fa16a
								
							
						
					
					
						commit
						7a9365457a
					
				@ -1,6 +1,6 @@
 | 
				
			|||||||
module.exports = () => {
 | 
					module.exports = () => {
 | 
				
			||||||
    const sql = require('../../src/services/sql.js');
 | 
					    const sql = require('../../src/services/sql.js');
 | 
				
			||||||
    const utils = require('../../src/services/utils.js');
 | 
					    const utils = require('../../src/services/utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const existingBlobIds = new Set();
 | 
					    const existingBlobIds = new Set();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										43
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										43
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -13,6 +13,7 @@
 | 
				
			|||||||
        "@braintree/sanitize-url": "6.0.4",
 | 
					        "@braintree/sanitize-url": "6.0.4",
 | 
				
			||||||
        "@electron/remote": "2.1.0",
 | 
					        "@electron/remote": "2.1.0",
 | 
				
			||||||
        "@excalidraw/excalidraw": "0.16.1",
 | 
					        "@excalidraw/excalidraw": "0.16.1",
 | 
				
			||||||
 | 
					        "@types/cls-hooked": "^4.3.8",
 | 
				
			||||||
        "archiver": "6.0.1",
 | 
					        "archiver": "6.0.1",
 | 
				
			||||||
        "async-mutex": "0.4.0",
 | 
					        "async-mutex": "0.4.0",
 | 
				
			||||||
        "axios": "1.6.2",
 | 
					        "axios": "1.6.2",
 | 
				
			||||||
@ -88,7 +89,9 @@
 | 
				
			|||||||
        "trilium": "src/www.js"
 | 
					        "trilium": "src/www.js"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "devDependencies": {
 | 
					      "devDependencies": {
 | 
				
			||||||
 | 
					        "@types/escape-html": "^1.0.4",
 | 
				
			||||||
        "@types/express": "^4.17.21",
 | 
					        "@types/express": "^4.17.21",
 | 
				
			||||||
 | 
					        "@types/mime-types": "^2.1.4",
 | 
				
			||||||
        "@types/node": "^20.11.19",
 | 
					        "@types/node": "^20.11.19",
 | 
				
			||||||
        "cross-env": "7.0.3",
 | 
					        "cross-env": "7.0.3",
 | 
				
			||||||
        "electron": "25.9.8",
 | 
					        "electron": "25.9.8",
 | 
				
			||||||
@ -1302,6 +1305,14 @@
 | 
				
			|||||||
        "@types/responselike": "*"
 | 
					        "@types/responselike": "*"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/@types/cls-hooked": {
 | 
				
			||||||
 | 
					      "version": "4.3.8",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/cls-hooked/-/cls-hooked-4.3.8.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg==",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "@types/node": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/@types/connect": {
 | 
					    "node_modules/@types/connect": {
 | 
				
			||||||
      "version": "3.4.38",
 | 
					      "version": "3.4.38",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
 | 
				
			||||||
@ -1337,6 +1348,12 @@
 | 
				
			|||||||
        "@types/ms": "*"
 | 
					        "@types/ms": "*"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/@types/escape-html": {
 | 
				
			||||||
 | 
					      "version": "1.0.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-qZ72SFTgUAZ5a7Tj6kf2SHLetiH5S6f8G5frB2SPQ3EyF02kxdyBFf4Tz4banE3xCgGnKgWLt//a6VuYHKYJTg==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/@types/eslint": {
 | 
					    "node_modules/@types/eslint": {
 | 
				
			||||||
      "version": "8.4.1",
 | 
					      "version": "8.4.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz",
 | 
				
			||||||
@ -1473,6 +1490,12 @@
 | 
				
			|||||||
      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
 | 
					      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
 | 
				
			||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/@types/mime-types": {
 | 
				
			||||||
 | 
					      "version": "2.1.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/@types/minimatch": {
 | 
					    "node_modules/@types/minimatch": {
 | 
				
			||||||
      "version": "3.0.3",
 | 
					      "version": "3.0.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
 | 
				
			||||||
@ -15915,6 +15938,14 @@
 | 
				
			|||||||
        "@types/responselike": "*"
 | 
					        "@types/responselike": "*"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/cls-hooked": {
 | 
				
			||||||
 | 
					      "version": "4.3.8",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/cls-hooked/-/cls-hooked-4.3.8.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/node": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "@types/connect": {
 | 
					    "@types/connect": {
 | 
				
			||||||
      "version": "3.4.38",
 | 
					      "version": "3.4.38",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
 | 
				
			||||||
@ -15950,6 +15981,12 @@
 | 
				
			|||||||
        "@types/ms": "*"
 | 
					        "@types/ms": "*"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/escape-html": {
 | 
				
			||||||
 | 
					      "version": "1.0.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-qZ72SFTgUAZ5a7Tj6kf2SHLetiH5S6f8G5frB2SPQ3EyF02kxdyBFf4Tz4banE3xCgGnKgWLt//a6VuYHKYJTg==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "@types/eslint": {
 | 
					    "@types/eslint": {
 | 
				
			||||||
      "version": "8.4.1",
 | 
					      "version": "8.4.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz",
 | 
				
			||||||
@ -16086,6 +16123,12 @@
 | 
				
			|||||||
      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
 | 
					      "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
 | 
				
			||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/mime-types": {
 | 
				
			||||||
 | 
					      "version": "2.1.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "@types/minimatch": {
 | 
					    "@types/minimatch": {
 | 
				
			||||||
      "version": "3.0.3",
 | 
					      "version": "3.0.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
 | 
				
			||||||
 | 
				
			|||||||
@ -39,6 +39,7 @@
 | 
				
			|||||||
    "@braintree/sanitize-url": "6.0.4",
 | 
					    "@braintree/sanitize-url": "6.0.4",
 | 
				
			||||||
    "@electron/remote": "2.1.0",
 | 
					    "@electron/remote": "2.1.0",
 | 
				
			||||||
    "@excalidraw/excalidraw": "0.16.1",
 | 
					    "@excalidraw/excalidraw": "0.16.1",
 | 
				
			||||||
 | 
					    "@types/cls-hooked": "^4.3.8",
 | 
				
			||||||
    "archiver": "6.0.1",
 | 
					    "archiver": "6.0.1",
 | 
				
			||||||
    "async-mutex": "0.4.0",
 | 
					    "async-mutex": "0.4.0",
 | 
				
			||||||
    "axios": "1.6.2",
 | 
					    "axios": "1.6.2",
 | 
				
			||||||
@ -111,7 +112,9 @@
 | 
				
			|||||||
    "yauzl": "2.10.0"
 | 
					    "yauzl": "2.10.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
 | 
					    "@types/escape-html": "^1.0.4",
 | 
				
			||||||
    "@types/express": "^4.17.21",
 | 
					    "@types/express": "^4.17.21",
 | 
				
			||||||
 | 
					    "@types/mime-types": "^2.1.4",
 | 
				
			||||||
    "@types/node": "^20.11.19",
 | 
					    "@types/node": "^20.11.19",
 | 
				
			||||||
    "cross-env": "7.0.3",
 | 
					    "cross-env": "7.0.3",
 | 
				
			||||||
    "electron": "25.9.8",
 | 
					    "electron": "25.9.8",
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@ const searchService = require('../../src/services/search/services/search.js');
 | 
				
			|||||||
const BNote = require('../../src/becca/entities/bnote.js');
 | 
					const BNote = require('../../src/becca/entities/bnote.js');
 | 
				
			||||||
const BBranch = require('../../src/becca/entities/bbranch.js');
 | 
					const BBranch = require('../../src/becca/entities/bbranch.js');
 | 
				
			||||||
const SearchContext = require('../../src/services/search/search_context.js');
 | 
					const SearchContext = require('../../src/services/search/search_context.js');
 | 
				
			||||||
const dateUtils = require('../../src/services/date_utils.js');
 | 
					const dateUtils = require('../../src/services/date_utils');
 | 
				
			||||||
const becca = require('../../src/becca/becca.js');
 | 
					const becca = require('../../src/becca/becca.js');
 | 
				
			||||||
const {NoteBuilder, findNoteByTitle, note} = require('./becca_mocking.js');
 | 
					const {NoteBuilder, findNoteByTitle, note} = require('./becca_mocking.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,7 @@ const cookieParser = require('cookie-parser');
 | 
				
			|||||||
const helmet = require('helmet');
 | 
					const helmet = require('helmet');
 | 
				
			||||||
const compression = require('compression');
 | 
					const compression = require('compression');
 | 
				
			||||||
const sessionParser = require('./routes/session_parser.js');
 | 
					const sessionParser = require('./routes/session_parser.js');
 | 
				
			||||||
const utils = require('./services/utils.js');
 | 
					const utils = require('./services/utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require('./services/handlers.js');
 | 
					require('./services/handlers.js');
 | 
				
			||||||
require('./becca/becca_loader.js');
 | 
					require('./becca/becca_loader.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,10 +1,10 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const sql = require('../../services/sql.js');
 | 
					const sql = require('../../services/sql.js');
 | 
				
			||||||
const entityChangesService = require('../../services/entity_changes.js');
 | 
					const entityChangesService = require('../../services/entity_changes.js');
 | 
				
			||||||
const eventService = require('../../services/events.js');
 | 
					const eventService = require('../../services/events.js');
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const cls = require('../../services/cls');
 | 
					const cls = require('../../services/cls');
 | 
				
			||||||
const log = require('../../services/log');
 | 
					const log = require('../../services/log');
 | 
				
			||||||
const protectedSessionService = require('../../services/protected_session.js');
 | 
					const protectedSessionService = require('../../services/protected_session.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
					const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
				
			||||||
const sql = require('../../services/sql.js');
 | 
					const sql = require('../../services/sql.js');
 | 
				
			||||||
const protectedSessionService = require('../../services/protected_session.js');
 | 
					const protectedSessionService = require('../../services/protected_session.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
const BNote = require('./bnote.js');
 | 
					const BNote = require('./bnote.js');
 | 
				
			||||||
const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
					const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
				
			||||||
const sql = require('../../services/sql.js');
 | 
					const sql = require('../../services/sql.js');
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const promotedAttributeDefinitionParser = require('../../services/promoted_attribute_definition_parser.js');
 | 
					const promotedAttributeDefinitionParser = require('../../services/promoted_attribute_definition_parser.js');
 | 
				
			||||||
const {sanitizeAttributeName} = require('../../services/sanitize_attribute_name.js');
 | 
					const {sanitizeAttributeName} = require('../../services/sanitize_attribute_name.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,8 +2,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const BNote = require('./bnote.js');
 | 
					const BNote = require('./bnote.js');
 | 
				
			||||||
const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
					const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const TaskContext = require('../../services/task_context.js');
 | 
					const TaskContext = require('../../services/task_context.js');
 | 
				
			||||||
const cls = require('../../services/cls');
 | 
					const cls = require('../../services/cls');
 | 
				
			||||||
const log = require('../../services/log');
 | 
					const log = require('../../services/log');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
					const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 | 
				
			|||||||
@ -3,8 +3,8 @@
 | 
				
			|||||||
const protectedSessionService = require('../../services/protected_session.js');
 | 
					const protectedSessionService = require('../../services/protected_session.js');
 | 
				
			||||||
const log = require('../../services/log');
 | 
					const log = require('../../services/log');
 | 
				
			||||||
const sql = require('../../services/sql.js');
 | 
					const sql = require('../../services/sql.js');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
					const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
				
			||||||
const BRevision = require('./brevision.js');
 | 
					const BRevision = require('./brevision.js');
 | 
				
			||||||
const BAttachment = require('./battachment.js');
 | 
					const BAttachment = require('./battachment.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
					const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
					const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,8 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const protectedSessionService = require('../../services/protected_session.js');
 | 
					const protectedSessionService = require('../../services/protected_session.js');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const becca = require('../becca.js');
 | 
					const becca = require('../becca.js');
 | 
				
			||||||
const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
					const AbstractBeccaEntity = require('./abstract_becca_entity.js');
 | 
				
			||||||
const sql = require('../../services/sql.js');
 | 
					const sql = require('../../services/sql.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
const becca = require('./becca.js');
 | 
					const becca = require('./becca.js');
 | 
				
			||||||
const log = require('../services/log');
 | 
					const log = require('../services/log');
 | 
				
			||||||
const beccaService = require('./becca_service.js');
 | 
					const beccaService = require('./becca_service.js');
 | 
				
			||||||
const dateUtils = require('../services/date_utils.js');
 | 
					const dateUtils = require('../services/date_utils');
 | 
				
			||||||
const {JSDOM} = require("jsdom");
 | 
					const {JSDOM} = require("jsdom");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const DEBUG = false;
 | 
					const DEBUG = false;
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
const appInfo = require('../services/app_info.js');
 | 
					const appInfo = require('../services/app_info.js');
 | 
				
			||||||
const eu = require('./etapi_utils.js');
 | 
					const eu = require('./etapi_utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function register(router) {
 | 
					function register(router) {
 | 
				
			||||||
    eu.route(router, 'get', '/etapi/app-info', (req, res, next) => {
 | 
					    eu.route(router, 'get', '/etapi/app-info', (req, res, next) => {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,8 @@
 | 
				
			|||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
const eu = require('./etapi_utils.js');
 | 
					const eu = require('./etapi_utils');
 | 
				
			||||||
const mappers = require('./mappers.js');
 | 
					const mappers = require('./mappers.js');
 | 
				
			||||||
const v = require('./validators.js');
 | 
					const v = require('./validators.js');
 | 
				
			||||||
const utils = require('../services/utils.js');
 | 
					const utils = require('../services/utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function register(router) {
 | 
					function register(router) {
 | 
				
			||||||
    const ALLOWED_PROPERTIES_FOR_CREATE_ATTACHMENT = {
 | 
					    const ALLOWED_PROPERTIES_FOR_CREATE_ATTACHMENT = {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
const eu = require('./etapi_utils.js');
 | 
					const eu = require('./etapi_utils');
 | 
				
			||||||
const mappers = require('./mappers.js');
 | 
					const mappers = require('./mappers.js');
 | 
				
			||||||
const attributeService = require('../services/attributes.js');
 | 
					const attributeService = require('../services/attributes.js');
 | 
				
			||||||
const v = require('./validators.js');
 | 
					const v = require('./validators.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
const eu = require('./etapi_utils.js');
 | 
					const eu = require('./etapi_utils');
 | 
				
			||||||
const passwordEncryptionService = require('../services/encryption/password_encryption.js');
 | 
					const passwordEncryptionService = require('../services/encryption/password_encryption.js');
 | 
				
			||||||
const etapiTokenService = require('../services/etapi_tokens.js');
 | 
					const etapiTokenService = require('../services/etapi_tokens.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
const eu = require('./etapi_utils.js');
 | 
					const eu = require('./etapi_utils');
 | 
				
			||||||
const backupService = require('../services/backup.js');
 | 
					const backupService = require('../services/backup.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function register(router) {
 | 
					function register(router) {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
const eu = require('./etapi_utils.js');
 | 
					const eu = require('./etapi_utils');
 | 
				
			||||||
const mappers = require('./mappers.js');
 | 
					const mappers = require('./mappers.js');
 | 
				
			||||||
const BBranch = require('../becca/entities/bbranch.js');
 | 
					const BBranch = require('../becca/entities/bbranch.js');
 | 
				
			||||||
const entityChangesService = require('../services/entity_changes.js');
 | 
					const entityChangesService = require('../services/entity_changes.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
const utils = require('../services/utils.js');
 | 
					const utils = require('../services/utils');
 | 
				
			||||||
const eu = require('./etapi_utils.js');
 | 
					const eu = require('./etapi_utils');
 | 
				
			||||||
const mappers = require('./mappers.js');
 | 
					const mappers = require('./mappers.js');
 | 
				
			||||||
const noteService = require('../services/notes.js');
 | 
					const noteService = require('../services/notes.js');
 | 
				
			||||||
const TaskContext = require('../services/task_context.js');
 | 
					const TaskContext = require('../services/task_context.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
const specialNotesService = require('../services/special_notes.js');
 | 
					const specialNotesService = require('../services/special_notes.js');
 | 
				
			||||||
const dateNotesService = require('../services/date_notes.js');
 | 
					const dateNotesService = require('../services/date_notes.js');
 | 
				
			||||||
const eu = require('./etapi_utils.js');
 | 
					const eu = require('./etapi_utils');
 | 
				
			||||||
const mappers = require('./mappers.js');
 | 
					const mappers = require('./mappers.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const getDateInvalidError = date => new eu.EtapiError(400, "DATE_INVALID", `Date "${date}" is not valid.`);
 | 
					const getDateInvalidError = date => new eu.EtapiError(400, "DATE_INVALID", `Date "${date}" is not valid.`);
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
const noteTypeService = require('../services/note_types.js');
 | 
					const noteTypeService = require('../services/note_types.js');
 | 
				
			||||||
const dateUtils = require('../services/date_utils.js');
 | 
					const dateUtils = require('../services/date_utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function mandatory(obj) {
 | 
					function mandatory(obj) {
 | 
				
			||||||
    if (obj === undefined ) {
 | 
					    if (obj === undefined ) {
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
const beccaService = require('../../becca/becca_service.js');
 | 
					const beccaService = require('../../becca/becca_service.js');
 | 
				
			||||||
const searchService = require('../../services/search/services/search.js');
 | 
					const searchService = require('../../services/search/services/search.js');
 | 
				
			||||||
const log = require('../../services/log');
 | 
					const log = require('../../services/log');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const cls = require('../../services/cls');
 | 
					const cls = require('../../services/cls');
 | 
				
			||||||
const becca = require('../../becca/becca.js');
 | 
					const becca = require('../../becca/becca.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const fs = require('fs');
 | 
					const fs = require('fs');
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const {LOG_DIR} = require('../../services/data_dir');
 | 
					const {LOG_DIR} = require('../../services/data_dir');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function getBackendLog() {
 | 
					function getBackendLog() {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const sql = require('../../services/sql.js');
 | 
					const sql = require('../../services/sql.js');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const entityChangesService = require('../../services/entity_changes.js');
 | 
					const entityChangesService = require('../../services/entity_changes.js');
 | 
				
			||||||
const treeService = require('../../services/tree.js');
 | 
					const treeService = require('../../services/tree.js');
 | 
				
			||||||
const eraseService = require('../../services/erase.js');
 | 
					const eraseService = require('../../services/erase.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -4,12 +4,12 @@ const attributeService = require('../../services/attributes.js');
 | 
				
			|||||||
const cloneService = require('../../services/cloning.js');
 | 
					const cloneService = require('../../services/cloning.js');
 | 
				
			||||||
const noteService = require('../../services/notes.js');
 | 
					const noteService = require('../../services/notes.js');
 | 
				
			||||||
const dateNoteService = require('../../services/date_notes.js');
 | 
					const dateNoteService = require('../../services/date_notes.js');
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const imageService = require('../../services/image.js');
 | 
					const imageService = require('../../services/image.js');
 | 
				
			||||||
const appInfo = require('../../services/app_info.js');
 | 
					const appInfo = require('../../services/app_info.js');
 | 
				
			||||||
const ws = require('../../services/ws.js');
 | 
					const ws = require('../../services/ws.js');
 | 
				
			||||||
const log = require('../../services/log');
 | 
					const log = require('../../services/log');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const path = require('path');
 | 
					const path = require('path');
 | 
				
			||||||
const htmlSanitizer = require('../../services/html_sanitizer.js');
 | 
					const htmlSanitizer = require('../../services/html_sanitizer.js');
 | 
				
			||||||
const {formatAttrForSearch} = require('../../services/attribute_formatter.js');
 | 
					const {formatAttrForSearch} = require('../../services/attribute_formatter.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const protectedSessionService = require('../../services/protected_session.js');
 | 
					const protectedSessionService = require('../../services/protected_session.js');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const log = require('../../services/log');
 | 
					const log = require('../../services/log');
 | 
				
			||||||
const noteService = require('../../services/notes.js');
 | 
					const noteService = require('../../services/notes.js');
 | 
				
			||||||
const tmp = require('tmp');
 | 
					const tmp = require('tmp');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,8 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const options = require('../../services/options.js');
 | 
					const options = require('../../services/options.js');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
const instanceId = require('../../services/instance_id.js');
 | 
					const instanceId = require('../../services/instance_id.js');
 | 
				
			||||||
const passwordEncryptionService = require('../../services/encryption/password_encryption.js');
 | 
					const passwordEncryptionService = require('../../services/encryption/password_encryption.js');
 | 
				
			||||||
const protectedSessionService = require('../../services/protected_session.js');
 | 
					const protectedSessionService = require('../../services/protected_session.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@ const noteService = require('../../services/notes.js');
 | 
				
			|||||||
const eraseService = require('../../services/erase.js');
 | 
					const eraseService = require('../../services/erase.js');
 | 
				
			||||||
const treeService = require('../../services/tree.js');
 | 
					const treeService = require('../../services/tree.js');
 | 
				
			||||||
const sql = require('../../services/sql.js');
 | 
					const sql = require('../../services/sql.js');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const log = require('../../services/log');
 | 
					const log = require('../../services/log');
 | 
				
			||||||
const TaskContext = require('../../services/task_context.js');
 | 
					const TaskContext = require('../../services/task_context.js');
 | 
				
			||||||
const becca = require('../../becca/becca.js');
 | 
					const becca = require('../../becca/becca.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const BRecentNote = require('../../becca/entities/brecent_note.js');
 | 
					const BRecentNote = require('../../becca/entities/brecent_note.js');
 | 
				
			||||||
const sql = require('../../services/sql.js');
 | 
					const sql = require('../../services/sql.js');
 | 
				
			||||||
const dateUtils = require('../../services/date_utils.js');
 | 
					const dateUtils = require('../../services/date_utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function addRecentNote(req) {
 | 
					function addRecentNote(req) {
 | 
				
			||||||
    new BRecentNote({
 | 
					    new BRecentNote({
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const beccaService = require('../../becca/becca_service.js');
 | 
					const beccaService = require('../../becca/becca_service.js');
 | 
				
			||||||
const revisionService = require('../../services/revisions.js');
 | 
					const revisionService = require('../../services/revisions.js');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const sql = require('../../services/sql.js');
 | 
					const sql = require('../../services/sql.js');
 | 
				
			||||||
const cls = require('../../services/cls');
 | 
					const cls = require('../../services/cls');
 | 
				
			||||||
const path = require('path');
 | 
					const path = require('path');
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,7 @@ const optionService = require('../../services/options.js');
 | 
				
			|||||||
const contentHashService = require('../../services/content_hash.js');
 | 
					const contentHashService = require('../../services/content_hash.js');
 | 
				
			||||||
const log = require('../../services/log');
 | 
					const log = require('../../services/log');
 | 
				
			||||||
const syncOptions = require('../../services/sync_options.js');
 | 
					const syncOptions = require('../../services/sync_options.js');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const ws = require('../../services/ws.js');
 | 
					const ws = require('../../services/ws.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
async function testSync() {
 | 
					async function testSync() {
 | 
				
			||||||
 | 
				
			|||||||
@ -6,7 +6,7 @@ const config = require('../services/config.js');
 | 
				
			|||||||
const optionService = require('../services/options.js');
 | 
					const optionService = require('../services/options.js');
 | 
				
			||||||
const log = require('../services/log');
 | 
					const log = require('../services/log');
 | 
				
			||||||
const env = require('../services/env.js');
 | 
					const env = require('../services/env.js');
 | 
				
			||||||
const utils = require('../services/utils.js');
 | 
					const utils = require('../services/utils');
 | 
				
			||||||
const protectedSessionService = require('../services/protected_session.js');
 | 
					const protectedSessionService = require('../services/protected_session.js');
 | 
				
			||||||
const packageJson = require('../../package.json');
 | 
					const packageJson = require('../../package.json');
 | 
				
			||||||
const assetPath = require('../services/asset_path.js');
 | 
					const assetPath = require('../services/asset_path.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const utils = require('../services/utils.js');
 | 
					const utils = require('../services/utils');
 | 
				
			||||||
const optionService = require('../services/options.js');
 | 
					const optionService = require('../services/options.js');
 | 
				
			||||||
const myScryptService = require('../services/encryption/my_scrypt.js');
 | 
					const myScryptService = require('../services/encryption/my_scrypt.js');
 | 
				
			||||||
const log = require('../services/log');
 | 
					const log = require('../services/log');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const utils = require('../services/utils.js');
 | 
					const utils = require('../services/utils');
 | 
				
			||||||
const multer = require('multer');
 | 
					const multer = require('multer');
 | 
				
			||||||
const log = require('../services/log');
 | 
					const log = require('../services/log');
 | 
				
			||||||
const express = require('express');
 | 
					const express = require('express');
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const sqlInit = require('../services/sql_init.js');
 | 
					const sqlInit = require('../services/sql_init.js');
 | 
				
			||||||
const setupService = require('../services/setup.js');
 | 
					const setupService = require('../services/setup.js');
 | 
				
			||||||
const utils = require('../services/utils.js');
 | 
					const utils = require('../services/utils');
 | 
				
			||||||
const assetPath = require('../services/asset_path.js');
 | 
					const assetPath = require('../services/asset_path.js');
 | 
				
			||||||
const appPath = require('../services/app_path.js');
 | 
					const appPath = require('../services/app_path.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
const BUILTIN_ATTRIBUTES = require('./builtin_attributes.js');
 | 
					const BUILTIN_ATTRIBUTES = require('./builtin_attributes.js');
 | 
				
			||||||
const fs = require("fs-extra");
 | 
					const fs = require("fs-extra");
 | 
				
			||||||
const dataDir = require('./data_dir');
 | 
					const dataDir = require('./data_dir');
 | 
				
			||||||
const dateUtils = require('./date_utils.js');
 | 
					const dateUtils = require('./date_utils');
 | 
				
			||||||
const Database = require("better-sqlite3");
 | 
					const Database = require("better-sqlite3");
 | 
				
			||||||
const sql = require('./sql.js');
 | 
					const sql = require('./sql.js');
 | 
				
			||||||
const path = require("path");
 | 
					const path = require("path");
 | 
				
			||||||
 | 
				
			|||||||
@ -6,7 +6,7 @@ const log = require('./log');
 | 
				
			|||||||
const os = require('os');
 | 
					const os = require('os');
 | 
				
			||||||
const fs = require('fs');
 | 
					const fs = require('fs');
 | 
				
			||||||
const config = require('./config.js');
 | 
					const config = require('./config.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const template = `[Desktop Entry]
 | 
					const template = `[Desktop Entry]
 | 
				
			||||||
Type=Application
 | 
					Type=Application
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
const etapiTokenService = require('./etapi_tokens.js');
 | 
					const etapiTokenService = require('./etapi_tokens.js');
 | 
				
			||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const sqlInit = require('./sql_init.js');
 | 
					const sqlInit = require('./sql_init.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const passwordEncryptionService = require('./encryption/password_encryption.js');
 | 
					const passwordEncryptionService = require('./encryption/password_encryption.js');
 | 
				
			||||||
const config = require('./config.js');
 | 
					const config = require('./config.js');
 | 
				
			||||||
const passwordService = require('./encryption/password.js');
 | 
					const passwordService = require('./encryption/password.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const noteService = require('./notes.js');
 | 
					const noteService = require('./notes.js');
 | 
				
			||||||
const sql = require('./sql.js');
 | 
					const sql = require('./sql.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const attributeService = require('./attributes.js');
 | 
					const attributeService = require('./attributes.js');
 | 
				
			||||||
const dateNoteService = require('./date_notes.js');
 | 
					const dateNoteService = require('./date_notes.js');
 | 
				
			||||||
const treeService = require('./tree.js');
 | 
					const treeService = require('./tree.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const dateUtils = require('./date_utils.js');
 | 
					const dateUtils = require('./date_utils');
 | 
				
			||||||
const optionService = require('./options.js');
 | 
					const optionService = require('./options.js');
 | 
				
			||||||
const fs = require('fs-extra');
 | 
					const fs = require('fs-extra');
 | 
				
			||||||
const dataDir = require('./data_dir');
 | 
					const dataDir = require('./data_dir');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
const NotFoundError = require('../errors/not_found_error.js');
 | 
					const NotFoundError = require('../errors/not_found_error.js');
 | 
				
			||||||
const protectedSessionService = require('./protected_session.js');
 | 
					const protectedSessionService = require('./protected_session.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function getBlobPojo(entityName, entityId) {
 | 
					function getBlobPojo(entityName, entityId) {
 | 
				
			||||||
    const entity = becca.getEntity(entityName, entityId);
 | 
					    const entity = becca.getEntity(entityName, entityId);
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@ const revisionService = require('./revisions.js');
 | 
				
			|||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
const cloningService = require('./cloning.js');
 | 
					const cloningService = require('./cloning.js');
 | 
				
			||||||
const branchService = require('./branches.js');
 | 
					const branchService = require('./branches.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const eraseService = require("./erase.js");
 | 
					const eraseService = require("./erase.js");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ACTION_HANDLERS = {
 | 
					const ACTION_HANDLERS = {
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@ const optionsService = require('./options.js');
 | 
				
			|||||||
const BBranch = require('../becca/entities/bbranch.js');
 | 
					const BBranch = require('../becca/entities/bbranch.js');
 | 
				
			||||||
const revisionService = require('./revisions.js');
 | 
					const revisionService = require('./revisions.js');
 | 
				
			||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
const utils = require('../services/utils.js');
 | 
					const utils = require('../services/utils');
 | 
				
			||||||
const eraseService = require('../services/erase.js');
 | 
					const eraseService = require('../services/erase.js');
 | 
				
			||||||
const {sanitizeAttributeName} = require('./sanitize_attribute_name.js');
 | 
					const {sanitizeAttributeName} = require('./sanitize_attribute_name.js');
 | 
				
			||||||
const noteTypes = require('../services/note_types.js').getNoteTypeNames();
 | 
					const noteTypes = require('../services/note_types.js').getNoteTypeNames();
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const sql = require('./sql.js');
 | 
					const sql = require('./sql.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const eraseService = require('./erase.js');
 | 
					const eraseService = require('./erase.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const noteService = require('./notes.js');
 | 
					const noteService = require('./notes.js');
 | 
				
			||||||
const attributeService = require('./attributes.js');
 | 
					const attributeService = require('./attributes.js');
 | 
				
			||||||
const dateUtils = require('./date_utils.js');
 | 
					const dateUtils = require('./date_utils');
 | 
				
			||||||
const sql = require('./sql.js');
 | 
					const sql = require('./sql.js');
 | 
				
			||||||
const protectedSessionService = require('./protected_session.js');
 | 
					const protectedSessionService = require('./protected_session.js');
 | 
				
			||||||
const searchService = require('../services/search/services/search.js');
 | 
					const searchService = require('../services/search/services/search.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
const sql = require('../sql.js');
 | 
					const sql = require('../sql.js');
 | 
				
			||||||
const optionService = require('../options.js');
 | 
					const optionService = require('../options.js');
 | 
				
			||||||
const myScryptService = require('./my_scrypt.js');
 | 
					const myScryptService = require('./my_scrypt.js');
 | 
				
			||||||
const utils = require('../utils.js');
 | 
					const utils = require('../utils');
 | 
				
			||||||
const passwordEncryptionService = require('./password_encryption.js');
 | 
					const passwordEncryptionService = require('./password_encryption.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function isPasswordSet() {
 | 
					function isPasswordSet() {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
const optionService = require('../options.js');
 | 
					const optionService = require('../options.js');
 | 
				
			||||||
const myScryptService = require('./my_scrypt.js');
 | 
					const myScryptService = require('./my_scrypt.js');
 | 
				
			||||||
const utils = require('../utils.js');
 | 
					const utils = require('../utils');
 | 
				
			||||||
const dataEncryptionService = require('./data_encryption.js');
 | 
					const dataEncryptionService = require('./data_encryption.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function verifyPassword(password) {
 | 
					function verifyPassword(password) {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,8 @@
 | 
				
			|||||||
const sql = require('./sql.js');
 | 
					const sql = require('./sql.js');
 | 
				
			||||||
const dateUtils = require('./date_utils.js');
 | 
					const dateUtils = require('./date_utils');
 | 
				
			||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const cls = require('./cls');
 | 
					const cls = require('./cls');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const instanceId = require('./instance_id.js');
 | 
					const instanceId = require('./instance_id.js');
 | 
				
			||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
const blobService = require('../services/blob.js');
 | 
					const blobService = require('../services/blob.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@ const revisionService = require("./revisions.js");
 | 
				
			|||||||
const log = require("./log.ts");
 | 
					const log = require("./log.ts");
 | 
				
			||||||
const entityChangesService = require("./entity_changes.js");
 | 
					const entityChangesService = require("./entity_changes.js");
 | 
				
			||||||
const optionService = require("./options.js");
 | 
					const optionService = require("./options.js");
 | 
				
			||||||
const dateUtils = require("./date_utils.js");
 | 
					const dateUtils = require("./date_utils");
 | 
				
			||||||
const sqlInit = require("./sql_init.js");
 | 
					const sqlInit = require("./sql_init.js");
 | 
				
			||||||
const cls = require("./cls");
 | 
					const cls = require("./cls");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const BEtapiToken = require('../becca/entities/betapi_token.js');
 | 
					const BEtapiToken = require('../becca/entities/betapi_token.js');
 | 
				
			||||||
const crypto = require("crypto");
 | 
					const crypto = require("crypto");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const utils = require('../utils.js');
 | 
					const utils = require('../utils');
 | 
				
			||||||
const becca = require('../../becca/becca.js');
 | 
					const becca = require('../../becca/becca.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function exportToOpml(taskContext, branch, version, res) {
 | 
					function exportToOpml(taskContext, branch, version, res) {
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const mimeTypes = require('mime-types');
 | 
					const mimeTypes = require('mime-types');
 | 
				
			||||||
const html = require('html');
 | 
					const html = require('html');
 | 
				
			||||||
const utils = require('../utils.js');
 | 
					const utils = require('../utils');
 | 
				
			||||||
const mdService = require('./md.js');
 | 
					const mdService = require('./md.js');
 | 
				
			||||||
const becca = require('../../becca/becca.js');
 | 
					const becca = require('../../becca/becca.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,12 +1,12 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const html = require('html');
 | 
					const html = require('html');
 | 
				
			||||||
const dateUtils = require('../date_utils.js');
 | 
					const dateUtils = require('../date_utils');
 | 
				
			||||||
const path = require('path');
 | 
					const path = require('path');
 | 
				
			||||||
const mimeTypes = require('mime-types');
 | 
					const mimeTypes = require('mime-types');
 | 
				
			||||||
const mdService = require('./md.js');
 | 
					const mdService = require('./md.js');
 | 
				
			||||||
const packageInfo = require('../../../package.json');
 | 
					const packageInfo = require('../../../package.json');
 | 
				
			||||||
const utils = require('../utils.js');
 | 
					const utils = require('../utils');
 | 
				
			||||||
const protectedSessionService = require('../protected_session.js');
 | 
					const protectedSessionService = require('../protected_session.js');
 | 
				
			||||||
const sanitize = require("sanitize-filename");
 | 
					const sanitize = require("sanitize-filename");
 | 
				
			||||||
const fs = require("fs");
 | 
					const fs = require("fs");
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@ const sax = require("sax");
 | 
				
			|||||||
const stream = require('stream');
 | 
					const stream = require('stream');
 | 
				
			||||||
const {Throttle} = require('stream-throttle');
 | 
					const {Throttle} = require('stream-throttle');
 | 
				
			||||||
const log = require('../log');
 | 
					const log = require('../log');
 | 
				
			||||||
const utils = require('../utils.js');
 | 
					const utils = require('../utils');
 | 
				
			||||||
const sql = require('../sql.js');
 | 
					const sql = require('../sql.js');
 | 
				
			||||||
const noteService = require('../notes.js');
 | 
					const noteService = require('../notes.js');
 | 
				
			||||||
const imageService = require('../image.js');
 | 
					const imageService = require('../image.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const marked = require("marked");
 | 
					const marked = require("marked");
 | 
				
			||||||
const htmlSanitizer = require('../html_sanitizer.js');
 | 
					const htmlSanitizer = require('../html_sanitizer.js');
 | 
				
			||||||
const importUtils = require('./utils.js');
 | 
					const importUtils = require('./utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function renderToHtml(content, title) {
 | 
					function renderToHtml(content, title) {
 | 
				
			||||||
    const html = marked.parse(content, {
 | 
					    const html = marked.parse(content, {
 | 
				
			||||||
 | 
				
			|||||||
@ -5,8 +5,8 @@ const imageService = require('../../services/image.js');
 | 
				
			|||||||
const protectedSessionService = require('../protected_session.js');
 | 
					const protectedSessionService = require('../protected_session.js');
 | 
				
			||||||
const markdownService = require('./markdown.js');
 | 
					const markdownService = require('./markdown.js');
 | 
				
			||||||
const mimeService = require('./mime.js');
 | 
					const mimeService = require('./mime.js');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const importUtils = require('./utils.js');
 | 
					const importUtils = require('./utils');
 | 
				
			||||||
const htmlSanitizer = require('../html_sanitizer.js');
 | 
					const htmlSanitizer = require('../html_sanitizer.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function importSingleFile(taskContext, file, parentNote) {
 | 
					function importSingleFile(taskContext, file, parentNote) {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const BAttribute = require('../../becca/entities/battribute.js');
 | 
					const BAttribute = require('../../becca/entities/battribute.js');
 | 
				
			||||||
const utils = require('../../services/utils.js');
 | 
					const utils = require('../../services/utils');
 | 
				
			||||||
const log = require('../../services/log');
 | 
					const log = require('../../services/log');
 | 
				
			||||||
const noteService = require('../../services/notes.js');
 | 
					const noteService = require('../../services/notes.js');
 | 
				
			||||||
const attributeService = require('../../services/attributes.js');
 | 
					const attributeService = require('../../services/attributes.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const instanceId = utils.randomString(12);
 | 
					const instanceId = utils.randomString(12);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
const optionService = require('./options.js');
 | 
					const optionService = require('./options.js');
 | 
				
			||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const isMac = process.platform === "darwin";
 | 
					const isMac = process.platform === "darwin";
 | 
				
			||||||
const isElectron = utils.isElectron();
 | 
					const isElectron = utils.isElectron();
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@ const backupService = require('./backup.js');
 | 
				
			|||||||
const sql = require('./sql.js');
 | 
					const sql = require('./sql.js');
 | 
				
			||||||
const fs = require('fs-extra');
 | 
					const fs = require('fs-extra');
 | 
				
			||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const resourceDir = require('./resource_dir.js');
 | 
					const resourceDir = require('./resource_dir.js');
 | 
				
			||||||
const appInfo = require('./app_info.js');
 | 
					const appInfo = require('./app_info.js');
 | 
				
			||||||
const cls = require('./cls');
 | 
					const cls = require('./cls');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,12 +1,12 @@
 | 
				
			|||||||
const sql = require('./sql.js');
 | 
					const sql = require('./sql.js');
 | 
				
			||||||
const optionService = require('./options.js');
 | 
					const optionService = require('./options.js');
 | 
				
			||||||
const dateUtils = require('./date_utils.js');
 | 
					const dateUtils = require('./date_utils');
 | 
				
			||||||
const entityChangesService = require('./entity_changes.js');
 | 
					const entityChangesService = require('./entity_changes.js');
 | 
				
			||||||
const eventService = require('./events.js');
 | 
					const eventService = require('./events.js');
 | 
				
			||||||
const cls = require('../services/cls');
 | 
					const cls = require('../services/cls');
 | 
				
			||||||
const protectedSessionService = require('../services/protected_session.js');
 | 
					const protectedSessionService = require('../services/protected_session.js');
 | 
				
			||||||
const log = require('../services/log');
 | 
					const log = require('../services/log');
 | 
				
			||||||
const utils = require('../services/utils.js');
 | 
					const utils = require('../services/utils');
 | 
				
			||||||
const revisionService = require('./revisions.js');
 | 
					const revisionService = require('./revisions.js');
 | 
				
			||||||
const request = require('./request.js');
 | 
					const request = require('./request.js');
 | 
				
			||||||
const path = require('path');
 | 
					const path = require('path');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,8 @@
 | 
				
			|||||||
const optionService = require('./options.js');
 | 
					const optionService = require('./options.js');
 | 
				
			||||||
const appInfo = require('./app_info.js');
 | 
					const appInfo = require('./app_info.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const dateUtils = require('./date_utils.js');
 | 
					const dateUtils = require('./date_utils');
 | 
				
			||||||
const keyboardActions = require('./keyboard_actions.js');
 | 
					const keyboardActions = require('./keyboard_actions.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function initDocumentOptions() {
 | 
					function initDocumentOptions() {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
const config = require('./config.js');
 | 
					const config = require('./config.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const env = require('./env.js');
 | 
					const env = require('./env.js');
 | 
				
			||||||
const dataDir = require('./data_dir');
 | 
					const dataDir = require('./data_dir');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const url = require('url');
 | 
					const url = require('url');
 | 
				
			||||||
const syncOptions = require('./sync_options.js');
 | 
					const syncOptions = require('./sync_options.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const sql = require('./sql.js');
 | 
					const sql = require('./sql.js');
 | 
				
			||||||
const protectedSessionService = require('./protected_session.js');
 | 
					const protectedSessionService = require('./protected_session.js');
 | 
				
			||||||
const dateUtils = require('./date_utils.js');
 | 
					const dateUtils = require('./date_utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @param {BNote} note
 | 
					 * @param {BNote} note
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const BackendScriptApi = require('./backend_script_api.js');
 | 
					const BackendScriptApi = require('./backend_script_api.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function ScriptContext(allNotes, apiParams = {}) {
 | 
					function ScriptContext(allNotes, apiParams = {}) {
 | 
				
			||||||
 | 
				
			|||||||
@ -6,7 +6,7 @@ const log = require('../../log');
 | 
				
			|||||||
const becca = require('../../../becca/becca.js');
 | 
					const becca = require('../../../becca/becca.js');
 | 
				
			||||||
const protectedSessionService = require('../../protected_session.js');
 | 
					const protectedSessionService = require('../../protected_session.js');
 | 
				
			||||||
const striptags = require('striptags');
 | 
					const striptags = require('striptags');
 | 
				
			||||||
const utils = require('../../utils.js');
 | 
					const utils = require('../../utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ALLOWED_OPERATORS = ['=', '!=', '*=*', '*=', '=*', '%='];
 | 
					const ALLOWED_OPERATORS = ['=', '!=', '*=*', '*=', '=*', '%='];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
const Expression = require('./expression.js');
 | 
					const Expression = require('./expression.js');
 | 
				
			||||||
const NoteSet = require('../note_set.js');
 | 
					const NoteSet = require('../note_set.js');
 | 
				
			||||||
const becca = require('../../../becca/becca.js');
 | 
					const becca = require('../../../becca/becca.js');
 | 
				
			||||||
const utils = require('../../utils.js');
 | 
					const utils = require('../../utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class NoteFlatTextExp extends Expression {
 | 
					class NoteFlatTextExp extends Expression {
 | 
				
			||||||
    constructor(tokens) {
 | 
					    constructor(tokens) {
 | 
				
			||||||
 | 
				
			|||||||
@ -17,7 +17,7 @@ const OrderByAndLimitExp = require('../expressions/order_by_and_limit.js');
 | 
				
			|||||||
const AncestorExp = require('../expressions/ancestor.js');
 | 
					const AncestorExp = require('../expressions/ancestor.js');
 | 
				
			||||||
const buildComparator = require('./build_comparator.js');
 | 
					const buildComparator = require('./build_comparator.js');
 | 
				
			||||||
const ValueExtractor = require('../value_extractor.js');
 | 
					const ValueExtractor = require('../value_extractor.js');
 | 
				
			||||||
const utils = require('../../utils.js');
 | 
					const utils = require('../../utils');
 | 
				
			||||||
const TrueExp = require('../expressions/true.js');
 | 
					const TrueExp = require('../expressions/true.js');
 | 
				
			||||||
const IsHiddenExp = require('../expressions/is_hidden.js');
 | 
					const IsHiddenExp = require('../expressions/is_hidden.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -8,7 +8,7 @@ const SearchResult = require('../search_result.js');
 | 
				
			|||||||
const SearchContext = require('../search_context.js');
 | 
					const SearchContext = require('../search_context.js');
 | 
				
			||||||
const becca = require('../../../becca/becca.js');
 | 
					const becca = require('../../../becca/becca.js');
 | 
				
			||||||
const beccaService = require('../../../becca/becca_service.js');
 | 
					const beccaService = require('../../../becca/becca_service.js');
 | 
				
			||||||
const utils = require('../../utils.js');
 | 
					const utils = require('../../utils');
 | 
				
			||||||
const log = require('../../log');
 | 
					const log = require('../../log');
 | 
				
			||||||
const hoistedNoteService = require('../../hoisted_note.js');
 | 
					const hoistedNoteService = require('../../hoisted_note.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -5,7 +5,7 @@ const optionService = require('./options.js');
 | 
				
			|||||||
const syncOptions = require('./sync_options.js');
 | 
					const syncOptions = require('./sync_options.js');
 | 
				
			||||||
const request = require('./request.js');
 | 
					const request = require('./request.js');
 | 
				
			||||||
const appInfo = require('./app_info.js');
 | 
					const appInfo = require('./app_info.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
async function hasSyncServerSchemaAndSeed() {
 | 
					async function hasSyncServerSchemaAndSeed() {
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@ const attributeService = require('./attributes.js');
 | 
				
			|||||||
const dateNoteService = require('./date_notes.js');
 | 
					const dateNoteService = require('./date_notes.js');
 | 
				
			||||||
const becca = require('../becca/becca.js');
 | 
					const becca = require('../becca/becca.js');
 | 
				
			||||||
const noteService = require('./notes.js');
 | 
					const noteService = require('./notes.js');
 | 
				
			||||||
const dateUtils = require('./date_utils.js');
 | 
					const dateUtils = require('./date_utils');
 | 
				
			||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const hoistedNoteService = require('./hoisted_note.js');
 | 
					const hoistedNoteService = require('./hoisted_note.js');
 | 
				
			||||||
const searchService = require('./search/services/search.js');
 | 
					const searchService = require('./search/services/search.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@ const log = require('./log');
 | 
				
			|||||||
const fs = require('fs');
 | 
					const fs = require('fs');
 | 
				
			||||||
const resourceDir = require('./resource_dir.js');
 | 
					const resourceDir = require('./resource_dir.js');
 | 
				
			||||||
const sql = require('./sql.js');
 | 
					const sql = require('./sql.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const optionService = require('./options.js');
 | 
					const optionService = require('./options.js');
 | 
				
			||||||
const port = require('./port.js');
 | 
					const port = require('./port.js');
 | 
				
			||||||
const BOption = require('../becca/entities/boption.js');
 | 
					const BOption = require('../becca/entities/boption.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -3,9 +3,9 @@
 | 
				
			|||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const sql = require('./sql.js');
 | 
					const sql = require('./sql.js');
 | 
				
			||||||
const optionService = require('./options.js');
 | 
					const optionService = require('./options.js');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const instanceId = require('./instance_id.js');
 | 
					const instanceId = require('./instance_id.js');
 | 
				
			||||||
const dateUtils = require('./date_utils.js');
 | 
					const dateUtils = require('./date_utils');
 | 
				
			||||||
const syncUpdateService = require('./sync_update.js');
 | 
					const syncUpdateService = require('./sync_update.js');
 | 
				
			||||||
const contentHashService = require('./content_hash.js');
 | 
					const contentHashService = require('./content_hash.js');
 | 
				
			||||||
const appInfo = require('./app_info.js');
 | 
					const appInfo = require('./app_info.js');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,18 +1,18 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const crypto = require('crypto');
 | 
					import crypto = require('crypto');
 | 
				
			||||||
const randtoken = require('rand-token').generator({source: 'crypto'});
 | 
					const randtoken = require('rand-token').generator({source: 'crypto'});
 | 
				
			||||||
const unescape = require('unescape');
 | 
					import unescape = require('unescape');
 | 
				
			||||||
const escape = require('escape-html');
 | 
					import escape = require('escape-html');
 | 
				
			||||||
const sanitize = require("sanitize-filename");
 | 
					import sanitize = require("sanitize-filename");
 | 
				
			||||||
const mimeTypes = require('mime-types');
 | 
					import mimeTypes = require('mime-types');
 | 
				
			||||||
const path = require('path');
 | 
					import path = require('path');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function newEntityId() {
 | 
					function newEntityId() {
 | 
				
			||||||
    return randomString(12);
 | 
					    return randomString(12);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function randomString(length) {
 | 
					function randomString(length: number) {
 | 
				
			||||||
    return randtoken.generate(length);
 | 
					    return randtoken.generate(length);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -20,11 +20,11 @@ function randomSecureToken(bytes = 32) {
 | 
				
			|||||||
    return crypto.randomBytes(bytes).toString('base64');
 | 
					    return crypto.randomBytes(bytes).toString('base64');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function md5(content) {
 | 
					function md5(content: crypto.BinaryLike) {
 | 
				
			||||||
    return crypto.createHash('md5').update(content).digest('hex');
 | 
					    return crypto.createHash('md5').update(content).digest('hex');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function hashedBlobId(content) {
 | 
					function hashedBlobId(content: string) {
 | 
				
			||||||
    if (content === null || content === undefined) {
 | 
					    if (content === null || content === undefined) {
 | 
				
			||||||
        content = "";
 | 
					        content = "";
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -41,19 +41,16 @@ function hashedBlobId(content) {
 | 
				
			|||||||
    return kindaBase62Hash.substr(0, 20);
 | 
					    return kindaBase62Hash.substr(0, 20);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function toBase64(plainText) {
 | 
					function toBase64(plainText: string) {
 | 
				
			||||||
    return Buffer.from(plainText).toString('base64');
 | 
					    return Buffer.from(plainText).toString('base64');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					function fromBase64(encodedText: string) {
 | 
				
			||||||
 * @returns {Buffer}
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
function fromBase64(encodedText) {
 | 
					 | 
				
			||||||
    return Buffer.from(encodedText, 'base64');
 | 
					    return Buffer.from(encodedText, 'base64');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function hmac(secret, value) {
 | 
					function hmac(secret: any, value: any) {
 | 
				
			||||||
    const hmac = crypto.createHmac('sha256', Buffer.from(secret.toString(), 'ASCII'));
 | 
					    const hmac = crypto.createHmac('sha256', Buffer.from(secret.toString(), 'ascii'));
 | 
				
			||||||
    hmac.update(value.toString());
 | 
					    hmac.update(value.toString());
 | 
				
			||||||
    return hmac.digest('base64');
 | 
					    return hmac.digest('base64');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -62,30 +59,30 @@ function isElectron() {
 | 
				
			|||||||
    return !!process.versions['electron'];
 | 
					    return !!process.versions['electron'];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function hash(text) {
 | 
					function hash(text: string) {
 | 
				
			||||||
    text = text.normalize();
 | 
					    text = text.normalize();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return crypto.createHash('sha1').update(text).digest('base64');
 | 
					    return crypto.createHash('sha1').update(text).digest('base64');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function isEmptyOrWhitespace(str) {
 | 
					function isEmptyOrWhitespace(str: string) {
 | 
				
			||||||
    return str === null || str.match(/^ *$/) !== null;
 | 
					    return str === null || str.match(/^ *$/) !== null;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function sanitizeSqlIdentifier(str) {
 | 
					function sanitizeSqlIdentifier(str: string) {
 | 
				
			||||||
    return str.replace(/[^A-Za-z0-9_]/g, "");
 | 
					    return str.replace(/[^A-Za-z0-9_]/g, "");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function escapeHtml(str) {
 | 
					function escapeHtml(str: string) {
 | 
				
			||||||
    return escape(str);
 | 
					    return escape(str);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function unescapeHtml(str) {
 | 
					function unescapeHtml(str: string) {
 | 
				
			||||||
    return unescape(str);
 | 
					    return unescape(str);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function toObject(array, fn) {
 | 
					function toObject<T, K extends string | number | symbol, V>(array: T[], fn: (item: T) => [K, V]): Record<K, V> {
 | 
				
			||||||
    const obj = {};
 | 
					    const obj: Record<K, V> = {} as Record<K, V>; // FIXME: unsafe?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (const item of array) {
 | 
					    for (const item of array) {
 | 
				
			||||||
        const ret = fn(item);
 | 
					        const ret = fn(item);
 | 
				
			||||||
@ -96,12 +93,12 @@ function toObject(array, fn) {
 | 
				
			|||||||
    return obj;
 | 
					    return obj;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function stripTags(text) {
 | 
					function stripTags(text: string) {
 | 
				
			||||||
    return text.replace(/<(?:.|\n)*?>/gm, '');
 | 
					    return text.replace(/<(?:.|\n)*?>/gm, '');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function union(a, b) {
 | 
					function union<T extends string | number | symbol>(a: T[], b: T[]): T[] {
 | 
				
			||||||
    const obj = {};
 | 
					    const obj: Record<T, T> = {} as Record<T, T>; // FIXME: unsafe?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (let i = a.length-1; i >= 0; i--) {
 | 
					    for (let i = a.length-1; i >= 0; i--) {
 | 
				
			||||||
        obj[a[i]] = a[i];
 | 
					        obj[a[i]] = a[i];
 | 
				
			||||||
@ -111,7 +108,7 @@ function union(a, b) {
 | 
				
			|||||||
        obj[b[i]] = b[i];
 | 
					        obj[b[i]] = b[i];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const res = [];
 | 
					    const res: T[] = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (const k in obj) {
 | 
					    for (const k in obj) {
 | 
				
			||||||
        if (obj.hasOwnProperty(k)) { // <-- optional
 | 
					        if (obj.hasOwnProperty(k)) { // <-- optional
 | 
				
			||||||
@ -122,7 +119,7 @@ function union(a, b) {
 | 
				
			|||||||
    return res;
 | 
					    return res;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function escapeRegExp(str) {
 | 
					function escapeRegExp(str: string) {
 | 
				
			||||||
    return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
 | 
					    return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -135,7 +132,7 @@ function crash() {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function sanitizeFilenameForHeader(filename) {
 | 
					function sanitizeFilenameForHeader(filename: string) {
 | 
				
			||||||
    let sanitizedFilename = sanitize(filename);
 | 
					    let sanitizedFilename = sanitize(filename);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (sanitizedFilename.trim().length === 0) {
 | 
					    if (sanitizedFilename.trim().length === 0) {
 | 
				
			||||||
@ -145,7 +142,7 @@ function sanitizeFilenameForHeader(filename) {
 | 
				
			|||||||
    return encodeURIComponent(sanitizedFilename);
 | 
					    return encodeURIComponent(sanitizedFilename);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function getContentDisposition(filename) {
 | 
					function getContentDisposition(filename: string) {
 | 
				
			||||||
    const sanitizedFilename = sanitizeFilenameForHeader(filename);
 | 
					    const sanitizedFilename = sanitizeFilenameForHeader(filename);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return `file; filename="${sanitizedFilename}"; filename*=UTF-8''${sanitizedFilename}`;
 | 
					    return `file; filename="${sanitizedFilename}"; filename*=UTF-8''${sanitizedFilename}`;
 | 
				
			||||||
@ -159,24 +156,24 @@ const STRING_MIME_TYPES = [
 | 
				
			|||||||
    "image/svg+xml"
 | 
					    "image/svg+xml"
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function isStringNote(type, mime) {
 | 
					function isStringNote(type: string, mime: string) {
 | 
				
			||||||
    // render and book are string note in the sense that they are expected to contain empty string
 | 
					    // render and book are string note in the sense that they are expected to contain empty string
 | 
				
			||||||
    return ["text", "code", "relationMap", "search", "render", "book", "mermaid", "canvas"].includes(type)
 | 
					    return ["text", "code", "relationMap", "search", "render", "book", "mermaid", "canvas"].includes(type)
 | 
				
			||||||
        || mime.startsWith('text/')
 | 
					        || mime.startsWith('text/')
 | 
				
			||||||
        || STRING_MIME_TYPES.includes(mime);
 | 
					        || STRING_MIME_TYPES.includes(mime);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function quoteRegex(url) {
 | 
					function quoteRegex(url: string) {
 | 
				
			||||||
    return url.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&');
 | 
					    return url.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function replaceAll(string, replaceWhat, replaceWith) {
 | 
					function replaceAll(string: string, replaceWhat: string, replaceWith: string) {
 | 
				
			||||||
    const quotedReplaceWhat = quoteRegex(replaceWhat);
 | 
					    const quotedReplaceWhat = quoteRegex(replaceWhat);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return string.replace(new RegExp(quotedReplaceWhat, "g"), replaceWith);
 | 
					    return string.replace(new RegExp(quotedReplaceWhat, "g"), replaceWith);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function formatDownloadTitle(fileName, type, mime) {
 | 
					function formatDownloadTitle(fileName: string, type: string, mime: string) {
 | 
				
			||||||
    if (!fileName) {
 | 
					    if (!fileName) {
 | 
				
			||||||
        fileName = "untitled";
 | 
					        fileName = "untitled";
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -218,7 +215,7 @@ function formatDownloadTitle(fileName, type, mime) {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function removeTextFileExtension(filePath) {
 | 
					function removeTextFileExtension(filePath: string) {
 | 
				
			||||||
    const extension = path.extname(filePath).toLowerCase();
 | 
					    const extension = path.extname(filePath).toLowerCase();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (extension === '.md' || extension === '.markdown' || extension === '.html') {
 | 
					    if (extension === '.md' || extension === '.markdown' || extension === '.html') {
 | 
				
			||||||
@ -229,7 +226,7 @@ function removeTextFileExtension(filePath) {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function getNoteTitle(filePath, replaceUnderscoresWithSpaces, noteMeta) {
 | 
					function getNoteTitle(filePath: string, replaceUnderscoresWithSpaces: boolean, noteMeta: { title: string }) {
 | 
				
			||||||
    if (noteMeta) {
 | 
					    if (noteMeta) {
 | 
				
			||||||
        return noteMeta.title;
 | 
					        return noteMeta.title;
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
@ -241,7 +238,7 @@ function getNoteTitle(filePath, replaceUnderscoresWithSpaces, noteMeta) {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function timeLimit(promise, limitMs, errorMessage) {
 | 
					function timeLimit<T>(promise: Promise<T>, limitMs: number, errorMessage: string): Promise<T> {
 | 
				
			||||||
    if (!promise || !promise.then) { // it's not actually a promise
 | 
					    if (!promise || !promise.then) { // it's not actually a promise
 | 
				
			||||||
        return promise;
 | 
					        return promise;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -267,23 +264,28 @@ function timeLimit(promise, limitMs, errorMessage) {
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function deferred() {
 | 
					interface DeferredPromise<T> extends Promise<T> {
 | 
				
			||||||
    return (() => {
 | 
						resolve: (value: T | PromiseLike<T>) => void,
 | 
				
			||||||
        let resolve, reject;
 | 
						reject: (reason?: any) => void
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let promise = new Promise((res, rej) => {
 | 
					function deferred<T>(): DeferredPromise<T> {
 | 
				
			||||||
 | 
					    return (() => {
 | 
				
			||||||
 | 
					        let resolve!: (value: T | PromiseLike<T>) => void;
 | 
				
			||||||
 | 
							let reject!: (reason?: any) => void;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        let promise = new Promise<T>((res, rej) => {
 | 
				
			||||||
            resolve = res;
 | 
					            resolve = res;
 | 
				
			||||||
            reject = rej;
 | 
					            reject = rej;
 | 
				
			||||||
        });
 | 
					        }) as DeferredPromise<T>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        promise.resolve = resolve;
 | 
					        promise.resolve = resolve;
 | 
				
			||||||
        promise.reject = reject;
 | 
					        promise.reject = reject;
 | 
				
			||||||
 | 
					        return promise as DeferredPromise<T>;
 | 
				
			||||||
        return promise;
 | 
					 | 
				
			||||||
    })();
 | 
					    })();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function removeDiacritic(str) {
 | 
					function removeDiacritic(str: string) {
 | 
				
			||||||
    if (!str) {
 | 
					    if (!str) {
 | 
				
			||||||
        return "";
 | 
					        return "";
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -291,12 +293,12 @@ function removeDiacritic(str) {
 | 
				
			|||||||
    return str.normalize("NFD").replace(/\p{Diacritic}/gu, "");
 | 
					    return str.normalize("NFD").replace(/\p{Diacritic}/gu, "");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function normalize(str) {
 | 
					function normalize(str: string) {
 | 
				
			||||||
    return removeDiacritic(str).toLowerCase();
 | 
					    return removeDiacritic(str).toLowerCase();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function toMap(list, key) {
 | 
					function toMap<T extends Record<string, any>>(list: T[], key: keyof T): Record<string, T> {
 | 
				
			||||||
    const map = {};
 | 
					    const map: Record<string, T> = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (const el of list) {
 | 
					    for (const el of list) {
 | 
				
			||||||
        map[el[key]] = el;
 | 
					        map[el[key]] = el;
 | 
				
			||||||
@ -305,7 +307,7 @@ function toMap(list, key) {
 | 
				
			|||||||
    return map;
 | 
					    return map;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function isString(x) {
 | 
					function isString(x: any) {
 | 
				
			||||||
    return Object.prototype.toString.call(x) === "[object String]";
 | 
					    return Object.prototype.toString.call(x) === "[object String]";
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
const WebSocket = require('ws');
 | 
					const WebSocket = require('ws');
 | 
				
			||||||
const utils = require('./utils.js');
 | 
					const utils = require('./utils');
 | 
				
			||||||
const log = require('./log');
 | 
					const log = require('./log');
 | 
				
			||||||
const sql = require('./sql.js');
 | 
					const sql = require('./sql.js');
 | 
				
			||||||
const cls = require('./cls');
 | 
					const cls = require('./cls');
 | 
				
			||||||
 | 
				
			|||||||
@ -236,7 +236,7 @@ function register(router) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        addNoIndexHeader(note, res);
 | 
					        addNoIndexHeader(note, res);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const utils = require('../services/utils.js');
 | 
					        const utils = require('../services/utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const filename = utils.formatDownloadTitle(note.title, note.type, note.mime);
 | 
					        const filename = utils.formatDownloadTitle(note.title, note.type, note.mime);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -304,7 +304,7 @@ function register(router) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        addNoIndexHeader(attachment.note, res);
 | 
					        addNoIndexHeader(attachment.note, res);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const utils = require('../services/utils.js');
 | 
					        const utils = require('../services/utils');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const filename = utils.formatDownloadTitle(attachment.title, null, attachment.mime);
 | 
					        const filename = utils.formatDownloadTitle(attachment.title, null, attachment.mime);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const sql = require('../../sql.js');
 | 
					const sql = require('../../sql.js');
 | 
				
			||||||
const utils = require('../../../services/utils.js');
 | 
					const utils = require('../../../services/utils');
 | 
				
			||||||
const AbstractShacaEntity = require('./abstract_shaca_entity.js');
 | 
					const AbstractShacaEntity = require('./abstract_shaca_entity.js');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class SAttachment extends AbstractShacaEntity {
 | 
					class SAttachment extends AbstractShacaEntity {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const sql = require('../../sql.js');
 | 
					const sql = require('../../sql.js');
 | 
				
			||||||
const utils = require('../../../services/utils.js');
 | 
					const utils = require('../../../services/utils');
 | 
				
			||||||
const AbstractShacaEntity = require('./abstract_shaca_entity.js');
 | 
					const AbstractShacaEntity = require('./abstract_shaca_entity.js');
 | 
				
			||||||
const escape = require('escape-html');
 | 
					const escape = require('escape-html');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								src/types/unescape.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/types/unescape.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					declare module 'unescape' {
 | 
				
			||||||
 | 
					    function unescape(str: string, type?: string): string;
 | 
				
			||||||
 | 
					    export = unescape;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -5,7 +5,8 @@
 | 
				
			|||||||
	  "sourceMap": true,
 | 
						  "sourceMap": true,
 | 
				
			||||||
	  "outDir": "./build",
 | 
						  "outDir": "./build",
 | 
				
			||||||
	  "strict": true,
 | 
						  "strict": true,
 | 
				
			||||||
	  "noImplicitAny": true
 | 
						  "noImplicitAny": true,
 | 
				
			||||||
 | 
						  "lib": ["ES2021"]
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	"include": [
 | 
						"include": [
 | 
				
			||||||
      "./src/**/*.js",
 | 
					      "./src/**/*.js",
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user