@nlabs/reaktor 0.9.0 → 0.10.1
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/.env +1 -0
- package/.env.example +1 -0
- package/DATABASE_I18N_GUIDE.md +434 -0
- package/README.md +9 -0
- package/TEST_UTILITIES_GUIDE.md +360 -0
- package/coverage/index.html +61 -46
- package/dist/actions/apps.js +242 -0
- package/dist/actions/connections.js +90 -0
- package/dist/actions/conversations.js +350 -0
- package/dist/actions/dynamodb.js +150 -0
- package/dist/actions/email.js +152 -0
- package/dist/actions/files.js +283 -0
- package/dist/actions/groups.js +292 -0
- package/dist/actions/images.js +735 -0
- package/dist/actions/index.js +66 -0
- package/dist/actions/ios.js +164 -0
- package/dist/actions/locations.js +122 -0
- package/dist/actions/messages.js +208 -0
- package/dist/actions/notifications.js +59 -0
- package/dist/actions/payments.js +497 -0
- package/dist/actions/personas.js +110 -0
- package/dist/actions/posts.js +595 -0
- package/dist/actions/reactions.js +322 -0
- package/dist/actions/s3.js +133 -0
- package/dist/actions/search.js +90 -0
- package/dist/actions/sms.js +108 -0
- package/dist/actions/statistics.js +62 -0
- package/dist/actions/subscription.js +220 -0
- package/dist/actions/tags.js +292 -0
- package/dist/actions/users.js +784 -0
- package/dist/actions/websockets.js +174 -0
- package/dist/adapters/arangoAdapter.js +46 -0
- package/dist/adapters/fileAdapter.js +76 -0
- package/dist/adapters/imageAdapter.js +40 -0
- package/dist/adapters/messageAdapter.js +49 -0
- package/dist/adapters/postAdapter.js +70 -0
- package/dist/adapters/reaktorAdapter.js +44 -0
- package/dist/adapters/tagAdapter.js +50 -0
- package/dist/adapters/userAdapter.js +115 -0
- package/dist/config.js +125 -0
- package/dist/index.js +66 -0
- package/dist/lambdas/actions/websockets.js +132 -0
- package/dist/lambdas/authorizer.js +67 -0
- package/dist/lambdas/connection.js +91 -0
- package/dist/lambdas/utils/message.js +42 -0
- package/dist/lambdas/utils/websocket.js +105 -0
- package/dist/mocks/conversation.js +35 -0
- package/dist/mocks/file.js +38 -0
- package/dist/mocks/group.js +47 -0
- package/dist/mocks/image.js +44 -0
- package/dist/mocks/nlabs.png +0 -0
- package/dist/mocks/post.js +55 -0
- package/dist/mocks/tag.js +37 -0
- package/dist/mocks/user.js +88 -0
- package/dist/mutations/index.js +26 -0
- package/dist/mutations/locations.js +44 -0
- package/dist/mutations/messages.js +86 -0
- package/dist/mutations/personas.js +100 -0
- package/dist/mutations/posts.js +53 -0
- package/dist/mutations/reactions.js +51 -0
- package/dist/mutations/statistics.js +39 -0
- package/dist/mutations/subscriptions.js +56 -0
- package/dist/mutations/tags.js +120 -0
- package/dist/mutations/users.js +116 -0
- package/dist/objectTypes/app.js +173 -0
- package/dist/objectTypes/bankAccount.js +76 -0
- package/dist/objectTypes/connection.js +48 -0
- package/dist/objectTypes/conversation.js +77 -0
- package/dist/objectTypes/creditCard.js +86 -0
- package/dist/objectTypes/document.js +46 -0
- package/dist/objectTypes/error.js +46 -0
- package/dist/objectTypes/external.js +74 -0
- package/dist/objectTypes/file.js +100 -0
- package/dist/objectTypes/filter.js +43 -0
- package/dist/objectTypes/group.js +123 -0
- package/dist/objectTypes/iapSubscription.js +40 -0
- package/dist/objectTypes/image.js +129 -0
- package/dist/objectTypes/index.js +68 -0
- package/dist/objectTypes/location.js +109 -0
- package/dist/objectTypes/message.js +96 -0
- package/dist/objectTypes/passcode.js +42 -0
- package/dist/objectTypes/persona.js +87 -0
- package/dist/objectTypes/plan.js +95 -0
- package/dist/objectTypes/post.js +125 -0
- package/dist/objectTypes/reaction.js +61 -0
- package/dist/objectTypes/relation.js +49 -0
- package/dist/objectTypes/search.js +72 -0
- package/dist/objectTypes/statistics.js +39 -0
- package/dist/objectTypes/subscription.js +117 -0
- package/dist/objectTypes/tag.js +65 -0
- package/dist/objectTypes/user.js +144 -0
- package/dist/queries/index.js +33 -0
- package/dist/queries/locations.js +45 -0
- package/dist/queries/messages.js +52 -0
- package/dist/queries/posts.js +154 -0
- package/dist/queries/reactions.js +56 -0
- package/dist/queries/statistics.js +39 -0
- package/dist/queries/subscriptions.js +44 -0
- package/dist/queries/tags.js +75 -0
- package/dist/queries/users.js +64 -0
- package/dist/templates/email/layout.js +302 -0
- package/dist/templates/email/passwordForgot.js +38 -0
- package/dist/templates/email/passwordRecovery.js +35 -0
- package/dist/templates/email/verifyEmail.js +38 -0
- package/dist/templates/email/welcome.js +38 -0
- package/dist/templates/sms/passwordForgot.js +24 -0
- package/dist/templates/sms/passwordRecovery.js +24 -0
- package/dist/templates/sms/verifyEmail.js +24 -0
- package/dist/templates/sms/verifyPhone.js +24 -0
- package/dist/templates/sms/welcome.js +24 -0
- package/dist/types/apps.js +32 -0
- package/{lib → dist}/types/arangodb.js +1 -1
- package/{lib → dist}/types/auth.js +1 -1
- package/{lib → dist}/types/connections.js +1 -1
- package/dist/types/conversations.js +16 -0
- package/{lib → dist}/types/email.js +1 -1
- package/dist/types/files.js +16 -0
- package/dist/types/google.js +16 -0
- package/{lib → dist}/types/groups.js +1 -1
- package/dist/types/images.js +16 -0
- package/dist/types/index.js +60 -0
- package/{lib → dist}/types/locations.js +1 -1
- package/{lib → dist}/types/messages.js +1 -1
- package/{lib → dist}/types/notifications.js +1 -1
- package/dist/types/payments.js +16 -0
- package/dist/types/personas.js +16 -0
- package/dist/types/posts.js +16 -0
- package/{lib → dist}/types/tags.js +1 -1
- package/dist/types/users.js +16 -0
- package/dist/types/websockets.js +16 -0
- package/dist/utils/adapterUtils.js +45 -0
- package/dist/utils/analyticsUtils.js +72 -0
- package/dist/utils/arangodbUtils.js +165 -0
- package/dist/utils/auth.js +57 -0
- package/dist/utils/index.js +30 -0
- package/{lib → dist}/utils/session.js +10 -7
- package/index.js +1 -1
- package/jest.config.js +17 -0
- package/jest.setup.js +36 -0
- package/lex.config.cjs +13 -0
- package/lib/actions/apps.js +17 -249
- package/lib/actions/connections.js +7 -0
- package/lib/actions/content.js +17 -0
- package/lib/actions/conversations.js +19 -325
- package/lib/actions/dynamodb.js +2 -150
- package/lib/actions/email.js +2 -152
- package/lib/actions/files.js +5 -287
- package/lib/actions/groups.js +23 -263
- package/lib/actions/images.js +31 -646
- package/lib/actions/index.js +2 -62
- package/lib/actions/ios.js +9 -162
- package/lib/actions/locations.js +7 -110
- package/lib/actions/messages.js +21 -193
- package/lib/actions/notifications.js +2 -59
- package/lib/actions/payments.js +11 -461
- package/lib/actions/posts.js +77 -515
- package/lib/actions/profiles.js +8 -0
- package/lib/actions/reactions.js +25 -312
- package/lib/actions/s3.js +2 -133
- package/lib/actions/search.js +5 -90
- package/lib/actions/sms.js +2 -106
- package/lib/actions/statistics.js +6 -60
- package/lib/actions/subscriptions.js +12 -0
- package/lib/actions/tags.js +19 -262
- package/lib/actions/users.js +67 -537
- package/lib/actions/websockets.js +16 -158
- package/lib/adapters/arangoAdapter.js +2 -46
- package/lib/adapters/contentAdapter.js +2 -0
- package/lib/adapters/fileAdapter.js +2 -76
- package/lib/adapters/imageAdapter.js +2 -0
- package/lib/adapters/messageAdapter.js +2 -0
- package/lib/adapters/postAdapter.js +2 -70
- package/lib/adapters/reaktorAdapter.js +2 -44
- package/lib/adapters/tagAdapter.js +2 -50
- package/lib/adapters/userAdapter.js +2 -110
- package/lib/config.js +2 -125
- package/lib/handlers/graphqlHandler.js +2 -0
- package/lib/index.js +2 -30
- package/lib/lambdas/actions/websockets.js +14 -112
- package/lib/lambdas/authorizer.js +2 -67
- package/lib/lambdas/connection.js +2 -92
- package/lib/lambdas/utils/message.js +2 -42
- package/lib/lambdas/utils/websocket.js +2 -105
- package/lib/mocks/conversation.js +2 -35
- package/lib/mocks/file.js +2 -38
- package/lib/mocks/group.js +2 -47
- package/lib/mocks/image.js +2 -43
- package/lib/mocks/post.js +2 -55
- package/lib/mocks/tag.js +2 -37
- package/lib/mocks/user.js +2 -88
- package/lib/mutations/index.js +2 -0
- package/lib/mutations/locations.integration.js +2 -0
- package/lib/mutations/locations.js +2 -0
- package/lib/mutations/messages.integration.js +2 -0
- package/lib/mutations/messages.js +2 -0
- package/lib/mutations/posts.integration.js +2 -0
- package/lib/mutations/posts.js +2 -0
- package/lib/mutations/profiles.integration.js +2 -0
- package/lib/mutations/profiles.js +2 -0
- package/lib/mutations/reactions.integration.js +2 -0
- package/lib/mutations/reactions.js +2 -0
- package/lib/mutations/statistics.integration.js +2 -0
- package/lib/mutations/statistics.js +2 -0
- package/lib/mutations/subscriptions.integration.js +2 -0
- package/lib/mutations/subscriptions.js +2 -0
- package/lib/mutations/tags.integration.js +2 -0
- package/lib/mutations/tags.js +2 -0
- package/lib/mutations/users.integration.js +2 -0
- package/lib/mutations/users.js +2 -0
- package/lib/objectTypes/app.js +2 -0
- package/lib/objectTypes/bankAccount.js +2 -0
- package/lib/objectTypes/connection.js +2 -0
- package/lib/objectTypes/conversation.js +2 -0
- package/lib/objectTypes/creditCard.js +2 -0
- package/lib/objectTypes/document.js +2 -0
- package/lib/objectTypes/error.js +2 -0
- package/lib/objectTypes/external.js +2 -0
- package/lib/objectTypes/file.js +2 -0
- package/lib/objectTypes/filter.js +2 -0
- package/lib/objectTypes/group.js +2 -0
- package/lib/objectTypes/iapSubscription.js +2 -0
- package/lib/objectTypes/image.js +2 -0
- package/lib/objectTypes/index.js +2 -0
- package/lib/objectTypes/location.js +2 -0
- package/lib/objectTypes/message.js +2 -0
- package/lib/objectTypes/passcode.js +2 -0
- package/lib/objectTypes/plan.js +2 -0
- package/lib/objectTypes/post.js +2 -0
- package/lib/objectTypes/profile.js +2 -0
- package/lib/objectTypes/reaction.js +2 -0
- package/lib/objectTypes/relation.js +2 -0
- package/lib/objectTypes/search.js +2 -0
- package/lib/objectTypes/statistics.js +2 -0
- package/lib/objectTypes/subscription.js +2 -0
- package/lib/objectTypes/tag.js +2 -0
- package/lib/objectTypes/user.js +2 -0
- package/lib/queries/index.js +2 -0
- package/lib/queries/locations.integration.js +2 -0
- package/lib/queries/locations.js +2 -0
- package/lib/queries/messages.integration.js +2 -0
- package/lib/queries/messages.js +2 -0
- package/lib/queries/posts.integration.js +2 -0
- package/lib/queries/posts.js +2 -0
- package/lib/queries/reactions.integration.js +2 -0
- package/lib/queries/reactions.js +2 -0
- package/lib/queries/statistics.js +2 -0
- package/lib/queries/subscriptions.js +2 -0
- package/lib/queries/tags.integration.js +2 -0
- package/lib/queries/tags.js +2 -0
- package/lib/queries/users.integration.js +2 -0
- package/lib/queries/users.js +2 -0
- package/lib/templates/email/layout.js +3 -25
- package/lib/templates/email/passwordForgot.js +3 -25
- package/lib/templates/email/passwordRecovery.js +3 -25
- package/lib/templates/email/verifyEmail.js +3 -25
- package/lib/templates/email/welcome.js +3 -25
- package/lib/templates/sms/passwordForgot.js +2 -24
- package/lib/templates/sms/passwordRecovery.js +2 -24
- package/lib/templates/sms/verifyEmail.js +2 -24
- package/lib/templates/sms/verifyPhone.js +2 -24
- package/lib/templates/sms/welcome.js +2 -24
- package/lib/types/apps.types.js +2 -0
- package/lib/types/arangodb.types.js +1 -0
- package/lib/types/auth.types.js +1 -0
- package/lib/types/connections.types.js +1 -0
- package/lib/types/content.types.js +1 -0
- package/lib/types/conversations.types.js +1 -0
- package/lib/types/email.types.js +1 -0
- package/lib/types/error.types.js +2 -0
- package/lib/types/files.types.js +1 -0
- package/lib/types/google.types.js +1 -0
- package/lib/types/groups.types.js +1 -0
- package/lib/types/images.types.js +1 -0
- package/lib/types/index.js +2 -56
- package/lib/types/locations.types.js +1 -0
- package/lib/types/messages.types.js +1 -0
- package/lib/types/notifications.types.js +1 -0
- package/lib/types/payments.types.js +1 -0
- package/lib/types/posts.types.js +1 -0
- package/lib/types/profiles.types.js +1 -0
- package/lib/types/statistics.types.js +1 -0
- package/lib/types/tags.types.js +1 -0
- package/lib/types/users.types.js +1 -0
- package/lib/types/websockets.types.js +1 -0
- package/lib/utils/adapterUtils.js +2 -45
- package/lib/utils/analyticsUtils.js +2 -72
- package/lib/utils/arangodbUtils.js +5 -142
- package/lib/utils/authUtils.js +2 -0
- package/lib/utils/contextUtils.js +2 -0
- package/lib/utils/dbI18n.example.js +6 -0
- package/lib/utils/dbI18n.js +2 -0
- package/lib/utils/googleTranslate.js +2 -0
- package/lib/utils/graphqlUtils.js +2 -0
- package/lib/utils/index.js +2 -30
- package/lib/utils/languageDetection.js +2 -0
- package/lib/utils/localeUtils.example.js +2 -0
- package/lib/utils/localeUtils.js +2 -0
- package/lib/utils/middlewareUtils.js +2 -0
- package/lib/utils/sessionUtils.js +2 -0
- package/lib/utils/stripeUtils.js +2 -0
- package/lib/utils/templateUtils.js +2 -0
- package/lib/utils/testUtils.js +2 -0
- package/lib/utils/translationQueue.example.js +2 -0
- package/lib/utils/translationQueue.js +2 -0
- package/package.json +41 -37
- package/.eslintrc +0 -10
- package/.prettierrc.js +0 -4
- package/lib/actions/apps.d.ts +0 -25
- package/lib/actions/conversations.d.ts +0 -14
- package/lib/actions/dynamodb.d.ts +0 -8
- package/lib/actions/email.d.ts +0 -5
- package/lib/actions/files.d.ts +0 -19
- package/lib/actions/groups.d.ts +0 -14
- package/lib/actions/images.d.ts +0 -26
- package/lib/actions/index.d.ts +0 -21
- package/lib/actions/ios.d.ts +0 -7
- package/lib/actions/locations.d.ts +0 -5
- package/lib/actions/messages.d.ts +0 -13
- package/lib/actions/notifications.d.ts +0 -5
- package/lib/actions/payments.d.ts +0 -10
- package/lib/actions/posts.d.ts +0 -19
- package/lib/actions/reactions.d.ts +0 -30
- package/lib/actions/s3.d.ts +0 -7
- package/lib/actions/search.d.ts +0 -3
- package/lib/actions/sms.d.ts +0 -3
- package/lib/actions/statistics.d.ts +0 -3
- package/lib/actions/subscription.d.ts +0 -7
- package/lib/actions/subscription.js +0 -218
- package/lib/actions/tags.d.ts +0 -29
- package/lib/actions/users.d.ts +0 -47
- package/lib/actions/websockets.d.ts +0 -19
- package/lib/adapters/arangoAdapter.d.ts +0 -2
- package/lib/adapters/fileAdapter.d.ts +0 -3
- package/lib/adapters/postAdapter.d.ts +0 -2
- package/lib/adapters/reaktorAdapter.d.ts +0 -6
- package/lib/adapters/tagAdapter.d.ts +0 -2
- package/lib/adapters/userAdapter.d.ts +0 -2
- package/lib/config.d.ts +0 -20
- package/lib/index.d.ts +0 -5
- package/lib/lambdas/actions/websockets.d.ts +0 -6
- package/lib/lambdas/authorizer.d.ts +0 -20
- package/lib/lambdas/connection.d.ts +0 -12
- package/lib/lambdas/utils/message.d.ts +0 -1
- package/lib/lambdas/utils/websocket.d.ts +0 -7
- package/lib/mocks/conversation.d.ts +0 -8
- package/lib/mocks/file.d.ts +0 -11
- package/lib/mocks/group.d.ts +0 -17
- package/lib/mocks/image.d.ts +0 -3
- package/lib/mocks/post.d.ts +0 -38
- package/lib/mocks/tag.d.ts +0 -2
- package/lib/mocks/user.d.ts +0 -4
- package/lib/templates/email/layout.d.ts +0 -2
- package/lib/templates/email/passwordForgot.d.ts +0 -2
- package/lib/templates/email/passwordRecovery.d.ts +0 -2
- package/lib/templates/email/verifyEmail.d.ts +0 -2
- package/lib/templates/email/welcome.d.ts +0 -2
- package/lib/templates/sms/passwordForgot.d.ts +0 -2
- package/lib/templates/sms/passwordRecovery.d.ts +0 -2
- package/lib/templates/sms/verifyEmail.d.ts +0 -2
- package/lib/templates/sms/verifyPhone.d.ts +0 -2
- package/lib/templates/sms/welcome.d.ts +0 -2
- package/lib/types/apps.d.ts +0 -46
- package/lib/types/apps.js +0 -32
- package/lib/types/arangodb.d.ts +0 -30
- package/lib/types/auth.d.ts +0 -7
- package/lib/types/connections.d.ts +0 -7
- package/lib/types/conversations.d.ts +0 -29
- package/lib/types/conversations.js +0 -16
- package/lib/types/email.d.ts +0 -13
- package/lib/types/error.d.ts +0 -20
- package/lib/types/files.d.ts +0 -26
- package/lib/types/files.js +0 -16
- package/lib/types/google.d.ts +0 -29
- package/lib/types/google.js +0 -16
- package/lib/types/groups.d.ts +0 -21
- package/lib/types/images.d.ts +0 -51
- package/lib/types/images.js +0 -16
- package/lib/types/index.d.ts +0 -18
- package/lib/types/locations.d.ts +0 -20
- package/lib/types/messages.d.ts +0 -16
- package/lib/types/notifications.d.ts +0 -17
- package/lib/types/payments.d.ts +0 -112
- package/lib/types/payments.js +0 -16
- package/lib/types/posts.d.ts +0 -31
- package/lib/types/posts.js +0 -16
- package/lib/types/statistics.d.ts +0 -3
- package/lib/types/tags.d.ts +0 -10
- package/lib/types/users.d.ts +0 -76
- package/lib/types/users.js +0 -16
- package/lib/types/websocket.d.ts +0 -13
- package/lib/types/websocket.js +0 -16
- package/lib/utils/adapterUtils.d.ts +0 -1
- package/lib/utils/analyticsUtils.d.ts +0 -21
- package/lib/utils/arangodbUtils.d.ts +0 -65
- package/lib/utils/auth.d.ts +0 -20
- package/lib/utils/auth.js +0 -50
- package/lib/utils/index.d.ts +0 -5
- package/lib/utils/session.d.ts +0 -16
- /package/{lib → dist}/types/error.js +0 -0
- /package/{lib → dist}/types/statistics.js +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{getGqlFields as s}from"./arangodbUtils";const d=(e,o,n,i,t)=>{const p={...i,fields:s(t)};return e(o,n,p,t)};export{d as addFieldsToContext};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL21pZGRsZXdhcmVVdGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtnZXRHcWxGaWVsZHN9IGZyb20gJy4vYXJhbmdvZGJVdGlscyc7XG5cbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGFkZEZpZWxkc1RvQ29udGV4dCA9IChcbiAgcmVzb2x2ZTogRnVuY3Rpb24sXG4gIHBhcmVudDogYW55LFxuICBhcmdzOiBhbnksXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGluZm86IGFueVxuKSA9PiB7XG4gIGNvbnN0IGNvbnRleHRXaXRoRmllbGRzID0ge1xuICAgIC4uLmNvbnRleHQsXG4gICAgZmllbGRzOiBnZXRHcWxGaWVsZHMoaW5mbylcbiAgfTtcblxuICByZXR1cm4gcmVzb2x2ZShwYXJlbnQsIGFyZ3MsIGNvbnRleHRXaXRoRmllbGRzLCBpbmZvKTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxnQkFBQUEsTUFBbUIsa0JBSXBCLE1BQU1DLEVBQXFCLENBQ2hDQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxJQUNHLENBQ0gsTUFBTUMsRUFBb0IsQ0FDeEIsR0FBR0YsRUFDSCxPQUFRTCxFQUFhTSxDQUFJLENBQzNCLEVBRUEsT0FBT0osRUFBUUMsRUFBUUMsRUFBTUcsRUFBbUJELENBQUksQ0FDdEQiLAogICJuYW1lcyI6IFsiZ2V0R3FsRmllbGRzIiwgImFkZEZpZWxkc1RvQ29udGV4dCIsICJyZXNvbHZlIiwgInBhcmVudCIsICJhcmdzIiwgImNvbnRleHQiLCAiaW5mbyIsICJjb250ZXh0V2l0aEZpZWxkcyJdCn0K
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"jsonwebtoken";const t=r=>e.sign(r,process.env.SESSION_SECRET),i=r=>{try{return e.verify(r,process.env.SESSION_SECRET)}catch(s){switch(s.message){case"jwt expired":throw new Error("expired_session");default:throw new Error("invalid_session")}}},a=r=>r.userAccess>2;export{i as getSession,a as isAdminUser,t as setSession};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3Nlc3Npb25VdGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCBqd3QgZnJvbSAnanNvbndlYnRva2VuJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuL2FuYWx5dGljc1V0aWxzJztcblxuZXhwb3J0IHR5cGUgU2Vzc2lvbiA9IHtcbiAgcmVhZG9ubHkgZXJyb3JzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IGV4cD86IG51bWJlcjtcbiAgcmVhZG9ubHkgaWF0PzogbnVtYmVyO1xuICByZWFkb25seSB1c2VybmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlckFjY2Vzcz86IG51bWJlcjtcbiAgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBTZXNzaW9uVG9rZW4gPSB7XG4gIHJlYWRvbmx5IGV4cGlyZXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgaXNzdWVkOiBudW1iZXI7XG4gIHJlYWRvbmx5IHRva2VuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJJZDogc3RyaW5nO1xuICByZWFkb25seSB1c2VybmFtZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFNlc3Npb24gPSAoc2Vzc2lvbjogU2Vzc2lvbik6IHN0cmluZyA9PiBqd3Quc2lnbihzZXNzaW9uLCBwcm9jZXNzLmVudi5TRVNTSU9OX1NFQ1JFVCk7XG5cbmV4cG9ydCBjb25zdCBnZXRTZXNzaW9uID0gKHRva2VuOiBzdHJpbmcpOiBTZXNzaW9uID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gand0LnZlcmlmeSh0b2tlbiwgcHJvY2Vzcy5lbnYuU0VTU0lPTl9TRUNSRVQpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgc3dpdGNoKGVycm9yLm1lc3NhZ2UpIHtcbiAgICAgIGNhc2UgJ2p3dCBleHBpcmVkJzoge1xuICAgICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoJ2V4cGlyZWRfc2Vzc2lvbicpO1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcignaW52YWxpZF9zZXNzaW9uJyk7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpc0FkbWluVXNlciA9IChzZXNzaW9uOiBTZXNzaW9uKSA9PiBzZXNzaW9uLnVzZXJBY2Nlc3MgPiAyOyJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQU9BLE1BQVMsZUFzQlQsTUFBTUMsRUFBY0MsR0FBNkJGLEVBQUksS0FBS0UsRUFBUyxRQUFRLElBQUksY0FBYyxFQUV2RkMsRUFBY0MsR0FBMkIsQ0FDcEQsR0FBSSxDQUNGLE9BQU9KLEVBQUksT0FBT0ksRUFBTyxRQUFRLElBQUksY0FBYyxDQUNyRCxPQUFRQyxFQUFPLENBQ2IsT0FBT0EsRUFBTSxRQUFTLENBQ3BCLElBQUssY0FFSCxNQURZLElBQUksTUFBTSxpQkFBaUIsRUFHekMsUUFFRSxNQURZLElBQUksTUFBTSxpQkFBaUIsQ0FHM0MsQ0FDRixDQUNGLEVBRWFDLEVBQWVKLEdBQXFCQSxFQUFRLFdBQWEiLAogICJuYW1lcyI6IFsiand0IiwgInNldFNlc3Npb24iLCAic2Vzc2lvbiIsICJnZXRTZXNzaW9uIiwgInRva2VuIiwgImVycm9yIiwgImlzQWRtaW5Vc2VyIl0KfQo=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import t from"stripe";import{Config as e}from"../config";const i="2025-05-28.basil",p=()=>new t(e.get("stripe.token"),{apiVersion:i,typescript:!0});export{p as getStripeClient,i as stripeApiVersion};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3N0cmlwZVV0aWxzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHN0cmlwZSBmcm9tICdzdHJpcGUnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IHN0cmlwZUFwaVZlcnNpb24gPSAnMjAyNS0wNS0yOC5iYXNpbCc7XG5cbmV4cG9ydCBjb25zdCBnZXRTdHJpcGVDbGllbnQgPSAoKSA9PiBuZXcgc3RyaXBlKENvbmZpZy5nZXQoJ3N0cmlwZS50b2tlbicpLCB7YXBpVmVyc2lvbjogc3RyaXBlQXBpVmVyc2lvbiwgdHlwZXNjcmlwdDogdHJ1ZX0pOyJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQU9BLE1BQVksU0FFbkIsT0FBUSxVQUFBQyxNQUFhLFlBRWQsTUFBTUMsRUFBbUIsbUJBRW5CQyxFQUFrQixJQUFNLElBQUlILEVBQU9DLEVBQU8sSUFBSSxjQUFjLEVBQUcsQ0FBQyxXQUFZQyxFQUFrQixXQUFZLEVBQUksQ0FBQyIsCiAgIm5hbWVzIjogWyJzdHJpcGUiLCAiQ29uZmlnIiwgInN0cmlwZUFwaVZlcnNpb24iLCAiZ2V0U3RyaXBlQ2xpZW50Il0KfQo=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const n=(t,e)=>{let r=t;return Object.keys(e).forEach(s=>{const a=new RegExp(`\\[${s}\\]`,"g");r=r.replace(a,e[s])}),r},p=(t,e)=>n(t,e);export{p as createTemplate,n as parseTemplate};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3RlbXBsYXRlVXRpbHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCB0eXBlIFRlbXBsYXRlUGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVGVtcGxhdGUgPSAodGVtcGxhdGU6IHN0cmluZywgcGFyYW1zOiBUZW1wbGF0ZVBhcmFtcyk6IHN0cmluZyA9PiB7XG4gIGxldCByZXN1bHQgPSB0ZW1wbGF0ZTtcblxuICBPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChgXFxcXFske2tleX1cXFxcXWAsICdnJyk7XG4gICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UocmVnZXgsIHBhcmFtc1trZXldKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUZW1wbGF0ZSA9IDxUIGV4dGVuZHMgVGVtcGxhdGVQYXJhbXM+KHRlbXBsYXRlU3RyaW5nOiBzdHJpbmcsIHBhcmFtczogVCk6IHN0cmluZyA9PlxuICBwYXJzZVRlbXBsYXRlKHRlbXBsYXRlU3RyaW5nLCBwYXJhbXMpOyJdLAogICJtYXBwaW5ncyI6ICJBQUVPLE1BQU1BLEVBQWdCLENBQUNDLEVBQWtCQyxJQUFtQyxDQUNqRixJQUFJQyxFQUFTRixFQUViLGNBQU8sS0FBS0MsQ0FBTSxFQUFFLFFBQVNFLEdBQVEsQ0FDbkMsTUFBTUMsRUFBUSxJQUFJLE9BQU8sTUFBTUQsQ0FBRyxNQUFPLEdBQUcsRUFDNUNELEVBQVNBLEVBQU8sUUFBUUUsRUFBT0gsRUFBT0UsQ0FBRyxDQUFDLENBQzVDLENBQUMsRUFFTUQsQ0FDVCxFQUVhRyxFQUFpQixDQUEyQkMsRUFBd0JMLElBQy9FRixFQUFjTyxFQUFnQkwsQ0FBTSIsCiAgIm5hbWVzIjogWyJwYXJzZVRlbXBsYXRlIiwgInRlbXBsYXRlIiwgInBhcmFtcyIsICJyZXN1bHQiLCAia2V5IiwgInJlZ2V4IiwgImNyZWF0ZVRlbXBsYXRlIiwgInRlbXBsYXRlU3RyaW5nIl0KfQo=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const g=(e={})=>{const r={userAccess:1,userId:"user1",username:"testuser"},n=e.session||{},t={databaseName:e.databaseName??"test",...e};return delete t.session,t.session={userAccess:n.userAccess!==void 0?n.userAccess:r.userAccess,userId:n.userId!==void 0?n.userId:r.userId,username:n.username!==void 0?n.username:r.username},t},T=(e="test")=>({fieldName:e,fieldNodes:[],fragments:{},operation:{},parentType:{},path:{key:e,prev:void 0,typename:"Test"},returnType:{},rootValue:{},schema:{},variableValues:{}}),f=(e,r)=>{jest.doMock(e,()=>r)},k=(e,r)=>{jest.doMock(e,()=>({[r]:{getField:jest.fn(()=>({resolve:jest.fn()})),getFields:jest.fn(()=>({}))}}))},y=(e,r,n)=>{describe(`${e} Queries`,async()=>{const t=await import(r),o=g();n.forEach(({name:a,actionName:c,args:s,expectedCall:i,mockReturnValue:l,errorCase:u=!1})=>{it(`should call ${c} action with correct parameters`,async()=>{t[c].mockResolvedValue(l);const p=await t[c](o,s);expect(t[c]).toHaveBeenCalledWith(o,i(o,s)),expect(p).toEqual(l)}),u&&it(`should handle ${c} when no data found`,async()=>{t[c].mockResolvedValue(null);const p=await t[c](o,s);expect(t[c]).toHaveBeenCalledWith(o,i(o,s)),expect(p).toBeNull()})})})},A=(e,r,n)=>{describe(`${e} Mutations`,async()=>{const t=await import(r);n.forEach(({actionName:o,args:a,expectedCall:c,mockReturnValue:s,requiresAuth:i=!1,authUserId:l})=>{it(`should call ${o} action with correct parameters`,async()=>{const u=g();i&&l&&(u.session.userId=l),t[o].mockResolvedValue(s);const p=await t[o](u,a);expect(t[o]).toHaveBeenCalledWith(u,c(u,a)),expect(p).toEqual(s)})})})},h=(e,r,n,t,o)=>{describe(`${e} Integration`,async()=>{const a=await import(r);o.forEach(({name:c,actionName:s,args:i,expectedCall:l,successReturnValue:u,errorReturnValue:p,testErrorCase:x})=>{describe(c,()=>{it(`should return data when ${s} succeeds`,async()=>{const d=g();a[s].mockResolvedValue(u);const m=await a[s](d,i);expect(a[s]).toHaveBeenCalledWith(d,l(d,i)),expect(m).toEqual(u||{})}),x&&it(`should handle ${s} when no data found`,async()=>{const d=g();a[s].mockResolvedValue(p);const m=await a[s](d,i);expect(a[s]).toHaveBeenCalledWith(d,l(d,i)),expect(m).toEqual(p)})})})})},j=(e={})=>({email:"test@example.com",firstName:"Test",lastName:"User",userId:"user1",username:"testuser",...e}),M=(e={})=>({content:"Test post content",createdAt:new Date().toISOString(),postId:"post1",userId:"user1",...e}),I=(e={})=>({content:"Test message",conversationId:"conv1",createdAt:new Date().toISOString(),messageId:"msg1",userId:"user1",...e}),v=(e={})=>({createdAt:new Date().toISOString(),postId:"post1",reactionId:"react1",type:"like",userId:"user1",...e}),R=(e={})=>({description:"Test tag description",name:"test-tag",tagId:"tag1",...e}),w=()=>{jest.mock("../utils/arangodbUtils",()=>({all:jest.fn(),getDocId:jest.fn(),getLimit:jest.fn(),next:jest.fn(),useDb:jest.fn(()=>({query:jest.fn(()=>Promise.resolve({all:jest.fn(),next:jest.fn()}))}))})),jest.mock("../utils/analyticsUtils",()=>({logError:jest.fn(),logException:jest.fn()})),jest.mock("../utils/sessionUtils",()=>({getSession:jest.fn(),isAdminUser:jest.fn(),setSession:jest.fn()})),jest.mock("../utils/authUtils",()=>({isAuthenticated:jest.fn(()=>!0)}))},C=()=>{jest.clearAllMocks()},E=(e,r,n)=>{describe(`${e} actions`,async()=>{const t=await import(r);n.forEach(({name:o,actionName:a,args:c,mockQuery:s,expectedResult:i})=>{it(`should execute ${a}`,async()=>{const l=g(),{useDb:u}=await import("../utils/arangodbUtils");u.mockReturnValue({query:s});const p=await t[a](l,c);expect(p).toEqual(i)})})})},V=(e,r,n)=>{describe(e,async()=>{const t=await import(r);n.forEach(({name:o,input:a,expectedOutput:c})=>{it(`should ${o}`,()=>{const s=t.parseTag(a);expect(s).toEqual(c)})})})},b=(e,r,n)=>{describe(e,async()=>{const t=await import(r);n.forEach(({name:o,input:a,expectedOutput:c})=>{it(`should ${o}`,()=>{let s;if(t.logInfo)s=t.logInfo(a);else if(t.removeEmptyKeys)s=t.removeEmptyKeys(a);else throw new Error(`No suitable function found in ${r}`);expect(s).toEqual(c)})})})};export{C as clearAllMocks,E as createActionTestSuite,V as createAdapterTestSuite,h as createIntegrationTestSuite,g as createMockContext,I as createMockMessage,M as createMockPost,v as createMockReaction,T as createMockResolveInfo,R as createMockTag,j as createMockUser,A as createMutationTestSuite,y as createQueryTestSuite,b as createUtilsTestSuite,f as mockActionsModule,k as mockObjectType,w as setupCommonMocks};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3Rlc3RVdGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjUtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7R3JhcGhRTFJlc29sdmVJbmZvfSBmcm9tICdncmFwaHFsJztcblxuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gRGVmaW5lIHByb3BlciB0eXBlcyBmb3IgdGVzdCB1dGlsaXRpZXNcbnR5cGUgTW9ja092ZXJyaWRlcyA9IFBhcnRpYWw8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xudHlwZSBUZXN0Q29udGV4dCA9IFBhcnRpYWw8QXBpQ29udGV4dD4gJiB7c2Vzc2lvbj86IFBhcnRpYWw8e3VzZXJJZDogc3RyaW5nOyB1c2VybmFtZTogc3RyaW5nOyB1c2VyQWNjZXNzOiBudW1iZXJ9Pn07XG50eXBlIFRlc3RBcmdzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG50eXBlIFRlc3RSZXR1cm5WYWx1ZSA9IHVua25vd247XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNb2NrQ29udGV4dCA9IChvdmVycmlkZXM6IE1vY2tPdmVycmlkZXMgPSB7fSk6IEFwaUNvbnRleHQgPT4ge1xuICBjb25zdCBkZWZhdWx0U2Vzc2lvbiA9IHtcbiAgICB1c2VyQWNjZXNzOiAxLFxuICAgIHVzZXJJZDogJ3VzZXIxJyxcbiAgICB1c2VybmFtZTogJ3Rlc3R1c2VyJ1xuICB9O1xuICBjb25zdCBvdmVycmlkZVNlc3Npb246IFBhcnRpYWw8dHlwZW9mIGRlZmF1bHRTZXNzaW9uPiA9IG92ZXJyaWRlcy5zZXNzaW9uIHx8IHt9O1xuICBjb25zdCBjb250ZXh0OiBUZXN0Q29udGV4dCA9IHtcbiAgICBkYXRhYmFzZU5hbWU6IChvdmVycmlkZXMuZGF0YWJhc2VOYW1lIGFzIHN0cmluZykgPz8gJ3Rlc3QnLFxuICAgIC4uLm92ZXJyaWRlc1xuICB9O1xuICBkZWxldGUgY29udGV4dC5zZXNzaW9uO1xuICBjb250ZXh0LnNlc3Npb24gPSB7XG4gICAgdXNlckFjY2Vzczogb3ZlcnJpZGVTZXNzaW9uLnVzZXJBY2Nlc3MgIT09IHVuZGVmaW5lZCA/IG92ZXJyaWRlU2Vzc2lvbi51c2VyQWNjZXNzIDogZGVmYXVsdFNlc3Npb24udXNlckFjY2VzcyxcbiAgICB1c2VySWQ6IG92ZXJyaWRlU2Vzc2lvbi51c2VySWQgIT09IHVuZGVmaW5lZCA/IG92ZXJyaWRlU2Vzc2lvbi51c2VySWQgOiBkZWZhdWx0U2Vzc2lvbi51c2VySWQsXG4gICAgdXNlcm5hbWU6IG92ZXJyaWRlU2Vzc2lvbi51c2VybmFtZSAhPT0gdW5kZWZpbmVkID8gb3ZlcnJpZGVTZXNzaW9uLnVzZXJuYW1lIDogZGVmYXVsdFNlc3Npb24udXNlcm5hbWVcbiAgfTtcbiAgcmV0dXJuIGNvbnRleHQgYXMgQXBpQ29udGV4dDtcbn07XG5cbi8vIENvbW1vbiBtb2NrIHJlc29sdmUgaW5mbyBmb3IgR3JhcGhRTCByZXNvbHZlcnNcbmV4cG9ydCBjb25zdCBjcmVhdGVNb2NrUmVzb2x2ZUluZm8gPSAoZmllbGROYW1lOiBzdHJpbmcgPSAndGVzdCcpOiBHcmFwaFFMUmVzb2x2ZUluZm8gPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1hc3NlcnRpb25zXG4gIGNvbnN0IG9wZXJhdGlvbiA9IHt9IGFzIEdyYXBoUUxSZXNvbHZlSW5mb1snb3BlcmF0aW9uJ107XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWFzc2VydGlvbnNcbiAgY29uc3QgcGFyZW50VHlwZSA9IHt9IGFzIEdyYXBoUUxSZXNvbHZlSW5mb1sncGFyZW50VHlwZSddO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1hc3NlcnRpb25zXG4gIGNvbnN0IHJldHVyblR5cGUgPSB7fSBhcyBHcmFwaFFMUmVzb2x2ZUluZm9bJ3JldHVyblR5cGUnXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1xuICBjb25zdCBzY2hlbWEgPSB7fSBhcyBHcmFwaFFMUmVzb2x2ZUluZm9bJ3NjaGVtYSddO1xuXG4gIHJldHVybiB7XG4gICAgZmllbGROYW1lLFxuICAgIGZpZWxkTm9kZXM6IFtdLFxuICAgIGZyYWdtZW50czoge30sXG4gICAgb3BlcmF0aW9uLFxuICAgIHBhcmVudFR5cGUsXG4gICAgcGF0aDoge2tleTogZmllbGROYW1lLCBwcmV2OiB1bmRlZmluZWQsIHR5cGVuYW1lOiAnVGVzdCd9LFxuICAgIHJldHVyblR5cGUsXG4gICAgcm9vdFZhbHVlOiB7fSxcbiAgICBzY2hlbWEsXG4gICAgdmFyaWFibGVWYWx1ZXM6IHt9XG4gIH07XG59O1xuXG4vLyBVdGlsaXR5IHRvIG1vY2sgYWN0aW9ucyBtb2R1bGVcbmV4cG9ydCBjb25zdCBtb2NrQWN0aW9uc01vZHVsZSA9IChtb2R1bGVQYXRoOiBzdHJpbmcsIG1vY2tBY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBqZXN0Lk1vY2s+KSA9PiB7XG4gIGplc3QuZG9Nb2NrKG1vZHVsZVBhdGgsICgpID0+IG1vY2tBY3Rpb25zKTtcbn07XG5cbi8vIFV0aWxpdHkgdG8gbW9jayBvYmplY3QgdHlwZXNcbmV4cG9ydCBjb25zdCBtb2NrT2JqZWN0VHlwZSA9IChtb2R1bGVQYXRoOiBzdHJpbmcsIHR5cGVOYW1lOiBzdHJpbmcpID0+IHtcbiAgamVzdC5kb01vY2sobW9kdWxlUGF0aCwgKCkgPT4gKHtcbiAgICBbdHlwZU5hbWVdOiB7XG4gICAgICBnZXRGaWVsZDogamVzdC5mbigoKSA9PiAoe3Jlc29sdmU6IGplc3QuZm4oKX0pKSxcbiAgICAgIGdldEZpZWxkczogamVzdC5mbigoKSA9PiAoe30pKVxuICAgIH1cbiAgfSkpO1xufTtcblxuLy8gVXRpbGl0eSB0byBjcmVhdGUgYSB0ZXN0IHN1aXRlIGZvciBxdWVyeSByZXNvbHZlcnNcbmV4cG9ydCBjb25zdCBjcmVhdGVRdWVyeVRlc3RTdWl0ZSA9IChcbiAgbmFtZTogc3RyaW5nLFxuICBhY3Rpb25zUGF0aDogc3RyaW5nLFxuICB0ZXN0Q2FzZXM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYWN0aW9uTmFtZTogc3RyaW5nO1xuICAgIGFyZ3M6IFRlc3RBcmdzO1xuICAgIGV4cGVjdGVkQ2FsbDogKGNvbnRleHQ6IFRlc3RDb250ZXh0LCBhcmdzOiBUZXN0QXJncykgPT4gVGVzdEFyZ3M7XG4gICAgbW9ja1JldHVyblZhbHVlOiBUZXN0UmV0dXJuVmFsdWU7XG4gICAgZXJyb3JDYXNlPzogYm9vbGVhbjtcbiAgfT5cbikgPT4ge1xuICBkZXNjcmliZShgJHtuYW1lfSBRdWVyaWVzYCwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGFjdGlvbnMgPSBhd2FpdCBpbXBvcnQoYWN0aW9uc1BhdGgpO1xuICAgIGNvbnN0IG1vY2tDb250ZXh0ID0gY3JlYXRlTW9ja0NvbnRleHQoKTtcblxuICAgIHRlc3RDYXNlcy5mb3JFYWNoKCh7bmFtZTogdGVzdE5hbWUsIGFjdGlvbk5hbWUsIGFyZ3MsIGV4cGVjdGVkQ2FsbCwgbW9ja1JldHVyblZhbHVlLCBlcnJvckNhc2UgPSBmYWxzZX0pID0+IHtcbiAgICAgIGl0KGBzaG91bGQgY2FsbCAke2FjdGlvbk5hbWV9IGFjdGlvbiB3aXRoIGNvcnJlY3QgcGFyYW1ldGVyc2AsIGFzeW5jICgpID0+IHtcbiAgICAgICAgKGFjdGlvbnNbYWN0aW9uTmFtZV0gYXMgamVzdC5Nb2NrKS5tb2NrUmVzb2x2ZWRWYWx1ZShtb2NrUmV0dXJuVmFsdWUpO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IChhY3Rpb25zW2FjdGlvbk5hbWVdIGFzIGplc3QuTW9jaykobW9ja0NvbnRleHQsIGFyZ3MpO1xuICAgICAgICBleHBlY3QoYWN0aW9uc1thY3Rpb25OYW1lXSkudG9IYXZlQmVlbkNhbGxlZFdpdGgobW9ja0NvbnRleHQsIGV4cGVjdGVkQ2FsbChtb2NrQ29udGV4dCwgYXJncykpO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKG1vY2tSZXR1cm5WYWx1ZSk7XG4gICAgICB9KTtcblxuICAgICAgaWYoZXJyb3JDYXNlKSB7XG4gICAgICAgIGl0KGBzaG91bGQgaGFuZGxlICR7YWN0aW9uTmFtZX0gd2hlbiBubyBkYXRhIGZvdW5kYCwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIChhY3Rpb25zW2FjdGlvbk5hbWVdIGFzIGplc3QuTW9jaykubW9ja1Jlc29sdmVkVmFsdWUobnVsbCk7XG5cbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCAoYWN0aW9uc1thY3Rpb25OYW1lXSBhcyBqZXN0Lk1vY2spKG1vY2tDb250ZXh0LCBhcmdzKTtcbiAgICAgICAgICBleHBlY3QoYWN0aW9uc1thY3Rpb25OYW1lXSkudG9IYXZlQmVlbkNhbGxlZFdpdGgobW9ja0NvbnRleHQsIGV4cGVjdGVkQ2FsbChtb2NrQ29udGV4dCwgYXJncykpO1xuICAgICAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn07XG5cbi8vIFV0aWxpdHkgdG8gY3JlYXRlIGEgdGVzdCBzdWl0ZSBmb3IgbXV0YXRpb24gcmVzb2x2ZXJzXG5leHBvcnQgY29uc3QgY3JlYXRlTXV0YXRpb25UZXN0U3VpdGUgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgYWN0aW9uc1BhdGg6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGFjdGlvbk5hbWU6IHN0cmluZztcbiAgICBhcmdzOiBUZXN0QXJncztcbiAgICBleHBlY3RlZENhbGw6IChjb250ZXh0OiBUZXN0Q29udGV4dCwgYXJnczogVGVzdEFyZ3MpID0+IFRlc3RBcmdzO1xuICAgIG1vY2tSZXR1cm5WYWx1ZTogVGVzdFJldHVyblZhbHVlO1xuICAgIHJlcXVpcmVzQXV0aD86IGJvb2xlYW47XG4gICAgYXV0aFVzZXJJZD86IHN0cmluZztcbiAgfT5cbikgPT4ge1xuICBkZXNjcmliZShgJHtuYW1lfSBNdXRhdGlvbnNgLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgYWN0aW9ucyA9IGF3YWl0IGltcG9ydChhY3Rpb25zUGF0aCk7XG5cbiAgICB0ZXN0Q2FzZXMuZm9yRWFjaCgoe1xuICAgICAgYWN0aW9uTmFtZSxcbiAgICAgIGFyZ3MsXG4gICAgICBleHBlY3RlZENhbGwsXG4gICAgICBtb2NrUmV0dXJuVmFsdWUsXG4gICAgICByZXF1aXJlc0F1dGggPSBmYWxzZSxcbiAgICAgIGF1dGhVc2VySWRcbiAgICB9KSA9PiB7XG4gICAgICBpdChgc2hvdWxkIGNhbGwgJHthY3Rpb25OYW1lfSBhY3Rpb24gd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnNgLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1vY2tDb250ZXh0ID0gY3JlYXRlTW9ja0NvbnRleHQoKTtcbiAgICAgICAgaWYocmVxdWlyZXNBdXRoICYmIGF1dGhVc2VySWQpIHtcbiAgICAgICAgICAobW9ja0NvbnRleHQuc2Vzc2lvbiBhcyB7dXNlcklkOiBzdHJpbmd9KS51c2VySWQgPSBhdXRoVXNlcklkO1xuICAgICAgICB9XG5cbiAgICAgICAgKGFjdGlvbnNbYWN0aW9uTmFtZV0gYXMgamVzdC5Nb2NrKS5tb2NrUmVzb2x2ZWRWYWx1ZShtb2NrUmV0dXJuVmFsdWUpO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IChhY3Rpb25zW2FjdGlvbk5hbWVdIGFzIGplc3QuTW9jaykobW9ja0NvbnRleHQsIGFyZ3MpO1xuICAgICAgICBleHBlY3QoYWN0aW9uc1thY3Rpb25OYW1lXSkudG9IYXZlQmVlbkNhbGxlZFdpdGgobW9ja0NvbnRleHQsIGV4cGVjdGVkQ2FsbChtb2NrQ29udGV4dCwgYXJncykpO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKG1vY2tSZXR1cm5WYWx1ZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG4vLyBVdGlsaXR5IHRvIGNyZWF0ZSBpbnRlZ3JhdGlvbiB0ZXN0IHN1aXRlXG5leHBvcnQgY29uc3QgY3JlYXRlSW50ZWdyYXRpb25UZXN0U3VpdGUgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgYWN0aW9uc1BhdGg6IHN0cmluZyxcbiAgb2JqZWN0VHlwZVBhdGg6IHN0cmluZyxcbiAgdHlwZU5hbWU6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGFjdGlvbk5hbWU6IHN0cmluZztcbiAgICBhcmdzOiBUZXN0QXJncztcbiAgICBleHBlY3RlZENhbGw6IChjb250ZXh0OiBUZXN0Q29udGV4dCwgYXJnczogVGVzdEFyZ3MpID0+IFRlc3RBcmdzO1xuICAgIHN1Y2Nlc3NSZXR1cm5WYWx1ZTogVGVzdFJldHVyblZhbHVlO1xuICAgIGVycm9yUmV0dXJuVmFsdWU6IFRlc3RSZXR1cm5WYWx1ZTtcbiAgICB0ZXN0RXJyb3JDYXNlOiBib29sZWFuO1xuICB9PlxuKSA9PiB7XG4gIGRlc2NyaWJlKGAke25hbWV9IEludGVncmF0aW9uYCwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGFjdGlvbnMgPSBhd2FpdCBpbXBvcnQoYWN0aW9uc1BhdGgpO1xuXG4gICAgdGVzdENhc2VzLmZvckVhY2goKHtcbiAgICAgIG5hbWU6IHRlc3ROYW1lLFxuICAgICAgYWN0aW9uTmFtZSxcbiAgICAgIGFyZ3MsXG4gICAgICBleHBlY3RlZENhbGwsXG4gICAgICBzdWNjZXNzUmV0dXJuVmFsdWUsXG4gICAgICBlcnJvclJldHVyblZhbHVlLFxuICAgICAgdGVzdEVycm9yQ2FzZVxuICAgIH0pID0+IHtcbiAgICAgIGRlc2NyaWJlKHRlc3ROYW1lLCAoKSA9PiB7XG4gICAgICAgIGl0KGBzaG91bGQgcmV0dXJuIGRhdGEgd2hlbiAke2FjdGlvbk5hbWV9IHN1Y2NlZWRzYCwgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1vY2tDb250ZXh0ID0gY3JlYXRlTW9ja0NvbnRleHQoKTtcbiAgICAgICAgICAoYWN0aW9uc1thY3Rpb25OYW1lXSBhcyBqZXN0Lk1vY2spLm1vY2tSZXNvbHZlZFZhbHVlKHN1Y2Nlc3NSZXR1cm5WYWx1ZSk7XG5cbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCAoYWN0aW9uc1thY3Rpb25OYW1lXSBhcyBqZXN0Lk1vY2spKG1vY2tDb250ZXh0LCBhcmdzKTtcblxuICAgICAgICAgIGV4cGVjdChhY3Rpb25zW2FjdGlvbk5hbWVdKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChtb2NrQ29udGV4dCwgZXhwZWN0ZWRDYWxsKG1vY2tDb250ZXh0LCBhcmdzKSk7XG4gICAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChzdWNjZXNzUmV0dXJuVmFsdWUgfHwge30pO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZih0ZXN0RXJyb3JDYXNlKSB7XG4gICAgICAgICAgaXQoYHNob3VsZCBoYW5kbGUgJHthY3Rpb25OYW1lfSB3aGVuIG5vIGRhdGEgZm91bmRgLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtb2NrQ29udGV4dCA9IGNyZWF0ZU1vY2tDb250ZXh0KCk7XG4gICAgICAgICAgICAoYWN0aW9uc1thY3Rpb25OYW1lXSBhcyBqZXN0Lk1vY2spLm1vY2tSZXNvbHZlZFZhbHVlKGVycm9yUmV0dXJuVmFsdWUpO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCAoYWN0aW9uc1thY3Rpb25OYW1lXSBhcyBqZXN0Lk1vY2spKG1vY2tDb250ZXh0LCBhcmdzKTtcblxuICAgICAgICAgICAgZXhwZWN0KGFjdGlvbnNbYWN0aW9uTmFtZV0pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKG1vY2tDb250ZXh0LCBleHBlY3RlZENhbGwobW9ja0NvbnRleHQsIGFyZ3MpKTtcbiAgICAgICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXJyb3JSZXR1cm5WYWx1ZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbi8vIENvbW1vbiBtb2NrIGRhdGEgZ2VuZXJhdG9yc1xuZXhwb3J0IGNvbnN0IGNyZWF0ZU1vY2tVc2VyID0gKG92ZXJyaWRlczogTW9ja092ZXJyaWRlcyA9IHt9KSA9PiAoe1xuICBlbWFpbDogJ3Rlc3RAZXhhbXBsZS5jb20nLFxuICBmaXJzdE5hbWU6ICdUZXN0JyxcbiAgbGFzdE5hbWU6ICdVc2VyJyxcbiAgdXNlcklkOiAndXNlcjEnLFxuICB1c2VybmFtZTogJ3Rlc3R1c2VyJyxcbiAgLi4ub3ZlcnJpZGVzXG59KTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1vY2tQb3N0ID0gKG92ZXJyaWRlczogTW9ja092ZXJyaWRlcyA9IHt9KSA9PiAoe1xuICBjb250ZW50OiAnVGVzdCBwb3N0IGNvbnRlbnQnLFxuICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgcG9zdElkOiAncG9zdDEnLFxuICB1c2VySWQ6ICd1c2VyMScsXG4gIC4uLm92ZXJyaWRlc1xufSk7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNb2NrTWVzc2FnZSA9IChvdmVycmlkZXM6IE1vY2tPdmVycmlkZXMgPSB7fSkgPT4gKHtcbiAgY29udGVudDogJ1Rlc3QgbWVzc2FnZScsXG4gIGNvbnZlcnNhdGlvbklkOiAnY29udjEnLFxuICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgbWVzc2FnZUlkOiAnbXNnMScsXG4gIHVzZXJJZDogJ3VzZXIxJyxcbiAgLi4ub3ZlcnJpZGVzXG59KTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1vY2tSZWFjdGlvbiA9IChvdmVycmlkZXM6IE1vY2tPdmVycmlkZXMgPSB7fSkgPT4gKHtcbiAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gIHBvc3RJZDogJ3Bvc3QxJyxcbiAgcmVhY3Rpb25JZDogJ3JlYWN0MScsXG4gIHR5cGU6ICdsaWtlJyxcbiAgdXNlcklkOiAndXNlcjEnLFxuICAuLi5vdmVycmlkZXNcbn0pO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTW9ja1RhZyA9IChvdmVycmlkZXM6IE1vY2tPdmVycmlkZXMgPSB7fSkgPT4gKHtcbiAgZGVzY3JpcHRpb246ICdUZXN0IHRhZyBkZXNjcmlwdGlvbicsXG4gIG5hbWU6ICd0ZXN0LXRhZycsXG4gIHRhZ0lkOiAndGFnMScsXG4gIC4uLm92ZXJyaWRlc1xufSk7XG5cbi8vIFV0aWxpdHkgdG8gc2V0IHVwIGNvbW1vbiBtb2Nrc1xuZXhwb3J0IGNvbnN0IHNldHVwQ29tbW9uTW9ja3MgPSAoKSA9PiB7XG4gIGplc3QubW9jaygnLi4vdXRpbHMvYXJhbmdvZGJVdGlscycsICgpID0+ICh7XG4gICAgYWxsOiBqZXN0LmZuKCksXG4gICAgZ2V0RG9jSWQ6IGplc3QuZm4oKSxcbiAgICBnZXRMaW1pdDogamVzdC5mbigpLFxuICAgIG5leHQ6IGplc3QuZm4oKSxcbiAgICB1c2VEYjogamVzdC5mbigoKSA9PiAoe1xuICAgICAgcXVlcnk6IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgYWxsOiBqZXN0LmZuKCksXG4gICAgICAgIG5leHQ6IGplc3QuZm4oKVxuICAgICAgfSkpXG4gICAgfSkpXG4gIH0pKTtcblxuICBqZXN0Lm1vY2soJy4uL3V0aWxzL2FuYWx5dGljc1V0aWxzJywgKCkgPT4gKHtcbiAgICBsb2dFcnJvcjogamVzdC5mbigpLFxuICAgIGxvZ0V4Y2VwdGlvbjogamVzdC5mbigpXG4gIH0pKTtcblxuICBqZXN0Lm1vY2soJy4uL3V0aWxzL3Nlc3Npb25VdGlscycsICgpID0+ICh7XG4gICAgZ2V0U2Vzc2lvbjogamVzdC5mbigpLFxuICAgIGlzQWRtaW5Vc2VyOiBqZXN0LmZuKCksXG4gICAgc2V0U2Vzc2lvbjogamVzdC5mbigpXG4gIH0pKTtcblxuICBqZXN0Lm1vY2soJy4uL3V0aWxzL2F1dGhVdGlscycsICgpID0+ICh7XG4gICAgaXNBdXRoZW50aWNhdGVkOiBqZXN0LmZuKCgpID0+IHRydWUpXG4gIH0pKTtcbn07XG5cbi8vIFV0aWxpdHkgdG8gY2xlYXIgYWxsIG1vY2tzXG5leHBvcnQgY29uc3QgY2xlYXJBbGxNb2NrcyA9ICgpID0+IHtcbiAgamVzdC5jbGVhckFsbE1vY2tzKCk7XG59O1xuXG4vLyBVdGlsaXR5IHRvIGNyZWF0ZSBhIHRlc3Qgc3VpdGUgZm9yIGFjdGlvbiBmdW5jdGlvbnNcbmV4cG9ydCBjb25zdCBjcmVhdGVBY3Rpb25UZXN0U3VpdGUgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgYWN0aW9uc1BhdGg6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGFjdGlvbk5hbWU6IHN0cmluZztcbiAgICBhcmdzOiBUZXN0QXJncztcbiAgICBtb2NrUXVlcnk6IGplc3QuTW9jaztcbiAgICBleHBlY3RlZFJlc3VsdDogVGVzdFJldHVyblZhbHVlO1xuICB9PlxuKSA9PiB7XG4gIGRlc2NyaWJlKGAke25hbWV9IGFjdGlvbnNgLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgYWN0aW9ucyA9IGF3YWl0IGltcG9ydChhY3Rpb25zUGF0aCk7XG5cbiAgICB0ZXN0Q2FzZXMuZm9yRWFjaCgoe25hbWU6IHRlc3ROYW1lLCBhY3Rpb25OYW1lLCBhcmdzLCBtb2NrUXVlcnksIGV4cGVjdGVkUmVzdWx0fSkgPT4ge1xuICAgICAgaXQoYHNob3VsZCBleGVjdXRlICR7YWN0aW9uTmFtZX1gLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1vY2tDb250ZXh0ID0gY3JlYXRlTW9ja0NvbnRleHQoKTtcbiAgICAgICAgY29uc3Qge3VzZURifSA9IGF3YWl0IGltcG9ydCgnLi4vdXRpbHMvYXJhbmdvZGJVdGlscycpO1xuICAgICAgICAodXNlRGIgYXMgamVzdC5Nb2NrKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIHF1ZXJ5OiBtb2NrUXVlcnlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgKGFjdGlvbnNbYWN0aW9uTmFtZV0gYXMgamVzdC5Nb2NrKShtb2NrQ29udGV4dCwgYXJncyk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXhwZWN0ZWRSZXN1bHQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxuLy8gVXRpbGl0eSB0byBjcmVhdGUgYSB0ZXN0IHN1aXRlIGZvciBhZGFwdGVyIGZ1bmN0aW9uc1xuZXhwb3J0IGNvbnN0IGNyZWF0ZUFkYXB0ZXJUZXN0U3VpdGUgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgYWRhcHRlclBhdGg6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGlucHV0OiBUZXN0QXJncztcbiAgICBleHBlY3RlZE91dHB1dDogVGVzdFJldHVyblZhbHVlO1xuICB9PlxuKSA9PiB7XG4gIGRlc2NyaWJlKG5hbWUsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBhZGFwdGVyID0gYXdhaXQgaW1wb3J0KGFkYXB0ZXJQYXRoKTtcblxuICAgIHRlc3RDYXNlcy5mb3JFYWNoKCh7bmFtZTogdGVzdE5hbWUsIGlucHV0LCBleHBlY3RlZE91dHB1dH0pID0+IHtcbiAgICAgIGl0KGBzaG91bGQgJHt0ZXN0TmFtZX1gLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IChhZGFwdGVyIGFzIHtwYXJzZVRhZzogKGlucHV0OiBUZXN0QXJncykgPT4gVGVzdFJldHVyblZhbHVlfSkucGFyc2VUYWcoaW5wdXQpO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkT3V0cHV0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbi8vIFV0aWxpdHkgdG8gY3JlYXRlIGEgdGVzdCBzdWl0ZSBmb3IgdXRpbGl0eSBmdW5jdGlvbnNcbmV4cG9ydCBjb25zdCBjcmVhdGVVdGlsc1Rlc3RTdWl0ZSA9IChcbiAgbmFtZTogc3RyaW5nLFxuICB1dGlsc1BhdGg6IHN0cmluZyxcbiAgdGVzdENhc2VzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGlucHV0OiBUZXN0QXJncztcbiAgICBleHBlY3RlZE91dHB1dDogVGVzdFJldHVyblZhbHVlO1xuICB9PlxuKSA9PiB7XG4gIGRlc2NyaWJlKG5hbWUsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB1dGlscyA9IGF3YWl0IGltcG9ydCh1dGlsc1BhdGgpO1xuXG4gICAgdGVzdENhc2VzLmZvckVhY2goKHtuYW1lOiB0ZXN0TmFtZSwgaW5wdXQsIGV4cGVjdGVkT3V0cHV0fSkgPT4ge1xuICAgICAgaXQoYHNob3VsZCAke3Rlc3ROYW1lfWAsICgpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgaWYoKHV0aWxzIGFzIHtsb2dJbmZvPzogKGlucHV0OiBUZXN0QXJncykgPT4gVGVzdFJldHVyblZhbHVlfSkubG9nSW5mbykge1xuICAgICAgICAgIHJlc3VsdCA9ICh1dGlscyBhcyB7bG9nSW5mbzogKGlucHV0OiBUZXN0QXJncykgPT4gVGVzdFJldHVyblZhbHVlfSkubG9nSW5mbyhpbnB1dCk7XG4gICAgICAgIH0gZWxzZSBpZigodXRpbHMgYXMge3JlbW92ZUVtcHR5S2V5cz86IChpbnB1dDogVGVzdEFyZ3MpID0+IFRlc3RSZXR1cm5WYWx1ZX0pLnJlbW92ZUVtcHR5S2V5cykge1xuICAgICAgICAgIHJlc3VsdCA9ICh1dGlscyBhcyB7cmVtb3ZlRW1wdHlLZXlzOiAoaW5wdXQ6IFRlc3RBcmdzKSA9PiBUZXN0UmV0dXJuVmFsdWV9KS5yZW1vdmVFbXB0eUtleXMoaW5wdXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3VpdGFibGUgZnVuY3Rpb24gZm91bmQgaW4gJHt1dGlsc1BhdGh9YCk7XG4gICAgICAgIH1cbiAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZE91dHB1dCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQWNPLE1BQU1BLEVBQW9CLENBQUNDLEVBQTJCLENBQUMsSUFBa0IsQ0FDOUUsTUFBTUMsRUFBaUIsQ0FDckIsV0FBWSxFQUNaLE9BQVEsUUFDUixTQUFVLFVBQ1osRUFDTUMsRUFBa0RGLEVBQVUsU0FBVyxDQUFDLEVBQ3hFRyxFQUF1QixDQUMzQixhQUFlSCxFQUFVLGNBQTJCLE9BQ3BELEdBQUdBLENBQ0wsRUFDQSxjQUFPRyxFQUFRLFFBQ2ZBLEVBQVEsUUFBVSxDQUNoQixXQUFZRCxFQUFnQixhQUFlLE9BQVlBLEVBQWdCLFdBQWFELEVBQWUsV0FDbkcsT0FBUUMsRUFBZ0IsU0FBVyxPQUFZQSxFQUFnQixPQUFTRCxFQUFlLE9BQ3ZGLFNBQVVDLEVBQWdCLFdBQWEsT0FBWUEsRUFBZ0IsU0FBV0QsRUFBZSxRQUMvRixFQUNPRSxDQUNULEVBR2FDLEVBQXdCLENBQUNDLEVBQW9CLFVBVWpELENBQ0wsVUFBQUEsRUFDQSxXQUFZLENBQUMsRUFDYixVQUFXLENBQUMsRUFDWixVQVpnQixDQUFDLEVBYWpCLFdBWGlCLENBQUMsRUFZbEIsS0FBTSxDQUFDLElBQUtBLEVBQVcsS0FBTSxPQUFXLFNBQVUsTUFBTSxFQUN4RCxXQVhpQixDQUFDLEVBWWxCLFVBQVcsQ0FBQyxFQUNaLE9BWGEsQ0FBQyxFQVlkLGVBQWdCLENBQUMsQ0FDbkIsR0FJV0MsRUFBb0IsQ0FBQ0MsRUFBb0JDLElBQTJDLENBQy9GLEtBQUssT0FBT0QsRUFBWSxJQUFN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Q0FBYyxDQUN2QyxDQUFDLENBQ0gsQ0FBQyxDQUNILENBQUMsQ0FDSCIsCiAgIm5hbWVzIjogWyJjcmVhdGVNb2NrQ29udGV4dCIsICJvdmVycmlkZXMiLCAiZGVmYXVsdFNlc3Npb24iLCAib3ZlcnJpZGVTZXNzaW9uIiwgImNvbnRleHQiLCAiY3JlYXRlTW9ja1Jlc29sdmVJbmZvIiwgImZpZWxkTmFtZSIsICJtb2NrQWN0aW9uc01vZHVsZSIsICJtb2R1bGVQYXRoIiwgIm1vY2tBY3Rpb25zIiwgIm1vY2tPYmplY3RUeXBlIiwgInR5cGVOYW1lIiwgImNyZWF0ZVF1ZXJ5VGVzdFN1aXRlIiwgIm5hbWUiLCAiYWN0aW9uc1BhdGgiLCAidGVzdENhc2VzIiwgImFjdGlvbnMiLCAibW9ja0NvbnRleHQiLCAidGVzdE5hbWUiLCAiYWN0aW9uTmFtZSIsICJhcmdzIiwgImV4cGVjdGVkQ2FsbCIsICJtb2NrUmV0dXJuVmFsdWUiLCAiZXJyb3JDYXNlIiwgInJlc3VsdCIsICJjcmVhdGVNdXRhdGlvblRlc3RTdWl0ZSIsICJyZXF1aXJlc0F1dGgiLCAiYXV0aFVzZXJJZCIsICJjcmVhdGVJbnRlZ3JhdGlvblRlc3RTdWl0ZSIsICJvYmplY3RUeXBlUGF0aCIsICJzdWNjZXNzUmV0dXJuVmFsdWUiLCAiZXJyb3JSZXR1cm5WYWx1ZSIsICJ0ZXN0RXJyb3JDYXNlIiwgImNyZWF0ZU1vY2tVc2VyIiwgImNyZWF0ZU1vY2tQb3N0IiwgImNyZWF0ZU1vY2tNZXNzYWdlIiwgImNyZWF0ZU1vY2tSZWFjdGlvbiIsICJjcmVhdGVNb2NrVGFnIiwgInNldHVwQ29tbW9uTW9ja3MiLCAiY2xlYXJBbGxNb2NrcyIsICJjcmVhdGVBY3Rpb25UZXN0U3VpdGUiLCAibW9ja1F1ZXJ5IiwgImV4cGVjdGVkUmVzdWx0IiwgInVzZURiIiwgImNyZWF0ZUFkYXB0ZXJUZXN0U3VpdGUiLCAiYWRhcHRlclBhdGgiLCAiYWRhcHRlciIsICJpbnB1dCIsICJleHBlY3RlZE91dHB1dCIsICJjcmVhdGVVdGlsc1Rlc3RTdWl0ZSIsICJ1dGlsc1BhdGgiLCAidXRpbHMiXQp9Cg==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i18n as r,flush as l}from"./translationQueue";async function f(o,t="en"){return await r(o,[{key:"welcome.title",fallback:"Welcome to TorchOne!"},{key:"welcome.subtitle",fallback:"Your personal AI assistant"},{key:"welcome.description",fallback:"Get started by exploring our features"}],t)}async function u(o,t,e="en"){const n=[{key:"user.welcome",fallback:"Welcome back, {{username}}!",params:{username:t}},{key:"user.notifications",fallback:"You have {{count}} new notifications",params:{count:5}},{key:"user.lastLogin",fallback:"Last login: {{date}}",params:{date:new Date().toLocaleDateString()}}];return await r(o,n,e)}async function m(o){const t=["en","es","fr"],e={};for(const n of t){const a=[{key:"app.name",fallback:"TorchOne"},{key:"app.tagline",fallback:"Your AI Assistant"}];e[n]=await r(o,a,n)}return e}async function p(o,t="en"){const e=[{key:"error.notFound",fallback:"Content not found"},{key:"error.serverError",fallback:"Server error occurred"},{key:"success.saved",fallback:"Content saved successfully"}];try{return await r(o,e,t)}catch{return e.reduce((a,s)=>(a[s.key]=s.fallback,a),{})}}async function b(o,t="en"){const e=[];for(let a=1;a<=100;a++)e.push({key:`item.${a}.title`,fallback:`Item ${a} Title`,params:{number:a}});const n=await r(o,e,t);return await l(),n}async function g(o,t,e="en"){const n=[{key:`error.${t}`,fallback:`An error occurred: ${t}`,params:{errorCode:t}},{key:"error.contactSupport",fallback:"Please contact support if this problem persists.",params:{}}];return await r(o,n,e)}async function k(o,t,e="en"){const n=[{key:"email.orderConfirmation.subject",fallback:"Order {{orderId}} Confirmed",params:{orderId:t.orderId}},{key:"email.orderConfirmation.greeting",fallback:"Hello {{name}},",params:{name:t.name}},{key:"email.orderConfirmation.body",fallback:"Your order {{orderId}} has been confirmed. Total: ${{total}} for {{items}} items.",params:{orderId:t.orderId,total:t.total,items:t.items}},{key:"email.orderConfirmation.footer",fallback:"Thank you for your purchase!"}],a=await r(o,n,e);return{subject:a["email.orderConfirmation.subject"],greeting:a["email.orderConfirmation.greeting"],body:a["email.orderConfirmation.body"],footer:a["email.orderConfirmation.footer"]}}async function d(o,t="en"){return await r(o,[{key:"notification.welcome",fallback:"Welcome to TorchOne!"},{key:"notification.verification",fallback:"Please verify your account."},{key:"notification.passwordReset",fallback:"Your password has been reset."},{key:"notification.profileUpdate",fallback:"Your profile has been updated."},{key:"notification.newMessage",fallback:"You have a new message from {{sender}}.",params:{sender:"John Doe"}}],t)}async function y(o){const e=["welcome","verification","passwordReset","profileUpdate","email.subject","email.body","sms.welcome","sms.verification"].map(a=>({key:a,fallback:`Fallback for ${a}`}));return await r(o,e,"en")}async function w(o,t,e){const s=await r(o,[{key:"greeting.morning",fallback:"Good morning!",params:e?{username:e}:{}},{key:"greeting.afternoon",fallback:"Good afternoon!",params:e?{username:e}:{}},{key:"greeting.evening",fallback:"Good evening!",params:e?{username:e}:{}}],t||"en"),i=new Date().getHours();return i<12?s["greeting.morning"]:i<18?s["greeting.afternoon"]:s["greeting.evening"]}async function h(){await l()}export{h as ensureAllTranslationsProcessed,k as generateEmailTemplate,g as getErrorMessages,m as getMultiLanguageContent,d as getNotificationMessages,u as getPersonalizedMessages,p as getRobustTranslations,w as getUserGreeting,f as getWelcomeMessages,y as performanceComparison,b as processLargeTranslationBatch};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3RyYW5zbGF0aW9uUXVldWUuZXhhbXBsZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjUtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKlxuICogRXhhbXBsZSB1c2FnZSBvZiB0aGUgdHJhbnNsYXRpb24gcXVldWUgc3lzdGVtIHdpdGggR29vZ2xlIFRyYW5zbGF0ZSBpbnRlZ3JhdGlvblxuICpcbiAqIFRoaXMgZGVtb25zdHJhdGVzIGhvdyB0byB1c2UgdGhlIG5ldyB0cmFuc2xhdGlvbiBxdWV1ZSB0aGF0IGF1dG9tYXRpY2FsbHlcbiAqIHRyYW5zbGF0ZXMgY29udGVudCB1c2luZyBHb29nbGUgVHJhbnNsYXRlIEFQSSB3aGVuIG5lZWRlZC5cbiAqL1xuXG5pbXBvcnQge2kxOG4sIGZsdXNoLCB0eXBlIFRyYW5zbGF0aW9uT2JqZWN0fSBmcm9tICcuL3RyYW5zbGF0aW9uUXVldWUnO1xuXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcyc7XG5pbXBvcnQgdHlwZSB7TG9jYWxlfSBmcm9tICcuLi90eXBlcy9jb250ZW50LnR5cGVzJztcblxuLy8gRXhhbXBsZSAxOiBCYXNpYyB0cmFuc2xhdGlvbnMgLSB3aWxsIHVzZSBkYXRhYmFzZSBvciB0cmFuc2xhdGUgYXMgbmVlZGVkXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0V2VsY29tZU1lc3NhZ2VzKGNvbnRleHQ6IEFwaUNvbnRleHQsIGxvY2FsZTogTG9jYWxlID0gJ2VuJykge1xuICBjb25zdCB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uT2JqZWN0W10gPSBbXG4gICAge1xuICAgICAga2V5OiAnd2VsY29tZS50aXRsZScsXG4gICAgICBmYWxsYmFjazogJ1dlbGNvbWUgdG8gVG9yY2hPbmUhJ1xuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnd2VsY29tZS5zdWJ0aXRsZScsXG4gICAgICBmYWxsYmFjazogJ1lvdXIgcGVyc29uYWwgQUkgYXNzaXN0YW50J1xuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnd2VsY29tZS5kZXNjcmlwdGlvbicsXG4gICAgICBmYWxsYmFjazogJ0dldCBzdGFydGVkIGJ5IGV4cGxvcmluZyBvdXIgZmVhdHVyZXMnXG4gICAgfVxuICBdO1xuXG4gIC8vIFRoaXMgd2lsbDpcbiAgLy8gMS4gQ2hlY2sgZGF0YWJhc2UgZm9yIGV4aXN0aW5nIHRyYW5zbGF0aW9uc1xuICAvLyAyLiBJZiBub3QgZm91bmQgYW5kIGxvY2FsZSBpcyBkZWZhdWx0IChlbiksIHNhdmUgZmFsbGJhY2sgdG8gREJcbiAgLy8gMy4gSWYgbm90IGZvdW5kIGFuZCBsb2NhbGUgaXMgZGlmZmVyZW50LCB0cmFuc2xhdGUgZnJvbSBkZWZhdWx0IGxvY2FsZVxuICAvLyA0LiBTYXZlIHRyYW5zbGF0ZWQgY29udGVudCB0byBEQiBmb3IgZnV0dXJlIHVzZVxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBpMThuIChjb250ZXh0LCB0cmFuc2xhdGlvbnMsIGxvY2FsZSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbiAgLy8gUmV0dXJuczoge1xuICAvLyAgICd3ZWxjb21lLnRpdGxlJzogJ1dlbGNvbWUgdG8gVG9yY2hPbmUhJyAob3IgdHJhbnNsYXRlZCB2ZXJzaW9uKSxcbiAgLy8gICAnd2VsY29tZS5zdWJ0aXRsZSc6ICdZb3VyIHBlcnNvbmFsIEFJIGFzc2lzdGFudCcgKG9yIHRyYW5zbGF0ZWQgdmVyc2lvbiksXG4gIC8vICAgJ3dlbGNvbWUuZGVzY3JpcHRpb24nOiAnR2V0IHN0YXJ0ZWQgYnkgZXhwbG9yaW5nIG91ciBmZWF0dXJlcycgKG9yIHRyYW5zbGF0ZWQgdmVyc2lvbilcbiAgLy8gfVxufVxuXG4vLyBFeGFtcGxlIDI6IFRyYW5zbGF0aW9ucyB3aXRoIGludGVycG9sYXRpb25cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQZXJzb25hbGl6ZWRNZXNzYWdlcyhjb250ZXh0OiBBcGlDb250ZXh0LCB1c2VybmFtZTogc3RyaW5nLCBsb2NhbGU6IExvY2FsZSA9ICdlbicpIHtcbiAgY29uc3QgdHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbk9iamVjdFtdID0gW1xuICAgIHtcbiAgICAgIGtleTogJ3VzZXIud2VsY29tZScsXG4gICAgICBmYWxsYmFjazogJ1dlbGNvbWUgYmFjaywge3t1c2VybmFtZX19IScsXG4gICAgICBwYXJhbXM6IHt1c2VybmFtZX1cbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ3VzZXIubm90aWZpY2F0aW9ucycsXG4gICAgICBmYWxsYmFjazogJ1lvdSBoYXZlIHt7Y291bnR9fSBuZXcgbm90aWZpY2F0aW9ucycsXG4gICAgICBwYXJhbXM6IHtjb3VudDogNX1cbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ3VzZXIubGFzdExvZ2luJyxcbiAgICAgIGZhbGxiYWNrOiAnTGFzdCBsb2dpbjoge3tkYXRlfX0nLFxuICAgICAgcGFyYW1zOiB7ZGF0ZTogbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoKX1cbiAgICB9XG4gIF07XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaTE4bihjb250ZXh0LCB0cmFuc2xhdGlvbnMsIGxvY2FsZSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbiAgLy8gUmV0dXJuczoge1xuICAvLyAgICd1c2VyLndlbGNvbWUnOiAnV2VsY29tZSBiYWNrLCBBbGljZSEnIChvciB0cmFuc2xhdGVkIHdpdGggaW50ZXJwb2xhdGlvbiksXG4gIC8vICAgJ3VzZXIubm90aWZpY2F0aW9ucyc6ICdZb3UgaGF2ZSA1IG5ldyBub3RpZmljYXRpb25zJyAob3IgdHJhbnNsYXRlZCB3aXRoIGludGVycG9sYXRpb24pLFxuICAvLyAgICd1c2VyLmxhc3RMb2dpbic6ICdMYXN0IGxvZ2luOiAxLzE1LzIwMjUnIChvciB0cmFuc2xhdGVkIHdpdGggaW50ZXJwb2xhdGlvbilcbiAgLy8gfVxufVxuXG4vLyBFeGFtcGxlIDM6IE11bHRpLWxhbmd1YWdlIHN1cHBvcnRcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRNdWx0aUxhbmd1YWdlQ29udGVudChjb250ZXh0OiBBcGlDb250ZXh0KSB7XG4gIC8vIEdldCBjb250ZW50IGluIG11bHRpcGxlIGxhbmd1YWdlc1xuICBjb25zdCBsYW5ndWFnZXM6IExvY2FsZVtdID0gWydlbicsICdlcycsICdmciddO1xuICBjb25zdCByZXN1bHRzOiBSZWNvcmQ8TG9jYWxlLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHt9IGFzIGFueTtcblxuICBmb3IoY29uc3QgbG9jYWxlIG9mIGxhbmd1YWdlcykge1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25PYmplY3RbXSA9IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnYXBwLm5hbWUnLFxuICAgICAgICBmYWxsYmFjazogJ1RvcmNoT25lJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnYXBwLnRhZ2xpbmUnLFxuICAgICAgICBmYWxsYmFjazogJ1lvdXIgQUkgQXNzaXN0YW50J1xuICAgICAgfVxuICAgIF07XG5cbiAgICByZXN1bHRzW2xvY2FsZV0gPSBhd2FpdCBpMThuKGNvbnRleHQsIHRyYW5zbGF0aW9ucywgbG9jYWxlKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHRzO1xuICAvLyBSZXR1cm5zOiB7XG4gIC8vICAgZW46IHsgJ2FwcC5uYW1lJzogJ1RvcmNoT25lJywgJ2FwcC50YWdsaW5lJzogJ1lvdXIgQUkgQXNzaXN0YW50JyB9LFxuICAvLyAgIGVzOiB7ICdhcHAubmFtZSc6ICdUb3JjaE9uZScsICdhcHAudGFnbGluZSc6ICdUdSBBc2lzdGVudGUgZGUgSUEnIH0sXG4gIC8vICAgZnI6IHsgJ2FwcC5uYW1lJzogJ1RvcmNoT25lJywgJ2FwcC50YWdsaW5lJzogJ1ZvdHJlIEFzc2lzdGFudCBJQScgfVxuICAvLyB9XG59XG5cbi8vIEV4YW1wbGUgNDogRXJyb3IgaGFuZGxpbmcgYW5kIGZhbGxiYWNrc1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFJvYnVzdFRyYW5zbGF0aW9ucyhjb250ZXh0OiBBcGlDb250ZXh0LCBsb2NhbGU6IExvY2FsZSA9ICdlbicpIHtcbiAgY29uc3QgdHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbk9iamVjdFtdID0gW1xuICAgIHtcbiAgICAgIGtleTogJ2Vycm9yLm5vdEZvdW5kJyxcbiAgICAgIGZhbGxiYWNrOiAnQ29udGVudCBub3QgZm91bmQnXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdlcnJvci5zZXJ2ZXJFcnJvcicsXG4gICAgICBmYWxsYmFjazogJ1NlcnZlciBlcnJvciBvY2N1cnJlZCdcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ3N1Y2Nlc3Muc2F2ZWQnLFxuICAgICAgZmFsbGJhY2s6ICdDb250ZW50IHNhdmVkIHN1Y2Nlc3NmdWxseSdcbiAgICB9XG4gIF07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBpMThuKGNvbnRleHQsIHRyYW5zbGF0aW9ucywgbG9jYWxlKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignVHJhbnNsYXRpb24gZXJyb3I6JywgZXJyb3IpO1xuICAgIC8vIFJldHVybiBmYWxsYmFja3MgaWYgdHJhbnNsYXRpb24gZmFpbHNcbiAgICByZXR1cm4gdHJhbnNsYXRpb25zLnJlZHVjZSgoYWNjLCB0KSA9PiB7XG4gICAgICBhY2NbdC5rZXldID0gdC5mYWxsYmFjaztcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPik7XG4gIH1cbn1cblxuLy8gRXhhbXBsZSA1OiBCYXRjaCBwcm9jZXNzaW5nIHdpdGggZmx1c2hcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzTGFyZ2VUcmFuc2xhdGlvbkJhdGNoKGNvbnRleHQ6IEFwaUNvbnRleHQsIGxvY2FsZTogTG9jYWxlID0gJ2VuJykge1xuICAvLyBDcmVhdGUgYSBsYXJnZSBiYXRjaCBvZiB0cmFuc2xhdGlvbnNcbiAgY29uc3QgdHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbk9iamVjdFtdID0gW107XG5cbiAgZm9yKGxldCBpID0gMTsgaSA8PSAxMDA7IGkrKykge1xuICAgIHRyYW5zbGF0aW9ucy5wdXNoKHtcbiAgICAgIGtleTogYGl0ZW0uJHtpfS50aXRsZWAsXG4gICAgICBmYWxsYmFjazogYEl0ZW0gJHtpfSBUaXRsZWAsXG4gICAgICBwYXJhbXM6IHtudW1iZXI6IGl9XG4gICAgfSk7XG4gIH1cblxuICAvLyBQcm9jZXNzIHRoZSBiYXRjaFxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBpMThuKGNvbnRleHQsIHRyYW5zbGF0aW9ucywgbG9jYWxlKTtcblxuICAvLyBFbnN1cmUgYWxsIHBlbmRpbmcgdHJhbnNsYXRpb25zIGFyZSBwcm9jZXNzZWRcbiAgYXdhaXQgZmx1c2goKTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyBFeGFtcGxlIDY6IEVycm9yIGhhbmRsaW5nIHdpdGggZmFsbGJhY2tzXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RXJyb3JNZXNzYWdlcyhjb250ZXh0OiBBcGlDb250ZXh0LCBlcnJvckNvZGU6IHN0cmluZywgbG9jYWxlOiBMb2NhbGUgPSAnZW4nKSB7XG4gIGNvbnN0IHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25PYmplY3RbXSA9IFtcbiAgICB7XG4gICAgICBrZXk6IGBlcnJvci4ke2Vycm9yQ29kZX1gLFxuICAgICAgZmFsbGJhY2s6IGBBbiBlcnJvciBvY2N1cnJlZDogJHtlcnJvckNvZGV9YCxcbiAgICAgIHBhcmFtczoge2Vycm9yQ29kZX1cbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ2Vycm9yLmNvbnRhY3RTdXBwb3J0JyxcbiAgICAgIGZhbGxiYWNrOiAnUGxlYXNlIGNvbnRhY3Qgc3VwcG9ydCBpZiB0aGlzIHByb2JsZW0gcGVyc2lzdHMuJyxcbiAgICAgIHBhcmFtczoge31cbiAgICB9XG4gIF07XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaTE4bihjb250ZXh0LCB0cmFuc2xhdGlvbnMsIGxvY2FsZSk7XG5cbiAgLy8gSWYgZGF0YWJhc2UgaXMgdW5hdmFpbGFibGUsIHdpbGwgcmV0dXJuIGZhbGxiYWNrczpcbiAgLy8ge1xuICAvLyAgICdlcnJvci5JTlZBTElEX0VNQUlMJzogJ0FuIGVycm9yIG9jY3VycmVkOiBJTlZBTElEX0VNQUlMJyxcbiAgLy8gICAnZXJyb3IuY29udGFjdFN1cHBvcnQnOiAnUGxlYXNlIGNvbnRhY3Qgc3VwcG9ydCBpZiB0aGlzIHByb2JsZW0gcGVyc2lzdHMuJ1xuICAvLyB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gRXhhbXBsZSA3OiBDb21wbGV4IGVtYWlsIHRlbXBsYXRlIHdpdGggbXVsdGlwbGUgaW50ZXJwb2xhdGlvbnNcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZUVtYWlsVGVtcGxhdGUoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIHVzZXJEYXRhOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgb3JkZXJJZDogc3RyaW5nO1xuICAgIHRvdGFsOiBudW1iZXI7XG4gICAgaXRlbXM6IG51bWJlcjtcbiAgfSxcbiAgbG9jYWxlOiBMb2NhbGUgPSAnZW4nXG4pIHtcbiAgY29uc3QgdHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbk9iamVjdFtdID0gW1xuICAgIHtcbiAgICAgIGtleTogJ2VtYWlsLm9yZGVyQ29uZmlybWF0aW9uLnN1YmplY3QnLFxuICAgICAgZmFsbGJhY2s6ICdPcmRlciB7e29yZGVySWR9fSBDb25maXJtZWQnLFxuICAgICAgcGFyYW1zOiB7b3JkZXJJZDogdXNlckRhdGEub3JkZXJJZH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ2VtYWlsLm9yZGVyQ29uZmlybWF0aW9uLmdyZWV0aW5nJyxcbiAgICAgIGZhbGxiYWNrOiAnSGVsbG8ge3tuYW1lfX0sJyxcbiAgICAgIHBhcmFtczoge25hbWU6IHVzZXJEYXRhLm5hbWV9XG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdlbWFpbC5vcmRlckNvbmZpcm1hdGlvbi5ib2R5JyxcbiAgICAgIGZhbGxiYWNrOiAnWW91ciBvcmRlciB7e29yZGVySWR9fSBoYXMgYmVlbiBjb25maXJtZWQuIFRvdGFsOiAke3t0b3RhbH19IGZvciB7e2l0ZW1zfX0gaXRlbXMuJyxcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBvcmRlcklkOiB1c2VyRGF0YS5vcmRlcklkLFxuICAgICAgICB0b3RhbDogdXNlckRhdGEudG90YWwsXG4gICAgICAgIGl0ZW1zOiB1c2VyRGF0YS5pdGVtc1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnZW1haWwub3JkZXJDb25maXJtYXRpb24uZm9vdGVyJyxcbiAgICAgIGZhbGxiYWNrOiAnVGhhbmsgeW91IGZvciB5b3VyIHB1cmNoYXNlISdcbiAgICB9XG4gIF07XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaTE4bihjb250ZXh0LCB0cmFuc2xhdGlvbnMsIGxvY2FsZSk7XG5cbiAgcmV0dXJuIHtcbiAgICBzdWJqZWN0OiByZXN1bHRbJ2VtYWlsLm9yZGVyQ29uZmlybWF0aW9uLnN1YmplY3QnXSxcbiAgICBncmVldGluZzogcmVzdWx0WydlbWFpbC5vcmRlckNvbmZpcm1hdGlvbi5ncmVldGluZyddLFxuICAgIGJvZHk6IHJlc3VsdFsnZW1haWwub3JkZXJDb25maXJtYXRpb24uYm9keSddLFxuICAgIGZvb3RlcjogcmVzdWx0WydlbWFpbC5vcmRlckNvbmZpcm1hdGlvbi5mb290ZXInXVxuICB9O1xufVxuXG4vLyBFeGFtcGxlIDg6IE5vdGlmaWNhdGlvbiBtZXNzYWdlcyBmb3IgZGlmZmVyZW50IHNjZW5hcmlvc1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvbk1lc3NhZ2VzKGNvbnRleHQ6IEFwaUNvbnRleHQsIGxvY2FsZTogTG9jYWxlID0gJ2VuJykge1xuICBjb25zdCB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uT2JqZWN0W10gPSBbXG4gICAge1xuICAgICAga2V5OiAnbm90aWZpY2F0aW9uLndlbGNvbWUnLFxuICAgICAgZmFsbGJhY2s6ICdXZWxjb21lIHRvIFRvcmNoT25lISdcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ25vdGlmaWNhdGlvbi52ZXJpZmljYXRpb24nLFxuICAgICAgZmFsbGJhY2s6ICdQbGVhc2UgdmVyaWZ5IHlvdXIgYWNjb3VudC4nXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdub3RpZmljYXRpb24ucGFzc3dvcmRSZXNldCcsXG4gICAgICBmYWxsYmFjazogJ1lvdXIgcGFzc3dvcmQgaGFzIGJlZW4gcmVzZXQuJ1xuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnbm90aWZpY2F0aW9uLnByb2ZpbGVVcGRhdGUnLFxuICAgICAgZmFsbGJhY2s6ICdZb3VyIHByb2ZpbGUgaGFzIGJlZW4gdXBkYXRlZC4nXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdub3RpZmljYXRpb24ubmV3TWVzc2FnZScsXG4gICAgICBmYWxsYmFjazogJ1lvdSBoYXZlIGEgbmV3IG1lc3NhZ2UgZnJvbSB7e3NlbmRlcn19LicsXG4gICAgICBwYXJhbXM6IHtzZW5kZXI6ICdKb2huIERvZSd9XG4gICAgfVxuICBdO1xuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGkxOG4oY29udGV4dCwgdHJhbnNsYXRpb25zLCBsb2NhbGUpO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIEV4YW1wbGUgOTogUGVyZm9ybWFuY2UgY29tcGFyaXNvblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBlcmZvcm1hbmNlQ29tcGFyaXNvbihjb250ZXh0OiBBcGlDb250ZXh0KSB7XG4gIGNvbnN0IGtleXMgPSBbXG4gICAgJ3dlbGNvbWUnLCAndmVyaWZpY2F0aW9uJywgJ3Bhc3N3b3JkUmVzZXQnLCAncHJvZmlsZVVwZGF0ZScsXG4gICAgJ2VtYWlsLnN1YmplY3QnLCAnZW1haWwuYm9keScsICdzbXMud2VsY29tZScsICdzbXMudmVyaWZpY2F0aW9uJ1xuICBdO1xuXG4gIGNvbnN0IHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25PYmplY3RbXSA9IGtleXMubWFwKChrZXkpID0+ICh7XG4gICAga2V5LFxuICAgIGZhbGxiYWNrOiBgRmFsbGJhY2sgZm9yICR7a2V5fWBcbiAgfSkpO1xuXG4gIGNvbnNvbGUudGltZSgnQmF0Y2ggdHJhbnNsYXRpb24nKTtcbiAgY29uc3QgYmF0Y2hSZXN1bHRzID0gYXdhaXQgaTE4bihjb250ZXh0LCB0cmFuc2xhdGlvbnMsICdlbicpO1xuICBjb25zb2xlLnRpbWVFbmQoJ0JhdGNoIHRyYW5zbGF0aW9uJyk7XG5cbiAgcmV0dXJuIGJhdGNoUmVzdWx0cztcbn1cblxuLy8gRXhhbXBsZSAxMDogRHluYW1pYyBjb250ZW50IGJhc2VkIG9uIHVzZXIgcHJlZmVyZW5jZXNcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRVc2VyR3JlZXRpbmcoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIHVzZXJMb2NhbGU/OiBzdHJpbmcsXG4gIHVzZXJuYW1lPzogc3RyaW5nXG4pIHtcbiAgY29uc3QgbG9jYWxlOiBMb2NhbGUgPSAodXNlckxvY2FsZSBhcyBMb2NhbGUpIHx8ICdlbic7XG5cbiAgY29uc3QgdHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbk9iamVjdFtdID0gW1xuICAgIHtcbiAgICAgIGtleTogJ2dyZWV0aW5nLm1vcm5pbmcnLFxuICAgICAgZmFsbGJhY2s6ICdHb29kIG1vcm5pbmchJyxcbiAgICAgIHBhcmFtczogdXNlcm5hbWUgPyB7dXNlcm5hbWV9IDoge31cbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ2dyZWV0aW5nLmFmdGVybm9vbicsXG4gICAgICBmYWxsYmFjazogJ0dvb2QgYWZ0ZXJub29uIScsXG4gICAgICBwYXJhbXM6IHVzZXJuYW1lID8ge3VzZXJuYW1lfSA6IHt9XG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdncmVldGluZy5ldmVuaW5nJyxcbiAgICAgIGZhbGxiYWNrOiAnR29vZCBldmVuaW5nIScsXG4gICAgICBwYXJhbXM6IHVzZXJuYW1lID8ge3VzZXJuYW1lfSA6IHt9XG4gICAgfVxuICBdO1xuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGkxOG4oY29udGV4dCwgdHJhbnNsYXRpb25zLCBsb2NhbGUpO1xuXG4gIC8vIFJldHVybiBhcHByb3ByaWF0ZSBncmVldGluZyBiYXNlZCBvbiB0aW1lIG9mIGRheVxuICBjb25zdCBob3VyID0gbmV3IERhdGUoKS5nZXRIb3VycygpO1xuICBpZihob3VyIDwgMTIpIHtcbiAgICByZXR1cm4gcmVzdWx0WydncmVldGluZy5tb3JuaW5nJ107XG4gIH1cbiAgaWYoaG91ciA8IDE4KSB7XG4gICAgcmV0dXJuIHJlc3VsdFsnZ3JlZXRpbmcuYWZ0ZXJub29uJ107XG4gIH1cbiAgcmV0dXJuIHJlc3VsdFsnZ3JlZXRpbmcuZXZlbmluZyddO1xufVxuXG4vLyBFeGFtcGxlIDExOiBGb3JjZSBmbHVzaCBwZW5kaW5nIHRyYW5zbGF0aW9uc1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuc3VyZUFsbFRyYW5zbGF0aW9uc1Byb2Nlc3NlZCgpIHtcbiAgLy8gRm9yY2UgcHJvY2VzcyBhbnkgcGVuZGluZyB0cmFuc2xhdGlvbiBiYXRjaGVzXG4gIGF3YWl0IGZsdXNoKCk7XG4gIGNvbnNvbGUubG9nKCdBbGwgdHJhbnNsYXRpb24gYmF0Y2hlcyBwcm9jZXNzZWQnKTtcbn1cblxuLy8gVXNhZ2UgZXhhbXBsZXM6XG4vLyBjb25zdCBjb250ZXh0ID0geyBkYXRhYmFzZU5hbWU6ICd0b3JjaG9uZS1kZXYnLCBzZXNzaW9uOiB7IHVzZXJJZDogJ3VzZXIxMjMnIH0gfTtcbi8vXG4vLyAvLyBCYXNpYyB1c2FnZVxuLy8gY29uc3Qgd2VsY29tZU1lc3NhZ2VzID0gYXdhaXQgZ2V0V2VsY29tZU1lc3NhZ2VzKGNvbnRleHQsICdlbicpO1xuLy9cbi8vIC8vIFdpdGggaW50ZXJwb2xhdGlvblxuLy8gY29uc3QgcGVyc29uYWxpemVkTWVzc2FnZXMgPSBhd2FpdCBnZXRQZXJzb25hbGl6ZWRNZXNzYWdlcyhjb250ZXh0LCAnSm9obicsICdlcycpO1xuLy9cbi8vIC8vIE11bHRpLWxhbmd1YWdlIGNvbnRlbnRcbi8vIGNvbnN0IG11bHRpTGFuZ3VhZ2VDb250ZW50ID0gYXdhaXQgZ2V0TXVsdGlMYW5ndWFnZUNvbnRlbnQoY29udGV4dCk7XG4vL1xuLy8gLy8gRXJyb3IgaGFuZGxpbmdcbi8vIGNvbnN0IGVycm9yTWVzc2FnZXMgPSBhd2FpdCBnZXRSb2J1c3RUcmFuc2xhdGlvbnMoY29udGV4dCwgJ2RlJyk7XG4vL1xuLy8gLy8gQ29tcGxleCB0ZW1wbGF0ZVxuLy8gY29uc3QgZW1haWxUZW1wbGF0ZSA9IGF3YWl0IGdlbmVyYXRlRW1haWxUZW1wbGF0ZShjb250ZXh0LCB7XG4vLyAgIG5hbWU6ICdNYXJpYScsXG4vLyAgIGVtYWlsOiAnbWFyaWFAZXhhbXBsZS5jb20nLFxuLy8gICBvcmRlcklkOiAnT1JELTEyMycsXG4vLyAgIHRvdGFsOiA5OS45OSxcbi8vICAgaXRlbXM6IDNcbi8vIH0sICdwdCcpO1xuLy9cbi8vIC8vIE5vdGlmaWNhdGlvbnNcbi8vIGNvbnN0IG5vdGlmaWNhdGlvbnMgPSBhd2FpdCBnZXROb3RpZmljYXRpb25NZXNzYWdlcyhjb250ZXh0LCAnZnInKTtcbi8vXG4vLyAvLyBQZXJmb3JtYW5jZSB0ZXN0XG4vLyBjb25zdCBwZXJmID0gYXdhaXQgcGVyZm9ybWFuY2VDb21wYXJpc29uKGNvbnRleHQpO1xuLy9cbi8vIC8vIER5bmFtaWMgZ3JlZXRpbmdcbi8vIGNvbnN0IGdyZWV0aW5nID0gYXdhaXQgZ2V0VXNlckdyZWV0aW5nKGNvbnRleHQsICdlbicsICdKb2huJyk7XG4vL1xuLy8gLy8gRm9yY2UgZmx1c2hcbi8vIGF3YWl0IGVuc3VyZUFsbFRyYW5zbGF0aW9uc1Byb2Nlc3NlZCgpOyJdLAogICJtYXBwaW5ncyI6ICJBQVVBLE9BQVEsUUFBQUEsRUFBTSxTQUFBQyxNQUFvQyxxQkFNbEQsZUFBc0JDLEVBQW1CQyxFQUFxQkMsRUFBaUIsS0FBTSxDQXVCbkYsT0FGZSxNQUFNSixFQUFNRyxFQXBCZSxDQUN4QyxDQUNFLElBQUssZ0JBQ0wsU0FBVSxzQkFDWixFQUNBLENBQ0UsSUFBSyxtQkFDTCxTQUFVLDRCQUNaLEVBQ0EsQ0FDRSxJQUFLLHNCQUNMLFNBQVUsdUNBQ1osQ0FDRixFQU9rREMsQ0FBTSxDQVExRCxDQUdBLGVBQXNCQyxFQUF3QkYsRUFBcUJHLEVBQWtCRixFQUFpQixLQUFNLENBQzFHLE1BQU1HLEVBQW9DLENBQ3hDLENBQ0UsSUFBSyxlQUNMLFNBQVUsOEJBQ1YsT0FBUSxDQUFDLFNBQUFELENBQVEsQ0FDbkIsRUFDQSxDQUNFLElBQUsscUJBQ0wsU0FBVSx1Q0FDVixPQUFRLENBQUMsTUFBTyxDQUFDLENBQ25CLEVBQ0EsQ0FDRSxJQUFLLGlCQUNMLFNBQVUsdUJBQ1YsT0FBUSxDQUFDLEtBQU0sSUFBSSxLQUFLLEVBQUUsbUJBQW1CLENBQUMsQ0FDaEQsQ0FDRixFQUlBLE9BRmUsTUFBTU4sRUFBS0csRUFBU0ksRUFBY0gsQ0FBTSxDQVF6RCxDQUdBLGVBQXNCSSxFQUF3QkwsRUFBcUIsQ0FFakUsTUFBTU0sRUFBc0IsQ0FBQyxLQUFNLEtBQU0sSUFBSSxFQUN2Q0MsRUFBa0QsQ0FBQyxFQUV6RCxVQUFVTixLQUFVSyxFQUFXLENBQzdCLE1BQU1GLEVBQW9DLENBQ3hDLENBQ0UsSUFBSyxXQUNMLFNBQVUsVUFDWixFQUNBLENBQ0UsSUFBSyxjQUNMLFNBQVUsbUJBQ1osQ0FDRixFQUVBRyxFQUFRTixDQUFNLEVBQUksTUFBTUosRUFBS0csRUFBU0ksRUFBY0gsQ0FBTSxDQUM1RCxDQUVBLE9BQU9NLENB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RCxDQUdBLGVBQXNCaUIsRUFDcEJyQixFQUNBc0IsRUFDQW5CLEVBQ0EsQ0FxQkEsTUFBTVUsRUFBUyxNQUFNaEIsRUFBS0csRUFsQmdCLENBQ3hDLENBQ0UsSUFBSyxtQkFDTCxTQUFVLGdCQUNWLE9BQVFHLEVBQVcsQ0FBQyxTQUFBQSxDQUFRLEVBQUksQ0FBQyxDQUNuQyxFQUNBLENBQ0UsSUFBSyxxQkFDTCxTQUFVLGtCQUNWLE9BQVFBLEVBQVcsQ0FBQyxTQUFBQSxDQUFRLEVBQUksQ0FBQyxDQUNuQyxFQUNBLENBQ0UsSUFBSyxtQkFDTCxTQUFVLGdCQUNWLE9BQVFBLEVBQVcsQ0FBQyxTQUFBQSxDQUFRLEVBQUksQ0FBQyxDQUNuQyxDQUNGLEVBbEJ3Qm1CLEdBQXlCLElBb0JNLEVBR2pEQyxFQUFPLElBQUksS0FBSyxFQUFFLFNBQVMsRUFDakMsT0FBR0EsRUFBTyxHQUNEVixFQUFPLGtCQUFrQixFQUUvQlUsRUFBTyxHQUNEVixFQUFPLG9CQUFvQixFQUU3QkEsRUFBTyxrQkFBa0IsQ0FDbEMsQ0FHQSxlQUFzQlcsR0FBaUMsQ0FFckQsTUFBTTFCLEVBQU0sQ0FFZCIsCiAgIm5hbWVzIjogWyJpMThuIiwgImZsdXNoIiwgImdldFdlbGNvbWVNZXNzYWdlcyIsICJjb250ZXh0IiwgImxvY2FsZSIsICJnZXRQZXJzb25hbGl6ZWRNZXNzYWdlcyIsICJ1c2VybmFtZSIsICJ0cmFuc2xhdGlvbnMiLCAiZ2V0TXVsdGlMYW5ndWFnZUNvbnRlbnQiLCAibGFuZ3VhZ2VzIiwgInJlc3VsdHMiLCAiZ2V0Um9idXN0VHJhbnNsYXRpb25zIiwgImFjYyIsICJ0IiwgInByb2Nlc3NMYXJnZVRyYW5zbGF0aW9uQmF0Y2giLCAiaSIsICJyZXN1bHQiLCAiZ2V0RXJyb3JNZXNzYWdlcyIsICJlcnJvckNvZGUiLCAiZ2VuZXJhdGVFbWFpbFRlbXBsYXRlIiwgInVzZXJEYXRhIiwgImdldE5vdGlmaWNhdGlvbk1lc3NhZ2VzIiwgInBlcmZvcm1hbmNlQ29tcGFyaXNvbiIsICJrZXkiLCAiZ2V0VXNlckdyZWV0aW5nIiwgInVzZXJMb2NhbGUiLCAiaG91ciIsICJlbnN1cmVBbGxUcmFuc2xhdGlvbnNQcm9jZXNzZWQiXQp9Cg==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{getContentWithFallback as u}from"../actions/content";class m{batches=new Map;batchTimeout=50;maxBatchSize=20;async translate(e,t,n="en"){if(t.length===0)return{};const o=t.map(({key:r,fallback:i,params:l={}})=>this.getTranslation(e,r,i,l,n)),s=await Promise.all(o),a={};return t.forEach(({key:r},i)=>{a[r]=s[i]}),a}async getTranslation(e,t,n,o={},s="en"){return new Promise((a,r)=>{const i=this.getBatchKey(e,s),l={key:t,fallback:n,params:o,locale:s,resolve:a,reject:r};if(this.batches.has(i)){const c=this.batches.get(i);c.requests.push(l),c.requests.length>=this.maxBatchSize&&(clearTimeout(c.timeout),this.processBatch(i))}else{const c=setTimeout(()=>{this.processBatch(i)},this.batchTimeout);this.batches.set(i,{context:e,requests:[l],timeout:c})}})}async flush(){const e=Array.from(this.batches.keys());await Promise.all(e.map(t=>this.processBatch(t)))}clear(){this.batches.forEach(e=>{clearTimeout(e.timeout),e.requests.forEach(t=>{t.reject(new Error("Translation queue cleared"))})}),this.batches.clear()}getBatchKey(e,t){return`${e.databaseName}:${t}`}async processBatch(e){const t=this.batches.get(e);if(!t)return;this.batches.delete(e),clearTimeout(t.timeout);const n=t.requests.map(async s=>{try{const a=await u(t.context,s.key,s.fallback,s.locale),r=this.interpolate(a,s.params);return{request:s,result:r}}catch{const r=this.interpolate(s.fallback,s.params);return{request:s,result:r}}});(await Promise.allSettled(n)).forEach(s=>{if(s.status==="fulfilled")s.value.request.resolve(s.value.result);else{const{request:a}=s.reason,r=this.interpolate(a.fallback,a.params);a.resolve(r)}})}interpolate(e,t={}){return e.replace(/\{\{(\w+)\}\}/g,(n,o)=>t[o]!==void 0?String(t[o]):n)}}const h=new m,f=(p,e,t)=>h.translate(p,e,t),b=()=>h.flush(),d=()=>h.clear();export{d as clear,b as flush,f as i18n,h as translationQueue};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3RyYW5zbGF0aW9uUXVldWUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI1LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5cbmltcG9ydCB7Z2V0Q29udGVudFdpdGhGYWxsYmFja30gZnJvbSAnLi4vYWN0aW9ucy9jb250ZW50JztcblxuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMnO1xuaW1wb3J0IHR5cGUge0xvY2FsZX0gZnJvbSAnLi4vdHlwZXMvY29udGVudC50eXBlcyc7XG5cbmludGVyZmFjZSBUcmFuc2xhdGlvblJlcXVlc3Qge1xuICBrZXk6IHN0cmluZztcbiAgZmFsbGJhY2s6IHN0cmluZztcbiAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgbG9jYWxlOiBMb2NhbGU7XG4gIHJlc29sdmU6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICByZWplY3Q6IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBUcmFuc2xhdGlvbkJhdGNoIHtcbiAgY29udGV4dDogQXBpQ29udGV4dDtcbiAgcmVxdWVzdHM6IFRyYW5zbGF0aW9uUmVxdWVzdFtdO1xuICB0aW1lb3V0OiBOb2RlSlMuVGltZW91dDtcbn1cblxuaW50ZXJmYWNlIFRyYW5zbGF0aW9uT2JqZWN0IHtcbiAga2V5OiBzdHJpbmc7XG4gIGZhbGxiYWNrPzogc3RyaW5nO1xuICBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG5jbGFzcyBUcmFuc2xhdGlvblF1ZXVlIHtcbiAgcHJpdmF0ZSBiYXRjaGVzOiBNYXA8c3RyaW5nLCBUcmFuc2xhdGlvbkJhdGNoPiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBiYXRjaFRpbWVvdXQgPSA1MDtcbiAgcHJpdmF0ZSBtYXhCYXRjaFNpemUgPSAyMDtcblxuICBhc3luYyB0cmFuc2xhdGUoXG4gICAgY29udGV4dDogQXBpQ29udGV4dCxcbiAgICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uT2JqZWN0W10sXG4gICAgbG9jYWxlOiBMb2NhbGUgPSAnZW4nXG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuICAgIGlmKHRyYW5zbGF0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9taXNlcyA9IHRyYW5zbGF0aW9ucy5tYXAoKHtrZXksIGZhbGxiYWNrLCBwYXJhbXMgPSB7fX0pID0+XG4gICAgICB0aGlzLmdldFRyYW5zbGF0aW9uKGNvbnRleHQsIGtleSwgZmFsbGJhY2ssIHBhcmFtcywgbG9jYWxlKVxuICAgICk7XG5cbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuXG4gICAgY29uc3QgcmVzdWx0TWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgdHJhbnNsYXRpb25zLmZvckVhY2goKHtrZXl9LCBpbmRleCkgPT4ge1xuICAgICAgcmVzdWx0TWFwW2tleV0gPSByZXN1bHRzW2luZGV4XTtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHRNYXA7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFRyYW5zbGF0aW9uKFxuICAgIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgZmFsbGJhY2s6IHN0cmluZyxcbiAgICBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcbiAgICBsb2NhbGU6IExvY2FsZSA9ICdlbidcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgYmF0Y2hLZXkgPSB0aGlzLmdldEJhdGNoS2V5KGNvbnRleHQsIGxvY2FsZSk7XG4gICAgICBjb25zdCByZXF1ZXN0OiBUcmFuc2xhdGlvblJlcXVlc3QgPSB7a2V5LCBmYWxsYmFjaywgcGFyYW1zLCBsb2NhbGUsIHJlc29sdmUsIHJlamVjdH07XG5cbiAgICAgIGlmKCF0aGlzLmJhdGNoZXMuaGFzKGJhdGNoS2V5KSkge1xuICAgICAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5wcm9jZXNzQmF0Y2goYmF0Y2hLZXkpO1xuICAgICAgICB9LCB0aGlzLmJhdGNoVGltZW91dCk7XG5cbiAgICAgICAgdGhpcy5iYXRjaGVzLnNldChiYXRjaEtleSwge1xuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgcmVxdWVzdHM6IFtyZXF1ZXN0XSxcbiAgICAgICAgICB0aW1lb3V0XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgYmF0Y2ggPSB0aGlzLmJhdGNoZXMuZ2V0KGJhdGNoS2V5KSE7XG4gICAgICAgIGJhdGNoLnJlcXVlc3RzLnB1c2gocmVxdWVzdCk7XG5cbiAgICAgICAgaWYoYmF0Y2gucmVxdWVzdHMubGVuZ3RoID49IHRoaXMubWF4QmF0Y2hTaXplKSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KGJhdGNoLnRpbWVvdXQpO1xuICAgICAgICAgIHRoaXMucHJvY2Vzc0JhdGNoKGJhdGNoS2V5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZmx1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYmF0Y2hLZXlzID0gQXJyYXkuZnJvbSh0aGlzLmJhdGNoZXMua2V5cygpKTtcbiAgICBhd2FpdCBQcm9taXNlLmFsbChiYXRjaEtleXMubWFwKChrZXkpID0+IHRoaXMucHJvY2Vzc0JhdGNoKGtleSkpKTtcbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuYmF0Y2hlcy5mb3JFYWNoKChiYXRjaCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KGJhdGNoLnRpbWVvdXQpO1xuICAgICAgYmF0Y2gucmVxdWVzdHMuZm9yRWFjaCgocmVxdWVzdCkgPT4ge1xuICAgICAgICByZXF1ZXN0LnJlamVjdChuZXcgRXJyb3IoJ1RyYW5zbGF0aW9uIHF1ZXVlIGNsZWFyZWQnKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB0aGlzLmJhdGNoZXMuY2xlYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QmF0Y2hLZXkoY29udGV4dDogQXBpQ29udGV4dCwgbG9jYWxlOiBMb2NhbGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtjb250ZXh0LmRhdGFiYXNlTmFtZX06JHtsb2NhbGV9YDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc0JhdGNoKGJhdGNoS2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBiYXRjaCA9IHRoaXMuYmF0Y2hlcy5nZXQoYmF0Y2hLZXkpO1xuICAgIGlmKCFiYXRjaCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYmF0Y2hlcy5kZWxldGUoYmF0Y2hLZXkpO1xuICAgIGNsZWFyVGltZW91dChiYXRjaC50aW1lb3V0KTtcblxuICAgIGNvbnN0IHByb21pc2VzID0gYmF0Y2gucmVxdWVzdHMubWFwKGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgZ2V0Q29udGVudFdpdGhGYWxsYmFjayhcbiAgICAgICAgICBiYXRjaC5jb250ZXh0LFxuICAgICAgICAgIHJlcXVlc3Qua2V5LFxuICAgICAgICAgIHJlcXVlc3QuZmFsbGJhY2ssXG4gICAgICAgICAgcmVxdWVzdC5sb2NhbGVcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBpbnRlcnBvbGF0ZWRDb250ZW50ID0gdGhpcy5pbnRlcnBvbGF0ZShjb250ZW50LCByZXF1ZXN0LnBhcmFtcyk7XG4gICAgICAgIHJldHVybiB7cmVxdWVzdCwgcmVzdWx0OiBpbnRlcnBvbGF0ZWRDb250ZW50fTtcbiAgICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgY29uc3QgaW50ZXJwb2xhdGVkRmFsbGJhY2sgPSB0aGlzLmludGVycG9sYXRlKHJlcXVlc3QuZmFsbGJhY2ssIHJlcXVlc3QucGFyYW1zKTtcbiAgICAgICAgcmV0dXJuIHtyZXF1ZXN0LCByZXN1bHQ6IGludGVycG9sYXRlZEZhbGxiYWNrfTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQocHJvbWlzZXMpO1xuXG4gICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQpID0+IHtcbiAgICAgIGlmKHJlc3VsdC5zdGF0dXMgPT09ICdmdWxmaWxsZWQnKSB7XG4gICAgICAgIHJlc3VsdC52YWx1ZS5yZXF1ZXN0LnJlc29sdmUocmVzdWx0LnZhbHVlLnJlc3VsdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB7cmVxdWVzdH0gPSByZXN1bHQucmVhc29uO1xuICAgICAgICBjb25zdCBpbnRlcnBvbGF0ZWRGYWxsYmFjayA9IHRoaXMuaW50ZXJwb2xhdGUocmVxdWVzdC5mYWxsYmFjaywgcmVxdWVzdC5wYXJhbXMpO1xuICAgICAgICByZXF1ZXN0LnJlc29sdmUoaW50ZXJwb2xhdGVkRmFsbGJhY2spO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnRlcnBvbGF0ZShjb250ZW50OiBzdHJpbmcsIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9KTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29udGVudC5yZXBsYWNlKC9cXHtcXHsoXFx3KylcXH1cXH0vZywgKG1hdGNoLCBrZXkpID0+IChwYXJhbXNba2V5XSAhPT0gdW5kZWZpbmVkID8gU3RyaW5nKHBhcmFtc1trZXldKSA6IG1hdGNoKSk7XG4gIH1cbn1cblxuY29uc3QgdHJhbnNsYXRpb25RdWV1ZSA9IG5ldyBUcmFuc2xhdGlvblF1ZXVlKCk7XG5cbmV4cG9ydCBjb25zdCBpMThuID0gKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uT2JqZWN0W10sXG4gIGxvY2FsZT86IExvY2FsZVxuKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9PiB0cmFuc2xhdGlvblF1ZXVlLnRyYW5zbGF0ZShjb250ZXh0LCB0cmFuc2xhdGlvbnMsIGxvY2FsZSk7XG5cbmV4cG9ydCBjb25zdCBmbHVzaCA9ICgpOiBQcm9taXNlPHZvaWQ+ID0+IHRyYW5zbGF0aW9uUXVldWUuZmx1c2goKTtcbmV4cG9ydCBjb25zdCBjbGVhciA9ICgpOiB2b2lkID0+IHRyYW5zbGF0aW9uUXVldWUuY2xlYXIoKTtcblxuZXhwb3J0IHR5cGUge1RyYW5zbGF0aW9uT2JqZWN0fTtcblxuZXhwb3J0IHt0cmFuc2xhdGlvblF1ZXVlfTsiXSwKICAibWFwcGluZ3MiOiAiQUFLQSxPQUFRLDBCQUFBQSxNQUE2QixxQkEwQnJDLE1BQU1DLENBQWlCLENBQ2IsUUFBeUMsSUFBSSxJQUM3QyxhQUFlLEdBQ2YsYUFBZSxHQUV2QixNQUFNLFVBQ0pDLEVBQ0FDLEVBQ0FDLEVBQWlCLEtBQ2dCLENBQ2pDLEdBQUdELEVBQWEsU0FBVyxFQUN6QixNQUFPLENBQUMsRUFHVixNQUFNRSxFQUFXRixFQUFhLElBQUksQ0FBQyxDQUFDLElBQUFHLEVBQUssU0FBQUMsRUFBVSxPQUFBQyxFQUFTLENBQUMsQ0FBQyxJQUM1RCxLQUFLLGVBQWVOLEVBQVNJLEVBQUtDLEVBQVVDLEVBQVFKLENBQU0sQ0FDNUQsRUFFTUssRUFBVSxNQUFNLFFBQVEsSUFBSUosQ0FBUSxFQUVwQ0ssRUFBb0MsQ0FBQyxFQUMzQyxPQUFBUCxFQUFhLFFBQVEsQ0FBQyxDQUFDLElBQUFHLENBQUcsRUFB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QU9GLENBQUcsSUFBTSxPQUFZLE9BQU9FLEVBQU9GLENBQUcsQ0FBQyxFQUFJaUIsQ0FBTSxDQUNwSCxDQUNGLENBRUEsTUFBTUMsRUFBbUIsSUFBSXZCLEVBRWhCd0IsRUFBTyxDQUNsQnZCLEVBQ0FDLEVBQ0FDLElBQ29Db0IsRUFBaUIsVUFBVXRCLEVBQVNDLEVBQWNDLENBQU0sRUFFakZzQixFQUFRLElBQXFCRixFQUFpQixNQUFNLEVBQ3BERyxFQUFRLElBQVlILEVBQWlCLE1BQU0iLAogICJuYW1lcyI6IFsiZ2V0Q29udGVudFdpdGhGYWxsYmFjayIsICJUcmFuc2xhdGlvblF1ZXVlIiwgImNvbnRleHQiLCAidHJhbnNsYXRpb25zIiwgImxvY2FsZSIsICJwcm9taXNlcyIsICJrZXkiLCAiZmFsbGJhY2siLCAicGFyYW1zIiwgInJlc3VsdHMiLCAicmVzdWx0TWFwIiwgImluZGV4IiwgInJlc29sdmUiLCAicmVqZWN0IiwgImJhdGNoS2V5IiwgInJlcXVlc3QiLCAiYmF0Y2giLCAidGltZW91dCIsICJiYXRjaEtleXMiLCAiY29udGVudCIsICJpbnRlcnBvbGF0ZWRDb250ZW50IiwgImludGVycG9sYXRlZEZhbGxiYWNrIiwgInJlc3VsdCIsICJtYXRjaCIsICJ0cmFuc2xhdGlvblF1ZXVlIiwgImkxOG4iLCAiZmx1c2giLCAiY2xlYXIiXQp9Cg==
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nlabs/reaktor",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "Reaktor",
|
|
5
|
+
"type": "module",
|
|
5
6
|
"main": "./lib/index.js",
|
|
6
7
|
"module": "./lib/index.js",
|
|
7
|
-
"types": "./lib/index.d.
|
|
8
|
+
"types": "./lib/index.d.ts",
|
|
8
9
|
"keywords": [
|
|
9
10
|
"reaktor",
|
|
10
11
|
"nitrogenlabs",
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
"scripts": {
|
|
29
30
|
"build": "lex compile --remove",
|
|
30
31
|
"clean": "lex clean",
|
|
31
|
-
"lint": "
|
|
32
|
+
"lint": "lex lint --fix",
|
|
32
33
|
"prepublishOnly": "npm run build",
|
|
33
34
|
"publish:major": "npm version major && npm run publish:tags && npm publish",
|
|
34
35
|
"publish:minor": "npm version minor && npm run publish:tags && npm publish",
|
|
@@ -40,52 +41,55 @@
|
|
|
40
41
|
"watch": "lex compile --remove --watch"
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|
|
43
|
-
"@aws-sdk/client-apigatewaymanagementapi": "^3.
|
|
44
|
-
"@aws-sdk/client-dynamodb": "^3.
|
|
45
|
-
"@aws-sdk/client-s3": "^3.
|
|
46
|
-
"@aws-sdk/client-ses": "^3.
|
|
47
|
-
"@aws-sdk/client-sns": "^3.
|
|
48
|
-
"@aws-sdk/s3-request-presigner": "^3.
|
|
49
|
-
"@nlabs/arkhamjs": "^3.
|
|
50
|
-
"@nlabs/rip-hunter": "^
|
|
51
|
-
"@nlabs/utils": "^
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
44
|
+
"@aws-sdk/client-apigatewaymanagementapi": "^3.848.0",
|
|
45
|
+
"@aws-sdk/client-dynamodb": "^3.848.0",
|
|
46
|
+
"@aws-sdk/client-s3": "^3.850.0",
|
|
47
|
+
"@aws-sdk/client-ses": "^3.848.0",
|
|
48
|
+
"@aws-sdk/client-sns": "^3.848.0",
|
|
49
|
+
"@aws-sdk/s3-request-presigner": "^3.850.0",
|
|
50
|
+
"@nlabs/arkhamjs": "^3.31.6",
|
|
51
|
+
"@nlabs/rip-hunter": "^3.0.0",
|
|
52
|
+
"@nlabs/utils": "^2.7.6",
|
|
53
|
+
"@types/aws-lambda": "^8.10.152",
|
|
54
|
+
"apn": "^2.2.0",
|
|
55
|
+
"arangojs": "^10.1.2",
|
|
56
|
+
"aws-sdk": "^2.1692.0",
|
|
55
57
|
"child_process": "^1.0.2",
|
|
56
|
-
"core-js": "^3.
|
|
57
|
-
"file-type": "^
|
|
58
|
-
"gm": "^1.25.
|
|
59
|
-
"google-libphonenumber": "^3.2.
|
|
60
|
-
"googleapis": "
|
|
61
|
-
"graphql": "^16.
|
|
58
|
+
"core-js": "^3.44.0",
|
|
59
|
+
"file-type": "^21.0.0",
|
|
60
|
+
"gm": "^1.25.1",
|
|
61
|
+
"google-libphonenumber": "^3.2.42",
|
|
62
|
+
"googleapis": "153.0.0",
|
|
63
|
+
"graphql": "^16.11.0",
|
|
64
|
+
"graphql-compose": "^9.1.0",
|
|
62
65
|
"graphql-fields": "^2.0.3",
|
|
66
|
+
"i18next": "^25.3.2",
|
|
63
67
|
"jsonwebtoken": "^9.0.2",
|
|
64
68
|
"lodash": "^4.17.21",
|
|
65
|
-
"luxon": "^3.
|
|
66
|
-
"mime-types": "^
|
|
69
|
+
"luxon": "^3.7.1",
|
|
70
|
+
"mime-types": "^3.0.1",
|
|
67
71
|
"net": "^1.0.2",
|
|
68
72
|
"node-yelp": "^0.0.3",
|
|
69
73
|
"numeral": "^2.0.6",
|
|
70
|
-
"sanitize-html": "^2.
|
|
74
|
+
"sanitize-html": "^2.17.0",
|
|
71
75
|
"spawn-sync": "^2.0.0",
|
|
72
|
-
"stripe": "^
|
|
76
|
+
"stripe": "^18.3.0",
|
|
73
77
|
"tls": "0.0.1",
|
|
74
78
|
"to": "^0.2.9",
|
|
75
79
|
"typed-promisify": "^0.4.0",
|
|
76
|
-
"universal-analytics": "^0.5.3"
|
|
80
|
+
"universal-analytics": "^0.5.3",
|
|
81
|
+
"zod": "^4.0.5"
|
|
77
82
|
},
|
|
78
83
|
"devDependencies": {
|
|
79
|
-
"@nlabs/lex": "^1.
|
|
80
|
-
"@types/history": "^
|
|
81
|
-
"@types/jest": "^
|
|
82
|
-
"@types/luxon": "^3.
|
|
83
|
-
"@types/node": "^
|
|
84
|
-
"@types/stripe": "^8.0.
|
|
85
|
-
"@types/twilio": "^3.19.
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"typescript": "^5.4.2"
|
|
84
|
+
"@nlabs/lex": "^1.48.7",
|
|
85
|
+
"@types/history": "^5.0.0",
|
|
86
|
+
"@types/jest": "^30.0.0",
|
|
87
|
+
"@types/luxon": "^3.6.2",
|
|
88
|
+
"@types/node": "^24.0.15",
|
|
89
|
+
"@types/stripe": "^8.0.417",
|
|
90
|
+
"@types/twilio": "^3.19.3",
|
|
91
|
+
"graphql-tools": "^9.0.20",
|
|
92
|
+
"typescript": "^5.8.3",
|
|
93
|
+
"typescript-eslint": "^8.38.0"
|
|
90
94
|
}
|
|
91
95
|
}
|
package/.eslintrc
DELETED
package/.prettierrc.js
DELETED
package/lib/actions/apps.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { AppType } from '../types/apps';
|
|
2
|
-
import type { ApiContext } from '../types/auth';
|
|
3
|
-
import type { UserType } from '../types/users';
|
|
4
|
-
export interface AppOptions {
|
|
5
|
-
readonly id?: string;
|
|
6
|
-
readonly key?: string;
|
|
7
|
-
readonly from?: number;
|
|
8
|
-
readonly name?: string;
|
|
9
|
-
readonly to?: number;
|
|
10
|
-
}
|
|
11
|
-
export declare const getAppOptional: (fields?: string[]) => any;
|
|
12
|
-
export declare const parseAppOptions: (options?: AppOptions) => {
|
|
13
|
-
limit: import("..").ArangoDbLimit;
|
|
14
|
-
id?: string;
|
|
15
|
-
key?: string;
|
|
16
|
-
from?: number;
|
|
17
|
-
name?: string;
|
|
18
|
-
to?: number;
|
|
19
|
-
};
|
|
20
|
-
export declare const addApp: (context: ApiContext, app: AppType) => Promise<UserType>;
|
|
21
|
-
export declare const updateApp: (context: ApiContext, app: AppType) => Promise<AppType>;
|
|
22
|
-
export declare const deleteApp: (context: ApiContext, app: AppType) => Promise<AppType>;
|
|
23
|
-
export declare const deactivateApp: (context: ApiContext, app: AppType) => Promise<UserType>;
|
|
24
|
-
export declare const getApp: (context: ApiContext, options?: AppOptions) => Promise<AppType>;
|
|
25
|
-
export declare const getApps: (context: ApiContext, options?: AppOptions) => Promise<AppType[]>;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ArangoDbLimit, ConnectionType, ConversationOptions, ConversationType, ConversationUsersParams, DirectConversationParams, UpdateConversationUserParams } from '../types';
|
|
2
|
-
import type { ApiContext } from '../types/auth';
|
|
3
|
-
export declare const parseConversationOptions: (options?: ConversationOptions) => {
|
|
4
|
-
limit: ArangoDbLimit;
|
|
5
|
-
};
|
|
6
|
-
export declare const getConversations: (context: ApiContext, userId: string, options?: any) => Promise<ConversationType[]>;
|
|
7
|
-
export declare const getDirectConversation: (context: ApiContext, { fromId, toId, toUser }: DirectConversationParams) => Promise<ConversationType>;
|
|
8
|
-
export declare const addDirectConversation: (context: ApiContext, { fromId, toId, toUser }: DirectConversationParams) => Promise<ConversationType>;
|
|
9
|
-
export declare const getConnectionUsers: (context: ApiContext, { conversationId, includeAll, isDirect }: ConversationUsersParams) => Promise<ConnectionType[]>;
|
|
10
|
-
export declare const getConversationUsers: (context: ApiContext, { conversationId, includeAll, isDirect }: ConversationUsersParams) => Promise<ConversationType[]>;
|
|
11
|
-
export declare const getConversation: (context: ApiContext, conversationId: string) => Promise<ConversationType>;
|
|
12
|
-
export declare const updateConversation: (context: ApiContext, conversation: ConversationType) => Promise<ConversationType>;
|
|
13
|
-
export declare const addUserToConversation: (context: ApiContext, { conversationId, userId }: UpdateConversationUserParams) => Promise<ConversationType>;
|
|
14
|
-
export declare const deleteUserFromConversation: (context: ApiContext, { conversationId, userId }: UpdateConversationUserParams) => Promise<ConversationType>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { BatchWriteItemCommandInput, BatchWriteItemCommandOutput, DeleteItemCommandInput, DeleteItemCommandOutput, GetItemCommandInput, GetItemCommandOutput, PutItemCommandInput, PutItemCommandOutput, QueryCommandInput, QueryCommandOutput, UpdateItemCommandInput, UpdateItemCommandOutput } from '@aws-sdk/client-dynamodb';
|
|
2
|
-
export declare const dynamoGet: (params: GetItemCommandInput) => Promise<GetItemCommandOutput>;
|
|
3
|
-
export declare const parseDynamoList: (results: QueryCommandOutput) => any[];
|
|
4
|
-
export declare const dynamoGetList: (params: QueryCommandInput, startItem?: any) => Promise<GetItemCommandOutput[]>;
|
|
5
|
-
export declare const dynamoPut: (params: PutItemCommandInput) => Promise<PutItemCommandOutput>;
|
|
6
|
-
export declare const dynamoUpdate: (params: UpdateItemCommandInput) => Promise<UpdateItemCommandOutput>;
|
|
7
|
-
export declare const dynamoPutList: (params: BatchWriteItemCommandInput) => Promise<BatchWriteItemCommandOutput>;
|
|
8
|
-
export declare const dynamoDel: (params: DeleteItemCommandInput) => Promise<DeleteItemCommandOutput>;
|
package/lib/actions/email.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { SendEmailCommandInput, SendEmailCommandOutput } from '@aws-sdk/client-ses';
|
|
2
|
-
import { EmailType } from '../types/email';
|
|
3
|
-
export declare const sesSend: (params: SendEmailCommandInput) => Promise<SendEmailCommandOutput>;
|
|
4
|
-
export declare const sendEmail: (params: EmailType) => Promise<boolean>;
|
|
5
|
-
export declare const sendTemplate: (templateName: string, emailParams: EmailType) => Promise<boolean>;
|
package/lib/actions/files.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ApiContext } from '../types/auth';
|
|
2
|
-
import { FileType } from '../types/files';
|
|
3
|
-
import { ImageType } from '../types';
|
|
4
|
-
export declare const GIPHY_URL: string;
|
|
5
|
-
export declare const getYouTube: () => import("googleapis").youtube_v3.Youtube;
|
|
6
|
-
export declare const insertFile: (context: ApiContext, file: FileType) => Promise<any>;
|
|
7
|
-
export declare const upsertFile: (context: ApiContext, file: FileType) => Promise<FileType>;
|
|
8
|
-
export declare const uploadFile: (context: any, file: FileType, buffer: Buffer) => Promise<any>;
|
|
9
|
-
export declare const addFile: (context: ApiContext, file: FileType) => Promise<FileType>;
|
|
10
|
-
export declare const parseGiphyItem: (gifImage: any) => ImageType;
|
|
11
|
-
export declare const getGiphyTrends: (limit?: number) => Promise<ImageType[]>;
|
|
12
|
-
export declare const getGiphySearch: (query: string, limit?: number) => Promise<ImageType[]>;
|
|
13
|
-
export declare const getYouTubeTrends: (limit?: number) => Promise<any[]>;
|
|
14
|
-
export declare const getYouTubeSearch: (query: string, limit?: number) => Promise<any[]>;
|
|
15
|
-
export declare const getPathUserFiles: (userId: string, filename: string) => string;
|
|
16
|
-
export declare const linkFiles: (context: ApiContext, postDocId: string, files: FileType[]) => Promise<any>;
|
|
17
|
-
export declare const updateFiles: (context: ApiContext, postDocId: string, files: FileType[]) => Promise<any>;
|
|
18
|
-
export declare const encodeBase64: (buffer: Buffer) => string;
|
|
19
|
-
export declare const decodeBase64: (dataString: string) => any;
|
package/lib/actions/groups.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Database } from 'arangojs';
|
|
2
|
-
import { ApiContext } from '../types/auth';
|
|
3
|
-
import { GroupEdgeType, GroupType, GroupUser } from '../types/groups';
|
|
4
|
-
export declare const getGroupList: (context: ApiContext, from: number, to: number) => Promise<GroupType[]>;
|
|
5
|
-
export declare const getGroupListByUser: (context: ApiContext, from: number, to: number) => Promise<GroupType[]>;
|
|
6
|
-
export declare const getGroupListByTags: (context: ApiContext, tags: string[], from: number, to: number) => Promise<GroupType[]>;
|
|
7
|
-
export declare const getGroup: (context: ApiContext, itemId: string) => Promise<GroupType>;
|
|
8
|
-
export declare const getGroupDetails: (context: ApiContext, groupId: string) => Promise<GroupType>;
|
|
9
|
-
export declare const createGroupEdge: (database: Database, userId: string, groupId: string) => Promise<GroupEdgeType>;
|
|
10
|
-
export declare const addGroup: (context: ApiContext, item: GroupType) => Promise<GroupType>;
|
|
11
|
-
export declare const updateGroup: (context: ApiContext, item: GroupType) => Promise<GroupType>;
|
|
12
|
-
export declare const deleteGroup: (context: ApiContext, itemId: string) => Promise<GroupType>;
|
|
13
|
-
export declare const getGroupsByReaction: (context: ApiContext, reaction: string) => Promise<GroupType[]>;
|
|
14
|
-
export declare const isGrouped: (database: Database, userId: string, groupId: string) => Promise<GroupUser>;
|
package/lib/actions/images.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { PutObjectCommandInput } from '@aws-sdk/client-s3';
|
|
2
|
-
import type { ApiContext, ArangoDbLimit, ImageEdgeType, ImageOptions, ImageType, ImageUrlData } from '../types';
|
|
3
|
-
export declare const parseImageOptions: (options?: ImageOptions) => {
|
|
4
|
-
limit: ArangoDbLimit;
|
|
5
|
-
type: string;
|
|
6
|
-
};
|
|
7
|
-
export declare const getImageOptional: (fields?: string[]) => any;
|
|
8
|
-
export declare const getImagesByUser: (context: ApiContext, userId: string, from?: number, to?: number) => Promise<ImageType[]>;
|
|
9
|
-
export declare const getImageCountByItem: (context: ApiContext, itemId: string) => Promise<number>;
|
|
10
|
-
export declare const getImagesByItem: (context: ApiContext, itemId: string, options?: ImageOptions) => Promise<ImageType[]>;
|
|
11
|
-
export declare const getImagesByGroup: (context: ApiContext, params: {
|
|
12
|
-
filters: any[];
|
|
13
|
-
groupId: string;
|
|
14
|
-
from: number;
|
|
15
|
-
to: number;
|
|
16
|
-
}) => Promise<ImageType[]>;
|
|
17
|
-
export declare const getImagesByReactions: (context: ApiContext, reactions?: string[], options?: ImageOptions) => Promise<ImageType[]>;
|
|
18
|
-
export declare const getImage: (context: ApiContext, imageId: string) => Promise<ImageType>;
|
|
19
|
-
export declare const getPathUserImages: (userId: string, imageId: string, type: string, dir?: string) => string;
|
|
20
|
-
export declare const getAppImageUrl: (data: ImageUrlData) => string;
|
|
21
|
-
export declare const getImageUrl: (data: ImageUrlData) => Promise<string>;
|
|
22
|
-
export declare const resizeSaveImage: (context: ApiContext, imageId: string, buffer: Buffer, fileType?: string, s3Options?: PutObjectCommandInput) => Promise<ImageType>;
|
|
23
|
-
export declare const addImage: (context: ApiContext, image: ImageType, s3Options?: PutObjectCommandInput) => Promise<ImageType>;
|
|
24
|
-
export declare const addImageEdge: (context: ApiContext, imageEdge: ImageEdgeType) => Promise<object>;
|
|
25
|
-
export declare const updateImage: (context: ApiContext, image: ImageType, s3Options?: PutObjectCommandInput) => Promise<ImageType>;
|
|
26
|
-
export declare const deleteImage: (context: ApiContext, imageId: string) => Promise<ImageType>;
|
package/lib/actions/index.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export * from './apps';
|
|
2
|
-
export * from './conversations';
|
|
3
|
-
export * from './dynamodb';
|
|
4
|
-
export * from './email';
|
|
5
|
-
export * from './files';
|
|
6
|
-
export * from './groups';
|
|
7
|
-
export * from './images';
|
|
8
|
-
export * from './ios';
|
|
9
|
-
export * from './locations';
|
|
10
|
-
export * from './messages';
|
|
11
|
-
export * from './notifications';
|
|
12
|
-
export * from './payments';
|
|
13
|
-
export * from './posts';
|
|
14
|
-
export * from './reactions';
|
|
15
|
-
export * from './s3';
|
|
16
|
-
export * from './search';
|
|
17
|
-
export * from './sms';
|
|
18
|
-
export * from './subscription';
|
|
19
|
-
export * from './tags';
|
|
20
|
-
export * from './users';
|
|
21
|
-
export * from './websockets';
|
package/lib/actions/ios.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Database } from 'arangojs';
|
|
2
|
-
import { ApiContext, PaymentIOSInAppError, PaymentIOSSubscriptionUpdate, PaymentSubscription } from '../types';
|
|
3
|
-
export declare const getIosInAppError: (statusCode: string) => PaymentIOSInAppError;
|
|
4
|
-
export declare const iosSubscriptionUpdate: (database: Database, subscriptionUpdate: PaymentIOSSubscriptionUpdate) => Promise<void>;
|
|
5
|
-
export declare const getIosSubscription: (context: ApiContext) => Promise<PaymentSubscription>;
|
|
6
|
-
export declare const addIosInApp: (context: ApiContext, subscription: PaymentSubscription) => Promise<PaymentSubscription>;
|
|
7
|
-
export declare const getIosInApp: (context: ApiContext) => Promise<PaymentSubscription>;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ApiContext } from '../types/auth';
|
|
2
|
-
import { GoogleMapsAddressType } from '../types/google';
|
|
3
|
-
import { LocationType } from '../types/locations';
|
|
4
|
-
export declare const getFieldVal: (addressComponents: GoogleMapsAddressType[], name: string) => string;
|
|
5
|
-
export declare const addLocation: (context: ApiContext, location: LocationType) => Promise<LocationType>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Database } from 'arangojs';
|
|
2
|
-
import type { ApiContext } from '../types/auth';
|
|
3
|
-
import type { MessageInputType, MessageType } from '../types/messages';
|
|
4
|
-
export declare const getMessages: (context: ApiContext, conversationId: string, { from, to }: {
|
|
5
|
-
from: any;
|
|
6
|
-
to: any;
|
|
7
|
-
}) => Promise<MessageType[]>;
|
|
8
|
-
export declare const updateMessage: (context: ApiContext, message: MessageInputType) => Promise<MessageType>;
|
|
9
|
-
export declare const saveMessage: (context: ApiContext, messageId: string, conversationId: string) => Promise<MessageType>;
|
|
10
|
-
export declare const unsaveMessage: (context: ApiContext, messageId: string, conversationId: string) => Promise<MessageType>;
|
|
11
|
-
export declare const deleteMessage: (context: ApiContext, messageId: string, conversationId: string) => Promise<MessageType>;
|
|
12
|
-
export declare const getMessage: (data: MessageType) => MessageType;
|
|
13
|
-
export declare const cleanMessages: (database: Database) => Promise<number>;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { Provider, Responses } from 'apn';
|
|
2
|
-
import type { NotificationType } from '../types/notifications';
|
|
3
|
-
export declare const getApnProvider: () => Provider;
|
|
4
|
-
export declare const pushNotification: (deviceTokens: string[], note: NotificationType) => Promise<Responses>;
|
|
5
|
-
export declare const clearBadges: (deviceTokens: string[]) => Promise<Responses>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ApiContext, PaymentBankAccount, PaymentCardType, PaymentCharge, PaymentTransfer, UserType } from '../types';
|
|
2
|
-
export declare const addCustomerAccount: (context: ApiContext) => Promise<boolean>;
|
|
3
|
-
export declare const addBankAccount: (context: ApiContext, bankAccount: PaymentBankAccount) => Promise<boolean>;
|
|
4
|
-
export declare const addCreditCard: (context: ApiContext, card: PaymentCardType) => Promise<UserType>;
|
|
5
|
-
export declare const updateCreditCard: (context: ApiContext, card: PaymentCardType) => Promise<PaymentCardType>;
|
|
6
|
-
export declare const getCreditCards: (context: ApiContext) => Promise<PaymentCardType[]>;
|
|
7
|
-
export declare const deleteCreditCard: (context: ApiContext, cardId: string) => Promise<boolean>;
|
|
8
|
-
export declare const deleteBankAccount: (context: ApiContext, bankId: string) => Promise<boolean>;
|
|
9
|
-
export declare const createPaymentTransfer: (context: ApiContext, transfer: PaymentTransfer) => Promise<PaymentTransfer>;
|
|
10
|
-
export declare const createPaymentHold: (context: ApiContext, payment: PaymentCharge) => Promise<PaymentCharge>;
|
package/lib/actions/posts.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { ApiContext, ArangoDbLimit, FileType, PostInputType, PostOptions, PostType } from '../types';
|
|
2
|
-
export declare const parsePostOptions: (options?: PostOptions) => {
|
|
3
|
-
latitude: number;
|
|
4
|
-
limit: ArangoDbLimit;
|
|
5
|
-
longitude: number;
|
|
6
|
-
type: string;
|
|
7
|
-
};
|
|
8
|
-
export declare const getPostOptional: (fields: string[], sessionId: string) => any;
|
|
9
|
-
export declare const getPost: (context: ApiContext, postId: string, options?: PostOptions) => Promise<PostType>;
|
|
10
|
-
export declare const getPostsByArea: (context: ApiContext, latitude: number, longitude: number, options?: PostOptions) => Promise<PostType[]>;
|
|
11
|
-
export declare const getPostsByLatest: (context: ApiContext, options?: PostOptions) => Promise<PostType[]>;
|
|
12
|
-
export declare const getPostsByReactions: (context: ApiContext, reactions?: string[], options?: PostOptions) => Promise<PostType[]>;
|
|
13
|
-
export declare const getPostsByTags: (context: ApiContext, tags?: string[], options?: PostOptions) => Promise<PostType[]>;
|
|
14
|
-
export declare const getPostsByUser: (context: ApiContext, userId: string, options?: PostOptions) => Promise<PostType[]>;
|
|
15
|
-
export declare const getPostComments: (context: ApiContext, postId: string, options?: PostOptions) => Promise<PostType[]>;
|
|
16
|
-
export declare const addPost: (context: ApiContext, { content, endDate, groupId, location, latitude, longitude, name, parentId, privacy, tags, startDate, type }: PostInputType) => Promise<PostType>;
|
|
17
|
-
export declare const updatePost: (context: ApiContext, post: PostInputType) => Promise<PostType>;
|
|
18
|
-
export declare const deletePost: (context: ApiContext, postDocId: string) => Promise<PostType>;
|
|
19
|
-
export declare const createPostEdge: (context: ApiContext, postDocId: string, itemDocId: string, edgeType?: string, props?: any) => Promise<FileType>;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { ApiContext, ArangoDbCollection, ArangoDbLimit, UserType, UserReactionQuery } from '../types';
|
|
2
|
-
export type ReactionDirection = 'INBOUND' | 'OUTBOUND';
|
|
3
|
-
export interface Reaction {
|
|
4
|
-
readonly _from?: string;
|
|
5
|
-
readonly _key?: string;
|
|
6
|
-
readonly _to?: string;
|
|
7
|
-
readonly added?: number;
|
|
8
|
-
readonly count?: number;
|
|
9
|
-
readonly id?: string;
|
|
10
|
-
readonly name?: string;
|
|
11
|
-
readonly type?: ArangoDbCollection;
|
|
12
|
-
readonly value?: string;
|
|
13
|
-
}
|
|
14
|
-
export interface ReactionOptions {
|
|
15
|
-
readonly from?: number;
|
|
16
|
-
readonly to?: number;
|
|
17
|
-
}
|
|
18
|
-
export declare const parseReactionOptions: (options?: ReactionOptions) => {
|
|
19
|
-
limit: ArangoDbLimit;
|
|
20
|
-
};
|
|
21
|
-
export declare const addReaction: (context: ApiContext, itemId: string, reaction?: Reaction, allowDuplicate?: boolean) => Promise<Reaction>;
|
|
22
|
-
export declare const deleteReaction: (context: ApiContext, reactionId: string) => Promise<Reaction>;
|
|
23
|
-
export declare const deleteReactionByItem: (context: ApiContext, itemId: string, reactionName: string) => Promise<Reaction>;
|
|
24
|
-
export declare const updateReaction: (context: ApiContext, reaction?: Reaction) => Promise<Reaction>;
|
|
25
|
-
export declare const getReactionCount: (context: ApiContext, itemId: string, reactionName: string) => Promise<Reaction>;
|
|
26
|
-
export declare const getReactionCountByUser: (context: ApiContext, itemId: string, itemType: string, reactionName: string) => Promise<Reaction[]>;
|
|
27
|
-
export declare const getGroupUsersByReaction: (context: ApiContext, params?: UserReactionQuery) => Promise<UserType[]>;
|
|
28
|
-
export declare const getReactionsByItem: (context: ApiContext, itemId: string, reactionName: string, options: ReactionOptions) => Promise<UserType[]>;
|
|
29
|
-
export declare const getItemsByReaction: (context: ApiContext, itemId: string, reactionName: string, options: ReactionOptions) => Promise<Reaction[]>;
|
|
30
|
-
export declare const hasReaction: (context: ApiContext, itemId: string, reactionName: string, direction?: ReactionDirection) => Promise<boolean>;
|
package/lib/actions/s3.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { DeleteObjectCommandInput, DeleteObjectCommandOutput, DeleteObjectsCommandInput, DeleteObjectsCommandOutput, GetObjectCommandInput, GetObjectCommandOutput, HeadObjectCommandInput, HeadObjectCommandOutput, PutObjectCommandInput, PutObjectCommandOutput } from '@aws-sdk/client-s3';
|
|
2
|
-
export declare const s3Get: (params: GetObjectCommandInput) => Promise<GetObjectCommandOutput>;
|
|
3
|
-
export declare const s3Head: (params: HeadObjectCommandInput) => Promise<HeadObjectCommandOutput>;
|
|
4
|
-
export declare const s3Put: (params: PutObjectCommandInput) => Promise<PutObjectCommandOutput>;
|
|
5
|
-
export declare const s3Delete: (params: DeleteObjectCommandInput) => Promise<DeleteObjectCommandOutput>;
|
|
6
|
-
export declare const s3DeleteList: (params: DeleteObjectsCommandInput) => Promise<DeleteObjectsCommandOutput>;
|
|
7
|
-
export declare const s3GetSignedUrl: (params?: any) => Promise<string>;
|
package/lib/actions/search.d.ts
DELETED
package/lib/actions/sms.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ApiContext } from '../types/auth';
|
|
2
|
-
import type { PaymentPlan, PaymentSubscription } from '../types/payments';
|
|
3
|
-
export declare const getPlanList: (context: ApiContext, from?: number, to?: number) => Promise<PaymentPlan[]>;
|
|
4
|
-
export declare const getSubscription: (context: ApiContext) => Promise<PaymentSubscription>;
|
|
5
|
-
export declare const addPlan: (context: ApiContext, item: PaymentPlan) => Promise<PaymentPlan>;
|
|
6
|
-
export declare const addSubscription: (context: ApiContext, item: any) => Promise<PaymentSubscription>;
|
|
7
|
-
export declare const deleteSubscription: (context: ApiContext) => Promise<boolean>;
|