mirror of
https://github.com/kucherenko/jscpd.git
synced 2026-09-19 08:11:03 +08:00
64e471e2b0
Adds 92 new tests (178 → 270 total) with zero source-file modifications: - packages/finder: 13 new test files covering all reporters, subscribers, validators, hooks, utils, options, cloneFound, getFilesToDetect, and InFilesDetector; shared buildClone() factory helper - apps/jscpd: 3 new test files (options-unit, print, store) plus extensions to formats, modes, and options integration tests - vitest.config.ts added to both packages to restrict coverage.include to src/** only, eliminating bin/ and prism.js noise - Fixes 3 tokenizer bugs (trailing space in format lookup, tokenization edge cases) uncovered by the new format fixture suite - Adds fixture files for 40+ language formats to support formats.test.ts
24 lines
596 B
Clojure
24 lines
596 B
Clojure
(ns myapp.products
|
|
(:require [clojure.string :as str]))
|
|
|
|
(defn process-items [coll]
|
|
(map (fn [item]
|
|
{:id (:id item)
|
|
:name (str/upper-case (:name item))
|
|
:value (* (:value item) 2)})
|
|
coll))
|
|
|
|
(defn filter-active [coll]
|
|
(filter #(:active %) coll))
|
|
|
|
(defn sum-values [coll]
|
|
(reduce + (map :value coll)))
|
|
|
|
(defn find-by-id [coll id]
|
|
(first (filter #(= (:id %) id) coll)))
|
|
|
|
; File-specific: fetch products
|
|
(defn fetch-products []
|
|
{:products [{:id 1 :name "widget" :value 99 :active true}
|
|
{:id 2 :name "gadget" :value 49 :active true}]})
|