n8n-nodes-shopify-custom 2.0.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 (139) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +68 -0
  3. package/dist/credentials/ShopifyCustomAdminApi.credentials.d.ts +10 -0
  4. package/dist/credentials/ShopifyCustomAdminApi.credentials.js +65 -0
  5. package/dist/credentials/ShopifyCustomAdminApi.credentials.js.map +1 -0
  6. package/dist/icons/shopify.dark.svg +12 -0
  7. package/dist/icons/shopify.svg +12 -0
  8. package/dist/nodes/ShopifyCustom/ShopifyCustom.node.d.ts +15 -0
  9. package/dist/nodes/ShopifyCustom/ShopifyCustom.node.js +358 -0
  10. package/dist/nodes/ShopifyCustom/ShopifyCustom.node.js.map +1 -0
  11. package/dist/nodes/ShopifyCustom/ShopifyCustom.node.json +18 -0
  12. package/dist/nodes/ShopifyCustom/config/operations/collection.d.ts +2 -0
  13. package/dist/nodes/ShopifyCustom/config/operations/collection.js +306 -0
  14. package/dist/nodes/ShopifyCustom/config/operations/collection.js.map +1 -0
  15. package/dist/nodes/ShopifyCustom/config/operations/common.d.ts +13 -0
  16. package/dist/nodes/ShopifyCustom/config/operations/common.js +222 -0
  17. package/dist/nodes/ShopifyCustom/config/operations/common.js.map +1 -0
  18. package/dist/nodes/ShopifyCustom/config/operations/customer.d.ts +2 -0
  19. package/dist/nodes/ShopifyCustom/config/operations/customer.js +107 -0
  20. package/dist/nodes/ShopifyCustom/config/operations/customer.js.map +1 -0
  21. package/dist/nodes/ShopifyCustom/config/operations/draftOrder.d.ts +2 -0
  22. package/dist/nodes/ShopifyCustom/config/operations/draftOrder.js +118 -0
  23. package/dist/nodes/ShopifyCustom/config/operations/draftOrder.js.map +1 -0
  24. package/dist/nodes/ShopifyCustom/config/operations/index.d.ts +7 -0
  25. package/dist/nodes/ShopifyCustom/config/operations/index.js +48 -0
  26. package/dist/nodes/ShopifyCustom/config/operations/index.js.map +1 -0
  27. package/dist/nodes/ShopifyCustom/config/operations/metafieldDefinition.d.ts +2 -0
  28. package/dist/nodes/ShopifyCustom/config/operations/metafieldDefinition.js +192 -0
  29. package/dist/nodes/ShopifyCustom/config/operations/metafieldDefinition.js.map +1 -0
  30. package/dist/nodes/ShopifyCustom/config/operations/metafieldValue.d.ts +2 -0
  31. package/dist/nodes/ShopifyCustom/config/operations/metafieldValue.js +125 -0
  32. package/dist/nodes/ShopifyCustom/config/operations/metafieldValue.js.map +1 -0
  33. package/dist/nodes/ShopifyCustom/config/operations/metaobject.d.ts +2 -0
  34. package/dist/nodes/ShopifyCustom/config/operations/metaobject.js +198 -0
  35. package/dist/nodes/ShopifyCustom/config/operations/metaobject.js.map +1 -0
  36. package/dist/nodes/ShopifyCustom/config/operations/order.d.ts +2 -0
  37. package/dist/nodes/ShopifyCustom/config/operations/order.js +111 -0
  38. package/dist/nodes/ShopifyCustom/config/operations/order.js.map +1 -0
  39. package/dist/nodes/ShopifyCustom/config/operations/product.d.ts +2 -0
  40. package/dist/nodes/ShopifyCustom/config/operations/product.js +118 -0
  41. package/dist/nodes/ShopifyCustom/config/operations/product.js.map +1 -0
  42. package/dist/nodes/ShopifyCustom/config/operations/productVariant.d.ts +2 -0
  43. package/dist/nodes/ShopifyCustom/config/operations/productVariant.js +109 -0
  44. package/dist/nodes/ShopifyCustom/config/operations/productVariant.js.map +1 -0
  45. package/dist/nodes/ShopifyCustom/config/operations/service.d.ts +2 -0
  46. package/dist/nodes/ShopifyCustom/config/operations/service.js +14 -0
  47. package/dist/nodes/ShopifyCustom/config/operations/service.js.map +1 -0
  48. package/dist/nodes/ShopifyCustom/config/operations/types.d.ts +13 -0
  49. package/dist/nodes/ShopifyCustom/config/operations/types.js +3 -0
  50. package/dist/nodes/ShopifyCustom/config/operations/types.js.map +1 -0
  51. package/dist/nodes/ShopifyCustom/config/resources.d.ts +9 -0
  52. package/dist/nodes/ShopifyCustom/config/resources.js +62 -0
  53. package/dist/nodes/ShopifyCustom/config/resources.js.map +1 -0
  54. package/dist/nodes/ShopifyCustom/shared/collections/ruleConditions.d.ts +17 -0
  55. package/dist/nodes/ShopifyCustom/shared/collections/ruleConditions.js +281 -0
  56. package/dist/nodes/ShopifyCustom/shared/collections/ruleConditions.js.map +1 -0
  57. package/dist/nodes/ShopifyCustom/shared/errors.d.ts +8 -0
  58. package/dist/nodes/ShopifyCustom/shared/errors.js +37 -0
  59. package/dist/nodes/ShopifyCustom/shared/errors.js.map +1 -0
  60. package/dist/nodes/ShopifyCustom/shared/graphql/client.d.ts +26 -0
  61. package/dist/nodes/ShopifyCustom/shared/graphql/client.js +73 -0
  62. package/dist/nodes/ShopifyCustom/shared/graphql/client.js.map +1 -0
  63. package/dist/nodes/ShopifyCustom/shared/graphql/registry.d.ts +17 -0
  64. package/dist/nodes/ShopifyCustom/shared/graphql/registry.js +962 -0
  65. package/dist/nodes/ShopifyCustom/shared/graphql/registry.js.map +1 -0
  66. package/dist/nodes/ShopifyCustom/shared/graphql/templates/collection.d.ts +5 -0
  67. package/dist/nodes/ShopifyCustom/shared/graphql/templates/collection.js +99 -0
  68. package/dist/nodes/ShopifyCustom/shared/graphql/templates/collection.js.map +1 -0
  69. package/dist/nodes/ShopifyCustom/shared/graphql/templates/commonFragments.d.ts +7 -0
  70. package/dist/nodes/ShopifyCustom/shared/graphql/templates/commonFragments.js +69 -0
  71. package/dist/nodes/ShopifyCustom/shared/graphql/templates/commonFragments.js.map +1 -0
  72. package/dist/nodes/ShopifyCustom/shared/graphql/templates/customer.d.ts +5 -0
  73. package/dist/nodes/ShopifyCustom/shared/graphql/templates/customer.js +94 -0
  74. package/dist/nodes/ShopifyCustom/shared/graphql/templates/customer.js.map +1 -0
  75. package/dist/nodes/ShopifyCustom/shared/graphql/templates/draftOrder.d.ts +5 -0
  76. package/dist/nodes/ShopifyCustom/shared/graphql/templates/draftOrder.js +91 -0
  77. package/dist/nodes/ShopifyCustom/shared/graphql/templates/draftOrder.js.map +1 -0
  78. package/dist/nodes/ShopifyCustom/shared/graphql/templates/metafields.d.ts +10 -0
  79. package/dist/nodes/ShopifyCustom/shared/graphql/templates/metafields.js +223 -0
  80. package/dist/nodes/ShopifyCustom/shared/graphql/templates/metafields.js.map +1 -0
  81. package/dist/nodes/ShopifyCustom/shared/graphql/templates/metaobject.d.ts +5 -0
  82. package/dist/nodes/ShopifyCustom/shared/graphql/templates/metaobject.js +92 -0
  83. package/dist/nodes/ShopifyCustom/shared/graphql/templates/metaobject.js.map +1 -0
  84. package/dist/nodes/ShopifyCustom/shared/graphql/templates/order.d.ts +5 -0
  85. package/dist/nodes/ShopifyCustom/shared/graphql/templates/order.js +95 -0
  86. package/dist/nodes/ShopifyCustom/shared/graphql/templates/order.js.map +1 -0
  87. package/dist/nodes/ShopifyCustom/shared/graphql/templates/product.d.ts +5 -0
  88. package/dist/nodes/ShopifyCustom/shared/graphql/templates/product.js +107 -0
  89. package/dist/nodes/ShopifyCustom/shared/graphql/templates/product.js.map +1 -0
  90. package/dist/nodes/ShopifyCustom/shared/graphql/templates/productVariant.d.ts +5 -0
  91. package/dist/nodes/ShopifyCustom/shared/graphql/templates/productVariant.js +99 -0
  92. package/dist/nodes/ShopifyCustom/shared/graphql/templates/productVariant.js.map +1 -0
  93. package/dist/nodes/ShopifyCustom/shared/metafields/definitions.d.ts +24 -0
  94. package/dist/nodes/ShopifyCustom/shared/metafields/definitions.js +65 -0
  95. package/dist/nodes/ShopifyCustom/shared/metafields/definitions.js.map +1 -0
  96. package/dist/nodes/ShopifyCustom/shared/metafields/ownerTypeMap.d.ts +3 -0
  97. package/dist/nodes/ShopifyCustom/shared/metafields/ownerTypeMap.js +19 -0
  98. package/dist/nodes/ShopifyCustom/shared/metafields/ownerTypeMap.js.map +1 -0
  99. package/dist/nodes/ShopifyCustom/shared/metafields/referenceLoaders.d.ts +2 -0
  100. package/dist/nodes/ShopifyCustom/shared/metafields/referenceLoaders.js +122 -0
  101. package/dist/nodes/ShopifyCustom/shared/metafields/referenceLoaders.js.map +1 -0
  102. package/dist/nodes/ShopifyCustom/shared/metafields/types.d.ts +17 -0
  103. package/dist/nodes/ShopifyCustom/shared/metafields/types.js +57 -0
  104. package/dist/nodes/ShopifyCustom/shared/metafields/types.js.map +1 -0
  105. package/dist/nodes/ShopifyCustom/shared/metafields/uiFactory.d.ts +2 -0
  106. package/dist/nodes/ShopifyCustom/shared/metafields/uiFactory.js +395 -0
  107. package/dist/nodes/ShopifyCustom/shared/metafields/uiFactory.js.map +1 -0
  108. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/constants.d.ts +20 -0
  109. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/constants.js +61 -0
  110. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/constants.js.map +1 -0
  111. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/index.d.ts +3 -0
  112. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/index.js +43 -0
  113. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/index.js.map +1 -0
  114. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/list.d.ts +2 -0
  115. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/list.js +103 -0
  116. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/list.js.map +1 -0
  117. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/reference.d.ts +2 -0
  118. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/reference.js +80 -0
  119. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/reference.js.map +1 -0
  120. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/scalar.d.ts +2 -0
  121. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/scalar.js +110 -0
  122. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/scalar.js.map +1 -0
  123. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/structured.d.ts +2 -0
  124. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/structured.js +64 -0
  125. package/dist/nodes/ShopifyCustom/shared/metafields/valueAdapters/structured.js.map +1 -0
  126. package/dist/nodes/ShopifyCustom/shared/metafields/valuePayload.d.ts +3 -0
  127. package/dist/nodes/ShopifyCustom/shared/metafields/valuePayload.js +89 -0
  128. package/dist/nodes/ShopifyCustom/shared/metafields/valuePayload.js.map +1 -0
  129. package/dist/nodes/ShopifyCustom/shared/output/outputMapper.d.ts +3 -0
  130. package/dist/nodes/ShopifyCustom/shared/output/outputMapper.js +82 -0
  131. package/dist/nodes/ShopifyCustom/shared/output/outputMapper.js.map +1 -0
  132. package/dist/nodes/ShopifyCustom/shared/themes/templateSuffixes.d.ts +2 -0
  133. package/dist/nodes/ShopifyCustom/shared/themes/templateSuffixes.js +83 -0
  134. package/dist/nodes/ShopifyCustom/shared/themes/templateSuffixes.js.map +1 -0
  135. package/dist/nodes/ShopifyCustom/shopify.dark.svg +12 -0
  136. package/dist/nodes/ShopifyCustom/shopify.svg +12 -0
  137. package/dist/package.json +62 -0
  138. package/dist/tsconfig.tsbuildinfo +1 -0
  139. package/package.json +62 -0
@@ -0,0 +1,395 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildStandaloneMetafieldValueFields = buildStandaloneMetafieldValueFields;
4
+ const valueAdapters_1 = require("./valueAdapters");
5
+ const BASE_LIST_TYPES = [
6
+ ...valueAdapters_1.BOOLEAN_TYPES,
7
+ ...valueAdapters_1.INTEGER_TYPES,
8
+ ...valueAdapters_1.NUMBER_TYPES,
9
+ ...valueAdapters_1.TEXT_TYPES,
10
+ ...valueAdapters_1.DATE_TYPES,
11
+ ...valueAdapters_1.DATE_TIME_TYPES,
12
+ ...valueAdapters_1.JSON_TYPES,
13
+ ...valueAdapters_1.MONEY_TYPES,
14
+ ...valueAdapters_1.RATING_TYPES,
15
+ ...valueAdapters_1.DIMENSION_TYPES,
16
+ ...valueAdapters_1.VOLUME_TYPES,
17
+ ...valueAdapters_1.WEIGHT_TYPES,
18
+ ].map((type) => `list.${type}`);
19
+ const NON_REFERENCE_LIST_TYPES = BASE_LIST_TYPES.filter((type) => !valueAdapters_1.LIST_REFERENCE_TYPES.includes(type));
20
+ const NON_REFERENCE_FIXED_COLLECTION_TYPES = NON_REFERENCE_LIST_TYPES.filter((type) => !valueAdapters_1.LIST_STRING_ARRAY_TYPES.includes(type));
21
+ const LIST_REFERENCE_FIXED_COLLECTION_TYPES = valueAdapters_1.LIST_REFERENCE_TYPES.filter((type) => !valueAdapters_1.LIST_STRING_ARRAY_TYPES.includes(type));
22
+ const PLAIN_TEXT_TYPES = valueAdapters_1.TEXT_TYPES.filter((type) => type !== 'email');
23
+ const JSON_ONLY_TYPES = valueAdapters_1.JSON_TYPES.filter((type) => type !== 'rich_text_field');
24
+ function escapeRegex(value) {
25
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
26
+ }
27
+ function definitionTypeConditions(types) {
28
+ return types.map((type) => ({
29
+ _cnd: {
30
+ regex: `"type":"${escapeRegex(type)}"`,
31
+ },
32
+ }));
33
+ }
34
+ function showForDefinitionTypes(types) {
35
+ return {
36
+ show: {
37
+ definition: definitionTypeConditions(types),
38
+ },
39
+ };
40
+ }
41
+ function withDisplay(properties, displayOptions) {
42
+ return properties.map((property) => ({
43
+ ...property,
44
+ displayOptions,
45
+ }));
46
+ }
47
+ function buildMetafieldSetCollection(displayOptions) {
48
+ const items = [
49
+ {
50
+ displayName: 'Definition Name or ID',
51
+ name: 'definition',
52
+ type: 'options',
53
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
54
+ typeOptions: {
55
+ loadOptionsMethod: 'getMetafieldDefinitionsForCurrentContext',
56
+ loadOptionsDependsOn: ['resource', 'ownerType'],
57
+ },
58
+ default: '',
59
+ required: true,
60
+ },
61
+ {
62
+ displayName: 'Text Value',
63
+ name: 'textValue',
64
+ type: 'string',
65
+ default: '',
66
+ displayOptions: showForDefinitionTypes(PLAIN_TEXT_TYPES),
67
+ },
68
+ {
69
+ displayName: 'Boolean Value',
70
+ name: 'booleanValue',
71
+ type: 'boolean',
72
+ default: false,
73
+ displayOptions: showForDefinitionTypes(valueAdapters_1.BOOLEAN_TYPES),
74
+ },
75
+ {
76
+ displayName: 'Integer Value',
77
+ name: 'integerValue',
78
+ type: 'number',
79
+ default: 0,
80
+ displayOptions: showForDefinitionTypes(valueAdapters_1.INTEGER_TYPES),
81
+ },
82
+ {
83
+ displayName: 'Number Value',
84
+ name: 'numberValue',
85
+ type: 'number',
86
+ default: 0,
87
+ typeOptions: {
88
+ numberPrecision: 4,
89
+ },
90
+ displayOptions: showForDefinitionTypes(valueAdapters_1.NUMBER_TYPES),
91
+ },
92
+ {
93
+ displayName: 'Date Value',
94
+ name: 'dateValue',
95
+ type: 'dateTime',
96
+ default: '',
97
+ displayOptions: showForDefinitionTypes(valueAdapters_1.DATE_TYPES),
98
+ },
99
+ {
100
+ displayName: 'Date Time Value',
101
+ name: 'dateTimeValue',
102
+ type: 'dateTime',
103
+ default: '',
104
+ displayOptions: showForDefinitionTypes(valueAdapters_1.DATE_TIME_TYPES),
105
+ },
106
+ {
107
+ displayName: 'JSON Value',
108
+ name: 'jsonValue',
109
+ type: 'json',
110
+ default: '',
111
+ displayOptions: showForDefinitionTypes(JSON_ONLY_TYPES),
112
+ },
113
+ {
114
+ displayName: 'Rich Text (HTML)',
115
+ name: 'richTextHtml',
116
+ type: 'string',
117
+ typeOptions: {
118
+ rows: 4,
119
+ },
120
+ default: '',
121
+ description: 'HTML input that will be converted to Shopify rich text format',
122
+ displayOptions: showForDefinitionTypes(['rich_text_field']),
123
+ },
124
+ {
125
+ displayName: 'Email Value',
126
+ name: 'emailValue',
127
+ type: 'string',
128
+ placeholder: 'name@example.com',
129
+ default: '',
130
+ displayOptions: showForDefinitionTypes(['email']),
131
+ },
132
+ {
133
+ displayName: 'Money Amount',
134
+ name: 'moneyAmount',
135
+ type: 'number',
136
+ default: 0,
137
+ typeOptions: {
138
+ numberPrecision: 2,
139
+ },
140
+ displayOptions: showForDefinitionTypes(valueAdapters_1.MONEY_TYPES),
141
+ },
142
+ {
143
+ displayName: 'Currency Code',
144
+ name: 'moneyCurrencyCode',
145
+ type: 'string',
146
+ default: 'USD',
147
+ displayOptions: showForDefinitionTypes(valueAdapters_1.MONEY_TYPES),
148
+ },
149
+ {
150
+ displayName: 'Rating Value',
151
+ name: 'ratingValue',
152
+ type: 'number',
153
+ default: 0,
154
+ typeOptions: {
155
+ numberPrecision: 2,
156
+ },
157
+ displayOptions: showForDefinitionTypes(valueAdapters_1.RATING_TYPES),
158
+ },
159
+ {
160
+ displayName: 'Scale Min',
161
+ name: 'ratingScaleMin',
162
+ type: 'number',
163
+ default: 1,
164
+ typeOptions: {
165
+ numberPrecision: 2,
166
+ },
167
+ displayOptions: showForDefinitionTypes(valueAdapters_1.RATING_TYPES),
168
+ },
169
+ {
170
+ displayName: 'Scale Max',
171
+ name: 'ratingScaleMax',
172
+ type: 'number',
173
+ default: 5,
174
+ typeOptions: {
175
+ numberPrecision: 2,
176
+ },
177
+ displayOptions: showForDefinitionTypes(valueAdapters_1.RATING_TYPES),
178
+ },
179
+ {
180
+ displayName: 'Dimension Value',
181
+ name: 'dimensionValue',
182
+ type: 'number',
183
+ default: 0,
184
+ typeOptions: {
185
+ numberPrecision: 3,
186
+ },
187
+ displayOptions: showForDefinitionTypes(valueAdapters_1.DIMENSION_TYPES),
188
+ },
189
+ {
190
+ displayName: 'Dimension Unit',
191
+ name: 'dimensionUnit',
192
+ type: 'options',
193
+ options: [
194
+ { name: 'Centimeter', value: 'cm' },
195
+ { name: 'Foot', value: 'ft' },
196
+ { name: 'Inch', value: 'in' },
197
+ { name: 'Meter', value: 'm' },
198
+ { name: 'Millimeter', value: 'mm' },
199
+ { name: 'Yard', value: 'yd' },
200
+ ],
201
+ default: 'cm',
202
+ displayOptions: showForDefinitionTypes(valueAdapters_1.DIMENSION_TYPES),
203
+ },
204
+ {
205
+ displayName: 'Volume Value',
206
+ name: 'volumeValue',
207
+ type: 'number',
208
+ default: 0,
209
+ typeOptions: {
210
+ numberPrecision: 3,
211
+ },
212
+ displayOptions: showForDefinitionTypes(valueAdapters_1.VOLUME_TYPES),
213
+ },
214
+ {
215
+ displayName: 'Volume Unit',
216
+ name: 'volumeUnit',
217
+ type: 'options',
218
+ options: [
219
+ { name: 'Centiliter', value: 'cl' },
220
+ { name: 'Cubic Meter', value: 'm3' },
221
+ { name: 'Imperial Fluid Ounce', value: 'imp_fl_oz' },
222
+ { name: 'Imperial Gallon', value: 'imp_gal' },
223
+ { name: 'Imperial Pint', value: 'imp_pt' },
224
+ { name: 'Imperial Quart', value: 'imp_qt' },
225
+ { name: 'Liter', value: 'l' },
226
+ { name: 'Milliliter', value: 'ml' },
227
+ { name: 'US Fluid Ounce', value: 'us_fl_oz' },
228
+ { name: 'US Gallon', value: 'us_gal' },
229
+ { name: 'US Pint', value: 'us_pt' },
230
+ { name: 'US Quart', value: 'us_qt' },
231
+ ],
232
+ default: 'ml',
233
+ displayOptions: showForDefinitionTypes(valueAdapters_1.VOLUME_TYPES),
234
+ },
235
+ {
236
+ displayName: 'Weight Value',
237
+ name: 'weightValue',
238
+ type: 'number',
239
+ default: 0,
240
+ typeOptions: {
241
+ numberPrecision: 3,
242
+ },
243
+ displayOptions: showForDefinitionTypes(valueAdapters_1.WEIGHT_TYPES),
244
+ },
245
+ {
246
+ displayName: 'Weight Unit',
247
+ name: 'weightUnit',
248
+ type: 'options',
249
+ options: [
250
+ { name: 'Gram', value: 'g' },
251
+ { name: 'Kilogram', value: 'kg' },
252
+ { name: 'Ounce', value: 'oz' },
253
+ { name: 'Pound', value: 'lb' },
254
+ ],
255
+ default: 'g',
256
+ displayOptions: showForDefinitionTypes(valueAdapters_1.WEIGHT_TYPES),
257
+ },
258
+ {
259
+ displayName: 'Values (JSON Array of Strings)',
260
+ name: 'listStringArray',
261
+ type: 'json',
262
+ default: '[]',
263
+ description: 'Enter a JSON array of strings. Example: ["value 1", "value 2"].',
264
+ displayOptions: showForDefinitionTypes(valueAdapters_1.LIST_STRING_ARRAY_TYPES),
265
+ },
266
+ {
267
+ displayName: 'List Items',
268
+ name: 'listItems',
269
+ type: 'fixedCollection',
270
+ typeOptions: {
271
+ multipleValues: true,
272
+ },
273
+ default: {},
274
+ description: 'Add one value per list item',
275
+ options: [
276
+ {
277
+ name: 'items',
278
+ displayName: 'Item',
279
+ values: [
280
+ {
281
+ displayName: 'Value',
282
+ name: 'value',
283
+ type: 'string',
284
+ default: '',
285
+ },
286
+ ],
287
+ },
288
+ ],
289
+ displayOptions: showForDefinitionTypes(NON_REFERENCE_FIXED_COLLECTION_TYPES),
290
+ },
291
+ {
292
+ displayName: 'Reference GID',
293
+ name: 'referenceGid',
294
+ type: 'string',
295
+ default: '',
296
+ placeholder: 'gid://shopify/...',
297
+ description: 'Shopify GID of the referenced record',
298
+ displayOptions: showForDefinitionTypes(valueAdapters_1.REFERENCE_TYPES),
299
+ },
300
+ {
301
+ displayName: 'Reference Items',
302
+ name: 'listReferenceItems',
303
+ type: 'fixedCollection',
304
+ typeOptions: {
305
+ multipleValues: true,
306
+ },
307
+ default: {},
308
+ description: 'Add one Shopify GID per list item',
309
+ options: [
310
+ {
311
+ name: 'items',
312
+ displayName: 'Item',
313
+ values: [
314
+ {
315
+ displayName: 'GID',
316
+ name: 'gid',
317
+ type: 'string',
318
+ default: '',
319
+ placeholder: 'gid://shopify/...',
320
+ },
321
+ ],
322
+ },
323
+ ],
324
+ displayOptions: showForDefinitionTypes(LIST_REFERENCE_FIXED_COLLECTION_TYPES),
325
+ },
326
+ ];
327
+ return withDisplay([
328
+ {
329
+ displayName: 'Metafields',
330
+ name: 'metafieldsSetItems',
331
+ type: 'fixedCollection',
332
+ typeOptions: {
333
+ multipleValues: true,
334
+ },
335
+ default: {},
336
+ options: [
337
+ {
338
+ name: 'items',
339
+ displayName: 'Metafield',
340
+ values: items,
341
+ },
342
+ ],
343
+ },
344
+ ], displayOptions);
345
+ }
346
+ function buildMetafieldDeleteCollection(displayOptions) {
347
+ return withDisplay([
348
+ {
349
+ displayName: 'Metafields',
350
+ name: 'metafieldsDeleteItems',
351
+ type: 'fixedCollection',
352
+ typeOptions: {
353
+ multipleValues: true,
354
+ },
355
+ default: {},
356
+ options: [
357
+ {
358
+ name: 'items',
359
+ displayName: 'Metafield',
360
+ values: [
361
+ {
362
+ displayName: 'Definition Name or ID',
363
+ name: 'definition',
364
+ type: 'options',
365
+ description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>',
366
+ typeOptions: {
367
+ loadOptionsMethod: 'getMetafieldDefinitionsForCurrentContext',
368
+ loadOptionsDependsOn: ['resource', 'ownerType'],
369
+ },
370
+ default: '',
371
+ required: true,
372
+ },
373
+ ],
374
+ },
375
+ ],
376
+ },
377
+ ], displayOptions);
378
+ }
379
+ function buildStandaloneMetafieldValueFields() {
380
+ return [
381
+ ...buildMetafieldSetCollection({
382
+ show: {
383
+ resource: ['metafieldValue'],
384
+ operation: ['set'],
385
+ },
386
+ }),
387
+ ...buildMetafieldDeleteCollection({
388
+ show: {
389
+ resource: ['metafieldValue'],
390
+ operation: ['delete'],
391
+ },
392
+ }),
393
+ ];
394
+ }
395
+ //# sourceMappingURL=uiFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiFactory.js","sourceRoot":"","sources":["../../../../../nodes/ShopifyCustom/shared/metafields/uiFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export declare const BOOLEAN_TYPES: string[];
2
+ export declare const INTEGER_TYPES: string[];
3
+ export declare const NUMBER_TYPES: string[];
4
+ export declare const TEXT_TYPES: string[];
5
+ export declare const DATE_TYPES: string[];
6
+ export declare const DATE_TIME_TYPES: string[];
7
+ export declare const JSON_TYPES: string[];
8
+ export declare const MONEY_TYPES: string[];
9
+ export declare const RATING_TYPES: string[];
10
+ export declare const DIMENSION_TYPES: string[];
11
+ export declare const VOLUME_TYPES: string[];
12
+ export declare const WEIGHT_TYPES: string[];
13
+ export declare const REFERENCE_TYPES: string[];
14
+ export declare const LIST_REFERENCE_TYPES: string[];
15
+ export declare const LIST_STRING_ARRAY_TYPES: string[];
16
+ export declare function unwrapListType(type: string): {
17
+ isList: boolean;
18
+ baseType: string;
19
+ };
20
+ export declare function isTypeIn(type: string, supportedTypes: string[]): boolean;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LIST_STRING_ARRAY_TYPES = exports.LIST_REFERENCE_TYPES = exports.REFERENCE_TYPES = exports.WEIGHT_TYPES = exports.VOLUME_TYPES = exports.DIMENSION_TYPES = exports.RATING_TYPES = exports.MONEY_TYPES = exports.JSON_TYPES = exports.DATE_TIME_TYPES = exports.DATE_TYPES = exports.TEXT_TYPES = exports.NUMBER_TYPES = exports.INTEGER_TYPES = exports.BOOLEAN_TYPES = void 0;
4
+ exports.unwrapListType = unwrapListType;
5
+ exports.isTypeIn = isTypeIn;
6
+ exports.BOOLEAN_TYPES = ['boolean'];
7
+ exports.INTEGER_TYPES = ['number_integer'];
8
+ exports.NUMBER_TYPES = ['number_decimal'];
9
+ exports.TEXT_TYPES = [
10
+ 'single_line_text_field',
11
+ 'multi_line_text_field',
12
+ 'email',
13
+ 'link',
14
+ 'url',
15
+ 'color',
16
+ 'language',
17
+ 'id',
18
+ ];
19
+ exports.DATE_TYPES = ['date'];
20
+ exports.DATE_TIME_TYPES = ['date_time'];
21
+ exports.JSON_TYPES = ['json', 'rich_text_field'];
22
+ exports.MONEY_TYPES = ['money'];
23
+ exports.RATING_TYPES = ['rating'];
24
+ exports.DIMENSION_TYPES = ['dimension'];
25
+ exports.VOLUME_TYPES = ['volume'];
26
+ exports.WEIGHT_TYPES = ['weight'];
27
+ exports.REFERENCE_TYPES = [
28
+ 'product_reference',
29
+ 'variant_reference',
30
+ 'collection_reference',
31
+ 'customer_reference',
32
+ 'order_reference',
33
+ 'metaobject_reference',
34
+ 'page_reference',
35
+ 'file_reference',
36
+ ];
37
+ exports.LIST_REFERENCE_TYPES = exports.REFERENCE_TYPES.map((type) => `list.${type}`);
38
+ exports.LIST_STRING_ARRAY_TYPES = [
39
+ 'list.single_line_text_field',
40
+ 'list.file_reference',
41
+ 'list.id',
42
+ 'list.number_decimal',
43
+ 'list.number_integer',
44
+ 'list.url',
45
+ 'list.color',
46
+ 'list.date_time',
47
+ 'list.date',
48
+ ];
49
+ function unwrapListType(type) {
50
+ if (!type.startsWith('list.')) {
51
+ return { isList: false, baseType: type };
52
+ }
53
+ return {
54
+ isList: true,
55
+ baseType: type.slice(5),
56
+ };
57
+ }
58
+ function isTypeIn(type, supportedTypes) {
59
+ return supportedTypes.includes(type);
60
+ }
61
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../nodes/ShopifyCustom/shared/metafields/valueAdapters/constants.ts"],"names":[],"mappings":";;;AAqDA,wCASC;AAED,4BAEC;AAlEY,QAAA,aAAa,GAAG,CAAC,SAAS,CAAC,CAAC;AAE5B,QAAA,aAAa,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAEnC,QAAA,YAAY,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAElC,QAAA,UAAU,GAAG;IACzB,wBAAwB;IACxB,uBAAuB;IACvB,OAAO;IACP,MAAM;IACN,KAAK;IACL,OAAO;IACP,UAAU;IACV,IAAI;CACJ,CAAC;AAEW,QAAA,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC;AACtB,QAAA,eAAe,GAAG,CAAC,WAAW,CAAC,CAAC;AAEhC,QAAA,UAAU,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAEzC,QAAA,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC;AACxB,QAAA,YAAY,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,QAAA,eAAe,GAAG,CAAC,WAAW,CAAC,CAAC;AAChC,QAAA,YAAY,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,QAAA,YAAY,GAAG,CAAC,QAAQ,CAAC,CAAC;AAE1B,QAAA,eAAe,GAAG;IAC9B,mBAAmB;IACnB,mBAAmB;IACnB,sBAAsB;IACtB,oBAAoB;IACpB,iBAAiB;IACjB,sBAAsB;IACtB,gBAAgB;IAChB,gBAAgB;CAChB,CAAC;AAEW,QAAA,oBAAoB,GAAG,uBAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AAErE,QAAA,uBAAuB,GAAG;IACtC,6BAA6B;IAC7B,qBAAqB;IACrB,SAAS;IACT,qBAAqB;IACrB,qBAAqB;IACrB,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,WAAW;CACX,CAAC;AAEF,SAAgB,cAAc,CAAC,IAAY;IAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO;QACN,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACvB,CAAC;AACH,CAAC;AAED,SAAgB,QAAQ,CAAC,IAAY,EAAE,cAAwB;IAC9D,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { IDataObject } from 'n8n-workflow';
2
+ export { BOOLEAN_TYPES, DATE_TIME_TYPES, DATE_TYPES, DIMENSION_TYPES, INTEGER_TYPES, JSON_TYPES, LIST_REFERENCE_TYPES, LIST_STRING_ARRAY_TYPES, MONEY_TYPES, NUMBER_TYPES, RATING_TYPES, REFERENCE_TYPES, TEXT_TYPES, VOLUME_TYPES, WEIGHT_TYPES, } from './constants';
3
+ export declare function serializeMetafieldValue(type: string, item: IDataObject): string | undefined;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WEIGHT_TYPES = exports.VOLUME_TYPES = exports.TEXT_TYPES = exports.REFERENCE_TYPES = exports.RATING_TYPES = exports.NUMBER_TYPES = exports.MONEY_TYPES = exports.LIST_STRING_ARRAY_TYPES = exports.LIST_REFERENCE_TYPES = exports.JSON_TYPES = exports.INTEGER_TYPES = exports.DIMENSION_TYPES = exports.DATE_TYPES = exports.DATE_TIME_TYPES = exports.BOOLEAN_TYPES = void 0;
4
+ exports.serializeMetafieldValue = serializeMetafieldValue;
5
+ const constants_1 = require("./constants");
6
+ const list_1 = require("./list");
7
+ const reference_1 = require("./reference");
8
+ const scalar_1 = require("./scalar");
9
+ const structured_1 = require("./structured");
10
+ var constants_2 = require("./constants");
11
+ Object.defineProperty(exports, "BOOLEAN_TYPES", { enumerable: true, get: function () { return constants_2.BOOLEAN_TYPES; } });
12
+ Object.defineProperty(exports, "DATE_TIME_TYPES", { enumerable: true, get: function () { return constants_2.DATE_TIME_TYPES; } });
13
+ Object.defineProperty(exports, "DATE_TYPES", { enumerable: true, get: function () { return constants_2.DATE_TYPES; } });
14
+ Object.defineProperty(exports, "DIMENSION_TYPES", { enumerable: true, get: function () { return constants_2.DIMENSION_TYPES; } });
15
+ Object.defineProperty(exports, "INTEGER_TYPES", { enumerable: true, get: function () { return constants_2.INTEGER_TYPES; } });
16
+ Object.defineProperty(exports, "JSON_TYPES", { enumerable: true, get: function () { return constants_2.JSON_TYPES; } });
17
+ Object.defineProperty(exports, "LIST_REFERENCE_TYPES", { enumerable: true, get: function () { return constants_2.LIST_REFERENCE_TYPES; } });
18
+ Object.defineProperty(exports, "LIST_STRING_ARRAY_TYPES", { enumerable: true, get: function () { return constants_2.LIST_STRING_ARRAY_TYPES; } });
19
+ Object.defineProperty(exports, "MONEY_TYPES", { enumerable: true, get: function () { return constants_2.MONEY_TYPES; } });
20
+ Object.defineProperty(exports, "NUMBER_TYPES", { enumerable: true, get: function () { return constants_2.NUMBER_TYPES; } });
21
+ Object.defineProperty(exports, "RATING_TYPES", { enumerable: true, get: function () { return constants_2.RATING_TYPES; } });
22
+ Object.defineProperty(exports, "REFERENCE_TYPES", { enumerable: true, get: function () { return constants_2.REFERENCE_TYPES; } });
23
+ Object.defineProperty(exports, "TEXT_TYPES", { enumerable: true, get: function () { return constants_2.TEXT_TYPES; } });
24
+ Object.defineProperty(exports, "VOLUME_TYPES", { enumerable: true, get: function () { return constants_2.VOLUME_TYPES; } });
25
+ Object.defineProperty(exports, "WEIGHT_TYPES", { enumerable: true, get: function () { return constants_2.WEIGHT_TYPES; } });
26
+ function serializeMetafieldValue(type, item) {
27
+ const { isList, baseType } = (0, constants_1.unwrapListType)(type);
28
+ if (isList) {
29
+ if ((0, constants_1.isTypeIn)(type, constants_1.LIST_REFERENCE_TYPES)) {
30
+ return (0, reference_1.serializeReferenceMetafieldValue)(type, item);
31
+ }
32
+ return (0, list_1.serializeListMetafieldValue)(baseType, item);
33
+ }
34
+ if ((0, constants_1.isTypeIn)(type, constants_1.REFERENCE_TYPES)) {
35
+ return (0, reference_1.serializeReferenceMetafieldValue)(type, item);
36
+ }
37
+ const structuredValue = (0, structured_1.serializeStructuredMetafieldValue)(type, item);
38
+ if (structuredValue !== undefined) {
39
+ return structuredValue;
40
+ }
41
+ return (0, scalar_1.serializeScalarMetafieldValue)(type, item);
42
+ }
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../nodes/ShopifyCustom/shared/metafields/valueAdapters/index.ts"],"names":[],"mappings":";;;AA8BA,0DAmBC;AAhDD,2CAKqB;AACrB,iCAAqD;AACrD,2CAA+D;AAC/D,qCAAyD;AACzD,6CAAiE;AAEjE,yCAgBqB;AAfpB,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,uGAAA,UAAU,OAAA;AACV,4GAAA,eAAe,OAAA;AACf,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA;AACV,iHAAA,oBAAoB,OAAA;AACpB,oHAAA,uBAAuB,OAAA;AACvB,wGAAA,WAAW,OAAA;AACX,yGAAA,YAAY,OAAA;AACZ,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AACf,uGAAA,UAAU,OAAA;AACV,yGAAA,YAAY,OAAA;AACZ,yGAAA,YAAY,OAAA;AAGb,SAAgB,uBAAuB,CAAC,IAAY,EAAE,IAAiB;IACtE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,0BAAc,EAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,EAAE,CAAC;QACZ,IAAI,IAAA,oBAAQ,EAAC,IAAI,EAAE,gCAAoB,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAA,4CAAgC,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAA,kCAA2B,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,IAAA,oBAAQ,EAAC,IAAI,EAAE,2BAAe,CAAC,EAAE,CAAC;QACrC,OAAO,IAAA,4CAAgC,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,8CAAiC,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,OAAO,IAAA,sCAA6B,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { IDataObject } from 'n8n-workflow';
2
+ export declare function serializeListMetafieldValue(baseType: string, item: IDataObject): string | undefined;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeListMetafieldValue = serializeListMetafieldValue;
4
+ const constants_1 = require("./constants");
5
+ function isObject(value) {
6
+ return !!value && typeof value === 'object' && !Array.isArray(value);
7
+ }
8
+ function parseRawListValues(value) {
9
+ if (value === undefined || value === null) {
10
+ return [];
11
+ }
12
+ return String(value)
13
+ .split(/[\n,]/g)
14
+ .map((item) => item.trim())
15
+ .filter((item) => item.length > 0);
16
+ }
17
+ function parseJsonArrayValues(value) {
18
+ if (value === undefined || value === null || value === '') {
19
+ return [];
20
+ }
21
+ const normalize = (items) => items
22
+ .map((item) => String(item !== null && item !== void 0 ? item : '').trim())
23
+ .filter((item) => item.length > 0);
24
+ if (Array.isArray(value)) {
25
+ return normalize(value);
26
+ }
27
+ if (typeof value === 'string') {
28
+ const trimmed = value.trim();
29
+ if (trimmed.length === 0) {
30
+ return [];
31
+ }
32
+ let parsed;
33
+ try {
34
+ parsed = JSON.parse(trimmed);
35
+ }
36
+ catch {
37
+ throw new Error('List values must be a valid JSON array');
38
+ }
39
+ if (!Array.isArray(parsed)) {
40
+ throw new Error('List values must be a JSON array');
41
+ }
42
+ return normalize(parsed);
43
+ }
44
+ throw new Error('List values must be a JSON array');
45
+ }
46
+ function parseFixedCollectionValues(value) {
47
+ if (!isObject(value) || !Array.isArray(value.items)) {
48
+ return [];
49
+ }
50
+ return value.items
51
+ .filter(isObject)
52
+ .map((entry) => { var _a; return String((_a = entry.value) !== null && _a !== void 0 ? _a : '').trim(); })
53
+ .filter((entryValue) => entryValue.length > 0);
54
+ }
55
+ function toIsoDate(value) {
56
+ const parsed = new Date(value);
57
+ if (Number.isNaN(parsed.getTime())) {
58
+ throw new Error(`Invalid date value in list: ${value}`);
59
+ }
60
+ return parsed.toISOString().slice(0, 10);
61
+ }
62
+ function toIsoDateTime(value) {
63
+ const parsed = new Date(value);
64
+ if (Number.isNaN(parsed.getTime())) {
65
+ throw new Error(`Invalid date time value in list: ${value}`);
66
+ }
67
+ return parsed.toISOString();
68
+ }
69
+ function serializeListMetafieldValue(baseType, item) {
70
+ const jsonArrayItems = parseJsonArrayValues(item.listStringArray);
71
+ const fixedCollectionItems = parseFixedCollectionValues(item.listItems);
72
+ const rawItems = jsonArrayItems.length > 0
73
+ ? jsonArrayItems
74
+ : fixedCollectionItems.length > 0
75
+ ? fixedCollectionItems
76
+ : parseRawListValues(item.listValues);
77
+ if (rawItems.length === 0) {
78
+ return undefined;
79
+ }
80
+ const mapped = rawItems.map((rawItem) => {
81
+ if (constants_1.BOOLEAN_TYPES.includes(baseType)) {
82
+ return rawItem === 'true' || rawItem === '1';
83
+ }
84
+ if (constants_1.INTEGER_TYPES.includes(baseType)) {
85
+ return Math.trunc(Number(rawItem));
86
+ }
87
+ if (constants_1.NUMBER_TYPES.includes(baseType)) {
88
+ return Number(rawItem);
89
+ }
90
+ if (constants_1.DATE_TYPES.includes(baseType)) {
91
+ return toIsoDate(rawItem);
92
+ }
93
+ if (constants_1.DATE_TIME_TYPES.includes(baseType)) {
94
+ return toIsoDateTime(rawItem);
95
+ }
96
+ if (constants_1.JSON_TYPES.includes(baseType)) {
97
+ return JSON.parse(rawItem);
98
+ }
99
+ return rawItem;
100
+ });
101
+ return JSON.stringify(mapped);
102
+ }
103
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../nodes/ShopifyCustom/shared/metafields/valueAdapters/list.ts"],"names":[],"mappings":"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"}