gyomu 0.1.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.
Files changed (77) hide show
  1. package/lib/archive/abstract.d.ts +7 -0
  2. package/lib/archive/abstract.js +30 -0
  3. package/lib/archive/gz.d.ts +16 -0
  4. package/lib/archive/gz.js +66 -0
  5. package/lib/archive/index.d.ts +3 -0
  6. package/lib/archive/index.js +19 -0
  7. package/lib/archive/tar.d.ts +17 -0
  8. package/lib/archive/tar.js +165 -0
  9. package/lib/archive/zip.d.ts +28 -0
  10. package/lib/archive/zip.js +254 -0
  11. package/lib/base64.d.ts +6 -0
  12. package/lib/base64.js +24 -0
  13. package/lib/buffer.d.ts +4 -0
  14. package/lib/buffer.js +23 -0
  15. package/lib/configurator.d.ts +16 -0
  16. package/lib/configurator.js +53 -0
  17. package/lib/dateOperation.d.ts +3 -0
  18. package/lib/dateOperation.js +23 -0
  19. package/lib/dbsingleton.d.ts +11 -0
  20. package/lib/dbsingleton.js +13 -0
  21. package/lib/dbutil.d.ts +3 -0
  22. package/lib/dbutil.js +44 -0
  23. package/lib/dictionary.d.ts +8 -0
  24. package/lib/dictionary.js +55 -0
  25. package/lib/encryption.d.ts +17 -0
  26. package/lib/encryption.js +202 -0
  27. package/lib/errors.d.ts +31 -0
  28. package/lib/errors.js +64 -0
  29. package/lib/excel.d.ts +1 -0
  30. package/lib/excel.js +34 -0
  31. package/lib/fileModel.d.ts +96 -0
  32. package/lib/fileModel.js +170 -0
  33. package/lib/fileOperation.d.ts +11 -0
  34. package/lib/fileOperation.js +275 -0
  35. package/lib/holidays.d.ts +20 -0
  36. package/lib/holidays.js +200 -0
  37. package/lib/index.d.ts +15 -0
  38. package/lib/index.js +31 -0
  39. package/lib/milestone.d.ts +19 -0
  40. package/lib/milestone.js +169 -0
  41. package/lib/net/_ftp.d.ts +0 -0
  42. package/lib/net/_ftp.js +228 -0
  43. package/lib/net/ftp.d.ts +19 -0
  44. package/lib/net/ftp.js +160 -0
  45. package/lib/net/remoteConnection.d.ts +11 -0
  46. package/lib/net/remoteConnection.js +26 -0
  47. package/lib/net/sftp.d.ts +19 -0
  48. package/lib/net/sftp.js +155 -0
  49. package/lib/numberOperation.d.ts +3 -0
  50. package/lib/numberOperation.js +24 -0
  51. package/lib/parameter.d.ts +14 -0
  52. package/lib/parameter.js +291 -0
  53. package/lib/result.d.ts +23 -0
  54. package/lib/result.js +47 -0
  55. package/lib/timer.d.ts +11 -0
  56. package/lib/timer.js +62 -0
  57. package/lib/user.d.ts +11 -0
  58. package/lib/user.js +23 -0
  59. package/lib/variable.d.ts +11 -0
  60. package/lib/variable.js +280 -0
  61. package/lib/web/attribute.d.ts +6 -0
  62. package/lib/web/attribute.js +29 -0
  63. package/lib/web/element.d.ts +24 -0
  64. package/lib/web/element.js +119 -0
  65. package/lib/web/index.d.ts +7 -0
  66. package/lib/web/index.js +19 -0
  67. package/lib/web/page.d.ts +22 -0
  68. package/lib/web/page.js +102 -0
  69. package/lib/web/table.d.ts +15 -0
  70. package/lib/web/table.js +110 -0
  71. package/lib/web/tableColumn.d.ts +10 -0
  72. package/lib/web/tableColumn.js +21 -0
  73. package/lib/web/tableRow.d.ts +10 -0
  74. package/lib/web/tableRow.js +80 -0
  75. package/lib/web/util.d.ts +12 -0
  76. package/lib/web/util.js +22 -0
  77. package/package.json +63 -0
package/lib/buffer.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bufferToArrayBuffer = exports.arrayBufferToString = exports.stringToArrayBuffer = void 0;
4
+ const stringToArrayBuffer = (source) => {
5
+ const encoder = new TextEncoder();
6
+ return encoder.encode(source).buffer;
7
+ };
8
+ exports.stringToArrayBuffer = stringToArrayBuffer;
9
+ const arrayBufferToString = (source) => {
10
+ const decoder = new TextDecoder('utf-8');
11
+ return decoder.decode(source);
12
+ };
13
+ exports.arrayBufferToString = arrayBufferToString;
14
+ const bufferToArrayBuffer = (buffer) => {
15
+ return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
16
+ // const ab = new ArrayBuffer(buffer.length);
17
+ // const view = new Uint8Array(ab);
18
+ // for (let i = 0; i < buffer.length; i++) {
19
+ // view[i] = buffer[i];
20
+ // }
21
+ // return ab;
22
+ };
23
+ exports.bufferToArrayBuffer = bufferToArrayBuffer;
@@ -0,0 +1,16 @@
1
+ import { User } from './user';
2
+ export interface Configurator {
3
+ readonly machineName: string;
4
+ readonly address: string;
5
+ readonly userId: string;
6
+ readonly uniqueInstanceIdPerMachine: number;
7
+ readonly region: string;
8
+ readonly user: User;
9
+ readonly mode: string;
10
+ applicationId: () => number;
11
+ setApplicationId: (id: number) => void;
12
+ }
13
+ export declare class ConfigurationFactory {
14
+ #private;
15
+ static getInstance: () => Configurator;
16
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _BaseConfigurator_applicationId, _a, _ConfigurationFactory_config;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ConfigurationFactory = void 0;
16
+ const os_1 = require("os");
17
+ const process_1 = require("process");
18
+ const user_1 = require("./user");
19
+ const GYOMU_COMMON_MODE = 'GYOMU_COMMON_MODE';
20
+ class BaseConfigurator {
21
+ constructor(user, applicationId = -1) {
22
+ var _b;
23
+ _BaseConfigurator_applicationId.set(this, void 0);
24
+ this.applicationId = () => {
25
+ return __classPrivateFieldGet(this, _BaseConfigurator_applicationId, "f");
26
+ };
27
+ this.setApplicationId = (id) => {
28
+ __classPrivateFieldSet(this, _BaseConfigurator_applicationId, id, "f");
29
+ };
30
+ this.user = user;
31
+ this.userId = user.userId;
32
+ this.machineName = (0, os_1.hostname)();
33
+ const nets = (0, os_1.networkInterfaces)();
34
+ const net = (_b = nets['en0']) === null || _b === void 0 ? void 0 : _b.find((v) => v.family === 'IPv4');
35
+ this.address = !!net ? net.address : '';
36
+ __classPrivateFieldSet(this, _BaseConfigurator_applicationId, applicationId, "f");
37
+ this.uniqueInstanceIdPerMachine = process_1.pid;
38
+ this.region = this.user.region;
39
+ this.mode = process_1.env.GYOMU_COMMON_MODE || 'Development';
40
+ }
41
+ }
42
+ _BaseConfigurator_applicationId = new WeakMap();
43
+ class ConfigurationFactory {
44
+ }
45
+ exports.ConfigurationFactory = ConfigurationFactory;
46
+ _a = ConfigurationFactory;
47
+ _ConfigurationFactory_config = { value: void 0 };
48
+ ConfigurationFactory.getInstance = () => {
49
+ if (!__classPrivateFieldGet(ConfigurationFactory, _a, "f", _ConfigurationFactory_config)) {
50
+ __classPrivateFieldSet(ConfigurationFactory, _a, new BaseConfigurator(user_1.UserFactory.getCurrentUser()), "f", _ConfigurationFactory_config);
51
+ }
52
+ return __classPrivateFieldGet(ConfigurationFactory, _a, "f", _ConfigurationFactory_config);
53
+ };
@@ -0,0 +1,3 @@
1
+ export declare const createDateOnly: (year: number, one_base_month: number, day: number) => Date;
2
+ export declare const createDateFromYYYYMMDD: (yyyyMMdd: string) => Date;
3
+ export declare const extractDateOnly: (date: Date) => Date;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractDateOnly = exports.createDateFromYYYYMMDD = exports.createDateOnly = void 0;
4
+ const createDateOnly = (year, one_base_month, day) => {
5
+ const dateString = `${year}-${('00' + one_base_month).slice(-2)}-${('00' + day).slice(-2)}`;
6
+ return new Date(dateString);
7
+ };
8
+ exports.createDateOnly = createDateOnly;
9
+ const createDateFromYYYYMMDD = (yyyyMMdd) => {
10
+ const dateString = yyyyMMdd.substring(0, 4) +
11
+ '-' +
12
+ yyyyMMdd.substring(4, 6) +
13
+ '-' +
14
+ yyyyMMdd.substring(6);
15
+ return new Date(dateString);
16
+ };
17
+ exports.createDateFromYYYYMMDD = createDateFromYYYYMMDD;
18
+ const extractDateOnly = (date) => {
19
+ const dateString = `${date.getFullYear()}-${('00' +
20
+ (date.getMonth() + 1)).slice(-2)}-${('00' + date.getDate()).slice(-2)}`;
21
+ return new Date(dateString);
22
+ };
23
+ exports.extractDateOnly = extractDateOnly;
@@ -0,0 +1,11 @@
1
+ import { PrismaClient } from '@prisma/client';
2
+ import { DeepMockProxy } from 'jest-mock-extended';
3
+ export declare type Context = {
4
+ prisma: PrismaClient;
5
+ };
6
+ export declare type MockContext = {
7
+ prisma: DeepMockProxy<PrismaClient>;
8
+ };
9
+ export declare const createMockContext: () => MockContext;
10
+ declare const prisma: PrismaClient<import(".prisma/client").Prisma.PrismaClientOptions, never, import(".prisma/client").Prisma.RejectOnNotFound | import(".prisma/client").Prisma.RejectPerOperation | undefined>;
11
+ export default prisma;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMockContext = void 0;
4
+ const client_1 = require("@prisma/client");
5
+ const jest_mock_extended_1 = require("jest-mock-extended");
6
+ const createMockContext = () => {
7
+ return {
8
+ prisma: (0, jest_mock_extended_1.mockDeep)(),
9
+ };
10
+ };
11
+ exports.createMockContext = createMockContext;
12
+ const prisma = new client_1.PrismaClient();
13
+ exports.default = prisma;
@@ -0,0 +1,3 @@
1
+ import { DBError } from './errors';
2
+ import { PromiseResult } from './result';
3
+ export declare function genericDBFunction<T>(actionName: string, dbFunc: (...args: any) => PromiseResult<T, DBError>, args: any[]): PromiseResult<T, DBError>;
package/lib/dbutil.js ADDED
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.genericDBFunction = void 0;
13
+ const client_1 = require("@prisma/client");
14
+ const errors_1 = require("./errors");
15
+ const result_1 = require("./result");
16
+ function genericDBFunction(actionName, dbFunc, args) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
19
+ try {
20
+ //console.log('calling');
21
+ const result = yield dbFunc(...args);
22
+ //console.log('called');
23
+ resolve(result);
24
+ }
25
+ catch (e) {
26
+ if (e instanceof client_1.Prisma.PrismaClientKnownRequestError ||
27
+ e instanceof client_1.Prisma.PrismaClientUnknownRequestError ||
28
+ e instanceof client_1.Prisma.PrismaClientValidationError) {
29
+ resolve(new result_1.Failure(new errors_1.DBError(`Fail: ${actionName}`, e)));
30
+ }
31
+ else if (e instanceof errors_1.CriticalError) {
32
+ reject(e);
33
+ }
34
+ else if (e instanceof client_1.Prisma.PrismaClientRustPanicError) {
35
+ reject(new errors_1.CriticalError('Critical error on Prisma. Need to terminate the application', e));
36
+ }
37
+ else {
38
+ resolve(new result_1.Failure(new errors_1.DBError(`Unknown Failure: ${actionName}`, e)));
39
+ }
40
+ }
41
+ }));
42
+ });
43
+ }
44
+ exports.genericDBFunction = genericDBFunction;
@@ -0,0 +1,8 @@
1
+ export declare class DictionaryAccess {
2
+ static build<K, R>(key: K, record: R, data: Map<K, Array<R>>): void;
3
+ static build2<K1, K2, R>(key1: K1, key2: K2, record: R, data: Map<K1, Map<K2, Array<R>>>): void;
4
+ static build3<K1, K2, K3, R>(key1: K1, key2: K2, key3: K3, record: R, data: Map<K1, Map<K2, Map<K3, Array<R>>>>): void;
5
+ static build4<K1, K2, K3, K4, R>(key1: K1, key2: K2, key3: K3, key4: K4, record: R, data: Map<K1, Map<K2, Map<K3, Map<K4, Array<R>>>>>): void;
6
+ static build5<K1, K2, K3, K4, K5, R>(key1: K1, key2: K2, key3: K3, key4: K4, key5: K5, record: R, data: Map<K1, Map<K2, Map<K3, Map<K4, Map<K5, Array<R>>>>>>): void;
7
+ static build6<K1, K2, K3, K4, K5, K6, R>(key1: K1, key2: K2, key3: K3, key4: K4, key5: K5, key6: K6, record: R, data: Map<K1, Map<K2, Map<K3, Map<K4, Map<K5, Map<K6, Array<R>>>>>>>): void;
8
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DictionaryAccess = void 0;
4
+ class DictionaryAccess {
5
+ static build(key, record, data) {
6
+ const values = data.get(key);
7
+ if (!values) {
8
+ data.set(key, new Array(record));
9
+ }
10
+ else {
11
+ values.push(record);
12
+ }
13
+ }
14
+ static build2(key1, key2, record, data) {
15
+ let values = data.get(key1);
16
+ if (!values) {
17
+ data.set(key1, new Map());
18
+ values = data.get(key1);
19
+ }
20
+ DictionaryAccess.build(key2, record, values);
21
+ }
22
+ static build3(key1, key2, key3, record, data) {
23
+ let values = data.get(key1);
24
+ if (!values) {
25
+ data.set(key1, new Map());
26
+ values = data.get(key1);
27
+ }
28
+ DictionaryAccess.build2(key2, key3, record, values);
29
+ }
30
+ static build4(key1, key2, key3, key4, record, data) {
31
+ let values = data.get(key1);
32
+ if (!values) {
33
+ data.set(key1, new Map());
34
+ values = data.get(key1);
35
+ }
36
+ DictionaryAccess.build3(key2, key3, key4, record, values);
37
+ }
38
+ static build5(key1, key2, key3, key4, key5, record, data) {
39
+ let values = data.get(key1);
40
+ if (!values) {
41
+ data.set(key1, new Map());
42
+ values = data.get(key1);
43
+ }
44
+ DictionaryAccess.build4(key2, key3, key4, key5, record, values);
45
+ }
46
+ static build6(key1, key2, key3, key4, key5, key6, record, data) {
47
+ let values = data.get(key1);
48
+ if (!values) {
49
+ data.set(key1, new Map());
50
+ values = data.get(key1);
51
+ }
52
+ DictionaryAccess.build5(key2, key3, key4, key5, key6, record, values);
53
+ }
54
+ }
55
+ exports.DictionaryAccess = DictionaryAccess;
@@ -0,0 +1,17 @@
1
+ /// <reference types="node" />
2
+ export declare const aesEncryptBufferByKeyFile: (plainBuffer: ArrayBuffer, keyFilename: string) => Buffer;
3
+ export declare const aesEncrypt: (plain: string, key: string) => string;
4
+ export declare const aesEncryptBuffer: (plainBuffer: ArrayBuffer, keyBuffer: ArrayBuffer) => Buffer;
5
+ export declare const aesDecryptBuffer: (encryptedBuffer: Buffer, keyBuffer: ArrayBuffer) => Buffer;
6
+ export declare const aesDecryptBufferByKeyFile: (encryptedBuffer: Buffer, keyFilename: string) => Buffer;
7
+ export declare const aesDecrypt: (encrypted: string, key: string) => string;
8
+ export declare const pkiEncrypt: (publicKey: Buffer, data: Buffer) => Buffer;
9
+ export declare const pkiFileEncrypt: (publicKeyFilename: string, data: Buffer) => Buffer;
10
+ export declare const pkiFileEncrypt2Base64: (publicKeyFilename: string, data: Buffer) => string;
11
+ export declare const pkiEncryptString: (publicKeyFilename: string, data: string) => string;
12
+ export declare const pkiFileEncryptToFile: (publicKeyFilename: string, plainFilename: string, encryptedFilename: string) => void;
13
+ export declare const pkiDecrypt: (privateKey: Buffer, data: Buffer) => Buffer;
14
+ export declare const pkiFileDecrypt: (privateKeyFilename: string, data: Buffer) => Buffer;
15
+ export declare const pkiFileDecrypt2Base64: (privateKeyFilename: string, data: Buffer) => string;
16
+ export declare const pkiFileDecryptString: (privateKeyFilename: string, data: string) => string;
17
+ export declare const pkiFileDecryptFile: (privateKeyFilename: string, encryptedFilename: string, decryptedFilename: string) => void;
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.pkiFileDecryptFile = exports.pkiFileDecryptString = exports.pkiFileDecrypt2Base64 = exports.pkiFileDecrypt = exports.pkiDecrypt = exports.pkiFileEncryptToFile = exports.pkiEncryptString = exports.pkiFileEncrypt2Base64 = exports.pkiFileEncrypt = exports.pkiEncrypt = exports.aesDecrypt = exports.aesDecryptBufferByKeyFile = exports.aesDecryptBuffer = exports.aesEncryptBuffer = exports.aesEncrypt = exports.aesEncryptBufferByKeyFile = void 0;
7
+ const crypto_1 = __importDefault(require("crypto"));
8
+ const base64_1 = require("./base64");
9
+ const buffer_1 = require("./buffer");
10
+ const fs_1 = require("fs");
11
+ const aesEncryptBufferByKeyFile = (plainBuffer, keyFilename) => {
12
+ const keyBuffer = (0, fs_1.readFileSync)(keyFilename);
13
+ const keyArrayBuffer = (0, buffer_1.bufferToArrayBuffer)(keyBuffer);
14
+ return (0, exports.aesEncryptBuffer)(plainBuffer, keyArrayBuffer);
15
+ };
16
+ exports.aesEncryptBufferByKeyFile = aesEncryptBufferByKeyFile;
17
+ const aesEncrypt = (plain, key) => {
18
+ const originalBuffer = (0, buffer_1.stringToArrayBuffer)(plain);
19
+ const encryptedBuffer = (0, exports.aesEncryptBuffer)(originalBuffer, getKey(key));
20
+ return (0, base64_1.buffer2Base64String)(encryptedBuffer);
21
+ };
22
+ exports.aesEncrypt = aesEncrypt;
23
+ const aesEncryptBuffer = (plainBuffer, keyBuffer) => {
24
+ const keyLength = keyBuffer.byteLength;
25
+ console.log('KeyLength', keyLength);
26
+ if (keyLength !== 16 && keyLength !== 32)
27
+ throw new Error('Invalid Key Length');
28
+ const originalData = new DataView(plainBuffer);
29
+ const iv = crypto_1.default.randomBytes(16);
30
+ const encryptionKey = new DataView(keyBuffer);
31
+ const cipher = crypto_1.default.createCipheriv(keyLength === 16 ? 'aes-128-gcm' : 'aes-256-gcm', encryptionKey, iv);
32
+ const chunks = [
33
+ cipher.update(originalData),
34
+ cipher.final(),
35
+ ];
36
+ const encryptedBuffer = Buffer.concat([
37
+ iv,
38
+ chunks[0],
39
+ chunks[1],
40
+ cipher.getAuthTag(),
41
+ ]);
42
+ return encryptedBuffer;
43
+ };
44
+ exports.aesEncryptBuffer = aesEncryptBuffer;
45
+ const aesDecryptBuffer = (encryptedBuffer, keyBuffer) => {
46
+ const iv = encryptedBuffer.subarray(0, 16); //Nonce
47
+ const tag = encryptedBuffer.subarray(encryptedBuffer.length - 16); //Tag
48
+ const encryptedData = encryptedBuffer.subarray(16, encryptedBuffer.length - 16);
49
+ const keyLength = keyBuffer.byteLength;
50
+ const encryptionKey = new DataView(keyBuffer);
51
+ const decipher = crypto_1.default.createDecipheriv(keyLength === 16 ? 'aes-128-gcm' : 'aes-256-gcm', encryptionKey, iv);
52
+ const chunks = [];
53
+ chunks.push(decipher.update(encryptedData));
54
+ decipher.setAuthTag(tag);
55
+ chunks.push(decipher.final());
56
+ return Buffer.concat(chunks);
57
+ };
58
+ exports.aesDecryptBuffer = aesDecryptBuffer;
59
+ const aesDecryptBufferByKeyFile = (encryptedBuffer, keyFilename) => {
60
+ const keyBuffer = (0, fs_1.readFileSync)(keyFilename);
61
+ const keyArrayBuffer = (0, buffer_1.bufferToArrayBuffer)(keyBuffer);
62
+ return (0, exports.aesDecryptBuffer)(encryptedBuffer, keyArrayBuffer);
63
+ };
64
+ exports.aesDecryptBufferByKeyFile = aesDecryptBufferByKeyFile;
65
+ const aesDecrypt = (encrypted, key) => {
66
+ const encryptedBuffer = (0, base64_1.base64String2Buffer)(encrypted);
67
+ const decryptedBuffer = (0, exports.aesDecryptBuffer)(encryptedBuffer, getKey(key));
68
+ return (0, buffer_1.arrayBufferToString)(decryptedBuffer);
69
+ // const encryptedBuffer = base64String2Buffer(encrypted);
70
+ // const iv = encryptedBuffer.subarray(0, 16); //Nonce
71
+ // const tag = encryptedBuffer.subarray(encryptedBuffer.length - 16); //Tag
72
+ // const encryptedData = encryptedBuffer.subarray(
73
+ // 16,
74
+ // encryptedBuffer.length - 16
75
+ // );
76
+ // // console.log('Total', encryptedBuffer.byteLength);
77
+ // // console.log('iv', iv.byteLength);
78
+ // // console.log('tag', tag.byteLength);
79
+ // // console.log('encryptedData', encryptedData.byteLength);
80
+ // const encryptionKey = getKey(key);
81
+ // const decipher = crypto.createDecipheriv('aes-128-gcm', encryptionKey, iv);
82
+ // const chunks: Buffer[] = [];
83
+ // chunks.push(decipher.update(encryptedData));
84
+ // decipher.setAuthTag(tag);
85
+ // chunks.push(decipher.final());
86
+ // return bufferToString(Buffer.concat(chunks));
87
+ };
88
+ exports.aesDecrypt = aesDecrypt;
89
+ const getKey = (key) => {
90
+ const arrayBuffer = (0, buffer_1.stringToArrayBuffer)(fixKeylength(key));
91
+ //console.log(arrayBuffer.byteLength);
92
+ return arrayBuffer;
93
+ };
94
+ const getKeyOld = (key) => {
95
+ const arrayBuffer = (0, buffer_1.stringToArrayBuffer)(fixKeylength(key));
96
+ //console.log(arrayBuffer.byteLength);
97
+ return new DataView(arrayBuffer);
98
+ };
99
+ // const getKey = async (key: string): Promise<CryptoKey> => {
100
+ // const cryptoKey = await crypto.subtle.importKey(
101
+ // 'raw',
102
+ // stringToBuffer(fixKeylength(key)),
103
+ // {
104
+ // //this is the algorithm options
105
+ // name: 'AES-GCM',
106
+ // length: 16,
107
+ // },
108
+ // true, // whether the key is extractable
109
+ // ['encrypt', 'decrypt'] // usages
110
+ // );
111
+ // return cryptoKey;
112
+ // };
113
+ const fixKeylength = (key) => {
114
+ const keyLength = key.length;
115
+ if (keyLength < 16) {
116
+ return key.padEnd(16, ' ');
117
+ }
118
+ else if (keyLength == 16) {
119
+ return key;
120
+ }
121
+ else if (keyLength < 32) {
122
+ return key.padEnd(32, ' ');
123
+ }
124
+ else if (keyLength === 32) {
125
+ return key;
126
+ }
127
+ else {
128
+ throw new Error('Invalid Key Length: ' + key.length);
129
+ }
130
+ };
131
+ const pkiEncrypt = (publicKey, data) => {
132
+ return crypto_1.default.publicEncrypt(publicKey, data);
133
+ };
134
+ exports.pkiEncrypt = pkiEncrypt;
135
+ // export const keyAESEncrypt2Base64 = (key: Buffer, data: Buffer): string => {
136
+ // return buffer2Base64String(keyAESEncrypt(key, data));
137
+ // };
138
+ // export const keyAESEncryptString = (key: Buffer, data: string): string => {
139
+ // return keyAESEncrypt2Base64(key, Buffer.from(data));
140
+ // };
141
+ const pkiFileEncrypt = (publicKeyFilename, data) => {
142
+ return (0, exports.pkiEncrypt)((0, fs_1.readFileSync)(publicKeyFilename), data);
143
+ };
144
+ exports.pkiFileEncrypt = pkiFileEncrypt;
145
+ const pkiFileEncrypt2Base64 = (publicKeyFilename, data) => {
146
+ return (0, base64_1.buffer2Base64String)((0, exports.pkiFileEncrypt)(publicKeyFilename, data));
147
+ };
148
+ exports.pkiFileEncrypt2Base64 = pkiFileEncrypt2Base64;
149
+ const pkiEncryptString = (publicKeyFilename, data) => {
150
+ return (0, exports.pkiFileEncrypt2Base64)(publicKeyFilename, Buffer.from(data));
151
+ };
152
+ exports.pkiEncryptString = pkiEncryptString;
153
+ const pkiFileEncryptToFile = (publicKeyFilename, plainFilename, encryptedFilename) => {
154
+ (0, fs_1.writeFileSync)(encryptedFilename, (0, exports.pkiFileEncrypt)(publicKeyFilename, (0, fs_1.readFileSync)(plainFilename)));
155
+ };
156
+ exports.pkiFileEncryptToFile = pkiFileEncryptToFile;
157
+ const pkiDecrypt = (privateKey, data) => {
158
+ return crypto_1.default.privateDecrypt(privateKey, data);
159
+ };
160
+ exports.pkiDecrypt = pkiDecrypt;
161
+ // export const keyAESDecrypt2Base64 = (key: Buffer, data: Buffer): string => {
162
+ // return buffer2Base64String(keyAESDecrypt(key, data));
163
+ // };
164
+ // export const keyAESDeccryptString = (key: Buffer, data: string): string => {
165
+ // return keyAESDecrypt2Base64(key, Buffer.from(data));
166
+ // };
167
+ const pkiFileDecrypt = (privateKeyFilename, data) => {
168
+ return (0, exports.pkiDecrypt)((0, fs_1.readFileSync)(privateKeyFilename), data);
169
+ };
170
+ exports.pkiFileDecrypt = pkiFileDecrypt;
171
+ const pkiFileDecrypt2Base64 = (privateKeyFilename, data) => {
172
+ return (0, base64_1.buffer2Base64String)((0, exports.pkiFileDecrypt)(privateKeyFilename, data));
173
+ };
174
+ exports.pkiFileDecrypt2Base64 = pkiFileDecrypt2Base64;
175
+ const pkiFileDecryptString = (privateKeyFilename, data) => {
176
+ return (0, exports.pkiFileDecrypt2Base64)(privateKeyFilename, Buffer.from(data));
177
+ };
178
+ exports.pkiFileDecryptString = pkiFileDecryptString;
179
+ const pkiFileDecryptFile = (privateKeyFilename, encryptedFilename, decryptedFilename) => {
180
+ (0, fs_1.writeFileSync)(decryptedFilename, (0, exports.pkiFileDecrypt)(privateKeyFilename, (0, fs_1.readFileSync)(encryptedFilename)));
181
+ };
182
+ exports.pkiFileDecryptFile = pkiFileDecryptFile;
183
+ // export const aesDecryptOld = (encrypted: string, key: string): string => {
184
+ // const encryptedBuffer = base64String2Buffer(encrypted);
185
+ // const iv = encryptedBuffer.subarray(0, 16); //Nonce
186
+ // const tag = encryptedBuffer.subarray(encryptedBuffer.length - 16); //Tag
187
+ // const encryptedData = encryptedBuffer.subarray(
188
+ // 16,
189
+ // encryptedBuffer.length - 16
190
+ // );
191
+ // // console.log('Total', encryptedBuffer.byteLength);
192
+ // // console.log('iv', iv.byteLength);
193
+ // // console.log('tag', tag.byteLength);
194
+ // // console.log('encryptedData', encryptedData.byteLength);
195
+ // const encryptionKey = getKeyOld(key);
196
+ // const decipher = crypto.createDecipheriv('aes-128-gcm', encryptionKey, iv);
197
+ // const chunks: Buffer[] = [];
198
+ // chunks.push(decipher.update(encryptedData));
199
+ // decipher.setAuthTag(tag);
200
+ // chunks.push(decipher.final());
201
+ // return arrayBufferToString(Buffer.concat(chunks));
202
+ // };
@@ -0,0 +1,31 @@
1
+ export declare class BaseError extends Error {
2
+ innerError?: Error;
3
+ constructor(message: string, innerError?: Error);
4
+ }
5
+ export declare class ValueError extends BaseError {
6
+ constructor(message: string, innerError?: Error);
7
+ }
8
+ export declare class ArchiveError extends BaseError {
9
+ constructor(message: string, innerError?: Error);
10
+ }
11
+ export declare class TimeoutError extends BaseError {
12
+ constructor(message: string, innerError?: Error);
13
+ }
14
+ export declare class AccessError extends BaseError {
15
+ constructor(message: string, innerError?: Error);
16
+ }
17
+ export declare class WebParseError extends BaseError {
18
+ constructor(message: string, innerError?: Error);
19
+ }
20
+ export declare class ParseError extends BaseError {
21
+ constructor(message: string, innerError?: Error);
22
+ }
23
+ export declare class DBError extends BaseError {
24
+ constructor(message: string, innerError?: Error);
25
+ }
26
+ export declare class CriticalError extends BaseError {
27
+ constructor(message: string, innerError?: Error);
28
+ }
29
+ export declare class NetworkError extends BaseError {
30
+ constructor(message: string, innerError?: Error);
31
+ }
package/lib/errors.js ADDED
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NetworkError = exports.CriticalError = exports.DBError = exports.ParseError = exports.WebParseError = exports.AccessError = exports.TimeoutError = exports.ArchiveError = exports.ValueError = exports.BaseError = void 0;
4
+ class BaseError extends Error {
5
+ constructor(message, innerError) {
6
+ super(message);
7
+ this.innerError = innerError;
8
+ }
9
+ }
10
+ exports.BaseError = BaseError;
11
+ class ValueError extends BaseError {
12
+ constructor(message, innerError) {
13
+ super(message, innerError);
14
+ }
15
+ }
16
+ exports.ValueError = ValueError;
17
+ class ArchiveError extends BaseError {
18
+ constructor(message, innerError) {
19
+ super(message, innerError);
20
+ }
21
+ }
22
+ exports.ArchiveError = ArchiveError;
23
+ class TimeoutError extends BaseError {
24
+ constructor(message, innerError) {
25
+ super(message, innerError);
26
+ }
27
+ }
28
+ exports.TimeoutError = TimeoutError;
29
+ class AccessError extends BaseError {
30
+ constructor(message, innerError) {
31
+ super(message, innerError);
32
+ }
33
+ }
34
+ exports.AccessError = AccessError;
35
+ class WebParseError extends BaseError {
36
+ constructor(message, innerError) {
37
+ super(message, innerError);
38
+ }
39
+ }
40
+ exports.WebParseError = WebParseError;
41
+ class ParseError extends BaseError {
42
+ constructor(message, innerError) {
43
+ super(message, innerError);
44
+ }
45
+ }
46
+ exports.ParseError = ParseError;
47
+ class DBError extends BaseError {
48
+ constructor(message, innerError) {
49
+ super(message, innerError);
50
+ }
51
+ }
52
+ exports.DBError = DBError;
53
+ class CriticalError extends BaseError {
54
+ constructor(message, innerError) {
55
+ super(message, innerError);
56
+ }
57
+ }
58
+ exports.CriticalError = CriticalError;
59
+ class NetworkError extends BaseError {
60
+ constructor(message, innerError) {
61
+ super(message, innerError);
62
+ }
63
+ }
64
+ exports.NetworkError = NetworkError;
package/lib/excel.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const exportDictionaryArrayTable: (excelFilename: string, mapArray: Array<Map<string, string>>, sheetName: string) => void;
package/lib/excel.js ADDED
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.exportDictionaryArrayTable = void 0;
27
+ const XLSX = __importStar(require("xlsx"));
28
+ const exportDictionaryArrayTable = (excelFilename, mapArray, sheetName) => {
29
+ const worksheet = XLSX.utils.json_to_sheet(mapArray);
30
+ const workbook = XLSX.utils.book_new();
31
+ XLSX.utils.book_append_sheet(workbook, worksheet, sheetName);
32
+ XLSX.writeFile(workbook, excelFilename);
33
+ };
34
+ exports.exportDictionaryArrayTable = exportDictionaryArrayTable;