@digipair/skill-qrcode 0.90.0 → 0.91.0-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/.swcrc +28 -0
- package/README.md +7 -0
- package/eslint.config.mjs +22 -0
- package/package.json +22 -8
- package/rollup.config.cjs +28 -0
- package/src/lib/skill-qrcode.spec.ts +7 -0
- package/src/lib/skill-qrcode.ts +57 -0
- package/src/qrcode.d.ts +1 -0
- package/tsconfig.json +13 -0
- package/tsconfig.lib.json +19 -0
- package/index.cjs.d.ts +0 -1
- package/index.cjs.js +0 -16933
- package/index.esm.js +0 -16919
- package/libs/skill-qrcode/src/lib/skill-qrcode.d.ts +0 -3
- /package/{index.d.ts → src/index.d.ts} +0 -0
- /package/{libs/skill-qrcode/src/index.d.ts → src/index.ts} +0 -0
- /package/{schema.fr.json → src/schema.fr.json} +0 -0
- /package/{schema.json → src/schema.json} +0 -0
package/.swcrc
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"jsc": {
|
|
3
|
+
"target": "es2017",
|
|
4
|
+
"parser": {
|
|
5
|
+
"syntax": "typescript",
|
|
6
|
+
"decorators": true,
|
|
7
|
+
"dynamicImport": true
|
|
8
|
+
},
|
|
9
|
+
"transform": {
|
|
10
|
+
"decoratorMetadata": true,
|
|
11
|
+
"legacyDecorator": true
|
|
12
|
+
},
|
|
13
|
+
"keepClassNames": true,
|
|
14
|
+
"externalHelpers": true,
|
|
15
|
+
"loose": true
|
|
16
|
+
},
|
|
17
|
+
"module": {
|
|
18
|
+
"type": "es6"
|
|
19
|
+
},
|
|
20
|
+
"sourceMaps": true,
|
|
21
|
+
"exclude": [
|
|
22
|
+
"jest.config.ts",
|
|
23
|
+
".*\\.spec.tsx?$",
|
|
24
|
+
".*\\.test.tsx?$",
|
|
25
|
+
"./src/jest-setup.ts$",
|
|
26
|
+
"./**/jest-setup.ts$"
|
|
27
|
+
]
|
|
28
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import baseConfig from '../../eslint.config.mjs';
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
...baseConfig,
|
|
5
|
+
{
|
|
6
|
+
files: ['**/*.json'],
|
|
7
|
+
rules: {
|
|
8
|
+
'@nx/dependency-checks': [
|
|
9
|
+
'error',
|
|
10
|
+
{
|
|
11
|
+
ignoredFiles: [
|
|
12
|
+
'{projectRoot}/eslint.config.{js,cjs,mjs}',
|
|
13
|
+
'{projectRoot}/rollup.config.{js,ts,mjs,mts,cjs,cts}',
|
|
14
|
+
],
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
languageOptions: {
|
|
19
|
+
parser: await import('jsonc-eslint-parser'),
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
];
|
package/package.json
CHANGED
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digipair/skill-qrcode",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.91.0-0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "dist/libs/skill-qrcode/index.cjs.js",
|
|
6
|
+
"module": "dist/libs/skill-qrcode/index.esm.js",
|
|
7
|
+
"types": "dist/libs/skill-qrcode/index.esm.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
"./package.json": "./libs/skill-qrcode/package.json",
|
|
10
|
+
".": {
|
|
11
|
+
"development": "./dist/libs/skill-qrcode/src/index.ts",
|
|
12
|
+
"types": "./dist/libs/skill-qrcode/index.esm.d.ts",
|
|
13
|
+
"import": "./dist/libs/skill-qrcode/index.esm.js",
|
|
14
|
+
"default": "./dist/libs/skill-qrcode/index.cjs.js"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
4
17
|
"keywords": [
|
|
5
18
|
"digipair",
|
|
6
|
-
"
|
|
19
|
+
"tool",
|
|
7
20
|
"service",
|
|
8
|
-
"
|
|
21
|
+
"web"
|
|
9
22
|
],
|
|
10
|
-
"
|
|
11
|
-
"
|
|
23
|
+
"nx": {
|
|
24
|
+
"name": "skill-qrcode"
|
|
12
25
|
},
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
}
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@digipair/engine": "0.91.0-0"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const { withNx } = require('@nx/rollup/with-nx');
|
|
2
|
+
|
|
3
|
+
module.exports = withNx(
|
|
4
|
+
{
|
|
5
|
+
main: 'libs/skill-qrcode/src/index.ts',
|
|
6
|
+
outputPath: 'dist/libs/skill-qrcode',
|
|
7
|
+
tsConfig: 'libs/skill-qrcode/tsconfig.lib.json',
|
|
8
|
+
compiler: 'swc',
|
|
9
|
+
format: ['esm', "cjs"],
|
|
10
|
+
assets: [
|
|
11
|
+
{
|
|
12
|
+
input: 'libs/skill-qrcode/',
|
|
13
|
+
glob: 'package.json',
|
|
14
|
+
output: '.'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
input: 'libs/skill-qrcode/src/',
|
|
18
|
+
glob: '*.json',
|
|
19
|
+
output: '.'
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
// Provide additional rollup configuration here. See: https://rollupjs.org/configuration-options
|
|
25
|
+
// e.g.
|
|
26
|
+
// output: { sourcemap: true },
|
|
27
|
+
}
|
|
28
|
+
);
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
3
|
+
import { PinsSettings } from '@digipair/engine';
|
|
4
|
+
import jsQR from 'jsqr';
|
|
5
|
+
import QRCode from 'qrcode';
|
|
6
|
+
|
|
7
|
+
class JsQrService {
|
|
8
|
+
async encode(params: any, _pinsSettingsList: PinsSettings[], _context: any): Promise<any> {
|
|
9
|
+
const { data } = params;
|
|
10
|
+
const qrCodeDataURL = await QRCode.toDataURL(data);
|
|
11
|
+
|
|
12
|
+
return qrCodeDataURL;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
async decode(params: any, _pinsSettingsList: PinsSettings[], _context: any): Promise<any> {
|
|
16
|
+
const { image } = params;
|
|
17
|
+
|
|
18
|
+
const { createCanvas, loadImage } =
|
|
19
|
+
typeof window === 'undefined'
|
|
20
|
+
? require('canvas')
|
|
21
|
+
: {
|
|
22
|
+
createCanvas: () => document.createElement('canvas'),
|
|
23
|
+
loadImage: (src: any) =>
|
|
24
|
+
new Promise((resolve, reject) => {
|
|
25
|
+
const img = new Image();
|
|
26
|
+
img.onload = () => resolve(img);
|
|
27
|
+
img.onerror = reject;
|
|
28
|
+
img.src = src;
|
|
29
|
+
}),
|
|
30
|
+
};
|
|
31
|
+
const matches = image.match(/^data:(.+);base64,(.+)$/);
|
|
32
|
+
|
|
33
|
+
if (!matches || matches.length !== 3) {
|
|
34
|
+
throw new Error(`Bad base64 format`);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const buffer = Buffer.from(matches[2], 'base64');
|
|
38
|
+
const img = await loadImage(buffer);
|
|
39
|
+
const canvas = createCanvas(img.width, img.height);
|
|
40
|
+
const context = canvas.getContext('2d');
|
|
41
|
+
context.drawImage(img, 0, 0, img.width, img.height);
|
|
42
|
+
|
|
43
|
+
// Get the image data from the canvas
|
|
44
|
+
const { data, width, height } = context.getImageData(0, 0, img.width, img.height);
|
|
45
|
+
|
|
46
|
+
const qrCode = jsQR(new Uint8ClampedArray(data), width, height);
|
|
47
|
+
|
|
48
|
+
return qrCode?.data;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
export const encode = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
|
|
54
|
+
new JsQrService().encode(params, pinsSettingsList, context);
|
|
55
|
+
|
|
56
|
+
export const decode = (params: any, pinsSettingsList: PinsSettings[], context: any) =>
|
|
57
|
+
new JsQrService().decode(params, pinsSettingsList, context);
|
package/src/qrcode.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare module 'qrcode';
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"rootDir": "src",
|
|
5
|
+
"outDir": "dist",
|
|
6
|
+
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
|
|
7
|
+
"emitDeclarationOnly": true,
|
|
8
|
+
"module": "esnext",
|
|
9
|
+
"moduleResolution": "node",
|
|
10
|
+
"forceConsistentCasingInFileNames": true,
|
|
11
|
+
"types": ["node"]
|
|
12
|
+
},
|
|
13
|
+
"include": ["src/**/*.ts"],
|
|
14
|
+
"references": [
|
|
15
|
+
{
|
|
16
|
+
"path": "../engine/tsconfig.lib.json"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
package/index.cjs.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./src/index";
|