@ember-data/tracking 5.5.0-alpha.11 → 5.5.0-alpha.12

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.
Binary file
Binary file
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 324 32">
2
+ <path fill="#110819"
3
+ d="M321.58 29.54a41.7 41.7 0 0 1-7.26 1.72c-2.4.36-4.87.53-7.4.53-3.21 0-6.09-.34-8.6-1.03a18.5 18.5 0 0 1-6.34-3.03 13.07 13.07 0 0 1-3.94-4.83c-.9-1.9-1.35-4.06-1.35-6.47a14.32 14.32 0 0 1 5.22-11.19 18.14 18.14 0 0 1 6.06-3.3c2.36-.81 5-1.21 7.9-1.21 2.68 0 5.13.36 7.35 1.1 2.24.71 4.15 1.78 5.74 3.2a14.28 14.28 0 0 1 3.72 5.24 18.12 18.12 0 0 1 1.33 7.17v1.98h-29.1a7.5 7.5 0 0 0 1.28 2.56c.6.77 1.4 1.43 2.42 1.97 1.02.55 2.27.97 3.74 1.27 1.5.3 3.27.45 5.33.45a35.35 35.35 0 0 0 8.23-.96c1.22-.3 2.31-.64 3.29-1 .99-.35 1.78-.7 2.38-1.07v6.9Zm-5.5-15.96a6.73 6.73 0 0 0-.66-2.26 5.82 5.82 0 0 0-1.72-2.13 9.46 9.46 0 0 0-3.1-1.54 15.6 15.6 0 0 0-4.77-.63c-1.79 0-3.33.23-4.64.67-1.3.44-2.4 1-3.29 1.65a8.37 8.37 0 0 0-2.04 2.13c-.48.76-.8 1.46-.94 2.1h21.16ZM271.84 31h-9.28L247.63 1.48h8.9l10.74 22.22 10.72-22.22h8.9L271.83 31ZM234.8 31V1.48h7.97V31h-7.97ZM229.73 8.16l-.94-.28c-.4-.13-.88-.25-1.42-.36a17.88 17.88 0 0 0-3.8-.45c-1.44 0-2.78.18-4.02.53-1.23.35-2.39.81-3.46 1.4a19.48 19.48 0 0 0-3 1.98c-.92.73-1.77 1.48-2.54 2.25V31h-7.97V1.48h7.97v4.8c.96-.72 1.94-1.41 2.94-2.07a25.36 25.36 0 0 1 3.16-1.78 18.9 18.9 0 0 1 3.48-1.23 15.39 15.39 0 0 1 5.44-.39 25 25 0 0 1 4.16.67v6.68ZM197.05 16.22c0 1.89-.2 3.57-.62 5.05a12.7 12.7 0 0 1-1.76 3.82 11.07 11.07 0 0 1-2.7 2.77 13.77 13.77 0 0 1-3.51 1.83c-1.29.46-2.68.8-4.17 1-1.49.21-3.04.31-4.66.31H160.9V1.48h18.69c1.62 0 3.17.1 4.66.32 1.49.2 2.88.53 4.17 1 1.3.45 2.48 1.06 3.54 1.82 1.06.74 1.96 1.67 2.7 2.77a12.7 12.7 0 0 1 1.77 3.82c.42 1.46.62 3.13.62 5Zm-8.03 0c0-1.42-.19-2.65-.56-3.7a5.64 5.64 0 0 0-1.76-2.57 7.66 7.66 0 0 0-3.16-1.53c-1.3-.34-2.9-.52-4.77-.52h-9.9v16.68h9.9c1.88 0 3.47-.17 4.77-.5a7.86 7.86 0 0 0 3.16-1.54c.81-.7 1.4-1.58 1.76-2.63.37-1.04.56-2.27.56-3.7ZM153.98 10.55c0 1.47-.25 2.78-.73 3.9a6.82 6.82 0 0 1-2.26 2.86 10.95 10.95 0 0 1-4 1.77 25.6 25.6 0 0 1-5.86.58h-13.26V31h-2.68V1.48h15.94c2.3 0 4.25.2 5.87.6 1.63.39 2.96.96 4 1.72a6.67 6.67 0 0 1 2.25 2.84c.48 1.13.73 2.43.73 3.9Zm-2.77 0c0-1.4-.24-2.54-.71-3.4a4.53 4.53 0 0 0-2.15-1.97c-.96-.48-2.19-.8-3.68-.95a50.43 50.43 0 0 0-5.26-.24h-11.54v13.15h11.54l2.51.02c.9 0 1.8-.04 2.67-.12.87-.1 1.7-.27 2.5-.5.8-.24 1.5-.6 2.1-1.1a5.05 5.05 0 0 0 1.46-1.9 7 7 0 0 0 .56-3ZM119.76 3.76c-.41-.13-1-.27-1.74-.41-.73-.16-1.67-.24-2.83-.24-1.6 0-3.12.2-4.54.6a17.94 17.94 0 0 0-7.28 3.96 23.73 23.73 0 0 0-2.8 2.83V31H97.9V1.48h2.69V7.5c.96-1 2-1.9 3.11-2.73a21.54 21.54 0 0 1 7.48-3.53 17.47 17.47 0 0 1 5.6-.47c.4.02.77.04 1.1.09a16.6 16.6 0 0 1 1.9.26v2.64ZM85.52 31v-3.27c-1.03.56-2.2 1.08-3.53 1.55a40.4 40.4 0 0 1-13.13 2.3c-1.91 0-3.64-.17-5.17-.52a12.2 12.2 0 0 1-3.87-1.52A7.38 7.38 0 0 1 57.37 27a7.06 7.06 0 0 1-.86-3.52c0-1.32.33-2.48 1-3.48a8.81 8.81 0 0 1 2.85-2.64c1.23-.76 2.71-1.4 4.45-1.91 1.74-.53 3.7-.98 5.84-1.34 2.15-.37 4.47-.67 6.96-.9 2.5-.24 5.14-.44 7.9-.6v-2.26c0-.91-.16-1.72-.5-2.42a5.54 5.54 0 0 0-1.45-1.83 7.97 7.97 0 0 0-2.17-1.31c-.83-.36-1.73-.65-2.7-.86a33.97 33.97 0 0 0-13.54.21c-1.03.25-2.02.53-2.96.86-.95.33-1.9.68-2.86 1.06V2.92c1.99-.53 4.1-.99 6.36-1.38 2.26-.4 4.66-.6 7.2-.6 2.14 0 4.15.19 6.01.56 1.86.36 3.48.94 4.86 1.74A9.16 9.16 0 0 1 87 6.36a8.55 8.55 0 0 1 1.18 4.62V31h-2.66Zm0-16c-4.69.25-8.69.62-12.01 1.09-3.31.47-6.02 1.05-8.12 1.74-2.1.69-3.66 1.49-4.64 2.4a4.18 4.18 0 0 0-1.46 3.12c0 .95.23 1.78.7 2.52a5.86 5.86 0 0 0 2.09 1.84c.9.49 2 .86 3.29 1.12 1.28.24 2.73.37 4.34.37a29.36 29.36 0 0 0 5.95-.6 36.6 36.6 0 0 0 5.71-1.57c.86-.32 1.64-.66 2.34-1.01a11.3 11.3 0 0 0 1.8-1.1v-9.93ZM28.65 1.48l10.53 27.37L50.09 1.48h2.99L41.2 31h-4L26.84 4.34 16.51 31h-4L.63 1.48h2.99l10.91 27.37 10.5-27.37h3.62Z" />
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 324 32">
2
+ <path fill="#FFC474"
3
+ d="M321.58 29.54a41.7 41.7 0 0 1-7.26 1.72c-2.4.36-4.87.53-7.4.53-3.21 0-6.09-.34-8.6-1.03a18.5 18.5 0 0 1-6.34-3.03 13.07 13.07 0 0 1-3.94-4.83c-.9-1.9-1.35-4.06-1.35-6.47a14.32 14.32 0 0 1 5.22-11.19 18.14 18.14 0 0 1 6.06-3.3c2.36-.81 5-1.21 7.9-1.21 2.68 0 5.13.36 7.35 1.1 2.24.71 4.15 1.78 5.74 3.2a14.28 14.28 0 0 1 3.72 5.24 18.12 18.12 0 0 1 1.33 7.17v1.98h-29.1a7.5 7.5 0 0 0 1.28 2.56c.6.77 1.4 1.43 2.42 1.97 1.02.55 2.27.97 3.74 1.27 1.5.3 3.27.45 5.33.45a35.35 35.35 0 0 0 8.23-.96c1.22-.3 2.31-.64 3.29-1 .99-.35 1.78-.7 2.38-1.07v6.9Zm-5.5-15.96a6.73 6.73 0 0 0-.66-2.26 5.82 5.82 0 0 0-1.72-2.13 9.46 9.46 0 0 0-3.1-1.54 15.6 15.6 0 0 0-4.77-.63c-1.79 0-3.33.23-4.64.67-1.3.44-2.4 1-3.29 1.65a8.37 8.37 0 0 0-2.04 2.13c-.48.76-.8 1.46-.94 2.1h21.16ZM271.84 31h-9.28L247.63 1.48h8.9l10.74 22.22 10.72-22.22h8.9L271.83 31ZM234.8 31V1.48h7.97V31h-7.97ZM229.73 8.16l-.94-.28c-.4-.13-.88-.25-1.42-.36a17.88 17.88 0 0 0-3.8-.45c-1.44 0-2.78.18-4.02.53-1.23.35-2.39.81-3.46 1.4a19.48 19.48 0 0 0-3 1.98c-.92.73-1.77 1.48-2.54 2.25V31h-7.97V1.48h7.97v4.8c.96-.72 1.94-1.41 2.94-2.07a25.36 25.36 0 0 1 3.16-1.78 18.9 18.9 0 0 1 3.48-1.23 15.39 15.39 0 0 1 5.44-.39 25 25 0 0 1 4.16.67v6.68ZM197.05 16.22c0 1.89-.2 3.57-.62 5.05a12.7 12.7 0 0 1-1.76 3.82 11.07 11.07 0 0 1-2.7 2.77 13.77 13.77 0 0 1-3.51 1.83c-1.29.46-2.68.8-4.17 1-1.49.21-3.04.31-4.66.31H160.9V1.48h18.69c1.62 0 3.17.1 4.66.32 1.49.2 2.88.53 4.17 1 1.3.45 2.48 1.06 3.54 1.82 1.06.74 1.96 1.67 2.7 2.77a12.7 12.7 0 0 1 1.77 3.82c.42 1.46.62 3.13.62 5Zm-8.03 0c0-1.42-.19-2.65-.56-3.7a5.64 5.64 0 0 0-1.76-2.57 7.66 7.66 0 0 0-3.16-1.53c-1.3-.34-2.9-.52-4.77-.52h-9.9v16.68h9.9c1.88 0 3.47-.17 4.77-.5a7.86 7.86 0 0 0 3.16-1.54c.81-.7 1.4-1.58 1.76-2.63.37-1.04.56-2.27.56-3.7ZM153.98 10.55c0 1.47-.25 2.78-.73 3.9a6.82 6.82 0 0 1-2.26 2.86 10.95 10.95 0 0 1-4 1.77 25.6 25.6 0 0 1-5.86.58h-13.26V31h-2.68V1.48h15.94c2.3 0 4.25.2 5.87.6 1.63.39 2.96.96 4 1.72a6.67 6.67 0 0 1 2.25 2.84c.48 1.13.73 2.43.73 3.9Zm-2.77 0c0-1.4-.24-2.54-.71-3.4a4.53 4.53 0 0 0-2.15-1.97c-.96-.48-2.19-.8-3.68-.95a50.43 50.43 0 0 0-5.26-.24h-11.54v13.15h11.54l2.51.02c.9 0 1.8-.04 2.67-.12.87-.1 1.7-.27 2.5-.5.8-.24 1.5-.6 2.1-1.1a5.05 5.05 0 0 0 1.46-1.9 7 7 0 0 0 .56-3ZM119.76 3.76c-.41-.13-1-.27-1.74-.41-.73-.16-1.67-.24-2.83-.24-1.6 0-3.12.2-4.54.6a17.94 17.94 0 0 0-7.28 3.96 23.73 23.73 0 0 0-2.8 2.83V31H97.9V1.48h2.69V7.5c.96-1 2-1.9 3.11-2.73a21.54 21.54 0 0 1 7.48-3.53 17.47 17.47 0 0 1 5.6-.47c.4.02.77.04 1.1.09a16.6 16.6 0 0 1 1.9.26v2.64ZM85.52 31v-3.27c-1.03.56-2.2 1.08-3.53 1.55a40.4 40.4 0 0 1-13.13 2.3c-1.91 0-3.64-.17-5.17-.52a12.2 12.2 0 0 1-3.87-1.52A7.38 7.38 0 0 1 57.37 27a7.06 7.06 0 0 1-.86-3.52c0-1.32.33-2.48 1-3.48a8.81 8.81 0 0 1 2.85-2.64c1.23-.76 2.71-1.4 4.45-1.91 1.74-.53 3.7-.98 5.84-1.34 2.15-.37 4.47-.67 6.96-.9 2.5-.24 5.14-.44 7.9-.6v-2.26c0-.91-.16-1.72-.5-2.42a5.54 5.54 0 0 0-1.45-1.83 7.97 7.97 0 0 0-2.17-1.31c-.83-.36-1.73-.65-2.7-.86a33.97 33.97 0 0 0-13.54.21c-1.03.25-2.02.53-2.96.86-.95.33-1.9.68-2.86 1.06V2.92c1.99-.53 4.1-.99 6.36-1.38 2.26-.4 4.66-.6 7.2-.6 2.14 0 4.15.19 6.01.56 1.86.36 3.48.94 4.86 1.74A9.16 9.16 0 0 1 87 6.36a8.55 8.55 0 0 1 1.18 4.62V31h-2.66Zm0-16c-4.69.25-8.69.62-12.01 1.09-3.31.47-6.02 1.05-8.12 1.74-2.1.69-3.66 1.49-4.64 2.4a4.18 4.18 0 0 0-1.46 3.12c0 .95.23 1.78.7 2.52a5.86 5.86 0 0 0 2.09 1.84c.9.49 2 .86 3.29 1.12 1.28.24 2.73.37 4.34.37a29.36 29.36 0 0 0 5.95-.6 36.6 36.6 0 0 0 5.71-1.57c.86-.32 1.64-.66 2.34-1.01a11.3 11.3 0 0 0 1.8-1.1v-9.93ZM28.65 1.48l10.53 27.37L50.09 1.48h2.99L41.2 31h-4L26.84 4.34 16.51 31h-4L.63 1.48h2.99l10.91 27.37 10.5-27.37h3.62Z" />
4
+ </svg>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ember-data/tracking",
3
3
  "description": "Tracking Primitives for controlling change notification of Tracked properties when working with EmberData",
4
- "version": "5.5.0-alpha.11",
4
+ "version": "5.5.0-alpha.12",
5
5
  "private": false,
6
6
  "license": "MIT",
7
7
  "author": "Chris Thoburn <runspired@users.noreply.github.com>",
@@ -13,7 +13,7 @@
13
13
  "homepage": "https://github.com/emberjs/data",
14
14
  "bugs": "https://github.com/emberjs/data/issues",
15
15
  "engines": {
16
- "node": ">= 18.*"
16
+ "node": ">= 18.20.8"
17
17
  },
18
18
  "keywords": [
19
19
  "ember-addon"
@@ -21,57 +21,70 @@
21
21
  "volta": {
22
22
  "extends": "../../package.json"
23
23
  },
24
- "dependenciesMeta": {
25
- "@ember-data/private-build-infra": {
26
- "injected": true
27
- }
28
- },
29
24
  "dependencies": {
30
- "@ember-data/private-build-infra": "5.5.0-alpha.11",
31
- "@embroider/macros": "^1.13.2",
32
- "ember-cli-babel": "^8.1.0",
33
- "ember-cached-decorator-polyfill": "^1.0.2",
34
- "@glimmer/validator": "^0.84.3"
25
+ "@embroider/macros": "^1.16.12",
26
+ "@warp-drive/build-config": "5.5.0-alpha.12"
27
+ },
28
+ "peerDependencies": {
29
+ "ember-source": "3.28.12 || ^4.0.4 || ^5.0.0 || ^6.0.0",
30
+ "@warp-drive/core-types": "5.5.0-alpha.12"
35
31
  },
36
32
  "files": [
37
- "addon-main.js",
38
- "addon",
33
+ "unstable-preview-types",
34
+ "addon-main.cjs",
35
+ "dist",
39
36
  "README.md",
40
37
  "LICENSE.md",
41
- "ember-data-logo-dark.svg",
42
- "ember-data-logo-light.svg"
38
+ "logos"
43
39
  ],
40
+ "exports": {
41
+ ".": {
42
+ "default": "./dist/index.js"
43
+ },
44
+ "./*": {
45
+ "default": "./dist/*.js"
46
+ },
47
+ "./unstable-preview-types": {
48
+ "types": "./unstable-preview-types/index.d.ts"
49
+ }
50
+ },
44
51
  "ember-addon": {
45
- "main": "addon-main.js",
52
+ "main": "addon-main.cjs",
46
53
  "type": "addon",
47
- "version": 1
54
+ "version": 2,
55
+ "externals": [
56
+ "@ember/-internals",
57
+ "@ember/-internals/metal",
58
+ "@glimmer/validator"
59
+ ]
48
60
  },
49
61
  "devDependencies": {
50
- "@babel/cli": "^7.23.0",
51
- "@babel/core": "^7.23.0",
52
- "@babel/plugin-proposal-decorators": "^7.23.0",
53
- "@babel/plugin-transform-class-properties": "^7.22.5",
54
- "@babel/plugin-transform-private-methods": "^7.22.5",
55
- "@babel/plugin-transform-runtime": "^7.22.15",
56
- "@babel/plugin-transform-typescript": "^7.22.15",
57
- "@babel/preset-env": "^7.22.20",
58
- "@babel/preset-typescript": "^7.23.0",
59
- "@babel/runtime": "^7.23.1",
60
- "@embroider/addon-dev": "^4.1.1",
61
- "@rollup/plugin-babel": "^6.0.3",
62
- "@rollup/plugin-node-resolve": "^15.2.1",
63
- "ember-source": "~5.3.0",
64
- "@glimmer/component": "^1.1.2",
65
- "rollup": "^3.29.4",
66
- "tslib": "^2.6.2",
67
- "typescript": "^5.2.2",
68
- "walk-sync": "^3.0.0"
62
+ "@babel/core": "^7.26.10",
63
+ "@babel/plugin-transform-typescript": "^7.27.0",
64
+ "@babel/preset-env": "^7.26.9",
65
+ "@babel/preset-typescript": "^7.27.0",
66
+ "@glimmer/component": "^2.0.0",
67
+ "@glimmer/validator": "^0.94.8",
68
+ "@warp-drive/core-types": "5.5.0-alpha.12",
69
+ "@warp-drive/internal-config": "5.5.0-alpha.12",
70
+ "ember-source": "~6.3.0",
71
+ "typescript": "^5.8.3",
72
+ "vite": "^5.4.15"
69
73
  },
70
74
  "ember": {
71
75
  "edition": "octane"
72
76
  },
77
+ "typesVersions": {
78
+ "*": {
79
+ "unstable-preview-types": [
80
+ "./unstable-preview-types"
81
+ ]
82
+ }
83
+ },
73
84
  "scripts": {
74
- "build": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js",
75
- "start": "rollup --config --watch"
85
+ "lint": "eslint . --quiet --cache --cache-strategy=content",
86
+ "build:pkg": "vite build;",
87
+ "sync": "echo \"syncing\"",
88
+ "start": "vite"
76
89
  }
77
90
  }
@@ -0,0 +1,196 @@
1
+ declare module '@ember-data/tracking/-private' {
2
+ import { tagForProperty } from '@ember/-internals/metal';
3
+ import { dependentKeyCompat as compat } from '@ember/object/compat';
4
+ /**
5
+ * This package provides primitives that allow powerful low-level
6
+ * adjustments to change tracking notification behaviors.
7
+ *
8
+ * Typically you want to use these primitives when you want to divorce
9
+ * property accesses on EmberData provided objects from the current
10
+ * tracking context. Typically this sort of thing occurs when serializing
11
+ * tracked data to send in a request: the data itself is often ancillary
12
+ * to the thing which triggered the request in the first place and you
13
+ * would not want to re-trigger the request for any update to the data.
14
+ *
15
+ * @module @ember-data/tracking
16
+ * @main @ember-data/tracking
17
+ */
18
+ type OpaqueFn = (...args: unknown[]) => unknown;
19
+ type Tag = {
20
+ ref: null;
21
+ t: boolean;
22
+ };
23
+ /**
24
+ * If there is a current transaction, ensures that the relevant tag (and any
25
+ * array computed chains symbols, if applicable) will be consumed during the
26
+ * transaction.
27
+ *
28
+ * If there is no current transaction, will consume the tag(s) immediately.
29
+ *
30
+ * @internal
31
+ * @param obj
32
+ */
33
+ export function subscribe(obj: Tag | Signal): void;
34
+ export function addToTransaction(obj: Tag | Signal): void;
35
+ export function addTransactionCB(method: OpaqueFn): void;
36
+ /**
37
+ * Run `method` without subscribing to any tracked properties
38
+ * controlled by EmberData.
39
+ *
40
+ * This should rarely be used except by libraries that really
41
+ * know what they are doing. It is most useful for wrapping
42
+ * certain kinds of fetch/query logic from within a `Resource`
43
+ * `hook` or other similar pattern.
44
+ *
45
+ * @function untracked
46
+ * @public
47
+ * @static
48
+ * @for @ember-data/tracking
49
+ * @param method
50
+ * @return result of invoking method
51
+ */
52
+ export function untracked<T extends OpaqueFn>(method: T): ReturnType<T>;
53
+ /**
54
+ * Run the method, subscribing to any tracked properties
55
+ * managed by EmberData that were accessed or written during
56
+ * the method's execution as per-normal but while allowing
57
+ * interleaving of reads and writes.
58
+ *
59
+ * This is useful when for instance you want to perform
60
+ * a mutation based on existing state that must be read first.
61
+ *
62
+ * @function transact
63
+ * @public
64
+ * @static
65
+ * @for @ember-data/tracking
66
+ * @param method
67
+ * @return result of invoking method
68
+ */
69
+ export function transact<T extends OpaqueFn>(method: T): ReturnType<T>;
70
+ /**
71
+ * A helpful utility for creating a new function that
72
+ * always runs in a transaction. E.G. this "memoizes"
73
+ * calling `transact(fn)`, currying args as necessary.
74
+ *
75
+ * @method memoTransact
76
+ * @public
77
+ * @static
78
+ * @for @ember-data/tracking
79
+ * @param method
80
+ * @return a function that will invoke method in a transaction with any provided args and return its result
81
+ */
82
+ export function memoTransact<T extends OpaqueFn>(method: T): (...args: unknown[]) => ReturnType<T>;
83
+ export const Signals: "___(unique) Symbol(Signals)";
84
+ /**
85
+ * use to add a signal property to the prototype of something.
86
+ *
87
+ * First arg is the thing to define on
88
+ * Second arg is the property name
89
+ * Third agg is the initial value of the property if any.
90
+ *
91
+ * for instance
92
+ *
93
+ * ```ts
94
+ * class Model {}
95
+ * defineSignal(Model.prototype, 'isLoading', false);
96
+ * ```
97
+ *
98
+ * This is sort of like using a stage-3 decorator but works today
99
+ * while we are still on legacy decorators.
100
+ *
101
+ * e.g. it is equivalent to
102
+ *
103
+ * ```ts
104
+ * class Model {
105
+ * @signal accessor isLoading = false;
106
+ * }
107
+ * ```
108
+ *
109
+ * @internal
110
+ */
111
+ export function defineSignal<T extends object>(obj: T, key: string, v?: unknown): void;
112
+ export function defineSubscription<T extends object>(obj: T, key: string, desc: PropertyDescriptor): void;
113
+ export interface Signal {
114
+ /**
115
+ * Key on the associated object
116
+ * @internal
117
+ */
118
+ key: string;
119
+ _debug_base?: string;
120
+ /**
121
+ * Whether this signal is part of an active transaction.
122
+ * @internal
123
+ */
124
+ t: boolean;
125
+ /**
126
+ * Whether to "bust" the lastValue cache
127
+ * @internal
128
+ */
129
+ shouldReset: boolean;
130
+ /**
131
+ * The reason this signal is dirty
132
+ *
133
+ * @internal
134
+ */
135
+ reason: string | null;
136
+ /**
137
+ * The framework specific "signal" e.g. glimmer "tracked"
138
+ * or starbeam "cell" to consume/invalidate when appropriate.
139
+ *
140
+ * @internal
141
+ */
142
+ tag: ReturnType<typeof tagForProperty>;
143
+ /**
144
+ * In classic ember, arrays must entangle a `[]` symbol
145
+ * in addition to any other tag in order for array chains to work.
146
+ *
147
+ * Note, this symbol MUST be the one that ember itself generates
148
+ *
149
+ * @internal
150
+ */
151
+ '[]': ReturnType<typeof tagForProperty> | null;
152
+ /**
153
+ * In classic ember, arrays must entangle a `@length` symbol
154
+ * in addition to any other tag in order for array chains to work.
155
+ *
156
+ * Note, this symbol MUST be the one that ember itself generates
157
+ *
158
+ * @internal
159
+ */
160
+ '@length': ReturnType<typeof tagForProperty> | null;
161
+ /**
162
+ * The lastValue computed for this signal when
163
+ * a signal is also used for storage.
164
+ * @internal
165
+ */
166
+ lastValue: unknown;
167
+ }
168
+ export function createArrayTags<T extends object>(obj: T, signal: Signal): void;
169
+ /**
170
+ * Create a signal for the key/object pairing.
171
+ *
172
+ * @internal
173
+ * @param obj Object we're creating the signal on
174
+ * @param key Key to create the signal for
175
+ * @return the signal
176
+ */
177
+ export function createSignal<T extends object>(obj: T, key: string): Signal;
178
+ /**
179
+ * Create a signal for the key/object pairing and subscribes to the signal.
180
+ *
181
+ * Use when you need to ensure a signal exists and is subscribed to.
182
+ *
183
+ * @internal
184
+ * @param signals Map of signals
185
+ * @param obj Object we're creating the signal on
186
+ * @param key Key to create the signal for
187
+ * @return the signal
188
+ */
189
+ export function entangleSignal<T extends object>(signals: Map<string, Signal>, obj: T, key: string): Signal;
190
+ export function getSignal<T extends object>(obj: T, key: string, initialState: boolean): Signal;
191
+ export function peekSignal<T extends object>(obj: T, key: string): Signal | undefined;
192
+ export function subscribed<T extends object, K extends keyof T & string>(_target: T, key: K, desc: PropertyDescriptor): PropertyDescriptor;
193
+ export { compat };
194
+ export function notifySignal<T extends object, K extends keyof T & string>(obj: T, key: K): void;
195
+ }
196
+ //# sourceMappingURL=-private.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"-private.d.ts","sourceRoot":"","sources":["../src/-private.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAOpE;;;;;;;;;;;;;GAaG;AACH,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAChD,KAAK,GAAG,GAAG;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAoCrC;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAejD;AA8GD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAQxD;AACD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAQvD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAKtE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAKrE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAOjG;AAED,eAAO,MAAM,OAAO,+BAA+C,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,QA0B9E;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,QAMjG;AAED,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,CAAC,EAAE,OAAO,CAAC;IAEX;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;;;;OAKG;IACH,GAAG,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAEvC;;;;;;;OAOG;IACH,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,IAAI,CAAC;IAC/C;;;;;;;OAOG;IACH,SAAS,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,IAAI,CAAC;IAEpD;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,QAKvE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA6B1E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ1G;AAMD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAe9F;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKpF;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,sBAwBpH;AACD,OAAO,EAAE,MAAM,EAAE,CAAC;AAElB,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,QAMxF"}
@@ -0,0 +1,8 @@
1
+ /// <reference path="./-private.d.ts" />
2
+ declare module '@ember-data/tracking' {
3
+ import { createCache, getValue } from '@glimmer/tracking/primitives/cache';
4
+ export { transact, memoTransact, untracked, compat, notifySignal } from '@ember-data/tracking/-private';
5
+ export function cached<T extends object, K extends keyof T & string>(target: T, key: K, descriptor: PropertyDescriptor): void;
6
+ export { createCache, getValue };
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErF,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EACjE,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,CAAC,EACN,UAAU,EAAE,kBAAkB,QA6B/B;AAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"-private.js","sources":["../src/-private.ts"],"sourcesContent":["import { tagForProperty } from '@ember/-internals/metal';\n// eslint-disable-next-line no-restricted-imports\nimport { consumeTag, dirtyTag } from '@glimmer/validator';\n\nimport { DEPRECATE_COMPUTED_CHAINS } from '@ember-data/deprecations';\nimport { DEBUG } from '@ember-data/env';\n\n/**\n * This package provides primitives that allow powerful low-level\n * adjustments to change tracking notification behaviors.\n *\n * Typically you want to use these primitives when you want to divorce\n * property accesses on EmberData provided objects from the current\n * tracking context. Typically this sort of thing occurs when serializing\n * tracked data to send in a request: the data itself is often ancillary\n * to the thing which triggered the request in the first place and you\n * would not want to re-trigger the request for any update to the data.\n *\n * @module @ember-data/tracking\n * @main @ember-data/tracking\n */\ntype OpaqueFn = (...args: unknown[]) => unknown;\ntype Tag = { ref: null; t: boolean };\ntype Transaction = {\n cbs: Set<OpaqueFn>;\n props: Set<Tag | Signal>;\n sub: Set<Tag | Signal>;\n parent: Transaction | null;\n};\nlet TRANSACTION: Transaction | null = null;\n\nfunction createTransaction() {\n let transaction: Transaction = {\n cbs: new Set(),\n props: new Set(),\n sub: new Set(),\n parent: null,\n };\n if (TRANSACTION) {\n transaction.parent = TRANSACTION;\n }\n TRANSACTION = transaction;\n}\n\nfunction maybeConsume(tag: ReturnType<typeof tagForProperty> | null): void {\n if (tag) {\n // @ts-expect-error - we are using Ember's Tag not Glimmer's\n consumeTag(tag);\n }\n}\n\nfunction maybeDirty(tag: ReturnType<typeof tagForProperty> | null): void {\n if (tag) {\n // @ts-expect-error - we are using Ember's Tag not Glimmer's\n dirtyTag(tag);\n }\n}\n\nexport function subscribe(obj: Tag | Signal): void {\n if (TRANSACTION) {\n TRANSACTION.sub.add(obj);\n } else if ('tag' in obj) {\n if (DEPRECATE_COMPUTED_CHAINS) {\n maybeConsume(obj['[]']);\n maybeConsume(obj['@length']);\n }\n // @ts-expect-error - we are using Ember's Tag not Glimmer's\n consumeTag(obj.tag);\n } else {\n obj.ref;\n }\n}\n\nfunction updateRef(obj: Tag | Signal): void {\n if (DEBUG) {\n try {\n if ('tag' in obj) {\n if (DEPRECATE_COMPUTED_CHAINS) {\n maybeDirty(obj['[]']);\n maybeDirty(obj['@length']);\n }\n // @ts-expect-error - we are using Ember's Tag not Glimmer's\n dirtyTag(obj.tag);\n } else {\n obj.ref = null;\n }\n } catch (e: unknown) {\n if (e instanceof Error) {\n if (e.message.includes('You attempted to update `undefined`')) {\n // @ts-expect-error\n const key = `<${obj._debug_base}>.${obj.key}`;\n e.message = e.message.replace('You attempted to update `undefined`', `You attempted to update ${key}`);\n e.stack = e.stack?.replace('You attempted to update `undefined`', `You attempted to update ${key}`);\n\n const lines = e.stack?.split(`\\n`);\n const finalLines: string[] = [];\n let lastFile: string | null = null;\n\n lines?.forEach((line) => {\n if (line.trim().startsWith('at ')) {\n // get the last string in the line which contains the code source location\n const location = line.split(' ').at(-1)!;\n // remove the line and char offset info\n\n if (location.includes(':')) {\n const parts = location.split(':');\n parts.pop();\n parts.pop();\n const file = parts.join(':');\n if (file !== lastFile) {\n lastFile = file;\n finalLines.push('');\n }\n }\n finalLines.push(line);\n }\n });\n\n const splitstr = '`undefined` was first used:';\n const parts = e.message.split(splitstr);\n parts.splice(1, 0, `Original Stack\\n=============\\n${finalLines.join(`\\n`)}\\n\\n\\`${key}\\` was first used:`);\n\n e.message = parts.join('');\n }\n }\n throw e;\n }\n } else {\n if ('tag' in obj) {\n if (DEPRECATE_COMPUTED_CHAINS) {\n maybeDirty(obj['[]']);\n maybeDirty(obj['@length']);\n }\n // @ts-expect-error - we are using Ember's Tag not Glimmer's\n dirtyTag(obj.tag);\n } else {\n obj.ref = null;\n }\n }\n}\n\nfunction flushTransaction() {\n let transaction = TRANSACTION!;\n TRANSACTION = transaction.parent;\n transaction.cbs.forEach((cb) => {\n cb();\n });\n transaction.props.forEach((obj) => {\n // mark this mutation as part of a transaction\n obj.t = true;\n updateRef(obj);\n });\n transaction.sub.forEach((obj) => {\n if ('tag' in obj) {\n if (DEPRECATE_COMPUTED_CHAINS) {\n maybeConsume(obj['[]']);\n maybeConsume(obj['@length']);\n }\n // @ts-expect-error - we are using Ember's Tag not Glimmer's\n consumeTag(obj.tag);\n } else {\n obj.ref;\n }\n });\n}\nasync function untrack() {\n let transaction = TRANSACTION!;\n TRANSACTION = transaction.parent;\n\n // defer writes\n await Promise.resolve();\n transaction.cbs.forEach((cb) => {\n cb();\n });\n transaction.props.forEach((obj) => {\n // mark this mutation as part of a transaction\n obj.t = true;\n updateRef(obj);\n });\n}\n\nexport function addToTransaction(obj: Tag | Signal): void {\n if (TRANSACTION) {\n TRANSACTION.props.add(obj);\n } else {\n updateRef(obj);\n }\n}\nexport function addTransactionCB(method: OpaqueFn): void {\n if (TRANSACTION) {\n TRANSACTION.cbs.add(method);\n } else {\n method();\n }\n}\n\n/**\n * Run `method` without subscribing to any tracked properties\n * controlled by EmberData.\n *\n * This should rarely be used except by libraries that really\n * know what they are doing. It is most useful for wrapping\n * certain kinds of fetch/query logic from within a `Resource`\n * `hook` or other similar pattern.\n *\n * @function untracked\n * @public\n * @static\n * @for @ember-data/tracking\n * @param method\n * @returns result of invoking method\n */\nexport function untracked<T extends OpaqueFn>(method: T): ReturnType<T> {\n createTransaction();\n const ret = method();\n void untrack();\n return ret as ReturnType<T>;\n}\n\n/**\n * Run the method, subscribing to any tracked properties\n * managed by EmberData that were accessed or written during\n * the method's execution as per-normal but while allowing\n * interleaving of reads and writes.\n *\n * This is useful when for instance you want to perform\n * a mutation based on existing state that must be read first.\n *\n * @function transact\n * @public\n * @static\n * @for @ember-data/tracking\n * @param method\n * @returns result of invoking method\n */\nexport function transact<T extends OpaqueFn>(method: T): ReturnType<T> {\n createTransaction();\n const ret = method();\n flushTransaction();\n return ret as ReturnType<T>;\n}\n\n/**\n * A helpful utility for creating a new function that\n * always runs in a transaction. E.G. this \"memoizes\"\n * calling `transact(fn)`, currying args as necessary.\n *\n * @method memoTransact\n * @public\n * @static\n * @for @ember-data/tracking\n * @param method\n * @returns a function that will invoke method in a transaction with any provided args and return its result\n */\nexport function memoTransact<T extends OpaqueFn>(method: T): (...args: unknown[]) => ReturnType<T> {\n return function (...args: unknown[]) {\n createTransaction();\n const ret = method(...args);\n flushTransaction();\n return ret as ReturnType<T>;\n };\n}\n\nexport const Signals = Symbol('Signals');\n\nexport function defineSignal<T extends object, K extends keyof T & string>(obj: T, key: K, v?: unknown) {\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: false,\n get(this: T & { [Signals]: Map<K, Signal> }) {\n const signals = (this[Signals] = this[Signals] || new Map());\n const existing = signals.has(key);\n const _signal = entangleSignal(signals, this, key);\n if (!existing && v !== undefined) {\n _signal.lastValue = v;\n }\n return _signal.lastValue;\n },\n set(this: T & { [Signals]: Map<K, Signal> }, value: unknown) {\n const signals = (this[Signals] = this[Signals] || new Map());\n let _signal = signals.get(key);\n if (!_signal) {\n _signal = createSignal(this, key);\n signals.set(key, _signal);\n }\n if (_signal.lastValue !== value) {\n _signal.lastValue = value;\n addToTransaction(_signal);\n }\n },\n });\n}\n\nexport interface Signal {\n key: string;\n _debug_base?: string;\n\n t: boolean;\n shouldReset: boolean;\n tag: ReturnType<typeof tagForProperty>;\n '[]': ReturnType<typeof tagForProperty> | null;\n '@length': ReturnType<typeof tagForProperty> | null;\n lastValue: unknown;\n}\n\nexport function createArrayTags<T extends object>(obj: T, signal: Signal) {\n if (DEPRECATE_COMPUTED_CHAINS) {\n signal['[]'] = tagForProperty(obj, '[]');\n signal['@length'] = tagForProperty(obj, 'length');\n }\n}\n\nexport function createSignal<T extends object, K extends keyof T & string>(obj: T, key: K): Signal {\n const _signal: Signal = {\n key,\n tag: tagForProperty(obj, key),\n\n t: false,\n shouldReset: false,\n '[]': null,\n '@length': null,\n lastValue: undefined,\n };\n\n if (DEBUG) {\n // @ts-expect-error\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-base-to-string\n const modelName = obj.modelName ?? obj.constructor?.modelName ?? '';\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-base-to-string\n const className = obj.constructor?.name ?? obj.toString?.() ?? 'unknown';\n _signal._debug_base = `${className}${modelName ? `:${modelName}` : ''}`;\n }\n\n return _signal;\n}\n\nexport function entangleSignal<T extends object, K extends keyof T & string>(\n signals: Map<K, Signal>,\n obj: T,\n key: K\n): Signal {\n let _signal = signals.get(key);\n if (!_signal) {\n _signal = createSignal(obj, key);\n signals.set(key, _signal);\n }\n subscribe(_signal);\n return _signal;\n}\n\ninterface Signaler {\n [Signals]: Map<string, Signal>;\n}\n\nexport function getSignal<T extends object, K extends keyof T & string>(obj: T, key: K, initialState: boolean): Signal {\n const signals = ((obj as Signaler)[Signals] = (obj as Signaler)[Signals] || new Map());\n let _signal = signals.get(key);\n if (!_signal) {\n _signal = createSignal(obj, key);\n _signal.shouldReset = initialState;\n signals.set(key, _signal);\n }\n return _signal;\n}\n\nexport function peekSignal<T extends object, K extends keyof T & string>(obj: T, key: K): Signal | undefined {\n const signals = (obj as Signaler)[Signals];\n if (signals) {\n return signals.get(key);\n }\n}\n"],"names":["TRANSACTION","createTransaction","transaction","cbs","Set","props","sub","parent","maybeConsume","tag","consumeTag","maybeDirty","dirtyTag","subscribe","obj","add","macroCondition","getOwnConfig","deprecations","DEPRECATE_COMPUTED_CHAINS","ref","updateRef","env","DEBUG","e","Error","message","includes","key","_debug_base","replace","stack","lines","split","finalLines","lastFile","forEach","line","trim","startsWith","location","at","parts","pop","file","join","push","splitstr","splice","flushTransaction","cb","t","untrack","Promise","resolve","addToTransaction","addTransactionCB","method","untracked","ret","transact","memoTransact","args","Signals","Symbol","defineSignal","v","Object","defineProperty","enumerable","configurable","get","signals","Map","existing","has","_signal","entangleSignal","undefined","lastValue","set","value","createSignal","createArrayTags","signal","tagForProperty","shouldReset","modelName","constructor","className","name","toString","getSignal","initialState","peekSignal"],"mappings":"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"}
package/addon/index.js DELETED
@@ -1,18 +0,0 @@
1
- import { assert } from '@ember/debug';
2
- import { createCache, getValue } from '@glimmer/tracking/primitives/cache';
3
- export { memoTransact, transact, untracked } from "./-private";
4
- export { dependentKeyCompat as compat } from '@ember/object/compat';
5
- function cached(target, key, descriptor) {
6
- // Error on `@cached()`, `@cached(...args)`, and `@cached propName = value;`
7
- assert('You attempted to use @cached(), which is not necessary nor supported. Remove the parentheses and you will be good to go!', target !== undefined);
8
- assert(`You attempted to use @cached on with ${arguments.length > 1 ? 'arguments' : 'an argument'} ( @cached(${Array.from(arguments).map(d => `'${d}'`).join(', ')}), which is not supported. Dependencies are automatically tracked, so you can just use ${'`@cached`'}`, typeof target === 'object' && typeof key === 'string' && typeof descriptor === 'object' && arguments.length === 3);
9
- assert(`The @cached decorator must be applied to getters. '${key}' is not a getter.`, typeof descriptor.get === 'function');
10
- const caches = new WeakMap();
11
- // eslint-disable-next-line @typescript-eslint/unbound-method
12
- const getter = descriptor.get;
13
- descriptor.get = function () {
14
- if (!caches.has(this)) caches.set(this, createCache(getter.bind(this)));
15
- return getValue(caches.get(this));
16
- };
17
- }
18
- export { cached };
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { assert } from '@ember/debug';\nimport { createCache, getValue } from '@glimmer/tracking/primitives/cache';\n\nexport { transact, memoTransact, untracked } from './-private';\n\n// temporary so we can remove the glimmer and ember imports elsewhere\n// eslint-disable-next-line no-restricted-imports\nexport { dependentKeyCompat as compat } from '@ember/object/compat';\n\nexport function cached<T extends object, K extends keyof T & string>(\n target: T,\n key: K,\n descriptor: PropertyDescriptor\n) {\n // Error on `@cached()`, `@cached(...args)`, and `@cached propName = value;`\n assert(\n 'You attempted to use @cached(), which is not necessary nor supported. Remove the parentheses and you will be good to go!',\n target !== undefined\n );\n assert(\n `You attempted to use @cached on with ${arguments.length > 1 ? 'arguments' : 'an argument'} ( @cached(${Array.from(\n arguments\n )\n .map((d) => `'${d}'`)\n .join(\n ', '\n )}), which is not supported. Dependencies are automatically tracked, so you can just use ${'`@cached`'}`,\n typeof target === 'object' && typeof key === 'string' && typeof descriptor === 'object' && arguments.length === 3\n );\n assert(\n `The @cached decorator must be applied to getters. '${key}' is not a getter.`,\n typeof descriptor.get === 'function'\n );\n\n const caches = new WeakMap<object, object>();\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const getter = descriptor.get;\n descriptor.get = function () {\n if (!caches.has(this)) caches.set(this, createCache(getter.bind(this)));\n return getValue<unknown>(caches.get(this) as Parameters<typeof getValue>[0]);\n };\n}\n"],"names":["cached","target","key","descriptor","assert","undefined","arguments","length","Array","from","map","d","join","get","caches","WeakMap","getter","has","set","createCache","bind","getValue"],"mappings":";;;;;AASO,SAASA,MAAMA,CACpBC,MAAS,EACTC,GAAM,EACNC,UAA8B,EAC9B;AACA;AACAC,EAAAA,MAAM,CACJ,0HAA0H,EAC1HH,MAAM,KAAKI,SACb,CAAC,CAAA;EACDD,MAAM,CACH,CAAuCE,qCAAAA,EAAAA,SAAS,CAACC,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG,aAAc,CAAaC,WAAAA,EAAAA,KAAK,CAACC,IAAI,CAChHH,SACF,CAAC,CACEI,GAAG,CAAEC,CAAC,IAAM,CAAA,CAAA,EAAGA,CAAE,CAAA,CAAA,CAAE,CAAC,CACpBC,IAAI,CACH,IACF,CAAE,CAAA,uFAAA,EAAyF,WAAY,CAAA,CAAC,EAC1G,OAAOX,MAAM,KAAK,QAAQ,IAAI,OAAOC,GAAG,KAAK,QAAQ,IAAI,OAAOC,UAAU,KAAK,QAAQ,IAAIG,SAAS,CAACC,MAAM,KAAK,CAClH,CAAC,CAAA;EACDH,MAAM,CACH,CAAqDF,mDAAAA,EAAAA,GAAI,CAAmB,kBAAA,CAAA,EAC7E,OAAOC,UAAU,CAACU,GAAG,KAAK,UAC5B,CAAC,CAAA;AAED,EAAA,MAAMC,MAAM,GAAG,IAAIC,OAAO,EAAkB,CAAA;AAC5C;AACA,EAAA,MAAMC,MAAM,GAAGb,UAAU,CAACU,GAAG,CAAA;EAC7BV,UAAU,CAACU,GAAG,GAAG,YAAY;IAC3B,IAAI,CAACC,MAAM,CAACG,GAAG,CAAC,IAAI,CAAC,EAAEH,MAAM,CAACI,GAAG,CAAC,IAAI,EAAEC,WAAW,CAACH,MAAM,CAACI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACvE,OAAOC,QAAQ,CAAUP,MAAM,CAACD,GAAG,CAAC,IAAI,CAAmC,CAAC,CAAA;GAC7E,CAAA;AACH;;;;"}
package/addon-main.js DELETED
@@ -1,93 +0,0 @@
1
- const requireModule = require('@ember-data/private-build-infra/src/utilities/require-module');
2
- const getEnv = require('@ember-data/private-build-infra/src/utilities/get-env');
3
- const detectModule = require('@ember-data/private-build-infra/src/utilities/detect-module');
4
-
5
- const pkg = require('./package.json');
6
-
7
- module.exports = {
8
- name: pkg.name,
9
-
10
- options: {
11
- '@embroider/macros': {
12
- setOwnConfig: {},
13
- },
14
- },
15
-
16
- _emberDataConfig: null,
17
- configureEmberData() {
18
- if (this._emberDataConfig) {
19
- return this._emberDataConfig;
20
- }
21
- const app = this._findHost();
22
- const isProd = /production/.test(process.env.EMBER_ENV);
23
- const hostOptions = app.options?.emberData || {};
24
- const debugOptions = Object.assign(
25
- {
26
- LOG_PAYLOADS: false,
27
- LOG_OPERATIONS: false,
28
- LOG_MUTATIONS: false,
29
- LOG_NOTIFICATIONS: false,
30
- LOG_REQUESTS: false,
31
- LOG_REQUEST_STATUS: false,
32
- LOG_IDENTIFIERS: false,
33
- LOG_GRAPH: false,
34
- LOG_INSTANCE_CACHE: false,
35
- },
36
- hostOptions.debug || {}
37
- );
38
-
39
- const HAS_DEBUG_PACKAGE = detectModule(require, '@ember-data/debug', __dirname, pkg);
40
- const HAS_META_PACKAGE = detectModule(require, 'ember-data', __dirname, pkg);
41
-
42
- const includeDataAdapterInProduction =
43
- typeof hostOptions.includeDataAdapterInProduction === 'boolean'
44
- ? hostOptions.includeDataAdapterInProduction
45
- : HAS_META_PACKAGE;
46
-
47
- const includeDataAdapter = HAS_DEBUG_PACKAGE ? (isProd ? includeDataAdapterInProduction : true) : false;
48
- const DEPRECATIONS = require('@ember-data/private-build-infra/src/deprecations')(hostOptions.compatWith || null);
49
- const FEATURES = require('@ember-data/private-build-infra/src/features')(isProd);
50
-
51
- const ALL_PACKAGES = requireModule('@ember-data/private-build-infra/virtual-packages/packages.js');
52
- const MACRO_PACKAGE_FLAGS = Object.assign({}, ALL_PACKAGES.default);
53
- delete MACRO_PACKAGE_FLAGS['HAS_DEBUG_PACKAGE'];
54
-
55
- Object.keys(MACRO_PACKAGE_FLAGS).forEach((key) => {
56
- MACRO_PACKAGE_FLAGS[key] = detectModule(require, MACRO_PACKAGE_FLAGS[key], __dirname, pkg);
57
- });
58
-
59
- // copy configs forward
60
- const ownConfig = this.options['@embroider/macros'].setOwnConfig;
61
- ownConfig.compatWith = hostOptions.compatWith || null;
62
- ownConfig.debug = debugOptions;
63
- ownConfig.deprecations = Object.assign(DEPRECATIONS, ownConfig.deprecations || {}, hostOptions.deprecations || {});
64
- ownConfig.features = Object.assign({}, FEATURES, ownConfig.features || {}, hostOptions.features || {});
65
- ownConfig.includeDataAdapter = includeDataAdapter;
66
- ownConfig.packages = MACRO_PACKAGE_FLAGS;
67
- ownConfig.env = getEnv(ownConfig);
68
-
69
- this._emberDataConfig = ownConfig;
70
- return ownConfig;
71
- },
72
-
73
- included() {
74
- this.configureEmberData();
75
- return this._super.included.call(this, ...arguments);
76
- },
77
-
78
- treeForVendor() {
79
- return;
80
- },
81
- treeForPublic() {
82
- return;
83
- },
84
- treeForStyles() {
85
- return;
86
- },
87
- treeForAddonStyles() {
88
- return;
89
- },
90
- treeForApp() {
91
- return;
92
- },
93
- };