@lls/store 24.1.57-0af8f4eb → 24.1.57-2fad8b29

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 (3) hide show
  1. package/README.md +0 -6
  2. package/lib/index.js +64 -344
  3. package/package.json +4 -4
package/README.md CHANGED
@@ -3,12 +3,6 @@
3
3
  Represents lls models
4
4
 
5
5
  Centralizes
6
-
7
6
  - model types
8
7
  - selectors
9
8
 
10
- Only handles
11
-
12
- - entities
13
- - auth
14
-
package/lib/index.js CHANGED
@@ -33,253 +33,6 @@ var init_define_import_meta = __esm({
33
33
  }
34
34
  });
35
35
 
36
- // ../../node_modules/.pnpm/reselect@4.1.8/node_modules/reselect/lib/defaultMemoize.js
37
- var require_defaultMemoize = __commonJS({
38
- "../../node_modules/.pnpm/reselect@4.1.8/node_modules/reselect/lib/defaultMemoize.js"(exports) {
39
- "use strict";
40
- init_define_import_meta();
41
- Object.defineProperty(exports, "__esModule", {
42
- value: true
43
- });
44
- exports.createCacheKeyComparator = createCacheKeyComparator;
45
- exports.defaultEqualityCheck = void 0;
46
- exports.defaultMemoize = defaultMemoize;
47
- var NOT_FOUND = "NOT_FOUND";
48
- function createSingletonCache(equals) {
49
- var entry;
50
- return {
51
- get: function get(key) {
52
- if (entry && equals(entry.key, key)) {
53
- return entry.value;
54
- }
55
- return NOT_FOUND;
56
- },
57
- put: function put(key, value) {
58
- entry = {
59
- key,
60
- value
61
- };
62
- },
63
- getEntries: function getEntries() {
64
- return entry ? [entry] : [];
65
- },
66
- clear: function clear() {
67
- entry = void 0;
68
- }
69
- };
70
- }
71
- function createLruCache(maxSize, equals) {
72
- var entries = [];
73
- function get(key) {
74
- var cacheIndex = entries.findIndex(function(entry2) {
75
- return equals(key, entry2.key);
76
- });
77
- if (cacheIndex > -1) {
78
- var entry = entries[cacheIndex];
79
- if (cacheIndex > 0) {
80
- entries.splice(cacheIndex, 1);
81
- entries.unshift(entry);
82
- }
83
- return entry.value;
84
- }
85
- return NOT_FOUND;
86
- }
87
- function put(key, value) {
88
- if (get(key) === NOT_FOUND) {
89
- entries.unshift({
90
- key,
91
- value
92
- });
93
- if (entries.length > maxSize) {
94
- entries.pop();
95
- }
96
- }
97
- }
98
- function getEntries() {
99
- return entries;
100
- }
101
- function clear() {
102
- entries = [];
103
- }
104
- return {
105
- get,
106
- put,
107
- getEntries,
108
- clear
109
- };
110
- }
111
- var defaultEqualityCheck = function defaultEqualityCheck2(a, b) {
112
- return a === b;
113
- };
114
- exports.defaultEqualityCheck = defaultEqualityCheck;
115
- function createCacheKeyComparator(equalityCheck) {
116
- return function areArgumentsShallowlyEqual(prev, next) {
117
- if (prev === null || next === null || prev.length !== next.length) {
118
- return false;
119
- }
120
- var length = prev.length;
121
- for (var i = 0; i < length; i++) {
122
- if (!equalityCheck(prev[i], next[i])) {
123
- return false;
124
- }
125
- }
126
- return true;
127
- };
128
- }
129
- function defaultMemoize(func, equalityCheckOrOptions) {
130
- var providedOptions = typeof equalityCheckOrOptions === "object" ? equalityCheckOrOptions : {
131
- equalityCheck: equalityCheckOrOptions
132
- };
133
- var _providedOptions$equa = providedOptions.equalityCheck, equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa, _providedOptions$maxS = providedOptions.maxSize, maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS, resultEqualityCheck = providedOptions.resultEqualityCheck;
134
- var comparator = createCacheKeyComparator(equalityCheck);
135
- var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator);
136
- function memoized() {
137
- var value = cache.get(arguments);
138
- if (value === NOT_FOUND) {
139
- value = func.apply(null, arguments);
140
- if (resultEqualityCheck) {
141
- var entries = cache.getEntries();
142
- var matchingEntry = entries.find(function(entry) {
143
- return resultEqualityCheck(entry.value, value);
144
- });
145
- if (matchingEntry) {
146
- value = matchingEntry.value;
147
- }
148
- }
149
- cache.put(arguments, value);
150
- }
151
- return value;
152
- }
153
- memoized.clearCache = function() {
154
- return cache.clear();
155
- };
156
- return memoized;
157
- }
158
- }
159
- });
160
-
161
- // ../../node_modules/.pnpm/reselect@4.1.8/node_modules/reselect/lib/index.js
162
- var require_lib = __commonJS({
163
- "../../node_modules/.pnpm/reselect@4.1.8/node_modules/reselect/lib/index.js"(exports) {
164
- "use strict";
165
- init_define_import_meta();
166
- Object.defineProperty(exports, "__esModule", {
167
- value: true
168
- });
169
- exports.createSelector = void 0;
170
- exports.createSelectorCreator = createSelectorCreator;
171
- exports.createStructuredSelector = void 0;
172
- Object.defineProperty(exports, "defaultEqualityCheck", {
173
- enumerable: true,
174
- get: function get() {
175
- return _defaultMemoize.defaultEqualityCheck;
176
- }
177
- });
178
- Object.defineProperty(exports, "defaultMemoize", {
179
- enumerable: true,
180
- get: function get() {
181
- return _defaultMemoize.defaultMemoize;
182
- }
183
- });
184
- var _defaultMemoize = require_defaultMemoize();
185
- function getDependencies(funcs) {
186
- var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;
187
- if (!dependencies.every(function(dep) {
188
- return typeof dep === "function";
189
- })) {
190
- var dependencyTypes = dependencies.map(function(dep) {
191
- return typeof dep === "function" ? "function " + (dep.name || "unnamed") + "()" : typeof dep;
192
- }).join(", ");
193
- throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]");
194
- }
195
- return dependencies;
196
- }
197
- function createSelectorCreator(memoize) {
198
- for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
199
- memoizeOptionsFromArgs[_key - 1] = arguments[_key];
200
- }
201
- var createSelector3 = function createSelector4() {
202
- for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
203
- funcs[_key2] = arguments[_key2];
204
- }
205
- var _recomputations = 0;
206
- var _lastResult;
207
- var directlyPassedOptions = {
208
- memoizeOptions: void 0
209
- };
210
- var resultFunc = funcs.pop();
211
- if (typeof resultFunc === "object") {
212
- directlyPassedOptions = resultFunc;
213
- resultFunc = funcs.pop();
214
- }
215
- if (typeof resultFunc !== "function") {
216
- throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]");
217
- }
218
- var _directlyPassedOption = directlyPassedOptions, _directlyPassedOption2 = _directlyPassedOption.memoizeOptions, memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2;
219
- var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];
220
- var dependencies = getDependencies(funcs);
221
- var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() {
222
- _recomputations++;
223
- return resultFunc.apply(null, arguments);
224
- }].concat(finalMemoizeOptions));
225
- var selector = memoize(function dependenciesChecker() {
226
- var params = [];
227
- var length = dependencies.length;
228
- for (var i = 0; i < length; i++) {
229
- params.push(dependencies[i].apply(null, arguments));
230
- }
231
- _lastResult = memoizedResultFunc.apply(null, params);
232
- return _lastResult;
233
- });
234
- Object.assign(selector, {
235
- resultFunc,
236
- memoizedResultFunc,
237
- dependencies,
238
- lastResult: function lastResult() {
239
- return _lastResult;
240
- },
241
- recomputations: function recomputations() {
242
- return _recomputations;
243
- },
244
- resetRecomputations: function resetRecomputations() {
245
- return _recomputations = 0;
246
- }
247
- });
248
- return selector;
249
- };
250
- return createSelector3;
251
- }
252
- var createSelector2 = /* @__PURE__ */ createSelectorCreator(_defaultMemoize.defaultMemoize);
253
- exports.createSelector = createSelector2;
254
- var createStructuredSelector = function createStructuredSelector2(selectors, selectorCreator) {
255
- if (selectorCreator === void 0) {
256
- selectorCreator = createSelector2;
257
- }
258
- if (typeof selectors !== "object") {
259
- throw new Error("createStructuredSelector expects first argument to be an object " + ("where each property is a selector, instead received a " + typeof selectors));
260
- }
261
- var objectKeys = Object.keys(selectors);
262
- var resultSelector = selectorCreator(
263
- // @ts-ignore
264
- objectKeys.map(function(key) {
265
- return selectors[key];
266
- }),
267
- function() {
268
- for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
269
- values[_key3] = arguments[_key3];
270
- }
271
- return values.reduce(function(composition, value, index) {
272
- composition[objectKeys[index]] = value;
273
- return composition;
274
- }, {});
275
- }
276
- );
277
- return resultSelector;
278
- };
279
- exports.createStructuredSelector = createStructuredSelector;
280
- }
281
- });
282
-
283
36
  // ../../node_modules/.pnpm/normalizr@3.6.2/node_modules/normalizr/dist/normalizr.js
284
37
  var require_normalizr = __commonJS({
285
38
  "../../node_modules/.pnpm/normalizr@3.6.2/node_modules/normalizr/dist/normalizr.js"(exports) {
@@ -735,67 +488,29 @@ init_define_import_meta();
735
488
 
736
489
  // src/selectors/school.ts
737
490
  init_define_import_meta();
738
- import { filterEntitiesSimpleFieldByValues } from "@lls/utils";
739
- import _2 from "lodash/fp.js";
740
-
741
- // src/selectors/crud.ts
742
- init_define_import_meta();
743
- import { createSearchSelector, makeGetAllEntities, makeGetEntityById } from "@lls/utils";
491
+ import {
492
+ createSearchSelector,
493
+ filterEntitiesSimpleFieldByValues,
494
+ makeGetAllEntities,
495
+ makeGetEntityById
496
+ } from "@lls/utils";
744
497
  import _ from "lodash/fp.js";
745
- var crud = (entityName, { search: search3 }) => {
746
- const getElements = makeGetAllEntities(entityName);
747
- const makeSearchElements = () => createSearchSelector(
748
- getElements,
749
- (_state, params) => params,
750
- (elements, params) => search3(params)(elements)
751
- );
752
- const methodName = _.capitalize(entityName);
753
- const getElementById = makeGetEntityById(entityName);
754
- const back = {
755
- [`get${methodName}`]: getElements,
756
- [`search${methodName}`]: makeSearchElements(),
757
- [`get${methodName.replace(/s$/, "")}`]: getElementById,
758
- [`makeSearch${methodName}`]: makeSearchElements
759
- };
760
- return back;
761
- };
762
-
763
- // src/selectors/school.ts
764
- var search = ({ ids }) => _2.flow(filterEntitiesSimpleFieldByValues("id", ids));
765
- var { getSchools, getSchool, searchSchools, makeSearchSchools } = crud("schools", {
766
- search
767
- });
768
-
769
- // src/selectors/user.ts
770
- init_define_import_meta();
771
- var import_reselect = __toESM(require_lib(), 1);
772
- import { filterEntitiesArrayFieldByValues, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues2 } from "@lls/utils";
773
- import _4 from "lodash/fp.js";
774
-
775
- // src/selectors/auth.ts
776
- init_define_import_meta();
777
- import _3 from "lodash/fp.js";
778
- var getAuth = _3.get("auth");
779
- var getIsLogged = _3.flow(_3.get("auth.id"), _3.negate(_3.isNil));
780
- var getToken = _3.get("auth.token");
781
-
782
- // src/selectors/user.ts
783
- var search2 = ({ ids, schoolIds }) => _4.flow(filterEntitiesArrayFieldByValues("schools", schoolIds), filterEntitiesSimpleFieldByValues2("id", ids));
784
- var { getUsers, getUser, searchUsers, makeSearchUsers } = crud("users", {
785
- search: search2
786
- });
787
- var getCurrentUser = (0, import_reselect.createSelector)(
788
- getAuth,
789
- getUsers,
790
- (auth2, users) => users?.find((user2) => user2?.id === auth2?.id)
498
+ var getSchools = makeGetAllEntities("schools");
499
+ var getSchool = makeGetEntityById("schools");
500
+ var searchSchools = createSearchSelector(
501
+ getSchools,
502
+ (_state, params) => params,
503
+ (schools, { ids }) => {
504
+ return _.flow(filterEntitiesSimpleFieldByValues("id", ids))(schools);
505
+ }
791
506
  );
792
507
 
793
508
  // src/reducers/entities.ts
794
509
  init_define_import_meta();
795
510
  import { makeReducer } from "@lls/utils";
796
- import _5 from "lodash/fp.js";
511
+ import _2 from "lodash/fp.js";
797
512
 
798
- // src/actions/index.ts
513
+ // ../core/src/actions/index.ts
799
514
  init_define_import_meta();
800
515
  import { makeActionCreator } from "@lls/utils";
801
516
  var actionTypes = {
@@ -804,7 +519,24 @@ var actionTypes = {
804
519
  SET_ENTITY: "SET_ENTITY",
805
520
  SET_ENTITIES: "SET_ENTITIES",
806
521
  RESET_AUTH: "RESET_AUTH",
807
- SET_AUTH: "SET_AUTH"
522
+ SET_AUTH: "SET_AUTH",
523
+ SET_LOADING_SCREEN: "SET_LOADING_SCREEN",
524
+ SET_MODAL: "SET_MODAL",
525
+ ADD_NOTIFICATION: "ADD_NOTIFICATION",
526
+ REMOVE_NOTIFICATION: "REMOVE_NOTIFICATION",
527
+ SET_SHOWN_CONTEXTUAL_ACTIONS: "SET_SHOW_CONTEXTUAL_ACTIONS",
528
+ SET_IS_DRAWER_OPEN: "SET_IS_DRAWER_OPEN",
529
+ SET_DRAWER_EXPANDED_ID: "SET_DRAWER_EXPANDED_ID",
530
+ SET_IS_OPEN_SAVE_MODAL: "SET_IS_OPEN_SAVE_MODAL",
531
+ SET_IS_VIEWER_READY: "SET_IS_VIEWER_READY",
532
+ SET_CURRENT_TOUR_ID: "SET_CURRENT_TOUR_ID",
533
+ SET_CURRENT_TOUR_STEP: "SET_CURRENT_TOUR_STEP",
534
+ RESET_TOUR: "RESET_TOUR",
535
+ SET_IS_TOUR_PANEL_OPEN: "SET_IS_TOUR_PANEL_OPEN",
536
+ SET_TOUR_PANEL_MODE: "SET_TOUR_PANEL_MODE",
537
+ SET_IS_STUDENT_VIEW_ACTIVATED: "SET_IS_STUDENT_VIEW_ACTIVATED",
538
+ SET_SCENARIO_ID: "SET_SCENARIO_ID",
539
+ SET_SSR_FAKE_PAGE_ID: "SET_SSR_FAKE_PAGE_ID"
808
540
  };
809
541
  var deleteEntity = makeActionCreator(actionTypes.DELETE_ENTITY);
810
542
  var updateEntity = makeActionCreator(actionTypes.UPDATE_ENTITY);
@@ -812,27 +544,44 @@ var setEntity = makeActionCreator(actionTypes.SET_ENTITY);
812
544
  var setEntities = makeActionCreator(actionTypes.SET_ENTITIES);
813
545
  var setAuth = makeActionCreator(actionTypes.SET_AUTH);
814
546
  var resetAuth = makeActionCreator(actionTypes.RESET_AUTH);
547
+ var setLoadingScreen = makeActionCreator(actionTypes.SET_LOADING_SCREEN);
548
+ var setModal = makeActionCreator(actionTypes.SET_MODAL);
549
+ var addNotification = makeActionCreator(actionTypes.ADD_NOTIFICATION);
550
+ var removeNotification = makeActionCreator(actionTypes.REMOVE_NOTIFICATION);
551
+ var setShownContextualActions = makeActionCreator(actionTypes.SET_SHOWN_CONTEXTUAL_ACTIONS);
552
+ var setIsDrawerOpen = makeActionCreator(actionTypes.SET_IS_DRAWER_OPEN);
553
+ var setIsViewerReady = makeActionCreator(actionTypes.SET_IS_VIEWER_READY);
554
+ var setDrawerExpandedId = makeActionCreator(actionTypes.SET_DRAWER_EXPANDED_ID);
555
+ var setIsOpenSaveModal = makeActionCreator(actionTypes.SET_IS_OPEN_SAVE_MODAL);
556
+ var setCurrentTourId = makeActionCreator(actionTypes.SET_CURRENT_TOUR_ID);
557
+ var setCurrentTourStep = makeActionCreator(actionTypes.SET_CURRENT_TOUR_STEP);
558
+ var resetTour = makeActionCreator(actionTypes.RESET_TOUR);
559
+ var setIsTourPanelOpen = makeActionCreator(actionTypes.SET_IS_TOUR_PANEL_OPEN);
560
+ var setTourPanelMode = makeActionCreator(actionTypes.SET_TOUR_PANEL_MODE);
561
+ var setScenarioId = makeActionCreator(actionTypes.SET_SCENARIO_ID);
562
+ var setIsStudentViewActivated = makeActionCreator(actionTypes.SET_IS_STUDENT_VIEW_ACTIVATED);
563
+ var setSsrFakePageId = makeActionCreator(actionTypes.SET_SSR_FAKE_PAGE_ID);
815
564
 
816
565
  // src/reducers/entities.ts
817
566
  var deleteEntityReducer = (state, payload) => {
818
567
  const { path } = payload;
819
- return _5.omit(path, state);
568
+ return _2.omit(path, state);
820
569
  };
821
570
  var updateEntityReducer = (state, payload) => {
822
571
  const { path, entity } = payload;
823
- const currentEntity = _5.get(path, state);
824
- return _5.set(path, _5.merge(currentEntity, entity), state);
572
+ const currentEntity = _2.get(path, state);
573
+ return _2.set(path, _2.merge(currentEntity, entity), state);
825
574
  };
826
575
  var setEntityReducer = (state, payload) => {
827
576
  const { path, entity } = payload;
828
- return _5.set(path, entity, state);
577
+ return _2.set(path, entity, state);
829
578
  };
830
579
  var shallowAssign = (old, next, transform) => {
831
580
  let updated = false;
832
- const merged = _5.flow(
833
- _5.toPairs,
834
- _5.reduce((memo, [key, val]) => {
835
- if (_5.isEmpty(val)) return memo;
581
+ const merged = _2.flow(
582
+ _2.toPairs,
583
+ _2.reduce((memo, [key, val]) => {
584
+ if (_2.isEmpty(val)) return memo;
836
585
  if (!old[key]) {
837
586
  updated = true;
838
587
  memo[key] = val;
@@ -845,7 +594,7 @@ var shallowAssign = (old, next, transform) => {
845
594
  return memo;
846
595
  }
847
596
  return memo;
848
- }, _5.clone(old))
597
+ }, _2.clone(old))
849
598
  )(next);
850
599
  return updated ? merged : old;
851
600
  };
@@ -854,7 +603,7 @@ var setEntitiesReducer = (state, payload) => {
854
603
  return shallowAssign(
855
604
  entityKind,
856
605
  nextEntityKind,
857
- (oldEntity, nextEntity) => _5.isEqual(oldEntity, nextEntity) ? oldEntity : _5.assign(oldEntity, nextEntity)
606
+ (oldEntity, nextEntity) => _2.isEqual(oldEntity, nextEntity) ? oldEntity : _2.assign(oldEntity, nextEntity)
858
607
  );
859
608
  });
860
609
  };
@@ -869,31 +618,10 @@ var entities = makeReducer(
869
618
  );
870
619
  var entities_default = entities;
871
620
 
872
- // src/reducers/auth.ts
873
- init_define_import_meta();
874
- import { makeReducer as makeReducer2 } from "@lls/utils";
875
- import _6 from "lodash/fp.js";
876
- var initialState = {
877
- id: void 0,
878
- role: null,
879
- token: null,
880
- isStudent: null,
881
- isTeacher: null,
882
- isPremium: null,
883
- userPages: null,
884
- username: null,
885
- llsUserId: null
886
- };
887
- var auth = makeReducer2(initialState, {
888
- [actionTypes.SET_AUTH]: _6.assign,
889
- [actionTypes.RESET_AUTH]: _6.constant(initialState)
890
- });
891
- var auth_default = auth;
892
-
893
621
  // src/schema/index.ts
894
622
  init_define_import_meta();
895
623
  var import_normalizr = __toESM(require_normalizr(), 1);
896
- import _7 from "lodash/fp.js";
624
+ import _3 from "lodash/fp.js";
897
625
  var document = new import_normalizr.schema.Entity("documents", {}, { idAttribute: "resourceId" });
898
626
  var subject = new import_normalizr.schema.Entity("subjects");
899
627
  var level = new import_normalizr.schema.Entity("levels");
@@ -1078,20 +806,12 @@ var querySchema = {
1078
806
  }
1079
807
  }
1080
808
  };
1081
- var normalizeData = _7.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
809
+ var normalizeData = _3.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1082
810
  export {
1083
- auth_default as authReducer,
1084
811
  entities_default as entitiesReducer,
1085
- getCurrentUser,
1086
812
  getSchool,
1087
813
  getSchools,
1088
- getUser,
1089
- getUsers,
1090
- makeSearchSchools,
1091
- makeSearchUsers,
1092
814
  normalizeData,
1093
815
  querySchema,
1094
- searchSchools,
1095
- searchUsers,
1096
- setEntitiesReducer
816
+ searchSchools
1097
817
  };
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.57-0af8f4eb",
5
+ "version": "24.1.57-2fad8b29",
6
6
  "type": "module",
7
7
  "types": "./lib/builttypes/store/src/index.d.ts",
8
8
  "exports": {
@@ -37,12 +37,12 @@
37
37
  "lodash": "4.17.21",
38
38
  "react": "18.3.1",
39
39
  "reselect": "4.1.8",
40
- "typescript": "5.5.4",
40
+ "typescript": "5.5.3",
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.57-0af8f4eb",
45
- "@lls/vitescripts": "24.1.57-0af8f4eb"
44
+ "@lls/utils": "24.1.57-2fad8b29",
45
+ "@lls/vitescripts": "24.1.57-2fad8b29"
46
46
  },
47
47
  "license": "ISC",
48
48
  "dependencies": {