@x-oasis/each 0.1.11
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/README.md +13 -0
- package/dist/each.cjs.development.js +22 -0
- package/dist/each.cjs.development.js.map +1 -0
- package/dist/each.cjs.production.min.js +2 -0
- package/dist/each.cjs.production.min.js.map +1 -0
- package/dist/each.esm.js +16 -0
- package/dist/each.esm.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +8 -0
- package/package.json +27 -0
- package/src/index.ts +20 -0
package/README.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
|
+
|
|
7
|
+
var isObject = _interopDefault(require('@x-oasis/is-object'));
|
|
8
|
+
|
|
9
|
+
function each(obj, iter) {
|
|
10
|
+
if (Array.isArray(obj)) {
|
|
11
|
+
obj.forEach(function (entry, index) {
|
|
12
|
+
return iter(index, entry, obj);
|
|
13
|
+
});
|
|
14
|
+
} else if (isObject(obj)) {
|
|
15
|
+
ownKeys(obj).forEach(function (key) {
|
|
16
|
+
return iter(key, obj[key], obj);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports.each = each;
|
|
22
|
+
//# sourceMappingURL=each.cjs.development.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"each.cjs.development.js","sources":["../src/index.ts"],"sourcesContent":["import isObject from '@x-oasis/is-object';\n\ntype EachArray<T> = (index: number, entry: any, obj: T) => void;\ntype EachObject<T> = <K extends keyof T>(key: K, entry: T[K], obj: T) => number;\ntype Iter<T extends Array<any> | { [key: string]: any }> = T extends Array<any>\n ? EachArray<T>\n : T extends { [key: string]: any }\n ? EachObject<T>\n : never;\n\nexport function each<T>(obj: T, iter: Iter<T>) {\n if (Array.isArray(obj)) {\n (obj as Array<any>).forEach((entry, index) =>\n (iter as EachArray<T>)(index, entry, obj)\n );\n } else if (isObject(obj)) {\n // @ts-ignore\n ownKeys(obj).forEach((key) => (iter as EachObject<T>)(key, obj[key], obj));\n }\n}\n"],"names":["each","obj","iter","Array","isArray","forEach","entry","index","isObject","ownKeys","key"],"mappings":";;;;;;;;SAUgBA,IAAIA,CAAIC,GAAM,EAAEC,IAAa;EAC3C,IAAIC,KAAK,CAACC,OAAO,CAACH,GAAG,CAAC,EAAE;IACrBA,GAAkB,CAACI,OAAO,CAAC,UAACC,KAAK,EAAEC,KAAK;MAAA,OACtCL,IAAqB,CAACK,KAAK,EAAED,KAAK,EAAEL,GAAG,CAAC;MAC1C;GACF,MAAM,IAAIO,QAAQ,CAACP,GAAG,CAAC,EAAE;IAExBQ,OAAO,CAACR,GAAG,CAAC,CAACI,OAAO,CAAC,UAACK,GAAG;MAAA,OAAMR,IAAsB,CAACQ,GAAG,EAAET,GAAG,CAACS,GAAG,CAAC,EAAET,GAAG,CAAC;MAAC;;AAE9E;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=(e=require("@x-oasis/is-object"))&&"object"==typeof e&&"default"in e?e.default:e;exports.each=function(e,t){Array.isArray(e)?e.forEach((function(r,o){return t(o,r,e)})):r(e)&&ownKeys(e).forEach((function(r){return t(r,e[r],e)}))};
|
|
2
|
+
//# sourceMappingURL=each.cjs.production.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"each.cjs.production.min.js","sources":["../src/index.ts"],"sourcesContent":["import isObject from '@x-oasis/is-object';\n\ntype EachArray<T> = (index: number, entry: any, obj: T) => void;\ntype EachObject<T> = <K extends keyof T>(key: K, entry: T[K], obj: T) => number;\ntype Iter<T extends Array<any> | { [key: string]: any }> = T extends Array<any>\n ? EachArray<T>\n : T extends { [key: string]: any }\n ? EachObject<T>\n : never;\n\nexport function each<T>(obj: T, iter: Iter<T>) {\n if (Array.isArray(obj)) {\n (obj as Array<any>).forEach((entry, index) =>\n (iter as EachArray<T>)(index, entry, obj)\n );\n } else if (isObject(obj)) {\n // @ts-ignore\n ownKeys(obj).forEach((key) => (iter as EachObject<T>)(key, obj[key], obj));\n }\n}\n"],"names":["obj","iter","Array","isArray","forEach","entry","index","isObject","ownKeys","key"],"mappings":"mLAUwBA,EAAQC,GAC1BC,MAAMC,QAAQH,GACfA,EAAmBI,SAAQ,SAACC,EAAOC,GAAK,OACtCL,EAAsBK,EAAOD,EAAOL,MAE9BO,EAASP,IAElBQ,QAAQR,GAAKI,SAAQ,SAACK,GAAG,OAAMR,EAAuBQ,EAAKT,EAAIS,GAAMT"}
|
package/dist/each.esm.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import isObject from '@x-oasis/is-object';
|
|
2
|
+
|
|
3
|
+
function each(obj, iter) {
|
|
4
|
+
if (Array.isArray(obj)) {
|
|
5
|
+
obj.forEach(function (entry, index) {
|
|
6
|
+
return iter(index, entry, obj);
|
|
7
|
+
});
|
|
8
|
+
} else if (isObject(obj)) {
|
|
9
|
+
ownKeys(obj).forEach(function (key) {
|
|
10
|
+
return iter(key, obj[key], obj);
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { each };
|
|
16
|
+
//# sourceMappingURL=each.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"each.esm.js","sources":["../src/index.ts"],"sourcesContent":["import isObject from '@x-oasis/is-object';\n\ntype EachArray<T> = (index: number, entry: any, obj: T) => void;\ntype EachObject<T> = <K extends keyof T>(key: K, entry: T[K], obj: T) => number;\ntype Iter<T extends Array<any> | { [key: string]: any }> = T extends Array<any>\n ? EachArray<T>\n : T extends { [key: string]: any }\n ? EachObject<T>\n : never;\n\nexport function each<T>(obj: T, iter: Iter<T>) {\n if (Array.isArray(obj)) {\n (obj as Array<any>).forEach((entry, index) =>\n (iter as EachArray<T>)(index, entry, obj)\n );\n } else if (isObject(obj)) {\n // @ts-ignore\n ownKeys(obj).forEach((key) => (iter as EachObject<T>)(key, obj[key], obj));\n }\n}\n"],"names":["each","obj","iter","Array","isArray","forEach","entry","index","isObject","ownKeys","key"],"mappings":";;SAUgBA,IAAIA,CAAIC,GAAM,EAAEC,IAAa;EAC3C,IAAIC,KAAK,CAACC,OAAO,CAACH,GAAG,CAAC,EAAE;IACrBA,GAAkB,CAACI,OAAO,CAAC,UAACC,KAAK,EAAEC,KAAK;MAAA,OACtCL,IAAqB,CAACK,KAAK,EAAED,KAAK,EAAEL,GAAG,CAAC;MAC1C;GACF,MAAM,IAAIO,QAAQ,CAACP,GAAG,CAAC,EAAE;IAExBQ,OAAO,CAACR,GAAG,CAAC,CAACI,OAAO,CAAC,UAACK,GAAG;MAAA,OAAMR,IAAsB,CAACQ,GAAG,EAAET,GAAG,CAACS,GAAG,CAAC,EAAET,GAAG,CAAC;MAAC;;AAE9E;;;;"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare type EachArray<T> = (index: number, entry: any, obj: T) => void;
|
|
2
|
+
declare type EachObject<T> = <K extends keyof T>(key: K, entry: T[K], obj: T) => number;
|
|
3
|
+
declare type Iter<T extends Array<any> | {
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}> = T extends Array<any> ? EachArray<T> : T extends {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
} ? EachObject<T> : never;
|
|
8
|
+
export declare function each<T>(obj: T, iter: Iter<T>): void;
|
|
9
|
+
export {};
|
package/dist/index.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@x-oasis/each",
|
|
3
|
+
"version": "0.1.11",
|
|
4
|
+
"description": "each function",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"typings": "dist/index.d.ts",
|
|
7
|
+
"module": "dist/each.esm.js",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"index.ts",
|
|
11
|
+
"src"
|
|
12
|
+
],
|
|
13
|
+
"author": "",
|
|
14
|
+
"license": "ISC",
|
|
15
|
+
"devDependencies": {
|
|
16
|
+
"tsdx": "^0.14.1"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@x-oasis/is-object": "0.1.11"
|
|
20
|
+
},
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsdx build --tsconfig tsconfig.build.json",
|
|
23
|
+
"clean": "rimraf ./dist",
|
|
24
|
+
"test": "vitest",
|
|
25
|
+
"compile": "tsc -p tsconfig.build.json"
|
|
26
|
+
}
|
|
27
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import isObject from '@x-oasis/is-object';
|
|
2
|
+
|
|
3
|
+
type EachArray<T> = (index: number, entry: any, obj: T) => void;
|
|
4
|
+
type EachObject<T> = <K extends keyof T>(key: K, entry: T[K], obj: T) => number;
|
|
5
|
+
type Iter<T extends Array<any> | { [key: string]: any }> = T extends Array<any>
|
|
6
|
+
? EachArray<T>
|
|
7
|
+
: T extends { [key: string]: any }
|
|
8
|
+
? EachObject<T>
|
|
9
|
+
: never;
|
|
10
|
+
|
|
11
|
+
export function each<T>(obj: T, iter: Iter<T>) {
|
|
12
|
+
if (Array.isArray(obj)) {
|
|
13
|
+
(obj as Array<any>).forEach((entry, index) =>
|
|
14
|
+
(iter as EachArray<T>)(index, entry, obj)
|
|
15
|
+
);
|
|
16
|
+
} else if (isObject(obj)) {
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
ownKeys(obj).forEach((key) => (iter as EachObject<T>)(key, obj[key], obj));
|
|
19
|
+
}
|
|
20
|
+
}
|