@nlabs/metropolisjs 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/copilot-instructions.md +167 -0
- package/AGENTS.md +13 -0
- package/CHANGELOG.md +112 -0
- package/GRAPHQL_VALIDATION_RESULTS.md +158 -0
- package/PERMISSION_GRAPHQL_INTEGRATION.md +293 -0
- package/PERMISSION_IMPLEMENTATION_SUMMARY.md +243 -0
- package/README.md +1343 -0
- package/SIGNIN_GRAPHQL_VALIDATION.md +125 -0
- package/VAULT_GRAPHQL_API_FINDINGS.md +312 -0
- package/docs/ACTIONS.md +63 -0
- package/docs/COLLECTIONS.md +1038 -0
- package/docs/CONNECTIONS.md +1367 -0
- package/docs/CRUD_INTEGRATION.md +702 -0
- package/examples/connections-usage.tsx +909 -0
- package/examples/content-actions-usage.ts +144 -0
- package/examples/crud-usage.tsx +847 -0
- package/examples/extensibility-usage.tsx +889 -0
- package/examples/factory-pattern-usage.ts +283 -0
- package/examples/i18n-import-examples.ts +86 -0
- package/examples/i18n-namespace-usage.ts +118 -0
- package/examples/i18next-singleton-demo.ts +187 -0
- package/examples/permission-system-usage.tsx +415 -0
- package/examples/project-details.tsx +397 -0
- package/examples/shared-i18n-usage.tsx +203 -0
- package/examples/signup-error-handling.ts +100 -0
- package/examples/translation-types.ts +86 -0
- package/examples/translation-usage.tsx +336 -0
- package/factoryPatternGuide.md +244 -0
- package/index.js +1 -0
- package/jest.config.mjs +28 -0
- package/lex.config.mjs +26 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts +22 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +1 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServer.js +197 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts +3 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +1 -0
- package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +52 -0
- package/lib/actions/appActions/appActions.d.ts +29 -0
- package/lib/actions/appActions/appActions.d.ts.map +1 -0
- package/lib/actions/appActions/appActions.js +159 -0
- package/lib/actions/connectionActions/connectionActions.d.ts +19 -0
- package/lib/actions/connectionActions/connectionActions.d.ts.map +1 -0
- package/lib/actions/connectionActions/connectionActions.js +131 -0
- package/lib/actions/contentActions/contentActions.d.ts +34 -0
- package/lib/actions/contentActions/contentActions.d.ts.map +1 -0
- package/lib/actions/contentActions/contentActions.js +314 -0
- package/lib/actions/conversationActions/conversationActions.d.ts +30 -0
- package/lib/actions/conversationActions/conversationActions.d.ts.map +1 -0
- package/lib/actions/conversationActions/conversationActions.js +225 -0
- package/lib/actions/eventActions/eventActions.d.ts +65 -0
- package/lib/actions/eventActions/eventActions.d.ts.map +1 -0
- package/lib/actions/eventActions/eventActions.js +436 -0
- package/lib/actions/groupActions/groupActions.d.ts +30 -0
- package/lib/actions/groupActions/groupActions.d.ts.map +1 -0
- package/lib/actions/groupActions/groupActions.js +229 -0
- package/lib/actions/imageActions/imageActions.d.ts +62 -0
- package/lib/actions/imageActions/imageActions.d.ts.map +1 -0
- package/lib/actions/imageActions/imageActions.js +593 -0
- package/lib/actions/index.d.ts +21 -0
- package/lib/actions/index.d.ts.map +1 -0
- package/lib/actions/index.js +22 -0
- package/lib/actions/locationActions/locationActions.d.ts +60 -0
- package/lib/actions/locationActions/locationActions.d.ts.map +1 -0
- package/lib/actions/locationActions/locationActions.js +388 -0
- package/lib/actions/messageActions/messageActions.d.ts +38 -0
- package/lib/actions/messageActions/messageActions.d.ts.map +1 -0
- package/lib/actions/messageActions/messageActions.js +235 -0
- package/lib/actions/permissionActions/permissionActions.d.ts +34 -0
- package/lib/actions/permissionActions/permissionActions.d.ts.map +1 -0
- package/lib/actions/permissionActions/permissionActions.js +330 -0
- package/lib/actions/personaActions/personaActions.d.ts +65 -0
- package/lib/actions/personaActions/personaActions.d.ts.map +1 -0
- package/lib/actions/personaActions/personaActions.js +572 -0
- package/lib/actions/postActions/postActions.d.ts +36 -0
- package/lib/actions/postActions/postActions.d.ts.map +1 -0
- package/lib/actions/postActions/postActions.js +447 -0
- package/lib/actions/reactionActions/reactionActions.d.ts +38 -0
- package/lib/actions/reactionActions/reactionActions.d.ts.map +1 -0
- package/lib/actions/reactionActions/reactionActions.js +413 -0
- package/lib/actions/sseActions/sseActions.d.ts +38 -0
- package/lib/actions/sseActions/sseActions.d.ts.map +1 -0
- package/lib/actions/sseActions/sseActions.js +148 -0
- package/lib/actions/subscriptionActions/subscriptionActions.d.ts +24 -0
- package/lib/actions/subscriptionActions/subscriptionActions.d.ts.map +1 -0
- package/lib/actions/subscriptionActions/subscriptionActions.js +329 -0
- package/lib/actions/tagActions/tagActions.d.ts +37 -0
- package/lib/actions/tagActions/tagActions.d.ts.map +1 -0
- package/lib/actions/tagActions/tagActions.js +347 -0
- package/lib/actions/translationActions/translationActions.d.ts +38 -0
- package/lib/actions/translationActions/translationActions.d.ts.map +1 -0
- package/lib/actions/translationActions/translationActions.js +189 -0
- package/lib/actions/userActions/userActions.d.ts +78 -0
- package/lib/actions/userActions/userActions.d.ts.map +1 -0
- package/lib/actions/userActions/userActions.js +844 -0
- package/lib/actions/videoActions/videoActions.d.ts +41 -0
- package/lib/actions/videoActions/videoActions.d.ts.map +1 -0
- package/lib/actions/videoActions/videoActions.js +532 -0
- package/lib/actions/websocketActions/websocketActions.d.ts +30 -0
- package/lib/actions/websocketActions/websocketActions.d.ts.map +1 -0
- package/lib/actions/websocketActions/websocketActions.js +377 -0
- package/lib/adapters/appAdapter/appAdapter.d.ts +8 -0
- package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -0
- package/lib/adapters/appAdapter/appAdapter.js +90 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +21 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.js +75 -0
- package/lib/adapters/contentAdapter/contentAdapter.d.ts +32 -0
- package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -0
- package/lib/adapters/contentAdapter/contentAdapter.js +107 -0
- package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +24 -0
- package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -0
- package/lib/adapters/conversationAdapter/conversationAdapter.js +75 -0
- package/lib/adapters/eventAdapter/eventAdapter.d.ts +46 -0
- package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -0
- package/lib/adapters/eventAdapter/eventAdapter.js +162 -0
- package/lib/adapters/fileAdapter/fileAdapter.d.ts +30 -0
- package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -0
- package/lib/adapters/fileAdapter/fileAdapter.js +118 -0
- package/lib/adapters/groupAdapter/groupAdapter.d.ts +28 -0
- package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -0
- package/lib/adapters/groupAdapter/groupAdapter.js +66 -0
- package/lib/adapters/imageAdapter/imageAdapter.d.ts +38 -0
- package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -0
- package/lib/adapters/imageAdapter/imageAdapter.js +134 -0
- package/lib/adapters/index.d.ts +34 -0
- package/lib/adapters/index.d.ts.map +1 -0
- package/lib/adapters/index.js +19 -0
- package/lib/adapters/locationAdapter/locationAdapter.d.ts +28 -0
- package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -0
- package/lib/adapters/locationAdapter/locationAdapter.js +95 -0
- package/lib/adapters/messageAdapter/messageAdapter.d.ts +31 -0
- package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -0
- package/lib/adapters/messageAdapter/messageAdapter.js +82 -0
- package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +41 -0
- package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -0
- package/lib/adapters/permissionAdapter/permissionAdapter.js +120 -0
- package/lib/adapters/personaAdapter/personaAdapter.d.ts +44 -0
- package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -0
- package/lib/adapters/personaAdapter/personaAdapter.js +161 -0
- package/lib/adapters/postAdapter/postAdapter.d.ts +33 -0
- package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -0
- package/lib/adapters/postAdapter/postAdapter.js +115 -0
- package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +23 -0
- package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -0
- package/lib/adapters/reactionAdapter/reactionAdapter.js +81 -0
- package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +17 -0
- package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -0
- package/lib/adapters/reaktorAdapter/reaktorAdapter.js +58 -0
- package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +24 -0
- package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -0
- package/lib/adapters/sessionAdapter/sessionAdapter.js +80 -0
- package/lib/adapters/tagAdapter/tagAdapter.d.ts +21 -0
- package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -0
- package/lib/adapters/tagAdapter/tagAdapter.js +98 -0
- package/lib/adapters/translationAdapter/translationAdapter.d.ts +21 -0
- package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -0
- package/lib/adapters/translationAdapter/translationAdapter.js +55 -0
- package/lib/adapters/userAdapter/userAdapter.d.ts +67 -0
- package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -0
- package/lib/adapters/userAdapter/userAdapter.js +302 -0
- package/lib/adapters/videoAdapter/videoAdapter.d.ts +8 -0
- package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -0
- package/lib/adapters/videoAdapter/videoAdapter.js +194 -0
- package/lib/config/index.d.ts +44 -0
- package/lib/config/index.d.ts.map +1 -0
- package/lib/config/index.js +97 -0
- package/lib/constants/Collections.d.ts +44 -0
- package/lib/constants/Collections.d.ts.map +1 -0
- package/lib/constants/Collections.js +40 -0
- package/lib/constants/MetropolisConstants.d.ts +15 -0
- package/lib/constants/MetropolisConstants.d.ts.map +1 -0
- package/lib/constants/MetropolisConstants.js +15 -0
- package/lib/graphql/message.d.ts +3 -0
- package/lib/graphql/message.d.ts.map +1 -0
- package/lib/graphql/message.js +20 -0
- package/lib/graphql/notification.d.ts +3 -0
- package/lib/graphql/notification.d.ts.map +1 -0
- package/lib/graphql/notification.js +20 -0
- package/lib/graphql/session.d.ts +2 -0
- package/lib/graphql/session.d.ts.map +1 -0
- package/lib/graphql/session.js +17 -0
- package/lib/index.d.ts +52 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +248 -0
- package/lib/stores/appStore.d.ts +23 -0
- package/lib/stores/appStore.d.ts.map +1 -0
- package/lib/stores/appStore.js +23 -0
- package/lib/stores/contentStore.d.ts +36 -0
- package/lib/stores/contentStore.d.ts.map +1 -0
- package/lib/stores/contentStore.js +139 -0
- package/lib/stores/conversationStore.d.ts +38 -0
- package/lib/stores/conversationStore.d.ts.map +1 -0
- package/lib/stores/conversationStore.js +117 -0
- package/lib/stores/eventStore.d.ts +37 -0
- package/lib/stores/eventStore.d.ts.map +1 -0
- package/lib/stores/eventStore.js +47 -0
- package/lib/stores/groupStore.d.ts +37 -0
- package/lib/stores/groupStore.d.ts.map +1 -0
- package/lib/stores/groupStore.js +68 -0
- package/lib/stores/imageStore.d.ts +40 -0
- package/lib/stores/imageStore.d.ts.map +1 -0
- package/lib/stores/imageStore.js +53 -0
- package/lib/stores/index.d.ts +24 -0
- package/lib/stores/index.d.ts.map +1 -0
- package/lib/stores/index.js +24 -0
- package/lib/stores/locationStore.d.ts +34 -0
- package/lib/stores/locationStore.d.ts.map +1 -0
- package/lib/stores/locationStore.js +42 -0
- package/lib/stores/messageStore.d.ts +51 -0
- package/lib/stores/messageStore.d.ts.map +1 -0
- package/lib/stores/messageStore.js +137 -0
- package/lib/stores/notificationStore.d.ts +33 -0
- package/lib/stores/notificationStore.d.ts.map +1 -0
- package/lib/stores/notificationStore.js +55 -0
- package/lib/stores/permissionStore.d.ts +37 -0
- package/lib/stores/permissionStore.d.ts.map +1 -0
- package/lib/stores/permissionStore.js +117 -0
- package/lib/stores/personaStore.d.ts +26 -0
- package/lib/stores/personaStore.d.ts.map +1 -0
- package/lib/stores/personaStore.js +118 -0
- package/lib/stores/postStore.d.ts +34 -0
- package/lib/stores/postStore.d.ts.map +1 -0
- package/lib/stores/postStore.js +53 -0
- package/lib/stores/reactionStore.d.ts +25 -0
- package/lib/stores/reactionStore.d.ts.map +1 -0
- package/lib/stores/reactionStore.js +28 -0
- package/lib/stores/subscriptionStore.d.ts +41 -0
- package/lib/stores/subscriptionStore.d.ts.map +1 -0
- package/lib/stores/subscriptionStore.js +85 -0
- package/lib/stores/tagStore.d.ts +34 -0
- package/lib/stores/tagStore.d.ts.map +1 -0
- package/lib/stores/tagStore.js +87 -0
- package/lib/stores/translationStore.d.ts +42 -0
- package/lib/stores/translationStore.d.ts.map +1 -0
- package/lib/stores/translationStore.js +122 -0
- package/lib/stores/userStore.d.ts +74 -0
- package/lib/stores/userStore.d.ts.map +1 -0
- package/lib/stores/userStore.js +319 -0
- package/lib/stores/videoStore.d.ts +39 -0
- package/lib/stores/videoStore.d.ts.map +1 -0
- package/lib/stores/videoStore.js +132 -0
- package/lib/stores/websocketStore.d.ts +24 -0
- package/lib/stores/websocketStore.d.ts.map +1 -0
- package/lib/stores/websocketStore.js +51 -0
- package/lib/types/apps.types.d.ts +17 -0
- package/lib/types/apps.types.d.ts.map +1 -0
- package/lib/types/apps.types.js +6 -0
- package/lib/types/common.types.d.ts +31 -0
- package/lib/types/common.types.d.ts.map +1 -0
- package/lib/types/common.types.js +6 -0
- package/lib/types/conversations.types.d.ts +17 -0
- package/lib/types/conversations.types.d.ts.map +1 -0
- package/lib/types/conversations.types.js +6 -0
- package/lib/types/edges.types.d.ts +38 -0
- package/lib/types/edges.types.d.ts.map +1 -0
- package/lib/types/edges.types.js +6 -0
- package/lib/types/groups.types.d.ts +19 -0
- package/lib/types/groups.types.d.ts.map +1 -0
- package/lib/types/groups.types.js +6 -0
- package/lib/types/index.d.ts +12 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +12 -0
- package/lib/types/subscriptions.types.d.ts +32 -0
- package/lib/types/subscriptions.types.d.ts.map +1 -0
- package/lib/types/subscriptions.types.js +6 -0
- package/lib/types/videos.types.d.ts +61 -0
- package/lib/types/videos.types.d.ts.map +1 -0
- package/lib/types/videos.types.js +6 -0
- package/lib/utils/MetropolisProvider.d.ts +58 -0
- package/lib/utils/MetropolisProvider.d.ts.map +1 -0
- package/lib/utils/MetropolisProvider.js +31 -0
- package/lib/utils/actionFactory.d.ts +24 -0
- package/lib/utils/actionFactory.d.ts.map +1 -0
- package/lib/utils/actionFactory.js +95 -0
- package/lib/utils/api.d.ts +44 -0
- package/lib/utils/api.d.ts.map +1 -0
- package/lib/utils/api.js +253 -0
- package/lib/utils/app.d.ts +7 -0
- package/lib/utils/app.d.ts.map +1 -0
- package/lib/utils/app.js +15 -0
- package/lib/utils/baseActionFactory.d.ts +16 -0
- package/lib/utils/baseActionFactory.d.ts.map +1 -0
- package/lib/utils/baseActionFactory.js +72 -0
- package/lib/utils/configUtils.d.ts +11 -0
- package/lib/utils/configUtils.d.ts.map +1 -0
- package/lib/utils/configUtils.js +20 -0
- package/lib/utils/dateUtils.d.ts +3 -0
- package/lib/utils/dateUtils.d.ts.map +1 -0
- package/lib/utils/dateUtils.js +11 -0
- package/lib/utils/file.d.ts +3 -0
- package/lib/utils/file.d.ts.map +1 -0
- package/lib/utils/file.js +156 -0
- package/lib/utils/i18n.d.ts +7 -0
- package/lib/utils/i18n.d.ts.map +1 -0
- package/lib/utils/i18n.js +96 -0
- package/lib/utils/index.d.ts +20 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +26 -0
- package/lib/utils/location.d.ts +10 -0
- package/lib/utils/location.d.ts.map +1 -0
- package/lib/utils/location.js +82 -0
- package/lib/utils/permissionUtils.d.ts +22 -0
- package/lib/utils/permissionUtils.d.ts.map +1 -0
- package/lib/utils/permissionUtils.js +72 -0
- package/lib/utils/requestCache.d.ts +8 -0
- package/lib/utils/requestCache.d.ts.map +1 -0
- package/lib/utils/requestCache.js +53 -0
- package/lib/utils/session.d.ts +14 -0
- package/lib/utils/session.d.ts.map +1 -0
- package/lib/utils/session.js +107 -0
- package/lib/utils/useConversationTyping.d.ts +26 -0
- package/lib/utils/useConversationTyping.d.ts.map +1 -0
- package/lib/utils/useConversationTyping.js +117 -0
- package/lib/utils/useMetropolis.d.ts +67 -0
- package/lib/utils/useMetropolis.d.ts.map +1 -0
- package/lib/utils/useMetropolis.js +311 -0
- package/lib/utils/useTranslations.d.ts +16 -0
- package/lib/utils/useTranslations.d.ts.map +1 -0
- package/lib/utils/useTranslations.js +105 -0
- package/lib/utils/validatorFactory.d.ts +49 -0
- package/lib/utils/validatorFactory.d.ts.map +1 -0
- package/lib/utils/validatorFactory.js +95 -0
- package/package.json +75 -28
- package/temp_signin.ts +73 -0
- package/tsconfig.lint.json +25 -0
- package/tsconfig.test.json +14 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/
|
|
5
|
+
import type { PostType } from '../adapters/postAdapter/postAdapter.js';
|
|
6
|
+
export declare const POST_CONSTANTS: {
|
|
7
|
+
readonly ADD_ITEM_ERROR: "POST_ADD_ITEM_ERROR";
|
|
8
|
+
readonly ADD_ITEM_SUCCESS: "POST_ADD_ITEM_SUCCESS";
|
|
9
|
+
readonly GET_ITEM_ERROR: "POST_GET_ITEM_ERROR";
|
|
10
|
+
readonly GET_ITEM_SUCCESS: "POST_GET_ITEM_SUCCESS";
|
|
11
|
+
readonly GET_LIST_ERROR: "POST_GET_LIST_ERROR";
|
|
12
|
+
readonly GET_LIST_SUCCESS: "POST_GET_LIST_SUCCESS";
|
|
13
|
+
readonly REMOVE_ITEM_ERROR: "POST_REMOVE_ITEM_ERROR";
|
|
14
|
+
readonly REMOVE_ITEM_SUCCESS: "POST_REMOVE_ITEM_SUCCESS";
|
|
15
|
+
readonly UPDATE_ITEM_ERROR: "POST_UPDATE_ITEM_ERROR";
|
|
16
|
+
readonly UPDATE_ITEM_SUCCESS: "POST_UPDATE_ITEM_SUCCESS";
|
|
17
|
+
};
|
|
18
|
+
interface PostState {
|
|
19
|
+
lists: Record<string, PostType[]>;
|
|
20
|
+
viewed: Record<string, PostType>;
|
|
21
|
+
}
|
|
22
|
+
export declare const defaultValues: PostState;
|
|
23
|
+
export declare const postStore: (type: string, data: {
|
|
24
|
+
post?: PostType;
|
|
25
|
+
}, state?: PostState) => PostState;
|
|
26
|
+
export declare const posts: {
|
|
27
|
+
action: (type: string, data: {
|
|
28
|
+
post?: PostType;
|
|
29
|
+
}, state?: PostState) => PostState;
|
|
30
|
+
initialState: PostState;
|
|
31
|
+
name: string;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=postStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postStore.d.ts","sourceRoot":"","sources":["../../src/stores/postStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,wCAAwC,CAAC;AAErE,eAAO,MAAM,cAAc;;;;;;;;;;;CAWjB,CAAC;AAEX,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,aAAa,EAAE,SAG3B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,EAAE,MAAM;IAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAC,EAAE,iBAAqB,KAAG,SAgBxF,CAAC;AAEF,eAAO,MAAM,KAAK;mBAlBc,MAAM,QAAQ;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAC,wBAA0B,SAAS;;;CAsBjG,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ export const POST_CONSTANTS = {
|
|
5
|
+
ADD_ITEM_ERROR: 'POST_ADD_ITEM_ERROR',
|
|
6
|
+
ADD_ITEM_SUCCESS: 'POST_ADD_ITEM_SUCCESS',
|
|
7
|
+
GET_ITEM_ERROR: 'POST_GET_ITEM_ERROR',
|
|
8
|
+
GET_ITEM_SUCCESS: 'POST_GET_ITEM_SUCCESS',
|
|
9
|
+
GET_LIST_ERROR: 'POST_GET_LIST_ERROR',
|
|
10
|
+
GET_LIST_SUCCESS: 'POST_GET_LIST_SUCCESS',
|
|
11
|
+
REMOVE_ITEM_ERROR: 'POST_REMOVE_ITEM_ERROR',
|
|
12
|
+
REMOVE_ITEM_SUCCESS: 'POST_REMOVE_ITEM_SUCCESS',
|
|
13
|
+
UPDATE_ITEM_ERROR: 'POST_UPDATE_ITEM_ERROR',
|
|
14
|
+
UPDATE_ITEM_SUCCESS: 'POST_UPDATE_ITEM_SUCCESS'
|
|
15
|
+
};
|
|
16
|
+
export const defaultValues = {
|
|
17
|
+
lists: {},
|
|
18
|
+
viewed: {}
|
|
19
|
+
};
|
|
20
|
+
export const postStore = (type, data, state = defaultValues)=>{
|
|
21
|
+
switch(type){
|
|
22
|
+
case POST_CONSTANTS.GET_ITEM_SUCCESS:
|
|
23
|
+
{
|
|
24
|
+
const { post } = data;
|
|
25
|
+
if (post && post.postId) {
|
|
26
|
+
const postWithCache = {
|
|
27
|
+
...post,
|
|
28
|
+
cached: Date.now()
|
|
29
|
+
};
|
|
30
|
+
const viewed = {
|
|
31
|
+
...state.viewed
|
|
32
|
+
};
|
|
33
|
+
viewed[post.postId] = postWithCache;
|
|
34
|
+
return {
|
|
35
|
+
...state,
|
|
36
|
+
viewed
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
return state;
|
|
40
|
+
}
|
|
41
|
+
default:
|
|
42
|
+
{
|
|
43
|
+
return state;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
export const posts = {
|
|
48
|
+
action: postStore,
|
|
49
|
+
initialState: defaultValues,
|
|
50
|
+
name: 'post'
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3Bvc3RTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHR5cGUge1Bvc3RUeXBlfSBmcm9tICcuLi9hZGFwdGVycy9wb3N0QWRhcHRlci9wb3N0QWRhcHRlci5qcyc7XG5cbmV4cG9ydCBjb25zdCBQT1NUX0NPTlNUQU5UUyA9IHtcbiAgQUREX0lURU1fRVJST1I6ICdQT1NUX0FERF9JVEVNX0VSUk9SJyxcbiAgQUREX0lURU1fU1VDQ0VTUzogJ1BPU1RfQUREX0lURU1fU1VDQ0VTUycsXG4gIEdFVF9JVEVNX0VSUk9SOiAnUE9TVF9HRVRfSVRFTV9FUlJPUicsXG4gIEdFVF9JVEVNX1NVQ0NFU1M6ICdQT1NUX0dFVF9JVEVNX1NVQ0NFU1MnLFxuICBHRVRfTElTVF9FUlJPUjogJ1BPU1RfR0VUX0xJU1RfRVJST1InLFxuICBHRVRfTElTVF9TVUNDRVNTOiAnUE9TVF9HRVRfTElTVF9TVUNDRVNTJyxcbiAgUkVNT1ZFX0lURU1fRVJST1I6ICdQT1NUX1JFTU9WRV9JVEVNX0VSUk9SJyxcbiAgUkVNT1ZFX0lURU1fU1VDQ0VTUzogJ1BPU1RfUkVNT1ZFX0lURU1fU1VDQ0VTUycsXG4gIFVQREFURV9JVEVNX0VSUk9SOiAnUE9TVF9VUERBVEVfSVRFTV9FUlJPUicsXG4gIFVQREFURV9JVEVNX1NVQ0NFU1M6ICdQT1NUX1VQREFURV9JVEVNX1NVQ0NFU1MnXG59IGFzIGNvbnN0O1xuXG5pbnRlcmZhY2UgUG9zdFN0YXRlIHtcbiAgbGlzdHM6IFJlY29yZDxzdHJpbmcsIFBvc3RUeXBlW10+O1xuICB2aWV3ZWQ6IFJlY29yZDxzdHJpbmcsIFBvc3RUeXBlPjtcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRWYWx1ZXM6IFBvc3RTdGF0ZSA9IHtcbiAgbGlzdHM6IHt9LFxuICB2aWV3ZWQ6IHt9XG59O1xuXG5leHBvcnQgY29uc3QgcG9zdFN0b3JlID0gKHR5cGU6IHN0cmluZywgZGF0YToge3Bvc3Q/OiBQb3N0VHlwZX0sIHN0YXRlID0gZGVmYXVsdFZhbHVlcyk6IFBvc3RTdGF0ZSA9PiB7XG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSBQT1NUX0NPTlNUQU5UUy5HRVRfSVRFTV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7cG9zdH0gPSBkYXRhO1xuICAgICAgaWYocG9zdCAmJiBwb3N0LnBvc3RJZCkge1xuICAgICAgICBjb25zdCBwb3N0V2l0aENhY2hlOiBQb3N0VHlwZSA9IHsuLi5wb3N0LCBjYWNoZWQ6IERhdGUubm93KCl9O1xuICAgICAgICBjb25zdCB2aWV3ZWQgPSB7Li4uc3RhdGUudmlld2VkfTtcbiAgICAgICAgdmlld2VkW3Bvc3QucG9zdElkXSA9IHBvc3RXaXRoQ2FjaGU7XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIHZpZXdlZH07XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwb3N0cyA9IHtcbiAgYWN0aW9uOiBwb3N0U3RvcmUsXG4gIGluaXRpYWxTdGF0ZTogZGVmYXVsdFZhbHVlcyxcbiAgbmFtZTogJ3Bvc3QnXG59O1xuIl0sIm5hbWVzIjpbIlBPU1RfQ09OU1RBTlRTIiwiQUREX0lURU1fRVJST1IiLCJBRERfSVRFTV9TVUNDRVNTIiwiR0VUX0lURU1fRVJST1IiLCJHRVRfSVRFTV9TVUNDRVNTIiwiR0VUX0xJU1RfRVJST1IiLCJHRVRfTElTVF9TVUNDRVNTIiwiUkVNT1ZFX0lURU1fRVJST1IiLCJSRU1PVkVfSVRFTV9TVUNDRVNTIiwiVVBEQVRFX0lURU1fRVJST1IiLCJVUERBVEVfSVRFTV9TVUNDRVNTIiwiZGVmYXVsdFZhbHVlcyIsImxpc3RzIiwidmlld2VkIiwicG9zdFN0b3JlIiwidHlwZSIsImRhdGEiLCJzdGF0ZSIsInBvc3QiLCJwb3N0SWQiLCJwb3N0V2l0aENhY2hlIiwiY2FjaGVkIiwiRGF0ZSIsIm5vdyIsInBvc3RzIiwiYWN0aW9uIiwiaW5pdGlhbFN0YXRlIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBR0QsT0FBTyxNQUFNQSxpQkFBaUI7SUFDNUJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0lBQ3JCQyxtQkFBbUI7SUFDbkJDLHFCQUFxQjtBQUN2QixFQUFXO0FBT1gsT0FBTyxNQUFNQyxnQkFBMkI7SUFDdENDLE9BQU8sQ0FBQztJQUNSQyxRQUFRLENBQUM7QUFDWCxFQUFFO0FBRUYsT0FBTyxNQUFNQyxZQUFZLENBQUNDLE1BQWNDLE1BQXlCQyxRQUFRTixhQUFhO0lBQ3BGLE9BQU9JO1FBQ0wsS0FBS2YsZUFBZUksZ0JBQWdCO1lBQUU7Z0JBQ3BDLE1BQU0sRUFBQ2MsSUFBSSxFQUFDLEdBQUdGO2dCQUNmLElBQUdFLFFBQVFBLEtBQUtDLE1BQU0sRUFBRTtvQkFDdEIsTUFBTUMsZ0JBQTBCO3dCQUFDLEdBQUdGLElBQUk7d0JBQUVHLFFBQVFDLEtBQUtDLEdBQUc7b0JBQUU7b0JBQzVELE1BQU1WLFNBQVM7d0JBQUMsR0FBR0ksTUFBTUosTUFBTTtvQkFBQTtvQkFDL0JBLE1BQU0sQ0FBQ0ssS0FBS0MsTUFBTSxDQUFDLEdBQUdDO29CQUN0QixPQUFPO3dCQUFDLEdBQUdILEtBQUs7d0JBQUVKO29CQUFNO2dCQUMxQjtnQkFDQSxPQUFPSTtZQUNUO1FBQ0E7WUFBUztnQkFDUCxPQUFPQTtZQUNUO0lBQ0Y7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNTyxRQUFRO0lBQ25CQyxRQUFRWDtJQUNSWSxjQUFjZjtJQUNkZ0IsTUFBTTtBQUNSLEVBQUUifQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const REACTION_CONSTANTS: {
|
|
2
|
+
readonly ADD_ITEM_ERROR: "REACTION_ADD_ITEM_ERROR";
|
|
3
|
+
readonly ADD_ITEM_SUCCESS: "REACTION_ADD_ITEM_SUCCESS";
|
|
4
|
+
readonly GET_COUNT_ERROR: "REACTION_GET_COUNT_ERROR";
|
|
5
|
+
readonly GET_COUNT_SUCCESS: "REACTION_GET_COUNT_SUCCESS";
|
|
6
|
+
readonly HAS_ERROR: "REACTION_HAS_ERROR";
|
|
7
|
+
readonly HAS_SUCCESS: "REACTION_HAS_SUCCESS";
|
|
8
|
+
readonly REMOVE_ITEM_ERROR: "REACTION_REMOVE_ITEM_ERROR";
|
|
9
|
+
readonly REMOVE_ITEM_SUCCESS: "REACTION_REMOVE_ITEM_SUCCESS";
|
|
10
|
+
};
|
|
11
|
+
interface ReactionState {
|
|
12
|
+
reactions?: Record<string, {
|
|
13
|
+
count?: number;
|
|
14
|
+
hasReaction?: boolean;
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
17
|
+
export declare const defaultValues: ReactionState;
|
|
18
|
+
export declare const reactionStore: (type: string, data: Partial<ReactionState>, state?: ReactionState) => ReactionState;
|
|
19
|
+
export declare const reactions: {
|
|
20
|
+
action: (type: string, data: Partial<ReactionState>, state?: ReactionState) => ReactionState;
|
|
21
|
+
initialState: ReactionState;
|
|
22
|
+
name: string;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=reactionStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactionStore.d.ts","sourceRoot":"","sources":["../../src/stores/reactionStore.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;CASrB,CAAC;AAEX,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,aAAa,EAAE,aAE3B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,qBAAqB,KAAG,aAMjG,CAAC;AAEF,eAAO,MAAM,SAAS;mBARc,MAAM,QAAQ,OAAO,CAAC,aAAa,CAAC,4BAA0B,aAAa;;;CAY9G,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const REACTION_CONSTANTS = {
|
|
2
|
+
ADD_ITEM_ERROR: 'REACTION_ADD_ITEM_ERROR',
|
|
3
|
+
ADD_ITEM_SUCCESS: 'REACTION_ADD_ITEM_SUCCESS',
|
|
4
|
+
GET_COUNT_ERROR: 'REACTION_GET_COUNT_ERROR',
|
|
5
|
+
GET_COUNT_SUCCESS: 'REACTION_GET_COUNT_SUCCESS',
|
|
6
|
+
HAS_ERROR: 'REACTION_HAS_ERROR',
|
|
7
|
+
HAS_SUCCESS: 'REACTION_HAS_SUCCESS',
|
|
8
|
+
REMOVE_ITEM_ERROR: 'REACTION_REMOVE_ITEM_ERROR',
|
|
9
|
+
REMOVE_ITEM_SUCCESS: 'REACTION_REMOVE_ITEM_SUCCESS'
|
|
10
|
+
};
|
|
11
|
+
export const defaultValues = {
|
|
12
|
+
reactions: {}
|
|
13
|
+
};
|
|
14
|
+
export const reactionStore = (type, data, state = defaultValues)=>{
|
|
15
|
+
switch(type){
|
|
16
|
+
default:
|
|
17
|
+
{
|
|
18
|
+
return state;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
export const reactions = {
|
|
23
|
+
action: reactionStore,
|
|
24
|
+
initialState: defaultValues,
|
|
25
|
+
name: 'reaction'
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3JlYWN0aW9uU3RvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFJFQUNUSU9OX0NPTlNUQU5UUyA9IHtcbiAgQUREX0lURU1fRVJST1I6ICdSRUFDVElPTl9BRERfSVRFTV9FUlJPUicsXG4gIEFERF9JVEVNX1NVQ0NFU1M6ICdSRUFDVElPTl9BRERfSVRFTV9TVUNDRVNTJyxcbiAgR0VUX0NPVU5UX0VSUk9SOiAnUkVBQ1RJT05fR0VUX0NPVU5UX0VSUk9SJyxcbiAgR0VUX0NPVU5UX1NVQ0NFU1M6ICdSRUFDVElPTl9HRVRfQ09VTlRfU1VDQ0VTUycsXG4gIEhBU19FUlJPUjogJ1JFQUNUSU9OX0hBU19FUlJPUicsXG4gIEhBU19TVUNDRVNTOiAnUkVBQ1RJT05fSEFTX1NVQ0NFU1MnLFxuICBSRU1PVkVfSVRFTV9FUlJPUjogJ1JFQUNUSU9OX1JFTU9WRV9JVEVNX0VSUk9SJyxcbiAgUkVNT1ZFX0lURU1fU1VDQ0VTUzogJ1JFQUNUSU9OX1JFTU9WRV9JVEVNX1NVQ0NFU1MnXG59IGFzIGNvbnN0O1xuXG5pbnRlcmZhY2UgUmVhY3Rpb25TdGF0ZSB7XG4gIHJlYWN0aW9ucz86IFJlY29yZDxzdHJpbmcsIHtcbiAgICBjb3VudD86IG51bWJlcjtcbiAgICBoYXNSZWFjdGlvbj86IGJvb2xlYW47XG4gIH0+O1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdFZhbHVlczogUmVhY3Rpb25TdGF0ZSA9IHtcbiAgcmVhY3Rpb25zOiB7fVxufTtcblxuZXhwb3J0IGNvbnN0IHJlYWN0aW9uU3RvcmUgPSAodHlwZTogc3RyaW5nLCBkYXRhOiBQYXJ0aWFsPFJlYWN0aW9uU3RhdGU+LCBzdGF0ZSA9IGRlZmF1bHRWYWx1ZXMpOiBSZWFjdGlvblN0YXRlID0+IHtcbiAgc3dpdGNoKHR5cGUpIHtcbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcmVhY3Rpb25zID0ge1xuICBhY3Rpb246IHJlYWN0aW9uU3RvcmUsXG4gIGluaXRpYWxTdGF0ZTogZGVmYXVsdFZhbHVlcyxcbiAgbmFtZTogJ3JlYWN0aW9uJ1xufTsiXSwibmFtZXMiOlsiUkVBQ1RJT05fQ09OU1RBTlRTIiwiQUREX0lURU1fRVJST1IiLCJBRERfSVRFTV9TVUNDRVNTIiwiR0VUX0NPVU5UX0VSUk9SIiwiR0VUX0NPVU5UX1NVQ0NFU1MiLCJIQVNfRVJST1IiLCJIQVNfU1VDQ0VTUyIsIlJFTU9WRV9JVEVNX0VSUk9SIiwiUkVNT1ZFX0lURU1fU1VDQ0VTUyIsImRlZmF1bHRWYWx1ZXMiLCJyZWFjdGlvbnMiLCJyZWFjdGlvblN0b3JlIiwidHlwZSIsImRhdGEiLCJzdGF0ZSIsImFjdGlvbiIsImluaXRpYWxTdGF0ZSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTUEscUJBQXFCO0lBQ2hDQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsaUJBQWlCO0lBQ2pCQyxtQkFBbUI7SUFDbkJDLFdBQVc7SUFDWEMsYUFBYTtJQUNiQyxtQkFBbUI7SUFDbkJDLHFCQUFxQjtBQUN2QixFQUFXO0FBU1gsT0FBTyxNQUFNQyxnQkFBK0I7SUFDMUNDLFdBQVcsQ0FBQztBQUNkLEVBQUU7QUFFRixPQUFPLE1BQU1DLGdCQUFnQixDQUFDQyxNQUFjQyxNQUE4QkMsUUFBUUwsYUFBYTtJQUM3RixPQUFPRztRQUNMO1lBQVM7Z0JBQ1AsT0FBT0U7WUFDVDtJQUNGO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTUosWUFBWTtJQUN2QkssUUFBUUo7SUFDUkssY0FBY1A7SUFDZFEsTUFBTTtBQUNSLEVBQUUifQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/
|
|
5
|
+
import type { PaymentPlanType, PaymentSubscriptionType } from '../types/subscriptions.types.js';
|
|
6
|
+
export declare const SUBSCRIPTION_CONSTANTS: {
|
|
7
|
+
readonly ADD_PLAN_ERROR: "SUBSCRIPTION_ADD_PLAN_ERROR";
|
|
8
|
+
readonly ADD_PLAN_SUCCESS: "SUBSCRIPTION_ADD_PLAN_SUCCESS";
|
|
9
|
+
readonly ADD_SUBSCRIPTION_ERROR: "SUBSCRIPTION_ADD_SUBSCRIPTION_ERROR";
|
|
10
|
+
readonly ADD_SUBSCRIPTION_SUCCESS: "SUBSCRIPTION_ADD_SUBSCRIPTION_SUCCESS";
|
|
11
|
+
readonly DELETE_SUBSCRIPTION_ERROR: "SUBSCRIPTION_DELETE_SUBSCRIPTION_ERROR";
|
|
12
|
+
readonly DELETE_SUBSCRIPTION_SUCCESS: "SUBSCRIPTION_DELETE_SUBSCRIPTION_SUCCESS";
|
|
13
|
+
readonly GET_PLAN_ERROR: "SUBSCRIPTION_GET_PLAN_ERROR";
|
|
14
|
+
readonly GET_PLAN_SUCCESS: "SUBSCRIPTION_GET_PLAN_SUCCESS";
|
|
15
|
+
readonly GET_SUBSCRIPTION_ERROR: "SUBSCRIPTION_GET_SUBSCRIPTION_ERROR";
|
|
16
|
+
readonly GET_SUBSCRIPTION_LIST_ERROR: "SUBSCRIPTION_GET_SUBSCRIPTION_LIST_ERROR";
|
|
17
|
+
readonly GET_SUBSCRIPTION_LIST_SUCCESS: "SUBSCRIPTION_GET_SUBSCRIPTION_LIST_SUCCESS";
|
|
18
|
+
readonly GET_SUBSCRIPTION_SUCCESS: "SUBSCRIPTION_GET_SUBSCRIPTION_SUCCESS";
|
|
19
|
+
};
|
|
20
|
+
export interface SubscriptionState {
|
|
21
|
+
readonly error?: Error;
|
|
22
|
+
readonly plansByItem: Record<string, PaymentPlanType>;
|
|
23
|
+
readonly subscriptionList: PaymentSubscriptionType[];
|
|
24
|
+
readonly subscriptionsByItem: Record<string, PaymentSubscriptionType>;
|
|
25
|
+
}
|
|
26
|
+
export declare const initialSubscriptionState: SubscriptionState;
|
|
27
|
+
type SubscriptionStoreAction = {
|
|
28
|
+
readonly error?: Error;
|
|
29
|
+
readonly itemKey?: string;
|
|
30
|
+
readonly list?: PaymentSubscriptionType[];
|
|
31
|
+
readonly plan?: PaymentPlanType;
|
|
32
|
+
readonly subscription?: PaymentSubscriptionType;
|
|
33
|
+
};
|
|
34
|
+
export declare const subscriptionStore: (type: string, data: SubscriptionStoreAction, state?: SubscriptionState) => SubscriptionState;
|
|
35
|
+
export declare const subscriptions: {
|
|
36
|
+
action: (type: string, data: SubscriptionStoreAction, state?: SubscriptionState) => SubscriptionState;
|
|
37
|
+
initialState: SubscriptionState;
|
|
38
|
+
name: string;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=subscriptionStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriptionStore.d.ts","sourceRoot":"","sources":["../../src/stores/subscriptionStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAC,eAAe,EAAE,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AAE9F,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;CAazB,CAAC;AAEX,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IACrD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,wBAAwB,EAAE,iBAKtC,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,MAAM,uBAAuB,EAC7B,yBAAgC,KAC/B,iBA8CF,CAAC;AAEF,eAAO,MAAM,aAAa;mBAnDlB,MAAM,QACN,uBAAuB,gCAE5B,iBAAiB;;;CAoDnB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ export const SUBSCRIPTION_CONSTANTS = {
|
|
5
|
+
ADD_PLAN_ERROR: 'SUBSCRIPTION_ADD_PLAN_ERROR',
|
|
6
|
+
ADD_PLAN_SUCCESS: 'SUBSCRIPTION_ADD_PLAN_SUCCESS',
|
|
7
|
+
ADD_SUBSCRIPTION_ERROR: 'SUBSCRIPTION_ADD_SUBSCRIPTION_ERROR',
|
|
8
|
+
ADD_SUBSCRIPTION_SUCCESS: 'SUBSCRIPTION_ADD_SUBSCRIPTION_SUCCESS',
|
|
9
|
+
DELETE_SUBSCRIPTION_ERROR: 'SUBSCRIPTION_DELETE_SUBSCRIPTION_ERROR',
|
|
10
|
+
DELETE_SUBSCRIPTION_SUCCESS: 'SUBSCRIPTION_DELETE_SUBSCRIPTION_SUCCESS',
|
|
11
|
+
GET_PLAN_ERROR: 'SUBSCRIPTION_GET_PLAN_ERROR',
|
|
12
|
+
GET_PLAN_SUCCESS: 'SUBSCRIPTION_GET_PLAN_SUCCESS',
|
|
13
|
+
GET_SUBSCRIPTION_ERROR: 'SUBSCRIPTION_GET_SUBSCRIPTION_ERROR',
|
|
14
|
+
GET_SUBSCRIPTION_LIST_ERROR: 'SUBSCRIPTION_GET_SUBSCRIPTION_LIST_ERROR',
|
|
15
|
+
GET_SUBSCRIPTION_LIST_SUCCESS: 'SUBSCRIPTION_GET_SUBSCRIPTION_LIST_SUCCESS',
|
|
16
|
+
GET_SUBSCRIPTION_SUCCESS: 'SUBSCRIPTION_GET_SUBSCRIPTION_SUCCESS'
|
|
17
|
+
};
|
|
18
|
+
export const initialSubscriptionState = {
|
|
19
|
+
error: undefined,
|
|
20
|
+
plansByItem: {},
|
|
21
|
+
subscriptionList: [],
|
|
22
|
+
subscriptionsByItem: {}
|
|
23
|
+
};
|
|
24
|
+
export const subscriptionStore = (type, data, state = initialSubscriptionState)=>{
|
|
25
|
+
const { error, itemKey = '', plan, subscription } = data;
|
|
26
|
+
switch(type){
|
|
27
|
+
case SUBSCRIPTION_CONSTANTS.ADD_PLAN_SUCCESS:
|
|
28
|
+
case SUBSCRIPTION_CONSTANTS.GET_PLAN_SUCCESS:
|
|
29
|
+
return itemKey ? {
|
|
30
|
+
...state,
|
|
31
|
+
error: undefined,
|
|
32
|
+
plansByItem: {
|
|
33
|
+
...state.plansByItem,
|
|
34
|
+
[itemKey]: plan || {}
|
|
35
|
+
}
|
|
36
|
+
} : state;
|
|
37
|
+
case SUBSCRIPTION_CONSTANTS.ADD_SUBSCRIPTION_SUCCESS:
|
|
38
|
+
case SUBSCRIPTION_CONSTANTS.GET_SUBSCRIPTION_SUCCESS:
|
|
39
|
+
return itemKey ? {
|
|
40
|
+
...state,
|
|
41
|
+
error: undefined,
|
|
42
|
+
subscriptionsByItem: {
|
|
43
|
+
...state.subscriptionsByItem,
|
|
44
|
+
[itemKey]: subscription || {}
|
|
45
|
+
}
|
|
46
|
+
} : state;
|
|
47
|
+
case SUBSCRIPTION_CONSTANTS.GET_SUBSCRIPTION_LIST_SUCCESS:
|
|
48
|
+
return {
|
|
49
|
+
...state,
|
|
50
|
+
error: undefined,
|
|
51
|
+
subscriptionList: data.list || []
|
|
52
|
+
};
|
|
53
|
+
case SUBSCRIPTION_CONSTANTS.DELETE_SUBSCRIPTION_SUCCESS:
|
|
54
|
+
if (!itemKey) {
|
|
55
|
+
return state;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
...state,
|
|
59
|
+
error: undefined,
|
|
60
|
+
subscriptionsByItem: {
|
|
61
|
+
...state.subscriptionsByItem,
|
|
62
|
+
[itemKey]: {}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
case SUBSCRIPTION_CONSTANTS.ADD_PLAN_ERROR:
|
|
66
|
+
case SUBSCRIPTION_CONSTANTS.ADD_SUBSCRIPTION_ERROR:
|
|
67
|
+
case SUBSCRIPTION_CONSTANTS.DELETE_SUBSCRIPTION_ERROR:
|
|
68
|
+
case SUBSCRIPTION_CONSTANTS.GET_PLAN_ERROR:
|
|
69
|
+
case SUBSCRIPTION_CONSTANTS.GET_SUBSCRIPTION_ERROR:
|
|
70
|
+
case SUBSCRIPTION_CONSTANTS.GET_SUBSCRIPTION_LIST_ERROR:
|
|
71
|
+
return {
|
|
72
|
+
...state,
|
|
73
|
+
error
|
|
74
|
+
};
|
|
75
|
+
default:
|
|
76
|
+
return state;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
export const subscriptions = {
|
|
80
|
+
action: subscriptionStore,
|
|
81
|
+
initialState: initialSubscriptionState,
|
|
82
|
+
name: 'subscription'
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3N1YnNjcmlwdGlvblN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDI2LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgdHlwZSB7UGF5bWVudFBsYW5UeXBlLCBQYXltZW50U3Vic2NyaXB0aW9uVHlwZX0gZnJvbSAnLi4vdHlwZXMvc3Vic2NyaXB0aW9ucy50eXBlcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTID0ge1xuICBBRERfUExBTl9FUlJPUjogJ1NVQlNDUklQVElPTl9BRERfUExBTl9FUlJPUicsXG4gIEFERF9QTEFOX1NVQ0NFU1M6ICdTVUJTQ1JJUFRJT05fQUREX1BMQU5fU1VDQ0VTUycsXG4gIEFERF9TVUJTQ1JJUFRJT05fRVJST1I6ICdTVUJTQ1JJUFRJT05fQUREX1NVQlNDUklQVElPTl9FUlJPUicsXG4gIEFERF9TVUJTQ1JJUFRJT05fU1VDQ0VTUzogJ1NVQlNDUklQVElPTl9BRERfU1VCU0NSSVBUSU9OX1NVQ0NFU1MnLFxuICBERUxFVEVfU1VCU0NSSVBUSU9OX0VSUk9SOiAnU1VCU0NSSVBUSU9OX0RFTEVURV9TVUJTQ1JJUFRJT05fRVJST1InLFxuICBERUxFVEVfU1VCU0NSSVBUSU9OX1NVQ0NFU1M6ICdTVUJTQ1JJUFRJT05fREVMRVRFX1NVQlNDUklQVElPTl9TVUNDRVNTJyxcbiAgR0VUX1BMQU5fRVJST1I6ICdTVUJTQ1JJUFRJT05fR0VUX1BMQU5fRVJST1InLFxuICBHRVRfUExBTl9TVUNDRVNTOiAnU1VCU0NSSVBUSU9OX0dFVF9QTEFOX1NVQ0NFU1MnLFxuICBHRVRfU1VCU0NSSVBUSU9OX0VSUk9SOiAnU1VCU0NSSVBUSU9OX0dFVF9TVUJTQ1JJUFRJT05fRVJST1InLFxuICBHRVRfU1VCU0NSSVBUSU9OX0xJU1RfRVJST1I6ICdTVUJTQ1JJUFRJT05fR0VUX1NVQlNDUklQVElPTl9MSVNUX0VSUk9SJyxcbiAgR0VUX1NVQlNDUklQVElPTl9MSVNUX1NVQ0NFU1M6ICdTVUJTQ1JJUFRJT05fR0VUX1NVQlNDUklQVElPTl9MSVNUX1NVQ0NFU1MnLFxuICBHRVRfU1VCU0NSSVBUSU9OX1NVQ0NFU1M6ICdTVUJTQ1JJUFRJT05fR0VUX1NVQlNDUklQVElPTl9TVUNDRVNTJ1xufSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBTdWJzY3JpcHRpb25TdGF0ZSB7XG4gIHJlYWRvbmx5IGVycm9yPzogRXJyb3I7XG4gIHJlYWRvbmx5IHBsYW5zQnlJdGVtOiBSZWNvcmQ8c3RyaW5nLCBQYXltZW50UGxhblR5cGU+O1xuICByZWFkb25seSBzdWJzY3JpcHRpb25MaXN0OiBQYXltZW50U3Vic2NyaXB0aW9uVHlwZVtdO1xuICByZWFkb25seSBzdWJzY3JpcHRpb25zQnlJdGVtOiBSZWNvcmQ8c3RyaW5nLCBQYXltZW50U3Vic2NyaXB0aW9uVHlwZT47XG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsU3Vic2NyaXB0aW9uU3RhdGU6IFN1YnNjcmlwdGlvblN0YXRlID0ge1xuICBlcnJvcjogdW5kZWZpbmVkLFxuICBwbGFuc0J5SXRlbToge30sXG4gIHN1YnNjcmlwdGlvbkxpc3Q6IFtdLFxuICBzdWJzY3JpcHRpb25zQnlJdGVtOiB7fVxufTtcblxudHlwZSBTdWJzY3JpcHRpb25TdG9yZUFjdGlvbiA9IHtcbiAgcmVhZG9ubHkgZXJyb3I/OiBFcnJvcjtcbiAgcmVhZG9ubHkgaXRlbUtleT86IHN0cmluZztcbiAgcmVhZG9ubHkgbGlzdD86IFBheW1lbnRTdWJzY3JpcHRpb25UeXBlW107XG4gIHJlYWRvbmx5IHBsYW4/OiBQYXltZW50UGxhblR5cGU7XG4gIHJlYWRvbmx5IHN1YnNjcmlwdGlvbj86IFBheW1lbnRTdWJzY3JpcHRpb25UeXBlO1xufTtcblxuZXhwb3J0IGNvbnN0IHN1YnNjcmlwdGlvblN0b3JlID0gKFxuICB0eXBlOiBzdHJpbmcsXG4gIGRhdGE6IFN1YnNjcmlwdGlvblN0b3JlQWN0aW9uLFxuICBzdGF0ZSA9IGluaXRpYWxTdWJzY3JpcHRpb25TdGF0ZVxuKTogU3Vic2NyaXB0aW9uU3RhdGUgPT4ge1xuICBjb25zdCB7XG4gICAgZXJyb3IsXG4gICAgaXRlbUtleSA9ICcnLFxuICAgIHBsYW4sXG4gICAgc3Vic2NyaXB0aW9uXG4gIH0gPSBkYXRhO1xuXG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkFERF9QTEFOX1NVQ0NFU1M6XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkdFVF9QTEFOX1NVQ0NFU1M6XG4gICAgICByZXR1cm4gaXRlbUtleVxuICAgICAgICA/IHsuLi5zdGF0ZSwgZXJyb3I6IHVuZGVmaW5lZCwgcGxhbnNCeUl0ZW06IHsuLi5zdGF0ZS5wbGFuc0J5SXRlbSwgW2l0ZW1LZXldOiBwbGFuIHx8IHt9fX1cbiAgICAgICAgOiBzdGF0ZTtcblxuICAgIGNhc2UgU1VCU0NSSVBUSU9OX0NPTlNUQU5UUy5BRERfU1VCU0NSSVBUSU9OX1NVQ0NFU1M6XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkdFVF9TVUJTQ1JJUFRJT05fU1VDQ0VTUzpcbiAgICAgIHJldHVybiBpdGVtS2V5XG4gICAgICAgID8gey4uLnN0YXRlLCBlcnJvcjogdW5kZWZpbmVkLCBzdWJzY3JpcHRpb25zQnlJdGVtOiB7Li4uc3RhdGUuc3Vic2NyaXB0aW9uc0J5SXRlbSwgW2l0ZW1LZXldOiBzdWJzY3JpcHRpb24gfHwge319fVxuICAgICAgICA6IHN0YXRlO1xuXG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkdFVF9TVUJTQ1JJUFRJT05fTElTVF9TVUNDRVNTOlxuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgZXJyb3I6IHVuZGVmaW5lZCwgc3Vic2NyaXB0aW9uTGlzdDogZGF0YS5saXN0IHx8IFtdfTtcblxuICAgIGNhc2UgU1VCU0NSSVBUSU9OX0NPTlNUQU5UUy5ERUxFVEVfU1VCU0NSSVBUSU9OX1NVQ0NFU1M6XG4gICAgICBpZighaXRlbUtleSkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBlcnJvcjogdW5kZWZpbmVkLFxuICAgICAgICBzdWJzY3JpcHRpb25zQnlJdGVtOiB7Li4uc3RhdGUuc3Vic2NyaXB0aW9uc0J5SXRlbSwgW2l0ZW1LZXldOiB7fX1cbiAgICAgIH07XG5cbiAgICBjYXNlIFNVQlNDUklQVElPTl9DT05TVEFOVFMuQUREX1BMQU5fRVJST1I6XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkFERF9TVUJTQ1JJUFRJT05fRVJST1I6XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkRFTEVURV9TVUJTQ1JJUFRJT05fRVJST1I6XG4gICAgY2FzZSBTVUJTQ1JJUFRJT05fQ09OU1RBTlRTLkdFVF9QTEFOX0VSUk9SOlxuICAgIGNhc2UgU1VCU0NSSVBUSU9OX0NPTlNUQU5UUy5HRVRfU1VCU0NSSVBUSU9OX0VSUk9SOlxuICAgIGNhc2UgU1VCU0NSSVBUSU9OX0NPTlNUQU5UUy5HRVRfU1VCU0NSSVBUSU9OX0xJU1RfRVJST1I6XG4gICAgICByZXR1cm4gey4uLnN0YXRlLCBlcnJvcn07XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHN0YXRlO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IHtcbiAgYWN0aW9uOiBzdWJzY3JpcHRpb25TdG9yZSxcbiAgaW5pdGlhbFN0YXRlOiBpbml0aWFsU3Vic2NyaXB0aW9uU3RhdGUsXG4gIG5hbWU6ICdzdWJzY3JpcHRpb24nXG59O1xuIl0sIm5hbWVzIjpbIlNVQlNDUklQVElPTl9DT05TVEFOVFMiLCJBRERfUExBTl9FUlJPUiIsIkFERF9QTEFOX1NVQ0NFU1MiLCJBRERfU1VCU0NSSVBUSU9OX0VSUk9SIiwiQUREX1NVQlNDUklQVElPTl9TVUNDRVNTIiwiREVMRVRFX1NVQlNDUklQVElPTl9FUlJPUiIsIkRFTEVURV9TVUJTQ1JJUFRJT05fU1VDQ0VTUyIsIkdFVF9QTEFOX0VSUk9SIiwiR0VUX1BMQU5fU1VDQ0VTUyIsIkdFVF9TVUJTQ1JJUFRJT05fRVJST1IiLCJHRVRfU1VCU0NSSVBUSU9OX0xJU1RfRVJST1IiLCJHRVRfU1VCU0NSSVBUSU9OX0xJU1RfU1VDQ0VTUyIsIkdFVF9TVUJTQ1JJUFRJT05fU1VDQ0VTUyIsImluaXRpYWxTdWJzY3JpcHRpb25TdGF0ZSIsImVycm9yIiwidW5kZWZpbmVkIiwicGxhbnNCeUl0ZW0iLCJzdWJzY3JpcHRpb25MaXN0Iiwic3Vic2NyaXB0aW9uc0J5SXRlbSIsInN1YnNjcmlwdGlvblN0b3JlIiwidHlwZSIsImRhdGEiLCJzdGF0ZSIsIml0ZW1LZXkiLCJwbGFuIiwic3Vic2NyaXB0aW9uIiwibGlzdCIsInN1YnNjcmlwdGlvbnMiLCJhY3Rpb24iLCJpbml0aWFsU3RhdGUiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FHRCxPQUFPLE1BQU1BLHlCQUF5QjtJQUNwQ0MsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLHdCQUF3QjtJQUN4QkMsMEJBQTBCO0lBQzFCQywyQkFBMkI7SUFDM0JDLDZCQUE2QjtJQUM3QkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLHdCQUF3QjtJQUN4QkMsNkJBQTZCO0lBQzdCQywrQkFBK0I7SUFDL0JDLDBCQUEwQjtBQUM1QixFQUFXO0FBU1gsT0FBTyxNQUFNQywyQkFBOEM7SUFDekRDLE9BQU9DO0lBQ1BDLGFBQWEsQ0FBQztJQUNkQyxrQkFBa0IsRUFBRTtJQUNwQkMscUJBQXFCLENBQUM7QUFDeEIsRUFBRTtBQVVGLE9BQU8sTUFBTUMsb0JBQW9CLENBQy9CQyxNQUNBQyxNQUNBQyxRQUFRVCx3QkFBd0I7SUFFaEMsTUFBTSxFQUNKQyxLQUFLLEVBQ0xTLFVBQVUsRUFBRSxFQUNaQyxJQUFJLEVBQ0pDLFlBQVksRUFDYixHQUFHSjtJQUVKLE9BQU9EO1FBQ0wsS0FBS3BCLHVCQUF1QkUsZ0JBQWdCO1FBQzVDLEtBQUtGLHVCQUF1QlEsZ0JBQWdCO1lBQzFDLE9BQU9lLFVBQ0g7Z0JBQUMsR0FBR0QsS0FBSztnQkFBRVIsT0FBT0M7Z0JBQVdDLGFBQWE7b0JBQUMsR0FBR00sTUFBTU4sV0FBVztvQkFBRSxDQUFDTyxRQUFRLEVBQUVDLFFBQVEsQ0FBQztnQkFBQztZQUFDLElBQ3ZGRjtRQUVOLEtBQUt0Qix1QkFBdUJJLHdCQUF3QjtRQUNwRCxLQUFLSix1QkFBdUJZLHdCQUF3QjtZQUNsRCxPQUFPVyxVQUNIO2dCQUFDLEdBQUdELEtBQUs7Z0JBQUVSLE9BQU9DO2dCQUFXRyxxQkFBcUI7b0JBQUMsR0FBR0ksTUFBTUosbUJBQW1CO29CQUFFLENBQUNLLFFBQVEsRUFBRUUsZ0JBQWdCLENBQUM7Z0JBQUM7WUFBQyxJQUMvR0g7UUFFTixLQUFLdEIsdUJBQXVCVyw2QkFBNkI7WUFDdkQsT0FBTztnQkFBQyxHQUFHVyxLQUFLO2dCQUFFUixPQUFPQztnQkFBV0Usa0JBQWtCSSxLQUFLSyxJQUFJLElBQUksRUFBRTtZQUFBO1FBRXZFLEtBQUsxQix1QkFBdUJNLDJCQUEyQjtZQUNyRCxJQUFHLENBQUNpQixTQUFTO2dCQUNYLE9BQU9EO1lBQ1Q7WUFFQSxPQUFPO2dCQUNMLEdBQUdBLEtBQUs7Z0JBQ1JSLE9BQU9DO2dCQUNQRyxxQkFBcUI7b0JBQUMsR0FBR0ksTUFBTUosbUJBQW1CO29CQUFFLENBQUNLLFFBQVEsRUFBRSxDQUFDO2dCQUFDO1lBQ25FO1FBRUYsS0FBS3ZCLHVCQUF1QkMsY0FBYztRQUMxQyxLQUFLRCx1QkFBdUJHLHNCQUFzQjtRQUNsRCxLQUFLSCx1QkFBdUJLLHlCQUF5QjtRQUNyRCxLQUFLTCx1QkFBdUJPLGNBQWM7UUFDMUMsS0FBS1AsdUJBQXVCUyxzQkFBc0I7UUFDbEQsS0FBS1QsdUJBQXVCVSwyQkFBMkI7WUFDckQsT0FBTztnQkFBQyxHQUFHWSxLQUFLO2dCQUFFUjtZQUFLO1FBRXpCO1lBQ0UsT0FBT1E7SUFDWDtBQUNGLEVBQUU7QUFFRixPQUFPLE1BQU1LLGdCQUFnQjtJQUMzQkMsUUFBUVQ7SUFDUlUsY0FBY2hCO0lBQ2RpQixNQUFNO0FBQ1IsRUFBRSJ9
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { TagType } from '../adapters/tagAdapter/tagAdapter.js';
|
|
2
|
+
export declare const TAG_CONSTANTS: {
|
|
3
|
+
readonly ADD_LINK_SUCCESS: "TAG_ADD_LINK_SUCCESS";
|
|
4
|
+
readonly ADD_ITEM_ERROR: "TAG_ADD_ITEM_ERROR";
|
|
5
|
+
readonly ADD_ITEM_SUCCESS: "TAG_ADD_ITEM_SUCCESS";
|
|
6
|
+
readonly ADD_PERSONA_ERROR: "TAG_ADD_PERSONA_ERROR";
|
|
7
|
+
readonly ADD_PERSONA_SUCCESS: "TAG_ADD_PERSONA_SUCCESS";
|
|
8
|
+
readonly GET_LIST_ERROR: "TAG_GET_LIST_ERROR";
|
|
9
|
+
readonly GET_LIST_SUCCESS: "TAG_GET_LIST_SUCCESS";
|
|
10
|
+
readonly REMOVE_LINK_SUCCESS: "TAG_REMOVE_LINK_SUCCESS";
|
|
11
|
+
readonly REMOVE_ITEM_ERROR: "TAG_REMOVE_ITEM_ERROR";
|
|
12
|
+
readonly REMOVE_ITEM_SUCCESS: "TAG_REMOVE_ITEM_SUCCESS";
|
|
13
|
+
readonly REMOVE_PERSONA_ERROR: "TAG_REMOVE_PERSONA_ERROR";
|
|
14
|
+
readonly REMOVE_PERSONA_SUCCESS: "TAG_REMOVE_PERSONA_SUCCESS";
|
|
15
|
+
readonly UPDATE_ITEM_ERROR: "TAG_UPDATE_ITEM_ERROR";
|
|
16
|
+
readonly UPDATE_ITEM_SUCCESS: "TAG_UPDATE_ITEM_SUCCESS";
|
|
17
|
+
};
|
|
18
|
+
interface TagState {
|
|
19
|
+
expires: number;
|
|
20
|
+
list: TagType[];
|
|
21
|
+
}
|
|
22
|
+
export declare const defaultValues: TagState;
|
|
23
|
+
export declare const tagStore: (type: string, data: {
|
|
24
|
+
tags?: TagState["list"];
|
|
25
|
+
}, state?: TagState) => TagState;
|
|
26
|
+
export declare const tags: {
|
|
27
|
+
action: (type: string, data: {
|
|
28
|
+
tags?: TagState["list"];
|
|
29
|
+
}, state?: TagState) => TagState;
|
|
30
|
+
initialState: TagState;
|
|
31
|
+
name: string;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=tagStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagStore.d.ts","sourceRoot":"","sources":["../../src/stores/tagStore.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAEpE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAehB,CAAC;AAEX,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,QAG3B,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,EAAE,MAAM;IAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;CAAC,EAAE,gBAAqB,KAAG,QA6C/F,CAAC;AAEF,eAAO,MAAM,IAAI;mBA/Cc,MAAM,QAAQ;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;KAAC,uBAA0B,QAAQ;;;CAmDvG,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2021-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ import { DateTime } from 'luxon';
|
|
5
|
+
export const TAG_CONSTANTS = {
|
|
6
|
+
ADD_LINK_SUCCESS: 'TAG_ADD_LINK_SUCCESS',
|
|
7
|
+
ADD_ITEM_ERROR: 'TAG_ADD_ITEM_ERROR',
|
|
8
|
+
ADD_ITEM_SUCCESS: 'TAG_ADD_ITEM_SUCCESS',
|
|
9
|
+
ADD_PERSONA_ERROR: 'TAG_ADD_PERSONA_ERROR',
|
|
10
|
+
ADD_PERSONA_SUCCESS: 'TAG_ADD_PERSONA_SUCCESS',
|
|
11
|
+
GET_LIST_ERROR: 'TAG_GET_LIST_ERROR',
|
|
12
|
+
GET_LIST_SUCCESS: 'TAG_GET_LIST_SUCCESS',
|
|
13
|
+
REMOVE_LINK_SUCCESS: 'TAG_REMOVE_LINK_SUCCESS',
|
|
14
|
+
REMOVE_ITEM_ERROR: 'TAG_REMOVE_ITEM_ERROR',
|
|
15
|
+
REMOVE_ITEM_SUCCESS: 'TAG_REMOVE_ITEM_SUCCESS',
|
|
16
|
+
REMOVE_PERSONA_ERROR: 'TAG_REMOVE_PERSONA_ERROR',
|
|
17
|
+
REMOVE_PERSONA_SUCCESS: 'TAG_REMOVE_PERSONA_SUCCESS',
|
|
18
|
+
UPDATE_ITEM_ERROR: 'TAG_UPDATE_ITEM_ERROR',
|
|
19
|
+
UPDATE_ITEM_SUCCESS: 'TAG_UPDATE_ITEM_SUCCESS'
|
|
20
|
+
};
|
|
21
|
+
export const defaultValues = {
|
|
22
|
+
expires: Date.now(),
|
|
23
|
+
list: []
|
|
24
|
+
};
|
|
25
|
+
export const tagStore = (type, data, state = defaultValues)=>{
|
|
26
|
+
switch(type){
|
|
27
|
+
case TAG_CONSTANTS.ADD_ITEM_SUCCESS:
|
|
28
|
+
case TAG_CONSTANTS.UPDATE_ITEM_SUCCESS:
|
|
29
|
+
{
|
|
30
|
+
const { tag } = data;
|
|
31
|
+
const tagId = String(tag?.tagId || '').trim();
|
|
32
|
+
if (!tagId) {
|
|
33
|
+
return state;
|
|
34
|
+
}
|
|
35
|
+
const list = state.list.some((item)=>String(item?.tagId || '').trim() === tagId) ? state.list.map((item)=>String(item?.tagId || '').trim() === tagId ? {
|
|
36
|
+
...item,
|
|
37
|
+
...tag
|
|
38
|
+
} : item) : [
|
|
39
|
+
...state.list,
|
|
40
|
+
tag
|
|
41
|
+
];
|
|
42
|
+
return {
|
|
43
|
+
...state,
|
|
44
|
+
list: [
|
|
45
|
+
...list
|
|
46
|
+
].sort((left, right)=>String(left?.name || '').localeCompare(String(right?.name || '')))
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
case TAG_CONSTANTS.GET_LIST_SUCCESS:
|
|
50
|
+
{
|
|
51
|
+
const { tags = [] } = data;
|
|
52
|
+
const expires = DateTime.local().plus({
|
|
53
|
+
hours: 24
|
|
54
|
+
}).toMillis();
|
|
55
|
+
return {
|
|
56
|
+
...state,
|
|
57
|
+
expires,
|
|
58
|
+
list: [
|
|
59
|
+
...tags
|
|
60
|
+
]
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
case TAG_CONSTANTS.REMOVE_ITEM_SUCCESS:
|
|
64
|
+
{
|
|
65
|
+
const { tag } = data;
|
|
66
|
+
const tagId = String(tag?.tagId || '').trim();
|
|
67
|
+
if (!tagId) {
|
|
68
|
+
return state;
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
...state,
|
|
72
|
+
list: state.list.filter((item)=>String(item?.tagId || '').trim() !== tagId)
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
default:
|
|
76
|
+
{
|
|
77
|
+
return state;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
export const tags = {
|
|
82
|
+
action: tagStore,
|
|
83
|
+
initialState: defaultValues,
|
|
84
|
+
name: 'tag'
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3RhZ1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIxLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gJ2x1eG9uJztcblxuaW1wb3J0IHR5cGUgeyBUYWdUeXBlIH0gZnJvbSAnLi4vYWRhcHRlcnMvdGFnQWRhcHRlci90YWdBZGFwdGVyLmpzJztcblxuZXhwb3J0IGNvbnN0IFRBR19DT05TVEFOVFMgPSB7XG4gIEFERF9MSU5LX1NVQ0NFU1M6ICdUQUdfQUREX0xJTktfU1VDQ0VTUycsXG4gIEFERF9JVEVNX0VSUk9SOiAnVEFHX0FERF9JVEVNX0VSUk9SJyxcbiAgQUREX0lURU1fU1VDQ0VTUzogJ1RBR19BRERfSVRFTV9TVUNDRVNTJyxcbiAgQUREX1BFUlNPTkFfRVJST1I6ICdUQUdfQUREX1BFUlNPTkFfRVJST1InLFxuICBBRERfUEVSU09OQV9TVUNDRVNTOiAnVEFHX0FERF9QRVJTT05BX1NVQ0NFU1MnLFxuICBHRVRfTElTVF9FUlJPUjogJ1RBR19HRVRfTElTVF9FUlJPUicsXG4gIEdFVF9MSVNUX1NVQ0NFU1M6ICdUQUdfR0VUX0xJU1RfU1VDQ0VTUycsXG4gIFJFTU9WRV9MSU5LX1NVQ0NFU1M6ICdUQUdfUkVNT1ZFX0xJTktfU1VDQ0VTUycsXG4gIFJFTU9WRV9JVEVNX0VSUk9SOiAnVEFHX1JFTU9WRV9JVEVNX0VSUk9SJyxcbiAgUkVNT1ZFX0lURU1fU1VDQ0VTUzogJ1RBR19SRU1PVkVfSVRFTV9TVUNDRVNTJyxcbiAgUkVNT1ZFX1BFUlNPTkFfRVJST1I6ICdUQUdfUkVNT1ZFX1BFUlNPTkFfRVJST1InLFxuICBSRU1PVkVfUEVSU09OQV9TVUNDRVNTOiAnVEFHX1JFTU9WRV9QRVJTT05BX1NVQ0NFU1MnLFxuICBVUERBVEVfSVRFTV9FUlJPUjogJ1RBR19VUERBVEVfSVRFTV9FUlJPUicsXG4gIFVQREFURV9JVEVNX1NVQ0NFU1M6ICdUQUdfVVBEQVRFX0lURU1fU1VDQ0VTUydcbn0gYXMgY29uc3Q7XG5cbmludGVyZmFjZSBUYWdTdGF0ZSB7XG4gIGV4cGlyZXM6IG51bWJlcjtcbiAgbGlzdDogVGFnVHlwZVtdO1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdFZhbHVlczogVGFnU3RhdGUgPSB7XG4gIGV4cGlyZXM6IERhdGUubm93KCksXG4gIGxpc3Q6IFtdXG59O1xuXG5leHBvcnQgY29uc3QgdGFnU3RvcmUgPSAodHlwZTogc3RyaW5nLCBkYXRhOiB7dGFncz86IFRhZ1N0YXRlWydsaXN0J119LCBzdGF0ZSA9IGRlZmF1bHRWYWx1ZXMpOiBUYWdTdGF0ZSA9PiB7XG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSBUQUdfQ09OU1RBTlRTLkFERF9JVEVNX1NVQ0NFU1M6XG4gICAgY2FzZSBUQUdfQ09OU1RBTlRTLlVQREFURV9JVEVNX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHt0YWd9ID0gZGF0YSBhcyB7dGFnPzogVGFnVHlwZX07XG4gICAgICBjb25zdCB0YWdJZCA9IFN0cmluZyh0YWc/LnRhZ0lkIHx8ICcnKS50cmltKCk7XG5cbiAgICAgIGlmKCF0YWdJZCkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxpc3QgPSBzdGF0ZS5saXN0LnNvbWUoKGl0ZW0pID0+IFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpID09PSB0YWdJZClcbiAgICAgICAgPyBzdGF0ZS5saXN0Lm1hcCgoaXRlbSkgPT4gKFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpID09PSB0YWdJZCA/IHsuLi5pdGVtLCAuLi50YWd9IDogaXRlbSkpXG4gICAgICAgIDogWy4uLnN0YXRlLmxpc3QsIHRhZyBhcyBUYWdUeXBlXTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxpc3Q6IFsuLi5saXN0XS5zb3J0KChsZWZ0LCByaWdodCkgPT4gU3RyaW5nKGxlZnQ/Lm5hbWUgfHwgJycpLmxvY2FsZUNvbXBhcmUoU3RyaW5nKHJpZ2h0Py5uYW1lIHx8ICcnKSkpXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgVEFHX0NPTlNUQU5UUy5HRVRfTElTVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dGFncyA9IFtdfSA9IGRhdGE7XG4gICAgICBjb25zdCBleHBpcmVzOiBudW1iZXIgPSBEYXRlVGltZS5sb2NhbCgpLnBsdXMoe2hvdXJzOiAyNH0pLnRvTWlsbGlzKCk7XG4gICAgICByZXR1cm4gey4uLnN0YXRlLCBleHBpcmVzLCBsaXN0OiBbLi4udGFnc119O1xuICAgIH1cblxuICAgIGNhc2UgVEFHX0NPTlNUQU5UUy5SRU1PVkVfSVRFTV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dGFnfSA9IGRhdGEgYXMge3RhZz86IFRhZ1R5cGV9O1xuICAgICAgY29uc3QgdGFnSWQgPSBTdHJpbmcodGFnPy50YWdJZCB8fCAnJykudHJpbSgpO1xuXG4gICAgICBpZighdGFnSWQpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbGlzdDogc3RhdGUubGlzdC5maWx0ZXIoKGl0ZW0pID0+IFN0cmluZyhpdGVtPy50YWdJZCB8fCAnJykudHJpbSgpICE9PSB0YWdJZClcbiAgICAgIH07XG4gICAgfVxuXG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRhZ3MgPSB7XG4gIGFjdGlvbjogdGFnU3RvcmUsXG4gIGluaXRpYWxTdGF0ZTogZGVmYXVsdFZhbHVlcyxcbiAgbmFtZTogJ3RhZydcbn07XG4iXSwibmFtZXMiOlsiRGF0ZVRpbWUiLCJUQUdfQ09OU1RBTlRTIiwiQUREX0xJTktfU1VDQ0VTUyIsIkFERF9JVEVNX0VSUk9SIiwiQUREX0lURU1fU1VDQ0VTUyIsIkFERF9QRVJTT05BX0VSUk9SIiwiQUREX1BFUlNPTkFfU1VDQ0VTUyIsIkdFVF9MSVNUX0VSUk9SIiwiR0VUX0xJU1RfU1VDQ0VTUyIsIlJFTU9WRV9MSU5LX1NVQ0NFU1MiLCJSRU1PVkVfSVRFTV9FUlJPUiIsIlJFTU9WRV9JVEVNX1NVQ0NFU1MiLCJSRU1PVkVfUEVSU09OQV9FUlJPUiIsIlJFTU9WRV9QRVJTT05BX1NVQ0NFU1MiLCJVUERBVEVfSVRFTV9FUlJPUiIsIlVQREFURV9JVEVNX1NVQ0NFU1MiLCJkZWZhdWx0VmFsdWVzIiwiZXhwaXJlcyIsIkRhdGUiLCJub3ciLCJsaXN0IiwidGFnU3RvcmUiLCJ0eXBlIiwiZGF0YSIsInN0YXRlIiwidGFnIiwidGFnSWQiLCJTdHJpbmciLCJ0cmltIiwic29tZSIsIml0ZW0iLCJtYXAiLCJzb3J0IiwibGVmdCIsInJpZ2h0IiwibmFtZSIsImxvY2FsZUNvbXBhcmUiLCJ0YWdzIiwibG9jYWwiLCJwbHVzIiwiaG91cnMiLCJ0b01pbGxpcyIsImZpbHRlciIsImFjdGlvbiIsImluaXRpYWxTdGF0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBU0EsUUFBUSxRQUFRLFFBQVE7QUFJakMsT0FBTyxNQUFNQyxnQkFBZ0I7SUFDM0JDLGtCQUFrQjtJQUNsQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0lBQ3JCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMscUJBQXFCO0lBQ3JCQyxtQkFBbUI7SUFDbkJDLHFCQUFxQjtJQUNyQkMsc0JBQXNCO0lBQ3RCQyx3QkFBd0I7SUFDeEJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0FBQ3ZCLEVBQVc7QUFPWCxPQUFPLE1BQU1DLGdCQUEwQjtJQUNyQ0MsU0FBU0MsS0FBS0MsR0FBRztJQUNqQkMsTUFBTSxFQUFFO0FBQ1YsRUFBRTtBQUVGLE9BQU8sTUFBTUMsV0FBVyxDQUFDQyxNQUFjQyxNQUFpQ0MsUUFBUVIsYUFBYTtJQUMzRixPQUFPTTtRQUNMLEtBQUtyQixjQUFjRyxnQkFBZ0I7UUFDbkMsS0FBS0gsY0FBY2MsbUJBQW1CO1lBQUU7Z0JBQ3RDLE1BQU0sRUFBQ1UsR0FBRyxFQUFDLEdBQUdGO2dCQUNkLE1BQU1HLFFBQVFDLE9BQU9GLEtBQUtDLFNBQVMsSUFBSUUsSUFBSTtnQkFFM0MsSUFBRyxDQUFDRixPQUFPO29CQUNULE9BQU9GO2dCQUNUO2dCQUVBLE1BQU1KLE9BQU9JLE1BQU1KLElBQUksQ0FBQ1MsSUFBSSxDQUFDLENBQUNDLE9BQVNILE9BQU9HLE1BQU1KLFNBQVMsSUFBSUUsSUFBSSxPQUFPRixTQUN4RUYsTUFBTUosSUFBSSxDQUFDVyxHQUFHLENBQUMsQ0FBQ0QsT0FBVUgsT0FBT0csTUFBTUosU0FBUyxJQUFJRSxJQUFJLE9BQU9GLFFBQVE7d0JBQUMsR0FBR0ksSUFBSTt3QkFBRSxHQUFHTCxHQUFHO29CQUFBLElBQUlLLFFBQzNGO3VCQUFJTixNQUFNSixJQUFJO29CQUFFSztpQkFBZTtnQkFFbkMsT0FBTztvQkFDTCxHQUFHRCxLQUFLO29CQUNSSixNQUFNOzJCQUFJQTtxQkFBSyxDQUFDWSxJQUFJLENBQUMsQ0FBQ0MsTUFBTUMsUUFBVVAsT0FBT00sTUFBTUUsUUFBUSxJQUFJQyxhQUFhLENBQUNULE9BQU9PLE9BQU9DLFFBQVE7Z0JBQ3JHO1lBQ0Y7UUFFQSxLQUFLbEMsY0FBY08sZ0JBQWdCO1lBQUU7Z0JBQ25DLE1BQU0sRUFBQzZCLE9BQU8sRUFBRSxFQUFDLEdBQUdkO2dCQUNwQixNQUFNTixVQUFrQmpCLFNBQVNzQyxLQUFLLEdBQUdDLElBQUksQ0FBQztvQkFBQ0MsT0FBTztnQkFBRSxHQUFHQyxRQUFRO2dCQUNuRSxPQUFPO29CQUFDLEdBQUdqQixLQUFLO29CQUFFUDtvQkFBU0csTUFBTTsyQkFBSWlCO3FCQUFLO2dCQUFBO1lBQzVDO1FBRUEsS0FBS3BDLGNBQWNVLG1CQUFtQjtZQUFFO2dCQUN0QyxNQUFNLEVBQUNjLEdBQUcsRUFBQyxHQUFHRjtnQkFDZCxNQUFNRyxRQUFRQyxPQUFPRixLQUFLQyxTQUFTLElBQUlFLElBQUk7Z0JBRTNDLElBQUcsQ0FBQ0YsT0FBTztvQkFDVCxPQUFPRjtnQkFDVDtnQkFFQSxPQUFPO29CQUNMLEdBQUdBLEtBQUs7b0JBQ1JKLE1BQU1JLE1BQU1KLElBQUksQ0FBQ3NCLE1BQU0sQ0FBQyxDQUFDWixPQUFTSCxPQUFPRyxNQUFNSixTQUFTLElBQUlFLElBQUksT0FBT0Y7Z0JBQ3pFO1lBQ0Y7UUFFQTtZQUFTO2dCQUNQLE9BQU9GO1lBQ1Q7SUFDRjtBQUNGLEVBQUU7QUFFRixPQUFPLE1BQU1hLE9BQU87SUFDbEJNLFFBQVF0QjtJQUNSdUIsY0FBYzVCO0lBQ2RtQixNQUFNO0FBQ1IsRUFBRSJ9
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/
|
|
5
|
+
export interface TranslationType {
|
|
6
|
+
readonly key: string;
|
|
7
|
+
readonly locale: string;
|
|
8
|
+
readonly value: string;
|
|
9
|
+
readonly namespace?: string;
|
|
10
|
+
readonly timestamp?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface TranslationState {
|
|
13
|
+
readonly error?: Error;
|
|
14
|
+
readonly translations: Record<string, TranslationType>;
|
|
15
|
+
readonly pendingKeys: Set<string>;
|
|
16
|
+
readonly isQueueing: boolean;
|
|
17
|
+
readonly lastSync: number;
|
|
18
|
+
}
|
|
19
|
+
export declare const TRANSLATION_CONSTANTS: {
|
|
20
|
+
readonly ADD_TRANSLATIONS_SUCCESS: "TRANSLATION_ADD_TRANSLATIONS_SUCCESS";
|
|
21
|
+
readonly ADD_TRANSLATIONS_ERROR: "TRANSLATION_ADD_TRANSLATIONS_ERROR";
|
|
22
|
+
readonly GET_TRANSLATIONS_SUCCESS: "TRANSLATION_GET_TRANSLATIONS_SUCCESS";
|
|
23
|
+
readonly GET_TRANSLATIONS_ERROR: "TRANSLATION_GET_TRANSLATIONS_ERROR";
|
|
24
|
+
readonly QUEUE_TRANSLATION_KEY: "TRANSLATION_QUEUE_TRANSLATION_KEY";
|
|
25
|
+
readonly CLEAR_PENDING_KEYS: "TRANSLATION_CLEAR_PENDING_KEYS";
|
|
26
|
+
readonly SET_QUEUEING_STATE: "TRANSLATION_SET_QUEUEING_STATE";
|
|
27
|
+
};
|
|
28
|
+
export type TranslationConstantsType = typeof TRANSLATION_CONSTANTS[keyof typeof TRANSLATION_CONSTANTS];
|
|
29
|
+
interface TranslationData {
|
|
30
|
+
readonly error?: Error;
|
|
31
|
+
readonly translations?: TranslationType[];
|
|
32
|
+
readonly key?: string;
|
|
33
|
+
readonly isQueueing?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare const translationStore: (type: string, data: TranslationData, state?: TranslationState) => TranslationState;
|
|
36
|
+
export declare const translations: {
|
|
37
|
+
action: (type: string, data: TranslationData, state?: TranslationState) => TranslationState;
|
|
38
|
+
initialState: TranslationState;
|
|
39
|
+
name: string;
|
|
40
|
+
};
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=translationStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translationStore.d.ts","sourceRoot":"","sources":["../../src/stores/translationStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,qBAAqB;;;;;;;;CAQxB,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,OAAO,qBAAqB,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AASxG,UAAU,eAAe;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAMD,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,MAAM,eAAe,EAAE,wBAAqB,KAAG,gBA4F7F,CAAC;AAEF,eAAO,MAAM,YAAY;mBA9Fc,MAAM,QAAQ,eAAe,+BAA0B,gBAAgB;;;CAkG7G,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ export const TRANSLATION_CONSTANTS = {
|
|
5
|
+
ADD_TRANSLATIONS_SUCCESS: 'TRANSLATION_ADD_TRANSLATIONS_SUCCESS',
|
|
6
|
+
ADD_TRANSLATIONS_ERROR: 'TRANSLATION_ADD_TRANSLATIONS_ERROR',
|
|
7
|
+
GET_TRANSLATIONS_SUCCESS: 'TRANSLATION_GET_TRANSLATIONS_SUCCESS',
|
|
8
|
+
GET_TRANSLATIONS_ERROR: 'TRANSLATION_GET_TRANSLATIONS_ERROR',
|
|
9
|
+
QUEUE_TRANSLATION_KEY: 'TRANSLATION_QUEUE_TRANSLATION_KEY',
|
|
10
|
+
CLEAR_PENDING_KEYS: 'TRANSLATION_CLEAR_PENDING_KEYS',
|
|
11
|
+
SET_QUEUEING_STATE: 'TRANSLATION_SET_QUEUEING_STATE'
|
|
12
|
+
};
|
|
13
|
+
const defaultValues = {
|
|
14
|
+
translations: {},
|
|
15
|
+
pendingKeys: new Set(),
|
|
16
|
+
isQueueing: false,
|
|
17
|
+
lastSync: 0
|
|
18
|
+
};
|
|
19
|
+
const createTranslationKey = (key, locale, namespace)=>{
|
|
20
|
+
return namespace ? `${namespace}:${key}:${locale}` : `${key}:${locale}`;
|
|
21
|
+
};
|
|
22
|
+
export const translationStore = (type, data, state = defaultValues)=>{
|
|
23
|
+
switch(type){
|
|
24
|
+
case TRANSLATION_CONSTANTS.ADD_TRANSLATIONS_SUCCESS:
|
|
25
|
+
{
|
|
26
|
+
const { translations } = data;
|
|
27
|
+
if (translations?.length) {
|
|
28
|
+
const newTranslations = {
|
|
29
|
+
...state.translations
|
|
30
|
+
};
|
|
31
|
+
const newPendingKeys = new Set(state.pendingKeys);
|
|
32
|
+
translations.forEach((translation)=>{
|
|
33
|
+
const translationKey = createTranslationKey(translation.key, translation.locale, translation.namespace);
|
|
34
|
+
newTranslations[translationKey] = {
|
|
35
|
+
...translation,
|
|
36
|
+
timestamp: Date.now()
|
|
37
|
+
};
|
|
38
|
+
newPendingKeys.delete(translationKey);
|
|
39
|
+
});
|
|
40
|
+
return {
|
|
41
|
+
...state,
|
|
42
|
+
error: undefined,
|
|
43
|
+
translations: newTranslations,
|
|
44
|
+
pendingKeys: newPendingKeys,
|
|
45
|
+
lastSync: Date.now()
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return state;
|
|
49
|
+
}
|
|
50
|
+
case TRANSLATION_CONSTANTS.GET_TRANSLATIONS_SUCCESS:
|
|
51
|
+
{
|
|
52
|
+
const { translations } = data;
|
|
53
|
+
if (translations?.length) {
|
|
54
|
+
const newTranslations = {
|
|
55
|
+
...state.translations
|
|
56
|
+
};
|
|
57
|
+
translations.forEach((translation)=>{
|
|
58
|
+
const translationKey = createTranslationKey(translation.key, translation.locale, translation.namespace);
|
|
59
|
+
newTranslations[translationKey] = {
|
|
60
|
+
...translation,
|
|
61
|
+
timestamp: Date.now()
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
return {
|
|
65
|
+
...state,
|
|
66
|
+
error: undefined,
|
|
67
|
+
translations: newTranslations,
|
|
68
|
+
lastSync: Date.now()
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return state;
|
|
72
|
+
}
|
|
73
|
+
case TRANSLATION_CONSTANTS.QUEUE_TRANSLATION_KEY:
|
|
74
|
+
{
|
|
75
|
+
const { key } = data;
|
|
76
|
+
if (key) {
|
|
77
|
+
const newPendingKeys = new Set(state.pendingKeys);
|
|
78
|
+
newPendingKeys.add(key);
|
|
79
|
+
return {
|
|
80
|
+
...state,
|
|
81
|
+
pendingKeys: newPendingKeys
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return state;
|
|
85
|
+
}
|
|
86
|
+
case TRANSLATION_CONSTANTS.CLEAR_PENDING_KEYS:
|
|
87
|
+
{
|
|
88
|
+
return {
|
|
89
|
+
...state,
|
|
90
|
+
pendingKeys: new Set()
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
case TRANSLATION_CONSTANTS.SET_QUEUEING_STATE:
|
|
94
|
+
{
|
|
95
|
+
const { isQueueing } = data;
|
|
96
|
+
return {
|
|
97
|
+
...state,
|
|
98
|
+
isQueueing: isQueueing || false
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
case TRANSLATION_CONSTANTS.ADD_TRANSLATIONS_ERROR:
|
|
102
|
+
case TRANSLATION_CONSTANTS.GET_TRANSLATIONS_ERROR:
|
|
103
|
+
{
|
|
104
|
+
const { error } = data;
|
|
105
|
+
return {
|
|
106
|
+
...state,
|
|
107
|
+
error
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
default:
|
|
111
|
+
{
|
|
112
|
+
return state;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
export const translations = {
|
|
117
|
+
action: translationStore,
|
|
118
|
+
initialState: defaultValues,
|
|
119
|
+
name: 'translations'
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3RyYW5zbGF0aW9uU3RvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjUtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvblR5cGUge1xuICByZWFkb25seSBrZXk6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9jYWxlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdGltZXN0YW1wPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9uU3RhdGUge1xuICByZWFkb25seSBlcnJvcj86IEVycm9yO1xuICByZWFkb25seSB0cmFuc2xhdGlvbnM6IFJlY29yZDxzdHJpbmcsIFRyYW5zbGF0aW9uVHlwZT47XG4gIHJlYWRvbmx5IHBlbmRpbmdLZXlzOiBTZXQ8c3RyaW5nPjtcbiAgcmVhZG9ubHkgaXNRdWV1ZWluZzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbGFzdFN5bmM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFRSQU5TTEFUSU9OX0NPTlNUQU5UUyA9IHtcbiAgQUREX1RSQU5TTEFUSU9OU19TVUNDRVNTOiAnVFJBTlNMQVRJT05fQUREX1RSQU5TTEFUSU9OU19TVUNDRVNTJyxcbiAgQUREX1RSQU5TTEFUSU9OU19FUlJPUjogJ1RSQU5TTEFUSU9OX0FERF9UUkFOU0xBVElPTlNfRVJST1InLFxuICBHRVRfVFJBTlNMQVRJT05TX1NVQ0NFU1M6ICdUUkFOU0xBVElPTl9HRVRfVFJBTlNMQVRJT05TX1NVQ0NFU1MnLFxuICBHRVRfVFJBTlNMQVRJT05TX0VSUk9SOiAnVFJBTlNMQVRJT05fR0VUX1RSQU5TTEFUSU9OU19FUlJPUicsXG4gIFFVRVVFX1RSQU5TTEFUSU9OX0tFWTogJ1RSQU5TTEFUSU9OX1FVRVVFX1RSQU5TTEFUSU9OX0tFWScsXG4gIENMRUFSX1BFTkRJTkdfS0VZUzogJ1RSQU5TTEFUSU9OX0NMRUFSX1BFTkRJTkdfS0VZUycsXG4gIFNFVF9RVUVVRUlOR19TVEFURTogJ1RSQU5TTEFUSU9OX1NFVF9RVUVVRUlOR19TVEFURSdcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFRyYW5zbGF0aW9uQ29uc3RhbnRzVHlwZSA9IHR5cGVvZiBUUkFOU0xBVElPTl9DT05TVEFOVFNba2V5b2YgdHlwZW9mIFRSQU5TTEFUSU9OX0NPTlNUQU5UU107XG5cbmNvbnN0IGRlZmF1bHRWYWx1ZXM6IFRyYW5zbGF0aW9uU3RhdGUgPSB7XG4gIHRyYW5zbGF0aW9uczoge30sXG4gIHBlbmRpbmdLZXlzOiBuZXcgU2V0KCksXG4gIGlzUXVldWVpbmc6IGZhbHNlLFxuICBsYXN0U3luYzogMFxufTtcblxuaW50ZXJmYWNlIFRyYW5zbGF0aW9uRGF0YSB7XG4gIHJlYWRvbmx5IGVycm9yPzogRXJyb3I7XG4gIHJlYWRvbmx5IHRyYW5zbGF0aW9ucz86IFRyYW5zbGF0aW9uVHlwZVtdO1xuICByZWFkb25seSBrZXk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzUXVldWVpbmc/OiBib29sZWFuO1xufVxuXG5jb25zdCBjcmVhdGVUcmFuc2xhdGlvbktleSA9IChrZXk6IHN0cmluZywgbG9jYWxlOiBzdHJpbmcsIG5hbWVzcGFjZT86IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBuYW1lc3BhY2UgPyBgJHtuYW1lc3BhY2V9OiR7a2V5fToke2xvY2FsZX1gIDogYCR7a2V5fToke2xvY2FsZX1gO1xufTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0aW9uU3RvcmUgPSAodHlwZTogc3RyaW5nLCBkYXRhOiBUcmFuc2xhdGlvbkRhdGEsIHN0YXRlID0gZGVmYXVsdFZhbHVlcyk6IFRyYW5zbGF0aW9uU3RhdGUgPT4ge1xuICBzd2l0Y2godHlwZSkge1xuICAgIGNhc2UgVFJBTlNMQVRJT05fQ09OU1RBTlRTLkFERF9UUkFOU0xBVElPTlNfU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3RyYW5zbGF0aW9uc30gPSBkYXRhO1xuICAgICAgaWYodHJhbnNsYXRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgbmV3VHJhbnNsYXRpb25zID0gey4uLnN0YXRlLnRyYW5zbGF0aW9uc307XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdLZXlzID0gbmV3IFNldChzdGF0ZS5wZW5kaW5nS2V5cyk7XG5cbiAgICAgICAgdHJhbnNsYXRpb25zLmZvckVhY2goKHRyYW5zbGF0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBjcmVhdGVUcmFuc2xhdGlvbktleSh0cmFuc2xhdGlvbi5rZXksIHRyYW5zbGF0aW9uLmxvY2FsZSwgdHJhbnNsYXRpb24ubmFtZXNwYWNlKTtcbiAgICAgICAgICBuZXdUcmFuc2xhdGlvbnNbdHJhbnNsYXRpb25LZXldID0ge1xuICAgICAgICAgICAgLi4udHJhbnNsYXRpb24sXG4gICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KClcbiAgICAgICAgICB9O1xuICAgICAgICAgIG5ld1BlbmRpbmdLZXlzLmRlbGV0ZSh0cmFuc2xhdGlvbktleSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgZXJyb3I6IHVuZGVmaW5lZCxcbiAgICAgICAgICB0cmFuc2xhdGlvbnM6IG5ld1RyYW5zbGF0aW9ucyxcbiAgICAgICAgICBwZW5kaW5nS2V5czogbmV3UGVuZGluZ0tleXMsXG4gICAgICAgICAgbGFzdFN5bmM6IERhdGUubm93KClcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG5cbiAgICBjYXNlIFRSQU5TTEFUSU9OX0NPTlNUQU5UUy5HRVRfVFJBTlNMQVRJT05TX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHt0cmFuc2xhdGlvbnN9ID0gZGF0YTtcbiAgICAgIGlmKHRyYW5zbGF0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IG5ld1RyYW5zbGF0aW9ucyA9IHsuLi5zdGF0ZS50cmFuc2xhdGlvbnN9O1xuXG4gICAgICAgIHRyYW5zbGF0aW9ucy5mb3JFYWNoKCh0cmFuc2xhdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gY3JlYXRlVHJhbnNsYXRpb25LZXkodHJhbnNsYXRpb24ua2V5LCB0cmFuc2xhdGlvbi5sb2NhbGUsIHRyYW5zbGF0aW9uLm5hbWVzcGFjZSk7XG4gICAgICAgICAgbmV3VHJhbnNsYXRpb25zW3RyYW5zbGF0aW9uS2V5XSA9IHtcbiAgICAgICAgICAgIC4uLnRyYW5zbGF0aW9uLFxuICAgICAgICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBlcnJvcjogdW5kZWZpbmVkLFxuICAgICAgICAgIHRyYW5zbGF0aW9uczogbmV3VHJhbnNsYXRpb25zLFxuICAgICAgICAgIGxhc3RTeW5jOiBEYXRlLm5vdygpXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuXG4gICAgY2FzZSBUUkFOU0xBVElPTl9DT05TVEFOVFMuUVVFVUVfVFJBTlNMQVRJT05fS0VZOiB7XG4gICAgICBjb25zdCB7a2V5fSA9IGRhdGE7XG4gICAgICBpZihrZXkpIHtcbiAgICAgICAgY29uc3QgbmV3UGVuZGluZ0tleXMgPSBuZXcgU2V0KHN0YXRlLnBlbmRpbmdLZXlzKTtcbiAgICAgICAgbmV3UGVuZGluZ0tleXMuYWRkKGtleSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgcGVuZGluZ0tleXM6IG5ld1BlbmRpbmdLZXlzXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuXG4gICAgY2FzZSBUUkFOU0xBVElPTl9DT05TVEFOVFMuQ0xFQVJfUEVORElOR19LRVlTOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcGVuZGluZ0tleXM6IG5ldyBTZXQoKVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIFRSQU5TTEFUSU9OX0NPTlNUQU5UUy5TRVRfUVVFVUVJTkdfU1RBVEU6IHtcbiAgICAgIGNvbnN0IHtpc1F1ZXVlaW5nfSA9IGRhdGE7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgaXNRdWV1ZWluZzogaXNRdWV1ZWluZyB8fCBmYWxzZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIFRSQU5TTEFUSU9OX0NPTlNUQU5UUy5BRERfVFJBTlNMQVRJT05TX0VSUk9SOlxuICAgIGNhc2UgVFJBTlNMQVRJT05fQ09OU1RBTlRTLkdFVF9UUkFOU0xBVElPTlNfRVJST1I6IHtcbiAgICAgIGNvbnN0IHtlcnJvcn0gPSBkYXRhO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGVycm9yXG4gICAgICB9O1xuICAgIH1cblxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGlvbnMgPSB7XG4gIGFjdGlvbjogdHJhbnNsYXRpb25TdG9yZSxcbiAgaW5pdGlhbFN0YXRlOiBkZWZhdWx0VmFsdWVzLFxuICBuYW1lOiAndHJhbnNsYXRpb25zJ1xufTsiXSwibmFtZXMiOlsiVFJBTlNMQVRJT05fQ09OU1RBTlRTIiwiQUREX1RSQU5TTEFUSU9OU19TVUNDRVNTIiwiQUREX1RSQU5TTEFUSU9OU19FUlJPUiIsIkdFVF9UUkFOU0xBVElPTlNfU1VDQ0VTUyIsIkdFVF9UUkFOU0xBVElPTlNfRVJST1IiLCJRVUVVRV9UUkFOU0xBVElPTl9LRVkiLCJDTEVBUl9QRU5ESU5HX0tFWVMiLCJTRVRfUVVFVUVJTkdfU1RBVEUiLCJkZWZhdWx0VmFsdWVzIiwidHJhbnNsYXRpb25zIiwicGVuZGluZ0tleXMiLCJTZXQiLCJpc1F1ZXVlaW5nIiwibGFzdFN5bmMiLCJjcmVhdGVUcmFuc2xhdGlvbktleSIsImtleSIsImxvY2FsZSIsIm5hbWVzcGFjZSIsInRyYW5zbGF0aW9uU3RvcmUiLCJ0eXBlIiwiZGF0YSIsInN0YXRlIiwibGVuZ3RoIiwibmV3VHJhbnNsYXRpb25zIiwibmV3UGVuZGluZ0tleXMiLCJmb3JFYWNoIiwidHJhbnNsYXRpb24iLCJ0cmFuc2xhdGlvbktleSIsInRpbWVzdGFtcCIsIkRhdGUiLCJub3ciLCJkZWxldGUiLCJlcnJvciIsInVuZGVmaW5lZCIsImFkZCIsImFjdGlvbiIsImluaXRpYWxTdGF0ZSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQWtCRCxPQUFPLE1BQU1BLHdCQUF3QjtJQUNuQ0MsMEJBQTBCO0lBQzFCQyx3QkFBd0I7SUFDeEJDLDBCQUEwQjtJQUMxQkMsd0JBQXdCO0lBQ3hCQyx1QkFBdUI7SUFDdkJDLG9CQUFvQjtJQUNwQkMsb0JBQW9CO0FBQ3RCLEVBQVc7QUFJWCxNQUFNQyxnQkFBa0M7SUFDdENDLGNBQWMsQ0FBQztJQUNmQyxhQUFhLElBQUlDO0lBQ2pCQyxZQUFZO0lBQ1pDLFVBQVU7QUFDWjtBQVNBLE1BQU1DLHVCQUF1QixDQUFDQyxLQUFhQyxRQUFnQkM7SUFDekQsT0FBT0EsWUFBWSxHQUFHQSxVQUFVLENBQUMsRUFBRUYsSUFBSSxDQUFDLEVBQUVDLFFBQVEsR0FBRyxHQUFHRCxJQUFJLENBQUMsRUFBRUMsUUFBUTtBQUN6RTtBQUVBLE9BQU8sTUFBTUUsbUJBQW1CLENBQUNDLE1BQWNDLE1BQXVCQyxRQUFRYixhQUFhO0lBQ3pGLE9BQU9XO1FBQ0wsS0FBS25CLHNCQUFzQkMsd0JBQXdCO1lBQUU7Z0JBQ25ELE1BQU0sRUFBQ1EsWUFBWSxFQUFDLEdBQUdXO2dCQUN2QixJQUFHWCxjQUFjYSxRQUFRO29CQUN2QixNQUFNQyxrQkFBa0I7d0JBQUMsR0FBR0YsTUFBTVosWUFBWTtvQkFBQTtvQkFDOUMsTUFBTWUsaUJBQWlCLElBQUliLElBQUlVLE1BQU1YLFdBQVc7b0JBRWhERCxhQUFhZ0IsT0FBTyxDQUFDLENBQUNDO3dCQUNwQixNQUFNQyxpQkFBaUJiLHFCQUFxQlksWUFBWVgsR0FBRyxFQUFFVyxZQUFZVixNQUFNLEVBQUVVLFlBQVlULFNBQVM7d0JBQ3RHTSxlQUFlLENBQUNJLGVBQWUsR0FBRzs0QkFDaEMsR0FBR0QsV0FBVzs0QkFDZEUsV0FBV0MsS0FBS0MsR0FBRzt3QkFDckI7d0JBQ0FOLGVBQWVPLE1BQU0sQ0FBQ0o7b0JBQ3hCO29CQUVBLE9BQU87d0JBQ0wsR0FBR04sS0FBSzt3QkFDUlcsT0FBT0M7d0JBQ1B4QixjQUFjYzt3QkFDZGIsYUFBYWM7d0JBQ2JYLFVBQVVnQixLQUFLQyxHQUFHO29CQUNwQjtnQkFDRjtnQkFDQSxPQUFPVDtZQUNUO1FBRUEsS0FBS3JCLHNCQUFzQkcsd0JBQXdCO1lBQUU7Z0JBQ25ELE1BQU0sRUFBQ00sWUFBWSxFQUFDLEdBQUdXO2dCQUN2QixJQUFHWCxjQUFjYSxRQUFRO29CQUN2QixNQUFNQyxrQkFBa0I7d0JBQUMsR0FBR0YsTUFBTVosWUFBWTtvQkFBQTtvQkFFOUNBLGFBQWFnQixPQUFPLENBQUMsQ0FBQ0M7d0JBQ3BCLE1BQU1DLGlCQUFpQmIscUJBQXFCWSxZQUFZWCxHQUFHLEVBQUVXLFlBQVlWLE1BQU0sRUFBRVUsWUFBWVQsU0FBUzt3QkFDdEdNLGVBQWUsQ0FBQ0ksZUFBZSxHQUFHOzRCQUNoQyxHQUFHRCxXQUFXOzRCQUNkRSxXQUFXQyxLQUFLQyxHQUFHO3dCQUNyQjtvQkFDRjtvQkFFQSxPQUFPO3dCQUNMLEdBQUdULEtBQUs7d0JBQ1JXLE9BQU9DO3dCQUNQeEIsY0FBY2M7d0JBQ2RWLFVBQVVnQixLQUFLQyxHQUFHO29CQUNwQjtnQkFDRjtnQkFDQSxPQUFPVDtZQUNUO1FBRUEsS0FBS3JCLHNCQUFzQksscUJBQXFCO1lBQUU7Z0JBQ2hELE1BQU0sRUFBQ1UsR0FBRyxFQUFDLEdBQUdLO2dCQUNkLElBQUdMLEtBQUs7b0JBQ04sTUFBTVMsaUJBQWlCLElBQUliLElBQUlVLE1BQU1YLFdBQVc7b0JBQ2hEYyxlQUFlVSxHQUFHLENBQUNuQjtvQkFDbkIsT0FBTzt3QkFDTCxHQUFHTSxLQUFLO3dCQUNSWCxhQUFhYztvQkFDZjtnQkFDRjtnQkFDQSxPQUFPSDtZQUNUO1FBRUEsS0FBS3JCLHNCQUFzQk0sa0JBQWtCO1lBQUU7Z0JBQzdDLE9BQU87b0JBQ0wsR0FBR2UsS0FBSztvQkFDUlgsYUFBYSxJQUFJQztnQkFDbkI7WUFDRjtRQUVBLEtBQUtYLHNCQUFzQk8sa0JBQWtCO1lBQUU7Z0JBQzdDLE1BQU0sRUFBQ0ssVUFBVSxFQUFDLEdBQUdRO2dCQUNyQixPQUFPO29CQUNMLEdBQUdDLEtBQUs7b0JBQ1JULFlBQVlBLGNBQWM7Z0JBQzVCO1lBQ0Y7UUFFQSxLQUFLWixzQkFBc0JFLHNCQUFzQjtRQUNqRCxLQUFLRixzQkFBc0JJLHNCQUFzQjtZQUFFO2dCQUNqRCxNQUFNLEVBQUM0QixLQUFLLEVBQUMsR0FBR1o7Z0JBQ2hCLE9BQU87b0JBQ0wsR0FBR0MsS0FBSztvQkFDUlc7Z0JBQ0Y7WUFDRjtRQUVBO1lBQVM7Z0JBQ1AsT0FBT1g7WUFDVDtJQUNGO0FBQ0YsRUFBRTtBQUVGLE9BQU8sTUFBTVosZUFBZTtJQUMxQjBCLFFBQVFqQjtJQUNSa0IsY0FBYzVCO0lBQ2Q2QixNQUFNO0FBQ1IsRUFBRSJ9
|