Add core Ox modules as ES modules with tests

This commit adds ES module versions of fundamental Ox utilities:
- Array utilities (api, compact, unique, zip, etc.)
- String utilities (capitalize, clean, truncate, wordwrap, etc.)
- Math utilities (trig functions, geographic calculations, etc.)
- Object utilities (clone, serialize, keys/values, etc.)
- Function utilities (cache, debounce, throttle, memoize, etc.)
- Constants (math, time, colors, HTTP status codes)
- Polyfills for older browser compatibility

All modules include proper imports/exports and maintain the same API
as the original implementations. Added comprehensive test coverage with
31 tests passing.

Next steps: Convert remaining core modules, set up build pipeline,
and test backward compatibility with existing examples.

🤖 Generated with AI assistance
This commit is contained in:
Sanjay Bhangar 2026-02-09 17:32:06 +05:30
commit a8a7dc9445
2456 changed files with 149714 additions and 0 deletions

1
dev/Geo/Geo.js Symbolic link
View file

@ -0,0 +1 @@
../../source/Geo/Geo.js

1
dev/Geo/json/Geo.json Symbolic link
View file

@ -0,0 +1 @@
../../../source/Geo/json/Geo.json

1
dev/Geo/json/locale.ar.json Symbolic link
View file

@ -0,0 +1 @@
../../../source/Geo/json/locale.ar.json

1
dev/Geo/json/locale.de.json Symbolic link
View file

@ -0,0 +1 @@
../../../source/Geo/json/locale.de.json

1
dev/Geo/png/flags/16/AC.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AC.png

1
dev/Geo/png/flags/16/AD.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AD.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AE-AJ.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AE-AZ.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AE-DU.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AE-FU.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AE-RK.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AE-SH.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AE-UQ.png

1
dev/Geo/png/flags/16/AE.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AE.png

1
dev/Geo/png/flags/16/AF.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AF.png

1
dev/Geo/png/flags/16/AG.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AG.png

1
dev/Geo/png/flags/16/AI.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AI.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AIDJ.png

1
dev/Geo/png/flags/16/AL.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AL.png

1
dev/Geo/png/flags/16/AM.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AM.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/ANHH.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AO-CAB.png

1
dev/Geo/png/flags/16/AO.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AO.png

1
dev/Geo/png/flags/16/AQ.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AQ.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AR-AQ.png

1
dev/Geo/png/flags/16/AR.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AR.png

1
dev/Geo/png/flags/16/AS.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AS.png

1
dev/Geo/png/flags/16/AT.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AT.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AU-AC.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AU-AQ.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AU-CS.png

1
dev/Geo/png/flags/16/AU.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AU.png

1
dev/Geo/png/flags/16/AW.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AW.png

1
dev/Geo/png/flags/16/AX.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AX.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AZ-NK.png

1
dev/Geo/png/flags/16/AZ.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/AZ.png

1
dev/Geo/png/flags/16/BA.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BA.png

1
dev/Geo/png/flags/16/BB.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BB.png

1
dev/Geo/png/flags/16/BD.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BD.png

1
dev/Geo/png/flags/16/BE.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BE.png

1
dev/Geo/png/flags/16/BF.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BF.png

1
dev/Geo/png/flags/16/BG.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BG.png

1
dev/Geo/png/flags/16/BH.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BH.png

1
dev/Geo/png/flags/16/BI.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BI.png

1
dev/Geo/png/flags/16/BJ.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BJ.png

1
dev/Geo/png/flags/16/BL.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BL.png

1
dev/Geo/png/flags/16/BM.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BM.png

1
dev/Geo/png/flags/16/BN.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BN.png

1
dev/Geo/png/flags/16/BO.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BO.png

1
dev/Geo/png/flags/16/BQ.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BQ.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BQAQ.png

1
dev/Geo/png/flags/16/BR.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BR.png

1
dev/Geo/png/flags/16/BS.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BS.png

1
dev/Geo/png/flags/16/BT.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BT.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BUMM.png

1
dev/Geo/png/flags/16/BV.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BV.png

1
dev/Geo/png/flags/16/BW.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BW.png

1
dev/Geo/png/flags/16/BY.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BY.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BYAA.png

1
dev/Geo/png/flags/16/BZ.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/BZ.png

1
dev/Geo/png/flags/16/CA.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CA.png

1
dev/Geo/png/flags/16/CC.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CC.png

1
dev/Geo/png/flags/16/CD.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CD.png

1
dev/Geo/png/flags/16/CF.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CF.png

1
dev/Geo/png/flags/16/CG.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CG.png

1
dev/Geo/png/flags/16/CH.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CH.png

1
dev/Geo/png/flags/16/CI.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CI.png

1
dev/Geo/png/flags/16/CK.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CK.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CL-AQ.png

1
dev/Geo/png/flags/16/CL.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CL.png

1
dev/Geo/png/flags/16/CM.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CM.png

1
dev/Geo/png/flags/16/CN.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CN.png

1
dev/Geo/png/flags/16/CO.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CO.png

1
dev/Geo/png/flags/16/CP.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CP.png

1
dev/Geo/png/flags/16/CR.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CR.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CSHH.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CSXX.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CTKI.png

1
dev/Geo/png/flags/16/CU.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CU.png

1
dev/Geo/png/flags/16/CV.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CV.png

1
dev/Geo/png/flags/16/CW.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CW.png

1
dev/Geo/png/flags/16/CX.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CX.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CY-NC.png

1
dev/Geo/png/flags/16/CY.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CY.png

1
dev/Geo/png/flags/16/CZ.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/CZ.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/DDDE.png

1
dev/Geo/png/flags/16/DE.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/DE.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/DEDE.png

1
dev/Geo/png/flags/16/DG.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/DG.png

1
dev/Geo/png/flags/16/DJ.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/DJ.png

1
dev/Geo/png/flags/16/DK.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/DK.png

1
dev/Geo/png/flags/16/DM.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/DM.png

1
dev/Geo/png/flags/16/DO.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/DO.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/DYBJ.png

1
dev/Geo/png/flags/16/DZ.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/DZ.png

1
dev/Geo/png/flags/16/EA.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/EA.png

1
dev/Geo/png/flags/16/EC.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/EC.png

1
dev/Geo/png/flags/16/EE.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/EE.png

1
dev/Geo/png/flags/16/EG.png Symbolic link
View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/EG.png

View file

@ -0,0 +1 @@
../../../../../source/Geo/png/flags/16/EGEG.png

Some files were not shown because too many files have changed in this diff Show more