@stamhoofd/models 2.39.0 → 2.40.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.
- package/dist/src/factories/AddressFactory.d.ts +3 -4
- package/dist/src/factories/AddressFactory.d.ts.map +1 -1
- package/dist/src/factories/AddressFactory.js +13 -13
- package/dist/src/factories/EmergencyContactFactory.d.ts +3 -4
- package/dist/src/factories/EmergencyContactFactory.d.ts.map +1 -1
- package/dist/src/factories/EmergencyContactFactory.js +27 -27
- package/dist/src/factories/EmergencyContactFactory.js.map +1 -1
- package/dist/src/factories/GroupFactory.d.ts +4 -4
- package/dist/src/factories/GroupFactory.d.ts.map +1 -1
- package/dist/src/factories/GroupFactory.js +8 -8
- package/dist/src/factories/GroupFactory.js.map +1 -1
- package/dist/src/factories/MemberFactory.d.ts +4 -4
- package/dist/src/factories/MemberFactory.d.ts.map +1 -1
- package/dist/src/factories/MemberFactory.js +17 -17
- package/dist/src/factories/MemberFactory.js.map +1 -1
- package/dist/src/factories/OrganizationFactory.d.ts +4 -4
- package/dist/src/factories/OrganizationFactory.js +8 -8
- package/dist/src/factories/OrganizationFactory.js.map +1 -1
- package/dist/src/factories/ParentFactory.d.ts +1 -1
- package/dist/src/factories/ParentFactory.js +19 -19
- package/dist/src/factories/ParentFactory.js.map +1 -1
- package/dist/src/factories/RecordFactory.d.ts +2 -3
- package/dist/src/factories/RecordFactory.d.ts.map +1 -1
- package/dist/src/factories/RecordFactory.js +1 -1
- package/dist/src/factories/RecordFactory.js.map +1 -1
- package/dist/src/factories/RegisterCodeFactory.d.ts +2 -2
- package/dist/src/factories/RegisterCodeFactory.d.ts.map +1 -1
- package/dist/src/factories/RegisterCodeFactory.js +2 -2
- package/dist/src/factories/RegistrationFactory.d.ts +3 -3
- package/dist/src/factories/RegistrationFactory.d.ts.map +1 -1
- package/dist/src/factories/RegistrationFactory.js.map +1 -1
- package/dist/src/factories/RegistrationPeriodFactory.d.ts +2 -2
- package/dist/src/factories/RegistrationPeriodFactory.js.map +1 -1
- package/dist/src/factories/UserFactory.d.ts +3 -3
- package/dist/src/factories/UserFactory.d.ts.map +1 -1
- package/dist/src/factories/UserFactory.js +3 -3
- package/dist/src/factories/UserFactory.js.map +1 -1
- package/dist/src/factories/WebshopFactory.d.ts +4 -4
- package/dist/src/factories/WebshopFactory.d.ts.map +1 -1
- package/dist/src/factories/WebshopFactory.js +1 -1
- package/dist/src/factories/WebshopFactory.js.map +1 -1
- package/dist/src/helpers/DNSValidator.d.ts +1 -1
- package/dist/src/helpers/DNSValidator.d.ts.map +1 -1
- package/dist/src/helpers/DNSValidator.js +33 -33
- package/dist/src/helpers/DNSValidator.js.map +1 -1
- package/dist/src/helpers/EmailBuilder.d.ts +10 -10
- package/dist/src/helpers/EmailBuilder.d.ts.map +1 -1
- package/dist/src/helpers/EmailBuilder.js +34 -34
- package/dist/src/helpers/EmailBuilder.js.map +1 -1
- package/dist/src/helpers/GroupBuilder.d.ts.map +1 -1
- package/dist/src/helpers/GroupBuilder.js +57 -57
- package/dist/src/helpers/GroupBuilder.js.map +1 -1
- package/dist/src/helpers/Handlebars.d.ts.map +1 -1
- package/dist/src/helpers/Handlebars.js +29 -29
- package/dist/src/helpers/Handlebars.js.map +1 -1
- package/dist/src/helpers/MemberMerger.d.ts +1 -1
- package/dist/src/helpers/MemberMerger.d.ts.map +1 -1
- package/dist/src/helpers/MemberMerger.js +33 -33
- package/dist/src/helpers/MemberMerger.js.map +1 -1
- package/dist/src/helpers/MemberMerger.test.js +194 -194
- package/dist/src/helpers/MemberMerger.test.js.map +1 -1
- package/dist/src/helpers/RateLimiter.d.ts.map +1 -1
- package/dist/src/helpers/RateLimiter.js +2 -2
- package/dist/src/helpers/RateLimiter.js.map +1 -1
- package/dist/src/helpers/SetupStepsUpdater.d.ts +22 -0
- package/dist/src/helpers/SetupStepsUpdater.d.ts.map +1 -0
- package/dist/src/helpers/SetupStepsUpdater.js +255 -0
- package/dist/src/helpers/SetupStepsUpdater.js.map +1 -0
- package/dist/src/helpers/WebshopCounter.d.ts +1 -1
- package/dist/src/helpers/WebshopCounter.d.ts.map +1 -1
- package/dist/src/helpers/WebshopCounter.js +1 -1
- package/dist/src/helpers/WebshopCounter.js.map +1 -1
- package/dist/src/helpers/WebshopCounter.test.js +6 -6
- package/dist/src/helpers/WebshopCounter.test.js.map +1 -1
- package/dist/src/index.d.ts +20 -19
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations/1605262045-import-postcodes.js +12 -12
- package/dist/src/migrations/1605262046-import-postcodes-nl.js +10 -10
- package/dist/src/models/BalanceItem.d.ts.map +1 -1
- package/dist/src/models/BalanceItem.js +37 -37
- package/dist/src/models/BalanceItem.js.map +1 -1
- package/dist/src/models/BalanceItemPayment.d.ts.map +1 -1
- package/dist/src/models/BalanceItemPayment.js +13 -13
- package/dist/src/models/BalanceItemPayment.js.map +1 -1
- package/dist/src/models/BuckarooPayment.d.ts +1 -1
- package/dist/src/models/BuckarooPayment.d.ts.map +1 -1
- package/dist/src/models/BuckarooPayment.js +5 -5
- package/dist/src/models/BuckarooPayment.js.map +1 -1
- package/dist/src/models/CachedOutstandingBalance.d.ts.map +1 -1
- package/dist/src/models/CachedOutstandingBalance.js +37 -37
- package/dist/src/models/CachedOutstandingBalance.js.map +1 -1
- package/dist/src/models/Document.d.ts +4 -4
- package/dist/src/models/Document.d.ts.map +1 -1
- package/dist/src/models/Document.js +27 -27
- package/dist/src/models/Document.js.map +1 -1
- package/dist/src/models/DocumentTemplate.d.ts +4 -4
- package/dist/src/models/DocumentTemplate.d.ts.map +1 -1
- package/dist/src/models/DocumentTemplate.js +72 -72
- package/dist/src/models/DocumentTemplate.js.map +1 -1
- package/dist/src/models/Email.d.ts.map +1 -1
- package/dist/src/models/Email.js +63 -64
- package/dist/src/models/Email.js.map +1 -1
- package/dist/src/models/EmailRecipient.d.ts.map +1 -1
- package/dist/src/models/EmailRecipient.js +20 -20
- package/dist/src/models/EmailRecipient.js.map +1 -1
- package/dist/src/models/EmailTemplate.d.ts +3 -3
- package/dist/src/models/EmailTemplate.d.ts.map +1 -1
- package/dist/src/models/EmailTemplate.js +16 -16
- package/dist/src/models/EmailTemplate.js.map +1 -1
- package/dist/src/models/EmailVerificationCode.d.ts +2 -2
- package/dist/src/models/EmailVerificationCode.d.ts.map +1 -1
- package/dist/src/models/EmailVerificationCode.js +57 -55
- package/dist/src/models/EmailVerificationCode.js.map +1 -1
- package/dist/src/models/Event.d.ts +2 -2
- package/dist/src/models/Event.d.ts.map +1 -1
- package/dist/src/models/Event.js +15 -15
- package/dist/src/models/Event.js.map +1 -1
- package/dist/src/models/Group.d.ts +3 -1
- package/dist/src/models/Group.d.ts.map +1 -1
- package/dist/src/models/Group.js +46 -35
- package/dist/src/models/Group.js.map +1 -1
- package/dist/src/models/Image.d.ts +1 -1
- package/dist/src/models/Image.d.ts.map +1 -1
- package/dist/src/models/Image.js +26 -26
- package/dist/src/models/Image.js.map +1 -1
- package/dist/src/models/Member.d.ts +8 -8
- package/dist/src/models/Member.d.ts.map +1 -1
- package/dist/src/models/Member.js +60 -60
- package/dist/src/models/Member.js.map +1 -1
- package/dist/src/models/MemberPlatformMembership.d.ts +3 -3
- package/dist/src/models/MemberPlatformMembership.d.ts.map +1 -1
- package/dist/src/models/MemberPlatformMembership.js +26 -26
- package/dist/src/models/MemberPlatformMembership.js.map +1 -1
- package/dist/src/models/MemberResponsibilityRecord.d.ts.map +1 -1
- package/dist/src/models/MemberResponsibilityRecord.js +13 -13
- package/dist/src/models/MemberResponsibilityRecord.js.map +1 -1
- package/dist/src/models/MergedMember.d.ts +3 -3
- package/dist/src/models/MergedMember.d.ts.map +1 -1
- package/dist/src/models/MergedMember.js +19 -19
- package/dist/src/models/MergedMember.js.map +1 -1
- package/dist/src/models/MolliePayment.d.ts +1 -1
- package/dist/src/models/MolliePayment.d.ts.map +1 -1
- package/dist/src/models/MolliePayment.js +5 -5
- package/dist/src/models/MolliePayment.js.map +1 -1
- package/dist/src/models/MollieToken.d.ts.map +1 -1
- package/dist/src/models/MollieToken.js +60 -60
- package/dist/src/models/MollieToken.js.map +1 -1
- package/dist/src/models/OneTimeToken.d.ts +2 -2
- package/dist/src/models/OneTimeToken.d.ts.map +1 -1
- package/dist/src/models/OneTimeToken.js +13 -13
- package/dist/src/models/OneTimeToken.js.map +1 -1
- package/dist/src/models/Order.d.ts +1 -1
- package/dist/src/models/Order.d.ts.map +1 -1
- package/dist/src/models/Order.js +70 -70
- package/dist/src/models/Order.js.map +1 -1
- package/dist/src/models/Organization.d.ts +5 -5
- package/dist/src/models/Organization.d.ts.map +1 -1
- package/dist/src/models/Organization.js +127 -127
- package/dist/src/models/Organization.js.map +1 -1
- package/dist/src/models/OrganizationRegistrationPeriod.d.ts.map +1 -1
- package/dist/src/models/OrganizationRegistrationPeriod.js +15 -15
- package/dist/src/models/OrganizationRegistrationPeriod.js.map +1 -1
- package/dist/src/models/PasswordToken.d.ts +3 -3
- package/dist/src/models/PasswordToken.d.ts.map +1 -1
- package/dist/src/models/PasswordToken.js +17 -17
- package/dist/src/models/PasswordToken.js.map +1 -1
- package/dist/src/models/PayconiqPayment.d.ts +1 -1
- package/dist/src/models/PayconiqPayment.d.ts.map +1 -1
- package/dist/src/models/PayconiqPayment.js +49 -49
- package/dist/src/models/PayconiqPayment.js.map +1 -1
- package/dist/src/models/Payment.d.ts +3 -3
- package/dist/src/models/Payment.d.ts.map +1 -1
- package/dist/src/models/Payment.js +36 -36
- package/dist/src/models/Payment.js.map +1 -1
- package/dist/src/models/Platform.d.ts +2 -2
- package/dist/src/models/Platform.d.ts.map +1 -1
- package/dist/src/models/Platform.js +8 -8
- package/dist/src/models/Platform.js.map +1 -1
- package/dist/src/models/RegisterCode.d.ts +1 -1
- package/dist/src/models/RegisterCode.d.ts.map +1 -1
- package/dist/src/models/RegisterCode.js +11 -11
- package/dist/src/models/RegisterCode.js.map +1 -1
- package/dist/src/models/Registration.d.ts +1 -1
- package/dist/src/models/Registration.d.ts.map +1 -1
- package/dist/src/models/Registration.js +88 -88
- package/dist/src/models/Registration.js.map +1 -1
- package/dist/src/models/RegistrationPeriod.d.ts.map +1 -1
- package/dist/src/models/RegistrationPeriod.js +12 -12
- package/dist/src/models/RegistrationPeriod.js.map +1 -1
- package/dist/src/models/STCredit.d.ts +1 -1
- package/dist/src/models/STCredit.d.ts.map +1 -1
- package/dist/src/models/STCredit.js +12 -12
- package/dist/src/models/STCredit.js.map +1 -1
- package/dist/src/models/STInvoice.d.ts +1 -1
- package/dist/src/models/STInvoice.d.ts.map +1 -1
- package/dist/src/models/STInvoice.js +16 -16
- package/dist/src/models/STInvoice.js.map +1 -1
- package/dist/src/models/STPackage.d.ts +1 -1
- package/dist/src/models/STPackage.d.ts.map +1 -1
- package/dist/src/models/STPackage.js +39 -39
- package/dist/src/models/STPackage.js.map +1 -1
- package/dist/src/models/STPendingInvoice.d.ts +1 -1
- package/dist/src/models/STPendingInvoice.d.ts.map +1 -1
- package/dist/src/models/STPendingInvoice.js +11 -11
- package/dist/src/models/STPendingInvoice.js.map +1 -1
- package/dist/src/models/StripeAccount.d.ts.map +1 -1
- package/dist/src/models/StripeAccount.js +13 -13
- package/dist/src/models/StripeAccount.js.map +1 -1
- package/dist/src/models/StripeCheckoutSession.d.ts +1 -1
- package/dist/src/models/StripeCheckoutSession.d.ts.map +1 -1
- package/dist/src/models/StripeCheckoutSession.js +7 -7
- package/dist/src/models/StripeCheckoutSession.js.map +1 -1
- package/dist/src/models/StripePaymentIntent.d.ts +1 -1
- package/dist/src/models/StripePaymentIntent.d.ts.map +1 -1
- package/dist/src/models/StripePaymentIntent.js +7 -7
- package/dist/src/models/StripePaymentIntent.js.map +1 -1
- package/dist/src/models/Ticket.d.ts +2 -2
- package/dist/src/models/Ticket.d.ts.map +1 -1
- package/dist/src/models/Ticket.js +23 -23
- package/dist/src/models/Ticket.js.map +1 -1
- package/dist/src/models/Token.d.ts +3 -3
- package/dist/src/models/Token.d.ts.map +1 -1
- package/dist/src/models/Token.js +27 -27
- package/dist/src/models/Token.js.map +1 -1
- package/dist/src/models/Token.test.js +11 -11
- package/dist/src/models/UsedRegisterCode.d.ts +1 -1
- package/dist/src/models/UsedRegisterCode.d.ts.map +1 -1
- package/dist/src/models/UsedRegisterCode.js +10 -10
- package/dist/src/models/UsedRegisterCode.js.map +1 -1
- package/dist/src/models/User.d.ts +4 -4
- package/dist/src/models/User.d.ts.map +1 -1
- package/dist/src/models/User.js +53 -51
- package/dist/src/models/User.js.map +1 -1
- package/dist/src/models/UserPermissions.d.ts +3 -3
- package/dist/src/models/UserPermissions.d.ts.map +1 -1
- package/dist/src/models/UserPermissions.js +12 -12
- package/dist/src/models/UserPermissions.js.map +1 -1
- package/dist/src/models/Webshop.d.ts +1 -1
- package/dist/src/models/Webshop.d.ts.map +1 -1
- package/dist/src/models/Webshop.js +23 -23
- package/dist/src/models/Webshop.js.map +1 -1
- package/dist/src/models/WebshopDiscountCode.d.ts +1 -1
- package/dist/src/models/WebshopDiscountCode.d.ts.map +1 -1
- package/dist/src/models/WebshopDiscountCode.js +16 -16
- package/dist/src/models/WebshopDiscountCode.js.map +1 -1
- package/dist/src/models/addresses/City.d.ts.map +1 -1
- package/dist/src/models/addresses/City.js +9 -9
- package/dist/src/models/addresses/City.js.map +1 -1
- package/dist/src/models/addresses/PostalCode.d.ts.map +1 -1
- package/dist/src/models/addresses/PostalCode.js +11 -11
- package/dist/src/models/addresses/PostalCode.js.map +1 -1
- package/dist/src/models/addresses/PostalCode.test.js +22 -22
- package/dist/src/models/addresses/PostalCode.test.js.map +1 -1
- package/dist/src/models/addresses/Province.d.ts.map +1 -1
- package/dist/src/models/addresses/Province.js +5 -5
- package/dist/src/models/addresses/Province.js.map +1 -1
- package/dist/src/models/addresses/Street.d.ts.map +1 -1
- package/dist/src/models/addresses/Street.js +6 -6
- package/dist/src/models/addresses/Street.js.map +1 -1
- package/dist/src/models/index.d.ts +46 -46
- package/dist/src/models/index.d.ts.map +1 -1
- package/dist/src/models/index.js +0 -1
- package/dist/src/models/index.js.map +1 -1
- package/dist/src/structures/OrganizationServerMetaData.d.ts.map +1 -1
- package/dist/src/structures/OrganizationServerMetaData.js +4 -4
- package/dist/src/structures/OrganizationServerMetaData.js.map +1 -1
- package/dist/tests/jest.global.setup.d.ts.map +1 -1
- package/dist/tests/jest.global.setup.js +15 -13
- package/dist/tests/jest.global.setup.js.map +1 -1
- package/dist/tests/jest.setup.js +3 -1
- package/dist/tests/jest.setup.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +3 -3
- package/src/factories/AddressFactory.ts +17 -17
- package/src/factories/EmergencyContactFactory.ts +30 -31
- package/src/factories/GroupFactory.ts +30 -30
- package/src/factories/MemberFactory.ts +41 -38
- package/src/factories/OrganizationFactory.ts +15 -15
- package/src/factories/ParentFactory.ts +24 -24
- package/src/factories/RecordFactory.ts +5 -4
- package/src/factories/RegisterCodeFactory.ts +7 -7
- package/src/factories/RegistrationFactory.ts +16 -16
- package/src/factories/RegistrationPeriodFactory.ts +5 -5
- package/src/factories/UserFactory.ts +20 -19
- package/src/factories/WebshopFactory.ts +14 -14
- package/src/helpers/DNSValidator.ts +89 -84
- package/src/helpers/EmailBuilder.ts +141 -135
- package/src/helpers/GroupBuilder.ts +181 -181
- package/src/helpers/Handlebars.ts +57 -54
- package/src/helpers/MemberMerger.test.ts +702 -702
- package/src/helpers/MemberMerger.ts +83 -77
- package/src/helpers/RateLimiter.ts +25 -27
- package/src/helpers/SetupStepsUpdater.ts +402 -0
- package/src/helpers/WebshopCounter.test.ts +12 -12
- package/src/helpers/WebshopCounter.ts +20 -19
- package/src/index.ts +20 -19
- package/src/migrations/1605262045-import-postcodes.ts +59 -63
- package/src/migrations/1605262046-import-postcodes-nl.ts +41 -43
- package/src/models/BalanceItem.ts +173 -172
- package/src/models/BalanceItemPayment.ts +32 -33
- package/src/models/BuckarooPayment.ts +7 -7
- package/src/models/CachedOutstandingBalance.ts +98 -99
- package/src/models/Document.ts +90 -87
- package/src/models/DocumentTemplate.ts +207 -198
- package/src/models/Email.ts +198 -200
- package/src/models/EmailRecipient.ts +38 -39
- package/src/models/EmailTemplate.ts +36 -37
- package/src/models/EmailVerificationCode.ts +146 -142
- package/src/models/Event.ts +53 -53
- package/src/models/Group.ts +136 -123
- package/src/models/Image.ts +48 -48
- package/src/models/Member.ts +277 -275
- package/src/models/MemberPlatformMembership.ts +71 -71
- package/src/models/MemberResponsibilityRecord.ts +32 -32
- package/src/models/MergedMember.ts +77 -77
- package/src/models/MolliePayment.ts +7 -7
- package/src/models/MollieToken.ts +131 -126
- package/src/models/OneTimeToken.ts +40 -39
- package/src/models/Order.ts +379 -372
- package/src/models/Organization.ts +332 -325
- package/src/models/OrganizationRegistrationPeriod.ts +50 -50
- package/src/models/PasswordToken.ts +42 -42
- package/src/models/PayconiqPayment.ts +80 -76
- package/src/models/Payment.ts +86 -86
- package/src/models/Platform.ts +21 -22
- package/src/models/RegisterCode.ts +26 -26
- package/src/models/Registration.ts +167 -168
- package/src/models/RegistrationPeriod.ts +29 -29
- package/src/models/STCredit.ts +24 -25
- package/src/models/STInvoice.ts +34 -34
- package/src/models/STPackage.ts +143 -136
- package/src/models/STPendingInvoice.ts +26 -26
- package/src/models/StripeAccount.ts +27 -27
- package/src/models/StripeCheckoutSession.ts +10 -10
- package/src/models/StripePaymentIntent.ts +10 -10
- package/src/models/Ticket.ts +51 -52
- package/src/models/Token.test.ts +13 -13
- package/src/models/Token.ts +64 -63
- package/src/models/UsedRegisterCode.ts +20 -21
- package/src/models/User.ts +148 -144
- package/src/models/UserPermissions.ts +25 -28
- package/src/models/Webshop.ts +53 -53
- package/src/models/WebshopDiscountCode.ts +33 -33
- package/src/models/addresses/City.ts +12 -12
- package/src/models/addresses/PostalCode.test.ts +68 -69
- package/src/models/addresses/PostalCode.ts +57 -57
- package/src/models/addresses/Province.ts +8 -8
- package/src/models/addresses/Street.ts +10 -12
- package/src/models/index.ts +54 -55
- package/src/structures/OrganizationServerMetaData.ts +36 -36
|
@@ -1,51 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
import { ObjectData } from "@simonbackx/simple-encoding";
|
|
1
|
+
import { ObjectData } from '@simonbackx/simple-encoding';
|
|
3
2
|
import { Image } from '@stamhoofd/structures';
|
|
4
|
-
import { Formatter } from
|
|
5
|
-
import Handlebars from
|
|
6
|
-
import { Interval } from
|
|
3
|
+
import { Formatter } from '@stamhoofd/utility';
|
|
4
|
+
import Handlebars from 'handlebars';
|
|
5
|
+
import { Interval } from 'luxon';
|
|
7
6
|
|
|
8
7
|
Handlebars.registerHelper('eq', (a, b) => a == b);
|
|
9
|
-
Handlebars.registerHelper('neq', (a, b) => a
|
|
10
|
-
Handlebars.registerHelper('formatPrice',
|
|
8
|
+
Handlebars.registerHelper('neq', (a, b) => a !== b);
|
|
9
|
+
Handlebars.registerHelper('formatPrice', a => typeof a === 'number' ? Formatter.price(a) : a);
|
|
11
10
|
Handlebars.registerHelper('formatDate', (a, options) => {
|
|
12
11
|
if (!(a instanceof Date)) {
|
|
13
|
-
return
|
|
12
|
+
return '';
|
|
14
13
|
}
|
|
15
14
|
if (options.hash.format === 'DD-MM-YYYY') {
|
|
16
|
-
return Formatter.dateNumber(a, true).replaceAll(
|
|
15
|
+
return Formatter.dateNumber(a, true).replaceAll('/', '-');
|
|
17
16
|
}
|
|
18
|
-
return Formatter.dateNumber(a, true)
|
|
17
|
+
return Formatter.dateNumber(a, true);
|
|
19
18
|
});
|
|
20
19
|
|
|
21
20
|
Handlebars.registerHelper('or', (...args) => {
|
|
22
21
|
args.pop();
|
|
23
|
-
return !!args.find(a => !!a)
|
|
22
|
+
return !!args.find(a => !!a);
|
|
24
23
|
});
|
|
25
24
|
|
|
26
25
|
Handlebars.registerHelper('and', (...args) => {
|
|
27
26
|
args.pop();
|
|
28
|
-
return args.every(a => !!a)
|
|
27
|
+
return args.every(a => !!a);
|
|
29
28
|
});
|
|
30
29
|
|
|
31
30
|
/**
|
|
32
31
|
* Filter string for a given type
|
|
33
32
|
*/
|
|
34
33
|
Handlebars.registerHelper('filterString', (a, options) => {
|
|
35
|
-
if (typeof a !==
|
|
36
|
-
return
|
|
34
|
+
if (typeof a !== 'string') {
|
|
35
|
+
return '';
|
|
37
36
|
}
|
|
38
|
-
if (options.hash.type ===
|
|
39
|
-
return Formatter.removeAccents(a).replace(/[^A-Za-z0-9+]+/g,
|
|
37
|
+
if (options.hash.type === 'phone') {
|
|
38
|
+
return Formatter.removeAccents(a).replace(/[^A-Za-z0-9+]+/g, '');
|
|
40
39
|
}
|
|
41
40
|
// Default: alphanumeric
|
|
42
|
-
return Formatter.removeAccents(a).replace(/[^A-Za-z0-9]+/g,
|
|
41
|
+
return Formatter.removeAccents(a).replace(/[^A-Za-z0-9]+/g, '');
|
|
43
42
|
});
|
|
44
43
|
Handlebars.registerHelper('year', (a) => {
|
|
45
44
|
if (!(a instanceof Date)) {
|
|
46
|
-
return
|
|
45
|
+
return '';
|
|
47
46
|
}
|
|
48
|
-
return Formatter.year(a)
|
|
47
|
+
return Formatter.year(a);
|
|
49
48
|
});
|
|
50
49
|
|
|
51
50
|
Handlebars.registerHelper('now', () => {
|
|
@@ -53,7 +52,7 @@ Handlebars.registerHelper('now', () => {
|
|
|
53
52
|
});
|
|
54
53
|
|
|
55
54
|
Handlebars.registerHelper('coalesce', (...args) => {
|
|
56
|
-
return args.find(a => a !== null && a !== undefined) ?? null
|
|
55
|
+
return args.find(a => a !== null && a !== undefined) ?? null;
|
|
57
56
|
});
|
|
58
57
|
|
|
59
58
|
Handlebars.registerHelper('days', (a, b) => {
|
|
@@ -71,7 +70,7 @@ Handlebars.registerHelper('days', (a, b) => {
|
|
|
71
70
|
return days + 1;
|
|
72
71
|
});
|
|
73
72
|
Handlebars.registerHelper('div', (a, b, options) => {
|
|
74
|
-
if (typeof a !==
|
|
73
|
+
if (typeof a !== 'number' || typeof b !== 'number') {
|
|
75
74
|
return 0;
|
|
76
75
|
}
|
|
77
76
|
if (b == 0) {
|
|
@@ -89,32 +88,32 @@ Handlebars.registerHelper('sum', (...args) => {
|
|
|
89
88
|
});
|
|
90
89
|
|
|
91
90
|
function getNumberValue(obj: any, keys: string[]): number {
|
|
92
|
-
if (typeof obj ===
|
|
91
|
+
if (typeof obj === 'number' && keys.length == 0) {
|
|
93
92
|
return obj;
|
|
94
93
|
}
|
|
95
|
-
if (typeof obj !==
|
|
94
|
+
if (typeof obj !== 'object' || obj === null) {
|
|
96
95
|
return 0;
|
|
97
96
|
}
|
|
98
97
|
if (keys.length == 0) {
|
|
99
98
|
return 0;
|
|
100
99
|
}
|
|
101
|
-
const key = keys[0]
|
|
100
|
+
const key = keys[0];
|
|
102
101
|
if (key === undefined) {
|
|
103
102
|
return 0;
|
|
104
103
|
}
|
|
105
104
|
return getNumberValue(obj[key], keys.slice(1));
|
|
106
105
|
}
|
|
107
106
|
Handlebars.registerHelper('arraySum', (objects: any[], property) => {
|
|
108
|
-
if (typeof property !==
|
|
109
|
-
console.warn('arraySum helper: property is not a string')
|
|
107
|
+
if (typeof property !== 'string') {
|
|
108
|
+
console.warn('arraySum helper: property is not a string');
|
|
110
109
|
return 0;
|
|
111
110
|
}
|
|
112
|
-
const keys = (property ??
|
|
111
|
+
const keys = (property ?? '').split('.');
|
|
113
112
|
return objects.reduce((c, obj) => getNumberValue(obj, keys) + c, 0);
|
|
114
113
|
});
|
|
115
114
|
|
|
116
115
|
Handlebars.registerHelper('mul', (a, b) => {
|
|
117
|
-
if (typeof a !==
|
|
116
|
+
if (typeof a !== 'number' || typeof b !== 'number') {
|
|
118
117
|
return 0;
|
|
119
118
|
}
|
|
120
119
|
return a * b;
|
|
@@ -124,44 +123,46 @@ Handlebars.registerHelper('src', (a, options) => {
|
|
|
124
123
|
const width = options.hash.width || undefined;
|
|
125
124
|
const height = options.hash.height || undefined;
|
|
126
125
|
|
|
127
|
-
if (width !== undefined && typeof width !==
|
|
126
|
+
if (width !== undefined && typeof width !== 'number') {
|
|
128
127
|
console.error('src helper: width is not a number');
|
|
129
|
-
return
|
|
128
|
+
return '';
|
|
130
129
|
}
|
|
131
130
|
|
|
132
|
-
if (height !== undefined && typeof height !==
|
|
131
|
+
if (height !== undefined && typeof height !== 'number') {
|
|
133
132
|
console.error('src helper: height is not a number');
|
|
134
|
-
return
|
|
133
|
+
return '';
|
|
135
134
|
}
|
|
136
135
|
|
|
137
136
|
try {
|
|
138
|
-
const image = Image.decode(new ObjectData(a, {version: 0}));
|
|
139
|
-
const resolution = image.getResolutionForSize(width as number|undefined, height as number|undefined);
|
|
140
|
-
return resolution.file.getPublicPath()
|
|
141
|
-
}
|
|
137
|
+
const image = Image.decode(new ObjectData(a, { version: 0 }));
|
|
138
|
+
const resolution = image.getResolutionForSize(width as number | undefined, height as number | undefined);
|
|
139
|
+
return resolution.file.getPublicPath();
|
|
140
|
+
}
|
|
141
|
+
catch (e) {
|
|
142
142
|
console.error('src helper:', e);
|
|
143
|
-
return
|
|
143
|
+
return '';
|
|
144
144
|
}
|
|
145
145
|
});
|
|
146
146
|
Handlebars.registerHelper('src-width', (a, options) => {
|
|
147
147
|
const width = options.hash.width || undefined;
|
|
148
148
|
const height = options.hash.height || undefined;
|
|
149
149
|
|
|
150
|
-
if (width !== undefined && typeof width !==
|
|
150
|
+
if (width !== undefined && typeof width !== 'number') {
|
|
151
151
|
console.error('src-width helper: width is not a number');
|
|
152
|
-
return
|
|
152
|
+
return '';
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
if (height !== undefined && typeof height !==
|
|
155
|
+
if (height !== undefined && typeof height !== 'number') {
|
|
156
156
|
console.error('src-width helper: height is not a number');
|
|
157
|
-
return
|
|
157
|
+
return '';
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
try {
|
|
161
|
-
const image = Image.decode(new ObjectData(a, {version: 0}));
|
|
162
|
-
const resolution = image.getResolutionForSize(width as number|undefined, height as number|undefined);
|
|
161
|
+
const image = Image.decode(new ObjectData(a, { version: 0 }));
|
|
162
|
+
const resolution = image.getResolutionForSize(width as number | undefined, height as number | undefined);
|
|
163
163
|
return resolution.width;
|
|
164
|
-
}
|
|
164
|
+
}
|
|
165
|
+
catch (e) {
|
|
165
166
|
console.error('src-width helper:', e);
|
|
166
167
|
return 0;
|
|
167
168
|
}
|
|
@@ -170,21 +171,22 @@ Handlebars.registerHelper('src-height', (a, options) => {
|
|
|
170
171
|
const width = options.hash.width || undefined;
|
|
171
172
|
const height = options.hash.height || undefined;
|
|
172
173
|
|
|
173
|
-
if (width !== undefined && typeof width !==
|
|
174
|
+
if (width !== undefined && typeof width !== 'number') {
|
|
174
175
|
console.error('src-height helper: width is not a number');
|
|
175
|
-
return
|
|
176
|
+
return '';
|
|
176
177
|
}
|
|
177
178
|
|
|
178
|
-
if (height !== undefined && typeof height !==
|
|
179
|
+
if (height !== undefined && typeof height !== 'number') {
|
|
179
180
|
console.error('src-height helper: height is not a number');
|
|
180
|
-
return
|
|
181
|
+
return '';
|
|
181
182
|
}
|
|
182
183
|
|
|
183
184
|
try {
|
|
184
|
-
const image = Image.decode(new ObjectData(a, {version: 0}));
|
|
185
|
-
const resolution = image.getResolutionForSize(width as number|undefined, height as number|undefined);
|
|
185
|
+
const image = Image.decode(new ObjectData(a, { version: 0 }));
|
|
186
|
+
const resolution = image.getResolutionForSize(width as number | undefined, height as number | undefined);
|
|
186
187
|
return resolution.height;
|
|
187
|
-
}
|
|
188
|
+
}
|
|
189
|
+
catch (e) {
|
|
188
190
|
console.error('src-height helper:', e);
|
|
189
191
|
return 0;
|
|
190
192
|
}
|
|
@@ -196,8 +198,9 @@ export function render(htmlTemplate: string, context: any): string | null {
|
|
|
196
198
|
const template = Handlebars.compile(htmlTemplate);
|
|
197
199
|
const renderedHtml = template(context);
|
|
198
200
|
return renderedHtml;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
+
}
|
|
202
|
+
catch (e) {
|
|
203
|
+
console.error('Failed to render document html', e);
|
|
201
204
|
return null;
|
|
202
205
|
}
|
|
203
|
-
}
|
|
206
|
+
}
|