@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.
- package/.devenv/bootstrap/bootstrapLib.nix +650 -0
- package/.devenv/bootstrap/default.nix +22 -0
- package/.devenv/bootstrap/lock-sources.nix +123 -0
- package/.devenv/bootstrap/resolve-input-paths.nix +34 -0
- package/.devenv/bootstrap/resolve-lock.nix +116 -0
- package/.devenv/changelog-cache.json +13 -0
- package/.devenv/devenv.fish +252 -0
- package/.devenv/imports.txt +0 -0
- package/.devenv/input-paths.txt +8 -0
- package/.devenv/load-exports +1 -0
- package/.devenv/nix-eval-cache.db +0 -0
- package/.devenv/nix-eval-cache.db.init.lock +0 -0
- package/.devenv/nixpkgs-config-99f33fda17d41bc9.nix +17 -0
- package/.devenv/nixpkgs-config-c46eff8321b73149.nix +29 -0
- package/.devenv/profiles/nix/bootstrap/bootstrapLib.nix +571 -0
- package/.devenv/profiles/nix/bootstrap/default.nix +19 -0
- package/.devenv/profiles/nix/bootstrap/resolve-lock.nix +157 -0
- package/.devenv/profiles/nix/imports.txt +0 -0
- package/.devenv/profiles/nix/input-paths.txt +4 -0
- package/.devenv/profiles/nix/load-exports +1 -0
- package/.devenv/profiles/nix/nix-eval-cache.db +0 -0
- package/.devenv/profiles/nix/nix-eval-cache.db-shm +0 -0
- package/.devenv/profiles/nix/nix-eval-cache.db-wal +0 -0
- package/.devenv/profiles/nix/nixpkgs-config-99f33fda17d41bc9.nix +17 -0
- package/.devenv/profiles/nix/shell-0d722b4fe4724c8e.sh +2270 -0
- package/.devenv/profiles/nix/shell-314b72302fb2c916.sh +2270 -0
- package/.devenv/profiles/nix/shell-6a4b00b5ca837a3b.sh +2270 -0
- package/.devenv/profiles/nix/shell-956adc1e664f64c3.sh +2270 -0
- package/.devenv/profiles/nix/shell-9dbff87fad44e8d9.sh +2270 -0
- package/.devenv/profiles/nix/shell-b1e9e1f82076662f.sh +2270 -0
- package/.devenv/profiles/nix/shell-b4f4bbfa36797bee.sh +2270 -0
- package/.devenv/profiles/nix/shell-c4b190d331c48d67.sh +2270 -0
- package/.devenv/profiles/nix/state/files.json +1 -0
- package/.devenv/profiles/nix/state/tasks.db +0 -0
- package/.devenv/profiles/nix/state/tasks.db-shm +0 -0
- package/.devenv/profiles/nix/state/tasks.db-wal +0 -0
- package/.devenv/profiles/nix/task-names.txt +5 -0
- package/.devenv/shell-086ca2c39799e6a6.sh +2270 -0
- package/.devenv/shell-2c06a35dd99be3d1.sh +2270 -0
- package/.devenv/shell-36f1fe0faec08873.sh +2270 -0
- package/.devenv/shell-676361065bda5b43.sh +2270 -0
- package/.devenv/shell-9f6cb513d1721fef.sh +2270 -0
- package/.devenv/shell-c0e4459b4f5922d7.sh +2270 -0
- package/.devenv/shell-c862a0db6e9ad5f4.sh +2270 -0
- package/.devenv/shell-d71ade933a43e837.sh +2270 -0
- package/.devenv/shell-dd73aac05b182946.sh +2270 -0
- package/.devenv/shell-e39d0b30a7e0eb13.sh +2270 -0
- package/.devenv/shell-env.sh +2275 -0
- package/.devenv/shell-f924d749ff8c17ee.sh +2270 -0
- package/.devenv/shell-rcfile.sh +152 -0
- package/.devenv/state/files.json +5 -0
- package/.devenv/state/git-hooks-install/hooks +1 -0
- package/.devenv/state/git-hooks-install/key +4 -0
- package/.devenv/state/prek/.lock +0 -0
- package/.devenv/state/prek/README +2 -0
- package/.devenv/state/prek/config-tracking.json +3 -0
- package/.devenv/state/prek/patches/1793595918715-562072.patch +26 -0
- package/.devenv/state/prek/patches/1793596283854-574354.patch +22881 -0
- package/.devenv/state/prek/patches/1793596332255-574728.patch +22870 -0
- package/.devenv/state/prek/patches/1793597557669-617911.patch +284 -0
- package/.devenv/state/prek/patches/1793856046749-331249.patch +2906 -0
- package/.devenv/state/prek/patches/1793856096552-331868.patch +2998 -0
- package/.devenv/state/prek/patches/1793856146786-332328.patch +3009 -0
- package/.devenv/state/prek/patches/1793856181490-332981.patch +11401 -0
- package/.devenv/state/prek/patches/1793856203087-333510.patch +11388 -0
- package/.devenv/state/prek/patches/1793856277935-334258.patch +11372 -0
- package/.devenv/state/prek/patches/1793856646955-337912.patch +8488 -0
- package/.devenv/state/prek/patches/1793856682905-338572.patch +8260 -0
- package/.devenv/state/prek/patches/1793857035751-356215.patch +8295 -0
- package/.devenv/state/tasks.db +0 -0
- package/.devenv/state/tasks.db.init.lock +0 -0
- package/.devenv/task-names.txt +7 -0
- package/.github/workflows/codeql.yml +72 -72
- package/.github/workflows/test.yml +31 -31
- package/.prettierignore +9 -0
- package/CHANGELOG.md +609 -427
- package/LICENSE +121 -121
- package/README.md +2 -2
- package/devenv.lock +103 -0
- package/devenv.nix +35 -0
- package/devenv.yaml +23 -0
- package/dist/errors/bad_request.js +7 -7
- package/dist/errors/bad_request.js.map +1 -1
- package/dist/errors/captcha_required.js +18 -18
- package/dist/errors/captcha_required.js.map +1 -1
- package/dist/errors/email_exists.js +7 -7
- package/dist/errors/email_exists.js.map +1 -1
- package/dist/errors/error.js +2 -2
- package/dist/errors/error_base.js +42 -42
- package/dist/errors/error_base.js.map +1 -1
- package/dist/errors/index.js +28 -28
- package/dist/errors/invalid_client.js +7 -7
- package/dist/errors/invalid_client.js.map +1 -1
- package/dist/errors/invalid_email.js +7 -7
- package/dist/errors/invalid_email.js.map +1 -1
- package/dist/errors/invalid_grant.js +7 -7
- package/dist/errors/invalid_grant.js.map +1 -1
- package/dist/errors/not_found.js +2 -2
- package/dist/errors/permission_denied.js +7 -7
- package/dist/errors/permission_denied.js.map +1 -1
- package/dist/errors/unauthorized.js +7 -7
- package/dist/errors/unauthorized.js.map +1 -1
- package/dist/errors/wrong_params.js +7 -7
- package/dist/errors/wrong_params.js.map +1 -1
- package/dist/index.js +20 -20
- package/dist/payloads/activity.js +49 -49
- package/dist/payloads/activity.js.map +1 -1
- package/dist/payloads/app.js +2 -2
- package/dist/payloads/appeal.js +13 -13
- package/dist/payloads/appeal.js.map +1 -1
- package/dist/payloads/ban.js +35 -35
- package/dist/payloads/ban.js.map +1 -1
- package/dist/payloads/base.js +2 -2
- package/dist/payloads/chat.js +37 -0
- package/dist/payloads/chat.js.map +1 -0
- package/dist/payloads/client.js +12 -12
- package/dist/payloads/client.js.map +1 -1
- package/dist/payloads/comment.js +41 -41
- package/dist/payloads/comment.js.map +1 -1
- package/dist/payloads/content.js +175 -175
- package/dist/payloads/content.js.map +1 -1
- package/dist/payloads/index.js +28 -26
- package/dist/payloads/index.js.map +1 -1
- package/dist/payloads/strike.js +2 -2
- package/dist/payloads/topics.js +72 -0
- package/dist/payloads/topics.js.map +1 -0
- package/dist/payloads/user.js +214 -214
- package/dist/payloads/user.js.map +1 -1
- package/dist/rest/account.js +2 -2
- package/dist/rest/content.js +53 -53
- package/dist/rest/content.js.map +1 -1
- package/dist/rest/counters.js +2 -2
- package/dist/rest/endpoints.js +198 -198
- package/dist/rest/endpoints.js.map +1 -1
- package/dist/rest/explore.js +81 -81
- package/dist/rest/explore.js.map +1 -1
- package/dist/rest/feeds.js +2 -2
- package/dist/rest/index.js +24 -24
- package/dist/rest/issues.js +2 -2
- package/dist/rest/oauth2.js +8 -8
- package/dist/rest/oauth2.js.map +1 -1
- package/dist/utils/index.js +18 -18
- package/dist/utils/rest.js +2 -2
- package/dist/utils/util.js +2 -2
- package/eslint.config.mjs +18 -0
- package/package.json +66 -50
- package/prettier.config.js +15 -0
- package/tag-check.sh +111 -0
- package/types/errors/bad_request.d.ts +11 -11
- package/types/errors/bad_request.d.ts.map +1 -1
- package/types/errors/captcha_required.d.ts +32 -32
- package/types/errors/captcha_required.d.ts.map +1 -1
- package/types/errors/email_exists.d.ts +14 -14
- package/types/errors/email_exists.d.ts.map +1 -1
- package/types/errors/error.d.ts +28 -28
- package/types/errors/error.d.ts.map +1 -1
- package/types/errors/error_base.d.ts +60 -60
- package/types/errors/error_base.d.ts.map +1 -1
- package/types/errors/index.d.ts +12 -12
- package/types/errors/invalid_client.d.ts +14 -14
- package/types/errors/invalid_client.d.ts.map +1 -1
- package/types/errors/invalid_email.d.ts +14 -14
- package/types/errors/invalid_email.d.ts.map +1 -1
- package/types/errors/invalid_grant.d.ts +11 -11
- package/types/errors/invalid_grant.d.ts.map +1 -1
- package/types/errors/not_found.d.ts +7 -7
- package/types/errors/permission_denied.d.ts +11 -11
- package/types/errors/permission_denied.d.ts.map +1 -1
- package/types/errors/unauthorized.d.ts +11 -11
- package/types/errors/unauthorized.d.ts.map +1 -1
- package/types/errors/wrong_params.d.ts +10 -10
- package/types/errors/wrong_params.d.ts.map +1 -1
- package/types/index.d.ts +4 -4
- package/types/payloads/activity.d.ts +113 -113
- package/types/payloads/activity.d.ts.map +1 -1
- package/types/payloads/app.d.ts +265 -265
- package/types/payloads/appeal.d.ts +21 -21
- package/types/payloads/appeal.d.ts.map +1 -1
- package/types/payloads/ban.d.ts +84 -84
- package/types/payloads/ban.d.ts.map +1 -1
- package/types/payloads/base.d.ts +4 -4
- package/types/payloads/chat.d.ts +117 -0
- package/types/payloads/chat.d.ts.map +1 -0
- package/types/payloads/client.d.ts +107 -107
- package/types/payloads/client.d.ts.map +1 -1
- package/types/payloads/comment.d.ts +123 -123
- package/types/payloads/comment.d.ts.map +1 -1
- package/types/payloads/content.d.ts +676 -677
- package/types/payloads/content.d.ts.map +1 -1
- package/types/payloads/index.d.ts +12 -10
- package/types/payloads/index.d.ts.map +1 -1
- package/types/payloads/strike.d.ts +14 -14
- package/types/payloads/topics.d.ts +45 -0
- package/types/payloads/topics.d.ts.map +1 -0
- package/types/payloads/user.d.ts +522 -522
- package/types/payloads/user.d.ts.map +1 -1
- package/types/rest/account.d.ts +3 -3
- package/types/rest/account.d.ts.map +1 -1
- package/types/rest/content.d.ts +95 -95
- package/types/rest/content.d.ts.map +1 -1
- package/types/rest/counters.d.ts +9 -9
- package/types/rest/counters.d.ts.map +1 -1
- package/types/rest/endpoints.d.ts +152 -152
- package/types/rest/explore.d.ts +112 -112
- package/types/rest/explore.d.ts.map +1 -1
- package/types/rest/feeds.d.ts +16 -16
- package/types/rest/index.d.ts +8 -8
- package/types/rest/issues.d.ts +15 -15
- package/types/rest/oauth2.d.ts +36 -36
- package/types/rest/oauth2.d.ts.map +1 -1
- package/types/utils/index.d.ts +2 -2
- package/types/utils/rest.d.ts +49 -49
- package/types/utils/rest.d.ts.map +1 -1
- package/types/utils/util.d.ts +79 -79
- 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
|
+
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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
|
+
}
|