@numerum-tech/yeriasdk 1.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/README.md +864 -0
- package/dist/core/action-grid-view.d.ts +57 -0
- package/dist/core/action-grid-view.d.ts.map +1 -0
- package/dist/core/action-grid-view.js +112 -0
- package/dist/core/action-grid-view.js.map +1 -0
- package/dist/core/action-list-view.d.ts +39 -0
- package/dist/core/action-list-view.d.ts.map +1 -0
- package/dist/core/action-list-view.js +77 -0
- package/dist/core/action-list-view.js.map +1 -0
- package/dist/core/base/base-action-view.d.ts +82 -0
- package/dist/core/base/base-action-view.d.ts.map +1 -0
- package/dist/core/base/base-action-view.js +143 -0
- package/dist/core/base/base-action-view.js.map +1 -0
- package/dist/core/base-view.d.ts +105 -0
- package/dist/core/base-view.d.ts.map +1 -0
- package/dist/core/base-view.js +426 -0
- package/dist/core/base-view.js.map +1 -0
- package/dist/core/card-view.d.ts +24 -0
- package/dist/core/card-view.d.ts.map +1 -0
- package/dist/core/card-view.js +127 -0
- package/dist/core/card-view.js.map +1 -0
- package/dist/core/carousel-view.d.ts +22 -0
- package/dist/core/carousel-view.d.ts.map +1 -0
- package/dist/core/carousel-view.js +99 -0
- package/dist/core/carousel-view.js.map +1 -0
- package/dist/core/form-view.d.ts +165 -0
- package/dist/core/form-view.d.ts.map +1 -0
- package/dist/core/form-view.js +365 -0
- package/dist/core/form-view.js.map +1 -0
- package/dist/core/jsonapp.d.ts +263 -0
- package/dist/core/jsonapp.d.ts.map +1 -0
- package/dist/core/jsonapp.js +528 -0
- package/dist/core/jsonapp.js.map +1 -0
- package/dist/core/key-store.d.ts +51 -0
- package/dist/core/key-store.d.ts.map +1 -0
- package/dist/core/key-store.js +138 -0
- package/dist/core/key-store.js.map +1 -0
- package/dist/core/map-view.d.ts +45 -0
- package/dist/core/map-view.d.ts.map +1 -0
- package/dist/core/map-view.js +318 -0
- package/dist/core/map-view.js.map +1 -0
- package/dist/core/media-view.d.ts +20 -0
- package/dist/core/media-view.d.ts.map +1 -0
- package/dist/core/media-view.js +75 -0
- package/dist/core/media-view.js.map +1 -0
- package/dist/core/message-view.d.ts +53 -0
- package/dist/core/message-view.d.ts.map +1 -0
- package/dist/core/message-view.js +109 -0
- package/dist/core/message-view.js.map +1 -0
- package/dist/core/notification.d.ts +17 -0
- package/dist/core/notification.d.ts.map +1 -0
- package/dist/core/notification.js +33 -0
- package/dist/core/notification.js.map +1 -0
- package/dist/core/qr-display-view.d.ts +32 -0
- package/dist/core/qr-display-view.d.ts.map +1 -0
- package/dist/core/qr-display-view.js +66 -0
- package/dist/core/qr-display-view.js.map +1 -0
- package/dist/core/qr-scan-view.d.ts +148 -0
- package/dist/core/qr-scan-view.d.ts.map +1 -0
- package/dist/core/qr-scan-view.js +259 -0
- package/dist/core/qr-scan-view.js.map +1 -0
- package/dist/core/reader-view.d.ts +73 -0
- package/dist/core/reader-view.d.ts.map +1 -0
- package/dist/core/reader-view.js +285 -0
- package/dist/core/reader-view.js.map +1 -0
- package/dist/core/timeline-view.d.ts +16 -0
- package/dist/core/timeline-view.d.ts.map +1 -0
- package/dist/core/timeline-view.js +68 -0
- package/dist/core/timeline-view.js.map +1 -0
- package/dist/errors/index.d.ts +276 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +431 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +103 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +576 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +48 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/fileFormats.d.ts +52 -0
- package/dist/utils/fileFormats.d.ts.map +1 -0
- package/dist/utils/fileFormats.js +198 -0
- package/dist/utils/fileFormats.js.map +1 -0
- package/dist/utils/logger.d.ts +38 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +109 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/validators.d.ts +48 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/utils/validators.js +445 -0
- package/dist/utils/validators.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileFormats.d.ts","sourceRoot":"","sources":["../../src/utils/fileFormats.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgE9C,CAAC;AAIF,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,aAAa,CAAkC;IAEvD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAOvC;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAehD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAY/C;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK1D;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK9C;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAM/B;;OAEG;IACH,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAYhD;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAe1E;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAkB9D;;OAEG;IACH,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAYrD;AAGD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAExD"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileFormatManager = exports.fileFormats = void 0;
|
|
4
|
+
exports.getMimeTypes = getMimeTypes;
|
|
5
|
+
exports.fileFormats = {
|
|
6
|
+
// Documents
|
|
7
|
+
pdf: "application/pdf",
|
|
8
|
+
doc: "application/msword",
|
|
9
|
+
docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
10
|
+
xls: "application/vnd.ms-excel",
|
|
11
|
+
xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
12
|
+
ppt: "application/vnd.ms-powerpoint",
|
|
13
|
+
pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
14
|
+
csv: "text/csv",
|
|
15
|
+
txt: "text/plain",
|
|
16
|
+
rtf: "application/rtf",
|
|
17
|
+
// Images
|
|
18
|
+
png: "image/png",
|
|
19
|
+
jpeg: "image/jpeg",
|
|
20
|
+
jpg: "image/jpeg",
|
|
21
|
+
gif: "image/gif",
|
|
22
|
+
webp: "image/webp",
|
|
23
|
+
svg: "image/svg+xml",
|
|
24
|
+
bmp: "image/bmp",
|
|
25
|
+
tiff: "image/tiff",
|
|
26
|
+
ico: "image/x-icon",
|
|
27
|
+
// Audio
|
|
28
|
+
mp3: "audio/mpeg",
|
|
29
|
+
wav: "audio/wav",
|
|
30
|
+
ogg: "audio/ogg",
|
|
31
|
+
aac: "audio/aac",
|
|
32
|
+
wma: "audio/x-ms-wma",
|
|
33
|
+
// Vidéo
|
|
34
|
+
mp4: "video/mp4",
|
|
35
|
+
avi: "video/x-msvideo",
|
|
36
|
+
mov: "video/quicktime",
|
|
37
|
+
wmv: "video/x-ms-wmv",
|
|
38
|
+
flv: "video/x-flv",
|
|
39
|
+
webm: "video/webm",
|
|
40
|
+
// Archives
|
|
41
|
+
zip: "application/zip",
|
|
42
|
+
rar: "application/vnd.rar",
|
|
43
|
+
"7z": "application/x-7z-compressed",
|
|
44
|
+
tar: "application/x-tar",
|
|
45
|
+
gz: "application/gzip",
|
|
46
|
+
// Code
|
|
47
|
+
json: "application/json",
|
|
48
|
+
xml: "application/xml",
|
|
49
|
+
html: "text/html",
|
|
50
|
+
css: "text/css",
|
|
51
|
+
js: "application/javascript",
|
|
52
|
+
ts: "application/typescript",
|
|
53
|
+
py: "text/x-python",
|
|
54
|
+
java: "text/x-java-source",
|
|
55
|
+
cpp: "text/x-c++src",
|
|
56
|
+
c: "text/x-csrc",
|
|
57
|
+
// Autres
|
|
58
|
+
sql: "application/sql",
|
|
59
|
+
yaml: "application/x-yaml",
|
|
60
|
+
yml: "application/x-yaml",
|
|
61
|
+
md: "text/markdown",
|
|
62
|
+
log: "text/plain"
|
|
63
|
+
};
|
|
64
|
+
const errors_1 = require("../errors");
|
|
65
|
+
class FileFormatManager {
|
|
66
|
+
constructor() {
|
|
67
|
+
this.customFormats = new Map();
|
|
68
|
+
}
|
|
69
|
+
static getInstance() {
|
|
70
|
+
if (!FileFormatManager.instance) {
|
|
71
|
+
FileFormatManager.instance = new FileFormatManager();
|
|
72
|
+
}
|
|
73
|
+
return FileFormatManager.instance;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Obtient les types MIME pour une liste de formats
|
|
77
|
+
*/
|
|
78
|
+
static getMimeTypes(formats) {
|
|
79
|
+
if (!formats || !Array.isArray(formats) || formats.length === 0) {
|
|
80
|
+
throw new errors_1.EmptyCollectionError('formats', 'At least one format must be provided');
|
|
81
|
+
}
|
|
82
|
+
const manager = FileFormatManager.getInstance();
|
|
83
|
+
return formats.map(format => {
|
|
84
|
+
const mimeType = manager.getMimeType(format);
|
|
85
|
+
if (!mimeType) {
|
|
86
|
+
throw new errors_1.InvalidParameterError('format', format, `Unsupported file format: ${format}`);
|
|
87
|
+
}
|
|
88
|
+
return mimeType;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Obtient le type MIME pour un format spécifique
|
|
93
|
+
*/
|
|
94
|
+
getMimeType(format) {
|
|
95
|
+
const normalizedFormat = format.toLowerCase().replace(/^\./, '');
|
|
96
|
+
// Vérifier d'abord les formats personnalisés
|
|
97
|
+
if (this.customFormats.has(normalizedFormat)) {
|
|
98
|
+
return this.customFormats.get(normalizedFormat);
|
|
99
|
+
}
|
|
100
|
+
// Puis les formats standards
|
|
101
|
+
return exports.fileFormats[normalizedFormat];
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Ajoute un format personnalisé
|
|
105
|
+
*/
|
|
106
|
+
addCustomFormat(extension, mimeType) {
|
|
107
|
+
const normalizedExtension = extension.toLowerCase().replace(/^\./, '');
|
|
108
|
+
this.customFormats.set(normalizedExtension, mimeType);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Supprime un format personnalisé
|
|
112
|
+
*/
|
|
113
|
+
removeCustomFormat(extension) {
|
|
114
|
+
const normalizedExtension = extension.toLowerCase().replace(/^\./, '');
|
|
115
|
+
return this.customFormats.delete(normalizedExtension);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Vérifie si un format est supporté
|
|
119
|
+
*/
|
|
120
|
+
isSupported(format) {
|
|
121
|
+
return this.getMimeType(format) !== undefined;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Obtient tous les formats supportés
|
|
125
|
+
*/
|
|
126
|
+
getSupportedFormats() {
|
|
127
|
+
const standardFormats = Object.keys(exports.fileFormats);
|
|
128
|
+
const customFormats = Array.from(this.customFormats.keys());
|
|
129
|
+
return [...standardFormats, ...customFormats];
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Obtient les formats par catégorie
|
|
133
|
+
*/
|
|
134
|
+
getFormatsByCategory() {
|
|
135
|
+
return {
|
|
136
|
+
documents: ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'csv', 'txt', 'rtf'],
|
|
137
|
+
images: ['png', 'jpeg', 'jpg', 'gif', 'webp', 'svg', 'bmp', 'tiff', 'ico'],
|
|
138
|
+
audio: ['mp3', 'wav', 'ogg', 'aac', 'wma'],
|
|
139
|
+
video: ['mp4', 'avi', 'mov', 'wmv', 'flv', 'webm'],
|
|
140
|
+
archives: ['zip', 'rar', '7z', 'tar', 'gz'],
|
|
141
|
+
code: ['json', 'xml', 'html', 'css', 'js', 'ts', 'py', 'java', 'cpp', 'c'],
|
|
142
|
+
other: ['sql', 'yaml', 'yml', 'md', 'log']
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Valide une liste de formats
|
|
147
|
+
*/
|
|
148
|
+
validateFormats(formats) {
|
|
149
|
+
const valid = [];
|
|
150
|
+
const invalid = [];
|
|
151
|
+
formats.forEach(format => {
|
|
152
|
+
if (this.isSupported(format)) {
|
|
153
|
+
valid.push(format);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
invalid.push(format);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
return { valid, invalid };
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Obtient l'extension à partir d'un type MIME
|
|
163
|
+
*/
|
|
164
|
+
getExtensionFromMimeType(mimeType) {
|
|
165
|
+
// Chercher dans les formats standards
|
|
166
|
+
for (const [ext, mime] of Object.entries(exports.fileFormats)) {
|
|
167
|
+
if (mime === mimeType) {
|
|
168
|
+
return ext;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
// Chercher dans les formats personnalisés
|
|
172
|
+
for (const [ext, mime] of this.customFormats.entries()) {
|
|
173
|
+
if (mime === mimeType) {
|
|
174
|
+
return ext;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Obtient les types MIME par catégorie
|
|
181
|
+
*/
|
|
182
|
+
getMimeTypesByCategory() {
|
|
183
|
+
const categories = this.getFormatsByCategory();
|
|
184
|
+
const result = {};
|
|
185
|
+
for (const [category, formats] of Object.entries(categories)) {
|
|
186
|
+
result[category] = formats
|
|
187
|
+
.map(format => this.getMimeType(format))
|
|
188
|
+
.filter((mime) => mime !== undefined);
|
|
189
|
+
}
|
|
190
|
+
return result;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
exports.FileFormatManager = FileFormatManager;
|
|
194
|
+
// Fonction utilitaire pour la compatibilité avec l'ancien code
|
|
195
|
+
function getMimeTypes(formats) {
|
|
196
|
+
return FileFormatManager.getMimeTypes(formats);
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=fileFormats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileFormats.js","sourceRoot":"","sources":["../../src/utils/fileFormats.ts"],"names":[],"mappings":";;;AA0NA,oCAEC;AA5NY,QAAA,WAAW,GAA2B;IAC/C,YAAY;IACZ,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,oBAAoB;IACzB,IAAI,EAAE,yEAAyE;IAC/E,GAAG,EAAE,0BAA0B;IAC/B,IAAI,EAAE,mEAAmE;IACzE,GAAG,EAAE,+BAA+B;IACpC,IAAI,EAAE,2EAA2E;IACjF,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,iBAAiB;IAEtB,SAAS;IACT,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,cAAc;IAEnB,QAAQ;IACR,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,gBAAgB;IAErB,QAAQ;IACR,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,gBAAgB;IACrB,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,YAAY;IAElB,WAAW;IACX,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,qBAAqB;IAC1B,IAAI,EAAE,6BAA6B;IACnC,GAAG,EAAE,mBAAmB;IACxB,EAAE,EAAE,kBAAkB;IAEtB,OAAO;IACP,IAAI,EAAE,kBAAkB;IACxB,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,UAAU;IACf,EAAE,EAAE,wBAAwB;IAC5B,EAAE,EAAE,wBAAwB;IAC5B,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,oBAAoB;IAC1B,GAAG,EAAE,eAAe;IACpB,CAAC,EAAE,aAAa;IAEhB,SAAS;IACT,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,oBAAoB;IAC1B,GAAG,EAAE,oBAAoB;IACzB,EAAE,EAAE,eAAe;IACnB,GAAG,EAAE,YAAY;CACpB,CAAC;AAEF,sCAAwE;AAExE,MAAa,iBAAiB;IAI1B;QAFQ,kBAAa,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE/B,CAAC;IAEzB,MAAM,CAAC,WAAW;QACd,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAC9B,iBAAiB,CAAC,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAiB;QACjC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,6BAAoB,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,MAAM,IAAI,8BAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,4BAA4B,MAAM,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,MAAc;QACtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEjE,6CAA6C;QAC7C,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAED,6BAA6B;QAC7B,OAAO,mBAAW,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,SAAiB,EAAE,QAAgB;QAC/C,MAAM,mBAAmB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,SAAiB;QAChC,MAAM,mBAAmB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,mBAAmB;QACf,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAW,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,eAAe,EAAE,GAAG,aAAa,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,oBAAoB;QAChB,OAAO;YACH,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YACpF,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;YAC1E,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YAC1C,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;YAClD,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3C,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;YAC1E,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;SAC7C,CAAC;IACN,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAiB;QAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACrB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,QAAgB;QACrC,sCAAsC;QACtC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAW,CAAC,EAAE,CAAC;YACpD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,sBAAsB;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAA6B,EAAE,CAAC;QAE5C,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO;iBACrB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;iBACvC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAnJD,8CAmJC;AAED,+DAA+D;AAC/D,SAAgB,YAAY,CAAC,OAAiB;IAC1C,OAAO,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { LogEntry } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Legacy Logger class for backward compatibility
|
|
4
|
+
* @deprecated Logger has been removed from SDK. Use error handling instead.
|
|
5
|
+
* The SDK now throws structured errors that you can catch and log as needed.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* try {
|
|
10
|
+
* const view = jsonApp.createFormView('id', 'title');
|
|
11
|
+
* } catch (error) {
|
|
12
|
+
* if (error instanceof ViewValidationError) {
|
|
13
|
+
* myLogger.error('Validation failed', error.toJSON());
|
|
14
|
+
* }
|
|
15
|
+
* }
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class Logger {
|
|
19
|
+
private static instance;
|
|
20
|
+
private logLevel;
|
|
21
|
+
private handlers;
|
|
22
|
+
private constructor();
|
|
23
|
+
static getInstance(): Logger;
|
|
24
|
+
setLogLevel(level: LogEntry['level']): void;
|
|
25
|
+
addHandler(handler: (entry: LogEntry) => void): void;
|
|
26
|
+
private shouldLog;
|
|
27
|
+
private createEntry;
|
|
28
|
+
private emit;
|
|
29
|
+
debug(message: string, context?: Record<string, unknown>): void;
|
|
30
|
+
info(message: string, context?: Record<string, unknown>): void;
|
|
31
|
+
warn(message: string, context?: Record<string, unknown>): void;
|
|
32
|
+
error(message: string, context?: Record<string, unknown>): void;
|
|
33
|
+
static debug(message: string, context?: Record<string, unknown>): void;
|
|
34
|
+
static info(message: string, context?: Record<string, unknown>): void;
|
|
35
|
+
static warn(message: string, context?: Record<string, unknown>): void;
|
|
36
|
+
static error(message: string, context?: Record<string, unknown>): void;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAS;IAChC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,QAAQ,CAAwC;IAExD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,MAAM;IAO5B,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI;IAI3C,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAIpD,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,IAAI;IAkCZ,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK/D,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAItE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIrE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIrE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAGzE"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Logger = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Legacy Logger class for backward compatibility
|
|
6
|
+
* @deprecated Logger has been removed from SDK. Use error handling instead.
|
|
7
|
+
* The SDK now throws structured errors that you can catch and log as needed.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* try {
|
|
12
|
+
* const view = jsonApp.createFormView('id', 'title');
|
|
13
|
+
* } catch (error) {
|
|
14
|
+
* if (error instanceof ViewValidationError) {
|
|
15
|
+
* myLogger.error('Validation failed', error.toJSON());
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
class Logger {
|
|
21
|
+
constructor() {
|
|
22
|
+
this.logLevel = 'info';
|
|
23
|
+
this.handlers = [];
|
|
24
|
+
}
|
|
25
|
+
static getInstance() {
|
|
26
|
+
if (!Logger.instance) {
|
|
27
|
+
Logger.instance = new Logger();
|
|
28
|
+
}
|
|
29
|
+
return Logger.instance;
|
|
30
|
+
}
|
|
31
|
+
setLogLevel(level) {
|
|
32
|
+
this.logLevel = level;
|
|
33
|
+
}
|
|
34
|
+
addHandler(handler) {
|
|
35
|
+
this.handlers.push(handler);
|
|
36
|
+
}
|
|
37
|
+
shouldLog(level) {
|
|
38
|
+
const levels = ['debug', 'info', 'warn', 'error'];
|
|
39
|
+
return levels.indexOf(level) >= levels.indexOf(this.logLevel);
|
|
40
|
+
}
|
|
41
|
+
createEntry(level, message, context) {
|
|
42
|
+
return {
|
|
43
|
+
timestamp: new Date(),
|
|
44
|
+
level,
|
|
45
|
+
message,
|
|
46
|
+
context,
|
|
47
|
+
stack: level === 'error' ? new Error().stack : undefined,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
emit(entry) {
|
|
51
|
+
if (!this.shouldLog(entry.level))
|
|
52
|
+
return;
|
|
53
|
+
// Handler par défaut (console)
|
|
54
|
+
const defaultHandler = (entry) => {
|
|
55
|
+
const prefix = `[${entry.timestamp.toISOString()}] [${entry.level.toUpperCase()}]`;
|
|
56
|
+
const contextStr = entry.context ? ` ${JSON.stringify(entry.context)}` : '';
|
|
57
|
+
switch (entry.level) {
|
|
58
|
+
case 'debug':
|
|
59
|
+
console.debug(`${prefix} ${entry.message}${contextStr}`);
|
|
60
|
+
break;
|
|
61
|
+
case 'info':
|
|
62
|
+
console.info(`${prefix} ${entry.message}${contextStr}`);
|
|
63
|
+
break;
|
|
64
|
+
case 'warn':
|
|
65
|
+
console.warn(`${prefix} ${entry.message}${contextStr}`);
|
|
66
|
+
break;
|
|
67
|
+
case 'error':
|
|
68
|
+
console.error(`${prefix} ${entry.message}${contextStr}`, entry.stack);
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
// Exécuter tous les handlers
|
|
73
|
+
[defaultHandler, ...this.handlers].forEach(handler => {
|
|
74
|
+
try {
|
|
75
|
+
handler(entry);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
console.error('Logger handler error:', error);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
debug(message, context) {
|
|
83
|
+
this.emit(this.createEntry('debug', message, context));
|
|
84
|
+
}
|
|
85
|
+
info(message, context) {
|
|
86
|
+
this.emit(this.createEntry('info', message, context));
|
|
87
|
+
}
|
|
88
|
+
warn(message, context) {
|
|
89
|
+
this.emit(this.createEntry('warn', message, context));
|
|
90
|
+
}
|
|
91
|
+
error(message, context) {
|
|
92
|
+
this.emit(this.createEntry('error', message, context));
|
|
93
|
+
}
|
|
94
|
+
// Méthodes statiques pour faciliter l'utilisation
|
|
95
|
+
static debug(message, context) {
|
|
96
|
+
Logger.getInstance().debug(message, context);
|
|
97
|
+
}
|
|
98
|
+
static info(message, context) {
|
|
99
|
+
Logger.getInstance().info(message, context);
|
|
100
|
+
}
|
|
101
|
+
static warn(message, context) {
|
|
102
|
+
Logger.getInstance().warn(message, context);
|
|
103
|
+
}
|
|
104
|
+
static error(message, context) {
|
|
105
|
+
Logger.getInstance().error(message, context);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.Logger = Logger;
|
|
109
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { FieldValidation, ValidationResult, FormFieldParams } from '../types';
|
|
2
|
+
export declare class DataSanitizer {
|
|
3
|
+
/**
|
|
4
|
+
* Sanitizes user input to prevent injection attacks
|
|
5
|
+
* @param input - String to sanitize
|
|
6
|
+
* @param options - Sanitization options
|
|
7
|
+
* @returns Sanitized string
|
|
8
|
+
*/
|
|
9
|
+
static sanitizeInput(input: string, options?: {
|
|
10
|
+
allowHtml?: boolean;
|
|
11
|
+
}): string;
|
|
12
|
+
static validateCoordinates(lat: number, lon: number): boolean;
|
|
13
|
+
static validateEmail(email: string): boolean;
|
|
14
|
+
static validateURL(url: string): boolean;
|
|
15
|
+
static validatePhoneNumber(phone: string): boolean;
|
|
16
|
+
static validateDate(dateString: string): boolean;
|
|
17
|
+
static validateNumber(value: unknown): boolean;
|
|
18
|
+
static validatePlusCode(plusCode: string): boolean;
|
|
19
|
+
static validatePassword(password: string, minLength?: number): {
|
|
20
|
+
valid: boolean;
|
|
21
|
+
error?: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export declare class FieldValidator {
|
|
25
|
+
static validateField(fieldType: string, fieldId: string, fieldLabel: string, params?: FormFieldParams): ValidationResult;
|
|
26
|
+
}
|
|
27
|
+
export declare class FormValidator {
|
|
28
|
+
static validateFormData(formData: Record<string, unknown>, fieldValidations: Map<string, FieldValidation>): ValidationResult;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Configuration pour la validation d'URL sécurisée
|
|
32
|
+
*/
|
|
33
|
+
export interface URLValidationConfig {
|
|
34
|
+
allowedDomains?: string[];
|
|
35
|
+
allowedProtocols?: string[];
|
|
36
|
+
blockPrivateIPs?: boolean;
|
|
37
|
+
blockLocalhost?: boolean;
|
|
38
|
+
maxUrlLength?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Valide une URL de soumission de manière sécurisée
|
|
42
|
+
*/
|
|
43
|
+
export declare function validateSubmissionURL(url: string, config?: URLValidationConfig): ValidationResult;
|
|
44
|
+
/**
|
|
45
|
+
* Configuration par défaut sécurisée
|
|
46
|
+
*/
|
|
47
|
+
export declare const DEFAULT_URL_CONFIG: URLValidationConfig;
|
|
48
|
+
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAiE,MAAM,UAAU,CAAC;AAE7I,qBAAa,aAAa;IACtB;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,MAAM;IA0BlF,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAI7D,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAK5C,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IASxC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKlD,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAShD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI9C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAMlD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAsBvG;AAED,qBAAa,cAAc;IACvB,MAAM,CAAC,aAAa,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,eAAe,GACzB,gBAAgB;CAgOtB;AAED,qBAAa,aAAa;IACtB,MAAM,CAAC,gBAAgB,CACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAC/C,gBAAgB;CAwFtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,mBAAwB,GAAG,gBAAgB,CAoFrG;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,mBAKhC,CAAC"}
|