@haustle/notion-orm 0.0.2 → 0.0.3

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.
@@ -0,0 +1,32 @@
1
+ import { PropertyType } from "./GenerateTypes";
2
+ export declare function getCall(args: {
3
+ type: PropertyType;
4
+ value: string | number | boolean;
5
+ }): {
6
+ select: {
7
+ name: string;
8
+ };
9
+ } | {
10
+ multi_select: {
11
+ name: string;
12
+ }[];
13
+ } | {
14
+ number: number;
15
+ } | {
16
+ url: string;
17
+ } | {
18
+ checkbox: boolean;
19
+ } | {
20
+ title: {
21
+ text: {
22
+ content: string;
23
+ };
24
+ }[];
25
+ } | {
26
+ rich_text: {
27
+ text: {
28
+ content: string;
29
+ };
30
+ }[];
31
+ } | undefined;
32
+ //# sourceMappingURL=BuildCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildCall.d.ts","sourceRoot":"","sources":["../../src/NotionActions/BuildCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACpC;;;;;;;;;;;;;;;;;;;;;;;;;;cAkBA"}
@@ -78,3 +78,4 @@ const checkboxCall = (args) => {
78
78
  const { checked: checkbox } = args;
79
79
  return { checkbox };
80
80
  };
81
+ //# sourceMappingURL=BuildCall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildCall.js","sourceRoot":"","sources":["../../src/NotionActions/BuildCall.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { GetDatabaseResponse } from "@notionhq/client/build/src/api-endpoints";
2
+ declare const propertyArr: string[];
3
+ export type PropertyType = typeof propertyArr[number];
4
+ export declare function createTypescriptFileForDatabase(dbResponse: GetDatabaseResponse): Promise<{
5
+ databaseName: string;
6
+ databaseClassName: string;
7
+ databaseId: string;
8
+ }>;
9
+ export {};
10
+ //# sourceMappingURL=GenerateTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenerateTypes.d.ts","sourceRoot":"","sources":["../../src/NotionActions/GenerateTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,mBAAmB,EACnB,MAAM,0CAA0C,CAAC;AAMlD,QAAA,MAAM,WAAW,UAQhB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAUtD,wBAAsB,+BAA+B,CACpD,UAAU,EAAE,mBAAmB;;;;GAqH/B"}
@@ -107,13 +107,18 @@ function createTypescriptFileForDatabase(dbResponse) {
107
107
  const nodes = ts.factory.createNodeArray(nodeArr);
108
108
  const sourceFile = ts.createSourceFile("placeholder.ts", "", ts.ScriptTarget.ESNext, true, ts.ScriptKind.TS);
109
109
  const printer = ts.createPrinter();
110
- const outputFile = printer.printList(ts.ListFormat.MultiLine, nodes, sourceFile);
110
+ const typescriptCodeToString = printer.printList(ts.ListFormat.MultiLine, nodes, sourceFile);
111
+ const transpileToJavaScript = ts.transpile(typescriptCodeToString, {
112
+ module: ts.ModuleKind.None,
113
+ target: ts.ScriptTarget.ES2015,
114
+ });
111
115
  // Create our output folder
112
- const outputDir = path_1.default.join(__dirname, "../../src", "NotionActions", "DatabaseTypes");
116
+ const outputDir = path_1.default.join(__dirname, "../../build", "NotionActions", "DatabaseTypes");
113
117
  if (!fs_1.default.existsSync(outputDir)) {
114
118
  fs_1.default.mkdirSync(outputDir);
115
119
  }
116
- fs_1.default.writeFileSync(path_1.default.resolve(outputDir, `${databaseId}.ts`), outputFile);
120
+ fs_1.default.writeFileSync(path_1.default.resolve(outputDir, `${databaseId}.ts`), typescriptCodeToString);
121
+ fs_1.default.writeFileSync(path_1.default.resolve(outputDir, `${databaseId}.js`), transpileToJavaScript);
117
122
  return { databaseName, databaseClassName, databaseId };
118
123
  });
119
124
  }
@@ -242,3 +247,4 @@ function camelize(str) {
242
247
  return index === 0 ? match.toLowerCase() : match.toUpperCase();
243
248
  });
244
249
  }
250
+ //# sourceMappingURL=GenerateTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenerateTypes.js","sourceRoot":"","sources":["../../src/NotionActions/GenerateTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { PropertyType } from "./GenerateTypes";
2
+ import { FilterOptionNames, Query } from "./queryTypes";
3
+ export type propNameToColumnNameType = Record<string, {
4
+ columnName: string;
5
+ type: PropertyType;
6
+ }>;
7
+ export declare class CollectionActions<CollectionType extends Record<string, any>, ColNameToType extends Record<keyof CollectionType, FilterOptionNames>> {
8
+ private NotionClient;
9
+ private databaseId;
10
+ private propNameToColumnName;
11
+ private columnNames;
12
+ constructor(datbaseId: string, propNameToColumnName: propNameToColumnNameType);
13
+ add(pageObject: CollectionType): Promise<void>;
14
+ query(query: Query<CollectionType, ColNameToType>): Promise<void>;
15
+ private recursivelyBuildFilter;
16
+ }
17
+ //# sourceMappingURL=NotionCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotionCollection.d.ts","sourceRoot":"","sources":["../../src/NotionActions/NotionCollection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAIN,iBAAiB,EACjB,KAAK,EAGL,MAAM,cAAc,CAAC;AAGtB,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC5C,MAAM,EACN;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAC1C,CAAC;AAEF,qBAAa,iBAAiB,CAC7B,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,cAAc,EAAE,iBAAiB,CAAC;IAErE,OAAO,CAAC,YAAY,CAEjB;IACH,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,oBAAoB,CAA2B;IACvD,OAAO,CAAC,WAAW,CAAW;gBAG7B,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,wBAAwB;IAQzC,GAAG,CAAC,UAAU,EAAE,cAAc;IAwB9B,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,aAAa,CAAC;IAqBvD,OAAO,CAAC,sBAAsB;CAoC9B"}
@@ -93,3 +93,4 @@ class CollectionActions {
93
93
  }
94
94
  }
95
95
  exports.CollectionActions = CollectionActions;
96
+ //# sourceMappingURL=NotionCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotionCollection.js","sourceRoot":"","sources":["../../src/NotionActions/NotionCollection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export type NotionConfigType = {
2
+ auth: string;
3
+ databaseIds: string[];
4
+ };
5
+ export declare const createDatabaseTypes: (notionInfo: NotionConfigType) => Promise<{
6
+ databaseNames: string[];
7
+ }>;
8
+ //# sourceMappingURL=NotionConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotionConfig.d.ts","sourceRoot":"","sources":["../../src/NotionActions/NotionConfig.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAOF,eAAO,MAAM,mBAAmB,eAAsB,gBAAgB;;EA0DrE,CAAC"}
@@ -59,8 +59,10 @@ const createDatabaseTypes = (notionInfo) => __awaiter(void 0, void 0, void 0, fu
59
59
  });
60
60
  const databaseNames = [];
61
61
  // retrieve the database object
62
- const databaseClassImports = [];
62
+ const databaseClassExports = [];
63
63
  const databaseCamelizedNames = [];
64
+ const buildDir = path_1.default.join(__dirname, "../../build", "NotionActions", "DatabaseTypes");
65
+ fs_1.default.rmdir(buildDir, () => console.log("Deleting current database types..."));
64
66
  for (const database_id of databaseIds) {
65
67
  let dbOjbect;
66
68
  // Try to get the database schema
@@ -76,33 +78,19 @@ const createDatabaseTypes = (notionInfo) => __awaiter(void 0, void 0, void 0, fu
76
78
  const { databaseClassName, databaseId, databaseName } = yield (0, GenerateTypes_1.createTypescriptFileForDatabase)(dbOjbect);
77
79
  databaseNames.push(databaseName);
78
80
  databaseCamelizedNames.push(databaseClassName);
79
- databaseClassImports.push(databaseImportStatement({
81
+ databaseClassExports.push(databaseExportStatement({
80
82
  databaseClassName,
81
83
  databaseId,
82
84
  }));
83
85
  }
84
- const nodeArr = [
85
- ...databaseClassImports,
86
- mainNotionVariable(databaseCamelizedNames),
87
- ];
86
+ const nodeArr = [...databaseClassExports];
88
87
  createNotionFile(nodeArr);
89
88
  return { databaseNames };
90
89
  });
91
90
  exports.createDatabaseTypes = createDatabaseTypes;
92
91
  // Create the import statement for notion.ts file
93
- function databaseImportStatement(dbClass) {
94
- return ts.factory.createImportDeclaration(undefined, ts.factory.createImportClause(false, undefined, ts.factory.createNamedImports([
95
- ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier(dbClass.databaseClassName)),
96
- ])),
97
- // We've setup paths to allow @notion-database access
98
- ts.factory.createStringLiteral(`@notion-database/${dbClass.databaseId}`), undefined);
99
- }
100
- function mainNotionVariable(databaseNames) {
101
- return ts.factory.createVariableStatement([ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createVariableDeclarationList([
102
- ts.factory.createVariableDeclaration(ts.factory.createIdentifier("notion"), undefined, undefined, ts.factory.createObjectLiteralExpression([
103
- ...databaseNames.map((name) => ts.factory.createShorthandPropertyAssignment(ts.factory.createIdentifier(name), undefined)),
104
- ], true)),
105
- ], ts.NodeFlags.Const));
92
+ function databaseExportStatement(dbClass) {
93
+ return ts.factory.createExportDeclaration(undefined, false, undefined, ts.factory.createStringLiteral(`./DatabaseTypes/${dbClass.databaseId}`), undefined);
106
94
  }
107
95
  // Creates file that import all generated notion database Ids
108
96
  function createNotionFile(nodeArr) {
@@ -116,3 +104,4 @@ function createNotionFile(nodeArr) {
116
104
  }
117
105
  fs_1.default.writeFileSync(path_1.default.resolve(outputDir, "notion.ts"), outputFile);
118
106
  }
107
+ //# sourceMappingURL=NotionConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotionConfig.js","sourceRoot":"","sources":["../../src/NotionActions/NotionConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Column types' for all query options
3
+ */
4
+ export type FilterOptionNames = "text" | "title" | "number" | "checkbox" | "select" | "multi_select" | "url";
5
+ type TextPropertyFilters = {
6
+ equals: string;
7
+ does_not_equal: string;
8
+ contains: string;
9
+ does_not_contain: string;
10
+ starts_with: string;
11
+ ends_with: string;
12
+ is_empty: true;
13
+ is_not_empty: true;
14
+ };
15
+ type NumberPropertyFilters = {
16
+ equals: number;
17
+ does_not_equals: number;
18
+ greater_than: number;
19
+ less_than: number;
20
+ greater_than_or_equal_to: number;
21
+ less_than_or_equal_to: number;
22
+ is_empty: true;
23
+ is_not_empty: true;
24
+ };
25
+ type CheckBoxPropertyFilters = {
26
+ equals: boolean;
27
+ does_not_equal: boolean;
28
+ };
29
+ type SelectPropertyFilters<T> = {
30
+ equals: (T extends Array<any> ? T[number] : T) | (string & {});
31
+ does_not_equal: (T extends Array<any> ? T[number] : T) | (string & {});
32
+ is_empty: true;
33
+ is_not_empty: true;
34
+ };
35
+ type MultiSelectPropertyFilters<T> = {
36
+ contains: (T extends Array<any> ? T[number] : T) | (string & {});
37
+ does_not_contain: (T extends Array<any> ? T[number] : T) | (string & {});
38
+ is_empty: true;
39
+ is_not_empty: true;
40
+ };
41
+ export type FilterOptions<T = []> = {
42
+ text: TextPropertyFilters;
43
+ title: TextPropertyFilters;
44
+ number: NumberPropertyFilters;
45
+ checkbox: CheckBoxPropertyFilters;
46
+ select: SelectPropertyFilters<T>;
47
+ multi_select: MultiSelectPropertyFilters<T>;
48
+ url: string;
49
+ };
50
+ type ColumnNameToNotionColumnType<T> = Record<keyof T, FilterOptionNames>;
51
+ export type SingleFilter<Y extends Record<string, any>, T extends ColumnNameToNotionColumnType<Y>> = {
52
+ [Property in keyof Y]?: Partial<FilterOptions<Y[Property]>[T[Property]]>;
53
+ };
54
+ export type CompoundFilters<Y extends Record<string, any>, T extends Record<keyof Y, FilterOptionNames>> = {
55
+ and: Array<SingleFilter<Y, T> | CompoundFilters<Y, T>>;
56
+ } | {
57
+ or: Array<SingleFilter<Y, T> | CompoundFilters<Y, T>>;
58
+ };
59
+ export type QueryFilter<Y extends Record<string, any>, T extends Record<keyof Y, FilterOptionNames>> = SingleFilter<Y, T> | CompoundFilters<Y, T>;
60
+ export type Query<Y extends Record<string, any>, T extends Record<keyof Y, FilterOptionNames>> = {
61
+ filter?: QueryFilter<Y, T>;
62
+ sort?: [];
63
+ };
64
+ export type apiFilterQuery = {
65
+ filter?: apiSingleFilter | apiAndFilter | apiOrFilter;
66
+ };
67
+ /**
68
+ * Transform the types above to build types to
69
+ * actually build schema for query request
70
+ */
71
+ type apiColumnTypeToOptions = {
72
+ [prop in keyof FilterOptions]?: Partial<FilterOptions[prop]>;
73
+ };
74
+ export interface apiSingleFilter extends apiColumnTypeToOptions {
75
+ property: string;
76
+ }
77
+ export type apiFilterType = apiSingleFilter | apiAndFilter | apiOrFilter | undefined;
78
+ type apiAndFilter = {
79
+ and: Array<apiFilterType>;
80
+ };
81
+ type apiOrFilter = {
82
+ or: Array<apiFilterType>;
83
+ };
84
+ export {};
85
+ //# sourceMappingURL=queryTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryTypes.d.ts","sourceRoot":"","sources":["../../src/NotionActions/queryTypes.ts"],"names":[],"mappings":"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"}
@@ -10,3 +10,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  const x = {
11
11
  character: "multi_select",
12
12
  };
13
+ //# sourceMappingURL=queryTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryTypes.js","sourceRoot":"","sources":["../../src/NotionActions/queryTypes.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,gCAAgC;;AAsEhC;;GAEG;AAEH,MAAM,CAAC,GAAG;IACT,SAAS,EAAE,cAAc;CACzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ #! /usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/build/index.js CHANGED
@@ -47,3 +47,4 @@ function main() {
47
47
  });
48
48
  }
49
49
  main();
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,4CAAoB;AACpB,+DAAmE;AACnE,gDAAwB;AACxB,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;AAE3B,SAAe,IAAI;;QAClB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;YAChD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAE9B,MAAM,iBAAiB,GAAG,YAAE,CAAC,UAAU,CACtC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CACtC,CAAC;YACF,MAAM,iBAAiB,GAAG,YAAE,CAAC,UAAU,CACtC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CACtC,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;YACjD,IAAI,iBAAiB,IAAI,iBAAiB,EAAE;gBAC3C,kDAAkD;gBAElD,MAAM,MAAM,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;gBAE5D,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,kCAAmB,EAAC,MAAM,CAAC,CAAC;gBAC5D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;iBAClC;qBAAM;oBACN,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;oBAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACzC;iBACD;aACD;iBAAM;gBACN,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAChB;SACD;IACF,CAAC;CAAA;AAED,IAAI,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haustle/notion-orm",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "tool to bring collection types to typescript",
5
5
  "main": "build/index.js",
6
6
  "bin": {
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "scripts": {
10
10
  "start": "npx tsc && node build/index.js",
11
- "build": "tsc -p .",
11
+ "build": "rm -rf build && tsc",
12
12
  "test": "echo \"Error: no test specified\" && exit 1",
13
13
  "refresh": "rm -rf ./node_modules ./package-lock.json && npm install"
14
14
  },
@@ -21,10 +21,6 @@
21
21
  "dependencies": {
22
22
  "@notionhq/client": "^2.2.2",
23
23
  "dotenv": "^16.0.3",
24
- "module-alias": "^2.2.2",
25
24
  "path": "^0.12.7"
26
- },
27
- "_moduleAliases": {
28
- "@notion-database": "build/NotionActions/DatabaseTypes"
29
25
  }
30
26
  }
@@ -112,23 +112,36 @@ export async function createTypescriptFileForDatabase(
112
112
  );
113
113
  const printer = ts.createPrinter();
114
114
 
115
- const outputFile = printer.printList(
115
+ const typescriptCodeToString = printer.printList(
116
116
  ts.ListFormat.MultiLine,
117
117
  nodes,
118
118
  sourceFile
119
119
  );
120
120
 
121
+ const transpileToJavaScript = ts.transpile(typescriptCodeToString, {
122
+ module: ts.ModuleKind.None,
123
+ target: ts.ScriptTarget.ES2015,
124
+ });
125
+
121
126
  // Create our output folder
122
127
  const outputDir = path.join(
123
128
  __dirname,
124
- "../../src",
129
+ "../../build",
125
130
  "NotionActions",
126
131
  "DatabaseTypes"
127
132
  );
128
133
  if (!fs.existsSync(outputDir)) {
129
134
  fs.mkdirSync(outputDir);
130
135
  }
131
- fs.writeFileSync(path.resolve(outputDir, `${databaseId}.ts`), outputFile);
136
+ fs.writeFileSync(
137
+ path.resolve(outputDir, `${databaseId}.ts`),
138
+ typescriptCodeToString
139
+ );
140
+
141
+ fs.writeFileSync(
142
+ path.resolve(outputDir, `${databaseId}.js`),
143
+ transpileToJavaScript
144
+ );
132
145
 
133
146
  return { databaseName, databaseClassName, databaseId };
134
147
  }
@@ -38,9 +38,15 @@ export const createDatabaseTypes = async (notionInfo: NotionConfigType) => {
38
38
  const databaseNames: string[] = [];
39
39
 
40
40
  // retrieve the database object
41
- const databaseClassImports: ts.ImportDeclaration[] = [];
41
+ const databaseClassExports: ts.ExportDeclaration[] = [];
42
42
  const databaseCamelizedNames: string[] = [];
43
-
43
+ const buildDir = path.join(
44
+ __dirname,
45
+ "../../build",
46
+ "NotionActions",
47
+ "DatabaseTypes"
48
+ );
49
+ fs.rmdir(buildDir, () => console.log("Deleting current database types..."));
44
50
  for (const database_id of databaseIds) {
45
51
  let dbOjbect: GetDatabaseResponse;
46
52
 
@@ -58,71 +64,30 @@ export const createDatabaseTypes = async (notionInfo: NotionConfigType) => {
58
64
  databaseNames.push(databaseName);
59
65
  databaseCamelizedNames.push(databaseClassName);
60
66
 
61
- databaseClassImports.push(
62
- databaseImportStatement({
67
+ databaseClassExports.push(
68
+ databaseExportStatement({
63
69
  databaseClassName,
64
70
  databaseId,
65
71
  })
66
72
  );
67
73
  }
68
74
 
69
- const nodeArr = [
70
- ...databaseClassImports,
71
- mainNotionVariable(databaseCamelizedNames),
72
- ];
75
+ const nodeArr = [...databaseClassExports];
73
76
  createNotionFile(nodeArr);
74
77
  return { databaseNames };
75
78
  };
76
79
 
77
80
  // Create the import statement for notion.ts file
78
- function databaseImportStatement(dbClass: importClassType) {
79
- return ts.factory.createImportDeclaration(
81
+ function databaseExportStatement(dbClass: importClassType) {
82
+ return ts.factory.createExportDeclaration(
83
+ undefined,
84
+ false,
80
85
  undefined,
81
- ts.factory.createImportClause(
82
- false,
83
- undefined,
84
- ts.factory.createNamedImports([
85
- ts.factory.createImportSpecifier(
86
- false,
87
- undefined,
88
- ts.factory.createIdentifier(dbClass.databaseClassName)
89
- ),
90
- ])
91
- ),
92
-
93
- // We've setup paths to allow @notion-database access
94
- ts.factory.createStringLiteral(`@notion-database/${dbClass.databaseId}`),
86
+ ts.factory.createStringLiteral(`./DatabaseTypes/${dbClass.databaseId}`),
95
87
  undefined
96
88
  );
97
89
  }
98
90
 
99
- function mainNotionVariable(databaseNames: string[]) {
100
- return ts.factory.createVariableStatement(
101
- [ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)],
102
- ts.factory.createVariableDeclarationList(
103
- [
104
- ts.factory.createVariableDeclaration(
105
- ts.factory.createIdentifier("notion"),
106
- undefined,
107
- undefined,
108
- ts.factory.createObjectLiteralExpression(
109
- [
110
- ...databaseNames.map((name) =>
111
- ts.factory.createShorthandPropertyAssignment(
112
- ts.factory.createIdentifier(name),
113
- undefined
114
- )
115
- ),
116
- ],
117
- true
118
- )
119
- ),
120
- ],
121
- ts.NodeFlags.Const
122
- )
123
- );
124
- }
125
-
126
91
  // Creates file that import all generated notion database Ids
127
92
  function createNotionFile(nodeArr: ts.Node[]) {
128
93
  const nodes = ts.factory.createNodeArray(nodeArr);
package/tsconfig.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  /* Visit https://aka.ms/tsconfig to read more about this file */
4
- "target": "es2016",
4
+ "target": "ES6",
5
5
  "lib": ["es6"],
6
6
  "module": "commonjs",
7
7
  "rootDir": "src",
@@ -12,11 +12,14 @@
12
12
  "strict": true,
13
13
  "baseUrl": "src",
14
14
  "noImplicitAny": true,
15
+ "declaration": true,
16
+ "declarationMap": true,
17
+ "sourceMap": true,
15
18
  "paths": {
16
19
  "@notion-database/*":["NotionActions/DatabaseTypes/*"]
17
20
  }
18
21
  },
19
- "include": ["src/**/*", "src/NotionActions/DatabaseTypes"]
22
+ "include": ["src"]
20
23
  }
21
24
 
22
25