aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/artifact/extension.lux
blob: bcbcc8696771bfd9024acc3227cb3cfe18d1ddb7 (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
31
32
33
34
35
36
37
38
39
40
41
... This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
... If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

(.require
 [library
  [lux (.except type)
   [data
    ["[0]" text (.only)
     ["%" \\format (.only format)]]]
   [meta
    [macro
     ["[0]" template]]]]]
 ["[0]" //
  ["[1]" type]])

(.type .public Extension
  Text)

(def separator
  ".")

(def .public extension
  (-> //.Type Extension)
  (|>> (format ..separator)))

(def .public type
  (-> Extension //.Type)
  (text.replaced ..separator ""))

(with_template [<name>]
  [(def .public <name>
     Extension
     (..extension (template.symbol [//._] [<name>])))]

  [lux_library]
  [jvm_library]
  [js_library]
  [pom]
  [sha1]
  [md5]
  )