n8n-nodes-newar 0.1.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.
Files changed (173) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +232 -0
  3. package/dist/credentials/NewarApi.credentials.d.ts +10 -0
  4. package/dist/credentials/NewarApi.credentials.js +63 -0
  5. package/dist/credentials/NewarApi.credentials.js.map +1 -0
  6. package/dist/icons/newar.dark.svg +3 -0
  7. package/dist/icons/newar.svg +3 -0
  8. package/dist/nodes/Newar/Newar.node.d.ts +11 -0
  9. package/dist/nodes/Newar/Newar.node.js +151 -0
  10. package/dist/nodes/Newar/Newar.node.js.map +1 -0
  11. package/dist/nodes/Newar/Newar.node.json +19 -0
  12. package/dist/nodes/Newar/actions/common.d.ts +40 -0
  13. package/dist/nodes/Newar/actions/common.js +328 -0
  14. package/dist/nodes/Newar/actions/common.js.map +1 -0
  15. package/dist/nodes/Newar/actions/customField/index.d.ts +4 -0
  16. package/dist/nodes/Newar/actions/customField/index.js +50 -0
  17. package/dist/nodes/Newar/actions/customField/index.js.map +1 -0
  18. package/dist/nodes/Newar/actions/customFields.d.ts +5 -0
  19. package/dist/nodes/Newar/actions/customFields.js +53 -0
  20. package/dist/nodes/Newar/actions/customFields.js.map +1 -0
  21. package/dist/nodes/Newar/actions/deal/create.d.ts +4 -0
  22. package/dist/nodes/Newar/actions/deal/create.js +39 -0
  23. package/dist/nodes/Newar/actions/deal/create.js.map +1 -0
  24. package/dist/nodes/Newar/actions/deal/delete.d.ts +3 -0
  25. package/dist/nodes/Newar/actions/deal/delete.js +26 -0
  26. package/dist/nodes/Newar/actions/deal/delete.js.map +1 -0
  27. package/dist/nodes/Newar/actions/deal/fields.d.ts +7 -0
  28. package/dist/nodes/Newar/actions/deal/fields.js +182 -0
  29. package/dist/nodes/Newar/actions/deal/fields.js.map +1 -0
  30. package/dist/nodes/Newar/actions/deal/get.d.ts +3 -0
  31. package/dist/nodes/Newar/actions/deal/get.js +22 -0
  32. package/dist/nodes/Newar/actions/deal/get.js.map +1 -0
  33. package/dist/nodes/Newar/actions/deal/getAll.d.ts +4 -0
  34. package/dist/nodes/Newar/actions/deal/getAll.js +102 -0
  35. package/dist/nodes/Newar/actions/deal/getAll.js.map +1 -0
  36. package/dist/nodes/Newar/actions/deal/index.d.ts +4 -0
  37. package/dist/nodes/Newar/actions/deal/index.js +105 -0
  38. package/dist/nodes/Newar/actions/deal/index.js.map +1 -0
  39. package/dist/nodes/Newar/actions/deal/search.d.ts +4 -0
  40. package/dist/nodes/Newar/actions/deal/search.js +69 -0
  41. package/dist/nodes/Newar/actions/deal/search.js.map +1 -0
  42. package/dist/nodes/Newar/actions/deal/update.d.ts +4 -0
  43. package/dist/nodes/Newar/actions/deal/update.js +42 -0
  44. package/dist/nodes/Newar/actions/deal/update.js.map +1 -0
  45. package/dist/nodes/Newar/actions/lead/create.d.ts +4 -0
  46. package/dist/nodes/Newar/actions/lead/create.js +41 -0
  47. package/dist/nodes/Newar/actions/lead/create.js.map +1 -0
  48. package/dist/nodes/Newar/actions/lead/delete.d.ts +3 -0
  49. package/dist/nodes/Newar/actions/lead/delete.js +26 -0
  50. package/dist/nodes/Newar/actions/lead/delete.js.map +1 -0
  51. package/dist/nodes/Newar/actions/lead/fields.d.ts +6 -0
  52. package/dist/nodes/Newar/actions/lead/fields.js +231 -0
  53. package/dist/nodes/Newar/actions/lead/fields.js.map +1 -0
  54. package/dist/nodes/Newar/actions/lead/get.d.ts +3 -0
  55. package/dist/nodes/Newar/actions/lead/get.js +22 -0
  56. package/dist/nodes/Newar/actions/lead/get.js.map +1 -0
  57. package/dist/nodes/Newar/actions/lead/getAll.d.ts +4 -0
  58. package/dist/nodes/Newar/actions/lead/getAll.js +102 -0
  59. package/dist/nodes/Newar/actions/lead/getAll.js.map +1 -0
  60. package/dist/nodes/Newar/actions/lead/index.d.ts +4 -0
  61. package/dist/nodes/Newar/actions/lead/index.js +105 -0
  62. package/dist/nodes/Newar/actions/lead/index.js.map +1 -0
  63. package/dist/nodes/Newar/actions/lead/search.d.ts +3 -0
  64. package/dist/nodes/Newar/actions/lead/search.js +37 -0
  65. package/dist/nodes/Newar/actions/lead/search.js.map +1 -0
  66. package/dist/nodes/Newar/actions/lead/update.d.ts +4 -0
  67. package/dist/nodes/Newar/actions/lead/update.js +36 -0
  68. package/dist/nodes/Newar/actions/lead/update.js.map +1 -0
  69. package/dist/nodes/Newar/actions/lossReason/index.d.ts +4 -0
  70. package/dist/nodes/Newar/actions/lossReason/index.js +38 -0
  71. package/dist/nodes/Newar/actions/lossReason/index.js.map +1 -0
  72. package/dist/nodes/Newar/actions/note/create.d.ts +4 -0
  73. package/dist/nodes/Newar/actions/note/create.js +68 -0
  74. package/dist/nodes/Newar/actions/note/create.js.map +1 -0
  75. package/dist/nodes/Newar/actions/note/get.d.ts +3 -0
  76. package/dist/nodes/Newar/actions/note/get.js +20 -0
  77. package/dist/nodes/Newar/actions/note/get.js.map +1 -0
  78. package/dist/nodes/Newar/actions/note/getAll.d.ts +4 -0
  79. package/dist/nodes/Newar/actions/note/getAll.js +46 -0
  80. package/dist/nodes/Newar/actions/note/getAll.js.map +1 -0
  81. package/dist/nodes/Newar/actions/note/index.d.ts +4 -0
  82. package/dist/nodes/Newar/actions/note/index.js +78 -0
  83. package/dist/nodes/Newar/actions/note/index.js.map +1 -0
  84. package/dist/nodes/Newar/actions/pipeline/index.d.ts +4 -0
  85. package/dist/nodes/Newar/actions/pipeline/index.js +57 -0
  86. package/dist/nodes/Newar/actions/pipeline/index.js.map +1 -0
  87. package/dist/nodes/Newar/actions/router.d.ts +6 -0
  88. package/dist/nodes/Newar/actions/router.js +147 -0
  89. package/dist/nodes/Newar/actions/router.js.map +1 -0
  90. package/dist/nodes/Newar/actions/search/index.d.ts +4 -0
  91. package/dist/nodes/Newar/actions/search/index.js +75 -0
  92. package/dist/nodes/Newar/actions/search/index.js.map +1 -0
  93. package/dist/nodes/Newar/actions/search/term.d.ts +3 -0
  94. package/dist/nodes/Newar/actions/search/term.js +30 -0
  95. package/dist/nodes/Newar/actions/search/term.js.map +1 -0
  96. package/dist/nodes/Newar/actions/stage/index.d.ts +4 -0
  97. package/dist/nodes/Newar/actions/stage/index.js +77 -0
  98. package/dist/nodes/Newar/actions/stage/index.js.map +1 -0
  99. package/dist/nodes/Newar/actions/tag/index.d.ts +4 -0
  100. package/dist/nodes/Newar/actions/tag/index.js +154 -0
  101. package/dist/nodes/Newar/actions/tag/index.js.map +1 -0
  102. package/dist/nodes/Newar/actions/task/create.d.ts +4 -0
  103. package/dist/nodes/Newar/actions/task/create.js +44 -0
  104. package/dist/nodes/Newar/actions/task/create.js.map +1 -0
  105. package/dist/nodes/Newar/actions/task/delete.d.ts +3 -0
  106. package/dist/nodes/Newar/actions/task/delete.js +20 -0
  107. package/dist/nodes/Newar/actions/task/delete.js.map +1 -0
  108. package/dist/nodes/Newar/actions/task/fields.d.ts +9 -0
  109. package/dist/nodes/Newar/actions/task/fields.js +143 -0
  110. package/dist/nodes/Newar/actions/task/fields.js.map +1 -0
  111. package/dist/nodes/Newar/actions/task/get.d.ts +3 -0
  112. package/dist/nodes/Newar/actions/task/get.js +22 -0
  113. package/dist/nodes/Newar/actions/task/get.js.map +1 -0
  114. package/dist/nodes/Newar/actions/task/getAll.d.ts +4 -0
  115. package/dist/nodes/Newar/actions/task/getAll.js +113 -0
  116. package/dist/nodes/Newar/actions/task/getAll.js.map +1 -0
  117. package/dist/nodes/Newar/actions/task/index.d.ts +4 -0
  118. package/dist/nodes/Newar/actions/task/index.js +96 -0
  119. package/dist/nodes/Newar/actions/task/index.js.map +1 -0
  120. package/dist/nodes/Newar/actions/task/update.d.ts +4 -0
  121. package/dist/nodes/Newar/actions/task/update.js +31 -0
  122. package/dist/nodes/Newar/actions/task/update.js.map +1 -0
  123. package/dist/nodes/Newar/actions/user/index.d.ts +4 -0
  124. package/dist/nodes/Newar/actions/user/index.js +66 -0
  125. package/dist/nodes/Newar/actions/user/index.js.map +1 -0
  126. package/dist/nodes/Newar/helpers/customFields.d.ts +28 -0
  127. package/dist/nodes/Newar/helpers/customFields.js +131 -0
  128. package/dist/nodes/Newar/helpers/customFields.js.map +1 -0
  129. package/dist/nodes/Newar/helpers/dates.d.ts +4 -0
  130. package/dist/nodes/Newar/helpers/dates.js +134 -0
  131. package/dist/nodes/Newar/helpers/dates.js.map +1 -0
  132. package/dist/nodes/Newar/helpers/errors.d.ts +34 -0
  133. package/dist/nodes/Newar/helpers/errors.js +323 -0
  134. package/dist/nodes/Newar/helpers/errors.js.map +1 -0
  135. package/dist/nodes/Newar/helpers/fields.d.ts +26 -0
  136. package/dist/nodes/Newar/helpers/fields.js +141 -0
  137. package/dist/nodes/Newar/helpers/fields.js.map +1 -0
  138. package/dist/nodes/Newar/helpers/idempotency.d.ts +16 -0
  139. package/dist/nodes/Newar/helpers/idempotency.js +42 -0
  140. package/dist/nodes/Newar/helpers/idempotency.js.map +1 -0
  141. package/dist/nodes/Newar/helpers/output.d.ts +7 -0
  142. package/dist/nodes/Newar/helpers/output.js +131 -0
  143. package/dist/nodes/Newar/helpers/output.js.map +1 -0
  144. package/dist/nodes/Newar/helpers/pagination.d.ts +23 -0
  145. package/dist/nodes/Newar/helpers/pagination.js +43 -0
  146. package/dist/nodes/Newar/helpers/pagination.js.map +1 -0
  147. package/dist/nodes/Newar/methods/index.d.ts +3 -0
  148. package/dist/nodes/Newar/methods/index.js +40 -0
  149. package/dist/nodes/Newar/methods/index.js.map +1 -0
  150. package/dist/nodes/Newar/methods/listSearch.d.ts +9 -0
  151. package/dist/nodes/Newar/methods/listSearch.js +142 -0
  152. package/dist/nodes/Newar/methods/listSearch.js.map +1 -0
  153. package/dist/nodes/Newar/methods/loadOptions.d.ts +7 -0
  154. package/dist/nodes/Newar/methods/loadOptions.js +61 -0
  155. package/dist/nodes/Newar/methods/loadOptions.js.map +1 -0
  156. package/dist/nodes/Newar/methods/resourceMapping.d.ts +3 -0
  157. package/dist/nodes/Newar/methods/resourceMapping.js +26 -0
  158. package/dist/nodes/Newar/methods/resourceMapping.js.map +1 -0
  159. package/dist/nodes/Newar/methods/shared.d.ts +11 -0
  160. package/dist/nodes/Newar/methods/shared.js +65 -0
  161. package/dist/nodes/Newar/methods/shared.js.map +1 -0
  162. package/dist/nodes/Newar/transport/index.d.ts +36 -0
  163. package/dist/nodes/Newar/transport/index.js +114 -0
  164. package/dist/nodes/Newar/transport/index.js.map +1 -0
  165. package/dist/nodes/NewarTrigger/NewarTrigger.node.d.ts +14 -0
  166. package/dist/nodes/NewarTrigger/NewarTrigger.node.js +295 -0
  167. package/dist/nodes/NewarTrigger/NewarTrigger.node.js.map +1 -0
  168. package/dist/nodes/NewarTrigger/NewarTrigger.node.json +19 -0
  169. package/dist/nodes/NewarTrigger/polling.d.ts +38 -0
  170. package/dist/nodes/NewarTrigger/polling.js +211 -0
  171. package/dist/nodes/NewarTrigger/polling.js.map +1 -0
  172. package/dist/package.json +68 -0
  173. package/package.json +68 -0
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.description = void 0;
4
+ exports.execute = execute;
5
+ const fields_1 = require("../../helpers/fields");
6
+ const transport_1 = require("../../transport");
7
+ const common_1 = require("../common");
8
+ const fields_2 = require("./fields");
9
+ const properties = [
10
+ (0, common_1.returnAllProperty)(),
11
+ (0, common_1.limitProperty)(1000),
12
+ {
13
+ displayName: 'Filters',
14
+ name: 'filters',
15
+ type: 'collection',
16
+ placeholder: 'Add Filter',
17
+ default: {},
18
+ options: [
19
+ {
20
+ displayName: 'Assignee Name or ID',
21
+ name: 'assignedToId',
22
+ type: 'options',
23
+ typeOptions: { loadOptionsMethod: 'getUsers' },
24
+ default: '',
25
+ description: 'Only tasks of this user. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
26
+ },
27
+ {
28
+ displayName: 'Deal ID',
29
+ name: 'dealId',
30
+ type: 'string',
31
+ default: '',
32
+ placeholder: 'e.g. 0f8d3c2a-6b1e-4f7a-9c5d-2e4b8a1f6c3d',
33
+ description: 'Only tasks of this deal',
34
+ },
35
+ {
36
+ displayName: 'Due Before',
37
+ name: 'dueUntil',
38
+ type: 'dateTime',
39
+ default: '',
40
+ description: 'Only tasks due before this moment',
41
+ },
42
+ {
43
+ displayName: 'Due Since',
44
+ name: 'dueSince',
45
+ type: 'dateTime',
46
+ default: '',
47
+ description: 'Only tasks due at or after this moment',
48
+ },
49
+ {
50
+ displayName: 'IDs',
51
+ name: 'ids',
52
+ type: 'string',
53
+ default: '',
54
+ placeholder: 'e.g. 0f8d3c2a-6b1e-4f7a-9c5d-2e4b8a1f6c3d,7a2b9c4d-1e3f-4a5b-8c6d-9e0f1a2b3c4d',
55
+ description: 'Only these tasks. Up to 100 IDs, separated by commas.',
56
+ },
57
+ {
58
+ displayName: 'Lead ID',
59
+ name: 'leadId',
60
+ type: 'string',
61
+ default: '',
62
+ placeholder: 'e.g. 0f8d3c2a-6b1e-4f7a-9c5d-2e4b8a1f6c3d',
63
+ description: 'Only tasks of this lead',
64
+ },
65
+ {
66
+ displayName: 'Status',
67
+ name: 'status',
68
+ type: 'multiOptions',
69
+ options: fields_2.TASK_STATUS_OPTIONS,
70
+ default: [],
71
+ description: 'Only tasks with one of these statuses',
72
+ },
73
+ {
74
+ displayName: 'Type',
75
+ name: 'kind',
76
+ type: 'multiOptions',
77
+ options: fields_2.TASK_KIND_OPTIONS,
78
+ default: [],
79
+ description: 'Only tasks of these types',
80
+ },
81
+ {
82
+ displayName: 'Updated Before',
83
+ name: 'updatedUntil',
84
+ type: 'dateTime',
85
+ default: '',
86
+ description: 'Only tasks last changed before this moment',
87
+ },
88
+ {
89
+ displayName: 'Updated Since',
90
+ name: 'updatedSince',
91
+ type: 'dateTime',
92
+ default: '',
93
+ description: 'Only tasks changed at or after this moment',
94
+ },
95
+ ],
96
+ },
97
+ (0, common_1.sortProperty)([
98
+ { name: 'Created At', value: 'created_at' },
99
+ { name: 'Due Date', value: 'due_at' },
100
+ { name: 'Updated At', value: 'updated_at' },
101
+ ], 'created_at'),
102
+ ...(0, common_1.outputProperties)('task'),
103
+ ];
104
+ exports.description = (0, common_1.updateDisplayOptions)({ show: { resource: ['task'], operation: ['getAll'] } }, properties);
105
+ async function execute(itemIndex, context) {
106
+ const qs = {
107
+ ...(0, fields_1.buildQuery)((0, common_1.getCollection)(this, 'filters', itemIndex), fields_2.TASK_FILTERS, context.timeZone),
108
+ ...(0, common_1.readSort)(this, itemIndex),
109
+ };
110
+ const tasks = await transport_1.newarApiRequestAllItems.call(this, { path: '/v1/tasks', qs, itemIndex }, (0, common_1.readPaging)(this, itemIndex));
111
+ return (0, common_1.shapeRecords)(this, itemIndex, 'task', tasks);
112
+ }
113
+ //# sourceMappingURL=getAll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAll.js","sourceRoot":"","sources":["../../../../../nodes/Newar/actions/task/getAll.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ import type { OperationHandler } from '../common';
3
+ export declare const handlers: Record<string, OperationHandler>;
4
+ export declare const description: INodeProperties[];
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.description = exports.handlers = void 0;
37
+ const create = __importStar(require("./create"));
38
+ const remove = __importStar(require("./delete"));
39
+ const get = __importStar(require("./get"));
40
+ const getAll = __importStar(require("./getAll"));
41
+ const update = __importStar(require("./update"));
42
+ exports.handlers = {
43
+ create: create.execute,
44
+ delete: remove.execute,
45
+ get: get.execute,
46
+ getAll: getAll.execute,
47
+ update: update.execute,
48
+ };
49
+ exports.description = [
50
+ {
51
+ displayName: 'Operation',
52
+ name: 'operation',
53
+ type: 'options',
54
+ noDataExpression: true,
55
+ displayOptions: { show: { resource: ['task'] } },
56
+ options: [
57
+ {
58
+ name: 'Create',
59
+ value: 'create',
60
+ description: 'Create a new task for a lead, optionally on one of its deals',
61
+ action: 'Create task',
62
+ },
63
+ {
64
+ name: 'Delete',
65
+ value: 'delete',
66
+ description: 'Delete a task',
67
+ action: 'Delete task',
68
+ },
69
+ {
70
+ name: 'Get',
71
+ value: 'get',
72
+ description: 'Retrieve a task',
73
+ action: 'Get task',
74
+ },
75
+ {
76
+ name: 'Get Many',
77
+ value: 'getAll',
78
+ description: 'Retrieve a list of tasks, with filters',
79
+ action: 'Get many tasks',
80
+ },
81
+ {
82
+ name: 'Update',
83
+ value: 'update',
84
+ description: 'Complete, cancel, reopen or edit a task',
85
+ action: 'Update task',
86
+ },
87
+ ],
88
+ default: 'create',
89
+ },
90
+ ...create.description,
91
+ ...remove.description,
92
+ ...get.description,
93
+ ...getAll.description,
94
+ ...update.description,
95
+ ];
96
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Newar/actions/task/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,iDAAmC;AACnC,iDAAmC;AACnC,2CAA6B;AAC7B,iDAAmC;AACnC,iDAAmC;AAEtB,QAAA,QAAQ,GAAqC;IACzD,MAAM,EAAE,MAAM,CAAC,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC,OAAO;IACtB,GAAG,EAAE,GAAG,CAAC,OAAO;IAChB,MAAM,EAAE,MAAM,CAAC,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC,OAAO;CACtB,CAAC;AAEW,QAAA,WAAW,GAAsB;IAC7C;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;QAChD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,8DAA8D;gBAC3E,MAAM,EAAE,aAAa;aACrB;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,eAAe;gBAC5B,MAAM,EAAE,aAAa;aACrB;YACD;gBACC,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,iBAAiB;gBAC9B,MAAM,EAAE,UAAU;aAClB;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,wCAAwC;gBACrD,MAAM,EAAE,gBAAgB;aACxB;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,yCAAyC;gBACtD,MAAM,EAAE,aAAa;aACrB;SACD;QACD,OAAO,EAAE,QAAQ;KACjB;IACD,GAAG,MAAM,CAAC,WAAW;IACrB,GAAG,MAAM,CAAC,WAAW;IACrB,GAAG,GAAG,CAAC,WAAW;IAClB,GAAG,MAAM,CAAC,WAAW;IACrB,GAAG,MAAM,CAAC,WAAW;CACrB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { IDataObject, IExecuteFunctions, INodeProperties } from 'n8n-workflow';
2
+ import { type ExecutionContext } from '../common';
3
+ export declare const description: INodeProperties[];
4
+ export declare function execute(this: IExecuteFunctions, itemIndex: number, context: ExecutionContext): Promise<IDataObject>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.description = void 0;
4
+ exports.execute = execute;
5
+ const fields_1 = require("../../helpers/fields");
6
+ const common_1 = require("../common");
7
+ const fields_2 = require("./fields");
8
+ const properties = [
9
+ (0, common_1.recordLocator)({
10
+ displayName: 'Task',
11
+ name: 'taskId',
12
+ searchListMethod: 'searchTasks',
13
+ noun: 'task',
14
+ description: 'The task to update',
15
+ }),
16
+ {
17
+ displayName: 'Update Fields',
18
+ name: 'updateFields',
19
+ type: 'collection',
20
+ placeholder: 'Add Field',
21
+ default: {},
22
+ options: fields_2.taskUpdateFields,
23
+ },
24
+ ];
25
+ exports.description = (0, common_1.updateDisplayOptions)({ show: { resource: ['task'], operation: ['update'] } }, properties);
26
+ async function execute(itemIndex, context) {
27
+ const id = (0, common_1.getRecordId)(this, 'taskId', itemIndex, 'Task');
28
+ const body = (0, fields_1.buildBody)((0, common_1.getCollection)(this, 'updateFields', itemIndex), fields_2.TASK_BODY_FIELDS, 'update', context.timeZone);
29
+ return await common_1.updateRecord.call(this, itemIndex, `/v1/tasks/${id}`, body);
30
+ }
31
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../nodes/Newar/actions/task/update.ts"],"names":[],"mappings":";;;AAoCA,0BAaC;AA/CD,iDAAiD;AACjD,sCAOmB;AACnB,qCAA8D;AAE9D,MAAM,UAAU,GAAsB;IACrC,IAAA,sBAAa,EAAC;QACb,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,aAAa;QAC/B,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,oBAAoB;KACjC,CAAC;IACF;QACC,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,yBAAgB;KACzB;CACD,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,6BAAoB,EAC9C,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EACvD,UAAU,CACV,CAAC;AAEK,KAAK,UAAU,OAAO,CAE5B,SAAiB,EACjB,OAAyB;IAEzB,MAAM,EAAE,GAAG,IAAA,oBAAW,EAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,IAAA,kBAAS,EACrB,IAAA,sBAAa,EAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,EAC9C,yBAAgB,EAChB,QAAQ,EACR,OAAO,CAAC,QAAQ,CAChB,CAAC;IACF,OAAO,MAAM,qBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ import { type OperationHandler } from '../common';
3
+ export declare const description: INodeProperties[];
4
+ export declare const handlers: Record<string, OperationHandler>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handlers = exports.description = void 0;
4
+ const transport_1 = require("../../transport");
5
+ const common_1 = require("../common");
6
+ exports.description = [
7
+ {
8
+ displayName: 'Operation',
9
+ name: 'operation',
10
+ type: 'options',
11
+ noDataExpression: true,
12
+ displayOptions: { show: { resource: ['user'] } },
13
+ options: [
14
+ {
15
+ name: 'Get',
16
+ value: 'get',
17
+ description: 'Retrieve a member of the workspace',
18
+ action: 'Get user',
19
+ },
20
+ {
21
+ name: 'Get Current',
22
+ value: 'getCurrent',
23
+ description: "Retrieve the token's user, workspace, scope (read or read-write) and role permissions",
24
+ action: 'Get current user and token',
25
+ },
26
+ {
27
+ name: 'Get Many',
28
+ value: 'getAll',
29
+ description: 'Retrieve the members of the workspace',
30
+ action: 'Get many users',
31
+ },
32
+ ],
33
+ default: 'getAll',
34
+ },
35
+ ...(0, common_1.updateDisplayOptions)({ show: { resource: ['user'], operation: ['get'] } }, [
36
+ (0, common_1.recordLocator)({
37
+ displayName: 'User',
38
+ name: 'userId',
39
+ searchListMethod: 'searchUsers',
40
+ noun: 'user',
41
+ description: 'The user to retrieve',
42
+ }),
43
+ ]),
44
+ ...(0, common_1.updateDisplayOptions)({ show: { resource: ['user'], operation: ['getAll'] } }, [
45
+ (0, common_1.returnAllProperty)(),
46
+ (0, common_1.limitProperty)(1000),
47
+ ]),
48
+ ];
49
+ async function get(itemIndex) {
50
+ const id = (0, common_1.getRecordId)(this, 'userId', itemIndex, 'User');
51
+ return await common_1.getRecord.call(this, itemIndex, `/v1/users/${id}`);
52
+ }
53
+ async function getCurrent(itemIndex) {
54
+ return await common_1.getRecord.call(this, itemIndex, '/v1/me');
55
+ }
56
+ async function getAll(itemIndex) {
57
+ var _a;
58
+ const response = await transport_1.newarApiRequest.call(this, {
59
+ method: 'GET',
60
+ path: '/v1/users',
61
+ itemIndex,
62
+ });
63
+ return (0, common_1.applyLimit)(this, itemIndex, (_a = response.data) !== null && _a !== void 0 ? _a : []);
64
+ }
65
+ exports.handlers = { get, getAll, getCurrent };
66
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Newar/actions/user/index.ts"],"names":[],"mappings":";;;AAEA,+CAAkD;AAClD,sCASmB;AAEN,QAAA,WAAW,GAAsB;IAC7C;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;QAChD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,oCAAoC;gBACjD,MAAM,EAAE,UAAU;aAClB;YACD;gBACC,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,YAAY;gBACnB,WAAW,EACV,uFAAuF;gBACxF,MAAM,EAAE,4BAA4B;aACpC;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,uCAAuC;gBACpD,MAAM,EAAE,gBAAgB;aACxB;SACD;QACD,OAAO,EAAE,QAAQ;KACjB;IACD,GAAG,IAAA,6BAAoB,EAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE;QAC7E,IAAA,sBAAa,EAAC;YACb,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,QAAQ;YACd,gBAAgB,EAAE,aAAa;YAC/B,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,sBAAsB;SACnC,CAAC;KACF,CAAC;IACF,GAAG,IAAA,6BAAoB,EAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;QAChF,IAAA,0BAAiB,GAAE;QACnB,IAAA,sBAAa,EAAC,IAAI,CAAC;KACnB,CAAC;CACF,CAAC;AAEF,KAAK,UAAU,GAAG,CAA0B,SAAiB;IAC5D,MAAM,EAAE,GAAG,IAAA,oBAAW,EAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1D,OAAO,MAAM,kBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,KAAK,UAAU,UAAU,CAA0B,SAAiB;IACnE,OAAO,MAAM,kBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,MAAM,CAA0B,SAAiB;;IAC/D,MAAM,QAAQ,GAAG,MAAM,2BAAe,CAAC,IAAI,CAAC,IAAI,EAAE;QACjD,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,WAAW;QACjB,SAAS;KACT,CAAC,CAAC;IACH,OAAO,IAAA,mBAAU,EAAC,IAAI,EAAE,SAAS,EAAE,MAAC,QAAQ,CAAC,IAAkC,mCAAI,EAAE,CAAC,CAAC;AACxF,CAAC;AAEY,QAAA,QAAQ,GAAqC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { FieldType, IDataObject, ResourceMapperField } from 'n8n-workflow';
2
+ export type NewarFieldType = 'text' | 'number' | 'date' | 'select' | 'boolean';
3
+ export interface NewarField {
4
+ key: string;
5
+ label: string;
6
+ type: NewarFieldType | string;
7
+ options?: string[];
8
+ position?: number;
9
+ is_favorite?: boolean;
10
+ }
11
+ export type CustomFieldMode = 'create' | 'update';
12
+ export declare function toN8nFieldType(type: string): FieldType;
13
+ export declare function toResourceMapperFields(fields: NewarField[], mode: CustomFieldMode): ResourceMapperField[];
14
+ export interface CustomFieldProblem {
15
+ key: string;
16
+ message: string;
17
+ }
18
+ export interface CoercedCustomFields {
19
+ values: IDataObject;
20
+ problems: CustomFieldProblem[];
21
+ }
22
+ interface SchemaEntry {
23
+ id: string;
24
+ type?: FieldType | string;
25
+ removed?: boolean;
26
+ }
27
+ export declare function coerceCustomFieldValues(values: Record<string, unknown> | null | undefined, schema: SchemaEntry[] | undefined, mode: CustomFieldMode, timeZone?: string): CoercedCustomFields;
28
+ export {};
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toN8nFieldType = toN8nFieldType;
4
+ exports.toResourceMapperFields = toResourceMapperFields;
5
+ exports.coerceCustomFieldValues = coerceCustomFieldValues;
6
+ const dates_1 = require("./dates");
7
+ const N8N_TYPES = {
8
+ text: 'string',
9
+ number: 'number',
10
+ date: 'dateTime',
11
+ select: 'options',
12
+ boolean: 'boolean',
13
+ };
14
+ function toN8nFieldType(type) {
15
+ var _a;
16
+ return (_a = N8N_TYPES[type]) !== null && _a !== void 0 ? _a : 'string';
17
+ }
18
+ function toResourceMapperFields(fields, mode) {
19
+ return [...fields]
20
+ .sort((a, b) => { var _a, _b; return ((_a = a.position) !== null && _a !== void 0 ? _a : 0) - ((_b = b.position) !== null && _b !== void 0 ? _b : 0) || a.label.localeCompare(b.label); })
21
+ .map((field) => {
22
+ var _a;
23
+ const mapped = {
24
+ id: field.key,
25
+ displayName: field.label || field.key,
26
+ required: false,
27
+ defaultMatch: false,
28
+ canBeUsedToMatch: false,
29
+ display: true,
30
+ type: toN8nFieldType(field.type),
31
+ };
32
+ if (field.type === 'select') {
33
+ mapped.options = ((_a = field.options) !== null && _a !== void 0 ? _a : []).map((option) => ({ name: option, value: option }));
34
+ }
35
+ if (mode === 'update')
36
+ mapped.removed = true;
37
+ return mapped;
38
+ });
39
+ }
40
+ function isEmpty(value) {
41
+ return (value === undefined || value === null || (typeof value === 'string' && value.trim() === ''));
42
+ }
43
+ function coerceNumber(value) {
44
+ if (typeof value === 'number')
45
+ return Number.isFinite(value) ? value : undefined;
46
+ if (typeof value === 'string') {
47
+ const normalized = value.trim();
48
+ if (normalized === '')
49
+ return undefined;
50
+ const parsed = Number(normalized);
51
+ return Number.isFinite(parsed) ? parsed : undefined;
52
+ }
53
+ return undefined;
54
+ }
55
+ function coerceBoolean(value) {
56
+ if (typeof value === 'boolean')
57
+ return value;
58
+ if (value === 1 || value === 0)
59
+ return value === 1;
60
+ if (typeof value === 'string') {
61
+ const normalized = value.trim().toLowerCase();
62
+ if (['true', '1', 'yes'].includes(normalized))
63
+ return true;
64
+ if (['false', '0', 'no'].includes(normalized))
65
+ return false;
66
+ }
67
+ return undefined;
68
+ }
69
+ function coerceText(value) {
70
+ if (typeof value === 'string')
71
+ return value;
72
+ if (typeof value === 'number' || typeof value === 'boolean')
73
+ return String(value);
74
+ return undefined;
75
+ }
76
+ function coerceCustomFieldValues(values, schema, mode, timeZone = 'UTC') {
77
+ const result = { values: {}, problems: [] };
78
+ if (!values)
79
+ return result;
80
+ const typeByKey = new Map();
81
+ const removedKeys = new Set();
82
+ for (const entry of schema !== null && schema !== void 0 ? schema : []) {
83
+ typeByKey.set(entry.id, entry.type);
84
+ if (entry.removed)
85
+ removedKeys.add(entry.id);
86
+ }
87
+ for (const [key, value] of Object.entries(values)) {
88
+ if (removedKeys.has(key))
89
+ continue;
90
+ if (isEmpty(value)) {
91
+ if (mode === 'update')
92
+ result.values[key] = null;
93
+ continue;
94
+ }
95
+ switch (typeByKey.get(key)) {
96
+ case 'number': {
97
+ const number = coerceNumber(value);
98
+ if (number === undefined)
99
+ result.problems.push({ key, message: 'expects a number' });
100
+ else
101
+ result.values[key] = number;
102
+ break;
103
+ }
104
+ case 'boolean': {
105
+ const bool = coerceBoolean(value);
106
+ if (bool === undefined)
107
+ result.problems.push({ key, message: 'expects true or false' });
108
+ else
109
+ result.values[key] = bool;
110
+ break;
111
+ }
112
+ case 'dateTime': {
113
+ const date = (0, dates_1.toDateOnly)(value, timeZone);
114
+ if (!date)
115
+ result.problems.push({ key, message: 'expects a date such as 2026-09-30' });
116
+ else
117
+ result.values[key] = date;
118
+ break;
119
+ }
120
+ default: {
121
+ const text = coerceText(value);
122
+ if (text === undefined)
123
+ result.problems.push({ key, message: 'expects text' });
124
+ else
125
+ result.values[key] = text;
126
+ }
127
+ }
128
+ }
129
+ return result;
130
+ }
131
+ //# sourceMappingURL=customFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customFields.js","sourceRoot":"","sources":["../../../../nodes/Newar/helpers/customFields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function timeZoneOffsetMs(epochMs: number, timeZone: string): number;
2
+ export declare function wallClockToEpochMs(fields: [number, number, number, number, number, number, number], timeZone: string): number;
3
+ export declare function toIsoDateTime(value: unknown, timeZone?: string): string | null | undefined;
4
+ export declare function toDateOnly(value: unknown, timeZone?: string): string | null | undefined;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.timeZoneOffsetMs = timeZoneOffsetMs;
4
+ exports.wallClockToEpochMs = wallClockToEpochMs;
5
+ exports.toIsoDateTime = toIsoDateTime;
6
+ exports.toDateOnly = toDateOnly;
7
+ const DATE_ONLY = /^(\d{4})-(\d{2})-(\d{2})$/;
8
+ const DATE_PREFIX = /^(\d{4}-\d{2}-\d{2})(?:[T ]|$)/;
9
+ const NAIVE_DATE_TIME = /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?$/;
10
+ const HAS_OFFSET = /(?:Z|[+-]\d{2}(?::?\d{2})?)$/i;
11
+ function isDateTimeLike(value) {
12
+ return (typeof value === 'object' &&
13
+ value !== null &&
14
+ typeof value.toISO === 'function');
15
+ }
16
+ function isValidCalendarDate(year, month, day) {
17
+ const date = new Date(Date.UTC(year, month - 1, day));
18
+ return (date.getUTCFullYear() === year && date.getUTCMonth() === month - 1 && date.getUTCDate() === day);
19
+ }
20
+ function timeZoneOffsetMs(epochMs, timeZone) {
21
+ const formatter = new Intl.DateTimeFormat('en-US', {
22
+ timeZone,
23
+ hour12: false,
24
+ year: 'numeric',
25
+ month: '2-digit',
26
+ day: '2-digit',
27
+ hour: '2-digit',
28
+ minute: '2-digit',
29
+ second: '2-digit',
30
+ });
31
+ const parts = {};
32
+ for (const part of formatter.formatToParts(new Date(epochMs))) {
33
+ if (part.type !== 'literal')
34
+ parts[part.type] = Number(part.value);
35
+ }
36
+ const hour = parts.hour === 24 ? 0 : parts.hour;
37
+ const wallClockAsUtc = Date.UTC(parts.year, parts.month - 1, parts.day, hour, parts.minute, parts.second);
38
+ const wholeSecondsEpoch = epochMs - (((epochMs % 1000) + 1000) % 1000);
39
+ return wallClockAsUtc - wholeSecondsEpoch;
40
+ }
41
+ function wallClockToEpochMs(fields, timeZone) {
42
+ const [year, month, day, hour, minute, second, millisecond] = fields;
43
+ const asUtc = Date.UTC(year, month - 1, day, hour, minute, second, millisecond);
44
+ let offset;
45
+ try {
46
+ offset = timeZoneOffsetMs(asUtc, timeZone);
47
+ }
48
+ catch {
49
+ return asUtc;
50
+ }
51
+ const firstGuess = asUtc - offset;
52
+ const correctedOffset = timeZoneOffsetMs(firstGuess, timeZone);
53
+ return correctedOffset === offset ? firstGuess : asUtc - correctedOffset;
54
+ }
55
+ function calendarDateInZone(epochMs, timeZone) {
56
+ let shifted = epochMs;
57
+ try {
58
+ shifted = epochMs + timeZoneOffsetMs(epochMs, timeZone);
59
+ }
60
+ catch {
61
+ shifted = epochMs;
62
+ }
63
+ return new Date(shifted).toISOString().slice(0, 10);
64
+ }
65
+ function unwrap(value) {
66
+ var _a;
67
+ if (isDateTimeLike(value))
68
+ return (_a = value.toISO()) !== null && _a !== void 0 ? _a : undefined;
69
+ if (value instanceof Date)
70
+ return Number.isNaN(value.getTime()) ? undefined : value;
71
+ return value;
72
+ }
73
+ function toIsoDateTime(value, timeZone = 'UTC') {
74
+ var _a, _b;
75
+ const raw = unwrap(value);
76
+ if (raw === undefined || raw === null || raw === '')
77
+ return undefined;
78
+ if (raw instanceof Date)
79
+ return raw.toISOString();
80
+ if (typeof raw === 'number') {
81
+ return Number.isFinite(raw) ? new Date(raw).toISOString() : null;
82
+ }
83
+ if (typeof raw !== 'string')
84
+ return null;
85
+ const text = raw.trim();
86
+ if (text === '')
87
+ return undefined;
88
+ const dateOnly = DATE_ONLY.exec(text);
89
+ if (dateOnly) {
90
+ const [year, month, day] = [Number(dateOnly[1]), Number(dateOnly[2]), Number(dateOnly[3])];
91
+ if (!isValidCalendarDate(year, month, day))
92
+ return null;
93
+ return new Date(wallClockToEpochMs([year, month, day, 0, 0, 0, 0], timeZone)).toISOString();
94
+ }
95
+ const naive = NAIVE_DATE_TIME.exec(text);
96
+ if (naive) {
97
+ const [year, month, day] = [Number(naive[1]), Number(naive[2]), Number(naive[3])];
98
+ const [hour, minute, second] = [Number(naive[4]), Number(naive[5]), Number((_a = naive[6]) !== null && _a !== void 0 ? _a : 0)];
99
+ const millisecond = Number(((_b = naive[7]) !== null && _b !== void 0 ? _b : '0').padEnd(3, '0').slice(0, 3));
100
+ if (!isValidCalendarDate(year, month, day) || hour > 23 || minute > 59 || second > 59) {
101
+ return null;
102
+ }
103
+ return new Date(wallClockToEpochMs([year, month, day, hour, minute, second, millisecond], timeZone)).toISOString();
104
+ }
105
+ if (!HAS_OFFSET.test(text) || !DATE_PREFIX.test(text))
106
+ return null;
107
+ const parsed = Date.parse(text);
108
+ return Number.isNaN(parsed) ? null : new Date(parsed).toISOString();
109
+ }
110
+ function toDateOnly(value, timeZone = 'UTC') {
111
+ var _a;
112
+ if (isDateTimeLike(value) && typeof value.toISODate === 'function') {
113
+ return (_a = value.toISODate()) !== null && _a !== void 0 ? _a : null;
114
+ }
115
+ const raw = unwrap(value);
116
+ if (raw === undefined || raw === null || raw === '')
117
+ return undefined;
118
+ if (raw instanceof Date)
119
+ return calendarDateInZone(raw.getTime(), timeZone);
120
+ if (typeof raw === 'number') {
121
+ return Number.isFinite(raw) ? calendarDateInZone(raw, timeZone) : null;
122
+ }
123
+ if (typeof raw !== 'string')
124
+ return null;
125
+ const text = raw.trim();
126
+ if (text === '')
127
+ return undefined;
128
+ const prefix = DATE_PREFIX.exec(text);
129
+ if (!prefix)
130
+ return null;
131
+ const [year, month, day] = prefix[1].split('-').map(Number);
132
+ return isValidCalendarDate(year, month, day) ? prefix[1] : null;
133
+ }
134
+ //# sourceMappingURL=dates.js.map