rerobe-js-orm 4.4.6 → 4.4.8
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.
- package/lib/constants/file-constants.d.ts +4 -4
- package/lib/constants/ledger-constants.js +6 -6
- package/lib/constants/merchant-constants.d.ts +84 -43
- package/lib/constants/merchant-constants.js +43 -1
- package/lib/constants/notification-constants.d.ts +9 -9
- package/lib/constants/order-constants.d.ts +44 -35
- package/lib/constants/product-constants.d.ts +193 -193
- package/lib/constants/product-constants.js +3 -3
- package/lib/factories/Product/ProductFromFormState.js +4 -4
- package/lib/form-states/Merchant/MerchantConfigAutomatedPayoutsFormState.d.ts +10 -0
- package/lib/form-states/Merchant/MerchantConfigAutomatedPayoutsFormState.js +174 -0
- package/lib/helpers/CryptoPolyfill.js +1 -2
- package/lib/helpers/OrderHelpers.js +2 -2
- package/lib/helpers/SellerProductLedgerHelpers.js +1 -1
- package/lib/helpers/Utilities.js +6 -7
- package/lib/index.d.ts +3 -1
- package/lib/index.js +5 -1
- package/lib/models/Merchant.js +1 -1
- package/lib/models/MerchantConfigAutomatedPayouts.d.ts +13 -0
- package/lib/models/MerchantConfigAutomatedPayouts.js +44 -0
- package/lib/models/Order.js +1 -1
- package/lib/models/PayoutAccount.js +1 -1
- package/lib/models/Product.js +15 -11
- package/lib/models/ProductCollection.js +2 -2
- package/lib/models/ProductStateManager.js +1 -1
- package/lib/types/ledger-transaction-types.d.ts +6 -6
- package/lib/types/merchant-config-types.d.ts +24 -0
- package/lib/types/merchant-config-types.js +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const FormState_1 = require("../FormState");
|
|
4
|
+
const MerchantConfigAutomatedPayouts_1 = require("../../models/MerchantConfigAutomatedPayouts");
|
|
5
|
+
const merchant_constants_1 = require("../../constants/merchant-constants");
|
|
6
|
+
const enabledOptions = [
|
|
7
|
+
{ label: 'Yes', value: 'yes' },
|
|
8
|
+
{ label: 'No', value: 'no' },
|
|
9
|
+
];
|
|
10
|
+
const scheduleOptions = [
|
|
11
|
+
{
|
|
12
|
+
label: 'Payout daily',
|
|
13
|
+
value: merchant_constants_1.AUTOMATED_PAYOUT_SCHEDULE.daily,
|
|
14
|
+
description: 'Payouts will automatically be processed daily.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
label: 'Payout after X business days',
|
|
18
|
+
value: merchant_constants_1.AUTOMATED_PAYOUT_SCHEDULE.afterBusinessDays,
|
|
19
|
+
description: 'Enter how many business days Ribbn should wait before processing payouts.',
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
// legacy options removed
|
|
23
|
+
class MerchantConfigAutomatedPayoutsFormState extends FormState_1.default {
|
|
24
|
+
constructor(props) {
|
|
25
|
+
super();
|
|
26
|
+
this.props = new MerchantConfigAutomatedPayouts_1.default(props).toObj();
|
|
27
|
+
this.fields.enabled = this.fieldFactory('singleSelect', 'enabled', enabledOptions);
|
|
28
|
+
this.fields.schedule = this.fieldFactory('singleSelect', 'schedule', scheduleOptions);
|
|
29
|
+
// legacy day fields removed
|
|
30
|
+
this.fields.businessDaysAfter = this.fieldFactory('textInput', 'businessDaysAfter');
|
|
31
|
+
this.fields.excludedSellers = this.fieldFactory('multiSelect', 'excludedSellers');
|
|
32
|
+
}
|
|
33
|
+
createMerchantConfigAutomatedPayoutsObj() {
|
|
34
|
+
var _a;
|
|
35
|
+
return Object.assign(Object.assign({}, this.props), { enabled: this.fields.enabled.selectedValue, schedule: this.fields.schedule.selectedValue, businessDaysAfter: this.fields.businessDaysAfter.inputValue
|
|
36
|
+
? Number(this.fields.businessDaysAfter.inputValue)
|
|
37
|
+
: null, excludedSellers: ((_a = this.fields.excludedSellers) === null || _a === void 0 ? void 0 : _a.selectedValues) || [] });
|
|
38
|
+
}
|
|
39
|
+
fieldFactory(fieldType, fieldKey, fieldOptions) {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
const options = fieldOptions || [];
|
|
42
|
+
if (fieldType === 'singleSelect') {
|
|
43
|
+
const selectedValue = (_a = this.props[fieldKey]) !== null && _a !== void 0 ? _a : '';
|
|
44
|
+
let valid = selectedValue !== undefined && selectedValue !== null;
|
|
45
|
+
let hidden = false;
|
|
46
|
+
let onChangeHandler = (val) => this.singleSelectChangeHandler(fieldKey, val);
|
|
47
|
+
// no legacy day fields
|
|
48
|
+
if (fieldKey === 'schedule') {
|
|
49
|
+
onChangeHandler = (val) => this.scheduleSelectHandler(val);
|
|
50
|
+
// Schedule is optional until enabled='yes' and a schedule chosen
|
|
51
|
+
valid =
|
|
52
|
+
selectedValue === '' ||
|
|
53
|
+
selectedValue === merchant_constants_1.AUTOMATED_PAYOUT_SCHEDULE.daily ||
|
|
54
|
+
selectedValue === merchant_constants_1.AUTOMATED_PAYOUT_SCHEDULE.afterBusinessDays;
|
|
55
|
+
hidden = this.props.enabled !== 'yes';
|
|
56
|
+
}
|
|
57
|
+
if (fieldKey === 'enabled') {
|
|
58
|
+
onChangeHandler = (val) => this.enabledSelectHandler(val);
|
|
59
|
+
valid = selectedValue === 'yes' || selectedValue === 'no';
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
options,
|
|
63
|
+
hidden,
|
|
64
|
+
selectedValue,
|
|
65
|
+
valid,
|
|
66
|
+
onChangeHandler,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
if (fieldType === 'textInput') {
|
|
70
|
+
const inputValue = (_b = this.props[fieldKey]) !== null && _b !== void 0 ? _b : '';
|
|
71
|
+
let valid = inputValue !== '';
|
|
72
|
+
let hidden = false;
|
|
73
|
+
let onChangeHandler = (val) => this.textInputChangeHandler(fieldKey, String(val));
|
|
74
|
+
if (fieldKey === 'businessDaysAfter') {
|
|
75
|
+
// Only visible if AFTER_BUSINESS_DAYS
|
|
76
|
+
hidden = this.props.schedule !== merchant_constants_1.AUTOMATED_PAYOUT_SCHEDULE.afterBusinessDays;
|
|
77
|
+
// Required only when AFTER_BUSINESS_DAYS; otherwise treat as valid
|
|
78
|
+
if (!hidden) {
|
|
79
|
+
const num = Number(inputValue);
|
|
80
|
+
valid = !isNaN(num) && num > 0 && Number.isInteger(num);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
valid = true;
|
|
84
|
+
}
|
|
85
|
+
onChangeHandler = (val) => {
|
|
86
|
+
this.fields.businessDaysAfter.inputValue = val;
|
|
87
|
+
const num = Number(val);
|
|
88
|
+
this.fields.businessDaysAfter.valid = !isNaN(num) && num > 0 && Number.isInteger(num);
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
inputValue,
|
|
93
|
+
valid,
|
|
94
|
+
hidden,
|
|
95
|
+
onChangeHandler,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
if (fieldType === 'multiSelect') {
|
|
99
|
+
const selectedValues = this.props[fieldKey] || [];
|
|
100
|
+
const valid = true; // optional field
|
|
101
|
+
const hidden = this.props.enabled !== 'yes';
|
|
102
|
+
const onChangeHandler = (val) => this.multiSelectChangeHandler(fieldKey, val);
|
|
103
|
+
return {
|
|
104
|
+
options,
|
|
105
|
+
selectedValues,
|
|
106
|
+
valid,
|
|
107
|
+
hidden,
|
|
108
|
+
onChangeHandler,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
return { valid: false };
|
|
112
|
+
}
|
|
113
|
+
scheduleSelectHandler(value) {
|
|
114
|
+
const selectedValue = value;
|
|
115
|
+
const valid = value === '' ||
|
|
116
|
+
[merchant_constants_1.AUTOMATED_PAYOUT_SCHEDULE.daily, merchant_constants_1.AUTOMATED_PAYOUT_SCHEDULE.afterBusinessDays].includes(value);
|
|
117
|
+
this.fields.schedule.selectedValue = selectedValue;
|
|
118
|
+
this.fields.schedule.valid = valid;
|
|
119
|
+
// Toggle visibility based on schedule
|
|
120
|
+
// legacy day fields removed
|
|
121
|
+
if (this.fields.businessDaysAfter) {
|
|
122
|
+
this.fields.businessDaysAfter.hidden = value !== merchant_constants_1.AUTOMATED_PAYOUT_SCHEDULE.afterBusinessDays;
|
|
123
|
+
if (value === '' || value === merchant_constants_1.AUTOMATED_PAYOUT_SCHEDULE.daily) {
|
|
124
|
+
this.fields.businessDaysAfter.inputValue = '';
|
|
125
|
+
// Not required when daily; keep valid true to avoid blocking save
|
|
126
|
+
this.fields.businessDaysAfter.valid = true;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (this.fields.excludedSellers) {
|
|
130
|
+
this.fields.excludedSellers.hidden = this.fields.enabled.selectedValue !== 'yes';
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
enabledSelectHandler(value) {
|
|
134
|
+
this.fields.enabled.selectedValue = value;
|
|
135
|
+
this.fields.enabled.valid = value === 'yes' || value === 'no';
|
|
136
|
+
// If 'no', reset and hide other fields
|
|
137
|
+
if (value === 'no') {
|
|
138
|
+
this.fields.schedule.selectedValue = '';
|
|
139
|
+
this.fields.schedule.valid = true;
|
|
140
|
+
this.fields.schedule.hidden = true;
|
|
141
|
+
if (this.fields.businessDaysAfter) {
|
|
142
|
+
this.fields.businessDaysAfter.inputValue = '';
|
|
143
|
+
this.fields.businessDaysAfter.valid = true;
|
|
144
|
+
this.fields.businessDaysAfter.hidden = true;
|
|
145
|
+
}
|
|
146
|
+
if (this.fields.excludedSellers) {
|
|
147
|
+
this.fields.excludedSellers.selectedValues = [];
|
|
148
|
+
this.fields.excludedSellers.hidden = true;
|
|
149
|
+
this.fields.excludedSellers.valid = true;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
this.fields.schedule.hidden = false;
|
|
154
|
+
// If schedule is clean/empty, default it to DAILY
|
|
155
|
+
if (!this.fields.schedule.selectedValue) {
|
|
156
|
+
this.fields.schedule.selectedValue = merchant_constants_1.AUTOMATED_PAYOUT_SCHEDULE.daily;
|
|
157
|
+
this.fields.schedule.valid = true;
|
|
158
|
+
if (this.fields.businessDaysAfter) {
|
|
159
|
+
this.fields.businessDaysAfter.inputValue = '';
|
|
160
|
+
this.fields.businessDaysAfter.valid = true;
|
|
161
|
+
this.fields.businessDaysAfter.hidden = true;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (this.fields.businessDaysAfter) {
|
|
165
|
+
this.fields.businessDaysAfter.hidden =
|
|
166
|
+
this.fields.schedule.selectedValue !== merchant_constants_1.AUTOMATED_PAYOUT_SCHEDULE.afterBusinessDays;
|
|
167
|
+
}
|
|
168
|
+
if (this.fields.excludedSellers) {
|
|
169
|
+
this.fields.excludedSellers.hidden = false;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
exports.default = MerchantConfigAutomatedPayoutsFormState;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createHash =
|
|
3
|
+
exports.createHash = createHash;
|
|
4
4
|
const CryptoJS = require("crypto-js");
|
|
5
5
|
/**
|
|
6
6
|
* Polyfill for Node.js crypto module to work in React Native environments
|
|
@@ -43,4 +43,3 @@ function createHash(algorithm) {
|
|
|
43
43
|
},
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
|
-
exports.createHash = createHash;
|
|
@@ -446,7 +446,7 @@ class OrderHelpers {
|
|
|
446
446
|
creditDiscountPresentment: prepareMoneyObj(creditDiscountAmount),
|
|
447
447
|
additionalDiscountPresentment: prepareMoneyObj(additionalDiscount),
|
|
448
448
|
lineItems,
|
|
449
|
-
subtotalPricePresentment: prepareMoneyObj(subTotalWithSalePriceIncluded),
|
|
449
|
+
subtotalPricePresentment: prepareMoneyObj(subTotalWithSalePriceIncluded), // This is sum of items with sale prices included minus credits minus additional discount. Calculated with getSubtotalWithSalePriceIncluded()
|
|
450
450
|
totalDiscountPresentment: prepareMoneyObj(creditDiscountAmount + additionalDiscount),
|
|
451
451
|
totalShippingPricePresentment: prepareMoneyObj(shippingPrice),
|
|
452
452
|
itemsTaxPresentment: prepareMoneyObj(itemsTax),
|
|
@@ -486,7 +486,7 @@ class OrderHelpers {
|
|
|
486
486
|
saleDiscountPresentment: prepareMoneyObj(saleDiscountPresentmentAmount),
|
|
487
487
|
creditDiscountPresentment: prepareMoneyObj(creditDiscountPresentmentAmount),
|
|
488
488
|
additionalDiscountPresentment: prepareMoneyObj(additionalDiscountPresentmentAmount),
|
|
489
|
-
subtotalPricePresentment: prepareMoneyObj(subtotalPricePresentmentAmount),
|
|
489
|
+
subtotalPricePresentment: prepareMoneyObj(subtotalPricePresentmentAmount), // This is sum of items with sale prices included minus credits minus additional discount
|
|
490
490
|
totalDiscountPresentment: prepareMoneyObj(Number(creditDiscountPresentmentAmount) + Number(additionalDiscountPresentmentAmount)),
|
|
491
491
|
totalShippingPricePresentment: prepareMoneyObj(totalShippingPricePresentmentAmount),
|
|
492
492
|
totalPricePresentment: prepareMoneyObj(Number(subtotalPricePresentmentAmount) + Number(totalShippingPricePresentmentAmount)),
|
|
@@ -8,7 +8,7 @@ class SellerProductLedgerHelpers {
|
|
|
8
8
|
return {
|
|
9
9
|
documentId: utilities.makeRandId(28),
|
|
10
10
|
timestamp: Date.now(),
|
|
11
|
-
sellerProductLedgerId: payload.sellerProductLedgerId || '',
|
|
11
|
+
sellerProductLedgerId: payload.sellerProductLedgerId || '', // There should always be a sellerProductLedgerId
|
|
12
12
|
action: (payload === null || payload === void 0 ? void 0 : payload.action) || SellerProductLedgerActivityLogAction.STATUS_CHANGED_TO_PENDING_RETURN_PERIOD_COMPLETION,
|
|
13
13
|
details: (payload === null || payload === void 0 ? void 0 : payload.details) || '',
|
|
14
14
|
actorId: (payload === null || payload === void 0 ? void 0 : payload.actorId) || 'system',
|
package/lib/helpers/Utilities.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getPresentmentLocaleByCurrencyCode = getPresentmentLocaleByCurrencyCode;
|
|
4
|
+
exports.convertAddressInputToFormatted = convertAddressInputToFormatted;
|
|
5
|
+
exports.formatPrice = formatPrice;
|
|
6
|
+
exports.getFormattedTimestamp = getFormattedTimestamp;
|
|
7
|
+
exports.capitalizeString = capitalizeString;
|
|
8
|
+
exports.singularizeProductType = singularizeProductType;
|
|
4
9
|
// @ts-ignore
|
|
5
10
|
const lodash_1 = require("lodash");
|
|
6
11
|
class Utilities {
|
|
@@ -207,7 +212,6 @@ function getPresentmentLocaleByCurrencyCode(currencyCode) {
|
|
|
207
212
|
}
|
|
208
213
|
return presentmentLocale;
|
|
209
214
|
}
|
|
210
|
-
exports.getPresentmentLocaleByCurrencyCode = getPresentmentLocaleByCurrencyCode;
|
|
211
215
|
function convertAddressInputToFormatted(address) {
|
|
212
216
|
if (!address) {
|
|
213
217
|
return '';
|
|
@@ -219,27 +223,23 @@ function convertAddressInputToFormatted(address) {
|
|
|
219
223
|
const formattedAddress = `${address1}${address2 ? `\n${address2}` : ''}\n${city}${province ? `, ${province}` : ''}, ${zip}, ${country}`;
|
|
220
224
|
return formattedAddress;
|
|
221
225
|
}
|
|
222
|
-
exports.convertAddressInputToFormatted = convertAddressInputToFormatted;
|
|
223
226
|
function formatPrice({ currencyCode, amount, fractionDigits = 2, }) {
|
|
224
227
|
const presentmentLocale = getPresentmentLocaleByCurrencyCode(currencyCode);
|
|
225
228
|
const priceFormatter = initFormatter(presentmentLocale, currencyCode);
|
|
226
229
|
const valueToFormat = Number(parseFloat(String(amount)).toFixed(fractionDigits));
|
|
227
230
|
return priceFormatter.format(valueToFormat);
|
|
228
231
|
}
|
|
229
|
-
exports.formatPrice = formatPrice;
|
|
230
232
|
function getFormattedTimestamp(locale, timestamp) {
|
|
231
233
|
const date = timestamp ? new Date(timestamp) : new Date();
|
|
232
234
|
const hours = String(date.getHours()).padStart(2, '0');
|
|
233
235
|
const minutes = String(date.getMinutes()).padStart(2, '0');
|
|
234
236
|
return `${date.toLocaleDateString(locale)} ${hours}:${minutes}`;
|
|
235
237
|
}
|
|
236
|
-
exports.getFormattedTimestamp = getFormattedTimestamp;
|
|
237
238
|
function capitalizeString(s) {
|
|
238
239
|
if (typeof s !== 'string')
|
|
239
240
|
return '';
|
|
240
241
|
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
241
242
|
}
|
|
242
|
-
exports.capitalizeString = capitalizeString;
|
|
243
243
|
function singularizeProductType(word) {
|
|
244
244
|
const irregulars = {
|
|
245
245
|
Blazers: 'Blazer',
|
|
@@ -269,4 +269,3 @@ function singularizeProductType(word) {
|
|
|
269
269
|
}
|
|
270
270
|
return word;
|
|
271
271
|
}
|
|
272
|
-
exports.singularizeProductType = singularizeProductType;
|
package/lib/index.d.ts
CHANGED
|
@@ -34,7 +34,9 @@ import PayoutAccount from './models/PayoutAccount';
|
|
|
34
34
|
import PayoutAccountFormState from './form-states/PayoutAccount/PayoutAccountFormState';
|
|
35
35
|
import MerchantFormState from './form-states/Merchant/MerchantFormState';
|
|
36
36
|
import WebhookFormState from './form-states/Merchant/WebhookFormState';
|
|
37
|
+
import MerchantConfigAutomatedPayouts from './models/MerchantConfigAutomatedPayouts';
|
|
38
|
+
import MerchantConfigAutomatedPayoutsFormState from './form-states/Merchant/MerchantConfigAutomatedPayoutsFormState';
|
|
37
39
|
import ReRobeProductHelpers from './helpers/ReRobeProductHelpers';
|
|
38
40
|
import AnalyticsHelpers from './helpers/AnalyticsHelpers';
|
|
39
41
|
import OrderHelpers from './helpers/OrderHelpers';
|
|
40
|
-
export { RibbnFile, ProductFromAlgoliaJSONDoc, ProductFromShopifyWebhookJSONDoc, ProductFromShopifyJSClientJSONDoc, ProductFormStateFactory, ProductCollectionFormStateFactory, ProductCollectionHelpers, SellRequestFormStateFactory, PickUpFormStateFactory, AddressFormStateFactory, UserFormStateFactory, UserFromShopifyWebhookJSONDoc, UserFromAuthTemplateMethod, DraftOrderFromMirakl, DraftOrderFromApp, ChatRoomFromNewUserSignUp, KlarnaSessionFactory, Product, ProductStateManager, Order, OrderFromShopifyWebhook, OrderFromShopifyAdminApi, OrderFromShopifyStorefrontApi, OrderFromApp, OrderFormStateFactory, RefundFormStateFactory, PayoutAccount, PayoutAccountFormState, Merchant, MerchantFormState, MerchantFormStateFactory, ReRobeProductHelpers, User, AnalyticsHelpers, OrderHelpers, WebhookFormState, MerchantWebPage, ShopifyMerchantAccount, CustomerNotification, };
|
|
42
|
+
export { RibbnFile, ProductFromAlgoliaJSONDoc, ProductFromShopifyWebhookJSONDoc, ProductFromShopifyJSClientJSONDoc, ProductFormStateFactory, ProductCollectionFormStateFactory, ProductCollectionHelpers, SellRequestFormStateFactory, PickUpFormStateFactory, AddressFormStateFactory, UserFormStateFactory, UserFromShopifyWebhookJSONDoc, UserFromAuthTemplateMethod, DraftOrderFromMirakl, DraftOrderFromApp, ChatRoomFromNewUserSignUp, KlarnaSessionFactory, Product, ProductStateManager, Order, OrderFromShopifyWebhook, OrderFromShopifyAdminApi, OrderFromShopifyStorefrontApi, OrderFromApp, OrderFormStateFactory, RefundFormStateFactory, PayoutAccount, PayoutAccountFormState, Merchant, MerchantFormState, MerchantFormStateFactory, MerchantConfigAutomatedPayouts, MerchantConfigAutomatedPayoutsFormState, ReRobeProductHelpers, User, AnalyticsHelpers, OrderHelpers, WebhookFormState, MerchantWebPage, ShopifyMerchantAccount, CustomerNotification, };
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CustomerNotification = exports.ShopifyMerchantAccount = exports.MerchantWebPage = exports.WebhookFormState = exports.OrderHelpers = exports.AnalyticsHelpers = exports.User = exports.ReRobeProductHelpers = exports.MerchantFormStateFactory = exports.MerchantFormState = exports.Merchant = exports.PayoutAccountFormState = exports.PayoutAccount = exports.RefundFormStateFactory = exports.OrderFormStateFactory = exports.OrderFromApp = exports.OrderFromShopifyStorefrontApi = exports.OrderFromShopifyAdminApi = exports.OrderFromShopifyWebhook = exports.Order = exports.ProductStateManager = exports.Product = exports.KlarnaSessionFactory = exports.ChatRoomFromNewUserSignUp = exports.DraftOrderFromApp = exports.DraftOrderFromMirakl = exports.UserFromAuthTemplateMethod = exports.UserFromShopifyWebhookJSONDoc = exports.UserFormStateFactory = exports.AddressFormStateFactory = exports.PickUpFormStateFactory = exports.SellRequestFormStateFactory = exports.ProductCollectionHelpers = exports.ProductCollectionFormStateFactory = exports.ProductFormStateFactory = exports.ProductFromShopifyJSClientJSONDoc = exports.ProductFromShopifyWebhookJSONDoc = exports.ProductFromAlgoliaJSONDoc = exports.RibbnFile = void 0;
|
|
3
|
+
exports.CustomerNotification = exports.ShopifyMerchantAccount = exports.MerchantWebPage = exports.WebhookFormState = exports.OrderHelpers = exports.AnalyticsHelpers = exports.User = exports.ReRobeProductHelpers = exports.MerchantConfigAutomatedPayoutsFormState = exports.MerchantConfigAutomatedPayouts = exports.MerchantFormStateFactory = exports.MerchantFormState = exports.Merchant = exports.PayoutAccountFormState = exports.PayoutAccount = exports.RefundFormStateFactory = exports.OrderFormStateFactory = exports.OrderFromApp = exports.OrderFromShopifyStorefrontApi = exports.OrderFromShopifyAdminApi = exports.OrderFromShopifyWebhook = exports.Order = exports.ProductStateManager = exports.Product = exports.KlarnaSessionFactory = exports.ChatRoomFromNewUserSignUp = exports.DraftOrderFromApp = exports.DraftOrderFromMirakl = exports.UserFromAuthTemplateMethod = exports.UserFromShopifyWebhookJSONDoc = exports.UserFormStateFactory = exports.AddressFormStateFactory = exports.PickUpFormStateFactory = exports.SellRequestFormStateFactory = exports.ProductCollectionHelpers = exports.ProductCollectionFormStateFactory = exports.ProductFormStateFactory = exports.ProductFromShopifyJSClientJSONDoc = exports.ProductFromShopifyWebhookJSONDoc = exports.ProductFromAlgoliaJSONDoc = exports.RibbnFile = void 0;
|
|
4
4
|
const ProductFromShopifyJSClientJSONDoc_1 = require("./factories/Product/ProductFromShopifyJSClientJSONDoc");
|
|
5
5
|
exports.ProductFromShopifyJSClientJSONDoc = ProductFromShopifyJSClientJSONDoc_1.default;
|
|
6
6
|
const ProductFromAlgoliaJSONDoc_1 = require("./factories/Product/ProductFromAlgoliaJSONDoc");
|
|
@@ -73,6 +73,10 @@ const MerchantFormState_1 = require("./form-states/Merchant/MerchantFormState");
|
|
|
73
73
|
exports.MerchantFormState = MerchantFormState_1.default;
|
|
74
74
|
const WebhookFormState_1 = require("./form-states/Merchant/WebhookFormState");
|
|
75
75
|
exports.WebhookFormState = WebhookFormState_1.default;
|
|
76
|
+
const MerchantConfigAutomatedPayouts_1 = require("./models/MerchantConfigAutomatedPayouts");
|
|
77
|
+
exports.MerchantConfigAutomatedPayouts = MerchantConfigAutomatedPayouts_1.default;
|
|
78
|
+
const MerchantConfigAutomatedPayoutsFormState_1 = require("./form-states/Merchant/MerchantConfigAutomatedPayoutsFormState");
|
|
79
|
+
exports.MerchantConfigAutomatedPayoutsFormState = MerchantConfigAutomatedPayoutsFormState_1.default;
|
|
76
80
|
const ReRobeProductHelpers_1 = require("./helpers/ReRobeProductHelpers");
|
|
77
81
|
exports.ReRobeProductHelpers = ReRobeProductHelpers_1.default;
|
|
78
82
|
const AnalyticsHelpers_1 = require("./helpers/AnalyticsHelpers");
|
package/lib/models/Merchant.js
CHANGED
|
@@ -157,7 +157,6 @@ class Merchant extends Base_1.default {
|
|
|
157
157
|
};
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
exports.default = Merchant;
|
|
161
160
|
Merchant.MERCHANT_TYPES = merchant_constants_1.MERCHANT_TYPES;
|
|
162
161
|
Merchant.PAYMENT_TIERS = merchant_constants_1.PAYMENT_TIERS;
|
|
163
162
|
Merchant.INDUSTRY_TYPES = merchant_constants_1.INDUSTRY_TYPES;
|
|
@@ -165,3 +164,4 @@ Merchant.UNIT_SYSTEM_TYPES = merchant_constants_1.UNIT_SYSTEM_TYPES;
|
|
|
165
164
|
Merchant.METRIC_WEIGHT_TYPES = merchant_constants_1.METRIC_WEIGHT_TYPES;
|
|
166
165
|
Merchant.IMPERIAL_WEIGHT_TYPES = merchant_constants_1.IMPERIAL_WEIGHT_TYPES;
|
|
167
166
|
Merchant.RIBBN_WEBHOOK_EVENT_DICT = merchant_constants_1.RIBBN_WEBHOOK_EVENT_DICT;
|
|
167
|
+
exports.default = Merchant;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Base from '../Base';
|
|
2
|
+
export default class MerchantConfigAutomatedPayouts extends Base {
|
|
3
|
+
enabled: EnabledChoice;
|
|
4
|
+
schedule: AutomatedPayoutSchedule | '';
|
|
5
|
+
businessDaysAfter?: number | null;
|
|
6
|
+
excludedSellers?: ExcludedSeller[];
|
|
7
|
+
createdAt?: string;
|
|
8
|
+
updatedAt?: string;
|
|
9
|
+
createdAtTimestamp?: number | null;
|
|
10
|
+
updatedAtTimestamp?: number | null;
|
|
11
|
+
constructor(props?: any);
|
|
12
|
+
toObj(): MerchantConfigAutomatedPayoutsObj;
|
|
13
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Base_1 = require("../Base");
|
|
4
|
+
class MerchantConfigAutomatedPayouts extends Base_1.default {
|
|
5
|
+
constructor(props) {
|
|
6
|
+
super();
|
|
7
|
+
this.enabled = (props === null || props === void 0 ? void 0 : props.enabled) || 'no';
|
|
8
|
+
this.schedule = (props === null || props === void 0 ? void 0 : props.schedule) || '';
|
|
9
|
+
this.businessDaysAfter = (props === null || props === void 0 ? void 0 : props.businessDaysAfter) != null ? Number(props === null || props === void 0 ? void 0 : props.businessDaysAfter) : null;
|
|
10
|
+
this.excludedSellers = Array.isArray(props === null || props === void 0 ? void 0 : props.excludedSellers)
|
|
11
|
+
? props.excludedSellers.map((s) => ({
|
|
12
|
+
vendorId: String((s === null || s === void 0 ? void 0 : s.vendorId) || ''),
|
|
13
|
+
firstName: (s === null || s === void 0 ? void 0 : s.firstName) || (s === null || s === void 0 ? void 0 : s.sellerFirstName) || undefined,
|
|
14
|
+
lastName: (s === null || s === void 0 ? void 0 : s.lastName) || (s === null || s === void 0 ? void 0 : s.sellerLastName) || undefined,
|
|
15
|
+
email: (s === null || s === void 0 ? void 0 : s.email) || (s === null || s === void 0 ? void 0 : s.sellerEmail) || undefined,
|
|
16
|
+
}))
|
|
17
|
+
: [];
|
|
18
|
+
this.createdAt = (props === null || props === void 0 ? void 0 : props.createdAt) || '';
|
|
19
|
+
this.updatedAt = (props === null || props === void 0 ? void 0 : props.updatedAt) || '';
|
|
20
|
+
this.createdAtTimestamp = (props === null || props === void 0 ? void 0 : props.createdAtTimestamp) ? Number(props === null || props === void 0 ? void 0 : props.createdAtTimestamp) : null;
|
|
21
|
+
this.updatedAtTimestamp = (props === null || props === void 0 ? void 0 : props.updatedAtTimestamp) ? Number(props === null || props === void 0 ? void 0 : props.updatedAtTimestamp) : null;
|
|
22
|
+
}
|
|
23
|
+
toObj() {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
return {
|
|
26
|
+
enabled: this.enabled,
|
|
27
|
+
schedule: this.schedule,
|
|
28
|
+
businessDaysAfter: this.businessDaysAfter != null ? Number(this.businessDaysAfter) : null,
|
|
29
|
+
excludedSellers: Array.isArray(this.excludedSellers)
|
|
30
|
+
? this.excludedSellers.map((s) => ({
|
|
31
|
+
vendorId: s.vendorId,
|
|
32
|
+
firstName: s.firstName,
|
|
33
|
+
lastName: s.lastName,
|
|
34
|
+
email: s.email,
|
|
35
|
+
}))
|
|
36
|
+
: [],
|
|
37
|
+
createdAt: this.createdAt,
|
|
38
|
+
updatedAt: this.updatedAt,
|
|
39
|
+
createdAtTimestamp: (_a = this.createdAtTimestamp) !== null && _a !== void 0 ? _a : null,
|
|
40
|
+
updatedAtTimestamp: (_b = this.updatedAtTimestamp) !== null && _b !== void 0 ? _b : null,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.default = MerchantConfigAutomatedPayouts;
|
package/lib/models/Order.js
CHANGED
|
@@ -418,10 +418,10 @@ class Order extends Base_1.default {
|
|
|
418
418
|
return stagedObj;
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
|
-
exports.default = Order;
|
|
422
421
|
Order.SHIPPING_TYPES = order_constants_1.SHIPPING_TYPES;
|
|
423
422
|
Order.PAYMENT_TYPES = order_constants_1.PAYMENT_TYPES;
|
|
424
423
|
Order.ORDER_STATES = order_constants_1.ORDER_STATES;
|
|
425
424
|
Order.SALES_CHANNELS = order_constants_1.SALES_CHANNELS;
|
|
426
425
|
Order.FULFILLMENT_TYPES = order_constants_1.FULFILLMENT_TYPES;
|
|
427
426
|
Order.FINANCIAL_TYPES = order_constants_1.FINANCIAL_TYPES;
|
|
427
|
+
exports.default = Order;
|
|
@@ -57,7 +57,6 @@ class PayoutAccount extends Base_1.default {
|
|
|
57
57
|
return '';
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
exports.default = PayoutAccount;
|
|
61
60
|
PayoutAccount.PAYOUT_TYPES = {
|
|
62
61
|
bankTransfer: 'bank-transfer',
|
|
63
62
|
paypal: 'paypal',
|
|
@@ -65,3 +64,4 @@ PayoutAccount.PAYOUT_TYPES = {
|
|
|
65
64
|
mobileMoney: 'mobile-money',
|
|
66
65
|
debitCard: 'debit-card',
|
|
67
66
|
};
|
|
67
|
+
exports.default = PayoutAccount;
|
package/lib/models/Product.js
CHANGED
|
@@ -47,9 +47,9 @@ class Product extends Base_1.default {
|
|
|
47
47
|
brand: (props === null || props === void 0 ? void 0 : props.brand) || '',
|
|
48
48
|
color: (props === null || props === void 0 ? void 0 : props.color) || '',
|
|
49
49
|
gender: (props === null || props === void 0 ? void 0 : props.gender) || '',
|
|
50
|
-
clothingSize: (props === null || props === void 0 ? void 0 : props.clothingSize) || [],
|
|
51
|
-
jeanSize: (props === null || props === void 0 ? void 0 : props.jeanSize) || '',
|
|
52
|
-
shoeSize: (props === null || props === void 0 ? void 0 : props.shoeSize) || '',
|
|
50
|
+
clothingSize: (props === null || props === void 0 ? void 0 : props.clothingSize) || [], // Will be deprecated in a future release
|
|
51
|
+
jeanSize: (props === null || props === void 0 ? void 0 : props.jeanSize) || '', // Will be deprecated in a future release
|
|
52
|
+
shoeSize: (props === null || props === void 0 ? void 0 : props.shoeSize) || '', // Will be deprecated in a future release
|
|
53
53
|
size: (props === null || props === void 0 ? void 0 : props.size) || '',
|
|
54
54
|
standardSize: this.utilities.sanitizeString(props === null || props === void 0 ? void 0 : props.standardSize) || '',
|
|
55
55
|
internationalSize: this.utilities.sanitizeString(props === null || props === void 0 ? void 0 : props.internationalSize) || '',
|
|
@@ -90,8 +90,8 @@ class Product extends Base_1.default {
|
|
|
90
90
|
selectedForClearance: (props === null || props === void 0 ? void 0 : props.selectedForClearance) || '',
|
|
91
91
|
locationIds: (props === null || props === void 0 ? void 0 : props.locationIds) || [],
|
|
92
92
|
inventoryLocations: this.validateInventoryLocation(props === null || props === void 0 ? void 0 : props.inventoryLocations) || [],
|
|
93
|
-
majorDefects: (props === null || props === void 0 ? void 0 : props.majorDefects) || [],
|
|
94
|
-
minorDefects: (props === null || props === void 0 ? void 0 : props.minorDefects) || [],
|
|
93
|
+
majorDefects: (props === null || props === void 0 ? void 0 : props.majorDefects) || [], // ToDo: Deprecate
|
|
94
|
+
minorDefects: (props === null || props === void 0 ? void 0 : props.minorDefects) || [], // ToDo: Deprecate,
|
|
95
95
|
careInstructions: (props === null || props === void 0 ? void 0 : props.careInstructions) || '',
|
|
96
96
|
};
|
|
97
97
|
this.timestampAttributes = {
|
|
@@ -151,7 +151,11 @@ class Product extends Base_1.default {
|
|
|
151
151
|
return Object.assign(Object.assign({}, this.attributes), this.filterAttributes);
|
|
152
152
|
} // ToDo: Deprecate soon
|
|
153
153
|
toObj() {
|
|
154
|
-
|
|
154
|
+
const obj = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, this.attributes), this.filterAttributes), this.consignmentAttributes), this.timestampAttributes), this.payoutAttributes);
|
|
155
|
+
if ((obj === null || obj === void 0 ? void 0 : obj.inventoryLocations) && Array.isArray(obj.inventoryLocations)) {
|
|
156
|
+
obj.inventoryLocations = obj.inventoryLocations.map((loc) => (Object.assign(Object.assign({}, loc), { availableAmount: Number(loc === null || loc === void 0 ? void 0 : loc.availableAmount) || 0, incomingAmount: Number(loc === null || loc === void 0 ? void 0 : loc.incomingAmount) || 0 })));
|
|
157
|
+
}
|
|
158
|
+
return obj;
|
|
155
159
|
}
|
|
156
160
|
toProductInputObjForShopify(location) {
|
|
157
161
|
const productInputObj = {
|
|
@@ -263,7 +267,7 @@ class Product extends Base_1.default {
|
|
|
263
267
|
},
|
|
264
268
|
sku: this.attributes.sku,
|
|
265
269
|
price: this.attributes.price || '0',
|
|
266
|
-
taxable: false,
|
|
270
|
+
taxable: false, // ToDo: Add this back in
|
|
267
271
|
weight: parseFloat(this.attributes.weight) || parseFloat('999'),
|
|
268
272
|
weightUnit: weightUnit || 'GRAMS',
|
|
269
273
|
},
|
|
@@ -409,8 +413,8 @@ class Product extends Base_1.default {
|
|
|
409
413
|
Array.isArray((_b = this.consignmentAttributes) === null || _b === void 0 ? void 0 : _b.inventoryLocations)) {
|
|
410
414
|
this.consignmentAttributes.inventoryLocations.forEach((l) => {
|
|
411
415
|
if (l.id) {
|
|
412
|
-
stagedObj[`inventoryLocations.${l.id}.availableAmount`] = (l === null || l === void 0 ? void 0 : l.availableAmount) || 0;
|
|
413
|
-
stagedObj[`inventoryLocations.${l.id}.incomingAmount`] = (l === null || l === void 0 ? void 0 : l.incomingAmount) || 0;
|
|
416
|
+
stagedObj[`inventoryLocations.${l.id}.availableAmount`] = Number(l === null || l === void 0 ? void 0 : l.availableAmount) || 0;
|
|
417
|
+
stagedObj[`inventoryLocations.${l.id}.incomingAmount`] = Number(l === null || l === void 0 ? void 0 : l.incomingAmount) || 0;
|
|
414
418
|
}
|
|
415
419
|
});
|
|
416
420
|
}
|
|
@@ -1171,8 +1175,8 @@ class Product extends Base_1.default {
|
|
|
1171
1175
|
return {
|
|
1172
1176
|
id: v.id,
|
|
1173
1177
|
name: v.name,
|
|
1174
|
-
availableAmount: (v === null || v === void 0 ? void 0 : v.availableAmount) || 0,
|
|
1175
|
-
incomingAmount: (v === null || v === void 0 ? void 0 : v.incomingAmount) || 0,
|
|
1178
|
+
availableAmount: Number(v === null || v === void 0 ? void 0 : v.availableAmount) || 0,
|
|
1179
|
+
incomingAmount: Number(v === null || v === void 0 ? void 0 : v.incomingAmount) || 0,
|
|
1176
1180
|
};
|
|
1177
1181
|
});
|
|
1178
1182
|
}
|
|
@@ -29,7 +29,7 @@ class ProductCollection extends Base_1.default {
|
|
|
29
29
|
subTitle: this.subTitle,
|
|
30
30
|
description: this.description,
|
|
31
31
|
type: this.type,
|
|
32
|
-
imgUrl: this.imgUrl,
|
|
32
|
+
imgUrl: this.imgUrl, // deprecate soon, will be migrated into imageUrls
|
|
33
33
|
refinements: this.refinements,
|
|
34
34
|
tags: this.tags,
|
|
35
35
|
collectionId: this.collectionId,
|
|
@@ -207,7 +207,7 @@ class ProductCollection extends Base_1.default {
|
|
|
207
207
|
subTitle: this.utilities.sanitizeString(this.subTitle),
|
|
208
208
|
description: this.utilities.sanitizeString(this.description),
|
|
209
209
|
type: this.utilities.sanitizeString(this.type),
|
|
210
|
-
imgUrl: this.utilities.sanitizeString(this.imgUrl),
|
|
210
|
+
imgUrl: this.utilities.sanitizeString(this.imgUrl), // deprecate soon, will be migrated into imageUrls
|
|
211
211
|
'refinements.brandRefinement': this.utilities.sanitzeStringArr(this.refinements.brandRefinement),
|
|
212
212
|
'refinements.clothingSizeRefinement': this.utilities.sanitzeStringArr(this.refinements.clothingSizeRefinement),
|
|
213
213
|
'refinements.colorRefinement': this.utilities.sanitzeStringArr(this.refinements.colorRefinement),
|
|
@@ -78,5 +78,5 @@ class ProductStateManager extends Base_1.default {
|
|
|
78
78
|
return (this.state.getVal() === product_constants_1.PRODUCT_STATES.shoppingBag || this.state.getVal() === product_constants_1.PRODUCT_STATES.reservationQueue);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
exports.default = ProductStateManager;
|
|
82
81
|
ProductStateManager.PRODUCT_STATES = product_constants_1.PRODUCT_STATES;
|
|
82
|
+
exports.default = ProductStateManager;
|
|
@@ -144,12 +144,12 @@ declare enum SaleType {
|
|
|
144
144
|
DIRECT_SALE = "DIRECT_SALE"
|
|
145
145
|
}
|
|
146
146
|
declare enum SellerProductLedgerStatus {
|
|
147
|
-
PENDING_RETURN_PERIOD_COMPLETION = "PENDING_RETURN_PERIOD_COMPLETION"
|
|
148
|
-
RETURNED_AND_RELISTED = "RETURNED_AND_RELISTED"
|
|
149
|
-
SELLER_LIQUIDATED = "SELLER_LIQUIDATED",
|
|
150
|
-
MERCHANT_DONATED = "MERCHANT_DONATED",
|
|
151
|
-
SELLER_TO_BE_PAID = "SELLER_TO_BE_PAID"
|
|
152
|
-
PAYMENT_IN_PROGRESS = "PAYMENT_IN_PROGRESS"
|
|
147
|
+
PENDING_RETURN_PERIOD_COMPLETION = "PENDING_RETURN_PERIOD_COMPLETION",// Order is created => each item in order should get created (or logged if already created); Admin can also add to ledger from Products Table Action
|
|
148
|
+
RETURNED_AND_RELISTED = "RETURNED_AND_RELISTED",// Merchant will be the actor to move ledgerEntity to this state once item has cleared the return period. We can set up scheduledFunctionToTagSellerProductLedgerEntities to tag ledger entities on how long ago the item sold and how long it's been in return period
|
|
149
|
+
SELLER_LIQUIDATED = "SELLER_LIQUIDATED",// Item was returned and relisted but then seller decides to take item back. In this case, item amount owed to seller goes to zero
|
|
150
|
+
MERCHANT_DONATED = "MERCHANT_DONATED",// Item was returned and relisted but merchant decides to donate item and seller does not want it back. In this case, item amount owed to seller goes to zero
|
|
151
|
+
SELLER_TO_BE_PAID = "SELLER_TO_BE_PAID",// From here
|
|
152
|
+
PAYMENT_IN_PROGRESS = "PAYMENT_IN_PROGRESS",// to here is when fees would be added in Admin UI
|
|
153
153
|
SELLER_PAID = "SELLER_PAID",
|
|
154
154
|
DISPUTED = "DISPUTED",
|
|
155
155
|
RESOLVED = "RESOLVED",
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
type AutomatedPayoutSchedule = 'DAILY' | 'AFTER_BUSINESS_DAYS';
|
|
2
|
+
type EnabledChoice = 'yes' | 'no';
|
|
3
|
+
type ExcludedSeller = {
|
|
4
|
+
vendorId: string;
|
|
5
|
+
firstName?: string;
|
|
6
|
+
lastName?: string;
|
|
7
|
+
email?: string;
|
|
8
|
+
};
|
|
9
|
+
type MerchantConfigAutomatedPayoutsObj = {
|
|
10
|
+
enabled: EnabledChoice;
|
|
11
|
+
schedule: AutomatedPayoutSchedule | '';
|
|
12
|
+
businessDaysAfter?: number | null;
|
|
13
|
+
excludedSellers?: ExcludedSeller[];
|
|
14
|
+
createdAt?: string;
|
|
15
|
+
updatedAt?: string;
|
|
16
|
+
createdAtTimestamp?: number | null;
|
|
17
|
+
updatedAtTimestamp?: number | null;
|
|
18
|
+
};
|
|
19
|
+
type MerchantConfigAutomatedPayoutsFormFields = {
|
|
20
|
+
enabled: SingleSelectFormField<EnabledChoice>;
|
|
21
|
+
schedule: SingleSelectFormField<AutomatedPayoutSchedule | ''>;
|
|
22
|
+
businessDaysAfter: TextInputFormField<string>;
|
|
23
|
+
excludedSellers: MultiSelectFormField<ExcludedSeller>;
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rerobe-js-orm",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.8",
|
|
4
4
|
"description": "ReRobe's Javascript ORM Framework",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"homepage": "https://github.com/ReRobe/rerobe-product#readme",
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/crypto-js": "^4.2.2",
|
|
32
|
-
"@types/jest": "^
|
|
32
|
+
"@types/jest": "^29.5.12",
|
|
33
33
|
"@types/slug": "^5.0.9",
|
|
34
|
-
"jest": "^
|
|
34
|
+
"jest": "^29.7.0",
|
|
35
35
|
"prettier": "^2.3.0",
|
|
36
|
-
"ts-jest": "^
|
|
36
|
+
"ts-jest": "^29.2.5",
|
|
37
37
|
"tslint": "^6.1.3",
|
|
38
38
|
"tslint-config-prettier": "^1.18.0",
|
|
39
|
-
"typescript": "^
|
|
39
|
+
"typescript": "^5.6.0"
|
|
40
40
|
},
|
|
41
41
|
"files": [
|
|
42
42
|
"lib/**/*"
|