ForgejComponent
nl

jComponent

Kleine helpers: GUID, HASH, parseConfig, format en group

jComponent 20 · jcomponent@20 jcomponentfrontendutilities Uitgevoerd met jComponent 20

jComponent voegt een paar helpers toe die je het laden van een utility-bibliotheek besparen:

  • GUID(length) geeft een willekeurige id; HASH(value) geeft een numerieke hash van elke waarde
  • 'key:value;key2:value2'.parseConfig() parset een configuratiestring naar een object en zet getallen en booleans om
  • '{0} is {1}'.format('a', 'b') vervangt {index}-plaatsaanduidingen
  • number.format(decimals, thousandsSeparator, decimalSeparator) en date.format('yyyy-MM-dd') formatteren getallen en datums
  • array.group('field') groepeert objecten op een veld in [{ name, items }]
  • PARSE(json) parset JSON en zet datumstrings om in Date-objecten; date.add('1 day') verschuift een datum
public/index.html
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8" />
	<title>jComponent</title>
	<link rel="stylesheet" href="//cdn.componentator.com/spa.min@20.css" />
	<script src="//cdn.componentator.com/spa.min@20.js"></script>
</head>
<body>
	<p class="out"></p>

	<script>

		window.sample = {
			guid: GUID(12),
			samehash: HASH('total') === HASH('total'),
			config: 'size:3;active:true;name:Peter'.parseConfig(),
			text: '{0} is {1}'.format('Total.js', 'great'),
			price: (1234.5).format(2),
			date: new Date(2026, 9, 16).format('yyyy-MM-dd'),
			groups: [{ type: 'a', n: 1 }, { type: 'b', n: 2 }, { type: 'a', n: 3 }].group('type'),
			parsed: PARSE('{"created":"2026-10-16T10:00:00.000Z"}').created instanceof Date,
			tomorrow: new Date(2026, 9, 16).add('1 day').getDate()
		};

	</script>

</body>
</html>
Probeer het in je browser

Bewerk het voorbeeld en voer het uit. Het draait in een geïsoleerd frame in je browser; er wordt niets naar onze server gestuurd.

Voorbeeld