tanstack-head-controller 0.0.1 → 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.
- package/dist/context/safe.js +3 -3
- package/dist/context/safe.js.map +1 -1
- package/dist/create.d.ts +3 -1
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +6 -4
- package/dist/create.js.map +1 -1
- package/package.json +3 -4
package/dist/context/safe.js
CHANGED
|
@@ -27,13 +27,13 @@ export function useSafeHeadCtrlrContext(ctx, options = {}) {
|
|
|
27
27
|
}
|
|
28
28
|
return null;
|
|
29
29
|
}
|
|
30
|
-
if (!("
|
|
30
|
+
if (!("thc" in ctx)) {
|
|
31
31
|
if (isThrow) {
|
|
32
|
-
throw logger.error("Invalid context: Missing '
|
|
32
|
+
throw logger.error("Invalid context: Missing 'thc' property.");
|
|
33
33
|
}
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
|
-
const headCtrlr = ctx.
|
|
36
|
+
const headCtrlr = ctx.thc;
|
|
37
37
|
if (!isHeadCtrlrContext(headCtrlr)) {
|
|
38
38
|
if (isThrow) {
|
|
39
39
|
throw logger.error("Invalid context: 'headCtrlr.plugins' must be an array.");
|
package/dist/context/safe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/context/safe.ts"],"sourcesContent":["/**\n * このファイルは、`headCtrlrContext` を安全に使用するための機能を提供します。\n *\n * 1. 型が保証された状態でコンテキストを使用できるようにする。\n * 2. コンテキストの構造が変更された場合に、型エラーを通じて問題を早期に発見できるようにする。\n * 3. コンテキストの使用箇所で、必要なプロパティが存在することを保証する。\n */\n\nimport { rLogger } from \"./log\";\nimport type { headCtrlrContext } from \"./type\";\n\nconst logger = rLogger.getSubLogger({ name: \"Safe\" });\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction isHeadCtrlrContext(value: unknown): value is headCtrlrContext {\n if (!isRecord(value)) {\n return false;\n }\n\n return Array.isArray(value.plugins);\n}\n\n/**\n * `headCtrlrContext` を安全に使用するための関数。\n * @param ctx - 使用するルーターコンテキスト\n * @returns `headCtrlrContext` 型のコンテキスト\n * @throws コンテキストが正しい構造を持っていない場合にエラーをスロー\n * @example\n * const safeCtx = useSafeHeadCtrlrContext(ctx)\n * // safeCtx は headCtrlrContext 型であることが保証される\n * console.log(safeCtx.plugins) // plugins プロパティが存在することが保証される\n */\nexport interface UseSafeHeadCtrlrContextOptions {\n isThrow?: boolean; // エラーをスローするかどうかのオプション(デフォルトは true)\n}\n\nexport function useSafeHeadCtrlrContext(\n ctx: unknown,\n options: UseSafeHeadCtrlrContextOptions = {}\n): headCtrlrContext | null {\n const { isThrow = true } = options;\n\n if (!isRecord(ctx)) {\n if (isThrow) {\n throw logger.error(\"Invalid context: Context must be an object.\", {\n receivedType: typeof ctx,\n });\n }\n return null;\n }\n\n if (!(\"
|
|
1
|
+
{"version":3,"sources":["../../src/context/safe.ts"],"sourcesContent":["/**\n * このファイルは、`headCtrlrContext` を安全に使用するための機能を提供します。\n *\n * 1. 型が保証された状態でコンテキストを使用できるようにする。\n * 2. コンテキストの構造が変更された場合に、型エラーを通じて問題を早期に発見できるようにする。\n * 3. コンテキストの使用箇所で、必要なプロパティが存在することを保証する。\n */\n\nimport { rLogger } from \"./log\";\nimport type { headCtrlrContext } from \"./type\";\n\nconst logger = rLogger.getSubLogger({ name: \"Safe\" });\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction isHeadCtrlrContext(value: unknown): value is headCtrlrContext {\n if (!isRecord(value)) {\n return false;\n }\n\n return Array.isArray(value.plugins);\n}\n\n/**\n * `headCtrlrContext` を安全に使用するための関数。\n * @param ctx - 使用するルーターコンテキスト\n * @returns `headCtrlrContext` 型のコンテキスト\n * @throws コンテキストが正しい構造を持っていない場合にエラーをスロー\n * @example\n * const safeCtx = useSafeHeadCtrlrContext(ctx)\n * // safeCtx は headCtrlrContext 型であることが保証される\n * console.log(safeCtx.plugins) // plugins プロパティが存在することが保証される\n */\nexport interface UseSafeHeadCtrlrContextOptions {\n isThrow?: boolean; // エラーをスローするかどうかのオプション(デフォルトは true)\n}\n\nexport function useSafeHeadCtrlrContext(\n ctx: unknown,\n options: UseSafeHeadCtrlrContextOptions = {}\n): headCtrlrContext | null {\n const { isThrow = true } = options;\n\n if (!isRecord(ctx)) {\n if (isThrow) {\n throw logger.error(\"Invalid context: Context must be an object.\", {\n receivedType: typeof ctx,\n });\n }\n return null;\n }\n\n if (!(\"thc\" in ctx)) {\n if (isThrow) {\n throw logger.error(\"Invalid context: Missing 'thc' property.\");\n }\n return null;\n }\n\n const headCtrlr = ctx.thc;\n\n if (!isHeadCtrlrContext(headCtrlr)) {\n if (isThrow) {\n throw logger.error(\"Invalid context: 'headCtrlr.plugins' must be an array.\");\n }\n return null;\n }\n\n return headCtrlr;\n}\n"],"names":["rLogger","logger","getSubLogger","name","isRecord","value","isHeadCtrlrContext","Array","isArray","plugins","useSafeHeadCtrlrContext","ctx","options","isThrow","error","receivedType","headCtrlr","thc"],"mappings":"AAAA;;;;;;CAMC,GAED,SAASA,OAAO,QAAQ,QAAQ;AAGhC,MAAMC,SAASD,QAAQE,YAAY,CAAC;IAAEC,MAAM;AAAO;AAEnD,SAASC,SAASC,KAAc;IAC9B,OAAO,OAAOA,UAAU,YAAYA,UAAU;AAChD;AAEA,SAASC,mBAAmBD,KAAc;IACxC,IAAI,CAACD,SAASC,QAAQ;QACpB,OAAO;IACT;IAEA,OAAOE,MAAMC,OAAO,CAACH,MAAMI,OAAO;AACpC;AAgBA,OAAO,SAASC,wBACdC,GAAY,EACZC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EAAEC,UAAU,IAAI,EAAE,GAAGD;IAE3B,IAAI,CAACR,SAASO,MAAM;QAClB,IAAIE,SAAS;YACX,MAAMZ,OAAOa,KAAK,CAAC,+CAA+C;gBAChEC,cAAc,OAAOJ;YACvB;QACF;QACA,OAAO;IACT;IAEA,IAAI,CAAE,CAAA,SAASA,GAAE,GAAI;QACnB,IAAIE,SAAS;YACX,MAAMZ,OAAOa,KAAK,CAAC;QACrB;QACA,OAAO;IACT;IAEA,MAAME,YAAYL,IAAIM,GAAG;IAEzB,IAAI,CAACX,mBAAmBU,YAAY;QAClC,IAAIH,SAAS;YACX,MAAMZ,OAAOa,KAAK,CAAC;QACrB;QACA,OAAO;IACT;IAEA,OAAOE;AACT"}
|
package/dist/create.d.ts
CHANGED
|
@@ -4,5 +4,7 @@ export interface CreateHeadControllerOptions {
|
|
|
4
4
|
configs?: ThcConfigs;
|
|
5
5
|
plugins?: ThcPlugin[];
|
|
6
6
|
}
|
|
7
|
-
export declare const createHeadController: (options?: CreateHeadControllerOptions) =>
|
|
7
|
+
export declare const createHeadController: (options?: CreateHeadControllerOptions) => {
|
|
8
|
+
thc: any;
|
|
9
|
+
};
|
|
8
10
|
//# sourceMappingURL=create.d.ts.map
|
package/dist/create.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB;AAID,eAAO,MAAM,oBAAoB,GAAI,UAAS,2BAAgC,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB;AAID,eAAO,MAAM,oBAAoB,GAAI,UAAS,2BAAgC;;CAS7E,CAAC"}
|
package/dist/create.js
CHANGED
|
@@ -7,10 +7,12 @@ export const createHeadController = (options = {})=>{
|
|
|
7
7
|
const { configs = {}, plugins = [] } = options;
|
|
8
8
|
// logger.info("Initializing head controller with options:", options);
|
|
9
9
|
// logger.info("Registered plugins:", plugins);
|
|
10
|
-
return
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
return {
|
|
11
|
+
thc: editContext({}, {
|
|
12
|
+
configs,
|
|
13
|
+
plugins
|
|
14
|
+
})
|
|
15
|
+
};
|
|
14
16
|
};
|
|
15
17
|
|
|
16
18
|
//# sourceMappingURL=create.js.map
|
package/dist/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/create.ts"],"sourcesContent":["import type { ThcConfigs } from \"./configs/type\";\nimport { editContext } from \"./context/edit\";\nimport { cLogger } from \"./lib/logger\";\nimport type { ThcPlugin } from \"./plugins/type\";\n\nexport interface CreateHeadControllerOptions {\n configs?: ThcConfigs;\n plugins?: ThcPlugin[];\n}\n\nconst logger = cLogger().getSubLogger({ name: \"Create\" });\n\nexport const createHeadController = (options: CreateHeadControllerOptions = {}) => {\n const { configs = {}, plugins = [] } = options;\n\n // logger.info(\"Initializing head controller with options:\", options);\n // logger.info(\"Registered plugins:\", plugins);\n\n return editContext({}, { configs, plugins });\n};\n"],"names":["editContext","cLogger","logger","getSubLogger","name","createHeadController","options","configs","plugins"],"mappings":"AACA,SAASA,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,OAAO,QAAQ,eAAe;AAQvC,MAAMC,SAASD,UAAUE,YAAY,CAAC;IAAEC,MAAM;AAAS;AAEvD,OAAO,MAAMC,uBAAuB,CAACC,UAAuC,CAAC,CAAC;IAC5E,MAAM,EAAEC,UAAU,CAAC,CAAC,EAAEC,UAAU,EAAE,EAAE,GAAGF;IAEvC,sEAAsE;IACtE,+CAA+C;IAE/C,
|
|
1
|
+
{"version":3,"sources":["../src/create.ts"],"sourcesContent":["import type { ThcConfigs } from \"./configs/type\";\nimport { editContext } from \"./context/edit\";\nimport { cLogger } from \"./lib/logger\";\nimport type { ThcPlugin } from \"./plugins/type\";\n\nexport interface CreateHeadControllerOptions {\n configs?: ThcConfigs;\n plugins?: ThcPlugin[];\n}\n\nconst logger = cLogger().getSubLogger({ name: \"Create\" });\n\nexport const createHeadController = (options: CreateHeadControllerOptions = {}) => {\n const { configs = {}, plugins = [] } = options;\n\n // logger.info(\"Initializing head controller with options:\", options);\n // logger.info(\"Registered plugins:\", plugins);\n\n return {\n thc: editContext({}, { configs, plugins }),\n };\n};\n"],"names":["editContext","cLogger","logger","getSubLogger","name","createHeadController","options","configs","plugins","thc"],"mappings":"AACA,SAASA,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,OAAO,QAAQ,eAAe;AAQvC,MAAMC,SAASD,UAAUE,YAAY,CAAC;IAAEC,MAAM;AAAS;AAEvD,OAAO,MAAMC,uBAAuB,CAACC,UAAuC,CAAC,CAAC;IAC5E,MAAM,EAAEC,UAAU,CAAC,CAAC,EAAEC,UAAU,EAAE,EAAE,GAAGF;IAEvC,sEAAsE;IACtE,+CAA+C;IAE/C,OAAO;QACLG,KAAKT,YAAY,CAAC,GAAG;YAAEO;YAASC;QAAQ;IAC1C;AACF,EAAE"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tanstack-head-controller",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.3",
|
|
5
5
|
"description": "Head management library for TanStack Router with plugin-based transforms.",
|
|
6
|
-
"homepage": "https://thc.tkcl.tv
|
|
6
|
+
"homepage": "https://thc.tkcl.tv",
|
|
7
7
|
"author": "toakiryu",
|
|
8
8
|
"license": "Apache-2.0",
|
|
9
9
|
"funding": "https://buymeacoffee.com/toakiryu",
|
|
@@ -57,8 +57,7 @@
|
|
|
57
57
|
"react": ">=19"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"tslog": "^4.10.2"
|
|
61
|
-
"zod": "^4.3.6"
|
|
60
|
+
"tslog": "^4.10.2"
|
|
62
61
|
},
|
|
63
62
|
"devDependencies": {
|
|
64
63
|
"@biomejs/biome": "2.4.0",
|