@lls/store 24.1.59-9a52f5f3 → 24.1.59-a0007626

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 +146 -119
  2. package/package.json +3 -3
package/lib/index.js CHANGED
@@ -733,20 +733,27 @@ 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
+
736
743
  // src/selectors/school.ts
737
744
  init_define_import_meta();
738
745
  import { filterEntitiesSimpleFieldByValues } from "@lls/utils";
739
- import _ from "lodash/fp.js";
746
+ import _2 from "lodash/fp.js";
740
747
 
741
748
  // src/selectors/crud.ts
742
749
  init_define_import_meta();
743
750
  import { createSearchSelector, makeGetAllEntities, makeGetEntityById } from "@lls/utils";
744
- var crud = (entityName, { search: search23 }) => {
751
+ var crud = (entityName, { search: search24 }) => {
745
752
  const getElements = makeGetAllEntities(entityName);
746
753
  const makeSearchElements = () => createSearchSelector(
747
754
  getElements,
748
755
  (_state, params) => params,
749
- (elements, params) => search23(params)(elements)
756
+ (elements, params) => search24(params)(elements)
750
757
  );
751
758
  const methodName = `${entityName.charAt(0).toUpperCase()}${entityName.slice(1)}`;
752
759
  const getElementById = makeGetEntityById(entityName);
@@ -754,13 +761,14 @@ var crud = (entityName, { search: search23 }) => {
754
761
  [`get${methodName}`]: getElements,
755
762
  [`search${methodName}`]: makeSearchElements(),
756
763
  [`get${methodName.replace(/s$/, "")}`]: getElementById,
757
- [`makeSearch${methodName}`]: makeSearchElements
764
+ [`makeSearch${methodName}`]: makeSearchElements,
765
+ [`filter${methodName}`]: search24
758
766
  };
759
767
  return back;
760
768
  };
761
769
 
762
770
  // src/selectors/school.ts
763
- var search = ({ ids }) => _.flow(filterEntitiesSimpleFieldByValues("id", ids));
771
+ var search = ({ ids }) => _2.flow(filterEntitiesSimpleFieldByValues("id", ids));
764
772
  var { getSchools, getSchool, searchSchools, makeSearchSchools } = crud("schools", {
765
773
  search
766
774
  });
@@ -774,7 +782,7 @@ import {
774
782
  filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues2,
775
783
  makeGetEntityById as makeGetEntityById2
776
784
  } from "@lls/utils";
777
- import _2 from "lodash/fp.js";
785
+ import _3 from "lodash/fp.js";
778
786
  var search2 = ({
779
787
  ids,
780
788
  levelIds,
@@ -791,27 +799,27 @@ var search2 = ({
791
799
  publishers,
792
800
  isRenewed,
793
801
  isPrimary
794
- }) => _2.flow(
802
+ }) => _3.flow(
795
803
  filterEntitiesSimpleFieldByValues2("id", ids),
796
804
  filterEntitiesSimpleFieldByValues2("year", years),
797
805
  filterEntitiesArrayFieldByValues("levels", levelIds),
798
806
  filterEntitiesArrayFieldByValues("subjects", subjectIds),
799
- filterEntitiesSimpleFieldByValues2("valid", _2.isNil(isValid) ? void 0 : [isValid]),
807
+ filterEntitiesSimpleFieldByValues2("valid", _3.isNil(isValid) ? void 0 : [isValid]),
800
808
  filterEntitiesSimpleFieldByValues2("publisher", publishers),
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]),
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]),
805
813
  filterEntitiesSimpleFieldByValues2("slug", slugs),
806
814
  filterEntitiesSimpleFieldByValues2("uri", uris),
807
- filterEntitiesSimpleFieldByValues2("isRenewed", _2.isNil(isRenewed) ? void 0 : [isRenewed]),
815
+ filterEntitiesSimpleFieldByValues2("isRenewed", _3.isNil(isRenewed) ? void 0 : [isRenewed]),
808
816
  filterEntitiesSimpleFieldByValue("isPrimary", isPrimary),
809
- _2.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _2.sortBy(sortByQuery) : _2.identity
817
+ _3.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _3.sortBy(sortByQuery) : _3.identity
810
818
  );
811
819
  var { getBooks, getBook, searchBooks, makeSearchBooks } = crud("books", {
812
820
  search: search2
813
821
  });
814
- var makeSearchValidBooks = () => createSearchSelector2(makeSearchBooks(), (books) => _2.filter({ valid: true, hasNewDesign: true }, books));
822
+ var makeSearchValidBooks = () => createSearchSelector2(makeSearchBooks(), (books) => _3.filter({ valid: true, hasNewDesign: true }, books));
815
823
  var searchValidBooks = makeSearchValidBooks();
816
824
  var makeGetBook = () => makeGetEntityById2("books");
817
825
 
@@ -820,15 +828,6 @@ init_define_import_meta();
820
828
  var import_reselect = __toESM(require_lib(), 1);
821
829
  import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues2, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues3 } from "@lls/utils";
822
830
  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
832
831
  var search3 = ({ ids, schoolIds }) => _4.flow(filterEntitiesArrayFieldByValues2("schools", schoolIds), filterEntitiesSimpleFieldByValues3("id", ids));
833
832
  var { getUsers, getUser, searchUsers, makeSearchUsers } = crud("users", {
834
833
  search: search3
@@ -895,7 +894,7 @@ var search5 = ({
895
894
  filterEntitiesSimpleFieldByValues5("thematicName", thematicNames),
896
895
  filterEntitiesSimpleFieldByValues5("book", bookIds)
897
896
  );
898
- var { getPages, getPage, searchPages, makeSearchPages } = crud("pages", {
897
+ var { getPages, getPage, searchPages, makeSearchPages, filterPages } = crud("pages", {
899
898
  search: search5
900
899
  });
901
900
  var getDraftPages = makeGetAllEntities2("drafts");
@@ -989,7 +988,7 @@ import { createSearchSelector as createSearchSelector4, filterEntitiesSimpleFiel
989
988
  import _10 from "lodash/fp.js";
990
989
  var getCopyNotifications = makeGetAllEntities3("copyNotifications");
991
990
  var makeSearchCopyNotifications = () => createSearchSelector4(
992
- [getCurrentUser, getCopyNotifications, (_25, params) => params],
991
+ [getCurrentUser, getCopyNotifications, (_26, params) => params],
993
992
  (currentUser, copyNotifications, { pageIds, read }) => _10.flow(
994
993
  _10.get("copyNotifications"),
995
994
  (ids) => _10.flow(
@@ -1007,7 +1006,7 @@ import { createSearchSelector as createSearchSelector5, filterEntitiesSimpleFiel
1007
1006
  import _11 from "lodash/fp.js";
1008
1007
  var getDrawerNotifications = makeGetAllEntities4("drawerNotifications");
1009
1008
  var makeSearchDrawerNotifications = () => createSearchSelector5(
1010
- [getCurrentUser, getDrawerNotifications, (_25, params) => params],
1009
+ [getCurrentUser, getDrawerNotifications, (_26, params) => params],
1011
1010
  (currentUser, drawerNotifications, { read, pageIds }) => _11.flow(
1012
1011
  _11.get("drawerNotifications"),
1013
1012
  (ids) => _11.flow(
@@ -1116,17 +1115,26 @@ var { getPremiumResources, getPremiumResource, searchPremiumResources, makeSearc
1116
1115
  }
1117
1116
  );
1118
1117
 
1119
- // src/selectors/product.ts
1118
+ // src/selectors/lexicalFlower.ts
1120
1119
  init_define_import_meta();
1120
+ import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues14 } from "@lls/utils";
1121
1121
  import _16 from "lodash/fp.js";
1122
+ var search15 = ({ ids }) => _16.flow(filterEntitiesSimpleFieldByValues14("id", ids));
1123
+ var { getLexicalFlowers, searchLexicalFlowers } = crud("lexicalFlowers", {
1124
+ search: search15
1125
+ });
1126
+
1127
+ // src/selectors/product.ts
1128
+ init_define_import_meta();
1129
+ import _17 from "lodash/fp.js";
1122
1130
  import {
1123
1131
  createSearchSelector as createSearchSelector6,
1124
1132
  filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues5,
1125
- filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues14,
1133
+ filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues15,
1126
1134
  makeGetAllEntities as makeGetAllEntities7
1127
1135
  } from "@lls/utils";
1128
1136
  var getProducts = makeGetAllEntities7("products");
1129
- var search15 = ({
1137
+ var search16 = ({
1130
1138
  ids,
1131
1139
  eans,
1132
1140
  isAdoptant,
@@ -1135,13 +1143,13 @@ var search15 = ({
1135
1143
  subjectIds,
1136
1144
  productTypes
1137
1145
  }) => {
1138
- return _16.flow(
1139
- (products, books) => levelIds || subjectIds ? filterEntitiesArrayFieldByValues5("books", _16.map("id", books))(products) : products,
1140
- filterEntitiesSimpleFieldByValues14("id", ids),
1141
- filterEntitiesSimpleFieldByValues14("ean", eans),
1142
- filterEntitiesSimpleFieldByValues14("isAdoptant", _16.isBoolean(isAdoptant) ? [isAdoptant] : void 0),
1143
- filterEntitiesSimpleFieldByValues14("isSupportPlus", _16.isBoolean(isSupportPlus) ? [isSupportPlus] : void 0),
1144
- filterEntitiesSimpleFieldByValues14("productType", productTypes)
1146
+ return _17.flow(
1147
+ (products, books) => levelIds || subjectIds ? filterEntitiesArrayFieldByValues5("books", _17.map("id", books))(products) : products,
1148
+ filterEntitiesSimpleFieldByValues15("id", ids),
1149
+ filterEntitiesSimpleFieldByValues15("ean", eans),
1150
+ filterEntitiesSimpleFieldByValues15("isAdoptant", _17.isBoolean(isAdoptant) ? [isAdoptant] : void 0),
1151
+ filterEntitiesSimpleFieldByValues15("isSupportPlus", _17.isBoolean(isSupportPlus) ? [isSupportPlus] : void 0),
1152
+ filterEntitiesSimpleFieldByValues15("productType", productTypes)
1145
1153
  );
1146
1154
  };
1147
1155
  var searchBooks2 = makeSearchBooks();
@@ -1149,61 +1157,64 @@ var searchProducts = createSearchSelector6(
1149
1157
  getProducts,
1150
1158
  (state, { levelIds, subjectIds }) => searchBooks2(state, { levelIds, subjectIds }),
1151
1159
  (_state, params) => params,
1152
- (products, books, params) => search15(params)(products, books)
1160
+ (products, books, params) => search16(params)(products, books)
1153
1161
  );
1154
1162
 
1155
1163
  // src/selectors/resource.ts
1156
1164
  init_define_import_meta();
1157
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues15 } from "@lls/utils";
1158
- import _17 from "lodash/fp.js";
1159
- var search16 = ({ chapterIds }) => _17.flow(filterEntitiesSimpleFieldByValues15("chapter", chapterIds));
1165
+ import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues16 } from "@lls/utils";
1166
+ import _18 from "lodash/fp.js";
1167
+ var search17 = ({ chapterIds }) => _18.flow(filterEntitiesSimpleFieldByValues16("chapter", chapterIds));
1160
1168
  var { getResources, getResource, searchResources, makeSearchResources } = crud("resources", {
1161
- search: search16
1169
+ search: search17
1162
1170
  });
1163
1171
 
1164
1172
  // src/selectors/schoolType.ts
1165
1173
  init_define_import_meta();
1166
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues16 } from "@lls/utils";
1167
- var search17 = ({ slugs }) => filterEntitiesSimpleFieldByValues16("slug", slugs);
1174
+ import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues17 } from "@lls/utils";
1175
+ var search18 = ({ slugs }) => filterEntitiesSimpleFieldByValues17("slug", slugs);
1168
1176
  var { getSchoolTypes, getSchoolType, searchSchoolTypes, makeSearchSchoolTypes } = crud("schoolTypes", {
1169
- search: search17
1177
+ search: search18
1170
1178
  });
1171
1179
 
1172
1180
  // src/selectors/sharedPage.ts
1173
1181
  init_define_import_meta();
1174
- import { createSearchSelector as createSearchSelector7, filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue3, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues17 } from "@lls/utils";
1175
- import _18 from "lodash/fp.js";
1176
- var search18 = ({
1182
+ import { createSearchSelector as createSearchSelector7, filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue3, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues18 } from "@lls/utils";
1183
+ import _19 from "lodash/fp.js";
1184
+ var search19 = ({
1177
1185
  parentIds,
1178
1186
  userIds,
1179
1187
  bookIds,
1180
1188
  isCreatedFromScratch,
1181
1189
  isLearningAssessment,
1182
1190
  ids
1183
- }) => _18.flow(
1184
- filterEntitiesSimpleFieldByValues17("id", ids),
1185
- filterEntitiesSimpleFieldByValues17("parent", parentIds),
1186
- filterEntitiesSimpleFieldByValues17("user", userIds),
1187
- filterEntitiesSimpleFieldByValues17("book", bookIds),
1191
+ }) => _19.flow(
1192
+ filterEntitiesSimpleFieldByValues18("id", ids),
1193
+ filterEntitiesSimpleFieldByValues18("parent", parentIds),
1194
+ filterEntitiesSimpleFieldByValues18("user", userIds),
1195
+ filterEntitiesSimpleFieldByValues18("book", bookIds),
1188
1196
  filterEntitiesSimpleFieldByValue3("isLearningAssessment", isLearningAssessment),
1189
1197
  filterEntitiesSimpleFieldByValue3("isCreatedFromScratch", isCreatedFromScratch)
1190
1198
  );
1191
1199
  var { getSharedPages, getSharedPage, searchSharedPages, makeSearchSharedPages } = crud("sharedPages", {
1192
- search: search18
1200
+ search: search19
1193
1201
  });
1194
1202
  var searchCurrentUserSharedPages = createSearchSelector7(
1195
- (state) => _18.flow(getCurrentUser, _18.getOr([], "sharedPages"))(state),
1203
+ getCurrentUser,
1196
1204
  getSharedPages,
1197
- (_25, params) => params,
1198
- (sharedUserPageIds, sharedPages, params) => search18({ ...params, ids: _18.intersection(sharedUserPageIds, params.ids || sharedUserPageIds) })(sharedPages)
1205
+ (_26, params) => params,
1206
+ (user2, sharedPages, params) => {
1207
+ const sharedUserPageIds = user2?.sharedPages ?? [];
1208
+ return search19({ ...params, ids: _19.intersection(sharedUserPageIds, params.ids || sharedUserPageIds) })(sharedPages);
1209
+ }
1199
1210
  );
1200
1211
 
1201
1212
  // src/selectors/student.ts
1202
1213
  init_define_import_meta();
1203
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues18 } from "@lls/utils";
1204
- var search19 = ({ ids }) => filterEntitiesSimpleFieldByValues18("id", ids);
1214
+ import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues19 } from "@lls/utils";
1215
+ var search20 = ({ ids }) => filterEntitiesSimpleFieldByValues19("id", ids);
1205
1216
  var { getStudents, getStudent, searchStudents, makeSearchStudents } = crud("students", {
1206
- search: search19
1217
+ search: search20
1207
1218
  });
1208
1219
 
1209
1220
  // src/selectors/subject.ts
@@ -1212,11 +1223,11 @@ import {
1212
1223
  filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues6,
1213
1224
  filterEntitiesFieldExists as filterEntitiesFieldExists2,
1214
1225
  filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue4,
1215
- filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues19,
1226
+ filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues20,
1216
1227
  limitToTeacherSubjects
1217
1228
  } from "@lls/utils";
1218
- import _19 from "lodash/fp.js";
1219
- var search20 = ({
1229
+ import _20 from "lodash/fp.js";
1230
+ var search21 = ({
1220
1231
  ids,
1221
1232
  slugs,
1222
1233
  isTeacherSubject,
@@ -1224,45 +1235,45 @@ var search20 = ({
1224
1235
  schoolTypes,
1225
1236
  hasBooks,
1226
1237
  names
1227
- }) => _19.flow(
1228
- filterEntitiesSimpleFieldByValues19("id", ids),
1229
- filterEntitiesSimpleFieldByValues19("slug", slugs),
1230
- filterEntitiesSimpleFieldByValues19("name", names),
1238
+ }) => _20.flow(
1239
+ filterEntitiesSimpleFieldByValues20("id", ids),
1240
+ filterEntitiesSimpleFieldByValues20("slug", slugs),
1241
+ filterEntitiesSimpleFieldByValues20("name", names),
1231
1242
  filterEntitiesSimpleFieldByValue4("hasBooks", hasBooks),
1232
1243
  filterEntitiesArrayFieldByValues6("schoolTypes", schoolTypes),
1233
- (subjects) => _19.isNil(isTeacherSubject) ? subjects : limitToTeacherSubjects(subjects),
1244
+ (subjects) => _20.isNil(isTeacherSubject) ? subjects : limitToTeacherSubjects(subjects),
1234
1245
  filterEntitiesFieldExists2("newsletterUrl", hasNewsletterUrl)
1235
1246
  );
1236
1247
  var { getSubjects, getSubject, searchSubjects, makeSearchSubjects } = crud("subjects", {
1237
- search: search20
1248
+ search: search21
1238
1249
  });
1239
1250
 
1240
1251
  // src/selectors/teacher.ts
1241
1252
  init_define_import_meta();
1242
- import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues7, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues20 } from "@lls/utils";
1243
- import _20 from "lodash/fp.js";
1244
- var search21 = ({ ids, schoolIds }) => _20.flow(filterEntitiesSimpleFieldByValues20("id", ids), filterEntitiesArrayFieldByValues7("schools", schoolIds));
1253
+ import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues7, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues21 } from "@lls/utils";
1254
+ import _21 from "lodash/fp.js";
1255
+ var search22 = ({ ids, schoolIds }) => _21.flow(filterEntitiesSimpleFieldByValues21("id", ids), filterEntitiesArrayFieldByValues7("schools", schoolIds));
1245
1256
  var { getTeachers, getTeacher, searchTeachers, makeSearchTeachers } = crud("teachers", {
1246
- search: search21
1257
+ search: search22
1247
1258
  });
1248
1259
 
1249
1260
  // src/selectors/tool.ts
1250
1261
  init_define_import_meta();
1251
- import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues8, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues21 } from "@lls/utils";
1252
- import _21 from "lodash/fp.js";
1253
- var search22 = ({ ids, locked, bookIds }) => _21.flow(
1254
- filterEntitiesSimpleFieldByValues21("id", ids),
1255
- filterEntitiesSimpleFieldByValues21("locked", _21.isNil(locked) ? void 0 : [locked]),
1262
+ import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues8, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues22 } from "@lls/utils";
1263
+ import _22 from "lodash/fp.js";
1264
+ var search23 = ({ ids, locked, bookIds }) => _22.flow(
1265
+ filterEntitiesSimpleFieldByValues22("id", ids),
1266
+ filterEntitiesSimpleFieldByValues22("locked", _22.isNil(locked) ? void 0 : [locked]),
1256
1267
  filterEntitiesArrayFieldByValues8("books", bookIds)
1257
1268
  );
1258
1269
  var { getTools, getTool, searchTools, makeSearchTools } = crud("tools", {
1259
- search: search22
1270
+ search: search23
1260
1271
  });
1261
1272
 
1262
1273
  // src/reducers/entities.ts
1263
1274
  init_define_import_meta();
1264
1275
  import { makeReducer } from "@lls/utils";
1265
- import _22 from "lodash/fp.js";
1276
+ import _23 from "lodash/fp.js";
1266
1277
 
1267
1278
  // src/actions/index.ts
1268
1279
  init_define_import_meta();
@@ -1285,47 +1296,53 @@ var resetAuth = makeActionCreator(actionTypes.RESET_AUTH);
1285
1296
  // src/reducers/entities.ts
1286
1297
  var deleteEntityReducer = (state, payload) => {
1287
1298
  const { path } = payload;
1288
- return _22.omit(path, state);
1299
+ return _23.omit(path, state);
1289
1300
  };
1290
1301
  var updateEntityReducer = (state, payload) => {
1291
1302
  const { path, entity } = payload;
1292
- const currentEntity = _22.get(path, state);
1293
- return _22.set(path, _22.merge(currentEntity, entity), state);
1303
+ const currentEntity = _23.get(path, state);
1304
+ return _23.set(path, _23.merge(currentEntity, entity), state);
1294
1305
  };
1295
1306
  var setEntityReducer = (state, payload) => {
1296
1307
  const { path, entity } = payload;
1297
- return _22.set(path, entity, state);
1298
- };
1299
- var shallowAssign = (old, next, transform) => {
1300
- let updated = false;
1301
- const merged = _22.flow(
1302
- _22.toPairs,
1303
- _22.reduce((memo, [key, val]) => {
1304
- if (_22.isEmpty(val)) return memo;
1305
- if (!old[key]) {
1306
- updated = true;
1307
- memo[key] = val;
1308
- return memo;
1309
- }
1310
- const maybeEqual = transform(old[key], next[key]);
1311
- if (maybeEqual !== old[key]) {
1312
- updated = true;
1313
- memo[key] = maybeEqual;
1314
- return memo;
1315
- }
1316
- return memo;
1317
- }, _22.clone(old))
1318
- )(next);
1319
- return updated ? merged : old;
1308
+ return _23.set(path, entity, state);
1320
1309
  };
1321
1310
  var setEntitiesReducer = (state, payload) => {
1322
- return shallowAssign(state, payload, (entityKind, nextEntityKind) => {
1323
- return shallowAssign(
1324
- entityKind,
1325
- nextEntityKind,
1326
- (oldEntity, nextEntity) => _22.isEqual(oldEntity, nextEntity) ? oldEntity : _22.assign(oldEntity, nextEntity)
1327
- );
1311
+ if (typeof payload !== "object") return state;
1312
+ const stateDrafts = {};
1313
+ Object.keys(payload).forEach((entityName) => {
1314
+ const entities2 = payload[entityName];
1315
+ const entityDraft = {};
1316
+ if (!entities2) {
1317
+ return;
1318
+ }
1319
+ Object.keys(entities2).forEach((id) => {
1320
+ const entity = entities2[id];
1321
+ if (!state[entityName]?.[id]) {
1322
+ entityDraft[id] = entity;
1323
+ } else {
1324
+ if (typeof entity === "undefined") {
1325
+ return;
1326
+ }
1327
+ const diff = Object.keys(entity).some((prop) => {
1328
+ const value = entity[prop];
1329
+ if (!_23.isEqual(state[entityName]?.[id]?.[prop], value)) {
1330
+ return true;
1331
+ }
1332
+ });
1333
+ if (diff) {
1334
+ entityDraft[id] = Object.assign({}, state[entityName]?.[id], entity);
1335
+ }
1336
+ }
1337
+ });
1338
+ if (Object.keys(entityDraft).length !== 0) {
1339
+ stateDrafts[entityName] = { ...state[entityName], ...entityDraft };
1340
+ }
1328
1341
  });
1342
+ if (Object.keys(stateDrafts).length !== 0) {
1343
+ return { ...state, ...stateDrafts };
1344
+ }
1345
+ return state;
1329
1346
  };
1330
1347
  var entities = makeReducer(
1331
1348
  {},
@@ -1341,7 +1358,7 @@ var entities_default = entities;
1341
1358
  // src/reducers/auth.ts
1342
1359
  init_define_import_meta();
1343
1360
  import { makeReducer as makeReducer2 } from "@lls/utils";
1344
- import _23 from "lodash/fp.js";
1361
+ import _24 from "lodash/fp.js";
1345
1362
  var initialState = {
1346
1363
  id: void 0,
1347
1364
  role: null,
@@ -1354,15 +1371,15 @@ var initialState = {
1354
1371
  llsUserId: null
1355
1372
  };
1356
1373
  var auth = makeReducer2(initialState, {
1357
- [actionTypes.SET_AUTH]: _23.assign,
1358
- [actionTypes.RESET_AUTH]: _23.constant(initialState)
1374
+ [actionTypes.SET_AUTH]: _24.assign,
1375
+ [actionTypes.RESET_AUTH]: _24.constant(initialState)
1359
1376
  });
1360
1377
  var auth_default = auth;
1361
1378
 
1362
1379
  // src/schema/index.ts
1363
1380
  init_define_import_meta();
1364
1381
  var import_normalizr = __toESM(require_normalizr(), 1);
1365
- import _24 from "lodash/fp.js";
1382
+ import _25 from "lodash/fp.js";
1366
1383
  var document = new import_normalizr.schema.Entity("documents", {}, { idAttribute: "resourceId" });
1367
1384
  var subject = new import_normalizr.schema.Entity("subjects");
1368
1385
  var level = new import_normalizr.schema.Entity("levels");
@@ -1378,6 +1395,7 @@ var faq = new import_normalizr.schema.Entity("faq");
1378
1395
  var product = new import_normalizr.schema.Entity("products");
1379
1396
  var communityProjects = new import_normalizr.schema.Entity("communityProjects");
1380
1397
  var builderIo = new import_normalizr.schema.Entity("builderIos");
1398
+ var lexicalFlower = new import_normalizr.schema.Entity("lexicalFlowers");
1381
1399
  var grammarRule = new import_normalizr.schema.Entity("grammarRules", {}, { idAttribute: "objectID" });
1382
1400
  var mainNotification = new import_normalizr.schema.Entity("mainNotifications");
1383
1401
  var explorerResult = new import_normalizr.schema.Entity("explorerResults", {}, { idAttribute: "resourceId" });
@@ -1457,7 +1475,8 @@ var userSchema = define(user, {
1457
1475
  students: [student],
1458
1476
  subjects: [subject],
1459
1477
  teachers: [teacher],
1460
- userPages: [page]
1478
+ userPages: [page],
1479
+ lexicalFlowers: { hits: [lexicalFlower] }
1461
1480
  });
1462
1481
  var notificationSchema = define(mainNotification, { page });
1463
1482
  drawerNotification.define({ page });
@@ -1510,6 +1529,7 @@ var querySchema = {
1510
1529
  createGroup: group,
1511
1530
  createPage: page,
1512
1531
  createUser: user,
1532
+ createLexicalFlower: lexicalFlower,
1513
1533
  documents: { hits: [document] },
1514
1534
  explorerResults: [explorerResult],
1515
1535
  levels: [level],
@@ -1531,7 +1551,8 @@ var querySchema = {
1531
1551
  updatePage: page,
1532
1552
  updateTrialUser: user,
1533
1553
  updateUserLastActivitySeenAt: user,
1534
- updateUser: user
1554
+ updateUser: user,
1555
+ updateLexicalFlower: lexicalFlower
1535
1556
  },
1536
1557
  auth: {
1537
1558
  user
@@ -1549,11 +1570,13 @@ var querySchema = {
1549
1570
  }
1550
1571
  }
1551
1572
  };
1552
- var normalizeData = _24.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1573
+ var normalizeData = _25.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1553
1574
  export {
1554
1575
  auth_default as authReducer,
1555
1576
  entities_default as entitiesReducer,
1577
+ filterPages,
1556
1578
  getAllNews,
1579
+ getAuth,
1557
1580
  getBook,
1558
1581
  getBooks,
1559
1582
  getChapter,
@@ -1572,8 +1595,10 @@ export {
1572
1595
  getGarDivisions,
1573
1596
  getGroup,
1574
1597
  getGroups,
1598
+ getIsLogged,
1575
1599
  getLevel,
1576
1600
  getLevels,
1601
+ getLexicalFlowers,
1577
1602
  getMainNotifications,
1578
1603
  getNews,
1579
1604
  getPage,
@@ -1596,6 +1621,7 @@ export {
1596
1621
  getSubjects,
1597
1622
  getTeacher,
1598
1623
  getTeachers,
1624
+ getToken,
1599
1625
  getTool,
1600
1626
  getTools,
1601
1627
  getUser,
@@ -1642,6 +1668,7 @@ export {
1642
1668
  searchGarDivisions,
1643
1669
  searchGroups,
1644
1670
  searchLevels,
1671
+ searchLexicalFlowers,
1645
1672
  searchModifiedPages,
1646
1673
  searchNews,
1647
1674
  searchPages,
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-9a52f5f3",
5
+ "version": "24.1.59-a0007626",
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/utils": "24.1.59-9a52f5f3",
45
- "@lls/vitescripts": "24.1.59-9a52f5f3"
44
+ "@lls/utils": "24.1.59-a0007626",
45
+ "@lls/vitescripts": "24.1.59-a0007626"
46
46
  },
47
47
  "license": "ISC",
48
48
  "dependencies": {