@ifunny/ifunny-api-types 1.0.4 → 1.2.2

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 (215) hide show
  1. package/.devenv/bootstrap/bootstrapLib.nix +650 -0
  2. package/.devenv/bootstrap/default.nix +22 -0
  3. package/.devenv/bootstrap/lock-sources.nix +123 -0
  4. package/.devenv/bootstrap/resolve-input-paths.nix +34 -0
  5. package/.devenv/bootstrap/resolve-lock.nix +116 -0
  6. package/.devenv/changelog-cache.json +13 -0
  7. package/.devenv/devenv.fish +252 -0
  8. package/.devenv/imports.txt +0 -0
  9. package/.devenv/input-paths.txt +8 -0
  10. package/.devenv/load-exports +1 -0
  11. package/.devenv/nix-eval-cache.db +0 -0
  12. package/.devenv/nix-eval-cache.db.init.lock +0 -0
  13. package/.devenv/nixpkgs-config-99f33fda17d41bc9.nix +17 -0
  14. package/.devenv/nixpkgs-config-c46eff8321b73149.nix +29 -0
  15. package/.devenv/profiles/nix/bootstrap/bootstrapLib.nix +571 -0
  16. package/.devenv/profiles/nix/bootstrap/default.nix +19 -0
  17. package/.devenv/profiles/nix/bootstrap/resolve-lock.nix +157 -0
  18. package/.devenv/profiles/nix/imports.txt +0 -0
  19. package/.devenv/profiles/nix/input-paths.txt +4 -0
  20. package/.devenv/profiles/nix/load-exports +1 -0
  21. package/.devenv/profiles/nix/nix-eval-cache.db +0 -0
  22. package/.devenv/profiles/nix/nix-eval-cache.db-shm +0 -0
  23. package/.devenv/profiles/nix/nix-eval-cache.db-wal +0 -0
  24. package/.devenv/profiles/nix/nixpkgs-config-99f33fda17d41bc9.nix +17 -0
  25. package/.devenv/profiles/nix/shell-0d722b4fe4724c8e.sh +2270 -0
  26. package/.devenv/profiles/nix/shell-314b72302fb2c916.sh +2270 -0
  27. package/.devenv/profiles/nix/shell-6a4b00b5ca837a3b.sh +2270 -0
  28. package/.devenv/profiles/nix/shell-956adc1e664f64c3.sh +2270 -0
  29. package/.devenv/profiles/nix/shell-9dbff87fad44e8d9.sh +2270 -0
  30. package/.devenv/profiles/nix/shell-b1e9e1f82076662f.sh +2270 -0
  31. package/.devenv/profiles/nix/shell-b4f4bbfa36797bee.sh +2270 -0
  32. package/.devenv/profiles/nix/shell-c4b190d331c48d67.sh +2270 -0
  33. package/.devenv/profiles/nix/state/files.json +1 -0
  34. package/.devenv/profiles/nix/state/tasks.db +0 -0
  35. package/.devenv/profiles/nix/state/tasks.db-shm +0 -0
  36. package/.devenv/profiles/nix/state/tasks.db-wal +0 -0
  37. package/.devenv/profiles/nix/task-names.txt +5 -0
  38. package/.devenv/shell-086ca2c39799e6a6.sh +2270 -0
  39. package/.devenv/shell-2c06a35dd99be3d1.sh +2270 -0
  40. package/.devenv/shell-36f1fe0faec08873.sh +2270 -0
  41. package/.devenv/shell-676361065bda5b43.sh +2270 -0
  42. package/.devenv/shell-9f6cb513d1721fef.sh +2270 -0
  43. package/.devenv/shell-c0e4459b4f5922d7.sh +2270 -0
  44. package/.devenv/shell-c862a0db6e9ad5f4.sh +2270 -0
  45. package/.devenv/shell-d71ade933a43e837.sh +2270 -0
  46. package/.devenv/shell-dd73aac05b182946.sh +2270 -0
  47. package/.devenv/shell-e39d0b30a7e0eb13.sh +2270 -0
  48. package/.devenv/shell-env.sh +2275 -0
  49. package/.devenv/shell-f924d749ff8c17ee.sh +2270 -0
  50. package/.devenv/shell-rcfile.sh +152 -0
  51. package/.devenv/state/files.json +5 -0
  52. package/.devenv/state/git-hooks-install/hooks +1 -0
  53. package/.devenv/state/git-hooks-install/key +4 -0
  54. package/.devenv/state/prek/.lock +0 -0
  55. package/.devenv/state/prek/README +2 -0
  56. package/.devenv/state/prek/config-tracking.json +3 -0
  57. package/.devenv/state/prek/patches/1793595918715-562072.patch +26 -0
  58. package/.devenv/state/prek/patches/1793596283854-574354.patch +22881 -0
  59. package/.devenv/state/prek/patches/1793596332255-574728.patch +22870 -0
  60. package/.devenv/state/prek/patches/1793597557669-617911.patch +284 -0
  61. package/.devenv/state/prek/patches/1793856046749-331249.patch +2906 -0
  62. package/.devenv/state/prek/patches/1793856096552-331868.patch +2998 -0
  63. package/.devenv/state/prek/patches/1793856146786-332328.patch +3009 -0
  64. package/.devenv/state/prek/patches/1793856181490-332981.patch +11401 -0
  65. package/.devenv/state/prek/patches/1793856203087-333510.patch +11388 -0
  66. package/.devenv/state/prek/patches/1793856277935-334258.patch +11372 -0
  67. package/.devenv/state/prek/patches/1793856646955-337912.patch +8488 -0
  68. package/.devenv/state/prek/patches/1793856682905-338572.patch +8260 -0
  69. package/.devenv/state/prek/patches/1793857035751-356215.patch +8295 -0
  70. package/.devenv/state/tasks.db +0 -0
  71. package/.devenv/state/tasks.db.init.lock +0 -0
  72. package/.devenv/task-names.txt +7 -0
  73. package/.github/workflows/codeql.yml +72 -72
  74. package/.github/workflows/test.yml +31 -31
  75. package/.prettierignore +9 -0
  76. package/CHANGELOG.md +609 -427
  77. package/LICENSE +121 -121
  78. package/README.md +2 -2
  79. package/devenv.lock +103 -0
  80. package/devenv.nix +35 -0
  81. package/devenv.yaml +23 -0
  82. package/dist/errors/bad_request.js +7 -7
  83. package/dist/errors/bad_request.js.map +1 -1
  84. package/dist/errors/captcha_required.js +18 -18
  85. package/dist/errors/captcha_required.js.map +1 -1
  86. package/dist/errors/email_exists.js +7 -7
  87. package/dist/errors/email_exists.js.map +1 -1
  88. package/dist/errors/error.js +2 -2
  89. package/dist/errors/error_base.js +42 -42
  90. package/dist/errors/error_base.js.map +1 -1
  91. package/dist/errors/index.js +28 -28
  92. package/dist/errors/invalid_client.js +7 -7
  93. package/dist/errors/invalid_client.js.map +1 -1
  94. package/dist/errors/invalid_email.js +7 -7
  95. package/dist/errors/invalid_email.js.map +1 -1
  96. package/dist/errors/invalid_grant.js +7 -7
  97. package/dist/errors/invalid_grant.js.map +1 -1
  98. package/dist/errors/not_found.js +2 -2
  99. package/dist/errors/permission_denied.js +7 -7
  100. package/dist/errors/permission_denied.js.map +1 -1
  101. package/dist/errors/unauthorized.js +7 -7
  102. package/dist/errors/unauthorized.js.map +1 -1
  103. package/dist/errors/wrong_params.js +7 -7
  104. package/dist/errors/wrong_params.js.map +1 -1
  105. package/dist/index.js +20 -20
  106. package/dist/payloads/activity.js +49 -49
  107. package/dist/payloads/activity.js.map +1 -1
  108. package/dist/payloads/app.js +2 -2
  109. package/dist/payloads/appeal.js +13 -13
  110. package/dist/payloads/appeal.js.map +1 -1
  111. package/dist/payloads/ban.js +35 -35
  112. package/dist/payloads/ban.js.map +1 -1
  113. package/dist/payloads/base.js +2 -2
  114. package/dist/payloads/chat.js +37 -0
  115. package/dist/payloads/chat.js.map +1 -0
  116. package/dist/payloads/client.js +12 -12
  117. package/dist/payloads/client.js.map +1 -1
  118. package/dist/payloads/comment.js +41 -41
  119. package/dist/payloads/comment.js.map +1 -1
  120. package/dist/payloads/content.js +175 -175
  121. package/dist/payloads/content.js.map +1 -1
  122. package/dist/payloads/index.js +28 -26
  123. package/dist/payloads/index.js.map +1 -1
  124. package/dist/payloads/strike.js +2 -2
  125. package/dist/payloads/topics.js +72 -0
  126. package/dist/payloads/topics.js.map +1 -0
  127. package/dist/payloads/user.js +214 -214
  128. package/dist/payloads/user.js.map +1 -1
  129. package/dist/rest/account.js +2 -2
  130. package/dist/rest/content.js +53 -53
  131. package/dist/rest/content.js.map +1 -1
  132. package/dist/rest/counters.js +2 -2
  133. package/dist/rest/endpoints.js +198 -198
  134. package/dist/rest/endpoints.js.map +1 -1
  135. package/dist/rest/explore.js +81 -81
  136. package/dist/rest/explore.js.map +1 -1
  137. package/dist/rest/feeds.js +2 -2
  138. package/dist/rest/index.js +24 -24
  139. package/dist/rest/issues.js +2 -2
  140. package/dist/rest/oauth2.js +8 -8
  141. package/dist/rest/oauth2.js.map +1 -1
  142. package/dist/utils/index.js +18 -18
  143. package/dist/utils/rest.js +2 -2
  144. package/dist/utils/util.js +2 -2
  145. package/eslint.config.mjs +18 -0
  146. package/package.json +66 -50
  147. package/prettier.config.js +15 -0
  148. package/tag-check.sh +111 -0
  149. package/types/errors/bad_request.d.ts +11 -11
  150. package/types/errors/bad_request.d.ts.map +1 -1
  151. package/types/errors/captcha_required.d.ts +32 -32
  152. package/types/errors/captcha_required.d.ts.map +1 -1
  153. package/types/errors/email_exists.d.ts +14 -14
  154. package/types/errors/email_exists.d.ts.map +1 -1
  155. package/types/errors/error.d.ts +28 -28
  156. package/types/errors/error.d.ts.map +1 -1
  157. package/types/errors/error_base.d.ts +60 -60
  158. package/types/errors/error_base.d.ts.map +1 -1
  159. package/types/errors/index.d.ts +12 -12
  160. package/types/errors/invalid_client.d.ts +14 -14
  161. package/types/errors/invalid_client.d.ts.map +1 -1
  162. package/types/errors/invalid_email.d.ts +14 -14
  163. package/types/errors/invalid_email.d.ts.map +1 -1
  164. package/types/errors/invalid_grant.d.ts +11 -11
  165. package/types/errors/invalid_grant.d.ts.map +1 -1
  166. package/types/errors/not_found.d.ts +7 -7
  167. package/types/errors/permission_denied.d.ts +11 -11
  168. package/types/errors/permission_denied.d.ts.map +1 -1
  169. package/types/errors/unauthorized.d.ts +11 -11
  170. package/types/errors/unauthorized.d.ts.map +1 -1
  171. package/types/errors/wrong_params.d.ts +10 -10
  172. package/types/errors/wrong_params.d.ts.map +1 -1
  173. package/types/index.d.ts +4 -4
  174. package/types/payloads/activity.d.ts +113 -113
  175. package/types/payloads/activity.d.ts.map +1 -1
  176. package/types/payloads/app.d.ts +265 -265
  177. package/types/payloads/appeal.d.ts +21 -21
  178. package/types/payloads/appeal.d.ts.map +1 -1
  179. package/types/payloads/ban.d.ts +84 -84
  180. package/types/payloads/ban.d.ts.map +1 -1
  181. package/types/payloads/base.d.ts +4 -4
  182. package/types/payloads/chat.d.ts +117 -0
  183. package/types/payloads/chat.d.ts.map +1 -0
  184. package/types/payloads/client.d.ts +107 -107
  185. package/types/payloads/client.d.ts.map +1 -1
  186. package/types/payloads/comment.d.ts +123 -123
  187. package/types/payloads/comment.d.ts.map +1 -1
  188. package/types/payloads/content.d.ts +676 -677
  189. package/types/payloads/content.d.ts.map +1 -1
  190. package/types/payloads/index.d.ts +12 -10
  191. package/types/payloads/index.d.ts.map +1 -1
  192. package/types/payloads/strike.d.ts +14 -14
  193. package/types/payloads/topics.d.ts +45 -0
  194. package/types/payloads/topics.d.ts.map +1 -0
  195. package/types/payloads/user.d.ts +522 -522
  196. package/types/payloads/user.d.ts.map +1 -1
  197. package/types/rest/account.d.ts +3 -3
  198. package/types/rest/account.d.ts.map +1 -1
  199. package/types/rest/content.d.ts +95 -95
  200. package/types/rest/content.d.ts.map +1 -1
  201. package/types/rest/counters.d.ts +9 -9
  202. package/types/rest/counters.d.ts.map +1 -1
  203. package/types/rest/endpoints.d.ts +152 -152
  204. package/types/rest/explore.d.ts +112 -112
  205. package/types/rest/explore.d.ts.map +1 -1
  206. package/types/rest/feeds.d.ts +16 -16
  207. package/types/rest/index.d.ts +8 -8
  208. package/types/rest/issues.d.ts +15 -15
  209. package/types/rest/oauth2.d.ts +36 -36
  210. package/types/rest/oauth2.d.ts.map +1 -1
  211. package/types/utils/index.d.ts +2 -2
  212. package/types/utils/rest.d.ts +49 -49
  213. package/types/utils/rest.d.ts.map +1 -1
  214. package/types/utils/util.d.ts +79 -79
  215. package/types/utils/util.d.ts.map +1 -1
@@ -0,0 +1,157 @@
1
+ # Adapted from https://git.lix.systems/lix-project/flake-compat/src/branch/main/default.nix
2
+ { src
3
+ , system ? builtins.currentSystem or "unknown-system"
4
+ ,
5
+ }:
6
+
7
+ let
8
+ lockFilePath = src + "/devenv.lock";
9
+
10
+ lockFile = builtins.fromJSON (builtins.readFile lockFilePath);
11
+
12
+ rootSrc = {
13
+ lastModified = 0;
14
+ lastModifiedDate = formatSecondsSinceEpoch 0;
15
+ # *hacker voice*: it's definitely a store path, I promise (actually a
16
+ # nixlang path value, likely not pointing at the store).
17
+ outPath = src;
18
+ };
19
+
20
+ # Format number of seconds in the Unix epoch as %Y%m%d%H%M%S.
21
+ formatSecondsSinceEpoch =
22
+ t:
23
+ let
24
+ rem = x: y: x - x / y * y;
25
+ days = t / 86400;
26
+ secondsInDay = rem t 86400;
27
+ hours = secondsInDay / 3600;
28
+ minutes = (rem secondsInDay 3600) / 60;
29
+ seconds = rem t 60;
30
+
31
+ # Courtesy of https://stackoverflow.com/a/32158604.
32
+ z = days + 719468;
33
+ era = (if z >= 0 then z else z - 146096) / 146097;
34
+ doe = z - era * 146097;
35
+ yoe = (doe - doe / 1460 + doe / 36524 - doe / 146096) / 365;
36
+ y = yoe + era * 400;
37
+ doy = doe - (365 * yoe + yoe / 4 - yoe / 100);
38
+ mp = (5 * doy + 2) / 153;
39
+ d = doy - (153 * mp + 2) / 5 + 1;
40
+ m = mp + (if mp < 10 then 3 else -9);
41
+ y' = y + (if m <= 2 then 1 else 0);
42
+
43
+ pad = s: if builtins.stringLength s < 2 then "0" + s else s;
44
+ in
45
+ "${toString y'}${pad (toString m)}${pad (toString d)}${pad (toString hours)}${pad (toString minutes)}${pad (toString seconds)}";
46
+
47
+ allNodes = builtins.mapAttrs
48
+ (
49
+ key: node:
50
+ let
51
+ sourceInfo =
52
+ if key == lockFile.root then
53
+ rootSrc
54
+ # Path inputs pointing to project root (path = ".") should use rootSrc
55
+ # to avoid fetchTree hashing the entire project directory
56
+ else if node.locked.type or null == "path" && node.locked.path or null == "." then
57
+ rootSrc
58
+ else
59
+ let
60
+ locked = node.locked;
61
+ isRelativePath = p: p != null && (builtins.substring 0 2 p == "./" || builtins.substring 0 3 p == "../");
62
+ # Resolve relative paths against src
63
+ resolvedLocked = locked
64
+ // (if locked.type or null == "path" && isRelativePath (locked.path or null)
65
+ then { path = toString src + "/${locked.path}"; }
66
+ else { })
67
+ // (if locked.type or null == "git" && isRelativePath (locked.url or null)
68
+ then { url = toString src + "/${locked.url}"; }
69
+ else { });
70
+ in
71
+ builtins.fetchTree (node.info or { } // removeAttrs resolvedLocked [ "dir" ]);
72
+
73
+ subdir = if key == lockFile.root then "" else node.locked.dir or "";
74
+
75
+ outPath = sourceInfo + ((if subdir == "" then "" else "/") + subdir);
76
+
77
+ # Resolve a input spec into a node name. An input spec is
78
+ # either a node name, or a 'follows' path from the root
79
+ # node.
80
+ resolveInput =
81
+ inputSpec: if builtins.isList inputSpec then getInputByPath lockFile.root inputSpec else inputSpec;
82
+
83
+ # Follow an input path (e.g. ["dwarffs" "nixpkgs"]) from the
84
+ # root node, returning the final node.
85
+ getInputByPath =
86
+ nodeName: path:
87
+ if path == [ ] then
88
+ nodeName
89
+ else
90
+ getInputByPath
91
+ # Since this could be a 'follows' input, call resolveInput.
92
+ (resolveInput lockFile.nodes.${nodeName}.inputs.${builtins.head path})
93
+ (builtins.tail path);
94
+
95
+ inputs = builtins.mapAttrs (inputName: inputSpec: allNodes.${resolveInput inputSpec}) (
96
+ node.inputs or { }
97
+ );
98
+
99
+ # Only import flake.nix for non-root nodes (root doesn't need it)
100
+ flake = if key == lockFile.root then null else import (outPath + "/flake.nix");
101
+
102
+ outputs = if key == lockFile.root then { } else flake.outputs (inputs // { self = result; });
103
+
104
+ # Lazy devenv evaluation for this input
105
+ devenvEval =
106
+ let
107
+ bootstrapLib = import ./bootstrapLib.nix { inputs = inputs; };
108
+ in
109
+ bootstrapLib.mkDevenvForInput {
110
+ input = { inherit outPath sourceInfo; };
111
+ allInputs = inputs;
112
+ inherit system;
113
+ };
114
+
115
+ result =
116
+ outputs
117
+ // sourceInfo
118
+ // {
119
+ inherit outPath;
120
+ inherit inputs;
121
+ inherit outputs;
122
+ inherit sourceInfo;
123
+ _type = "flake";
124
+ devenv = devenvEval;
125
+ };
126
+
127
+ nonFlakeResult = sourceInfo // {
128
+ inherit outPath;
129
+ inherit inputs;
130
+ inherit sourceInfo;
131
+ _type = "flake";
132
+ devenv = devenvEval;
133
+ };
134
+
135
+ in
136
+ if node.flake or true && key != lockFile.root then
137
+ assert builtins.isFunction flake.outputs;
138
+ result
139
+ else
140
+ nonFlakeResult
141
+ )
142
+ lockFile.nodes;
143
+
144
+ result =
145
+ if !(builtins.pathExists lockFilePath) then
146
+ throw "${lockFilePath} does not exist"
147
+ else if lockFile.version >= 5 && lockFile.version <= 7 then
148
+ allNodes.${lockFile.root}
149
+ else
150
+ throw "lock file '${lockFilePath}' has unsupported version ${toString lockFile.version}";
151
+
152
+ in
153
+ {
154
+ inputs = result.inputs or { } // {
155
+ self = result;
156
+ };
157
+ }
File without changes
@@ -0,0 +1,4 @@
1
+ /media/Code/@Open-iFunny/ifunny-api-types/.devenv/profiles/nix/bootstrap/bootstrapLib.nix
2
+ /media/Code/@Open-iFunny/ifunny-api-types/.devenv/profiles/nix/bootstrap/default.nix
3
+ /media/Code/@Open-iFunny/ifunny-api-types/devenv.nix
4
+ /media/Code/@Open-iFunny/ifunny-api-types/.env
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,17 @@
1
+ let
2
+ cfg = {};
3
+ getName = pkg: (builtins.parseDrvName (pkg.name or pkg.pname or "")).name;
4
+ in cfg // {
5
+ allowUnfreePredicate =
6
+ if cfg.allowUnfree or false then
7
+ (_: true)
8
+ else if (cfg.permittedUnfreePackages or []) != [] then
9
+ (pkg: builtins.elem (getName pkg) (cfg.permittedUnfreePackages or []))
10
+ else
11
+ (_: false);
12
+ allowInsecurePredicate =
13
+ if (cfg.permittedInsecurePackages or []) != [] then
14
+ (pkg: builtins.elem (getName pkg) (cfg.permittedInsecurePackages or []))
15
+ else
16
+ (_: false);
17
+ }