@rickard.antonsson/ts-utility 2.2.2 → 2.2.4

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.
@@ -1,4 +1,13 @@
1
1
  import { Fn } from '../../types';
2
+ /**
3
+ * Create htmlelement with direct possibility of accessing the element and adding childnodes.
4
+ *
5
+ * example: createElement('div', e => (e.textContent = 'Sometext'), [createElement('a{link text}[href=link-url]')])
6
+ * @param basicEmmet div.class1.class-2#my-id[attribute1 attribute2=somevalue]
7
+ * @param listOrFn optional - childList or function which gets the element as input
8
+ * @param list optional - childList
9
+ * @returns HtmlElement
10
+ */
2
11
  export declare function createElement<S extends keyof HTMLElementTagNameMap | `${keyof HTMLElementTagNameMap}${SplittingChars}${string}`>(basicEmmet: S, listOrFn?: (HTMLElement | string | (() => HTMLElement | string))[] | Fn<[HTMLElementTagNameMap[ExtractHtmlTagName<S>]], void>, list?: (HTMLElement | string | (() => HTMLElement | string))[]): HTMLElementTagNameMap[ExtractHtmlTagName<S>];
3
12
  type SplittingChars = '.' | '{' | '#' | '[';
4
13
  type ExtractHtmlTagName<T extends string> = T extends keyof HTMLElementTagNameMap ? T : T extends `${infer Tag}${SplittingChars}${string}` ? Tag extends keyof HTMLElementTagNameMap ? Tag : never : never;
@@ -1,6 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createElement = createElement;
4
+ /**
5
+ * Create htmlelement with direct possibility of accessing the element and adding childnodes.
6
+ *
7
+ * example: createElement('div', e => (e.textContent = 'Sometext'), [createElement('a{link text}[href=link-url]')])
8
+ * @param basicEmmet div.class1.class-2#my-id[attribute1 attribute2=somevalue]
9
+ * @param listOrFn optional - childList or function which gets the element as input
10
+ * @param list optional - childList
11
+ * @returns HtmlElement
12
+ */
4
13
  function createElement(basicEmmet, listOrFn, list) {
5
14
  const elm = emmetCreateElement(basicEmmet);
6
15
  if (!elm)
@@ -27,7 +36,7 @@ function emmetCreateElement(input) {
27
36
  const [, text] = (_c = input.match(/{(.*)}/)) !== null && _c !== void 0 ? _c : [];
28
37
  if (text)
29
38
  element.textContent = text;
30
- const classnames = [...input.matchAll(/\.([a-z-0-9]*)/g)];
39
+ const classnames = [...input.matchAll(/\.([a-z-0-9:]*)/g)];
31
40
  if (classnames.length)
32
41
  element.className = classnames.map(cn => cn[1]).join(' ');
33
42
  const [, allAttributes] = (_d = input.match(/\[(.*?)\]/)) !== null && _d !== void 0 ? _d : [];
@@ -1 +1 @@
1
- {"version":3,"file":"create-element.js","sourceRoot":"","sources":["../../../src/functions/other/create-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-element.js","sourceRoot":"","sources":["../../../src/functions/other/create-element.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.memoize = memoize;
4
4
  function memoize(fn) {
5
- const returned = {};
5
+ const returns = new Map();
6
6
  return (...args) => {
7
- var _a;
8
7
  const key = JSON.stringify(args);
9
- return (returned[key] = (_a = returned[key]) !== null && _a !== void 0 ? _a : fn(args));
8
+ if (returns.has(key)) {
9
+ //console.log('used cache');
10
+ return returns.get(key);
11
+ }
12
+ else {
13
+ const result = fn(...args);
14
+ returns.set(key, result);
15
+ return result;
16
+ }
10
17
  };
11
18
  }
12
19
  //# sourceMappingURL=memoize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../src/functions/time/memoize.ts"],"names":[],"mappings":";;AAEA,0BAMC;AAND,SAAgB,OAAO,CAAmB,EAAM;IAC9C,MAAM,QAAQ,GAAoC,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,IAAoB,EAAkB,EAAE;;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAA,QAAQ,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../src/functions/time/memoize.ts"],"names":[],"mappings":";;AAEA,0BAaC;AAbD,SAAgB,OAAO,CAAmB,EAAM;IAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,OAAO,CAAC,GAAG,IAAoB,EAAkB,EAAE;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,4BAA4B;YAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rickard.antonsson/ts-utility",
3
- "version": "2.2.2",
3
+ "version": "2.2.4",
4
4
  "description": "My favorite small helper functions",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -9,6 +9,16 @@
9
9
  ],
10
10
  "license": "Apache-2.0",
11
11
  "keywords": [],
12
+ "scripts": {
13
+ "test": "jest",
14
+ "lint": "gts lint",
15
+ "clean": "gts clean",
16
+ "compile": "tsc",
17
+ "fix": "gts fix",
18
+ "prepare": "pnpm run compile",
19
+ "pretest": "pnpm run compile",
20
+ "posttest": "pnpm run lint"
21
+ },
12
22
  "devDependencies": {
13
23
  "@babel/core": "^7.16.0",
14
24
  "@babel/preset-env": "^7.23.3",
@@ -21,17 +31,5 @@
21
31
  "gts": "^3.1.0",
22
32
  "jest": "^27.4.3",
23
33
  "typescript": "~5.5.3"
24
- },
25
- "dependencies": {
26
- "@rickard.antonsson/ts-utility": "file:"
27
- },
28
- "scripts": {
29
- "test": "jest",
30
- "lint": "gts lint",
31
- "clean": "gts clean",
32
- "compile": "tsc",
33
- "fix": "gts fix",
34
- "pretest": "pnpm run compile",
35
- "posttest": "pnpm run lint"
36
34
  }
37
- }
35
+ }