@warp-drive/ember 5.6.0-alpha.1 → 5.6.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.
- package/README.md +1 -1
- package/addon-main.cjs +1 -1
- package/declarations/-private/await.gts.d.ts +77 -0
- package/declarations/-private/await.gts.d.ts.map +1 -0
- package/declarations/-private/request.gts.d.ts +486 -0
- package/declarations/-private/request.gts.d.ts.map +1 -0
- package/declarations/index.d.ts +216 -0
- package/declarations/index.d.ts.map +1 -0
- package/declarations/install.d.ts +16 -0
- package/declarations/install.d.ts.map +1 -0
- package/dist/index.js +9 -23
- package/dist/index.js.map +1 -1
- package/dist/install.js +16 -5
- package/dist/install.js.map +1 -1
- package/package.json +12 -34
- package/unstable-preview-types/-private/await.d.ts +0 -82
- package/unstable-preview-types/-private/await.d.ts.map +0 -1
- package/unstable-preview-types/-private/request.d.ts +0 -502
- package/unstable-preview-types/-private/request.d.ts.map +0 -1
- package/unstable-preview-types/index.d.ts +0 -228
- package/unstable-preview-types/index.d.ts.map +0 -1
- package/unstable-preview-types/install.d.ts +0 -17
- package/unstable-preview-types/install.d.ts.map +0 -1
package/dist/install.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import '@ember-data/store/-private';
|
|
2
1
|
import { tagForProperty } from '@ember/-internals/metal';
|
|
3
|
-
import { createCache, track, updateTag, consumeTag, getValue, dirtyTag } from '@glimmer/validator';
|
|
4
2
|
import { _backburner } from '@ember/runloop';
|
|
5
|
-
import {
|
|
6
|
-
import { macroCondition, getGlobalConfig } from '@embroider/macros';
|
|
3
|
+
import { createCache, track, updateTag, consumeTag, getValue, dirtyTag } from '@glimmer/validator';
|
|
4
|
+
import { macroCondition, getGlobalConfig, importSync } from '@embroider/macros';
|
|
5
|
+
import { setupSignals } from '@warp-drive/core/configure';
|
|
6
|
+
|
|
7
7
|
const emberDirtyTag = dirtyTag;
|
|
8
8
|
function buildSignalConfig(options) {
|
|
9
9
|
const ARRAY_SIGNAL = options.wellknown.Array;
|
|
@@ -60,8 +60,19 @@ function buildSignalConfig(options) {
|
|
|
60
60
|
willSyncFlushWatchers: () => {
|
|
61
61
|
//@ts-expect-error
|
|
62
62
|
return !!_backburner.currentInstance && _backburner._autorun !== true;
|
|
63
|
+
},
|
|
64
|
+
waitFor: async promise => {
|
|
65
|
+
if (macroCondition(getGlobalConfig().WarpDrive.env.TESTING)) {
|
|
66
|
+
const {
|
|
67
|
+
waitForPromise
|
|
68
|
+
} = importSync('@ember/test-waiters');
|
|
69
|
+
return waitForPromise(promise);
|
|
70
|
+
}
|
|
71
|
+
return promise;
|
|
63
72
|
}
|
|
64
73
|
};
|
|
65
74
|
}
|
|
66
75
|
setupSignals(buildSignalConfig);
|
|
67
|
-
|
|
76
|
+
|
|
77
|
+
export { buildSignalConfig };
|
|
78
|
+
//# sourceMappingURL=install.js.map
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sources":["../src/install.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"install.js","sources":["../src/install.ts"],"sourcesContent":["import { tagForProperty } from '@ember/-internals/metal';\nimport { _backburner } from '@ember/runloop';\nimport { consumeTag, createCache, dirtyTag, getValue, track, updateTag } from '@glimmer/validator';\n\nimport { importSync } from '@embroider/macros';\n\nimport { DEPRECATE_COMPUTED_CHAINS } from '@warp-drive/core/build-config/deprecations';\nimport { TESTING } from '@warp-drive/core/build-config/env';\nimport { setupSignals } from '@warp-drive/core/configure';\nimport type { SignalHooks } from '@warp-drive/core/store/-private';\n\ntype Tag = ReturnType<typeof tagForProperty>;\nconst emberDirtyTag = dirtyTag as unknown as (tag: Tag) => void;\n\nexport function buildSignalConfig(options: {\n wellknown: {\n Array: symbol | string;\n };\n}) {\n const ARRAY_SIGNAL = options.wellknown.Array;\n\n return {\n createSignal(obj: object, key: string | symbol): Tag | [Tag, Tag, Tag] {\n if (DEPRECATE_COMPUTED_CHAINS) {\n if (key === ARRAY_SIGNAL) {\n return [tagForProperty(obj, key), tagForProperty(obj, 'length'), tagForProperty(obj, '[]')] as const;\n }\n }\n return tagForProperty(obj, key);\n },\n consumeSignal(signal: Tag | [Tag, Tag, Tag]) {\n if (DEPRECATE_COMPUTED_CHAINS) {\n if (Array.isArray(signal)) {\n consumeTag(signal[0]);\n consumeTag(signal[1]);\n consumeTag(signal[2]);\n return;\n }\n }\n\n consumeTag(signal);\n },\n notifySignal(signal: Tag | [Tag, Tag, Tag]) {\n if (DEPRECATE_COMPUTED_CHAINS) {\n if (Array.isArray(signal)) {\n emberDirtyTag(signal[0]);\n emberDirtyTag(signal[1]);\n emberDirtyTag(signal[2]);\n return;\n }\n }\n emberDirtyTag(signal);\n },\n createMemo: <F>(object: object, key: string | symbol, fn: () => F): (() => F) => {\n if (DEPRECATE_COMPUTED_CHAINS) {\n const propertyTag = tagForProperty(object, key);\n const memo = createCache(fn);\n let ret: F | undefined;\n const wrappedFn = () => {\n ret = getValue(memo);\n };\n return () => {\n const tag = track(wrappedFn);\n updateTag(propertyTag, tag);\n consumeTag(tag);\n return ret!;\n };\n } else {\n const memo = createCache(fn);\n return () => getValue(memo);\n }\n },\n willSyncFlushWatchers: () => {\n //@ts-expect-error\n return !!_backburner.currentInstance && _backburner._autorun !== true;\n },\n waitFor: async <K>(promise: Promise<K>): Promise<K> => {\n if (TESTING) {\n const { waitForPromise } = importSync('@ember/test-waiters') as typeof import('@ember/test-waiters');\n return waitForPromise(promise);\n }\n return promise;\n },\n } satisfies SignalHooks;\n}\n\nsetupSignals(buildSignalConfig);\n"],"names":["emberDirtyTag","dirtyTag","buildSignalConfig","options","ARRAY_SIGNAL","wellknown","Array","createSignal","obj","key","macroCondition","getGlobalConfig","WarpDrive","deprecations","DEPRECATE_COMPUTED_CHAINS","tagForProperty","consumeSignal","signal","isArray","consumeTag","notifySignal","createMemo","object","fn","propertyTag","memo","createCache","ret","wrappedFn","getValue","tag","track","updateTag","willSyncFlushWatchers","_backburner","currentInstance","_autorun","waitFor","promise","env","TESTING","waitForPromise","importSync","setupSignals"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warp-drive/ember",
|
|
3
3
|
"description": "Data bindings and utilities for Ember applications using WarpDrive",
|
|
4
|
-
"version": "5.6.0-alpha.
|
|
4
|
+
"version": "5.6.0-alpha.12",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Chris Thoburn <runspired@users.noreply.github.com>",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "git+ssh://git@github.com:emberjs/data.git",
|
|
10
|
-
"directory": "packages/ember"
|
|
10
|
+
"directory": "warp-drive-packages/ember"
|
|
11
11
|
},
|
|
12
12
|
"homepage": "https://github.com/emberjs/data",
|
|
13
13
|
"bugs": "https://github.com/emberjs/data/issues",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"ember-addon"
|
|
16
16
|
],
|
|
17
17
|
"files": [
|
|
18
|
-
"
|
|
18
|
+
"declarations",
|
|
19
19
|
"addon-main.cjs",
|
|
20
20
|
"dist",
|
|
21
21
|
"README.md",
|
|
@@ -24,27 +24,21 @@
|
|
|
24
24
|
],
|
|
25
25
|
"exports": {
|
|
26
26
|
".": {
|
|
27
|
+
"types": "./declarations/index.d.ts",
|
|
27
28
|
"default": "./dist/index.js"
|
|
28
29
|
},
|
|
29
30
|
"./*": {
|
|
31
|
+
"types": "./declarations/*.d.ts",
|
|
30
32
|
"default": "./dist/*.js"
|
|
31
|
-
},
|
|
32
|
-
"./unstable-preview-types": {
|
|
33
|
-
"types": "./unstable-preview-types/index.d.ts"
|
|
34
33
|
}
|
|
35
34
|
},
|
|
36
35
|
"peerDependencies": {
|
|
37
|
-
"ember-source": "3.28.12 || ^4.0.4 || ^5.0.0 || ^6.0.0",
|
|
38
36
|
"@ember/test-waiters": "^3.1.0 || ^4.0.0",
|
|
39
|
-
"@ember-data/store": "5.6.0-alpha.1",
|
|
40
|
-
"@ember-data/request": "5.6.0-alpha.1",
|
|
41
|
-
"@ember-data/request-utils": "5.6.0-alpha.1",
|
|
42
|
-
"@warp-drive/core-types": "5.6.0-alpha.1",
|
|
43
37
|
"ember-provide-consume-context": "^0.7.0"
|
|
44
38
|
},
|
|
45
39
|
"dependencies": {
|
|
46
40
|
"@embroider/macros": "^1.16.12",
|
|
47
|
-
"@warp-drive/
|
|
41
|
+
"@warp-drive/core": "5.6.0-alpha.12"
|
|
48
42
|
},
|
|
49
43
|
"peerDependenciesMeta": {
|
|
50
44
|
"ember-provide-consume-context": {
|
|
@@ -58,21 +52,16 @@
|
|
|
58
52
|
"@babel/preset-typescript": "^7.27.0",
|
|
59
53
|
"@babel/runtime": "^7.27.0",
|
|
60
54
|
"@glimmer/component": "^2.0.0",
|
|
61
|
-
"@
|
|
62
|
-
"@
|
|
63
|
-
"@glint/
|
|
64
|
-
"@glint/
|
|
65
|
-
"@glint/environment-ember-template-imports": "1.5.2",
|
|
66
|
-
"@glint/template": "1.5.2",
|
|
55
|
+
"@glint/core": "unstable",
|
|
56
|
+
"@glint/environment-ember-loose": "unstable",
|
|
57
|
+
"@glint/environment-ember-template-imports": "unstable",
|
|
58
|
+
"@glint/template": "unstable",
|
|
67
59
|
"decorator-transforms": "^2.3.0",
|
|
68
60
|
"@embroider/addon-dev": "^7.1.3",
|
|
69
|
-
"@ember-data/request": "5.6.0-alpha.1",
|
|
70
|
-
"@ember-data/request-utils": "5.6.0-alpha.1",
|
|
71
|
-
"@ember-data/store": "5.6.0-alpha.1",
|
|
72
61
|
"@ember/test-helpers": "5.2.0",
|
|
73
62
|
"@ember/test-waiters": "^4.1.0",
|
|
74
|
-
"@warp-drive/
|
|
75
|
-
"@warp-drive/
|
|
63
|
+
"@warp-drive/internal-config": "5.6.0-alpha.12",
|
|
64
|
+
"@warp-drive/core": "5.6.0-alpha.12",
|
|
76
65
|
"babel-plugin-ember-template-compilation": "^2.4.1",
|
|
77
66
|
"ember-template-imports": "^4.3.0",
|
|
78
67
|
"ember-source": "~6.3.0",
|
|
@@ -81,9 +70,6 @@
|
|
|
81
70
|
"vite": "^5.4.15",
|
|
82
71
|
"ember-provide-consume-context": "^0.7.0"
|
|
83
72
|
},
|
|
84
|
-
"engines": {
|
|
85
|
-
"node": ">= 18.20.8"
|
|
86
|
-
},
|
|
87
73
|
"volta": {
|
|
88
74
|
"extends": "../../package.json"
|
|
89
75
|
},
|
|
@@ -95,15 +81,7 @@
|
|
|
95
81
|
"ember": {
|
|
96
82
|
"edition": "octane"
|
|
97
83
|
},
|
|
98
|
-
"typesVersions": {
|
|
99
|
-
"*": {
|
|
100
|
-
"unstable-preview-types": [
|
|
101
|
-
"./unstable-preview-types"
|
|
102
|
-
]
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
84
|
"scripts": {
|
|
106
|
-
"build:glint": "glint && glint --build",
|
|
107
85
|
"build:pkg": "vite build;",
|
|
108
86
|
"sync": "echo \"syncing\"",
|
|
109
87
|
"_temporarily_deactivated_lint": "eslint . --quiet --cache --cache-strategy=content",
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
declare module '@warp-drive/ember/-private/await' {
|
|
2
|
-
/**
|
|
3
|
-
* @module @warp-drive/ember
|
|
4
|
-
*/
|
|
5
|
-
import type Owner from '@ember/owner';
|
|
6
|
-
import Component from '@glimmer/component';
|
|
7
|
-
import type { Awaitable } from '@ember-data/request';
|
|
8
|
-
export const and: (x: unknown, y: unknown) => boolean;
|
|
9
|
-
interface ThrowSignature<E = Error | string | object> {
|
|
10
|
-
Args: {
|
|
11
|
-
error: E;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* The `<Throw />` component is used to throw an error in a template.
|
|
16
|
-
*
|
|
17
|
-
* That's all it does. So don't use it unless the application should
|
|
18
|
-
* throw an error if it reaches this point in the template.
|
|
19
|
-
*
|
|
20
|
-
* ```hbs
|
|
21
|
-
* <Throw @error={{anError}} />
|
|
22
|
-
* ```
|
|
23
|
-
*
|
|
24
|
-
* @class <Throw />
|
|
25
|
-
* @public
|
|
26
|
-
*/
|
|
27
|
-
export class Throw<T> extends Component<ThrowSignature<T>> {
|
|
28
|
-
constructor(owner: Owner, args: ThrowSignature<T>['Args']);
|
|
29
|
-
}
|
|
30
|
-
interface AwaitSignature<T, E = Error | string | object> {
|
|
31
|
-
Args: {
|
|
32
|
-
promise: Promise<T> | Awaitable<T, E>;
|
|
33
|
-
};
|
|
34
|
-
Blocks: {
|
|
35
|
-
pending: [];
|
|
36
|
-
error: [error: E];
|
|
37
|
-
success: [value: T];
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* The <Await /> component allow you to utilize reactive control flow
|
|
42
|
-
* for asynchronous states in your application.
|
|
43
|
-
*
|
|
44
|
-
* Await is ideal for handling "boundaries", outside which some state is
|
|
45
|
-
* still allowed to be unresolved and within which it MUST be resolved.
|
|
46
|
-
*
|
|
47
|
-
* ```gjs
|
|
48
|
-
* import { Await } from '@warp-drive/ember';
|
|
49
|
-
*
|
|
50
|
-
* <template>
|
|
51
|
-
* <Await @promise={{@request}}>
|
|
52
|
-
* <:pending>
|
|
53
|
-
* <Spinner />
|
|
54
|
-
* </:pending>
|
|
55
|
-
*
|
|
56
|
-
* <:error as |error|>
|
|
57
|
-
* <ErrorForm @error={{error}} />
|
|
58
|
-
* </:error>
|
|
59
|
-
*
|
|
60
|
-
* <:success as |result|>
|
|
61
|
-
* <h1>{{result.title}}</h1>
|
|
62
|
-
* </:success>
|
|
63
|
-
* </Await>
|
|
64
|
-
* </template>
|
|
65
|
-
* ```
|
|
66
|
-
*
|
|
67
|
-
* The <Await /> component requires that error states are properly handled.
|
|
68
|
-
*
|
|
69
|
-
* If no error block is provided and the promise rejects, the error will
|
|
70
|
-
* be thrown.
|
|
71
|
-
*
|
|
72
|
-
* @class <Await />
|
|
73
|
-
* @public
|
|
74
|
-
*/
|
|
75
|
-
export class Await<T, E> extends Component<AwaitSignature<T, E>> {
|
|
76
|
-
get state(): Readonly<import("@ember-data/store/-private").PromiseState<T, E>>;
|
|
77
|
-
get error(): E;
|
|
78
|
-
get result(): T;
|
|
79
|
-
}
|
|
80
|
-
export {};
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=await.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"await.d.ts","sourceRoot":"","sources":["../../src/-private/await.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,eAAO,MAAM,GAAG,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,YAAoB,CAAC;AAC/D,UAAU,cAAc,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM;IAClD,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,CAAC;KACV,CAAC;CACH;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,KAAK,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC5C,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;CAU1D;AAED,UAAU,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM;IACrD,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACvC,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,EAAE,CAAC;QACZ,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAClB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KACrB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,KAAK,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,IAAI,KAAK,sEAER;IAED,IAAI,KAAK,IACoB,CAAC,CAC7B;IAED,IAAI,MAAM,IACoB,CAAC,CAC9B;CAqBF"}
|