@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 ADDED
@@ -0,0 +1,7 @@
1
+ # pieces-csv
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running lint
6
+
7
+ Run `nx lint pieces-csv` to execute the lint via [ESLint](https://eslint.org/).
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
@@ -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"}
@@ -0,0 +1,3 @@
1
+ import { UnparseConfig } from "papaparse";
2
+ export declare const parseCSVFile: (csvFile: string, config: Record<string, unknown>) => Promise<unknown>;
3
+ export declare const unparseCSVObject: (csvObject: any, config: UnparseConfig) => string;
@@ -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"}