@nx-ddd/notion 5.8.0 → 5.9.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.
@@ -10,27 +10,27 @@ class Entity {
10
10
  }
11
11
  }
12
12
  tslib_1.__decorate([
13
- (0, decorators_1.Title)({ name: 'タイトル' }),
13
+ (0, decorators_1.Title)('タイトル'),
14
14
  tslib_1.__metadata("design:type", String)
15
15
  ], Entity.prototype, "title", void 0);
16
16
  tslib_1.__decorate([
17
- (0, decorators_1.Status)({ name: 'ステータス' }),
17
+ (0, decorators_1.Status)('ステータス'),
18
18
  tslib_1.__metadata("design:type", String)
19
19
  ], Entity.prototype, "status", void 0);
20
20
  tslib_1.__decorate([
21
- (0, decorators_1.Relation)({ name: '一次選考' }),
21
+ (0, decorators_1.Relation)('一次選考'),
22
22
  tslib_1.__metadata("design:type", Array)
23
23
  ], Entity.prototype, "firstSelectionIds", void 0);
24
24
  tslib_1.__decorate([
25
- (0, decorators_1.Formula)({ name: '一次選考開始文(Discord)' }),
25
+ (0, decorators_1.Formula)('一次選考開始文(Discord)'),
26
26
  tslib_1.__metadata("design:type", String)
27
27
  ], Entity.prototype, "discordFirstSelectionMessage", void 0);
28
28
  tslib_1.__decorate([
29
- (0, decorators_1.Formula)({ name: '二次選考開始文(Discord)' }),
29
+ (0, decorators_1.Formula)('二次選考開始文(Discord)'),
30
30
  tslib_1.__metadata("design:type", String)
31
31
  ], Entity.prototype, "discordSecondSelectionMessage", void 0);
32
32
  tslib_1.__decorate([
33
- (0, decorators_1.RichText)({ name: 'discordChannelId' }),
33
+ (0, decorators_1.RichText)('discordChannelId'),
34
34
  tslib_1.__metadata("design:type", String)
35
35
  ], Entity.prototype, "discordChannelId", void 0);
36
36
  exports.Entity = Entity;
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/notion/src/lib/_testing/entity.ts"],"names":[],"mappings":";;;;AAAA,4CAA+C;AAC/C,8CAA2E;AAE3E,MAAa,MAAM;IAmBjB,MAAM,CAAC,IAAI,CAAC,GAAoB;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,oBAAM,GAAG,EAAE,CAAC;IAC/C,CAAC;CACF;AArBC;IAAC,IAAA,kBAAK,EAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;;qCACR;AAEd;IAAC,IAAA,mBAAM,EAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;;sCACT;AAEf;IAAC,IAAA,qBAAQ,EAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;;iDACG;AAE5B;IAAC,IAAA,oBAAO,EAAC,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC;;4DACC;AAErC;IAAC,IAAA,oBAAO,EAAC,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC;;6DACE;AAEtC;IAAC,IAAA,qBAAQ,EAAC,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC;;gDACZ;AAjB3B,wBAsBC;AAED,MAAa,eAAgB,SAAQ,2BAAuB;IAA5D;;QACY,WAAM,GAAG,MAAM,CAAC;IAC5B,CAAC;CAAA;AAFD,0CAEC"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/notion/src/lib/_testing/entity.ts"],"names":[],"mappings":";;;;AAAA,4CAA+C;AAC/C,8CAA2E;AAE3E,MAAa,MAAM;IAmBjB,MAAM,CAAC,IAAI,CAAC,GAAoB;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,oBAAM,GAAG,EAAE,CAAC;IAC/C,CAAC;CACF;AArBC;IAAC,IAAA,kBAAK,EAAC,MAAM,CAAC;;qCACA;AAEd;IAAC,IAAA,mBAAM,EAAC,OAAO,CAAC;;sCACD;AAEf;IAAC,IAAA,qBAAQ,EAAC,MAAM,CAAC;;iDACW;AAE5B;IAAC,IAAA,oBAAO,EAAC,kBAAkB,CAAC;;4DACS;AAErC;IAAC,IAAA,oBAAO,EAAC,kBAAkB,CAAC;;6DACU;AAEtC;IAAC,IAAA,qBAAQ,EAAC,kBAAkB,CAAC;;gDACJ;AAjB3B,wBAsBC;AAED,MAAa,eAAgB,SAAQ,2BAAuB;IAA5D;;QACY,WAAM,GAAG,MAAM,CAAC;IAC5B,CAAC;CAAA;AAFD,0CAEC"}
@@ -8,15 +8,17 @@ const lodash_1 = require("lodash");
8
8
  class NotionConverter extends converter_1.Converter {
9
9
  fromRecord(page) {
10
10
  const annotations = this.Entity[decorators_1.NOTION_ANNOTATIONS];
11
- const obj = annotations.reduce((obj, { type, fieldName, propName }) => {
12
- const value = page['properties'][fieldName] ? utils_1.NotionUtils.fromNotionValue(page['properties'][fieldName]) : undefined;
13
- return Object.assign(Object.assign({}, obj), { [propName]: value });
11
+ const obj = annotations.reduce((obj, annotation) => {
12
+ const value = page['properties'][annotation.fieldName]
13
+ ? utils_1.NotionUtils.fromNotionValue(page['properties'][annotation.fieldName], annotation)
14
+ : undefined;
15
+ return Object.assign(Object.assign({}, obj), { [annotation.propName]: value });
14
16
  }, { id: page.id });
15
17
  return this.Entity.from(obj);
16
18
  }
17
19
  toRecord(entity) {
18
20
  const annotations = this.Entity[decorators_1.NOTION_ANNOTATIONS];
19
- const data = annotations.reduce((obj, { type, fieldName, propName }) => (Object.assign(Object.assign({}, obj), { [fieldName]: utils_1.NotionUtils.toNotionValue(entity[propName], type) })), {});
21
+ const data = annotations.reduce((obj, annotation) => (Object.assign(Object.assign({}, obj), { [annotation.fieldName]: utils_1.NotionUtils.toNotionValue(entity[annotation.propName], annotation) })), {});
20
22
  return (0, lodash_1.omitBy)(data, (value) => typeof value === 'undefined');
21
23
  }
22
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/notion/src/lib/converter/converter.ts"],"names":[],"mappings":";;;AACA,uEAAoE;AACpE,oCAAuC;AACvC,8CAAqE;AACrE,mCAAgC;AAEhC,MAAsB,eAAmB,SAAQ,qBAAY;IAG3D,UAAU,CAAC,IAAoD;QAC7D,MAAM,WAAW,GAAuB,IAAI,CAAC,MAAM,CAAC,+BAAkB,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAC,EAAE,EAAE;YAClE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAW,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrH,uCAAW,GAAG,KAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAE;QACrC,CAAC,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC;QAClB,OAAQ,IAAI,CAAC,MAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,MAAkB;QACzB,MAAM,WAAW,GAAuB,IAAI,CAAC,MAAM,CAAC,+BAAkB,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAC,EAAE,EAAE,CAAC,iCACjE,GAAG,KAAE,CAAC,SAAS,CAAC,EAAE,mBAAW,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IACtE,EAAE,EAAE,CAAC,CAAC;QACR,OAAO,IAAA,eAAM,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC;IAC/D,CAAC;CACF;AAnBD,0CAmBC;AAED,SAAgB,eAAe,CAAU,MAAW;IAClD,MAAM,SAAU,SAAQ,eAAkB;QAA1C;;YACY,WAAM,GAAG,MAAM,CAAC;QAC5B,CAAC;KAAA;IAED,OAAO,IAAI,SAAS,EAAE,CAAC;AACzB,CAAC;AAND,0CAMC"}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/notion/src/lib/converter/converter.ts"],"names":[],"mappings":";;;AACA,uEAAoE;AACpE,oCAAuC;AACvC,8CAAqE;AACrE,mCAAgC;AAEhC,MAAsB,eAAmB,SAAQ,qBAAY;IAG3D,UAAU,CAAC,IAAoD;QAC7D,MAAM,WAAW,GAAuB,IAAI,CAAC,MAAM,CAAC,+BAAkB,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;gBACpD,CAAC,CAAC,mBAAW,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;gBACnF,CAAC,CAAC,SAAS,CAAC;YACd,uCAAW,GAAG,KAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAE;QAChD,CAAC,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC;QAClB,OAAQ,IAAI,CAAC,MAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,MAAkB;QACzB,MAAM,WAAW,GAAuB,IAAI,CAAC,MAAM,CAAC,+BAAkB,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,iCAChD,GAAG,KAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,mBAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,IAClG,EAAE,EAAE,CAAC,CAAC;QACR,OAAO,IAAA,eAAM,EAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC;IAC/D,CAAC;CACF;AArBD,0CAqBC;AAED,SAAgB,eAAe,CAAU,MAAW;IAClD,MAAM,SAAU,SAAQ,eAAkB;QAA1C;;YACY,WAAM,GAAG,MAAM,CAAC;QAC5B,CAAC;KAAA;IAED,OAAO,IAAI,SAAS,EAAE,CAAC;AACzB,CAAC;AAND,0CAMC"}
@@ -1,46 +1,23 @@
1
1
  export declare const NOTION_ANNOTATIONS = "notion_annotations";
2
2
  export type NotionFieldType = 'title' | 'url' | 'rich_text' | 'relation' | 'status' | 'formula' | 'rollup' | 'timestamp' | 'number' | 'created_time' | 'last_edited_time' | 'date' | 'select';
3
- export interface NotionAnnotation {
3
+ export interface NotionAnnotation<T extends object = undefined> {
4
4
  type: NotionFieldType;
5
5
  fieldName: string;
6
6
  propName: string;
7
+ options?: T;
7
8
  }
8
- export declare const Title: (props?: {
9
- name?: string;
10
- }) => (target: any, propName: string) => void;
11
- export declare const Url: (props?: {
12
- name?: string;
13
- }) => (target: any, propName: string) => void;
14
- export declare const RichText: (props?: {
15
- name?: string;
16
- }) => (target: any, propName: string) => void;
17
- export declare const Relation: (props?: {
18
- name?: string;
19
- }) => (target: any, propName: string) => void;
20
- export declare const Status: (props?: {
21
- name?: string;
22
- }) => (target: any, propName: string) => void;
23
- export declare const Formula: (props?: {
24
- name?: string;
25
- }) => (target: any, propName: string) => void;
26
- export declare const Rollup: (props?: {
27
- name?: string;
28
- }) => (target: any, propName: string) => void;
29
- export declare const Timestamp: (props?: {
30
- name?: string;
31
- }) => (target: any, propName: string) => void;
32
- export declare const Number: (props?: {
33
- name?: string;
34
- }) => (target: any, propName: string) => void;
35
- export declare const CreatedTime: (props?: {
36
- name?: string;
37
- }) => (target: any, propName: string) => void;
38
- export declare const LastEditedTime: (props?: {
39
- name?: string;
40
- }) => (target: any, propName: string) => void;
41
- export declare const Date: (props?: {
42
- name?: string;
43
- }) => (target: any, propName: string) => void;
44
- export declare const Select: (props?: {
45
- name?: string;
46
- }) => (target: any, propName: string) => void;
9
+ export declare const Title: (name?: string, options?: undefined) => (target: any, propName: string) => void;
10
+ export declare const Url: (name?: string, options?: undefined) => (target: any, propName: string) => void;
11
+ export declare const RichText: (name?: string, options?: undefined) => (target: any, propName: string) => void;
12
+ export declare const Relation: (name?: string, options?: Partial<{
13
+ multi: boolean;
14
+ }>) => (target: any, propName: string) => void;
15
+ export declare const Status: (name?: string, options?: undefined) => (target: any, propName: string) => void;
16
+ export declare const Formula: (name?: string, options?: undefined) => (target: any, propName: string) => void;
17
+ export declare const Rollup: (name?: string, options?: undefined) => (target: any, propName: string) => void;
18
+ export declare const Timestamp: (name?: string, options?: undefined) => (target: any, propName: string) => void;
19
+ export declare const Number: (name?: string, options?: undefined) => (target: any, propName: string) => void;
20
+ export declare const CreatedTime: (name?: string, options?: undefined) => (target: any, propName: string) => void;
21
+ export declare const LastEditedTime: (name?: string, options?: undefined) => (target: any, propName: string) => void;
22
+ export declare const Date: (name?: string, options?: undefined) => (target: any, propName: string) => void;
23
+ export declare const Select: (name?: string, options?: undefined) => (target: any, propName: string) => void;
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Select = exports.Date = exports.LastEditedTime = exports.CreatedTime = exports.Number = exports.Timestamp = exports.Rollup = exports.Formula = exports.Status = exports.Relation = exports.RichText = exports.Url = exports.Title = exports.NOTION_ANNOTATIONS = void 0;
4
4
  exports.NOTION_ANNOTATIONS = 'notion_annotations';
5
5
  ;
6
- function createDecorator(type) {
7
- return (props) => {
6
+ function createDecorator(type, defaultOptions) {
7
+ return (name, options) => {
8
8
  return (target, propName) => {
9
9
  var _a;
10
10
  var _b;
11
- const fieldName = props.name || propName;
12
- const ANNOTATION = { type, fieldName, propName };
11
+ const fieldName = name || propName;
12
+ const ANNOTATION = { type, fieldName, propName, options: Object.assign(Object.assign({}, defaultOptions), options) };
13
13
  (_a = (_b = target.constructor)[exports.NOTION_ANNOTATIONS]) !== null && _a !== void 0 ? _a : (_b[exports.NOTION_ANNOTATIONS] = []);
14
14
  target.constructor[exports.NOTION_ANNOTATIONS].push(ANNOTATION);
15
15
  };
@@ -18,7 +18,7 @@ function createDecorator(type) {
18
18
  exports.Title = createDecorator('title');
19
19
  exports.Url = createDecorator('url');
20
20
  exports.RichText = createDecorator('rich_text');
21
- exports.Relation = createDecorator('relation');
21
+ exports.Relation = createDecorator('relation', { multi: false });
22
22
  exports.Status = createDecorator('status');
23
23
  exports.Formula = createDecorator('formula');
24
24
  exports.Rollup = createDecorator('rollup');
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/notion/src/lib/decorators/decorators.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAQtD,CAAC;AAEF,SAAS,eAAe,CAAC,IAAqB;IAC5C,OAAO,CAAC,KAAuB,EAAE,EAAE;QACjC,OAAO,CAAC,MAAW,EAAE,QAAgB,EAAE,EAAE;;;YACvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC;YACzC,MAAM,UAAU,GAAqB,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAC,CAAC;YACjE,YAAA,MAAM,CAAC,WAAW,EAAC,0BAAkB,wCAAlB,0BAAkB,IAAM,EAAE,EAAC;YAC9C,MAAM,CAAC,WAAW,CAAC,0BAAkB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAEY,QAAA,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACjC,QAAA,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;AACxC,QAAA,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;AACvC,QAAA,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,QAAA,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AACrC,QAAA,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,QAAA,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;AACzC,QAAA,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,QAAA,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;AAC9C,QAAA,cAAc,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;AACrD,QAAA,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AAC/B,QAAA,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/notion/src/lib/decorators/decorators.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAStD,CAAC;AAEF,SAAS,eAAe,CAA+B,IAAqB,EAAE,cAAkB;IAC9F,OAAO,CAAC,IAAa,EAAE,OAAoB,EAAE,EAAE;QAC7C,OAAO,CAAC,MAAW,EAAE,QAAgB,EAAE,EAAE;;;YACvC,MAAM,SAAS,GAAG,IAAI,IAAI,QAAQ,CAAC;YACnC,MAAM,UAAU,GAAwB,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,kCAAM,cAAc,GAAK,OAAO,CAAC,EAAC,CAAC;YAC9G,YAAA,MAAM,CAAC,WAAW,EAAC,0BAAkB,wCAAlB,0BAAkB,IAAM,EAAE,EAAC;YAC9C,MAAM,CAAC,WAAW,CAAC,0BAAkB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAEY,QAAA,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACjC,QAAA,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;AACxC,QAAA,QAAQ,GAAG,eAAe,CAAmB,UAAU,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;AACzE,QAAA,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,QAAA,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AACrC,QAAA,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,QAAA,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;AACzC,QAAA,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,QAAA,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;AAC9C,QAAA,cAAc,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;AACrD,QAAA,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AAC/B,QAAA,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx-ddd/notion",
3
- "version": "5.8.0",
3
+ "version": "5.9.0",
4
4
  "main": "./index.js",
5
5
  "types": "./index.d.ts",
6
6
  "dependencies": {
@@ -11,8 +11,8 @@
11
11
  "reflect-metadata": "^0.1.13"
12
12
  },
13
13
  "peerDependencies": {
14
- "@nx-ddd/common": "5.8.0",
15
- "@nx-ddd/core": "5.8.0",
14
+ "@nx-ddd/common": "5.9.0",
15
+ "@nx-ddd/core": "5.9.0",
16
16
  "tslib": "^2.3.0"
17
17
  }
18
18
  }
package/utils.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import dayjs from "dayjs";
2
- import { NotionFieldType } from "./decorators";
2
+ import { NotionAnnotation } from "./decorators";
3
3
  type NotionText = {
4
4
  type: 'text';
5
5
  text: {
@@ -94,7 +94,7 @@ export type NotionSelect = {
94
94
  };
95
95
  export type NotionValue = NotionTitle | NotionUrl | NotionRichText | NotionNumber | NotionRelation | NotionStatus | NotionFormula | NotionRollup | NotionCreatedTime | NotionLastEditedTime | NotionDate | NotionSelect;
96
96
  export declare class NotionUtils {
97
- static toNotionValue(value: any, type: NotionFieldType): void | {
97
+ static toNotionValue(value: any, annotation: NotionAnnotation): void | {
98
98
  type: string;
99
99
  title: {
100
100
  text: {
@@ -146,7 +146,13 @@ export declare class NotionUtils {
146
146
  name: string;
147
147
  };
148
148
  };
149
- static toRelation(ids: string[]): {
149
+ static toRelationMulti(ids: string[]): {
150
+ type: string;
151
+ relation: {
152
+ id: string;
153
+ }[];
154
+ };
155
+ static toRelation(value: string): {
150
156
  type: string;
151
157
  relation: {
152
158
  id: string;
@@ -178,11 +184,12 @@ export declare class NotionUtils {
178
184
  name: string;
179
185
  };
180
186
  };
181
- static fromNotionValue(value: NotionValue): string | number | string[] | dayjs.Dayjs | number[];
187
+ static fromNotionValue(value: NotionValue, annotation: NotionAnnotation): string | number | string[] | dayjs.Dayjs | number[];
182
188
  static fromTitle(notionTitle: NotionTitle): string;
183
189
  static fromUrl(notionUrl: NotionUrl): string | null;
184
190
  static fromRichText(notionRichText: NotionRichText): string | null;
185
- static fromRelation(notionRelation: NotionRelation): string[];
191
+ static fromRelation(notionRelation: NotionRelation): string | null;
192
+ static fromRelationMulti(notionRelation: NotionRelation): string[];
186
193
  static fromStatus(notionStatus: NotionStatus): string;
187
194
  static fromFormula(notionFormula: NotionFormula): string | number;
188
195
  static fromRollup(notionRollup: NotionRollup): string[] | number[];
package/utils.js CHANGED
@@ -4,11 +4,17 @@ exports.NotionUtils = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
6
6
  class NotionUtils {
7
- static toNotionValue(value, type) {
8
- switch (type) {
7
+ static toNotionValue(value, annotation) {
8
+ switch (annotation.type) {
9
9
  case 'title': return NotionUtils.toNotionTitle(value);
10
10
  case 'status': return NotionUtils.toNotionStatus(value);
11
- case 'relation': return NotionUtils.toRelation(value);
11
+ case 'relation':
12
+ if (annotation.options.multi) {
13
+ return NotionUtils.toRelationMulti(value);
14
+ }
15
+ else {
16
+ return NotionUtils.toRelation(value);
17
+ }
12
18
  case 'formula': return NotionUtils.toNotionFormula(value);
13
19
  case 'rich_text': return NotionUtils.toRichText(value);
14
20
  case 'rollup': return NotionUtils.toRollup(value);
@@ -24,10 +30,12 @@ class NotionUtils {
24
30
  static toNotionStatus(value) {
25
31
  return value ? { type: 'status', status: { name: value } } : undefined;
26
32
  }
27
- static toRelation(ids) {
28
- console.log('ids', ids);
33
+ static toRelationMulti(ids) {
29
34
  return Array.isArray(ids) ? { type: 'relation', relation: (ids).map(id => ({ id })) } : undefined;
30
35
  }
36
+ static toRelation(value) {
37
+ return value ? this.toRelationMulti([value]) : undefined;
38
+ }
31
39
  static toRichText(text) {
32
40
  return text ? { type: 'rich_text', rich_text: [{ text: { content: text } }] } : undefined;
33
41
  }
@@ -47,11 +55,17 @@ class NotionUtils {
47
55
  static toSelect(value) {
48
56
  return value ? { type: 'select', select: { name: value } } : undefined;
49
57
  }
50
- static fromNotionValue(value) {
58
+ static fromNotionValue(value, annotation) {
51
59
  switch (value.type) {
52
60
  case 'title': return this.fromTitle(value);
53
61
  case 'formula': return this.fromFormula(value);
54
- case 'relation': return this.fromRelation(value);
62
+ case 'relation':
63
+ if (annotation.options.multi) {
64
+ return this.fromRelationMulti(value);
65
+ }
66
+ else {
67
+ return this.fromRelation(value);
68
+ }
55
69
  case 'rich_text': return this.fromRichText(value);
56
70
  case 'status': return this.fromStatus(value);
57
71
  case 'url': return this.fromUrl(value);
@@ -74,6 +88,10 @@ class NotionUtils {
74
88
  return notionRichText.rich_text.map(({ plain_text }) => plain_text).join('') || null;
75
89
  }
76
90
  static fromRelation(notionRelation) {
91
+ var _a, _b;
92
+ return (_b = (_a = this.fromRelationMulti(notionRelation)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
93
+ }
94
+ static fromRelationMulti(notionRelation) {
77
95
  return notionRelation.relation.map(r => r.id);
78
96
  }
79
97
  static fromStatus(notionStatus) {
package/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/notion/src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/notion/src/lib/utils.ts"],"names":[],"mappings":"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"}