Add logger and JSDOC

This commit is contained in:
Nicolò P 2023-09-28 15:30:24 +02:00
parent c9e7cc243b
commit 4bbcf63940
9 changed files with 99 additions and 8 deletions

5
.gitignore vendored
View File

@ -1,2 +1,5 @@
*.swp
*.swo
.env
node_modules
node_modules
docs/

View File

@ -1,5 +1,6 @@
//let createError = require('http-errors');
import createError from 'http-errors';
import logger from 'morgan';
import express from 'express';
import path from 'path';
import router from './routes/index.mjs';
@ -13,7 +14,7 @@ const PORT = process.env.PORT || 3000;
//app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
//app.use(logger('dev'));
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
//app.use(express.static(path.join(__dirname, 'public')));

View File

@ -2,6 +2,7 @@
"dependencies": {
"dotenv": "^16.3.1",
"ejs": "^3.1.9",
"express": "^4.18.2"
"express": "^4.18.2",
"morgan": "^1.10.0"
}
}

View File

@ -1,4 +1,9 @@
export default class Canvas {
/**
* @class
*/
class Canvas {
images = [];
}
export default Canvas;

11
src/IIIFResource.js Normal file
View File

@ -0,0 +1,11 @@
/**
* @interface
*/
class IIIFResource {
id;
type;
toObject() {}
}
export default IIIFResource;

View File

@ -1,7 +1,12 @@
import IIIFResource from './IIIFResource.js';
import Sequence from "./Sequence.js";
import Canvas from "./Canvas.js";
export default class Manifest {
/**
* @implements IIIFResource
* @class
*/
class Manifest {
id = '';
type = 'sc:Manifest';
/**
@ -27,7 +32,6 @@ export default class Manifest {
}
/**
* @todo Implement
* @param {string} idParam From the request
*/
generateID(idParam) {
@ -35,6 +39,7 @@ export default class Manifest {
}
/**
* @todo Implement
* @returns {object}
*/
toObject() {
return {
@ -44,3 +49,5 @@ export default class Manifest {
}
}
}
export default Manifest;

View File

@ -1,3 +1,11 @@
export default class Sequence {
import IIIFResource from './IIIFResource.js';
/**
* @todo Not needed in IIIF API v3,
* replaced by items
* @implements IIIFResource
* @class
*/
class Sequence {
}
export default Sequence;

20
src/jsdoc.json Normal file
View File

@ -0,0 +1,20 @@
{
"source": {
"include": ["src/"],
"includePattern": ".js$",
"excludePattern": "(node_modules/|docs)"
},
"plugins": ["plugins/markdown"],
"opts": {
"encoding": "utf8",
"destination": "docs/",
"recurse": true,
"verbose": true,
"template": "/home/nicolo/.npm-global/lib/node_modules/clean-jsdoc-theme",
"theme_opts": {
"theme": "light"
}
}
}

View File

@ -32,6 +32,13 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
basic-auth@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a"
integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==
dependencies:
safe-buffer "5.1.2"
body-parser@1.20.1:
version "1.20.1"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
@ -132,7 +139,7 @@ debug@2.6.9:
dependencies:
ms "2.0.0"
depd@2.0.0:
depd@2.0.0, depd@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
@ -362,6 +369,17 @@ minimatch@^5.0.1:
dependencies:
brace-expansion "^2.0.1"
morgan@^1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7"
integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==
dependencies:
basic-auth "~2.0.1"
debug "2.6.9"
depd "~2.0.0"
on-finished "~2.3.0"
on-headers "~1.0.2"
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@ -389,6 +407,18 @@ on-finished@2.4.1:
dependencies:
ee-first "1.1.1"
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
dependencies:
ee-first "1.1.1"
on-headers@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
@ -429,6 +459,11 @@ raw-body@2.5.1:
iconv-lite "0.4.24"
unpipe "1.0.0"
safe-buffer@5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
safe-buffer@5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"