blob: b16dfbc9e0f2140dad9ba9db56a95876e3d56025 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
(.module:
[lux #*
[data
["." text
format]
[collection
["." list ("#/." functor)]]]]
[//
["//." time]
["//." copyright]
["_" term]
[//
["$" document]]])
(def: #export end-of-license
($.sentence "END OF TERMS AND CONDITIONS"))
(def: #export (copyright-holder holder)
(-> //copyright.Holder Text)
(let [(^slots [#//time.start #//time.end]) (get@ #//copyright.period holder)
single-year? (n/= start end)
period-section (if single-year?
(%n start)
(format (%n start) "-" (%n end)))]
(format "Copyright (C) " period-section " " (get@ #//copyright.name holder))))
(def: #export copyright
(-> (List //copyright.Holder) Text)
(|>> (list/map ..copyright-holder)
(text.join-with text.new-line)))
|