- Migrated all pages from Next.js to Astro - Added PDPA-compliant Privacy Policy (Thai) - Added PDPA-compliant Terms & Conditions (Thai) - Added Cookie Policy with disclosure (Thai) - Implemented cookie consent banner (client-side) - Integrated Umami Analytics placeholder - Blog system with 3 posts - Optimized Docker configuration for production - Static site build (184KB, 11 pages) - Ready for Easypanel deployment Backup: /Users/kunthawatgreethong/Gitea/dealplustech-backup-nextjs-20260309.tar.gz
40 lines
732 B
JavaScript
40 lines
732 B
JavaScript
/*jshint indent:2, laxcomma:true, laxbreak:true*/
|
|
var util = require('util')
|
|
, diff = require('..')
|
|
, data = require('./practice-data')
|
|
;
|
|
|
|
var cycle = -1
|
|
, i
|
|
, len = data.length
|
|
, prior = {}
|
|
, comparand
|
|
, records
|
|
, ch
|
|
;
|
|
|
|
var applyEachChange = function (ch) {
|
|
diff.applyChange(prior, comparand, ch);
|
|
};
|
|
|
|
while (++cycle < 10) {
|
|
i = -1;
|
|
while (++i < len) {
|
|
|
|
comparand = data[i];
|
|
|
|
// get the difference...
|
|
records = diff(prior, comparand);
|
|
|
|
// round-trip serialize to prune the underlying types...
|
|
var serialized = JSON.stringify(records);
|
|
var desierialized = JSON.parse(serialized);
|
|
|
|
if (desierialized) {
|
|
desierialized.forEach(applyEachChange);
|
|
|
|
prior = comparand;
|
|
}
|
|
}
|
|
}
|