@konomi-app/kintone-utilities 5.10.3 → 5.11.0
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/decorator.d.ts +16 -0
- package/dist/decorator.js +32 -0
- package/dist/decorator.js.map +1 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/plugin/config.js +5 -6
- package/dist/plugin/config.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 指定された関数にロギング機能を追加するデコレータ関数。
|
|
3
|
+
*
|
|
4
|
+
* ログはグループ化され、関数名、引数、戻り値、処理時間が表示される。
|
|
5
|
+
*
|
|
6
|
+
* @template T - 関数の型。
|
|
7
|
+
* @param {T} fn - ロギングを追加する対象の関数。
|
|
8
|
+
* @param {string} [name=fn.name] - ログに表示する関数名。デフォルトは関数の名前。
|
|
9
|
+
* @returns {(...args: Parameters<T>) => ReturnType<T>} ロギング機能が追加された新しい関数。
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const add = (a: number, b: number) => a + b;
|
|
13
|
+
* const addWithLogging = withLogging(add);
|
|
14
|
+
* addWithLogging(2, 3); // ログが出力される
|
|
15
|
+
*/
|
|
16
|
+
export declare const withLogging: <T extends (...args: any[]) => any>(fn: T, name?: string) => (...args: Parameters<T>) => ReturnType<T>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 指定された関数にロギング機能を追加するデコレータ関数。
|
|
3
|
+
*
|
|
4
|
+
* ログはグループ化され、関数名、引数、戻り値、処理時間が表示される。
|
|
5
|
+
*
|
|
6
|
+
* @template T - 関数の型。
|
|
7
|
+
* @param {T} fn - ロギングを追加する対象の関数。
|
|
8
|
+
* @param {string} [name=fn.name] - ログに表示する関数名。デフォルトは関数の名前。
|
|
9
|
+
* @returns {(...args: Parameters<T>) => ReturnType<T>} ロギング機能が追加された新しい関数。
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const add = (a: number, b: number) => a + b;
|
|
13
|
+
* const addWithLogging = withLogging(add);
|
|
14
|
+
* addWithLogging(2, 3); // ログが出力される
|
|
15
|
+
*/
|
|
16
|
+
export const withLogging = (fn, name = fn.name) => {
|
|
17
|
+
return (...args) => {
|
|
18
|
+
try {
|
|
19
|
+
console.groupCollapsed(`🔧 ${name}`);
|
|
20
|
+
console.log('🔧 args', args);
|
|
21
|
+
const now = performance.now();
|
|
22
|
+
const result = fn(...args);
|
|
23
|
+
console.log('✨ result', result);
|
|
24
|
+
console.log(`🕒 took ${performance.now() - now}ms`);
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
finally {
|
|
28
|
+
console.groupEnd();
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../src/decorator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAoC,EAAK,EAAE,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;IACtF,OAAO,CAAC,GAAG,IAAmB,EAAiB,EAAE;QAC/C,IAAI,CAAC;YACH,OAAO,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;YACpD,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export type { kintoneAPI } from './types/api';
|
|
2
|
-
export type * from './types/kintone-config';
|
|
3
|
-
export type * from './types/plugin-config';
|
|
4
1
|
export * from './character-width-conversion';
|
|
2
|
+
export * from './cybozu';
|
|
3
|
+
export * from './cybozu-api';
|
|
4
|
+
export * from './date';
|
|
5
|
+
export * from './decorator';
|
|
5
6
|
export * from './event-manager';
|
|
6
7
|
export * from './plugin';
|
|
7
8
|
export * from './rest-api';
|
|
8
|
-
export
|
|
9
|
+
export type { kintoneAPI } from './types/api';
|
|
10
|
+
export type * from './types/kintone-config';
|
|
11
|
+
export type * from './types/plugin-config';
|
|
9
12
|
export * from './utilities';
|
|
10
13
|
export * from './utility-types';
|
|
11
|
-
export * from './date';
|
|
12
|
-
export * from './cybozu';
|
|
13
14
|
export * from './xapp';
|
|
14
|
-
export * from './cybozu-api';
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export * from './character-width-conversion';
|
|
2
|
+
export * from './cybozu';
|
|
3
|
+
export * from './cybozu-api';
|
|
4
|
+
export * from './date';
|
|
5
|
+
export * from './decorator';
|
|
2
6
|
export * from './event-manager';
|
|
3
7
|
export * from './plugin';
|
|
4
8
|
export * from './rest-api';
|
|
5
|
-
export * from './types/kintone-config';
|
|
6
9
|
export * from './utilities';
|
|
7
10
|
export * from './utility-types';
|
|
8
|
-
export * from './date';
|
|
9
|
-
export * from './cybozu';
|
|
10
11
|
export * from './xapp';
|
|
11
|
-
export * from './cybozu-api';
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAI3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC"}
|
package/dist/plugin/config.js
CHANGED
|
@@ -47,25 +47,24 @@ export const restorePluginConfig = (id, options = {}) => {
|
|
|
47
47
|
}
|
|
48
48
|
const meta = JSON.parse(config[META_PROPERTY_KEY]);
|
|
49
49
|
let composed = {};
|
|
50
|
-
const
|
|
50
|
+
const flatKeys = meta.flat.flatMap(({ ids, property }) => ids.map((id) => createFlatPropertyKey(property, id)));
|
|
51
51
|
for (const { property, ids } of meta.flat) {
|
|
52
52
|
const properties = ids
|
|
53
|
-
.
|
|
54
|
-
|
|
53
|
+
.map((id) => ({ id, key: createFlatPropertyKey(property, id) }))
|
|
54
|
+
.filter(({ key }) => {
|
|
55
55
|
if (!(key in config)) {
|
|
56
56
|
console.warn(`[config] Property "${key}" is not found.`);
|
|
57
57
|
return false;
|
|
58
58
|
}
|
|
59
59
|
return true;
|
|
60
60
|
})
|
|
61
|
-
.map((id) => {
|
|
62
|
-
const key = createFlatPropertyKey(property, id);
|
|
61
|
+
.map(({ id, key }) => {
|
|
63
62
|
return { id, ...JSON.parse(config[key]) };
|
|
64
63
|
});
|
|
65
64
|
composed = { ...composed, [property]: properties };
|
|
66
65
|
}
|
|
67
66
|
const rest = Object.entries(config).reduce((acc, [key, value]) => {
|
|
68
|
-
if (![META_PROPERTY_KEY, ...
|
|
67
|
+
if (![META_PROPERTY_KEY, ...flatKeys].includes(key)) {
|
|
69
68
|
return { ...acc, [key]: JSON.parse(value) };
|
|
70
69
|
}
|
|
71
70
|
return acc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/plugin/config.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAUlC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAU,EAAU,EAAY,EAAE;IAC9D,MAAM,MAAM,GAA2B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAC7D,EAAE,CACH,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAA2B,EAAE,QAAqB,EAAQ,EAAE;IACvF,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SACnC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjF,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAE,EAAU,EAAE,EAAE,CAAC,GAAG,QAAQ,IAAI,EAAE,EAAE,CAAC;AAEpF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,EAAU,EACV,UAGI,EAAE,EACI,EAAE;IACZ,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,MAAM,GAA2B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAExE,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAEnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,QAAQ,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,CAAC,iBAAiB,IAAI,MAAM,CAAC,EAAE,CAAC;QACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QACzF,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAC7D,EAAE,CACH,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAyB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEzE,IAAI,QAAQ,GAAwB,EAAE,CAAC;IACvC,MAAM,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/plugin/config.ts"],"names":[],"mappings":"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"}
|