@haustle/notion-orm 0.0.37 → 0.0.41

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 (39) hide show
  1. package/README.md +126 -0
  2. package/build/src/BuildCall.d.ts +15 -2
  3. package/build/src/BuildCall.d.ts.map +1 -1
  4. package/build/src/BuildCall.js +35 -2
  5. package/build/src/BuildCall.js.map +1 -1
  6. package/build/src/DatabaseActions.d.ts +3 -4
  7. package/build/src/DatabaseActions.d.ts.map +1 -1
  8. package/build/src/DatabaseActions.js +7 -2
  9. package/build/src/DatabaseActions.js.map +1 -1
  10. package/build/src/GenerateTypes.d.ts +0 -3
  11. package/build/src/GenerateTypes.d.ts.map +1 -1
  12. package/build/src/GenerateTypes.js +49 -58
  13. package/build/src/GenerateTypes.js.map +1 -1
  14. package/build/src/cli.js +2 -4
  15. package/build/src/cli.js.map +1 -1
  16. package/build/src/index.d.ts +12 -0
  17. package/build/src/index.d.ts.map +1 -0
  18. package/build/src/{NotionConfig.js → index.js} +21 -15
  19. package/build/src/index.js.map +1 -0
  20. package/build/src/queryTypes.d.ts +22 -11
  21. package/build/src/queryTypes.d.ts.map +1 -1
  22. package/build/src/queryTypes.js +0 -6
  23. package/build/src/queryTypes.js.map +1 -1
  24. package/package.json +3 -5
  25. package/build/databases/5f4bf76a-1e3f-48d6-84d2-506ea2690d64.js +0 -28
  26. package/build/databases/5f4bf76a-1e3f-48d6-84d2-506ea2690d64.ts +0 -34
  27. package/build/databases/a52239e4-839d-4a3a-8f48-75376cfbfb02.js +0 -24
  28. package/build/databases/a52239e4-839d-4a3a-8f48-75376cfbfb02.ts +0 -30
  29. package/build/databases/notion.js +0 -2
  30. package/build/databases/notion.ts +0 -2
  31. package/build/src/NotionConfig.d.ts +0 -9
  32. package/build/src/NotionConfig.d.ts.map +0 -1
  33. package/build/src/NotionConfig.js.map +0 -1
  34. package/src/BuildCall.ts +0 -85
  35. package/src/DatabaseActions.ts +0 -134
  36. package/src/GenerateTypes.ts +0 -424
  37. package/src/NotionConfig.ts +0 -132
  38. package/src/cli.ts +0 -43
  39. package/src/queryTypes.ts +0 -160
package/README.md ADDED
@@ -0,0 +1,126 @@
1
+ # Notion ORM
2
+
3
+ <aside>
4
+ 👉 This package is currently still in development.
5
+
6
+ </aside>
7
+
8
+ # Description
9
+
10
+ A library to simplify interacting with [Notion](https://notion.so/product) databases/tables via Notion API
11
+
12
+ ## Disclaimer
13
+
14
+ This library currently only supports databases that use the following column types
15
+
16
+ - Multiselect
17
+ - Text
18
+ - Select
19
+ - Url
20
+ - Checkbox
21
+
22
+ # Install and Setup
23
+
24
+ ```bash
25
+ npm install @haustle/notion-orm
26
+ ```
27
+
28
+ The only requirement is a Notion Developer API Key ([here](https://developers.notion.com/)) and database IDs you want
29
+
30
+ 1. At the root of your project create pass your developer key and database IDs ([help](https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping)).
31
+ ```
32
+ Copy database/table URL
33
+ https://www.notion.so/haustle/<This-is-the-database-id>?v=123
34
+ ```
35
+ ```jsx
36
+ // notion.config.js
37
+
38
+ const NotionConfig = {
39
+ auth: process.env.NOTION_KEY,
40
+ databaseIds: [
41
+ "a52239e4839d4a3a8f4875376cfbfb02",
42
+ "5f4bf76a1e3f48d684d2506ea2690d64"
43
+ ],
44
+ };
45
+
46
+ module.exports = NotionConfig;
47
+ ```
48
+ - Be sure to connect your integration with your tables
49
+
50
+ 2. Generate Types
51
+
52
+ ```bash
53
+ npx notion generate
54
+ ```
55
+
56
+ 3. Import databases in your TypeScript file
57
+
58
+ ```tsx
59
+ // Barrel import, giving you access to all your databases
60
+ import * as notion from "@haustle/notion-orm"
61
+
62
+ // Import specific database
63
+ import { databaseName } from "@haustle/notion-orm"
64
+ ```
65
+
66
+
67
+ # Actions
68
+
69
+ ## Add a page
70
+
71
+ Page title is required when adding
72
+
73
+ ```tsx
74
+ notion.books.add({
75
+ name: "Catcher in the Rye",
76
+ rating: "⭐️⭐️⭐️⭐️⭐️"
77
+ })
78
+ ```
79
+
80
+ ## Query Database
81
+
82
+ ### Single Filter
83
+
84
+ ```tsx
85
+ notion.books.query({
86
+ filter: {
87
+ genre: {
88
+ contains: "Sci-Fi"
89
+ }
90
+ }
91
+ })
92
+ ```
93
+
94
+ ### Nested Filters
95
+
96
+ ```tsx
97
+ await notion.books.query({
98
+ filter: {
99
+ or: [
100
+ {
101
+ genre: {
102
+ contains: "Sci-Fi",
103
+ },
104
+ },
105
+ {
106
+ genre: {
107
+ contains: "Biography",
108
+ },
109
+ },
110
+ ],
111
+ },
112
+ });
113
+ ```
114
+
115
+ ## What is Object Relational Map (ORM)
116
+
117
+ > …[programming](https://en.wikipedia.org/wiki/Computer_programming) technique for converting data between [type systems](https://en.wikipedia.org/wiki/Type_system) using [object-oriented](https://en.wikipedia.org/wiki/Object-oriented)  programming languages. This creates, in effect, a "virtual [object database](https://en.wikipedia.org/wiki/Object_database)" that can be used from within the programming language.
118
+ >
119
+
120
+ [Wikipedia](https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping)
121
+
122
+ # Story
123
+
124
+ While taking a databases class I got exposed to Prisma and thought the developer experience was magical. Around the same time the Notion Developer API was rolling out and I thought the idea of bringing creating a ORM to Notion databases would be a fun cool idea, but I was terrible at TypeScript.
125
+
126
+ This project was started as a way to strengthen my TypeScript knowledge. I’ve succeeded in some regard, but there are still a few `@ts-ignore` in the project.
@@ -1,6 +1,6 @@
1
- import { PropertyType } from "./GenerateTypes";
1
+ import { SupportedNotionColumnTypes } from "./queryTypes";
2
2
  export declare function getCall(args: {
3
- type: PropertyType;
3
+ type: SupportedNotionColumnTypes;
4
4
  value: string | number | boolean;
5
5
  }): {
6
6
  select: {
@@ -10,8 +10,21 @@ export declare function getCall(args: {
10
10
  multi_select: {
11
11
  name: string;
12
12
  }[];
13
+ } | {
14
+ status: {
15
+ name: string;
16
+ };
13
17
  } | {
14
18
  number: number;
19
+ } | {
20
+ email: string;
21
+ } | {
22
+ date: {
23
+ start: string;
24
+ end?: string | undefined;
25
+ };
26
+ } | {
27
+ phone_number: string;
15
28
  } | {
16
29
  url: string;
17
30
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"BuildCall.d.ts","sourceRoot":"","sources":["../../src/BuildCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACjC;;;;;;;;;;;;;;;;;;;;;;;;;;cAkBA"}
1
+ {"version":3,"file":"BuildCall.d.ts","sourceRoot":"","sources":["../../src/BuildCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAC7B,IAAI,EAAE,0BAA0B,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6BA"}
@@ -3,16 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCall = void 0;
4
4
  function getCall(args) {
5
5
  const { type, value } = args;
6
- console.log(type, value, typeof value);
7
6
  if (type === "select" && typeof value === "string") {
8
7
  return selectCall({ value });
9
8
  }
10
9
  else if (type === "multi_select" && Array.isArray(value)) {
11
10
  return multiSelectCall({ value });
12
11
  }
12
+ else if (type === "status" && typeof value === "string") {
13
+ return statusCall({ option: value });
14
+ }
13
15
  else if (type === "number" && typeof value === "number") {
14
16
  return numberCall({ value });
15
17
  }
18
+ else if (type === "email" && typeof value === "string") {
19
+ return emailCall({ value });
20
+ }
21
+ else if (type === "date" && typeof value === "object") {
22
+ return dateCall({ value });
23
+ }
24
+ else if (type === "phone_number" && typeof value === "string") {
25
+ return phoneNumberCall({ value });
26
+ }
16
27
  else if (type === "url" && typeof value === "string") {
17
28
  return urlCall({ url: value });
18
29
  }
@@ -22,9 +33,12 @@ function getCall(args) {
22
33
  else if (type === "title" && typeof value === "string") {
23
34
  return titleCall({ title: value });
24
35
  }
25
- else if (type === "text" && typeof value === "string") {
36
+ else if (type === "rich_text" && typeof value === "string") {
26
37
  return textCall({ text: value });
27
38
  }
39
+ else {
40
+ console.error(`'[@haustle/notion-orm] ${type}' column type currently not supported`);
41
+ }
28
42
  }
29
43
  exports.getCall = getCall;
30
44
  /*
@@ -39,6 +53,21 @@ const selectCall = (args) => {
39
53
  };
40
54
  return { select };
41
55
  };
56
+ const dateCall = (args) => {
57
+ const { value } = args;
58
+ return { date: value };
59
+ };
60
+ const phoneNumberCall = (args) => {
61
+ const { value } = args;
62
+ return { phone_number: value };
63
+ };
64
+ const statusCall = (args) => {
65
+ const { option } = args;
66
+ const status = {
67
+ name: option,
68
+ };
69
+ return { status };
70
+ };
42
71
  const multiSelectCall = (args) => {
43
72
  const { value } = args;
44
73
  const multi_select = value.map((option) => ({ name: option }));
@@ -78,4 +107,8 @@ const checkboxCall = (args) => {
78
107
  const { checked: checkbox } = args;
79
108
  return { checkbox };
80
109
  };
110
+ const emailCall = (args) => {
111
+ const { value } = args;
112
+ return { email: value };
113
+ };
81
114
  //# sourceMappingURL=BuildCall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuildCall.js","sourceRoot":"","sources":["../../src/BuildCall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BuildCall.js","sourceRoot":"","sources":["../../src/BuildCall.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { PropertyType } from "./GenerateTypes";
2
- import { FilterOptionNames, Query } from "./queryTypes";
1
+ import { Query, SupportedNotionColumnTypes } from "./queryTypes";
3
2
  export type propNameToColumnNameType = Record<string, {
4
3
  columnName: string;
5
- type: PropertyType;
4
+ type: SupportedNotionColumnTypes;
6
5
  }>;
7
- export declare class DatabaseActions<DatabaseSchemaType extends Record<string, any>, ColumnNameToColumnType extends Record<keyof DatabaseSchemaType, FilterOptionNames>> {
6
+ export declare class DatabaseActions<DatabaseSchemaType extends Record<string, any>, ColumnNameToColumnType extends Record<keyof DatabaseSchemaType, SupportedNotionColumnTypes>> {
8
7
  private NotionClient;
9
8
  private databaseId;
10
9
  private propNameToColumnName;
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseActions.d.ts","sourceRoot":"","sources":["../../src/DatabaseActions.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,eAAe,CAC3B,kBAAkB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9C,sBAAsB,SAAS,MAAM,CACpC,MAAM,kBAAkB,EACxB,iBAAiB,CACjB;IAED,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,kBAAkB;IAwBlC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IAqBpE,OAAO,CAAC,sBAAsB;CAyC9B"}
1
+ {"version":3,"file":"DatabaseActions.d.ts","sourceRoot":"","sources":["../../src/DatabaseActions.ts"],"names":[],"mappings":"AAQA,OAAO,EAIN,KAAK,EAGL,0BAA0B,EAC1B,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC5C,MAAM,EACN;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,0BAA0B,CAAA;CAAE,CACxD,CAAC;AAQF,qBAAa,eAAe,CAC3B,kBAAkB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9C,sBAAsB,SAAS,MAAM,CACpC,MAAM,kBAAkB,EACxB,0BAA0B,CAC1B;IAED,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,kBAAkB;IAwBlC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IAqBpE,OAAO,CAAC,sBAAsB;CAyC9B"}
@@ -8,15 +8,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.DatabaseActions = void 0;
13
16
  const client_1 = require("@notionhq/client");
14
17
  const BuildCall_1 = require("./BuildCall");
15
- require("dotenv").config();
18
+ const path_1 = __importDefault(require("path"));
19
+ // Import auth key from config file
20
+ const { auth } = require(path_1.default.join(process.cwd(), "notion.config"));
16
21
  class DatabaseActions {
17
22
  constructor(datbaseId, propNameToColumnName) {
18
23
  this.NotionClient = new client_1.Client({
19
- auth: process.env.NOTION_KEY,
24
+ auth,
20
25
  });
21
26
  this.databaseId = datbaseId;
22
27
  this.propNameToColumnName = propNameToColumnName;
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseActions.js","sourceRoot":"","sources":["../../src/DatabaseActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatabaseActions.js","sourceRoot":"","sources":["../../src/DatabaseActions.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
1
  import { GetDatabaseResponse } from "@notionhq/client/build/src/api-endpoints";
2
- declare const propertyArr: string[];
3
- export type PropertyType = typeof propertyArr[number];
4
2
  export declare function createTypescriptFileForDatabase(dbResponse: GetDatabaseResponse): Promise<{
5
3
  databaseName: string;
6
4
  databaseClassName: string;
7
5
  databaseId: string;
8
6
  }>;
9
- export {};
10
7
  //# sourceMappingURL=GenerateTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateTypes.d.ts","sourceRoot":"","sources":["../../src/GenerateTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,mBAAmB,EACnB,MAAM,0CAA0C,CAAC;AAOlD,QAAA,MAAM,WAAW,UAQhB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAUtD,wBAAsB,+BAA+B,CACpD,UAAU,EAAE,mBAAmB;;;;GA8G/B"}
1
+ {"version":3,"file":"GenerateTypes.d.ts","sourceRoot":"","sources":["../../src/GenerateTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,mBAAmB,EACnB,MAAM,0CAA0C,CAAC;AAelD,wBAAsB,+BAA+B,CACpD,UAAU,EAAE,mBAAmB;;;;GAwH/B"}
@@ -39,17 +39,7 @@ exports.createTypescriptFileForDatabase = void 0;
39
39
  const ts = __importStar(require("typescript"));
40
40
  const fs_1 = __importDefault(require("fs"));
41
41
  const path_1 = __importDefault(require("path"));
42
- const NotionConfig_1 = require("./NotionConfig");
43
- // This can be grabbed from // api-endpoints.d.ts with some work
44
- const propertyArr = [
45
- "text",
46
- "select",
47
- "title",
48
- "number",
49
- "multi_select",
50
- "checkbox",
51
- "url",
52
- ];
42
+ const index_1 = require("./index");
53
43
  /*
54
44
  Responsible for generating `.ts` files
55
45
  */
@@ -70,9 +60,15 @@ function createTypescriptFileForDatabase(dbResponse) {
70
60
  columnName,
71
61
  type: columnType,
72
62
  };
73
- if (columnType === "title" || columnType === "rich_text") {
63
+ if (columnType === "title" ||
64
+ columnType === "rich_text" ||
65
+ columnType === "email" ||
66
+ columnType === "phone_number") {
74
67
  // add text column to collection type
75
- databaseColumnTypeProps.push(createTextProperty(camelizedColumnName, columnType === "title"));
68
+ databaseColumnTypeProps.push(createTextProperty({
69
+ name: camelizedColumnName,
70
+ isTitle: columnType === "title",
71
+ }));
76
72
  }
77
73
  else if (columnType === "number") {
78
74
  // add number column to collection type
@@ -80,51 +76,56 @@ function createTypescriptFileForDatabase(dbResponse) {
80
76
  }
81
77
  else if (columnType === "url") {
82
78
  // add url column to collection type
83
- databaseColumnTypeProps.push(createTextProperty(camelizedColumnName, false));
79
+ databaseColumnTypeProps.push(createTextProperty({ name: camelizedColumnName, isTitle: false }));
84
80
  }
85
81
  else if (columnType === "date") {
86
82
  // add Date column to collection type
87
83
  databaseColumnTypeProps.push(createDateProperty(camelizedColumnName));
88
84
  }
89
- else if (columnType == "select" || columnType == "multi_select") {
85
+ else if (columnType === "select" ||
86
+ columnType === "status" ||
87
+ columnType === "multi_select") {
90
88
  // @ts-ignore
91
89
  const options = value[columnType].options.map((x) => x.name);
92
- databaseColumnTypeProps.push(createMultiOptionProp(camelizedColumnName, options,
93
- // This determines whether the property needs to be a union or a union array
94
- columnType === "multi_select"));
90
+ databaseColumnTypeProps.push(createMultiOptionProp({
91
+ name: camelizedColumnName,
92
+ options,
93
+ isArray: columnType === "multi_select", // Union or Union Array
94
+ }));
95
95
  }
96
96
  });
97
97
  // Object type that represents the database schema
98
98
  const DatabaseSchemaType = ts.factory.createTypeAliasDeclaration(undefined, ts.factory.createIdentifier("DatabaseSchemaType"), undefined, ts.factory.createTypeLiteralNode(databaseColumnTypeProps));
99
99
  // Top level non-nested variable, functions, types for database files
100
100
  const TsNodesForDatabaseFile = ts.factory.createNodeArray([
101
- importCollectionClass(),
101
+ createDatabaseActionsClassImport(),
102
102
  createDatabaseIdVariable(databaseId),
103
103
  DatabaseSchemaType,
104
- mapPropNameToColumnDetails(propNameToColumnName),
105
- ColumnNameToColumnType(),
106
- exportDatabaseActions(databaseClassName),
104
+ createColumnNameToColumnProperties(propNameToColumnName),
105
+ createColumnNameToColumnType(),
106
+ createDatabaseClassExport({ databaseName: databaseClassName }),
107
107
  ]);
108
108
  const sourceFile = ts.createSourceFile("", "", ts.ScriptTarget.ESNext, true, ts.ScriptKind.TS);
109
109
  const printer = ts.createPrinter();
110
110
  const typescriptCodeToString = printer.printList(ts.ListFormat.MultiLine, TsNodesForDatabaseFile, sourceFile);
111
111
  const transpileToJavaScript = ts.transpile(typescriptCodeToString, {
112
112
  module: ts.ModuleKind.None,
113
- target: ts.ScriptTarget.ES2016,
113
+ target: ts.ScriptTarget.ESNext,
114
114
  });
115
- // Create our output folder
116
- if (!fs_1.default.existsSync(NotionConfig_1.DATABASES_DIR)) {
117
- fs_1.default.mkdirSync(NotionConfig_1.DATABASES_DIR);
115
+ // Create databases output folder
116
+ if (!fs_1.default.existsSync(index_1.DATABASES_DIR)) {
117
+ fs_1.default.mkdirSync(index_1.DATABASES_DIR);
118
118
  }
119
119
  // Create TypeScript and JavaScript files
120
- fs_1.default.writeFileSync(path_1.default.resolve(NotionConfig_1.DATABASES_DIR, `${databaseId}.ts`), typescriptCodeToString);
121
- fs_1.default.writeFileSync(path_1.default.resolve(NotionConfig_1.DATABASES_DIR, `${databaseId}.js`), transpileToJavaScript);
120
+ fs_1.default.writeFileSync(path_1.default.resolve(index_1.DATABASES_DIR, `${databaseClassName}.ts`), typescriptCodeToString);
121
+ fs_1.default.writeFileSync(path_1.default.resolve(index_1.DATABASES_DIR, `${databaseClassName}.js`), transpileToJavaScript);
122
122
  return { databaseName, databaseClassName, databaseId };
123
123
  });
124
124
  }
125
125
  exports.createTypescriptFileForDatabase = createTypescriptFileForDatabase;
126
126
  // generate text property
127
- function createTextProperty(name, isTitle) {
127
+ function createTextProperty(args) {
128
+ const { name, isTitle } = args;
128
129
  const text = ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier(name), !isTitle ? ts.factory.createToken(ts.SyntaxKind.QuestionToken) : undefined, ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword));
129
130
  return text;
130
131
  }
@@ -137,20 +138,12 @@ function createNumberProperty(name) {
137
138
  return number;
138
139
  }
139
140
  /**
140
- *
141
- * @param name name of property
142
- * @param options
143
- * @param array
144
- * @returns
145
- *
146
141
  * For selects and multi-select collection properties
147
- *
148
142
  * array = true for multi-select
149
- *
150
- * name = ("x" | "y" | "z")[]
151
143
  */
152
- function createMultiOptionProp(name, options, array) {
153
- return ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier(name), ts.factory.createToken(ts.SyntaxKind.QuestionToken), array
144
+ function createMultiOptionProp(args) {
145
+ const { isArray, name, options } = args;
146
+ return ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier(name), ts.factory.createToken(ts.SyntaxKind.QuestionToken), isArray
154
147
  ? ts.factory.createArrayTypeNode(ts.factory.createParenthesizedType(ts.factory.createUnionTypeNode([
155
148
  ...options.map((option) => ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(option))),
156
149
  createOtherStringProp(),
@@ -168,7 +161,10 @@ function createOtherStringProp() {
168
161
  ]);
169
162
  }
170
163
  function createDateProperty(name) {
171
- return ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier(name), ts.factory.createToken(ts.SyntaxKind.QuestionToken), ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("Date"), undefined));
164
+ return ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier(name), ts.factory.createToken(ts.SyntaxKind.QuestionToken), ts.factory.createTypeLiteralNode([
165
+ ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier("start"), undefined, ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword)),
166
+ ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier("end"), ts.factory.createToken(ts.SyntaxKind.QuestionToken), ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword)),
167
+ ]));
172
168
  }
173
169
  // Generate database Id variable
174
170
  // const databaseId = <database-id>
@@ -184,7 +180,7 @@ function createDatabaseIdVariable(databaseId) {
184
180
  *
185
181
  * Example
186
182
  *
187
- * const propMap = {
183
+ * const columnNameToColumnProperties = {
188
184
  *
189
185
  * "bookRating": {
190
186
  * columnName: "Book Rating",
@@ -196,12 +192,10 @@ function createDatabaseIdVariable(databaseId) {
196
192
  * }
197
193
  *
198
194
  * }
199
- * @param colMap
200
- * @returns
201
195
  */
202
- function mapPropNameToColumnDetails(colMap) {
196
+ function createColumnNameToColumnProperties(colMap) {
203
197
  return ts.factory.createVariableDeclarationList([
204
- ts.factory.createVariableDeclaration(ts.factory.createIdentifier("propMap"), undefined, undefined, ts.factory.createAsExpression(ts.factory.createObjectLiteralExpression([
198
+ ts.factory.createVariableDeclaration(ts.factory.createIdentifier("columnNameToColumnProperties"), undefined, undefined, ts.factory.createAsExpression(ts.factory.createObjectLiteralExpression([
205
199
  ...Object.entries(colMap).map(([propName, value]) => ts.factory.createPropertyAssignment(ts.factory.createStringLiteral(propName), ts.factory.createObjectLiteralExpression([
206
200
  ts.factory.createPropertyAssignment(ts.factory.createIdentifier("columnName"), ts.factory.createStringLiteral(value.columnName)),
207
201
  ts.factory.createPropertyAssignment(ts.factory.createIdentifier("type"), ts.factory.createStringLiteral(value.type)),
@@ -209,33 +203,30 @@ function mapPropNameToColumnDetails(colMap) {
209
203
  ], true), ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("const"), undefined))),
210
204
  ], ts.NodeFlags.Const);
211
205
  }
212
- function ColumnNameToColumnType() {
213
- return ts.factory.createTypeAliasDeclaration(undefined, ts.factory.createIdentifier("ColumnNameToColumnType"), undefined, ts.factory.createMappedTypeNode(undefined, ts.factory.createTypeParameterDeclaration(undefined, ts.factory.createIdentifier("Property"), ts.factory.createTypeOperatorNode(ts.SyntaxKind.KeyOfKeyword, ts.factory.createTypeQueryNode(ts.factory.createIdentifier("propMap"), undefined)), undefined), undefined, undefined, ts.factory.createIndexedAccessTypeNode(ts.factory.createIndexedAccessTypeNode(ts.factory.createTypeQueryNode(ts.factory.createIdentifier("propMap"), undefined), ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("Property"), undefined)), ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral("type"))), undefined
206
+ function createColumnNameToColumnType() {
207
+ return ts.factory.createTypeAliasDeclaration(undefined, ts.factory.createIdentifier("ColumnNameToColumnType"), undefined, ts.factory.createMappedTypeNode(undefined, ts.factory.createTypeParameterDeclaration(undefined, ts.factory.createIdentifier("Property"), ts.factory.createTypeOperatorNode(ts.SyntaxKind.KeyOfKeyword, ts.factory.createTypeQueryNode(ts.factory.createIdentifier("columnNameToColumnProperties"), undefined)), undefined), undefined, undefined, ts.factory.createIndexedAccessTypeNode(ts.factory.createIndexedAccessTypeNode(ts.factory.createTypeQueryNode(ts.factory.createIdentifier("columnNameToColumnProperties"), undefined), ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("Property"), undefined)), ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral("type"))), undefined
214
208
  /* unknown */
215
209
  ));
216
210
  }
217
- // Need to import the class responsible for adding and querying the database
218
- function importCollectionClass() {
211
+ // Need to import the database class used to execute database actions (adding + querying)
212
+ function createDatabaseActionsClassImport() {
219
213
  return ts.factory.createImportDeclaration(undefined, ts.factory.createImportClause(false, undefined, ts.factory.createNamedImports([
220
214
  ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier("DatabaseActions")),
221
215
  ])), ts.factory.createStringLiteral("../src/DatabaseActions"), undefined);
222
216
  }
223
- // We export the database with the class above.
224
- // export
225
217
  /**
226
- * We export the database with
227
- * @param databaseName
228
- *
229
- * const <datbase-name> = new DatabaseActions<DatabaseSchemaType>(datbaseId, propMap)
218
+ * Create export statement for the database class
219
+ * export const <databaseName> = new DatabaseActions<DatabaseSchemaType>(datbaseId, columnNameToColumnProperties)
230
220
  */
231
- function exportDatabaseActions(databaseName) {
221
+ function createDatabaseClassExport(args) {
222
+ const { databaseName } = args;
232
223
  return ts.factory.createVariableStatement([ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createVariableDeclarationList([
233
224
  ts.factory.createVariableDeclaration(ts.factory.createIdentifier(databaseName), undefined, undefined, ts.factory.createNewExpression(ts.factory.createIdentifier("DatabaseActions"), [
234
225
  ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("DatabaseSchemaType"), undefined),
235
226
  ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("ColumnNameToColumnType"), undefined),
236
227
  ], [
237
228
  ts.factory.createIdentifier("databaseId"),
238
- ts.factory.createIdentifier("propMap"),
229
+ ts.factory.createIdentifier("columnNameToColumnProperties"),
239
230
  ])),
240
231
  ], ts.NodeFlags.Const));
241
232
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateTypes.js","sourceRoot":"","sources":["../../src/GenerateTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenerateTypes.js","sourceRoot":"","sources":["../../src/GenerateTypes.ts"],"names":[],"mappings":"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"}
package/build/src/cli.js CHANGED
@@ -14,9 +14,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  const fs_1 = __importDefault(require("fs"));
17
- const NotionConfig_1 = require("./NotionConfig");
17
+ const index_1 = require("./index");
18
18
  const path_1 = __importDefault(require("path"));
19
- require("dotenv").config();
20
19
  function main() {
21
20
  return __awaiter(this, void 0, void 0, function* () {
22
21
  const args = process.argv.slice(2);
@@ -26,9 +25,8 @@ function main() {
26
25
  const notionConfigDirTS = fs_1.default.existsSync(path_1.default.join(projDir, "notion.config.ts"));
27
26
  console.log(path_1.default.join(projDir, "notion.config"));
28
27
  if (notionConfigDirJS || notionConfigDirTS) {
29
- // this is a relative import, so we can escape out
30
28
  const config = require(path_1.default.join(projDir, "notion.config"));
31
- const { databaseNames } = yield (0, NotionConfig_1.createDatabaseTypes)(config);
29
+ const { databaseNames } = yield (0, index_1.createDatabaseTypes)(config);
32
30
  if (databaseNames.length < 0) {
33
31
  console.log("generated no types");
34
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,4CAAoB;AACpB,iDAAqD;AACrD,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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,4CAAoB;AACpB,mCAA8C;AAC9C,gDAAwB;AAExB,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,MAAM,MAAM,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;gBAE5D,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,2BAAmB,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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Responsible for consuming notion.config.js
3
+ */
4
+ export declare const DATABASES_DIR: string;
5
+ export type NotionConfigType = {
6
+ auth: string;
7
+ databaseIds: string[];
8
+ };
9
+ export declare const createDatabaseTypes: (args: NotionConfigType) => Promise<{
10
+ databaseNames: string[];
11
+ }>;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,eAAO,MAAM,aAAa,QAAmD,CAAC;AAE9E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,SAAgB,gBAAgB;;EAyD/D,CAAC"}