@lls/store 24.7.0-fce5b143 → 24.7.0-fd956eb0

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 +60 -104
  2. package/package.json +8 -6
package/lib/index.js CHANGED
@@ -750,12 +750,12 @@ init_define_import_meta();
750
750
  import { createSearchSelector, makeGetAllEntities, makeGetEntityById } from "@lls/utils";
751
751
  import { useMemo } from "react";
752
752
  import { useSelector } from "react-redux";
753
- var crud = (entityName, { search: search31 }) => {
753
+ var crud = (entityName, { search: search30 }) => {
754
754
  const getElements = makeGetAllEntities(entityName);
755
755
  const makeSearchElements = () => createSearchSelector(
756
756
  makeGetAllEntities(entityName),
757
757
  (_state, params) => params,
758
- (elements, params) => search31(params)(elements)
758
+ (elements, params) => search30(params)(elements)
759
759
  );
760
760
  const methodName = `${entityName.charAt(0).toUpperCase()}${entityName.slice(1)}`;
761
761
  const getElementById = makeGetEntityById(entityName);
@@ -765,7 +765,7 @@ var crud = (entityName, { search: search31 }) => {
765
765
  [`search${methodName}`]: makeSearchElements(),
766
766
  [`get${methodName.replace(/s$/, "")}`]: getElementById,
767
767
  [`makeSearch${methodName}`]: makeSearchElements,
768
- [`filter${methodName}`]: search31,
768
+ [`filter${methodName}`]: search30,
769
769
  [`useSearch${methodName}`]: useSearch
770
770
  };
771
771
  return back;
@@ -979,7 +979,7 @@ var search9 = ({ ids, read, pageIds }) => {
979
979
  return makeEntitiesFilter7({ read, id: ids, page: pageIds });
980
980
  };
981
981
  var makeSearchCopyNotifications = () => createSearchSelector3(
982
- [makeGetCurrentUser(), makeGetAllEntities2("copyNotifications"), (_20, params) => params],
982
+ [makeGetCurrentUser(), makeGetAllEntities2("copyNotifications"), (_19, params) => params],
983
983
  (currentUser, copyNotifications, { pageIds, read }) => {
984
984
  const ids = currentUser?.copyNotifications;
985
985
  return search9({ ids, read, pageIds })(copyNotifications);
@@ -990,17 +990,10 @@ var useSearchCopyNotifications = makeUseSearch(makeSearchCopyNotifications);
990
990
  // src/selectors/document.ts
991
991
  init_define_import_meta();
992
992
  import { makeEntitiesFilter as makeEntitiesFilter8 } from "@lls/utils";
993
- var search10 = ({
994
- ids,
995
- uuids,
996
- resourceIds,
997
- levelIds
998
- }) => {
993
+ var search10 = ({ ids, resourceIds }) => {
999
994
  return makeEntitiesFilter8({
1000
995
  id: ids,
1001
- resourceId: resourceIds,
1002
- levels: levelIds,
1003
- uuidV2: uuids
996
+ resourceId: resourceIds
1004
997
  });
1005
998
  };
1006
999
  var { useSearchDocuments } = crud("documents", {
@@ -1014,7 +1007,7 @@ var search11 = ({ ids, read, pageIds }) => {
1014
1007
  return makeEntitiesFilter9({ read, id: ids, page: pageIds });
1015
1008
  };
1016
1009
  var makeSearchDrawerNotifications = () => createSearchSelector4(
1017
- [makeGetCurrentUser(), makeGetAllEntities3("drawerNotifications"), (_20, params) => params],
1010
+ [makeGetCurrentUser(), makeGetAllEntities3("drawerNotifications"), (_19, params) => params],
1018
1011
  (currentUser, drawerNotifications, { read, pageIds }) => {
1019
1012
  const ids = currentUser?.drawerNotifications;
1020
1013
  return search11({ ids, read, pageIds })(drawerNotifications);
@@ -1052,22 +1045,9 @@ var getUserGroups = (0, import_reselect2.createSelector)(
1052
1045
  // src/selectors/level.ts
1053
1046
  init_define_import_meta();
1054
1047
  var import_reselect3 = __toESM(require_lib(), 1);
1055
- import { createSearchSelector as createSearchSelector5, makeEntitiesFilter as makeEntitiesFilter12, makeGetAllEntities as makeGetAllEntities5 } from "@lls/utils";
1056
- import _10 from "lodash/fp.js";
1057
-
1058
- // src/selectors/schoolType.ts
1059
- init_define_import_meta();
1060
1048
  import { makeEntitiesFilter as makeEntitiesFilter11 } from "@lls/utils";
1061
- var search14 = ({ slugs }) => makeEntitiesFilter11({ slug: slugs });
1062
- var { getSchoolTypes, getSchoolType, useSearchSchoolTypes, makeSearchSchoolTypes, searchSchoolTypes } = crud(
1063
- "schoolTypes",
1064
- {
1065
- search: search14
1066
- }
1067
- );
1068
-
1069
- // src/selectors/level.ts
1070
- var search15 = ({
1049
+ import _10 from "lodash/fp.js";
1050
+ var search14 = ({
1071
1051
  ids,
1072
1052
  slugs,
1073
1053
  isPreSchool,
@@ -1075,10 +1055,9 @@ var search15 = ({
1075
1055
  isHighSchool,
1076
1056
  isProHighSchool,
1077
1057
  isGenHighSchool,
1078
- isElementarySchool,
1079
- schoolTypes
1058
+ isElementarySchool
1080
1059
  }) => _10.flow(
1081
- makeEntitiesFilter12({
1060
+ makeEntitiesFilter11({
1082
1061
  id: ids,
1083
1062
  slug: slugs,
1084
1063
  isPreSchool,
@@ -1086,49 +1065,35 @@ var search15 = ({
1086
1065
  isHighSchool,
1087
1066
  isProHighSchool,
1088
1067
  isGenHighSchool,
1089
- isElementarySchool,
1090
- schoolTypes
1068
+ isElementarySchool
1091
1069
  }),
1092
1070
  _10.orderBy("order", "desc")
1093
1071
  );
1094
- var makeSearchLevels = () => {
1095
- const searchSchoolTypes2 = makeSearchSchoolTypes();
1096
- return createSearchSelector5(
1097
- makeGetAllEntities5("levels"),
1098
- (state, { schoolTypes }) => schoolTypes ? searchSchoolTypes2(state, { slugs: schoolTypes }) : void 0,
1099
- (_state, params) => params,
1100
- (levels, schoolTypes, params) => search15({ ...params, schoolTypes: schoolTypes?.length ? schoolTypes?.map(({ id }) => id) : void 0 })(levels)
1101
- );
1102
- };
1103
- var crudLevels = crud("levels", { search: search15 });
1104
- var { getLevel, searchLevels } = crudLevels;
1105
- var getLevels = (0, import_reselect3.createSelector)(
1106
- crudLevels.getLevels,
1107
- _10.orderBy("order", "desc")
1108
- );
1109
- var useSearchLevels = makeUseSearch(makeSearchLevels);
1072
+ var crudLevels = crud("levels", { search: search14 });
1073
+ var { getLevel, useSearchLevels } = crudLevels;
1074
+ var getLevels = (0, import_reselect3.createSelector)(crudLevels.getLevels, _10.orderBy("order", "desc"));
1110
1075
 
1111
1076
  // src/selectors/mainNotification.ts
1112
1077
  init_define_import_meta();
1113
1078
  var import_reselect4 = __toESM(require_lib(), 1);
1114
- import { makeEntitiesFilter as makeEntitiesFilter13, makeGetAllEntities as makeGetAllEntities6 } from "@lls/utils";
1079
+ import { makeEntitiesFilter as makeEntitiesFilter12, makeGetAllEntities as makeGetAllEntities5 } from "@lls/utils";
1115
1080
  import _11 from "lodash/fp.js";
1116
- var search16 = ({ ids }) => makeEntitiesFilter13({ id: ids });
1081
+ var search15 = ({ ids }) => makeEntitiesFilter12({ id: ids });
1117
1082
  var getMainNotifications = (0, import_reselect4.createSelector)(
1118
- [_11.flow(makeGetCurrentUser(), _11.get("mainNotifications")), makeGetAllEntities6("mainNotifications")],
1119
- (userNotifications, notifications) => search16({ ids: userNotifications })(notifications)
1083
+ [_11.flow(makeGetCurrentUser(), _11.get("mainNotifications")), makeGetAllEntities5("mainNotifications")],
1084
+ (userNotifications, notifications) => search15({ ids: userNotifications })(notifications)
1120
1085
  );
1121
1086
 
1122
1087
  // src/selectors/news.ts
1123
1088
  init_define_import_meta();
1124
- import { makeEntitiesFilter as makeEntitiesFilter14 } from "@lls/utils";
1125
- var search17 = ({ ids }) => makeEntitiesFilter14({ id: ids });
1089
+ import { makeEntitiesFilter as makeEntitiesFilter13 } from "@lls/utils";
1090
+ var search16 = ({ ids }) => makeEntitiesFilter13({ id: ids });
1126
1091
  var {
1127
1092
  getNews: getAllNews,
1128
1093
  getNew: getNews,
1129
1094
  useSearchNews
1130
1095
  } = crud("news", {
1131
- search: search17
1096
+ search: search16
1132
1097
  });
1133
1098
 
1134
1099
  // src/selectors/panorama.ts
@@ -1138,26 +1103,26 @@ var getPanorama = makeGetEntityById3("panoramas");
1138
1103
 
1139
1104
  // src/selectors/premiumResource.ts
1140
1105
  init_define_import_meta();
1141
- import { makeEntitiesFilter as makeEntitiesFilter15 } from "@lls/utils";
1142
- var search18 = ({ bookIds }) => makeEntitiesFilter15({ book: bookIds });
1106
+ import { makeEntitiesFilter as makeEntitiesFilter14 } from "@lls/utils";
1107
+ var search17 = ({ bookIds }) => makeEntitiesFilter14({ book: bookIds });
1143
1108
  var { getPremiumResources, getPremiumResource, useSearchPremiumResources } = crud("premiumResources", {
1144
- search: search18
1109
+ search: search17
1145
1110
  });
1146
1111
 
1147
1112
  // src/selectors/lexicalFlower.ts
1148
1113
  init_define_import_meta();
1149
- import { makeEntitiesFilter as makeEntitiesFilter16 } from "@lls/utils";
1150
- var search19 = ({ ids }) => makeEntitiesFilter16({ id: ids });
1114
+ import { makeEntitiesFilter as makeEntitiesFilter15 } from "@lls/utils";
1115
+ var search18 = ({ ids }) => makeEntitiesFilter15({ id: ids });
1151
1116
  var { getLexicalFlowers, useSearchLexicalFlowers } = crud("lexicalFlowers", {
1152
- search: search19
1117
+ search: search18
1153
1118
  });
1154
1119
 
1155
1120
  // src/selectors/product.ts
1156
1121
  init_define_import_meta();
1157
1122
  import _12 from "lodash/fp.js";
1158
- import { createSearchSelector as createSearchSelector6, makeEntitiesFilter as makeEntitiesFilter17, makeGetAllEntities as makeGetAllEntities7 } from "@lls/utils";
1159
- var getProducts = makeGetAllEntities7("products");
1160
- var search20 = ({
1123
+ import { createSearchSelector as createSearchSelector5, makeEntitiesFilter as makeEntitiesFilter16, makeGetAllEntities as makeGetAllEntities6 } from "@lls/utils";
1124
+ var getProducts = makeGetAllEntities6("products");
1125
+ var search19 = ({
1161
1126
  ids,
1162
1127
  eans,
1163
1128
  isAdoptant,
@@ -1167,7 +1132,7 @@ var search20 = ({
1167
1132
  productTypes
1168
1133
  }) => {
1169
1134
  let bookIds;
1170
- const filter = makeEntitiesFilter17(
1135
+ const filter = makeEntitiesFilter16(
1171
1136
  {
1172
1137
  id: ids,
1173
1138
  ean: eans,
@@ -1184,28 +1149,36 @@ var search20 = ({
1184
1149
  };
1185
1150
  var makeSearchProducts = () => {
1186
1151
  const searchBooks = makeSearchBooks();
1187
- return createSearchSelector6(
1188
- makeGetAllEntities7("products"),
1152
+ return createSearchSelector5(
1153
+ makeGetAllEntities6("products"),
1189
1154
  (state, { levelIds, subjectIds }) => searchBooks(state, { levelIds, subjectIds }),
1190
1155
  (_state, params) => params,
1191
- (products, books, params) => search20(params)(products, books)
1156
+ (products, books, params) => search19(params)(products, books)
1192
1157
  );
1193
1158
  };
1194
1159
  var useSearchProducts = makeUseSearch(makeSearchProducts);
1195
1160
 
1196
1161
  // src/selectors/resource.ts
1197
1162
  init_define_import_meta();
1198
- import { makeEntitiesFilter as makeEntitiesFilter18 } from "@lls/utils";
1199
- var search21 = ({ chapterIds }) => makeEntitiesFilter18({
1163
+ import { makeEntitiesFilter as makeEntitiesFilter17 } from "@lls/utils";
1164
+ var search20 = ({ chapterIds }) => makeEntitiesFilter17({
1200
1165
  chapter: chapterIds
1201
1166
  });
1202
1167
  var { getResources, getResource, useSearchResources } = crud("resources", {
1168
+ search: search20
1169
+ });
1170
+
1171
+ // src/selectors/schoolType.ts
1172
+ init_define_import_meta();
1173
+ import { makeEntitiesFilter as makeEntitiesFilter18 } from "@lls/utils";
1174
+ var search21 = ({ slugs }) => makeEntitiesFilter18({ slug: slugs });
1175
+ var { getSchoolTypes, getSchoolType, useSearchSchoolTypes, makeSearchSchoolTypes } = crud("schoolTypes", {
1203
1176
  search: search21
1204
1177
  });
1205
1178
 
1206
1179
  // src/selectors/sharedPage.ts
1207
1180
  init_define_import_meta();
1208
- import { createSearchSelector as createSearchSelector7, makeEntitiesFilter as makeEntitiesFilter19 } from "@lls/utils";
1181
+ import { createSearchSelector as createSearchSelector6, makeEntitiesFilter as makeEntitiesFilter19 } from "@lls/utils";
1209
1182
  import _13 from "lodash/fp.js";
1210
1183
  var search22 = ({
1211
1184
  parentIds,
@@ -1225,7 +1198,7 @@ var search22 = ({
1225
1198
  var { getSharedPages, getSharedPage, useSearchSharedPages } = crud("sharedPages", {
1226
1199
  search: search22
1227
1200
  });
1228
- var makeSearchCurrentUserSharedPages = () => createSearchSelector7(
1201
+ var makeSearchCurrentUserSharedPages = () => createSearchSelector6(
1229
1202
  getCurrentUser,
1230
1203
  getSharedPages,
1231
1204
  (__, params) => params,
@@ -1329,18 +1302,10 @@ var { getCirconscriptions } = crud("circonscriptions", {
1329
1302
  search: search29
1330
1303
  });
1331
1304
 
1332
- // src/selectors/documentType.ts
1333
- init_define_import_meta();
1334
- import _16 from "lodash/fp.js";
1335
- var search30 = (_params) => _16.identity;
1336
- var { getDocumentTypes, getDocumentType } = crud("documentTypes", {
1337
- search: search30
1338
- });
1339
-
1340
1305
  // src/reducers/entities.ts
1341
1306
  init_define_import_meta();
1342
1307
  import { makeReducer } from "@lls/utils";
1343
- import _17 from "lodash/fp.js";
1308
+ import _16 from "lodash/fp.js";
1344
1309
 
1345
1310
  // src/actions/index.ts
1346
1311
  init_define_import_meta();
@@ -1363,16 +1328,16 @@ var resetAuth = makeActionCreator(actionTypes.RESET_AUTH);
1363
1328
  // src/reducers/entities.ts
1364
1329
  var deleteEntityReducer = (state, payload) => {
1365
1330
  const { path } = payload;
1366
- return _17.omit(path, state);
1331
+ return _16.omit(path, state);
1367
1332
  };
1368
1333
  var updateEntityReducer = (state, payload) => {
1369
1334
  const { path, entity } = payload;
1370
- const currentEntity = _17.get(path, state);
1371
- return _17.set(path, _17.merge(currentEntity, entity), state);
1335
+ const currentEntity = _16.get(path, state);
1336
+ return _16.set(path, _16.merge(currentEntity, entity), state);
1372
1337
  };
1373
1338
  var setEntityReducer = (state, payload) => {
1374
1339
  const { path, entity } = payload;
1375
- return _17.set(path, entity, state);
1340
+ return _16.set(path, entity, state);
1376
1341
  };
1377
1342
  var setEntitiesReducer = (state, payload) => {
1378
1343
  if (typeof payload !== "object") return state;
@@ -1393,7 +1358,7 @@ var setEntitiesReducer = (state, payload) => {
1393
1358
  }
1394
1359
  const diff = Object.keys(entity).some((prop) => {
1395
1360
  const value = entity[prop];
1396
- if (!_17.isEqual(state[entityName]?.[id]?.[prop], value)) {
1361
+ if (!_16.isEqual(state[entityName]?.[id]?.[prop], value)) {
1397
1362
  return true;
1398
1363
  }
1399
1364
  });
@@ -1425,7 +1390,7 @@ var entities_default = entities;
1425
1390
  // src/reducers/auth.ts
1426
1391
  init_define_import_meta();
1427
1392
  import { makeReducer as makeReducer2 } from "@lls/utils";
1428
- import _18 from "lodash/fp.js";
1393
+ import _17 from "lodash/fp.js";
1429
1394
  var initialState = {
1430
1395
  id: void 0,
1431
1396
  role: null,
@@ -1438,16 +1403,16 @@ var initialState = {
1438
1403
  llsUserId: null
1439
1404
  };
1440
1405
  var auth = makeReducer2(initialState, {
1441
- [actionTypes.SET_AUTH]: _18.assign,
1442
- [actionTypes.RESET_AUTH]: _18.constant(initialState)
1406
+ [actionTypes.SET_AUTH]: _17.assign,
1407
+ [actionTypes.RESET_AUTH]: _17.constant(initialState)
1443
1408
  });
1444
1409
  var auth_default = auth;
1445
1410
 
1446
1411
  // src/schema/index.ts
1447
1412
  init_define_import_meta();
1448
1413
  var import_normalizr = __toESM(require_normalizr(), 1);
1449
- import _19 from "lodash/fp.js";
1450
- var document = new import_normalizr.schema.Entity("documents");
1414
+ import _18 from "lodash/fp.js";
1415
+ var document = new import_normalizr.schema.Entity("documents", {}, { idAttribute: "resourceId" });
1451
1416
  var subject = new import_normalizr.schema.Entity("subjects");
1452
1417
  var level = new import_normalizr.schema.Entity("levels");
1453
1418
  var book = new import_normalizr.schema.Entity("books");
@@ -1507,8 +1472,7 @@ var garDivisionSchema = define(garDivision, {
1507
1472
  school
1508
1473
  });
1509
1474
  var documentSchema = define(document, {
1510
- page,
1511
- levels: [level]
1475
+ page
1512
1476
  });
1513
1477
  var chapterSchema = define(chapter, {
1514
1478
  book,
@@ -1598,9 +1562,6 @@ var newsSchema = define(news, {
1598
1562
  var premiumResourceSchema = define(premiumResource, {
1599
1563
  book
1600
1564
  });
1601
- var levelSchema = define(level, {
1602
- schoolTypes: [schoolType]
1603
- });
1604
1565
  var querySchema = {
1605
1566
  viewer: {
1606
1567
  addCorrectionsToGroup: group,
@@ -1656,7 +1617,7 @@ var querySchema = {
1656
1617
  }
1657
1618
  }
1658
1619
  };
1659
- var normalizeData = _19.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1620
+ var normalizeData = _18.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1660
1621
  export {
1661
1622
  auth_default as authReducer,
1662
1623
  entities_default as entitiesReducer,
@@ -1678,8 +1639,6 @@ export {
1678
1639
  getContact,
1679
1640
  getContacts,
1680
1641
  getCurrentUser,
1681
- getDocumentType,
1682
- getDocumentTypes,
1683
1642
  getDraft,
1684
1643
  getDrafts,
1685
1644
  getFaqs,
@@ -1724,7 +1683,6 @@ export {
1724
1683
  makeGetCurrentUser,
1725
1684
  makeSearchBooks,
1726
1685
  makeSearchDrawerNotifications,
1727
- makeSearchLevels,
1728
1686
  makeSearchPages,
1729
1687
  makeSearchSchoolTypes,
1730
1688
  makeSearchSubjects,
@@ -1732,8 +1690,6 @@ export {
1732
1690
  makeUseSearch,
1733
1691
  normalizeData,
1734
1692
  querySchema,
1735
- searchLevels,
1736
- searchSchoolTypes,
1737
1693
  setEntitiesReducer,
1738
1694
  useSearchBooks,
1739
1695
  useSearchBuilderIos,
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.7.0-fce5b143",
5
+ "version": "24.7.0-fd956eb0",
6
6
  "type": "module",
7
7
  "types": "./lib/builttypes/store/src/index.d.ts",
8
8
  "exports": {
@@ -46,10 +46,11 @@
46
46
  "redux": "5.0.1",
47
47
  "reselect": "4.1.8",
48
48
  "typescript": "5.6.3",
49
- "vite": "5.4.11",
50
- "vite-tsconfig-paths": "5.1.3",
51
- "@lls/utils": "24.7.0-fce5b143",
52
- "@lls/vitescripts": "24.7.0-fce5b143"
49
+ "vite": "5.4.10",
50
+ "vite-tsconfig-paths": "5.1.1",
51
+ "vitest": "2.1.4",
52
+ "@lls/utils": "24.7.0-fd956eb0",
53
+ "@lls/vitescripts": "24.7.0-fd956eb0"
53
54
  },
54
55
  "license": "ISC",
55
56
  "dependencies": {
@@ -59,6 +60,7 @@
59
60
  "build": "node build.mjs",
60
61
  "lint": "pnpm biome check --apply src __tests__",
61
62
  "dts": "pnpm tsc --project tsconfig.production.json",
62
- "test": "bun test"
63
+ "test": "pnpm vitest run",
64
+ "v2test": "bun test"
63
65
  }
64
66
  }