@happychef/algorithm 1.2.31 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/.github/workflows/ci-cd.yml +80 -80
  2. package/CHANGELOG.md +8 -8
  3. package/RESERVERINGEN_GIDS.md +986 -986
  4. package/assignTables.js +444 -444
  5. package/changes/2025/December/PR2___change.md +14 -14
  6. package/changes/2025/December/PR3_add__change.md +20 -20
  7. package/changes/2025/December/PR4___.md +15 -15
  8. package/changes/2025/December/PR5___.md +15 -15
  9. package/changes/2025/December/PR6__del_.md +17 -17
  10. package/changes/2025/December/PR7_add__change.md +21 -21
  11. package/changes/2026/February/PR15_add__change.md +21 -21
  12. package/changes/2026/February/PR16_add_getDateClosingReasons.md +31 -0
  13. package/changes/2026/January/PR10_add__change.md +21 -21
  14. package/changes/2026/January/PR11_add__change.md +19 -19
  15. package/changes/2026/January/PR12_add__.md +21 -21
  16. package/changes/2026/January/PR13_add__change.md +20 -20
  17. package/changes/2026/January/PR14_add__change.md +19 -19
  18. package/changes/2026/January/PR8_add__change.md +38 -38
  19. package/changes/2026/January/PR9_add__change.md +19 -19
  20. package/filters/maxArrivalsFilter.js +114 -114
  21. package/filters/maxGroupsFilter.js +221 -221
  22. package/filters/timeFilter.js +89 -89
  23. package/getAvailableTimeblocks.js +158 -158
  24. package/getDateClosingReasons.js +193 -0
  25. package/grouping.js +162 -162
  26. package/index.js +43 -42
  27. package/isDateAvailable.js +80 -80
  28. package/isDateAvailableWithTableCheck.js +172 -172
  29. package/isTimeAvailable.js +26 -26
  30. package/package.json +27 -27
  31. package/processing/dailyGuestCounts.js +73 -73
  32. package/processing/mealTypeCount.js +133 -133
  33. package/processing/timeblocksAvailable.js +182 -182
  34. package/reservation_data/counter.js +74 -74
  35. package/restaurant_data/exceptions.js +150 -150
  36. package/restaurant_data/openinghours.js +142 -142
  37. package/simulateTableAssignment.js +726 -726
  38. package/tableHelpers.js +209 -209
  39. package/tables/time/parseTime.js +19 -19
  40. package/tables/time/shifts.js +7 -7
  41. package/tables/utils/calculateDistance.js +13 -13
  42. package/tables/utils/isTableFreeForAllSlots.js +14 -14
  43. package/tables/utils/isTemporaryTableValid.js +39 -39
  44. package/test/test_counter.js +194 -194
  45. package/test/test_dailyCount.js +81 -81
  46. package/test/test_datesAvailable.js +106 -106
  47. package/test/test_exceptions.js +172 -172
  48. package/test/test_isDateAvailable.js +330 -330
  49. package/test/test_mealTypeCount.js +54 -54
  50. package/test/test_timesAvailable.js +88 -88
  51. package/test-meal-stop-fix.js +147 -147
  52. package/test-meal-stop-simple.js +93 -93
  53. package/test.js +336 -336
  54. package/bundle_entry.js +0 -100
  55. package/moment-timezone-shim.js +0 -179
  56. package/nul +0 -0
@@ -1,80 +1,80 @@
1
- name: CI/CD Pipeline
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
- pull_request:
8
- branches:
9
- - main
10
- types: [opened, synchronize, reopened]
11
-
12
- jobs:
13
- publish:
14
- name: Publish to NPM
15
- runs-on: ubuntu-latest
16
- if: github.ref == 'refs/heads/main' && github.event_name == 'push'
17
-
18
- steps:
19
- - name: Checkout code
20
- uses: actions/checkout@v4
21
-
22
- - name: Setup Node.js
23
- uses: actions/setup-node@v4
24
- with:
25
- node-version: '20.x'
26
- registry-url: 'https://registry.npmjs.org'
27
- cache: 'npm'
28
-
29
- - name: Install dependencies
30
- run: npm ci
31
-
32
- - name: Check if version changed
33
- id: version-check
34
- run: |
35
- PACKAGE_VERSION=$(node -p "require('./package.json').version")
36
- NPM_VERSION=$(npm view @happychef/algorithm version 2>/dev/null || echo "0.0.0")
37
- echo "Package version: $PACKAGE_VERSION"
38
- echo "NPM version: $NPM_VERSION"
39
- if [ "$PACKAGE_VERSION" != "$NPM_VERSION" ]; then
40
- echo "version_changed=true" >> $GITHUB_OUTPUT
41
- echo "Version changed from $NPM_VERSION to $PACKAGE_VERSION"
42
- else
43
- echo "version_changed=false" >> $GITHUB_OUTPUT
44
- echo "Version unchanged: $PACKAGE_VERSION"
45
- fi
46
-
47
- - name: Publish to NPM
48
- if: steps.version-check.outputs.version_changed == 'true'
49
- run: |
50
- npm publish --access public
51
- echo "## 📦 NPM Package Published" >> $GITHUB_STEP_SUMMARY
52
- echo "" >> $GITHUB_STEP_SUMMARY
53
- echo "✅ Successfully published @happychef/algorithm@$(node -p "require('./package.json').version")" >> $GITHUB_STEP_SUMMARY
54
- echo "" >> $GITHUB_STEP_SUMMARY
55
- echo "🔗 [View on NPM](https://www.npmjs.com/package/@happychef/algorithm)" >> $GITHUB_STEP_SUMMARY
56
- env:
57
- NODE_AUTH_TOKEN: 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
58
-
59
- - name: Skip publishing (version unchanged)
60
- if: steps.version-check.outputs.version_changed == 'false'
61
- run: |
62
- echo "## ⏭️ Publishing Skipped" >> $GITHUB_STEP_SUMMARY
63
- echo "" >> $GITHUB_STEP_SUMMARY
64
- echo "Version $(node -p "require('./package.json').version") is already published" >> $GITHUB_STEP_SUMMARY
65
- echo "" >> $GITHUB_STEP_SUMMARY
66
- echo "💡 Bump the version in package.json to trigger publishing" >> $GITHUB_STEP_SUMMARY
67
-
68
- - name: Create Git Tag
69
- if: steps.version-check.outputs.version_changed == 'true'
70
- run: |
71
- PACKAGE_VERSION=$(node -p "require('./package.json').version")
72
- git config user.name "github-actions[bot]"
73
- git config user.email "github-actions[bot]@users.noreply.github.com"
74
- git tag -a "v$PACKAGE_VERSION" -m "Release v$PACKAGE_VERSION"
75
- git push origin "v$PACKAGE_VERSION"
76
- echo "## 🏷️ Git Tag Created" >> $GITHUB_STEP_SUMMARY
77
- echo "" >> $GITHUB_STEP_SUMMARY
78
- echo "Created and pushed tag: v$PACKAGE_VERSION" >> $GITHUB_STEP_SUMMARY
79
- env:
80
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1
+ name: CI/CD Pipeline
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+ types: [opened, synchronize, reopened]
11
+
12
+ jobs:
13
+ publish:
14
+ name: Publish to NPM
15
+ runs-on: ubuntu-latest
16
+ if: github.ref == 'refs/heads/main' && github.event_name == 'push'
17
+
18
+ steps:
19
+ - name: Checkout code
20
+ uses: actions/checkout@v4
21
+
22
+ - name: Setup Node.js
23
+ uses: actions/setup-node@v4
24
+ with:
25
+ node-version: '20.x'
26
+ registry-url: 'https://registry.npmjs.org'
27
+ cache: 'npm'
28
+
29
+ - name: Install dependencies
30
+ run: npm ci
31
+
32
+ - name: Check if version changed
33
+ id: version-check
34
+ run: |
35
+ PACKAGE_VERSION=$(node -p "require('./package.json').version")
36
+ NPM_VERSION=$(npm view @happychef/algorithm version 2>/dev/null || echo "0.0.0")
37
+ echo "Package version: $PACKAGE_VERSION"
38
+ echo "NPM version: $NPM_VERSION"
39
+ if [ "$PACKAGE_VERSION" != "$NPM_VERSION" ]; then
40
+ echo "version_changed=true" >> $GITHUB_OUTPUT
41
+ echo "Version changed from $NPM_VERSION to $PACKAGE_VERSION"
42
+ else
43
+ echo "version_changed=false" >> $GITHUB_OUTPUT
44
+ echo "Version unchanged: $PACKAGE_VERSION"
45
+ fi
46
+
47
+ - name: Publish to NPM
48
+ if: steps.version-check.outputs.version_changed == 'true'
49
+ run: |
50
+ npm publish --access public
51
+ echo "## 📦 NPM Package Published" >> $GITHUB_STEP_SUMMARY
52
+ echo "" >> $GITHUB_STEP_SUMMARY
53
+ echo "✅ Successfully published @happychef/algorithm@$(node -p "require('./package.json').version")" >> $GITHUB_STEP_SUMMARY
54
+ echo "" >> $GITHUB_STEP_SUMMARY
55
+ echo "🔗 [View on NPM](https://www.npmjs.com/package/@happychef/algorithm)" >> $GITHUB_STEP_SUMMARY
56
+ env:
57
+ NODE_AUTH_TOKEN: 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
58
+
59
+ - name: Skip publishing (version unchanged)
60
+ if: steps.version-check.outputs.version_changed == 'false'
61
+ run: |
62
+ echo "## ⏭️ Publishing Skipped" >> $GITHUB_STEP_SUMMARY
63
+ echo "" >> $GITHUB_STEP_SUMMARY
64
+ echo "Version $(node -p "require('./package.json').version") is already published" >> $GITHUB_STEP_SUMMARY
65
+ echo "" >> $GITHUB_STEP_SUMMARY
66
+ echo "💡 Bump the version in package.json to trigger publishing" >> $GITHUB_STEP_SUMMARY
67
+
68
+ - name: Create Git Tag
69
+ if: steps.version-check.outputs.version_changed == 'true'
70
+ run: |
71
+ PACKAGE_VERSION=$(node -p "require('./package.json').version")
72
+ git config user.name "github-actions[bot]"
73
+ git config user.email "github-actions[bot]@users.noreply.github.com"
74
+ git tag -a "v$PACKAGE_VERSION" -m "Release v$PACKAGE_VERSION"
75
+ git push origin "v$PACKAGE_VERSION"
76
+ echo "## 🏷️ Git Tag Created" >> $GITHUB_STEP_SUMMARY
77
+ echo "" >> $GITHUB_STEP_SUMMARY
78
+ echo "Created and pushed tag: v$PACKAGE_VERSION" >> $GITHUB_STEP_SUMMARY
79
+ env:
80
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
package/CHANGELOG.md CHANGED
@@ -1,8 +1,8 @@
1
- PR 2:
2
- ADDED:
3
- - Modified the `getAvailableTimeblocks.js` file to change the default value of `uurOpVoorhand` from 4 hours to 0 hours, enabling immediate bookings when the field is not explicitly set in general settings.
4
-
5
- REMOVED:
6
- - No functions, features, or code were removed; only a configuration default value was updated.
7
-
8
- ---
1
+ PR 2:
2
+ ADDED:
3
+ - Modified the `getAvailableTimeblocks.js` file to change the default value of `uurOpVoorhand` from 4 hours to 0 hours, enabling immediate bookings when the field is not explicitly set in general settings.
4
+
5
+ REMOVED:
6
+ - No functions, features, or code were removed; only a configuration default value was updated.
7
+
8
+ ---