@activepieces/piece-csv 0.0.0-pre1
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 +7 -0
- package/package.json +18 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +18 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/convert-csv-to-json.d.ts +1 -0
- package/src/lib/actions/convert-csv-to-json.js +54 -0
- package/src/lib/actions/convert-csv-to-json.js.map +1 -0
- package/src/lib/actions/convert-json-to-csv.d.ts +1 -0
- package/src/lib/actions/convert-json-to-csv.js +60 -0
- package/src/lib/actions/convert-json-to-csv.js.map +1 -0
- package/src/lib/utils.d.ts +3 -0
- package/src/lib/utils.js +14 -0
- package/src/lib/utils.js.map +1 -0
package/README.md
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@activepieces/piece-csv",
|
|
3
|
+
"version": "0.0.0-pre1",
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"@sinclair/typebox": "0.24.51",
|
|
6
|
+
"axios": "1.2.4",
|
|
7
|
+
"cron-validator": "1.3.1",
|
|
8
|
+
"nanoid": "3.3.4",
|
|
9
|
+
"papaparse": "5.3.2"
|
|
10
|
+
},
|
|
11
|
+
"peerDependencies": {
|
|
12
|
+
"@activepieces/framework": "0.0.1",
|
|
13
|
+
"@activepieces/shared": "0.0.1",
|
|
14
|
+
"tslib": "2.4.1"
|
|
15
|
+
},
|
|
16
|
+
"main": "./src/index.js",
|
|
17
|
+
"types": "./src/index.d.ts"
|
|
18
|
+
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const csv: import("@activepieces/framework").Piece;
|
package/src/index.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.csv = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const package_json_1 = tslib_1.__importDefault(require("../package.json"));
|
|
6
|
+
const framework_1 = require("@activepieces/framework");
|
|
7
|
+
const convert_json_to_csv_1 = require("./lib/actions/convert-json-to-csv");
|
|
8
|
+
const convert_csv_to_json_1 = require("./lib/actions/convert-csv-to-json");
|
|
9
|
+
exports.csv = (0, framework_1.createPiece)({
|
|
10
|
+
name: 'csv',
|
|
11
|
+
displayName: "CSV",
|
|
12
|
+
logoUrl: 'https://cdn.activepieces.com/pieces/csv.png',
|
|
13
|
+
version: package_json_1.default.version,
|
|
14
|
+
actions: [convert_json_to_csv_1.parseCSVTextAction, convert_csv_to_json_1.unparseCSVTextAction],
|
|
15
|
+
authors: ['kanarelo'],
|
|
16
|
+
triggers: [],
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pieces/csv/src/index.ts"],"names":[],"mappings":";;;;AAAA,2EAA0C;AAC1C,uDAAsD;AACtD,2EAAuE;AACvE,2EAAyE;AAE5D,QAAA,GAAG,GAAG,IAAA,uBAAW,EAAC;IAC7B,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,6CAA6C;IACtD,OAAO,EAAE,sBAAW,CAAC,OAAO;IAC5B,OAAO,EAAE,CAAC,wCAAkB,EAAE,0CAAoB,CAAC;IACnD,OAAO,EAAE,CAAC,UAAU,CAAC;IACrB,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const unparseCSVTextAction: import("@activepieces/framework").Action;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unparseCSVTextAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const framework_1 = require("@activepieces/framework");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
exports.unparseCSVTextAction = (0, framework_1.createAction)({
|
|
8
|
+
name: "convert_json_to_csv",
|
|
9
|
+
displayName: "Convert JSON to CSV",
|
|
10
|
+
description: "This function reads a JSON file and converts it into a CSV file format.",
|
|
11
|
+
sampleData: [
|
|
12
|
+
"Column 1,Column 2,Column 3,Column 4",
|
|
13
|
+
"1-1,1-2,1-3,1-4"
|
|
14
|
+
],
|
|
15
|
+
props: {
|
|
16
|
+
csv_object: framework_1.Property.Json({
|
|
17
|
+
displayName: 'CSV JSON',
|
|
18
|
+
defaultValue: {},
|
|
19
|
+
required: true
|
|
20
|
+
}),
|
|
21
|
+
has_headers: framework_1.Property.Checkbox({
|
|
22
|
+
displayName: 'CSV contains headers',
|
|
23
|
+
defaultValue: false,
|
|
24
|
+
required: true,
|
|
25
|
+
}),
|
|
26
|
+
delimiter_type: framework_1.Property.StaticDropdown({
|
|
27
|
+
displayName: 'Delimeter Type',
|
|
28
|
+
description: 'Will try to guess the delimeter',
|
|
29
|
+
defaultValue: '',
|
|
30
|
+
required: true,
|
|
31
|
+
options: {
|
|
32
|
+
options: [
|
|
33
|
+
{ label: "Auto", value: "auto" },
|
|
34
|
+
{ label: "Comma", value: "," },
|
|
35
|
+
{ label: "Tab", value: "\t" }
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
}),
|
|
39
|
+
},
|
|
40
|
+
run(context) {
|
|
41
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
const { csv_object, has_headers, delimiter_type } = context.propsValue;
|
|
43
|
+
const config = {
|
|
44
|
+
header: has_headers,
|
|
45
|
+
delimiter: delimiter_type === "auto" ? "" : delimiter_type,
|
|
46
|
+
skipEmptyLines: true
|
|
47
|
+
};
|
|
48
|
+
const results = (0, utils_1.unparseCSVObject)(csv_object, config);
|
|
49
|
+
console.debug("Unparse results", results);
|
|
50
|
+
return results;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=convert-csv-to-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-csv-to-json.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/csv/src/lib/actions/convert-csv-to-json.ts"],"names":[],"mappings":";;;;AAAA,uDAAiE;AAEjE,oCAA4C;AAE/B,QAAA,oBAAoB,GAAG,IAAA,wBAAY,EAAC;IAC/C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,yEAAyE;IACtF,UAAU,EAAE;QACV,qCAAqC;QACrC,iBAAiB;KAClB;IACD,KAAK,EAAE;QACL,UAAU,EAAE,oBAAQ,CAAC,IAAI,CAAC;YACxB,WAAW,EAAE,UAAU;YACvB,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,WAAW,EAAE,oBAAQ,CAAC,QAAQ,CAAC;YAC7B,WAAW,EAAE,sBAAsB;YACnC,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,cAAc,EAAE,oBAAQ,CAAC,cAAc,CAAC;YACtC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,iCAAiC;YAC9C,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;oBAChC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;iBAC9B;aACF;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,UAAU,CAAA;YACtE,MAAM,MAAM,GAAkB;gBAC5B,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;gBAC1D,cAAc,EAAE,IAAI;aACrB,CAAA;YAED,MAAM,OAAO,GAAG,IAAA,wBAAgB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YACpD,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;YAEzC,OAAO,OAAO,CAAA;QAChB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const parseCSVTextAction: import("@activepieces/framework").Action;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseCSVTextAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const framework_1 = require("@activepieces/framework");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
exports.parseCSVTextAction = (0, framework_1.createAction)({
|
|
8
|
+
name: "convert_csv_to_json",
|
|
9
|
+
displayName: "Convert CSV to JSON",
|
|
10
|
+
description: "This function reads a CSV string and converts it into JSON array format.",
|
|
11
|
+
sampleData: [
|
|
12
|
+
{
|
|
13
|
+
"col1": "value",
|
|
14
|
+
"col2": "value",
|
|
15
|
+
"col3": "value"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"col1": "value",
|
|
19
|
+
"col2": "value",
|
|
20
|
+
"col3": "value"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
props: {
|
|
24
|
+
csv_text: framework_1.Property.LongText({
|
|
25
|
+
displayName: 'CSV Text',
|
|
26
|
+
defaultValue: "",
|
|
27
|
+
required: true
|
|
28
|
+
}),
|
|
29
|
+
has_headers: framework_1.Property.Checkbox({
|
|
30
|
+
displayName: 'CSV contains headers',
|
|
31
|
+
defaultValue: false,
|
|
32
|
+
required: true,
|
|
33
|
+
}),
|
|
34
|
+
delimiter_type: framework_1.Property.StaticDropdown({
|
|
35
|
+
displayName: 'Delimeter Type',
|
|
36
|
+
description: 'Will try to guess the delimeter',
|
|
37
|
+
defaultValue: '',
|
|
38
|
+
required: true,
|
|
39
|
+
options: {
|
|
40
|
+
options: [
|
|
41
|
+
{ label: "Auto", value: "auto" },
|
|
42
|
+
{ label: "Comma", value: "," },
|
|
43
|
+
{ label: "Tab", value: "\t" }
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
}),
|
|
47
|
+
},
|
|
48
|
+
run(context) {
|
|
49
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const { csv_text, has_headers, delimiter_type } = context.propsValue;
|
|
51
|
+
const config = {
|
|
52
|
+
header: has_headers,
|
|
53
|
+
delimiter: delimiter_type === "auto" ? "" : delimiter_type,
|
|
54
|
+
skipEmptyLines: true
|
|
55
|
+
};
|
|
56
|
+
return (0, utils_1.parseCSVFile)(csv_text, config);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=convert-json-to-csv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-json-to-csv.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/csv/src/lib/actions/convert-json-to-csv.ts"],"names":[],"mappings":";;;;AAAA,uDAAiE;AACjE,oCAAwC;AAE3B,QAAA,kBAAkB,GAAG,IAAA,wBAAY,EAAC;IAC7C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,0EAA0E;IACvF,UAAU,EAAE;QACV;YACE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,OAAO;SAChB;QACD;YACE,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,OAAO;SAChB;KACF;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,oBAAQ,CAAC,QAAQ,CAAC;YAC1B,WAAW,EAAE,UAAU;YACvB,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,WAAW,EAAE,oBAAQ,CAAC,QAAQ,CAAC;YAC7B,WAAW,EAAE,sBAAsB;YACnC,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,cAAc,EAAE,oBAAQ,CAAC,cAAc,CAAC;YACtC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,iCAAiC;YAC9C,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;oBAChC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;iBAC9B;aACF;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,UAAU,CAAA;YACpE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;gBAC1D,cAAc,EAAE,IAAI;aACrB,CAAA;YACD,OAAO,IAAA,oBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACvC,CAAC;KAAA;CACF,CAAC,CAAC"}
|
package/src/lib/utils.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unparseCSVObject = exports.parseCSVFile = void 0;
|
|
4
|
+
const papaparse_1 = require("papaparse");
|
|
5
|
+
const parseCSVFile = (csvFile, config) => new Promise((complete, error) => {
|
|
6
|
+
(0, papaparse_1.parse)(csvFile, Object.assign(Object.assign({}, config), { complete: (results) => {
|
|
7
|
+
console.debug("csv results received", results);
|
|
8
|
+
complete(results.data);
|
|
9
|
+
}, error }));
|
|
10
|
+
});
|
|
11
|
+
exports.parseCSVFile = parseCSVFile;
|
|
12
|
+
const unparseCSVObject = (csvObject, config) => (0, papaparse_1.unparse)(csvObject, config);
|
|
13
|
+
exports.unparseCSVObject = unparseCSVObject;
|
|
14
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/pieces/csv/src/lib/utils.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AAE/D,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,MAA+B,EAAE,EAAE,CAC/E,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;IAC9B,IAAA,iBAAK,EAAC,OAAO,kCACR,MAAM,KACT,QAAQ,EAAE,CAAC,OAA6C,EAAE,EAAE;YAC1D,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAA;YAC9C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC,EACD,KAAK,IACL,CAAA;AACJ,CAAC,CAAC,CAAA;AAVS,QAAA,YAAY,gBAUrB;AAEG,MAAM,gBAAgB,GAC3B,CAAC,SAAc,EAAE,MAAqB,EAAE,EAAE,CAAC,IAAA,mBAAO,EAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAD1D,QAAA,gBAAgB,oBAC0C"}
|