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.
- package/lib/archive/abstract.d.ts +7 -0
- package/lib/archive/abstract.js +30 -0
- package/lib/archive/gz.d.ts +16 -0
- package/lib/archive/gz.js +66 -0
- package/lib/archive/index.d.ts +3 -0
- package/lib/archive/index.js +19 -0
- package/lib/archive/tar.d.ts +17 -0
- package/lib/archive/tar.js +165 -0
- package/lib/archive/zip.d.ts +28 -0
- package/lib/archive/zip.js +254 -0
- package/lib/base64.d.ts +6 -0
- package/lib/base64.js +24 -0
- package/lib/buffer.d.ts +4 -0
- package/lib/buffer.js +23 -0
- package/lib/configurator.d.ts +16 -0
- package/lib/configurator.js +53 -0
- package/lib/dateOperation.d.ts +3 -0
- package/lib/dateOperation.js +23 -0
- package/lib/dbsingleton.d.ts +11 -0
- package/lib/dbsingleton.js +13 -0
- package/lib/dbutil.d.ts +3 -0
- package/lib/dbutil.js +44 -0
- package/lib/dictionary.d.ts +8 -0
- package/lib/dictionary.js +55 -0
- package/lib/encryption.d.ts +17 -0
- package/lib/encryption.js +202 -0
- package/lib/errors.d.ts +31 -0
- package/lib/errors.js +64 -0
- package/lib/excel.d.ts +1 -0
- package/lib/excel.js +34 -0
- package/lib/fileModel.d.ts +96 -0
- package/lib/fileModel.js +170 -0
- package/lib/fileOperation.d.ts +11 -0
- package/lib/fileOperation.js +275 -0
- package/lib/holidays.d.ts +20 -0
- package/lib/holidays.js +200 -0
- package/lib/index.d.ts +15 -0
- package/lib/index.js +31 -0
- package/lib/milestone.d.ts +19 -0
- package/lib/milestone.js +169 -0
- package/lib/net/_ftp.d.ts +0 -0
- package/lib/net/_ftp.js +228 -0
- package/lib/net/ftp.d.ts +19 -0
- package/lib/net/ftp.js +160 -0
- package/lib/net/remoteConnection.d.ts +11 -0
- package/lib/net/remoteConnection.js +26 -0
- package/lib/net/sftp.d.ts +19 -0
- package/lib/net/sftp.js +155 -0
- package/lib/numberOperation.d.ts +3 -0
- package/lib/numberOperation.js +24 -0
- package/lib/parameter.d.ts +14 -0
- package/lib/parameter.js +291 -0
- package/lib/result.d.ts +23 -0
- package/lib/result.js +47 -0
- package/lib/timer.d.ts +11 -0
- package/lib/timer.js +62 -0
- package/lib/user.d.ts +11 -0
- package/lib/user.js +23 -0
- package/lib/variable.d.ts +11 -0
- package/lib/variable.js +280 -0
- package/lib/web/attribute.d.ts +6 -0
- package/lib/web/attribute.js +29 -0
- package/lib/web/element.d.ts +24 -0
- package/lib/web/element.js +119 -0
- package/lib/web/index.d.ts +7 -0
- package/lib/web/index.js +19 -0
- package/lib/web/page.d.ts +22 -0
- package/lib/web/page.js +102 -0
- package/lib/web/table.d.ts +15 -0
- package/lib/web/table.js +110 -0
- package/lib/web/tableColumn.d.ts +10 -0
- package/lib/web/tableColumn.js +21 -0
- package/lib/web/tableRow.d.ts +10 -0
- package/lib/web/tableRow.js +80 -0
- package/lib/web/util.d.ts +12 -0
- package/lib/web/util.js +22 -0
- package/package.json +63 -0
package/lib/web/table.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
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 _Table_instances, _Table_headerExist, _Table_build;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.Table = void 0;
|
|
16
|
+
const element_1 = require("./element");
|
|
17
|
+
const tableRow_1 = require("./tableRow");
|
|
18
|
+
class Table extends element_1.GenericElement {
|
|
19
|
+
constructor(node, { headerExist } = { headerExist: true }) {
|
|
20
|
+
super(node);
|
|
21
|
+
_Table_instances.add(this);
|
|
22
|
+
_Table_headerExist.set(this, void 0);
|
|
23
|
+
this.__headers = new Array();
|
|
24
|
+
this.__records = new Array();
|
|
25
|
+
__classPrivateFieldSet(this, _Table_headerExist, headerExist, "f");
|
|
26
|
+
__classPrivateFieldGet(this, _Table_instances, "m", _Table_build).call(this);
|
|
27
|
+
}
|
|
28
|
+
get rows() {
|
|
29
|
+
return this.__records;
|
|
30
|
+
}
|
|
31
|
+
toDictionaryArray() {
|
|
32
|
+
const columnIndex = new Map();
|
|
33
|
+
let index = 0;
|
|
34
|
+
let isHeaderExistInRecord = false;
|
|
35
|
+
if (this.__headers.length > 0) {
|
|
36
|
+
this.__headers.forEach((row) => {
|
|
37
|
+
row.columns.forEach((column) => {
|
|
38
|
+
columnIndex.set(index++, column.textValue);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
if (this.__records.length === 0)
|
|
44
|
+
return [{}];
|
|
45
|
+
isHeaderExistInRecord = true;
|
|
46
|
+
const columnCount = this.__records[0].columns.length;
|
|
47
|
+
for (index = 0; index < columnCount; index++) {
|
|
48
|
+
columnIndex.set(index, 'Column' + (index + 1).toString());
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const records = new Array();
|
|
52
|
+
this.__records.forEach((row) => {
|
|
53
|
+
if (isHeaderExistInRecord && index == 0) {
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const dictionary = {};
|
|
57
|
+
let index = 0;
|
|
58
|
+
columnIndex.forEach((columnName, key) => {
|
|
59
|
+
dictionary[columnName] = row.columns[key].textValue;
|
|
60
|
+
});
|
|
61
|
+
index++;
|
|
62
|
+
records.push(dictionary);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return records;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.Table = Table;
|
|
69
|
+
_Table_headerExist = new WeakMap(), _Table_instances = new WeakSet(), _Table_build = function _Table_build() {
|
|
70
|
+
this.__headers = new Array();
|
|
71
|
+
this.__records = new Array();
|
|
72
|
+
let previousRow = undefined;
|
|
73
|
+
const tHeads = this.getGenericElementsByTagName('thead');
|
|
74
|
+
if (!!tHeads && tHeads.length > 0) {
|
|
75
|
+
const tHead = tHeads[0];
|
|
76
|
+
tHead.getGenericElementsByTagName('tr').forEach((thRow) => {
|
|
77
|
+
const row = new tableRow_1.TableRow(thRow.node, previousRow);
|
|
78
|
+
this.__headers.push(row);
|
|
79
|
+
previousRow = row;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
previousRow = undefined;
|
|
83
|
+
let isHeaderFromRecord = false;
|
|
84
|
+
const rows = this.getGenericElementsByTagName('tr');
|
|
85
|
+
// console.log(this.node);
|
|
86
|
+
// let tableRows = Array.from(this.node.rows);
|
|
87
|
+
// if (tableRows.length > 0) {
|
|
88
|
+
// rows.push(...tableRows);
|
|
89
|
+
// } else {
|
|
90
|
+
// Array.from(this.node.tBodies).forEach((tblSection) => {
|
|
91
|
+
// rows.push(...Array.from(tblSection.rows));
|
|
92
|
+
// });
|
|
93
|
+
// }
|
|
94
|
+
if (this.__headers.length === 0 && __classPrivateFieldGet(this, _Table_headerExist, "f")) {
|
|
95
|
+
isHeaderFromRecord = true;
|
|
96
|
+
if (rows.length > 0) {
|
|
97
|
+
this.__headers.push(new tableRow_1.TableRow(rows[0].node, undefined));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
let isFirstRecord = true;
|
|
101
|
+
rows.forEach((row) => {
|
|
102
|
+
if (isFirstRecord && isHeaderFromRecord) {
|
|
103
|
+
isFirstRecord = false;
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const tRow = new tableRow_1.TableRow(row.node, previousRow);
|
|
107
|
+
this.__records.push(tRow);
|
|
108
|
+
previousRow = tRow;
|
|
109
|
+
});
|
|
110
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { GenericElement } from './element';
|
|
2
|
+
export declare type TableColumnOption = {
|
|
3
|
+
isOriginal: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare class TableColumn extends GenericElement<HTMLTableCellElement> {
|
|
6
|
+
isOriginal: boolean;
|
|
7
|
+
constructor(node: HTMLTableCellElement, isOriginal?: boolean);
|
|
8
|
+
get textValue(): string;
|
|
9
|
+
fakeCopy(): TableColumn;
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TableColumn = void 0;
|
|
4
|
+
const element_1 = require("./element");
|
|
5
|
+
class TableColumn extends element_1.GenericElement {
|
|
6
|
+
constructor(node, isOriginal = false) {
|
|
7
|
+
super(node);
|
|
8
|
+
this.isOriginal = isOriginal;
|
|
9
|
+
}
|
|
10
|
+
get textValue() {
|
|
11
|
+
if (this.isOriginal) {
|
|
12
|
+
return this.innerText.replace('\t', '').replace('\n', '');
|
|
13
|
+
}
|
|
14
|
+
return '';
|
|
15
|
+
}
|
|
16
|
+
fakeCopy() {
|
|
17
|
+
const copy = new TableColumn(this.node, false);
|
|
18
|
+
return copy;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.TableColumn = TableColumn;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { GenericElement } from './element';
|
|
2
|
+
import { TableColumn } from './tableColumn';
|
|
3
|
+
export declare class TableRow extends GenericElement<HTMLTableRowElement> {
|
|
4
|
+
#private;
|
|
5
|
+
previousRow?: TableRow;
|
|
6
|
+
columns: Array<TableColumn>;
|
|
7
|
+
constructor(node: HTMLTableRowElement, previousRow?: TableRow | undefined);
|
|
8
|
+
overrideColumnRange: Map<number, number>;
|
|
9
|
+
__build(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
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");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var _TableRow_instances, _TableRow_buildHeader;
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.TableRow = void 0;
|
|
10
|
+
const element_1 = require("./element");
|
|
11
|
+
const tableColumn_1 = require("./tableColumn");
|
|
12
|
+
class TableRow extends element_1.GenericElement {
|
|
13
|
+
constructor(node, previousRow = undefined) {
|
|
14
|
+
super(node);
|
|
15
|
+
_TableRow_instances.add(this);
|
|
16
|
+
this.previousRow = undefined;
|
|
17
|
+
this.columns = new Array();
|
|
18
|
+
this.overrideColumnRange = new Map();
|
|
19
|
+
this.previousRow = previousRow;
|
|
20
|
+
this.__build();
|
|
21
|
+
}
|
|
22
|
+
__build() {
|
|
23
|
+
this.overrideColumnRange.clear();
|
|
24
|
+
this.columns = new Array();
|
|
25
|
+
const copyingIndexList = new Array();
|
|
26
|
+
if (!!this.previousRow) {
|
|
27
|
+
for (var key of this.previousRow.overrideColumnRange.keys()) {
|
|
28
|
+
copyingIndexList.push(key);
|
|
29
|
+
const range = this.previousRow.overrideColumnRange.get(key) - 1;
|
|
30
|
+
if (range > 0)
|
|
31
|
+
this.overrideColumnRange.set(key, range);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
let index = 0;
|
|
35
|
+
const columnList = this.getGenericElementsByTagName('td');
|
|
36
|
+
//const isHeader = columnList.length > 0 ;
|
|
37
|
+
if (columnList.length > 0) {
|
|
38
|
+
for (let columnNode of columnList) {
|
|
39
|
+
index = __classPrivateFieldGet(this, _TableRow_instances, "m", _TableRow_buildHeader).call(this, copyingIndexList, columnNode, index);
|
|
40
|
+
}
|
|
41
|
+
while (copyingIndexList.includes(index)) {
|
|
42
|
+
if (!!this.previousRow)
|
|
43
|
+
this.columns.push(this.previousRow.columns[index].fakeCopy());
|
|
44
|
+
index++;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.TableRow = TableRow;
|
|
50
|
+
_TableRow_instances = new WeakSet(), _TableRow_buildHeader = function _TableRow_buildHeader(copyingIndexList, column, currentIndex) {
|
|
51
|
+
while (copyingIndexList.includes(currentIndex)) {
|
|
52
|
+
if (!!this.previousRow) {
|
|
53
|
+
this.columns.push(this.previousRow.columns[currentIndex].fakeCopy());
|
|
54
|
+
}
|
|
55
|
+
currentIndex++;
|
|
56
|
+
}
|
|
57
|
+
const columnElement = new tableColumn_1.TableColumn(column.node, true);
|
|
58
|
+
const columnAttributes = columnElement.attributes;
|
|
59
|
+
const rowSpans = columnAttributes.filter((a) => a.name.toLowerCase() === 'rowspan');
|
|
60
|
+
if (rowSpans.length > 0) {
|
|
61
|
+
this.overrideColumnRange.set(currentIndex, Number(rowSpans[0].value) - 1);
|
|
62
|
+
}
|
|
63
|
+
const colSpans = columnAttributes.filter((a) => a.name.toLowerCase() === 'colspan');
|
|
64
|
+
let columnCount = 1;
|
|
65
|
+
if (colSpans.length > 0) {
|
|
66
|
+
columnCount = Number(colSpans[0].value);
|
|
67
|
+
}
|
|
68
|
+
const columnOriginalCount = columnCount;
|
|
69
|
+
while (columnCount > 0) {
|
|
70
|
+
if (columnOriginalCount === columnCount) {
|
|
71
|
+
this.columns.push(columnElement);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.columns.push(columnElement.fakeCopy());
|
|
75
|
+
}
|
|
76
|
+
columnCount--;
|
|
77
|
+
currentIndex++;
|
|
78
|
+
}
|
|
79
|
+
return currentIndex;
|
|
80
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GenericElement } from './element';
|
|
2
|
+
import { Table, TableOption } from './table';
|
|
3
|
+
export declare type ElementGenerationOption = TableOption;
|
|
4
|
+
interface ElementOptionTagNameMap {
|
|
5
|
+
table: TableOption;
|
|
6
|
+
}
|
|
7
|
+
interface ElementTagNameMap {
|
|
8
|
+
table: Table;
|
|
9
|
+
}
|
|
10
|
+
export declare function convertHTMLElementByTagName<K extends keyof HTMLElementTagNameMap & keyof ElementOptionTagNameMap & keyof ElementTagNameMap>(qualifiedName: K, element: HTMLElementTagNameMap[K], option: ElementOptionTagNameMap[K]): ElementTagNameMap[K];
|
|
11
|
+
export declare function convertGenericElementByTagName<K extends keyof HTMLElementTagNameMap & keyof ElementOptionTagNameMap & keyof ElementTagNameMap>(qualifiedName: K, genericElement: GenericElement<HTMLElementTagNameMap[K]>, option: ElementOptionTagNameMap[K]): ElementTagNameMap[K];
|
|
12
|
+
export {};
|
package/lib/web/util.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertGenericElementByTagName = exports.convertHTMLElementByTagName = void 0;
|
|
4
|
+
const table_1 = require("./table");
|
|
5
|
+
function convertHTMLElementByTagName(qualifiedName, element, option) {
|
|
6
|
+
switch (qualifiedName) {
|
|
7
|
+
case 'table':
|
|
8
|
+
const tableOption = option;
|
|
9
|
+
return new table_1.Table(element, tableOption);
|
|
10
|
+
}
|
|
11
|
+
throw new Error('Unknown Error');
|
|
12
|
+
}
|
|
13
|
+
exports.convertHTMLElementByTagName = convertHTMLElementByTagName;
|
|
14
|
+
function convertGenericElementByTagName(qualifiedName, genericElement, option) {
|
|
15
|
+
switch (qualifiedName) {
|
|
16
|
+
case 'table':
|
|
17
|
+
const tableOption = option;
|
|
18
|
+
return new table_1.Table(genericElement.node, tableOption);
|
|
19
|
+
}
|
|
20
|
+
throw new Error('Unknown Error');
|
|
21
|
+
}
|
|
22
|
+
exports.convertGenericElementByTagName = convertGenericElementByTagName;
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "gyomu",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"types": "lib/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"unittest": "dotenv -e .env.unittest jest -i",
|
|
9
|
+
"test": "jest",
|
|
10
|
+
"start": "npm run build:live",
|
|
11
|
+
"watch": "tsc -w",
|
|
12
|
+
"build": "tsc -p .",
|
|
13
|
+
"build:live": "nodemon --watch 'src/**/*.ts' --exec 'ts-node' src/index.ts",
|
|
14
|
+
"prepare": "npm run build",
|
|
15
|
+
"version": "git add -A src",
|
|
16
|
+
"postversion": "git push && git push --tags"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [],
|
|
19
|
+
"author": "",
|
|
20
|
+
"license": "ISC",
|
|
21
|
+
"files": [
|
|
22
|
+
"lib",
|
|
23
|
+
"!**/__tests__"
|
|
24
|
+
],
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/crypto-js": "^4.1.1",
|
|
27
|
+
"@types/fs-extra": "^9.0.13",
|
|
28
|
+
"@types/glob": "^7.2.0",
|
|
29
|
+
"@types/jest": "^28.1.6",
|
|
30
|
+
"@types/node": "^18.0.6",
|
|
31
|
+
"@types/ssh2-sftp-client": "^7.1.0",
|
|
32
|
+
"@types/tar": "^6.1.2",
|
|
33
|
+
"@types/tmp": "^0.2.3",
|
|
34
|
+
"@types/unzipper": "^0.10.5",
|
|
35
|
+
"@types/xlsx": "^0.0.36",
|
|
36
|
+
"@types/xmldom": "^0.1.31",
|
|
37
|
+
"@types/xmlserializer": "^0.6.3",
|
|
38
|
+
"dotenv-cli": "^6.0.0",
|
|
39
|
+
"jest": "^28.1.3",
|
|
40
|
+
"jest-mock-extended": "^2.0.7",
|
|
41
|
+
"prisma": "^4.2.1",
|
|
42
|
+
"ts-jest": "^28.0.8"
|
|
43
|
+
},
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@prisma/client": "^4.2.1",
|
|
46
|
+
"archiver": "^5.3.1",
|
|
47
|
+
"archiver-zip-encrypted": "^1.0.11",
|
|
48
|
+
"axios": "^0.27.2",
|
|
49
|
+
"basic-ftp": "^5.0.1",
|
|
50
|
+
"date-fns": "^2.29.1",
|
|
51
|
+
"fs-extra": "^10.1.0",
|
|
52
|
+
"iconv-lite": "^0.6.3",
|
|
53
|
+
"parse5": "^7.0.0",
|
|
54
|
+
"ssh2-sftp-client": "^9.0.3",
|
|
55
|
+
"tar": "^6.1.11",
|
|
56
|
+
"tmp": "^0.2.1",
|
|
57
|
+
"unzipper": "^0.10.11",
|
|
58
|
+
"xlsx": "https://cdn.sheetjs.com/xlsx-0.18.10/xlsx-0.18.10.tgz",
|
|
59
|
+
"xmldom": "^0.6.0",
|
|
60
|
+
"xmlserializer": "^0.6.1",
|
|
61
|
+
"xpath": "^0.0.32"
|
|
62
|
+
}
|
|
63
|
+
}
|