@lls/store 24.1.59-a8cffdcd → 24.1.59-b0ab89de

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/index.js +126 -463
  2. package/package.json +3 -3
package/lib/index.js CHANGED
@@ -198,7 +198,7 @@ var require_lib = __commonJS({
198
198
  for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
199
199
  memoizeOptionsFromArgs[_key - 1] = arguments[_key];
200
200
  }
201
- var createSelector6 = function createSelector7() {
201
+ var createSelector3 = function createSelector4() {
202
202
  for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
203
203
  funcs[_key2] = arguments[_key2];
204
204
  }
@@ -247,13 +247,13 @@ var require_lib = __commonJS({
247
247
  });
248
248
  return selector;
249
249
  };
250
- return createSelector6;
250
+ return createSelector3;
251
251
  }
252
- var createSelector5 = /* @__PURE__ */ createSelectorCreator(_defaultMemoize.defaultMemoize);
253
- exports.createSelector = createSelector5;
252
+ var createSelector2 = /* @__PURE__ */ createSelectorCreator(_defaultMemoize.defaultMemoize);
253
+ exports.createSelector = createSelector2;
254
254
  var createStructuredSelector = function createStructuredSelector2(selectors, selectorCreator) {
255
255
  if (selectorCreator === void 0) {
256
- selectorCreator = createSelector5;
256
+ selectorCreator = createSelector2;
257
257
  }
258
258
  if (typeof selectors !== "object") {
259
259
  throw new Error("createStructuredSelector expects first argument to be an object " + ("where each property is a selector, instead received a " + typeof selectors));
@@ -733,27 +733,20 @@ var require_normalizr = __commonJS({
733
733
  // src/index.ts
734
734
  init_define_import_meta();
735
735
 
736
- // src/selectors/auth.ts
737
- init_define_import_meta();
738
- import _ from "lodash/fp.js";
739
- var getAuth = _.get("auth");
740
- var getIsLogged = _.flow(_.get("auth.id"), _.negate(_.isNil));
741
- var getToken = _.get("auth.token");
742
-
743
736
  // src/selectors/school.ts
744
737
  init_define_import_meta();
745
738
  import { filterEntitiesSimpleFieldByValues } from "@lls/utils";
746
- import _2 from "lodash/fp.js";
739
+ import _ from "lodash/fp.js";
747
740
 
748
741
  // src/selectors/crud.ts
749
742
  init_define_import_meta();
750
743
  import { createSearchSelector, makeGetAllEntities, makeGetEntityById } from "@lls/utils";
751
- var crud = (entityName, { search: search24 }) => {
744
+ var crud = (entityName, { search: search9 }) => {
752
745
  const getElements = makeGetAllEntities(entityName);
753
746
  const makeSearchElements = () => createSearchSelector(
754
747
  getElements,
755
748
  (_state, params) => params,
756
- (elements, params) => search24(params)(elements)
749
+ (elements, params) => search9(params)(elements)
757
750
  );
758
751
  const methodName = `${entityName.charAt(0).toUpperCase()}${entityName.slice(1)}`;
759
752
  const getElementById = makeGetEntityById(entityName);
@@ -761,14 +754,13 @@ var crud = (entityName, { search: search24 }) => {
761
754
  [`get${methodName}`]: getElements,
762
755
  [`search${methodName}`]: makeSearchElements(),
763
756
  [`get${methodName.replace(/s$/, "")}`]: getElementById,
764
- [`makeSearch${methodName}`]: makeSearchElements,
765
- [`filter${methodName}`]: search24
757
+ [`makeSearch${methodName}`]: makeSearchElements
766
758
  };
767
759
  return back;
768
760
  };
769
761
 
770
762
  // src/selectors/school.ts
771
- var search = ({ ids }) => _2.flow(filterEntitiesSimpleFieldByValues("id", ids));
763
+ var search = ({ ids }) => _.flow(filterEntitiesSimpleFieldByValues("id", ids));
772
764
  var { getSchools, getSchool, searchSchools, makeSearchSchools } = crud("schools", {
773
765
  search
774
766
  });
@@ -782,7 +774,7 @@ import {
782
774
  filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues2,
783
775
  makeGetEntityById as makeGetEntityById2
784
776
  } from "@lls/utils";
785
- import _3 from "lodash/fp.js";
777
+ import _2 from "lodash/fp.js";
786
778
  var search2 = ({
787
779
  ids,
788
780
  levelIds,
@@ -799,27 +791,27 @@ var search2 = ({
799
791
  publishers,
800
792
  isRenewed,
801
793
  isPrimary
802
- }) => _3.flow(
794
+ }) => _2.flow(
803
795
  filterEntitiesSimpleFieldByValues2("id", ids),
804
796
  filterEntitiesSimpleFieldByValues2("year", years),
805
797
  filterEntitiesArrayFieldByValues("levels", levelIds),
806
798
  filterEntitiesArrayFieldByValues("subjects", subjectIds),
807
- filterEntitiesSimpleFieldByValues2("valid", _3.isNil(isValid) ? void 0 : [isValid]),
799
+ filterEntitiesSimpleFieldByValues2("valid", _2.isNil(isValid) ? void 0 : [isValid]),
808
800
  filterEntitiesSimpleFieldByValues2("publisher", publishers),
809
- filterEntitiesSimpleFieldByValues2("hasNewDesign", _3.isNil(hasNewDesign) ? void 0 : [hasNewDesign]),
810
- filterEntitiesSimpleFieldByValues2("isWorkbook", _3.isNil(isWorkbook) ? void 0 : [isWorkbook]),
811
- filterEntitiesSimpleFieldByValues2("isWorkplan", _3.isNil(isWorkplan) ? void 0 : [isWorkplan]),
812
- filterEntitiesSimpleFieldByValues2("hasNoTeacherBook", _3.isNil(hasNoTeacherBook) ? void 0 : [hasNoTeacherBook]),
801
+ filterEntitiesSimpleFieldByValues2("hasNewDesign", _2.isNil(hasNewDesign) ? void 0 : [hasNewDesign]),
802
+ filterEntitiesSimpleFieldByValues2("isWorkbook", _2.isNil(isWorkbook) ? void 0 : [isWorkbook]),
803
+ filterEntitiesSimpleFieldByValues2("isWorkplan", _2.isNil(isWorkplan) ? void 0 : [isWorkplan]),
804
+ filterEntitiesSimpleFieldByValues2("hasNoTeacherBook", _2.isNil(hasNoTeacherBook) ? void 0 : [hasNoTeacherBook]),
813
805
  filterEntitiesSimpleFieldByValues2("slug", slugs),
814
806
  filterEntitiesSimpleFieldByValues2("uri", uris),
815
- filterEntitiesSimpleFieldByValues2("isRenewed", _3.isNil(isRenewed) ? void 0 : [isRenewed]),
807
+ filterEntitiesSimpleFieldByValues2("isRenewed", _2.isNil(isRenewed) ? void 0 : [isRenewed]),
816
808
  filterEntitiesSimpleFieldByValue("isPrimary", isPrimary),
817
- _3.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _3.sortBy(sortByQuery) : _3.identity
809
+ _2.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _2.sortBy(sortByQuery) : _2.identity
818
810
  );
819
811
  var { getBooks, getBook, searchBooks, makeSearchBooks } = crud("books", {
820
812
  search: search2
821
813
  });
822
- var makeSearchValidBooks = () => createSearchSelector2(makeSearchBooks(), (books) => _3.filter({ valid: true, hasNewDesign: true }, books));
814
+ var makeSearchValidBooks = () => createSearchSelector2(makeSearchBooks(), (books) => _2.filter({ valid: true, hasNewDesign: true }, books));
823
815
  var searchValidBooks = makeSearchValidBooks();
824
816
  var makeGetBook = () => makeGetEntityById2("books");
825
817
 
@@ -828,6 +820,15 @@ init_define_import_meta();
828
820
  var import_reselect = __toESM(require_lib(), 1);
829
821
  import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues2, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues3 } from "@lls/utils";
830
822
  import _4 from "lodash/fp.js";
823
+
824
+ // src/selectors/auth.ts
825
+ init_define_import_meta();
826
+ import _3 from "lodash/fp.js";
827
+ var getAuth = _3.get("auth");
828
+ var getIsLogged = _3.flow(_3.get("auth.id"), _3.negate(_3.isNil));
829
+ var getToken = _3.get("auth.token");
830
+
831
+ // src/selectors/user.ts
831
832
  var search3 = ({ ids, schoolIds }) => _4.flow(filterEntitiesArrayFieldByValues2("schools", schoolIds), filterEntitiesSimpleFieldByValues3("id", ids));
832
833
  var { getUsers, getUser, searchUsers, makeSearchUsers } = crud("users", {
833
834
  search: search3
@@ -853,7 +854,13 @@ var { getChapters, getChapter, searchChapters, makeSearchChapters } = crud("chap
853
854
 
854
855
  // src/selectors/page.ts
855
856
  init_define_import_meta();
856
- import { createSearchSelector as createSearchSelector3, makeEntitiesFilter, makeGetAllEntities as makeGetAllEntities2, makeGetEntityById as makeGetEntityById3 } from "@lls/utils";
857
+ import {
858
+ createSearchSelector as createSearchSelector3,
859
+ filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues3,
860
+ filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues5,
861
+ makeGetAllEntities as makeGetAllEntities2,
862
+ makeGetEntityById as makeGetEntityById3
863
+ } from "@lls/utils";
857
864
  import _6 from "lodash/fp.js";
858
865
  var search5 = ({
859
866
  ids,
@@ -868,23 +875,27 @@ var search5 = ({
868
875
  slugs,
869
876
  isLearningAssessment,
870
877
  isCreatedFromScratch
871
- }) => {
872
- return makeEntitiesFilter({
873
- id: ids,
874
- chapter: chapterIds,
875
- valid: isValid,
876
- isOriginal,
877
- hasNewDesign,
878
- slug: slugs,
879
- oldLesson: oldLessonIds,
880
- isLearningAssessment,
881
- isCreatedFromScratch,
882
- premium,
883
- thematicName: thematicNames,
884
- book: bookIds
885
- });
886
- };
887
- var { getPages, getPage, searchPages, makeSearchPages, filterPages } = crud("pages", {
878
+ }) => _6.flow(
879
+ filterEntitiesSimpleFieldByValues5("id", ids),
880
+ filterEntitiesSimpleFieldByValues5("chapter", chapterIds),
881
+ filterEntitiesSimpleFieldByValues5("valid", _6.isNil(isValid) ? void 0 : [isValid]),
882
+ filterEntitiesSimpleFieldByValues5("isOriginal", _6.isNil(isOriginal) ? void 0 : [isOriginal]),
883
+ filterEntitiesSimpleFieldByValues5("hasNewDesign", _6.isNil(hasNewDesign) ? void 0 : [hasNewDesign]),
884
+ filterEntitiesSimpleFieldByValues5("slug", slugs),
885
+ filterEntitiesSimpleFieldByValues5("oldLesson", oldLessonIds),
886
+ filterEntitiesSimpleFieldByValues5(
887
+ "isLearningAssessment",
888
+ _6.isNil(isLearningAssessment) ? void 0 : [isLearningAssessment]
889
+ ),
890
+ filterEntitiesSimpleFieldByValues5(
891
+ "isCreatedFromScratch",
892
+ _6.isNil(isCreatedFromScratch) ? void 0 : [isCreatedFromScratch]
893
+ ),
894
+ filterEntitiesSimpleFieldByValues5("premium", _6.isNil(premium) ? void 0 : [premium]),
895
+ filterEntitiesSimpleFieldByValues5("thematicName", thematicNames),
896
+ filterEntitiesSimpleFieldByValues5("book", bookIds)
897
+ );
898
+ var { getPages, getPage, searchPages, makeSearchPages } = crud("pages", {
888
899
  search: search5
889
900
  });
890
901
  var getDraftPages = makeGetAllEntities2("drafts");
@@ -913,31 +924,26 @@ var makeSearchModifiedPages = () => createSearchSelector3(
913
924
  isCreatedFromScratch,
914
925
  isParentCreatedFromScratch,
915
926
  sharedGroups
916
- }) => {
917
- let pageById = false;
918
- const search24 = makeEntitiesFilter(
919
- {
920
- parent: parentIds,
921
- chapter: chapterIds,
922
- book: bookIds,
923
- user: userIds,
924
- originalPage: originalPageIds,
925
- sharedUsers: sharedUserIds,
926
- sharedGroups,
927
- isOriginal: false,
928
- thematicName: thematicNames,
929
- isLearningAssessment,
930
- isCreatedFromScratch,
931
- isDraft
932
- },
933
- isParentCreatedFromScratch && ((page2, pages2) => {
934
- pageById = pageById || _6.keyBy("id", pages2);
935
- return !!_6.get([page2?.originalPage, "isCreatedFromScratch"], pageById);
936
- }),
937
- updatedAfter && _6.flow(_6.get("updatedAt"), (date) => new Date(date) - updatedAfter >= 0)
938
- );
939
- return search24(pages);
940
- }
927
+ }) => _6.flow(
928
+ filterEntitiesSimpleFieldByValues5("parent", parentIds),
929
+ filterEntitiesSimpleFieldByValues5("chapter", chapterIds),
930
+ filterEntitiesSimpleFieldByValues5("book", bookIds),
931
+ filterEntitiesSimpleFieldByValues5("user", userIds),
932
+ filterEntitiesSimpleFieldByValues5("originalPage", originalPageIds),
933
+ filterEntitiesArrayFieldByValues3("sharedUsers", sharedUserIds),
934
+ filterEntitiesArrayFieldByValues3("sharedGroups", sharedGroups),
935
+ filterEntitiesSimpleFieldByValues5("isOriginal", [false]),
936
+ filterEntitiesSimpleFieldByValues5("thematicName", thematicNames),
937
+ !_6.isNil(isLearningAssessment) ? filterEntitiesSimpleFieldByValues5("isLearningAssessment", [isLearningAssessment]) : _6.identity,
938
+ !_6.isNil(isCreatedFromScratch) ? filterEntitiesSimpleFieldByValues5("isCreatedFromScratch", [isCreatedFromScratch]) : _6.identity,
939
+ !_6.isNil(isDraft) ? filterEntitiesSimpleFieldByValues5("isDraft", [isDraft]) : _6.identity,
940
+ isParentCreatedFromScratch ? _6.filter(
941
+ (entity) => _6.flow(_6.find({ id: entity?.originalPage }), _6.get("isCreatedFromScratch"))(pages)
942
+ ) : _6.identity,
943
+ updatedAfter ? _6.filter(
944
+ _6.flow(_6.get("updatedAt"), (date) => new Date(date) - updatedAfter >= 0)
945
+ ) : _6.identity
946
+ )(pages)
941
947
  );
942
948
  var searchModifiedPages = makeSearchModifiedPages();
943
949
 
@@ -951,16 +957,16 @@ var { getCollections, getCollection, searchCollections, makeSearchCollections }
951
957
 
952
958
  // src/selectors/communityProject.ts
953
959
  init_define_import_meta();
954
- import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues3, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues5 } from "@lls/utils";
960
+ import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues4, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues6 } from "@lls/utils";
955
961
  import _8 from "lodash/fp.js";
956
962
  var search7 = ({
957
963
  slugs,
958
964
  isFeatured,
959
965
  projectTypes
960
966
  }) => _8.flow(
961
- filterEntitiesSimpleFieldByValues5("slug", slugs),
962
- filterEntitiesSimpleFieldByValues5("isFeatured", _8.isNil(isFeatured) ? void 0 : [isFeatured]),
963
- filterEntitiesArrayFieldByValues3("projectTypes", projectTypes)
967
+ filterEntitiesSimpleFieldByValues6("slug", slugs),
968
+ filterEntitiesSimpleFieldByValues6("isFeatured", _8.isNil(isFeatured) ? void 0 : [isFeatured]),
969
+ filterEntitiesArrayFieldByValues4("projectTypes", projectTypes)
964
970
  );
965
971
  var { getCommunityProjects, getCommunityProject, searchCommunityProjects, makeSearchCommunityProjects } = crud(
966
972
  "communityProjects",
@@ -979,296 +985,26 @@ var { getContacts, getContact, searchContacts, makeSearchContacts } = crud("cont
979
985
 
980
986
  // src/selectors/copyNotification.ts
981
987
  init_define_import_meta();
982
- import { createSearchSelector as createSearchSelector4, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues6, makeGetAllEntities as makeGetAllEntities3 } from "@lls/utils";
988
+ import { createSearchSelector as createSearchSelector4, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues7, makeGetAllEntities as makeGetAllEntities3 } from "@lls/utils";
983
989
  import _10 from "lodash/fp.js";
984
990
  var getCopyNotifications = makeGetAllEntities3("copyNotifications");
985
991
  var makeSearchCopyNotifications = () => createSearchSelector4(
986
- [getCurrentUser, getCopyNotifications, (_26, params) => params],
992
+ [getCurrentUser, getCopyNotifications, (_14, params) => params],
987
993
  (currentUser, copyNotifications, { pageIds, read }) => _10.flow(
988
994
  _10.get("copyNotifications"),
989
995
  (ids) => _10.flow(
990
- filterEntitiesSimpleFieldByValues6("id", ids),
991
- filterEntitiesSimpleFieldByValues6("page", pageIds),
992
- filterEntitiesSimpleFieldByValues6("read", _10.isNil(read) ? void 0 : [read])
996
+ filterEntitiesSimpleFieldByValues7("id", ids),
997
+ filterEntitiesSimpleFieldByValues7("page", pageIds),
998
+ filterEntitiesSimpleFieldByValues7("read", _10.isNil(read) ? void 0 : [read])
993
999
  )(copyNotifications)
994
1000
  )(currentUser)
995
1001
  );
996
1002
  var searchCopyNotifications = makeSearchCopyNotifications();
997
1003
 
998
- // src/selectors/drawerNotification.ts
999
- init_define_import_meta();
1000
- import { createSearchSelector as createSearchSelector5, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues7, makeGetAllEntities as makeGetAllEntities4 } from "@lls/utils";
1001
- import _11 from "lodash/fp.js";
1002
- var getDrawerNotifications = makeGetAllEntities4("drawerNotifications");
1003
- var makeSearchDrawerNotifications = () => createSearchSelector5(
1004
- [getCurrentUser, getDrawerNotifications, (_26, params) => params],
1005
- (currentUser, drawerNotifications, { read, pageIds }) => _11.flow(
1006
- _11.get("drawerNotifications"),
1007
- (ids) => _11.flow(
1008
- filterEntitiesSimpleFieldByValues7("id", ids),
1009
- filterEntitiesSimpleFieldByValues7("read", _11.isNil(read) ? void 0 : [read]),
1010
- filterEntitiesSimpleFieldByValues7("page", pageIds)
1011
- )(drawerNotifications)
1012
- )(currentUser)
1013
- );
1014
- var searchDrawerNotifications = makeSearchDrawerNotifications();
1015
-
1016
- // src/selectors/faq.ts
1017
- init_define_import_meta();
1018
- import { makeGetAllEntities as makeGetAllEntities5 } from "@lls/utils";
1019
- var getFaqs = makeGetAllEntities5("faq");
1020
-
1021
- // src/selectors/garDivision.ts
1022
- init_define_import_meta();
1023
- import _12 from "lodash/fp.js";
1024
- var search9 = (_params) => _12.identity;
1025
- var { getGarDivisions, getGarDivision, searchGarDivisions, makeSearchGarDivisions } = crud("garDivisions", {
1026
- search: search9
1027
- });
1028
-
1029
- // src/selectors/group.ts
1030
- init_define_import_meta();
1031
- var import_reselect2 = __toESM(require_lib(), 1);
1032
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues8 } from "@lls/utils";
1033
- import _13 from "lodash/fp.js";
1034
- var search10 = ({ ownerIds }) => _13.flow(filterEntitiesSimpleFieldByValues8("owner", ownerIds), _13.orderBy("createdAt", ["desc"]));
1035
- var { getGroups, getGroup, searchGroups, makeSearchGroups } = crud("groups", {
1036
- search: search10
1037
- });
1038
- var getUserGroups = (0, import_reselect2.createSelector)(
1039
- [getGroups, getCurrentUser],
1040
- (groups, currentUser) => search10({ ownerIds: [currentUser?.id] })(groups)
1041
- );
1042
-
1043
- // src/selectors/level.ts
1044
- init_define_import_meta();
1045
- var import_reselect3 = __toESM(require_lib(), 1);
1046
- import { filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue2, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues9 } from "@lls/utils";
1047
- import _14 from "lodash/fp.js";
1048
- var search11 = ({
1049
- ids,
1050
- slugs,
1051
- isPreSchool,
1052
- isMiddleSchool,
1053
- isHighSchool,
1054
- isProHighSchool,
1055
- isGenHighSchool,
1056
- isElementarySchool
1057
- }) => _14.flow(
1058
- filterEntitiesSimpleFieldByValues9("id", ids),
1059
- filterEntitiesSimpleFieldByValues9("slug", slugs),
1060
- filterEntitiesSimpleFieldByValue2("isPreSchool", isPreSchool),
1061
- filterEntitiesSimpleFieldByValue2("isMiddleSchool", isMiddleSchool),
1062
- filterEntitiesSimpleFieldByValue2("isHighSchool", isHighSchool),
1063
- filterEntitiesSimpleFieldByValue2("isProHighSchool", isProHighSchool),
1064
- filterEntitiesSimpleFieldByValue2("isGenHighSchool", isGenHighSchool),
1065
- filterEntitiesSimpleFieldByValue2("isElementarySchool", isElementarySchool),
1066
- _14.orderBy("order", "desc")
1067
- );
1068
- var crudLevels = crud("levels", { search: search11 });
1069
- var { getLevel, searchLevels, makeSearchLevels } = crudLevels;
1070
- var getLevels = (0, import_reselect3.createSelector)(crudLevels.getLevels, _14.orderBy("order", "desc"));
1071
-
1072
- // src/selectors/mainNotification.ts
1073
- init_define_import_meta();
1074
- var import_reselect4 = __toESM(require_lib(), 1);
1075
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues10, makeGetAllEntities as makeGetAllEntities6 } from "@lls/utils";
1076
- import _15 from "lodash/fp.js";
1077
- var getAllMainNotifications = makeGetAllEntities6("mainNotifications");
1078
- var search12 = ({ ids }) => _15.flow(filterEntitiesSimpleFieldByValues10("id", ids));
1079
- var getMainNotifications = (0, import_reselect4.createSelector)(
1080
- [_15.flow(getCurrentUser, _15.get("mainNotifications")), getAllMainNotifications],
1081
- (userNotifications, notifications) => search12({ ids: userNotifications })(notifications)
1082
- );
1083
-
1084
- // src/selectors/news.ts
1085
- init_define_import_meta();
1086
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues11 } from "@lls/utils";
1087
- var search13 = ({ ids }) => filterEntitiesSimpleFieldByValues11("id", ids);
1088
- var {
1089
- getNews: getAllNews,
1090
- getNew: getNews,
1091
- searchNews,
1092
- makeSearchNews
1093
- } = crud("news", {
1094
- search: search13
1095
- });
1096
-
1097
- // src/selectors/panorama.ts
1098
- init_define_import_meta();
1099
- import { makeGetEntityById as makeGetEntityById4 } from "@lls/utils";
1100
- var getPanorama = makeGetEntityById4("panoramas");
1101
-
1102
- // src/selectors/premiumResource.ts
1103
- init_define_import_meta();
1104
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues12 } from "@lls/utils";
1105
- var search14 = ({ bookIds }) => filterEntitiesSimpleFieldByValues12("book", bookIds);
1106
- var { getPremiumResources, getPremiumResource, searchPremiumResources, makeSearchPremiumResources } = crud(
1107
- "premiumResources",
1108
- {
1109
- search: search14
1110
- }
1111
- );
1112
-
1113
- // src/selectors/lexicalFlower.ts
1114
- init_define_import_meta();
1115
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues13 } from "@lls/utils";
1116
- import _16 from "lodash/fp.js";
1117
- var search15 = ({ ids }) => _16.flow(filterEntitiesSimpleFieldByValues13("id", ids));
1118
- var { getLexicalFlowers, searchLexicalFlowers } = crud("lexicalFlowers", {
1119
- search: search15
1120
- });
1121
-
1122
- // src/selectors/product.ts
1123
- init_define_import_meta();
1124
- import _17 from "lodash/fp.js";
1125
- import {
1126
- createSearchSelector as createSearchSelector6,
1127
- filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues4,
1128
- filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues14,
1129
- makeGetAllEntities as makeGetAllEntities7
1130
- } from "@lls/utils";
1131
- var getProducts = makeGetAllEntities7("products");
1132
- var search16 = ({
1133
- ids,
1134
- eans,
1135
- isAdoptant,
1136
- isSupportPlus,
1137
- levelIds,
1138
- subjectIds,
1139
- productTypes
1140
- }) => {
1141
- return _17.flow(
1142
- (products, books) => levelIds || subjectIds ? filterEntitiesArrayFieldByValues4("books", _17.map("id", books))(products) : products,
1143
- filterEntitiesSimpleFieldByValues14("id", ids),
1144
- filterEntitiesSimpleFieldByValues14("ean", eans),
1145
- filterEntitiesSimpleFieldByValues14("isAdoptant", _17.isBoolean(isAdoptant) ? [isAdoptant] : void 0),
1146
- filterEntitiesSimpleFieldByValues14("isSupportPlus", _17.isBoolean(isSupportPlus) ? [isSupportPlus] : void 0),
1147
- filterEntitiesSimpleFieldByValues14("productType", productTypes)
1148
- );
1149
- };
1150
- var searchBooks2 = makeSearchBooks();
1151
- var searchProducts = createSearchSelector6(
1152
- getProducts,
1153
- (state, { levelIds, subjectIds }) => searchBooks2(state, { levelIds, subjectIds }),
1154
- (_state, params) => params,
1155
- (products, books, params) => search16(params)(products, books)
1156
- );
1157
-
1158
- // src/selectors/resource.ts
1159
- init_define_import_meta();
1160
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues15 } from "@lls/utils";
1161
- import _18 from "lodash/fp.js";
1162
- var search17 = ({ chapterIds }) => _18.flow(filterEntitiesSimpleFieldByValues15("chapter", chapterIds));
1163
- var { getResources, getResource, searchResources, makeSearchResources } = crud("resources", {
1164
- search: search17
1165
- });
1166
-
1167
- // src/selectors/schoolType.ts
1168
- init_define_import_meta();
1169
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues16 } from "@lls/utils";
1170
- var search18 = ({ slugs }) => filterEntitiesSimpleFieldByValues16("slug", slugs);
1171
- var { getSchoolTypes, getSchoolType, searchSchoolTypes, makeSearchSchoolTypes } = crud("schoolTypes", {
1172
- search: search18
1173
- });
1174
-
1175
- // src/selectors/sharedPage.ts
1176
- init_define_import_meta();
1177
- import { createSearchSelector as createSearchSelector7, filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue3, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues17 } from "@lls/utils";
1178
- import _19 from "lodash/fp.js";
1179
- var search19 = ({
1180
- parentIds,
1181
- userIds,
1182
- bookIds,
1183
- isCreatedFromScratch,
1184
- isLearningAssessment,
1185
- ids
1186
- }) => _19.flow(
1187
- filterEntitiesSimpleFieldByValues17("id", ids),
1188
- filterEntitiesSimpleFieldByValues17("parent", parentIds),
1189
- filterEntitiesSimpleFieldByValues17("user", userIds),
1190
- filterEntitiesSimpleFieldByValues17("book", bookIds),
1191
- filterEntitiesSimpleFieldByValue3("isLearningAssessment", isLearningAssessment),
1192
- filterEntitiesSimpleFieldByValue3("isCreatedFromScratch", isCreatedFromScratch)
1193
- );
1194
- var { getSharedPages, getSharedPage, searchSharedPages, makeSearchSharedPages } = crud("sharedPages", {
1195
- search: search19
1196
- });
1197
- var searchCurrentUserSharedPages = createSearchSelector7(
1198
- getCurrentUser,
1199
- getSharedPages,
1200
- (_26, params) => params,
1201
- (user2, sharedPages, params) => {
1202
- const sharedUserPageIds = user2?.sharedPages ?? [];
1203
- return search19({ ...params, ids: _19.intersection(sharedUserPageIds, params.ids || sharedUserPageIds) })(sharedPages);
1204
- }
1205
- );
1206
-
1207
- // src/selectors/student.ts
1208
- init_define_import_meta();
1209
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues18 } from "@lls/utils";
1210
- var search20 = ({ ids }) => filterEntitiesSimpleFieldByValues18("id", ids);
1211
- var { getStudents, getStudent, searchStudents, makeSearchStudents } = crud("students", {
1212
- search: search20
1213
- });
1214
-
1215
- // src/selectors/subject.ts
1216
- init_define_import_meta();
1217
- import {
1218
- filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues5,
1219
- filterEntitiesFieldExists as filterEntitiesFieldExists2,
1220
- filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue4,
1221
- filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues19,
1222
- limitToTeacherSubjects
1223
- } from "@lls/utils";
1224
- import _20 from "lodash/fp.js";
1225
- var search21 = ({
1226
- ids,
1227
- slugs,
1228
- isTeacherSubject,
1229
- hasNewsletterUrl,
1230
- schoolTypes,
1231
- hasBooks,
1232
- names
1233
- }) => _20.flow(
1234
- filterEntitiesSimpleFieldByValues19("id", ids),
1235
- filterEntitiesSimpleFieldByValues19("slug", slugs),
1236
- filterEntitiesSimpleFieldByValues19("name", names),
1237
- filterEntitiesSimpleFieldByValue4("hasBooks", hasBooks),
1238
- filterEntitiesArrayFieldByValues5("schoolTypes", schoolTypes),
1239
- (subjects) => _20.isNil(isTeacherSubject) ? subjects : limitToTeacherSubjects(subjects),
1240
- filterEntitiesFieldExists2("newsletterUrl", hasNewsletterUrl)
1241
- );
1242
- var { getSubjects, getSubject, searchSubjects, makeSearchSubjects } = crud("subjects", {
1243
- search: search21
1244
- });
1245
-
1246
- // src/selectors/teacher.ts
1247
- init_define_import_meta();
1248
- import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues6, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues20 } from "@lls/utils";
1249
- import _21 from "lodash/fp.js";
1250
- var search22 = ({ ids, schoolIds }) => _21.flow(filterEntitiesSimpleFieldByValues20("id", ids), filterEntitiesArrayFieldByValues6("schools", schoolIds));
1251
- var { getTeachers, getTeacher, searchTeachers, makeSearchTeachers } = crud("teachers", {
1252
- search: search22
1253
- });
1254
-
1255
- // src/selectors/tool.ts
1256
- init_define_import_meta();
1257
- import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues7, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues21 } from "@lls/utils";
1258
- import _22 from "lodash/fp.js";
1259
- var search23 = ({ ids, locked, bookIds }) => _22.flow(
1260
- filterEntitiesSimpleFieldByValues21("id", ids),
1261
- filterEntitiesSimpleFieldByValues21("locked", _22.isNil(locked) ? void 0 : [locked]),
1262
- filterEntitiesArrayFieldByValues7("books", bookIds)
1263
- );
1264
- var { getTools, getTool, searchTools, makeSearchTools } = crud("tools", {
1265
- search: search23
1266
- });
1267
-
1268
1004
  // src/reducers/entities.ts
1269
1005
  init_define_import_meta();
1270
1006
  import { makeReducer } from "@lls/utils";
1271
- import _23 from "lodash/fp.js";
1007
+ import _11 from "lodash/fp.js";
1272
1008
 
1273
1009
  // src/actions/index.ts
1274
1010
  init_define_import_meta();
@@ -1291,53 +1027,47 @@ var resetAuth = makeActionCreator(actionTypes.RESET_AUTH);
1291
1027
  // src/reducers/entities.ts
1292
1028
  var deleteEntityReducer = (state, payload) => {
1293
1029
  const { path } = payload;
1294
- return _23.omit(path, state);
1030
+ return _11.omit(path, state);
1295
1031
  };
1296
1032
  var updateEntityReducer = (state, payload) => {
1297
1033
  const { path, entity } = payload;
1298
- const currentEntity = _23.get(path, state);
1299
- return _23.set(path, _23.merge(currentEntity, entity), state);
1034
+ const currentEntity = _11.get(path, state);
1035
+ return _11.set(path, _11.merge(currentEntity, entity), state);
1300
1036
  };
1301
1037
  var setEntityReducer = (state, payload) => {
1302
1038
  const { path, entity } = payload;
1303
- return _23.set(path, entity, state);
1039
+ return _11.set(path, entity, state);
1304
1040
  };
1305
- var setEntitiesReducer = (state, payload) => {
1306
- if (typeof payload !== "object") return state;
1307
- const stateDrafts = {};
1308
- Object.keys(payload).forEach((entityName) => {
1309
- const entities2 = payload[entityName];
1310
- const entityDraft = {};
1311
- if (!entities2) {
1312
- return;
1313
- }
1314
- Object.keys(entities2).forEach((id) => {
1315
- const entity = entities2[id];
1316
- if (!state[entityName]?.[id]) {
1317
- entityDraft[id] = entity;
1318
- } else {
1319
- if (typeof entity === "undefined") {
1320
- return;
1321
- }
1322
- const diff = Object.keys(entity).some((prop) => {
1323
- const value = entity[prop];
1324
- if (!_23.isEqual(state[entityName]?.[id]?.[prop], value)) {
1325
- return true;
1326
- }
1327
- });
1328
- if (diff) {
1329
- entityDraft[id] = Object.assign({}, state[entityName]?.[id], entity);
1330
- }
1041
+ var shallowAssign = (old, next, transform) => {
1042
+ let updated = false;
1043
+ const merged = _11.flow(
1044
+ _11.toPairs,
1045
+ _11.reduce((memo, [key, val]) => {
1046
+ if (_11.isEmpty(val)) return memo;
1047
+ if (!old[key]) {
1048
+ updated = true;
1049
+ memo[key] = val;
1050
+ return memo;
1331
1051
  }
1332
- });
1333
- if (Object.keys(entityDraft).length !== 0) {
1334
- stateDrafts[entityName] = { ...state[entityName], ...entityDraft };
1335
- }
1052
+ const maybeEqual = transform(old[key], next[key]);
1053
+ if (maybeEqual !== old[key]) {
1054
+ updated = true;
1055
+ memo[key] = maybeEqual;
1056
+ return memo;
1057
+ }
1058
+ return memo;
1059
+ }, _11.clone(old))
1060
+ )(next);
1061
+ return updated ? merged : old;
1062
+ };
1063
+ var setEntitiesReducer = (state, payload) => {
1064
+ return shallowAssign(state, payload, (entityKind, nextEntityKind) => {
1065
+ return shallowAssign(
1066
+ entityKind,
1067
+ nextEntityKind,
1068
+ (oldEntity, nextEntity) => _11.isEqual(oldEntity, nextEntity) ? oldEntity : _11.assign(oldEntity, nextEntity)
1069
+ );
1336
1070
  });
1337
- if (Object.keys(stateDrafts).length !== 0) {
1338
- return { ...state, ...stateDrafts };
1339
- }
1340
- return state;
1341
1071
  };
1342
1072
  var entities = makeReducer(
1343
1073
  {},
@@ -1353,7 +1083,7 @@ var entities_default = entities;
1353
1083
  // src/reducers/auth.ts
1354
1084
  init_define_import_meta();
1355
1085
  import { makeReducer as makeReducer2 } from "@lls/utils";
1356
- import _24 from "lodash/fp.js";
1086
+ import _12 from "lodash/fp.js";
1357
1087
  var initialState = {
1358
1088
  id: void 0,
1359
1089
  role: null,
@@ -1366,15 +1096,15 @@ var initialState = {
1366
1096
  llsUserId: null
1367
1097
  };
1368
1098
  var auth = makeReducer2(initialState, {
1369
- [actionTypes.SET_AUTH]: _24.assign,
1370
- [actionTypes.RESET_AUTH]: _24.constant(initialState)
1099
+ [actionTypes.SET_AUTH]: _12.assign,
1100
+ [actionTypes.RESET_AUTH]: _12.constant(initialState)
1371
1101
  });
1372
1102
  var auth_default = auth;
1373
1103
 
1374
1104
  // src/schema/index.ts
1375
1105
  init_define_import_meta();
1376
1106
  var import_normalizr = __toESM(require_normalizr(), 1);
1377
- import _25 from "lodash/fp.js";
1107
+ import _13 from "lodash/fp.js";
1378
1108
  var document = new import_normalizr.schema.Entity("documents", {}, { idAttribute: "resourceId" });
1379
1109
  var subject = new import_normalizr.schema.Entity("subjects");
1380
1110
  var level = new import_normalizr.schema.Entity("levels");
@@ -1390,7 +1120,6 @@ var faq = new import_normalizr.schema.Entity("faq");
1390
1120
  var product = new import_normalizr.schema.Entity("products");
1391
1121
  var communityProjects = new import_normalizr.schema.Entity("communityProjects");
1392
1122
  var builderIo = new import_normalizr.schema.Entity("builderIos");
1393
- var lexicalFlower = new import_normalizr.schema.Entity("lexicalFlowers");
1394
1123
  var grammarRule = new import_normalizr.schema.Entity("grammarRules", {}, { idAttribute: "objectID" });
1395
1124
  var mainNotification = new import_normalizr.schema.Entity("mainNotifications");
1396
1125
  var explorerResult = new import_normalizr.schema.Entity("explorerResults", {}, { idAttribute: "resourceId" });
@@ -1470,8 +1199,7 @@ var userSchema = define(user, {
1470
1199
  students: [student],
1471
1200
  subjects: [subject],
1472
1201
  teachers: [teacher],
1473
- userPages: [page],
1474
- lexicalFlowers: { hits: [lexicalFlower] }
1202
+ userPages: [page]
1475
1203
  });
1476
1204
  var notificationSchema = define(mainNotification, { page });
1477
1205
  drawerNotification.define({ page });
@@ -1524,7 +1252,6 @@ var querySchema = {
1524
1252
  createGroup: group,
1525
1253
  createPage: page,
1526
1254
  createUser: user,
1527
- createLexicalFlower: lexicalFlower,
1528
1255
  documents: { hits: [document] },
1529
1256
  explorerResults: [explorerResult],
1530
1257
  levels: [level],
@@ -1546,8 +1273,7 @@ var querySchema = {
1546
1273
  updatePage: page,
1547
1274
  updateTrialUser: user,
1548
1275
  updateUserLastActivitySeenAt: user,
1549
- updateUser: user,
1550
- updateLexicalFlower: lexicalFlower
1276
+ updateUser: user
1551
1277
  },
1552
1278
  auth: {
1553
1279
  user
@@ -1565,13 +1291,10 @@ var querySchema = {
1565
1291
  }
1566
1292
  }
1567
1293
  };
1568
- var normalizeData = _25.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1294
+ var normalizeData = _13.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1569
1295
  export {
1570
1296
  auth_default as authReducer,
1571
1297
  entities_default as entitiesReducer,
1572
- filterPages,
1573
- getAllNews,
1574
- getAuth,
1575
1298
  getBook,
1576
1299
  getBooks,
1577
1300
  getChapter,
@@ -1585,42 +1308,11 @@ export {
1585
1308
  getCurrentUser,
1586
1309
  getDraftPage,
1587
1310
  getDraftPages,
1588
- getFaqs,
1589
- getGarDivision,
1590
- getGarDivisions,
1591
- getGroup,
1592
- getGroups,
1593
- getIsLogged,
1594
- getLevel,
1595
- getLevels,
1596
- getLexicalFlowers,
1597
- getMainNotifications,
1598
- getNews,
1599
1311
  getPage,
1600
1312
  getPages,
1601
- getPanorama,
1602
- getPremiumResource,
1603
- getPremiumResources,
1604
- getProducts,
1605
- getResource,
1606
- getResources,
1607
1313
  getSchool,
1608
- getSchoolType,
1609
- getSchoolTypes,
1610
1314
  getSchools,
1611
- getSharedPage,
1612
- getSharedPages,
1613
- getStudent,
1614
- getStudents,
1615
- getSubject,
1616
- getSubjects,
1617
- getTeacher,
1618
- getTeachers,
1619
- getToken,
1620
- getTool,
1621
- getTools,
1622
1315
  getUser,
1623
- getUserGroups,
1624
1316
  getUsers,
1625
1317
  makeGetBook,
1626
1318
  makeGetDraftPage,
@@ -1631,22 +1323,9 @@ export {
1631
1323
  makeSearchContacts,
1632
1324
  makeSearchCopyNotifications,
1633
1325
  makeSearchDraftPages,
1634
- makeSearchDrawerNotifications,
1635
- makeSearchGarDivisions,
1636
- makeSearchGroups,
1637
- makeSearchLevels,
1638
1326
  makeSearchModifiedPages,
1639
- makeSearchNews,
1640
1327
  makeSearchPages,
1641
- makeSearchPremiumResources,
1642
- makeSearchResources,
1643
- makeSearchSchoolTypes,
1644
1328
  makeSearchSchools,
1645
- makeSearchSharedPages,
1646
- makeSearchStudents,
1647
- makeSearchSubjects,
1648
- makeSearchTeachers,
1649
- makeSearchTools,
1650
1329
  makeSearchUsers,
1651
1330
  makeSearchValidBooks,
1652
1331
  normalizeData,
@@ -1657,26 +1336,10 @@ export {
1657
1336
  searchCommunityProjects,
1658
1337
  searchContacts,
1659
1338
  searchCopyNotifications,
1660
- searchCurrentUserSharedPages,
1661
1339
  searchDraftPages,
1662
- searchDrawerNotifications,
1663
- searchGarDivisions,
1664
- searchGroups,
1665
- searchLevels,
1666
- searchLexicalFlowers,
1667
1340
  searchModifiedPages,
1668
- searchNews,
1669
1341
  searchPages,
1670
- searchPremiumResources,
1671
- searchProducts,
1672
- searchResources,
1673
- searchSchoolTypes,
1674
1342
  searchSchools,
1675
- searchSharedPages,
1676
- searchStudents,
1677
- searchSubjects,
1678
- searchTeachers,
1679
- searchTools,
1680
1343
  searchUsers,
1681
1344
  searchValidBooks,
1682
1345
  setEntitiesReducer
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@lls/store",
3
3
  "description": "model de donnée et selecteurs",
4
4
  "homepage": "https://github.com/lelivrescolaire/monorepo/tree/dev/libs/store",
5
- "version": "24.1.59-a8cffdcd",
5
+ "version": "24.1.59-b0ab89de",
6
6
  "type": "module",
7
7
  "types": "./lib/builttypes/store/src/index.d.ts",
8
8
  "exports": {
@@ -41,8 +41,8 @@
41
41
  "vite": "5.3.3",
42
42
  "vite-tsconfig-paths": "4.3.2",
43
43
  "vitest": "2.0.0",
44
- "@lls/vitescripts": "24.1.59-a8cffdcd",
45
- "@lls/utils": "24.1.59-a8cffdcd"
44
+ "@lls/utils": "24.1.59-b0ab89de",
45
+ "@lls/vitescripts": "24.1.59-b0ab89de"
46
46
  },
47
47
  "license": "ISC",
48
48
  "dependencies": {