@digipair/skill-webcam 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs.d.ts +1 -0
- package/index.cjs.js +69 -0
- package/index.d.ts +1 -0
- package/index.esm.js +44 -0
- package/libs/skill-webcam/src/index.d.ts +1 -0
- package/libs/skill-webcam/src/lib/skill-webcam.d.ts +3 -0
- package/package.json +9 -0
- package/schema.json +88 -0
package/index.cjs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./src/index";
|
package/index.cjs.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var NodeWebcam = require('node-webcam');
|
|
6
|
+
|
|
7
|
+
function _interopNamespace(e) {
|
|
8
|
+
if (e && e.__esModule) return e;
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n["default"] = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var NodeWebcam__namespace = /*#__PURE__*/_interopNamespace(NodeWebcam);
|
|
26
|
+
|
|
27
|
+
let WebcamService = class WebcamService {
|
|
28
|
+
async capture(params, _pinsSettingsList, _context) {
|
|
29
|
+
const { width = 1280, height = 720, quality = 100, output = 'jpeg', device, verbose = false } = params;
|
|
30
|
+
const opts = {
|
|
31
|
+
width,
|
|
32
|
+
height,
|
|
33
|
+
quality,
|
|
34
|
+
delay: 0,
|
|
35
|
+
saveShots: false,
|
|
36
|
+
output,
|
|
37
|
+
device: device != null ? device : false,
|
|
38
|
+
callbackReturn: 'base64',
|
|
39
|
+
verbose
|
|
40
|
+
};
|
|
41
|
+
const webcam = NodeWebcam__namespace.create(opts);
|
|
42
|
+
const result = await new Promise((resolve, reject)=>{
|
|
43
|
+
webcam.capture("capture", (err, data)=>{
|
|
44
|
+
if (err) {
|
|
45
|
+
reject(err);
|
|
46
|
+
} else {
|
|
47
|
+
resolve(data);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
webcam.clear();
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
async list(_params, _pinsSettingsList, _context) {
|
|
55
|
+
let webcam = NodeWebcam__namespace.create({});
|
|
56
|
+
const list = (await new Promise((resolve)=>{
|
|
57
|
+
webcam.list((data)=>{
|
|
58
|
+
resolve(data);
|
|
59
|
+
});
|
|
60
|
+
})).map((camera)=>camera.replace(/^=> /g, ''));
|
|
61
|
+
webcam.clear();
|
|
62
|
+
return list;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const capture = (params, pinsSettingsList, context)=>new WebcamService().capture(params, pinsSettingsList, context);
|
|
66
|
+
const list = (params, pinsSettingsList, context)=>new WebcamService().list(params, pinsSettingsList, context);
|
|
67
|
+
|
|
68
|
+
exports.capture = capture;
|
|
69
|
+
exports.list = list;
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './libs/skill-webcam/src/index';
|
package/index.esm.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as NodeWebcam from 'node-webcam';
|
|
2
|
+
|
|
3
|
+
let WebcamService = class WebcamService {
|
|
4
|
+
async capture(params, _pinsSettingsList, _context) {
|
|
5
|
+
const { width = 1280, height = 720, quality = 100, output = 'jpeg', device, verbose = false } = params;
|
|
6
|
+
const opts = {
|
|
7
|
+
width,
|
|
8
|
+
height,
|
|
9
|
+
quality,
|
|
10
|
+
delay: 0,
|
|
11
|
+
saveShots: false,
|
|
12
|
+
output,
|
|
13
|
+
device: device != null ? device : false,
|
|
14
|
+
callbackReturn: 'base64',
|
|
15
|
+
verbose
|
|
16
|
+
};
|
|
17
|
+
const webcam = NodeWebcam.create(opts);
|
|
18
|
+
const result = await new Promise((resolve, reject)=>{
|
|
19
|
+
webcam.capture("capture", (err, data)=>{
|
|
20
|
+
if (err) {
|
|
21
|
+
reject(err);
|
|
22
|
+
} else {
|
|
23
|
+
resolve(data);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
webcam.clear();
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
async list(_params, _pinsSettingsList, _context) {
|
|
31
|
+
let webcam = NodeWebcam.create({});
|
|
32
|
+
const list = (await new Promise((resolve)=>{
|
|
33
|
+
webcam.list((data)=>{
|
|
34
|
+
resolve(data);
|
|
35
|
+
});
|
|
36
|
+
})).map((camera)=>camera.replace(/^=> /g, ''));
|
|
37
|
+
webcam.clear();
|
|
38
|
+
return list;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const capture = (params, pinsSettingsList, context)=>new WebcamService().capture(params, pinsSettingsList, context);
|
|
42
|
+
const list = (params, pinsSettingsList, context)=>new WebcamService().list(params, pinsSettingsList, context);
|
|
43
|
+
|
|
44
|
+
export { capture, list };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/skill-webcam';
|
package/package.json
ADDED
package/schema.json
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.0.0",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "@digipair/skill-webcam",
|
|
5
|
+
"summary": "Gestion de la webcam",
|
|
6
|
+
"description": "Cette compétence permet d'accéder aux images des webcams.",
|
|
7
|
+
"version": "0.1.0",
|
|
8
|
+
"x-icon": "📷"
|
|
9
|
+
},
|
|
10
|
+
"paths": {
|
|
11
|
+
"/capture": {
|
|
12
|
+
"post": {
|
|
13
|
+
"tags": ["service"],
|
|
14
|
+
"summary": "Capture de la webcam",
|
|
15
|
+
"description": "Capture une image de la webcam",
|
|
16
|
+
"parameters": [
|
|
17
|
+
{
|
|
18
|
+
"name": "width",
|
|
19
|
+
"summary": "Largeur",
|
|
20
|
+
"required": false,
|
|
21
|
+
"description": "Largeur de l'image",
|
|
22
|
+
"schema": {
|
|
23
|
+
"type": "number"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "height",
|
|
28
|
+
"summary": "Hauteur",
|
|
29
|
+
"required": false,
|
|
30
|
+
"description": "Hauteur de l'image",
|
|
31
|
+
"schema": {
|
|
32
|
+
"type": "number"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "quality",
|
|
37
|
+
"summary": "Qualité",
|
|
38
|
+
"required": false,
|
|
39
|
+
"description": "Qualité de l'image",
|
|
40
|
+
"schema": {
|
|
41
|
+
"type": "number"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "output",
|
|
46
|
+
"summary": "Type de sortie",
|
|
47
|
+
"required": false,
|
|
48
|
+
"description": "Type de sortie de l'image (jpeg, png)",
|
|
49
|
+
"schema": {
|
|
50
|
+
"type": "string"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "device",
|
|
55
|
+
"summary": "Camera",
|
|
56
|
+
"required": false,
|
|
57
|
+
"description": "Nom de la caméra à utiliser",
|
|
58
|
+
"schema": {
|
|
59
|
+
"type": "string"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "verbose",
|
|
64
|
+
"summary": "Verbeux",
|
|
65
|
+
"required": false,
|
|
66
|
+
"description": "Affiche des informations supplémentaires",
|
|
67
|
+
"schema": {
|
|
68
|
+
"type": "boolean"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"x-events": []
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"/list": {
|
|
76
|
+
"post": {
|
|
77
|
+
"tags": ["service"],
|
|
78
|
+
"summary": "Liste des webcams",
|
|
79
|
+
"description": "Retourne la liste des webcams présentent sur le système",
|
|
80
|
+
"parameters": [],
|
|
81
|
+
"x-events": []
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"components": {
|
|
86
|
+
"schemas": {}
|
|
87
|
+
}
|
|
88
|
+
}
|