silentium 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/beforeRelease.sh +11 -0
  3. package/dist/silentium.cjs +39 -63
  4. package/dist/silentium.cjs.map +1 -1
  5. package/dist/silentium.d.ts +34 -53
  6. package/dist/silentium.js +40 -63
  7. package/dist/silentium.js.map +1 -1
  8. package/dist/silentium.min.js +1 -1
  9. package/dist/silentium.min.mjs +1 -1
  10. package/dist/silentium.min.mjs.map +1 -1
  11. package/dist/silentium.mjs +40 -63
  12. package/dist/silentium.mjs.map +1 -1
  13. package/docs/assets/css/base.css +15 -0
  14. package/docs/assets/css/custom.css +72 -0
  15. package/docs/assets/img/logo.svg +1522 -0
  16. package/docs/assets/js/components/linkDynamic.mjs +14 -0
  17. package/docs/assets/js/components/linkReloadable.mjs +17 -0
  18. package/docs/assets/js/components.mjs +2 -0
  19. package/docs/assets/js/index.mjs +74 -0
  20. package/docs/assets/js/lib/StyleFetched.mjs +19 -0
  21. package/docs/build.sh +7 -3
  22. package/docs/buildRoutes.sh +15 -0
  23. package/docs/favicon.ico +0 -0
  24. package/docs/index-dev.html +4 -80
  25. package/docs/index.html +6 -82
  26. package/docs/pages/compatibility/elegant-objects.html +4 -4
  27. package/docs/pages/examples/errors.html +2 -2
  28. package/docs/pages/examples.html +12 -14
  29. package/docs/pages/guest/guest-applied.html +9 -5
  30. package/docs/pages/guest/guest-cast.html +20 -26
  31. package/docs/pages/guest/guest-disposable.html +32 -42
  32. package/docs/pages/guest/guest-executor-applied.html +21 -17
  33. package/docs/pages/guest/guest-object.html +22 -26
  34. package/docs/pages/guest/guest-pool.html +17 -18
  35. package/docs/pages/guest/guest-sync.html +7 -2
  36. package/docs/pages/guest/index.html +18 -29
  37. package/docs/pages/guest.html +112 -18
  38. package/docs/pages/index.html +24 -52
  39. package/docs/pages/integrations/vue.html +5 -8
  40. package/docs/pages/patron/index.html +14 -20
  41. package/docs/pages/patron/patron-applied.html +2 -2
  42. package/docs/pages/patron/patron-executor-applied.html +2 -2
  43. package/docs/pages/patron/patron-once.html +12 -18
  44. package/docs/pages/patron/patron-pool.html +12 -18
  45. package/docs/pages/patron.html +137 -16
  46. package/docs/pages/philosofy.html +30 -49
  47. package/docs/pages/source/index.html +11 -14
  48. package/docs/pages/source/source-all.html +9 -12
  49. package/docs/pages/source/source-applied.html +2 -2
  50. package/docs/pages/source/source-dynamic.html +3 -3
  51. package/docs/pages/source/source-executor-applied.html +2 -2
  52. package/docs/pages/source/source-map.html +5 -5
  53. package/docs/pages/source/source-once.html +2 -2
  54. package/docs/pages/source/source-race.html +10 -10
  55. package/docs/pages/source/source-sequence.html +2 -2
  56. package/docs/pages/source/source-with-pool.html +8 -11
  57. package/docs/pages/source/source.html +11 -14
  58. package/docs/pages/source.html +162 -31
  59. package/docs/pages/terminology/source.html +5 -9
  60. package/docs/pages/terminology.html +12 -18
  61. package/docs/pages/utils.html +33 -21
  62. package/docs/routes.json +1 -0
  63. package/docs/template.html +4 -80
  64. package/eslint.config.mjs +3 -0
  65. package/package.json +2 -2
  66. package/src/Guest/Guest.ts +3 -3
  67. package/src/Guest/GuestApplied.ts +1 -1
  68. package/src/Guest/GuestCast.ts +1 -1
  69. package/src/Guest/GuestDisposable.ts +1 -1
  70. package/src/Guest/GuestExecutorApplied.ts +1 -1
  71. package/src/Guest/GuestObject.ts +1 -1
  72. package/src/Guest/GuestPool.ts +1 -1
  73. package/src/Guest/GuestSync.ts +1 -1
  74. package/src/Patron/Patron.ts +2 -2
  75. package/src/Patron/PatronApplied.ts +1 -1
  76. package/src/Patron/PatronExecutorApplied.ts +1 -1
  77. package/src/Patron/PatronOnce.ts +1 -1
  78. package/src/Patron/PatronPool.ts +4 -4
  79. package/src/Private/Private.ts +1 -1
  80. package/src/Source/Source.ts +4 -4
  81. package/src/Source/SourceAll.ts +1 -1
  82. package/src/Source/SourceApplied.ts +1 -1
  83. package/src/Source/SourceDynamic.ts +1 -1
  84. package/src/Source/SourceExecutorApplied.ts +1 -1
  85. package/src/Source/SourceMap.ts +1 -1
  86. package/src/Source/SourceOnce.ts +1 -1
  87. package/src/Source/SourceRace.ts +1 -1
  88. package/src/Source/SourceSequence.ts +1 -1
  89. package/src/Source/SourceWithPool.ts +1 -1
  90. package/src/index.ts +0 -1
  91. package/docs/pages/source/source-active.html +0 -120
  92. package/src/Source/SourceActive.test.ts +0 -13
  93. package/src/Source/SourceActive.ts +0 -41
@@ -3,64 +3,195 @@
3
3
  <div class="lg:w-4/6 mx-auto w-full">
4
4
  <div class="flex flex-col sm:flex-row w-full">
5
5
  <div class="sm:w-1/3 text-center w-full">
6
- <div
7
- class="flex flex-col items-center text-center justify-center source-menu"
8
- >
6
+ <div class="flex flex-col items-center text-center justify-center source-menu">
9
7
  <h2 class="font-medium title-font text-gray-900 text-lg">
10
8
  <a href="/source"> Source </a>
11
9
  </h2>
12
10
  <div class="w-12 h-1 bg-indigo-500 rounded mt-2 mb-4"></div>
13
11
  <ul class="text-gray-900">
14
12
  <li class="w-full border-b-2 border-neutral-100 py-4">
15
- <a href="/source/source-active"> SourceActive </a>
13
+ <a class="dynamic-navigation" href="/source/source-all"> SourceAll </a>
16
14
  </li>
17
15
  <li class="w-full border-b-2 border-neutral-100 py-4">
18
- <a href="/source/source-all"> SourceAll </a>
16
+ <a class="dynamic-navigation" href="/source/source-applied"> SourceApplied </a>
19
17
  </li>
20
18
  <li class="w-full border-b-2 border-neutral-100 py-4">
21
- <a href="/source/source-applied"> SourceApplied </a>
19
+ <a class="dynamic-navigation" href="/source/source-dynamic"> SourceDynamic </a>
22
20
  </li>
23
21
  <li class="w-full border-b-2 border-neutral-100 py-4">
24
- <a href="/source/source-dynamic"> SourceDynamic </a>
22
+ <a class="dynamic-navigation" href="/source/source-executor-applied"> SourceExecutorApplied </a>
25
23
  </li>
26
24
  <li class="w-full border-b-2 border-neutral-100 py-4">
27
- <a href="/source/source-executor-applied"> SourceExecutorApplied </a>
25
+ <a class="dynamic-navigation" href="/source/source-map"> SourceMap </a>
28
26
  </li>
29
27
  <li class="w-full border-b-2 border-neutral-100 py-4">
30
- <a href="/source/source-map"> SourceMap </a>
28
+ <a class="dynamic-navigation" href="/source/source-once"> SourceOnce </a>
31
29
  </li>
32
30
  <li class="w-full border-b-2 border-neutral-100 py-4">
33
- <a href="/source/source-once"> SourceOnce </a>
31
+ <a class="dynamic-navigation" href="/source/source-race"> SourceRace </a>
34
32
  </li>
35
33
  <li class="w-full border-b-2 border-neutral-100 py-4">
36
- <a href="/source/source-race"> SourceRace </a>
34
+ <a class="dynamic-navigation" href="/source/source-sequence"> SourceSequence </a>
37
35
  </li>
38
36
  <li class="w-full border-b-2 border-neutral-100 py-4">
39
- <a href="/source/source-sequence"> SourceSequence </a>
40
- </li>
41
- <li class="w-full border-b-2 border-neutral-100 py-4">
42
- <a href="/source/source-with-pool"> SourceWithPool </a>
37
+ <a class="dynamic-navigation" href="/source/source-with-pool"> SourceWithPool </a>
43
38
  </li>
44
39
  </ul>
45
40
  </div>
46
41
  </div>
47
- <div
48
- class="sm:w-2/3 sm:pl-8 sm:border-l border-gray-200 sm:border-t-0 border-t mt-4 sm:mt-0"
49
- >
50
- <div class="source-loader">
51
- <div class="w-full flex justify-center">
52
- <div
53
- class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-e-transparent align-[-0.125em] text-indigo-500 motion-reduce:animate-[spin_1.5s_linear_infinite]"
54
- role="status"
55
- >
56
- <span
57
- class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
58
- >Loading...</span
59
- >
60
- </div>
61
- </div>
42
+ <div class="sm:w-2/3 sm:pl-8 sm:border-l border-gray-200 sm:border-t-0 border-t mt-4 sm:mt-0">
43
+ <h1 class="pb-3 text-xl font-semibold text-gray-600">Класс Source</h1>
44
+
45
+ <a href="https://github.com/kosukhin/patron/blob/main/src/Source/Source.ts" target="_blank"
46
+ class="inline-flex gap-1 items-center bg-gray-100 border-0 py-1 px-3 focus:outline-none hover:bg-gray-200 rounded text-base mt-4 md:mt-0 mb-4">
47
+ <img src="./assets/img/github_16.jpg" width="16" height="16" />
48
+ Source на GitHub
49
+ </a>
50
+
51
+ <p class="text-gray-600 text-lg mb-4">
52
+ Предназначен для создания объектов, которые будут
53
+ <link-dynamic
54
+ href="/terminology/source">
55
+ источниками данных
56
+ </link-dynamic>
57
+ , логика этих объектов основана на переданной функции-колбэке
58
+ </p>
59
+
60
+ <p class="text-gray-600 text-lg mb-4">
61
+ Полезно в случаях, когда нужно создать новый объект с уникальным поведением по
62
+ генерации данных без создания для этого отдельного класса
63
+ </p>
64
+
65
+ <p class="text-gray-600 text-lg mb-0 font-bold">Пример 1.</p>
66
+ <pre class="mb-4"><code class="language-js">import {
67
+ Source,
68
+ give
69
+ } from 'silentium';
70
+
71
+ const timestamp = new Source((guest) => {
72
+ give(Date.now(), guest);
73
+ });
74
+ timestamp.value((timestamp) => {
75
+ console.log('timestamp is', timestamp);
76
+ });
77
+ </code></pre>
78
+
79
+ <p class="text-gray-600 text-lg mb-0 font-bold">Результат 1.</p>
80
+ <div class="example mb-4">
81
+ <span class="guest-result">Result here</span>
82
+ </div>
83
+ <script type="module">
84
+ import { Source, give } from "silentium";
85
+
86
+ const timestamp = new Source((guest) => {
87
+ give(Date.now(), guest);
88
+ });
89
+ timestamp.value((timestamp) => {
90
+ document.querySelector(
91
+ ".guest-result"
92
+ ).textContent = `timestamp is ${timestamp}`;
93
+ });
94
+ </script>
95
+
96
+ <p class="text-gray-600 text-lg mb-4">
97
+ Источником данных может быть не только объект, но и функция вида
98
+ <em>(guest) => guest('value')</em>. Напрямую можно обратиться к такому
99
+ источнику через функцию
100
+ <link-reloadable target-blank href="https://github.com/kosukhin/patron/blob/main/src/Source/Source.ts#L11">
101
+ value
102
+ </link-reloadable>
103
+ </p>
104
+
105
+ <p class="text-gray-600 text-lg mb-0 font-bold">Пример 2.</p>
106
+ <pre class="mb-4"><code class="language-js">import {
107
+ give,
108
+ value
109
+ } from "silentium";
110
+
111
+ const helloSource = (guest) => {
112
+ setTimeout(() => {
113
+ give("Hello world", guest);
114
+ }, 1000);
115
+ };
116
+
117
+ value(helloSource, (greeting) => {
118
+ document.querySelector(
119
+ ".guest-result-2"
120
+ ).textContent = `greeting is "${greeting}"`;
121
+ });
122
+ </code></pre>
123
+ <p class="text-gray-600 text-lg mb-0 font-bold">Результат 2.</p>
124
+ <div class="example mb-4">
125
+ <span class="guest-result-2">Result here</span>
126
+ </div>
127
+ <script type="module">
128
+ import { give, value } from "silentium";
129
+
130
+ const helloSource = (guest) => {
131
+ setTimeout(() => {
132
+ give("Hello world", guest);
133
+ }, 1000);
134
+ };
135
+
136
+ value(helloSource, (greeting) => {
137
+ document.querySelector(
138
+ ".guest-result-2"
139
+ ).textContent = `greeting is "${greeting}"`;
140
+ });
141
+ </script>
142
+
143
+ <p class="text-gray-600 text-lg mb-4">
144
+ Или можно передать источник-функцию в виде зависимости объектам, которые
145
+ ожидают интерфейс SourceType, в примере ниже используется комбинация
146
+ <link-dynamic href="/source/source-all">SourceAll</link-dynamic>
147
+ и источников-фукнций
148
+ </p>
149
+
150
+ <p class="text-gray-600 text-lg mb-0 font-bold">Пример 3.</p>
151
+ <pre class="mb-4"><code class="language-js">import {
152
+ SourceAll,
153
+ give,
154
+ value
155
+ } from "silentium";
156
+
157
+ const all = new SourceAll();
158
+ value(give.bind(null, 1), all.guestKey("one"));
159
+ value(give.bind(null, 2), all.guestKey("two"));
160
+
161
+ all.value(({ one, two }) => {
162
+ document.querySelector(".guest-result-3").textContent = `one + two = "${
163
+ one + two
164
+ }"`;
165
+ });
166
+ </code></pre>
167
+ <p class="text-gray-600 text-lg mb-0 font-bold">Результат 3.</p>
168
+ <div class="example mb-4">
169
+ <span class="guest-result-3">Result here</span>
62
170
  </div>
63
- <div class="source-page-area"></div>
171
+ <script type="module">
172
+ import { SourceAll, give, value } from "silentium";
173
+
174
+ const all = new SourceAll();
175
+ value(give.bind(null, 1), all.guestKey("one"));
176
+ value(give.bind(null, 2), all.guestKey("two"));
177
+
178
+ all.value(({ one, two }) => {
179
+ document.querySelector(".guest-result-3").textContent = `one + two = "${one + two
180
+ }"`;
181
+ });
182
+ </script>
183
+
184
+ <p class="text-gray-600 text-lg mb-4">
185
+ Интересный факт, что с помощью частичного применения(bind) можно превратить
186
+ функцию <b>give</b> в <b>источник данных</b>, передав только первый аргумент
187
+ </p>
188
+
189
+ <div class="font-bold mt-8">Смотрите также</div>
190
+
191
+ <p class="text-gray-600 text-lg mb-4 dynamic-navigation">
192
+ <link-dynamic href="/utils/give">give</link-dynamic>
193
+ <link-dynamic href="/utils/value">value</link-dynamic>
194
+ </p>
64
195
  </div>
65
196
  </div>
66
197
  </div>
@@ -15,15 +15,11 @@
15
15
 
16
16
  <p class="text-gray-600 text-lg mb-4">
17
17
  Источник данных - Это объект, совместимый с интерфейсом
18
- <span class="dynamic-navigation">
19
- <a
20
- class="inline-block whitespace-nowrap rounded-[0.27rem] bg-primary-100 px-[0.65em] pb-[0.25em] pt-[0.35em] text-center align-baseline text-[0.75em] font-bold leading-none text-white bg-slate-900"
21
- target="_blank"
22
- href="https://github.com/kosukhin/patron/blob/main/src/Source/Source.ts#L3-L5"
23
- >
24
- SourceType
25
- </a>
26
- </span>
18
+ <link-dynamic
19
+ href="https://github.com/kosukhin/patron/blob/main/src/Source/Source.ts#L3-L5"
20
+ >
21
+ SourceType
22
+ </link-dynamic>
27
23
  У такого объекта должен быть метод value и объект должен ожидать, что к нему
28
24
  придет посетитель за значением
29
25
  </p>
@@ -12,19 +12,19 @@
12
12
  <div class="w-12 h-1 bg-indigo-500 rounded mt-2 mb-4"></div>
13
13
  <ul class="text-gray-900">
14
14
  <li class="w-full border-b-2 border-neutral-100 py-4">
15
- <a href="/terminology/introduction"> Представление </a>
15
+ <a class="dynamic-navigation" href="/terminology/introduction"> Представление </a>
16
16
  </li>
17
17
  <li class="w-full border-b-2 border-neutral-100 py-4">
18
- <a href="/terminology/visitor"> Посетитель </a>
18
+ <a class="dynamic-navigation" href="/terminology/visitor"> Посетитель </a>
19
19
  </li>
20
20
  <li class="w-full border-b-2 border-neutral-100 py-4">
21
- <a href="/terminology/the-guest"> Гость </a>
21
+ <a class="dynamic-navigation" href="/terminology/guest"> Гость </a>
22
22
  </li>
23
23
  <li class="w-full border-b-2 border-neutral-100 py-4">
24
- <a href="/terminology/the-patron"> Патрон </a>
24
+ <a class="dynamic-navigation" href="/terminology/patron"> Патрон </a>
25
25
  </li>
26
26
  <li class="w-full border-b-2 border-neutral-100 py-4">
27
- <a href="/terminology/the-source"> Источник данных </a>
27
+ <a class="dynamic-navigation" href="/terminology/source"> Источник данных </a>
28
28
  </li>
29
29
  </ul>
30
30
  </div>
@@ -32,19 +32,13 @@
32
32
  <div
33
33
  class="w-full sm:w-2/3 sm:pl-8 sm:border-l border-gray-200 sm:border-t-0 border-t mt-4 sm:mt-0"
34
34
  >
35
- <div class="terminology-loader">
36
- <div class="w-full flex justify-center">
37
- <div
38
- class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-e-transparent align-[-0.125em] text-indigo-500 motion-reduce:animate-[spin_1.5s_linear_infinite]"
39
- role="status"
40
- >
41
- <span
42
- class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
43
- >Loading...</span
44
- >
45
- </div>
46
- </div>
47
- </div>
35
+ <h1 class="pb-3 text-xl font-semibold text-gray-600">Терминология</h1>
36
+
37
+ <p class="text-gray-600 text-lg mb-4">
38
+ Раздел посвящен терминам, которые требуют раскрытия и не могут(или не должны)
39
+ быть раскрыты в описаниях классов и функций библиотеки
40
+ </p>
41
+
48
42
  <div class="terminology-page-area"></div>
49
43
  </div>
50
44
  </div>
@@ -12,30 +12,30 @@
12
12
  <div class="w-12 h-1 bg-indigo-500 rounded mt-2 mb-4"></div>
13
13
  <ul class="text-gray-900">
14
14
  <li class="w-full border-b-2 border-neutral-100 py-4">
15
- <a href="/utils/private"> Private </a>
15
+ <a class="dynamic-navigation" href="/utils/private"> Private </a>
16
16
  </li>
17
17
  <li class="w-full border-b-2 border-neutral-100 py-4">
18
- <a href="/utils/give"> give </a>
18
+ <a class="dynamic-navigation" href="/utils/give"> give </a>
19
19
  </li>
20
20
  <li class="w-full border-b-2 border-neutral-100 py-4">
21
- <a href="/utils/value"> value </a>
21
+ <a class="dynamic-navigation" href="/utils/value"> value </a>
22
22
  </li>
23
23
  <li class="w-full border-b-2 border-neutral-100 py-4">
24
- <a href="/utils/is-patron-in-pools"> isPatronInPools </a>
24
+ <a class="dynamic-navigation" href="/utils/is-patron-in-pools"> isPatronInPools </a>
25
25
  </li>
26
26
  <li class="w-full border-b-2 border-neutral-100 py-4">
27
- <a href="/utils/remove-patron-from-pools">
27
+ <a class="dynamic-navigation" href="/utils/remove-patron-from-pools">
28
28
  removePatronFromPools
29
29
  </a>
30
30
  </li>
31
31
  <li class="w-full border-b-2 border-neutral-100 py-4">
32
- <a href="/utils/is-guest"> isGuest </a>
32
+ <a class="dynamic-navigation" href="/utils/is-guest"> isGuest </a>
33
33
  </li>
34
34
  <li class="w-full border-b-2 border-neutral-100 py-4">
35
- <a href="/utils/is-source"> isSource </a>
35
+ <a class="dynamic-navigation" href="/utils/is-source"> isSource </a>
36
36
  </li>
37
37
  <li class="w-full border-b-2 border-neutral-100 py-4">
38
- <a href="/utils/source-of"> sourceOf </a>
38
+ <a class="dynamic-navigation" href="/utils/source-of"> sourceOf </a>
39
39
  </li>
40
40
  </ul>
41
41
  </div>
@@ -43,19 +43,31 @@
43
43
  <div
44
44
  class="w-full sm:w-2/3 sm:pl-8 sm:border-l border-gray-200 sm:border-t-0 border-t mt-4 sm:mt-0"
45
45
  >
46
- <div class="utils-loader">
47
- <div class="w-full flex justify-center">
48
- <div
49
- class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-e-transparent align-[-0.125em] text-indigo-500 motion-reduce:animate-[spin_1.5s_linear_infinite]"
50
- role="status"
51
- >
52
- <span
53
- class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
54
- >Loading...</span
55
- >
56
- </div>
57
- </div>
58
- </div>
46
+ <h1 class="pb-3 text-xl font-semibold text-gray-600">Утилиты</h1>
47
+
48
+ <p class="text-gray-600 text-lg mb-4">
49
+ В этом разделе собрана документация по вспомогательным функциям и классам
50
+ библиотеки Patron
51
+ </p>
52
+
53
+ <p class="text-gray-600 text-lg mb-4">
54
+ Основные классы библиотеки вынесены в верхнее меню сайта(этой документации), а
55
+ все вспомогательные модули будут описаны здесь
56
+ </p>
57
+
58
+ <p class="text-gray-600 text-lg mb-4">
59
+ Нужно отметить, что основные классы библиотеки:
60
+ <link-dynamic href="/guest">Guest</link-dynamic>,
61
+ <link-dynamic href="/patron">Patron</link-dynamic>,
62
+ <link-dynamic href="/source">Source</link-dynamic> и их производные работают
63
+ на уровне человеческой логики, А классы из этого раздела(utils) предназначены
64
+ для работы на уровне компьютера.
65
+ </p>
66
+
67
+ <p class="text-gray-600 text-lg mb-4">
68
+ В левом меню этого раздела вы найдете все утилиты и их описание
69
+ </p>
70
+
59
71
  <div class="utils-page-area"></div>
60
72
  </div>
61
73
  </div>
@@ -0,0 +1 @@
1
+ ["pages/404.html","pages/patron.html","pages/index.html","pages/terminology/introduction.html","pages/terminology/patron.html","pages/terminology/index.html","pages/terminology/guest.html","pages/terminology/source.html","pages/terminology/visitor.html","pages/philosofy.html","pages/patron/index.html","pages/patron/patron-executor-applied.html","pages/patron/patron-once.html","pages/patron/patron-applied.html","pages/patron/patron-pool.html","pages/utils/index.html","pages/utils/give.html","pages/utils/is-source.html","pages/utils/private.html","pages/utils/is-guest.html","pages/utils/is-patron-in-pools.html","pages/utils/remove-patron-from-pools.html","pages/utils/source-of.html","pages/utils/is-guest-aware.html","pages/utils/value.html","pages/examples.html","pages/guest/guest-applied.html","pages/guest/index.html","pages/guest/guest-cast.html","pages/guest/guest-pool.html","pages/guest/guest-object.html","pages/guest/guest-executor-applied.html","pages/guest/guest-disposable.html","pages/guest/guest-sync.html","pages/examples/index.html","pages/examples/errors.html","pages/guest.html","pages/common/layout.html","pages/source.html","pages/utils.html","pages/source/source-dynamic.html","pages/source/index.html","pages/source/source-all.html","pages/source/source-map.html","pages/source/source-sequence.html","pages/source/source.html","pages/source/source-with-pool.html","pages/source/source-applied.html","pages/source/source-once.html","pages/source/source-executor-applied.html","pages/source/source-race.html","pages/integrations/vue.html","pages/integrations/layout.html","pages/integrations/angular.html","pages/integrations/react.html","pages/compatibility/elegant-objects.html","pages/compatibility/layout.html","pages/compatibility/dip.html","pages/terminology.html","pages/factory/index.html","pages/factory.html\n"]
@@ -17,87 +17,11 @@
17
17
  />
18
18
  <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
19
19
  <script src="//cdnjs.cloudflare.com/ajax/libs/highlightjs-line-numbers.js/2.9.0/highlightjs-line-numbers.min.js"></script>
20
- <link
21
- rel="apple-touch-icon"
22
- sizes="57x57"
23
- href="./assets/favicon/apple-icon-57x57.png"
24
- />
25
- <link
26
- rel="apple-touch-icon"
27
- sizes="60x60"
28
- href="./assets/favicon/apple-icon-60x60.png"
29
- />
30
- <link
31
- rel="apple-touch-icon"
32
- sizes="72x72"
33
- href="./assets/favicon/apple-icon-72x72.png"
34
- />
35
- <link
36
- rel="apple-touch-icon"
37
- sizes="76x76"
38
- href="./assets/favicon/apple-icon-76x76.png"
39
- />
40
- <link
41
- rel="apple-touch-icon"
42
- sizes="114x114"
43
- href="./assets/favicon/apple-icon-114x114.png"
44
- />
45
- <link
46
- rel="apple-touch-icon"
47
- sizes="120x120"
48
- href="./assets/favicon/apple-icon-120x120.png"
49
- />
50
- <link
51
- rel="apple-touch-icon"
52
- sizes="144x144"
53
- href="./assets/favicon/apple-icon-144x144.png"
54
- />
55
- <link
56
- rel="apple-touch-icon"
57
- sizes="152x152"
58
- href="./assets/favicon/apple-icon-152x152.png"
59
- />
60
- <link
61
- rel="apple-touch-icon"
62
- sizes="180x180"
63
- href="./assets/favicon/apple-icon-180x180.png"
64
- />
65
- <link
66
- rel="icon"
67
- type="image/png"
68
- sizes="192x192"
69
- href="./assets/favicon/android-icon-192x192.png"
70
- />
71
- <link
72
- rel="icon"
73
- type="image/png"
74
- sizes="32x32"
75
- href="./assets/favicon/favicon-32x32.png"
76
- />
77
- <link
78
- rel="icon"
79
- type="image/png"
80
- sizes="96x96"
81
- href="./assets/favicon/favicon-96x96.png"
82
- />
83
- <link
84
- rel="icon"
85
- type="image/png"
86
- sizes="16x16"
87
- href="./assets/favicon/favicon-16x16.png"
88
- />
89
- <link
90
- rel="manifest"
91
- href="./manifest.json"
92
- />
20
+ <link rel="icon" href="./favicon.ico" type="image/x-icon" />
93
21
  <meta
94
22
  name="msapplication-TileColor"
95
23
  content="#ffffff"
96
24
  />
97
- <meta
98
- name="msapplication-TileImage"
99
- content="./assets/favicon/ms-icon-144x144.png"
100
- />
101
25
  <meta
102
26
  name="theme-color"
103
27
  content="#ffffff"
@@ -109,7 +33,7 @@
109
33
  <script type="importmap">
110
34
  {
111
35
  "imports": {
112
- "silentium-oop": "TPL_SILENTIUM_OOP",
36
+ "silentium": "TPL_SILENTIUM_OOP",
113
37
  "silentium-web-api": "TPL_SILENTIUM_WEB_API",
114
38
  "silentium-components": "TPL_SILENTIUM_COMPONENTS"
115
39
  }
@@ -130,7 +54,7 @@
130
54
  class="ml-3 text-xl flex gap-2 items-center"
131
55
  >
132
56
  <img
133
- src="./assets/img/logo.jpg"
57
+ src="./assets/img/logo.svg"
134
58
  width="40"
135
59
  height="44"
136
60
  />
@@ -339,7 +263,7 @@
339
263
  </div>
340
264
  </footer>
341
265
  <script
342
- src="./assets/js/entrypoints/index.mjs"
266
+ src="./assets/js/index.mjs"
343
267
  type="module"
344
268
  ></script>
345
269
  </body>
package/eslint.config.mjs CHANGED
@@ -41,6 +41,9 @@ export default [
41
41
  },
42
42
  languageOptions: {
43
43
  parser: tsParser,
44
+ globals: {
45
+ window: "readonly",
46
+ },
44
47
  },
45
48
  },
46
49
  eslintPluginPrettierRecommended,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "silentium",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/silentium.js",
@@ -19,7 +19,7 @@
19
19
  "cz": "git add . && git cz",
20
20
  "push-head": "git push origin HEAD",
21
21
  "test-debug": "env DEBUG=app:* vitest",
22
- "release": "npm run build && standard-version --no-verify && git push --follow-tags && npm publish",
22
+ "release": "./beforeRelease.sh && npm run build && standard-version --no-verify && git push --follow-tags && npm publish",
23
23
  "prepare": "husky"
24
24
  },
25
25
  "repository": {
@@ -10,7 +10,7 @@ export interface GuestObjectType<T = any> {
10
10
  export type GuestType<T = any> = GuestExecutorType<T> | GuestObjectType<T>;
11
11
 
12
12
  /**
13
- * @url https://kosukhin.github.io/patron.site/#/utils/give
13
+ * @url https://silentium-lab.github.io/silentium/#/utils/give
14
14
  */
15
15
  export function give<T>(data: T, guest: GuestType<T>) {
16
16
  if (data === undefined) {
@@ -27,7 +27,7 @@ export function give<T>(data: T, guest: GuestType<T>) {
27
27
  }
28
28
 
29
29
  /**
30
- * @url https://kosukhin.github.io/patron.site/#/utils/is-guest
30
+ * @url https://silentium-lab.github.io/silentium/#/utils/is-guest
31
31
  */
32
32
  export function isGuest(mbGuest: any): mbGuest is GuestType {
33
33
  if (mbGuest === undefined) {
@@ -37,7 +37,7 @@ export function isGuest(mbGuest: any): mbGuest is GuestType {
37
37
  }
38
38
 
39
39
  /**
40
- * @url https://kosukhin.github.io/patron.site/#/guest
40
+ * @url https://silentium-lab.github.io/silentium/#/guest
41
41
  */
42
42
  export class Guest<T> implements GuestObjectType<T> {
43
43
  public constructor(private receiver: GuestExecutorType<T>) {
@@ -1,7 +1,7 @@
1
1
  import { give, GuestObjectType, GuestType } from "../Guest/Guest";
2
2
 
3
3
  /**
4
- * @url https://kosukhin.github.io/patron.site/#/guest/guest-applied
4
+ * @url https://silentium-lab.github.io/silentium/#/guest/guest-applied
5
5
  */
6
6
  export class GuestApplied<T, R> implements GuestObjectType<T> {
7
7
  public constructor(
@@ -2,7 +2,7 @@ import { give, GuestType } from "./Guest";
2
2
  import { GuestDisposableType, MaybeDisposableType } from "./GuestDisposable";
3
3
 
4
4
  /**
5
- * @url https://kosukhin.github.io/patron.site/#/guest/guest-cast
5
+ * @url https://silentium-lab.github.io/silentium/#/guest/guest-cast
6
6
  */
7
7
  export class GuestCast<T> implements GuestDisposableType<T> {
8
8
  public constructor(
@@ -7,7 +7,7 @@ export interface GuestDisposableType<T = any> extends GuestObjectType<T> {
7
7
  export type MaybeDisposableType<T = any> = Partial<GuestDisposableType<T>>;
8
8
 
9
9
  /**
10
- * @url https://kosukhin.github.io/patron.site/#/guest/guest-disposable
10
+ * @url https://silentium-lab.github.io/silentium/#/guest/guest-disposable
11
11
  */
12
12
  export class GuestDisposable<T> implements GuestDisposableType<T> {
13
13
  public constructor(
@@ -6,7 +6,7 @@ import {
6
6
  } from "../Guest/Guest";
7
7
 
8
8
  /**
9
- * @url https://kosukhin.github.io/patron.site/#/guest/guest-executor-applied
9
+ * @url https://silentium-lab.github.io/silentium/#/guest/guest-executor-applied
10
10
  */
11
11
  export class GuestExecutorApplied<T> implements GuestObjectType<T> {
12
12
  public give: GuestExecutorType<T, this>;
@@ -2,7 +2,7 @@ import { Guest, GuestType } from "./Guest";
2
2
  import { GuestDisposableType, MaybeDisposableType } from "./GuestDisposable";
3
3
 
4
4
  /**
5
- * @url https://kosukhin.github.io/patron.site/#/guest/guest-object
5
+ * @url https://silentium-lab.github.io/silentium/#/guest/guest-object
6
6
  */
7
7
  export class GuestObject<T> implements GuestDisposableType<T> {
8
8
  public constructor(private baseGuest: GuestType<T>) {
@@ -2,7 +2,7 @@ import { PatronPool, PoolType } from "../Patron/PatronPool";
2
2
  import { give, GuestObjectType, GuestType } from "./Guest";
3
3
 
4
4
  /**
5
- * @url https://kosukhin.github.io/patron.site/#/guest/guest-pool
5
+ * @url https://silentium-lab.github.io/silentium/#/guest/guest-pool
6
6
  */
7
7
  export class GuestPool<T> implements GuestObjectType<T>, PoolType<T> {
8
8
  private guests = new Set<GuestType<T>>();
@@ -5,7 +5,7 @@ export interface GuestValueType<T = any> extends GuestObjectType<T> {
5
5
  }
6
6
 
7
7
  /**
8
- * @url https://kosukhin.github.io/patron.site/#/guest/guest-sync
8
+ * @url https://silentium-lab.github.io/silentium/#/guest/guest-sync
9
9
  */
10
10
  export class GuestSync<T> implements GuestValueType<T> {
11
11
  public constructor(private theValue: T) {