@starlightcms/js-sdk 0.8.0 → 0.9.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/cjs/instances/Model/index.d.ts +3 -3
- package/dist/cjs/instances/Model/index.d.ts.map +1 -1
- package/dist/cjs/instances/Model/index.js +9 -1
- package/dist/cjs/instances/Model/index.js.map +1 -1
- package/dist/cjs/instances/Model/types.d.ts +3 -0
- package/dist/cjs/instances/Model/types.d.ts.map +1 -1
- package/dist/cjs/instances/Model/types.js.map +1 -1
- package/dist/cjs/selectors/Model/types.d.ts +2 -2
- package/dist/cjs/selectors/Model/types.d.ts.map +1 -1
- package/dist/cjs/selectors/Model/types.js.map +1 -1
- package/dist/cjs/types/index.d.ts +3 -3
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/esm/instances/Model/index.d.ts +3 -3
- package/dist/esm/instances/Model/index.d.ts.map +1 -1
- package/dist/esm/instances/Model/index.js +9 -1
- package/dist/esm/instances/Model/index.js.map +1 -1
- package/dist/esm/instances/Model/types.d.ts +3 -0
- package/dist/esm/instances/Model/types.d.ts.map +1 -1
- package/dist/esm/instances/Model/types.js.map +1 -1
- package/dist/esm/selectors/Model/types.d.ts +2 -2
- package/dist/esm/selectors/Model/types.d.ts.map +1 -1
- package/dist/esm/selectors/Model/types.js.map +1 -1
- package/dist/esm/types/index.d.ts +3 -3
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SerializedData, StarlightClient } from '../../types';
|
|
2
|
-
import {
|
|
3
|
-
export default function makeModelInstance<D extends SerializedData>(client: StarlightClient, model: string):
|
|
4
|
-
export {
|
|
2
|
+
import { ProxiedModelInstance } from './types';
|
|
3
|
+
export default function makeModelInstance<D extends SerializedData>(client: StarlightClient, model: string): ProxiedModelInstance<D>;
|
|
4
|
+
export { ProxiedModelInstance };
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/instances/Model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,eAAe,EAEhB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/instances/Model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,eAAe,EAEhB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAS9C,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAChE,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GACZ,oBAAoB,CAAC,CAAC,CAAC,CA4BzB;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
|
|
@@ -7,7 +7,7 @@ const Entry_1 = __importDefault(require("../../selectors/Entry"));
|
|
|
7
7
|
const ModelCategory_1 = __importDefault(require("../../selectors/ModelCategory"));
|
|
8
8
|
const ModelCategory_2 = __importDefault(require("../ModelCategory"));
|
|
9
9
|
function makeModelInstance(client, model) {
|
|
10
|
-
|
|
10
|
+
const instance = {
|
|
11
11
|
get() {
|
|
12
12
|
return client.get(`/models/${model}`);
|
|
13
13
|
},
|
|
@@ -21,6 +21,14 @@ function makeModelInstance(client, model) {
|
|
|
21
21
|
return (0, ModelCategory_1.default)(client, model);
|
|
22
22
|
},
|
|
23
23
|
};
|
|
24
|
+
return new Proxy(instance, {
|
|
25
|
+
get(target, prop) {
|
|
26
|
+
if (typeof prop === 'string' && !Reflect.has(target, prop)) {
|
|
27
|
+
return (0, ModelCategory_2.default)(client, model, prop);
|
|
28
|
+
}
|
|
29
|
+
return Reflect.get(target, prop);
|
|
30
|
+
},
|
|
31
|
+
});
|
|
24
32
|
}
|
|
25
33
|
exports.default = makeModelInstance;
|
|
26
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/instances/Model/index.ts"],"names":[],"mappings":";;;;;AAOA,kEAAwE;AACxE,kFAEsC;AACtC,qEAEyB;AAEzB,SAAwB,iBAAiB,CACvC,MAAuB,EACvB,KAAa;IAEb,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/instances/Model/index.ts"],"names":[],"mappings":";;;;;AAOA,kEAAwE;AACxE,kFAEsC;AACtC,qEAEyB;AAEzB,SAAwB,iBAAiB,CACvC,MAAuB,EACvB,KAAa;IAEb,MAAM,QAAQ,GAAG;QACf,GAAG;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,KAAK,EAAE,CAAC,CAAA;QACvC,CAAC;QAED,QAAQ,CAAC,IAAY;YACnB,OAAO,IAAA,uBAAyB,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACvD,CAAC;QAED,IAAI,OAAO;YACT,OAAO,IAAA,eAAiB,EAAI,MAAM,EAAE,KAAK,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,UAAU;YACZ,OAAO,IAAA,uBAAyB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACjD,CAAC;KACF,CAAA;IAED,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;QACzB,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAC1D,OAAO,IAAA,uBAAyB,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;aACtD;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;KACF,CAA4B,CAAA;AAC/B,CAAC;AA/BD,oCA+BC","sourcesContent":["import {\n Model,\n SerializedData,\n StarlightClient,\n StarlightItemResponse,\n} from '../../types'\nimport { ProxiedModelInstance } from './types'\nimport makeEntrySelector, { EntrySelector } from '../../selectors/Entry'\nimport makeModelCategorySelector, {\n ProxiedModelCategorySelector,\n} from '../../selectors/ModelCategory'\nimport makeModelCategoryInstance, {\n ModelCategoryInstance,\n} from '../ModelCategory'\n\nexport default function makeModelInstance<D extends SerializedData>(\n client: StarlightClient,\n model: string\n): ProxiedModelInstance<D> {\n const instance = {\n get(): Promise<StarlightItemResponse<Model>> {\n return client.get(`/models/${model}`)\n },\n\n category(slug: string): ModelCategoryInstance<D> {\n return makeModelCategoryInstance(client, model, slug)\n },\n\n get entries(): EntrySelector<D> {\n return makeEntrySelector<D>(client, model)\n },\n\n get categories(): ProxiedModelCategorySelector<D> {\n return makeModelCategorySelector(client, model)\n },\n }\n\n return new Proxy(instance, {\n get(target, prop) {\n if (typeof prop === 'string' && !Reflect.has(target, prop)) {\n return makeModelCategoryInstance(client, model, prop)\n }\n\n return Reflect.get(target, prop)\n },\n }) as ProxiedModelInstance<D>\n}\n\nexport { ProxiedModelInstance }\n"]}
|
|
@@ -8,4 +8,7 @@ export interface ModelInstance<D extends SerializedData> {
|
|
|
8
8
|
get entries(): EntrySelector<D>;
|
|
9
9
|
get categories(): ProxiedModelCategorySelector<D>;
|
|
10
10
|
}
|
|
11
|
+
export declare type ProxiedModelInstance<D extends SerializedData> = ModelInstance<D> & {
|
|
12
|
+
[key: string]: ModelCategoryInstance<D>;
|
|
13
|
+
};
|
|
11
14
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/instances/Model/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,cAAc;IACrD,GAAG,IAAI,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAChD,IAAI,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,UAAU,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAA;CAClD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/instances/Model/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,cAAc;IACrD,GAAG,IAAI,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAChD,IAAI,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,UAAU,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAA;CAClD;AAED,oBAAY,oBAAoB,CAAC,CAAC,SAAS,cAAc,IACvD,aAAa,CAAC,CAAC,CAAC,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;CACxC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/instances/Model/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Model, SerializedData, StarlightItemResponse } from '../../types'\nimport { EntrySelector } from '../../selectors/Entry'\nimport { ProxiedModelCategorySelector } from '../../selectors/ModelCategory'\nimport { ModelCategoryInstance } from '../ModelCategory'\n\nexport interface ModelInstance<D extends SerializedData> {\n get(): Promise<StarlightItemResponse<Model>>\n category(slug: string): ModelCategoryInstance<D>\n get entries(): EntrySelector<D>\n get categories(): ProxiedModelCategorySelector<D>\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/instances/Model/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Model, SerializedData, StarlightItemResponse } from '../../types'\nimport { EntrySelector } from '../../selectors/Entry'\nimport { ProxiedModelCategorySelector } from '../../selectors/ModelCategory'\nimport { ModelCategoryInstance } from '../ModelCategory'\n\nexport interface ModelInstance<D extends SerializedData> {\n get(): Promise<StarlightItemResponse<Model>>\n category(slug: string): ModelCategoryInstance<D>\n get entries(): EntrySelector<D>\n get categories(): ProxiedModelCategorySelector<D>\n}\n\nexport type ProxiedModelInstance<D extends SerializedData> =\n ModelInstance<D> & {\n [key: string]: ModelCategoryInstance<D>\n }\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Model, StarlightItemResponse, StarlightListResponse, WorkspaceModelDefinition } from '../../types';
|
|
2
|
-
import {
|
|
2
|
+
import { ProxiedModelInstance } from '../../instances/Model';
|
|
3
3
|
export interface ModelSelector {
|
|
4
4
|
list(): Promise<StarlightListResponse<Model>>;
|
|
5
5
|
get(slug: string): Promise<StarlightItemResponse<Model>>;
|
|
6
6
|
}
|
|
7
7
|
export declare type ProxiedModelSelector<T extends WorkspaceModelDefinition> = ModelSelector & {
|
|
8
|
-
[K in keyof T]:
|
|
8
|
+
[K in keyof T]: ProxiedModelInstance<T[K]>;
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/selectors/Model/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/selectors/Model/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;CACzD;AAED,oBAAY,oBAAoB,CAAC,CAAC,SAAS,wBAAwB,IACjE,aAAa,GAAG;KACb,CAAC,IAAI,MAAM,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/selectors/Model/types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n Model,\n StarlightItemResponse,\n StarlightListResponse,\n WorkspaceModelDefinition,\n} from '../../types'\nimport {
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/selectors/Model/types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n Model,\n StarlightItemResponse,\n StarlightListResponse,\n WorkspaceModelDefinition,\n} from '../../types'\nimport { ProxiedModelInstance } from '../../instances/Model'\n\nexport interface ModelSelector {\n list(): Promise<StarlightListResponse<Model>>\n get(slug: string): Promise<StarlightItemResponse<Model>>\n}\n\nexport type ProxiedModelSelector<T extends WorkspaceModelDefinition> =\n ModelSelector & {\n [K in keyof T]: ProxiedModelInstance<T[K]>\n }\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CollectionTypes, SerializedData } from './entities';
|
|
2
2
|
import { ProxiedModelSelector } from '../selectors/Model';
|
|
3
|
-
import {
|
|
3
|
+
import { ProxiedModelInstance } from '../instances/Model';
|
|
4
4
|
import { SingletonSelector } from '../selectors/Singleton';
|
|
5
5
|
import { ProxiedCollectionSelector } from '../selectors/Collection';
|
|
6
6
|
import { MediaSelector } from '../selectors/Media';
|
|
@@ -21,7 +21,7 @@ export interface StarlightClient<D extends WorkspaceModelDefinition = DefaultMod
|
|
|
21
21
|
getBaseUrl(): string;
|
|
22
22
|
get<T = Record<string, unknown>>(path: string, params?: Record<string, string | number | boolean | undefined>, options?: RequestInit): Promise<T>;
|
|
23
23
|
get models(): ProxiedModelSelector<D>;
|
|
24
|
-
model<S extends keyof D>(slug: S):
|
|
24
|
+
model<S extends keyof D>(slug: S): ProxiedModelInstance<D[S]>;
|
|
25
25
|
get singletons(): SingletonSelector;
|
|
26
26
|
get collections(): ProxiedCollectionSelector;
|
|
27
27
|
collection<T extends CollectionTypes = string>(slug: string | number): CollectionInstance<T>;
|
|
@@ -29,7 +29,7 @@ export interface StarlightClient<D extends WorkspaceModelDefinition = DefaultMod
|
|
|
29
29
|
get search(): SearchSelector;
|
|
30
30
|
}
|
|
31
31
|
export declare type ProxiedStarlightClient<T extends WorkspaceModelDefinition> = StarlightClient<T> & {
|
|
32
|
-
[K in keyof T]:
|
|
32
|
+
[K in keyof T]: ProxiedModelInstance<T[K]>;
|
|
33
33
|
};
|
|
34
34
|
export interface StarlightItemResponse<T> {
|
|
35
35
|
data: T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,2CAAwB;AACxB,6CAA0B;AAC1B,2CAAwB","sourcesContent":["import { CollectionTypes, SerializedData } from './entities'\nimport { ProxiedModelSelector } from '../selectors/Model'\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,2CAAwB;AACxB,6CAA0B;AAC1B,2CAAwB","sourcesContent":["import { CollectionTypes, SerializedData } from './entities'\nimport { ProxiedModelSelector } from '../selectors/Model'\nimport { ProxiedModelInstance } from '../instances/Model'\nimport { SingletonSelector } from '../selectors/Singleton'\nimport { ProxiedCollectionSelector } from '../selectors/Collection'\nimport { MediaSelector } from '../selectors/Media'\nimport { SearchSelector } from '../selectors/Search'\nimport { CollectionInstance } from '../instances/Collection'\n\nexport * from './fields'\nexport * from './entities'\nexport * from './visual'\n\ntype BaseUrl = 'https://query.starlight.sh/v2' | string\n\nexport type StarlightConfig = {\n workspace?: string\n baseUrl?: BaseUrl\n debug?: boolean\n}\n\nexport interface StarlightClient<\n D extends WorkspaceModelDefinition = DefaultModelDefinition\n> {\n configure(config: StarlightConfig): void\n\n log(message?: unknown, ...optionalParams: unknown[]): void\n\n getBaseUrl(): string\n\n get<T = Record<string, unknown>>(\n path: string,\n params?: Record<string, string | number | boolean | undefined>,\n options?: RequestInit\n ): Promise<T>\n\n get models(): ProxiedModelSelector<D>\n\n model<S extends keyof D>(slug: S): ProxiedModelInstance<D[S]>\n\n get singletons(): SingletonSelector\n\n get collections(): ProxiedCollectionSelector\n\n collection<T extends CollectionTypes = string>(\n slug: string | number\n ): CollectionInstance<T>\n\n get media(): MediaSelector\n\n get search(): SearchSelector\n}\n\nexport type ProxiedStarlightClient<T extends WorkspaceModelDefinition> =\n StarlightClient<T> & {\n [K in keyof T]: ProxiedModelInstance<T[K]>\n }\n\nexport interface StarlightItemResponse<T> {\n data: T\n}\n\nexport interface StarlightListResponse<T> {\n data: T[]\n links: {\n first: string\n last: string\n prev?: string\n next?: string\n }\n meta: {\n current_page: number\n last_page: number\n from: number\n to: number\n per_page: number\n total: number\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface DefaultModelDefinition extends WorkspaceModelDefinition {}\n\nexport interface WorkspaceModelDefinition {\n [slug: string]: SerializedData\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SerializedData, StarlightClient } from '../../types';
|
|
2
|
-
import {
|
|
3
|
-
export default function makeModelInstance<D extends SerializedData>(client: StarlightClient, model: string):
|
|
4
|
-
export {
|
|
2
|
+
import { ProxiedModelInstance } from './types';
|
|
3
|
+
export default function makeModelInstance<D extends SerializedData>(client: StarlightClient, model: string): ProxiedModelInstance<D>;
|
|
4
|
+
export { ProxiedModelInstance };
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/instances/Model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,eAAe,EAEhB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/instances/Model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,eAAe,EAEhB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAS9C,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAChE,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GACZ,oBAAoB,CAAC,CAAC,CAAC,CA4BzB;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
|
|
@@ -2,7 +2,7 @@ import makeEntrySelector from '../../selectors/Entry';
|
|
|
2
2
|
import makeModelCategorySelector from '../../selectors/ModelCategory';
|
|
3
3
|
import makeModelCategoryInstance from '../ModelCategory';
|
|
4
4
|
export default function makeModelInstance(client, model) {
|
|
5
|
-
|
|
5
|
+
const instance = {
|
|
6
6
|
get() {
|
|
7
7
|
return client.get(`/models/${model}`);
|
|
8
8
|
},
|
|
@@ -16,5 +16,13 @@ export default function makeModelInstance(client, model) {
|
|
|
16
16
|
return makeModelCategorySelector(client, model);
|
|
17
17
|
},
|
|
18
18
|
};
|
|
19
|
+
return new Proxy(instance, {
|
|
20
|
+
get(target, prop) {
|
|
21
|
+
if (typeof prop === 'string' && !Reflect.has(target, prop)) {
|
|
22
|
+
return makeModelCategoryInstance(client, model, prop);
|
|
23
|
+
}
|
|
24
|
+
return Reflect.get(target, prop);
|
|
25
|
+
},
|
|
26
|
+
});
|
|
19
27
|
}
|
|
20
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/instances/Model/index.ts"],"names":[],"mappings":"AAOA,OAAO,iBAAoC,MAAM,uBAAuB,CAAA;AACxE,OAAO,yBAEN,MAAM,+BAA+B,CAAA;AACtC,OAAO,yBAEN,MAAM,kBAAkB,CAAA;AAEzB,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,MAAuB,EACvB,KAAa;IAEb,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/instances/Model/index.ts"],"names":[],"mappings":"AAOA,OAAO,iBAAoC,MAAM,uBAAuB,CAAA;AACxE,OAAO,yBAEN,MAAM,+BAA+B,CAAA;AACtC,OAAO,yBAEN,MAAM,kBAAkB,CAAA;AAEzB,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,MAAuB,EACvB,KAAa;IAEb,MAAM,QAAQ,GAAG;QACf,GAAG;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,KAAK,EAAE,CAAC,CAAA;QACvC,CAAC;QAED,QAAQ,CAAC,IAAY;YACnB,OAAO,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACvD,CAAC;QAED,IAAI,OAAO;YACT,OAAO,iBAAiB,CAAI,MAAM,EAAE,KAAK,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,UAAU;YACZ,OAAO,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACjD,CAAC;KACF,CAAA;IAED,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;QACzB,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAC1D,OAAO,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;aACtD;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC;KACF,CAA4B,CAAA;AAC/B,CAAC","sourcesContent":["import {\n Model,\n SerializedData,\n StarlightClient,\n StarlightItemResponse,\n} from '../../types'\nimport { ProxiedModelInstance } from './types'\nimport makeEntrySelector, { EntrySelector } from '../../selectors/Entry'\nimport makeModelCategorySelector, {\n ProxiedModelCategorySelector,\n} from '../../selectors/ModelCategory'\nimport makeModelCategoryInstance, {\n ModelCategoryInstance,\n} from '../ModelCategory'\n\nexport default function makeModelInstance<D extends SerializedData>(\n client: StarlightClient,\n model: string\n): ProxiedModelInstance<D> {\n const instance = {\n get(): Promise<StarlightItemResponse<Model>> {\n return client.get(`/models/${model}`)\n },\n\n category(slug: string): ModelCategoryInstance<D> {\n return makeModelCategoryInstance(client, model, slug)\n },\n\n get entries(): EntrySelector<D> {\n return makeEntrySelector<D>(client, model)\n },\n\n get categories(): ProxiedModelCategorySelector<D> {\n return makeModelCategorySelector(client, model)\n },\n }\n\n return new Proxy(instance, {\n get(target, prop) {\n if (typeof prop === 'string' && !Reflect.has(target, prop)) {\n return makeModelCategoryInstance(client, model, prop)\n }\n\n return Reflect.get(target, prop)\n },\n }) as ProxiedModelInstance<D>\n}\n\nexport { ProxiedModelInstance }\n"]}
|
|
@@ -8,4 +8,7 @@ export interface ModelInstance<D extends SerializedData> {
|
|
|
8
8
|
get entries(): EntrySelector<D>;
|
|
9
9
|
get categories(): ProxiedModelCategorySelector<D>;
|
|
10
10
|
}
|
|
11
|
+
export declare type ProxiedModelInstance<D extends SerializedData> = ModelInstance<D> & {
|
|
12
|
+
[key: string]: ModelCategoryInstance<D>;
|
|
13
|
+
};
|
|
11
14
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/instances/Model/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,cAAc;IACrD,GAAG,IAAI,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAChD,IAAI,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,UAAU,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAA;CAClD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/instances/Model/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,cAAc;IACrD,GAAG,IAAI,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAChD,IAAI,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,UAAU,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAA;CAClD;AAED,oBAAY,oBAAoB,CAAC,CAAC,SAAS,cAAc,IACvD,aAAa,CAAC,CAAC,CAAC,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;CACxC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/instances/Model/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Model, SerializedData, StarlightItemResponse } from '../../types'\nimport { EntrySelector } from '../../selectors/Entry'\nimport { ProxiedModelCategorySelector } from '../../selectors/ModelCategory'\nimport { ModelCategoryInstance } from '../ModelCategory'\n\nexport interface ModelInstance<D extends SerializedData> {\n get(): Promise<StarlightItemResponse<Model>>\n category(slug: string): ModelCategoryInstance<D>\n get entries(): EntrySelector<D>\n get categories(): ProxiedModelCategorySelector<D>\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/instances/Model/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Model, SerializedData, StarlightItemResponse } from '../../types'\nimport { EntrySelector } from '../../selectors/Entry'\nimport { ProxiedModelCategorySelector } from '../../selectors/ModelCategory'\nimport { ModelCategoryInstance } from '../ModelCategory'\n\nexport interface ModelInstance<D extends SerializedData> {\n get(): Promise<StarlightItemResponse<Model>>\n category(slug: string): ModelCategoryInstance<D>\n get entries(): EntrySelector<D>\n get categories(): ProxiedModelCategorySelector<D>\n}\n\nexport type ProxiedModelInstance<D extends SerializedData> =\n ModelInstance<D> & {\n [key: string]: ModelCategoryInstance<D>\n }\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Model, StarlightItemResponse, StarlightListResponse, WorkspaceModelDefinition } from '../../types';
|
|
2
|
-
import {
|
|
2
|
+
import { ProxiedModelInstance } from '../../instances/Model';
|
|
3
3
|
export interface ModelSelector {
|
|
4
4
|
list(): Promise<StarlightListResponse<Model>>;
|
|
5
5
|
get(slug: string): Promise<StarlightItemResponse<Model>>;
|
|
6
6
|
}
|
|
7
7
|
export declare type ProxiedModelSelector<T extends WorkspaceModelDefinition> = ModelSelector & {
|
|
8
|
-
[K in keyof T]:
|
|
8
|
+
[K in keyof T]: ProxiedModelInstance<T[K]>;
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/selectors/Model/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/selectors/Model/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;CACzD;AAED,oBAAY,oBAAoB,CAAC,CAAC,SAAS,wBAAwB,IACjE,aAAa,GAAG;KACb,CAAC,IAAI,MAAM,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/selectors/Model/types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n Model,\n StarlightItemResponse,\n StarlightListResponse,\n WorkspaceModelDefinition,\n} from '../../types'\nimport {
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/selectors/Model/types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n Model,\n StarlightItemResponse,\n StarlightListResponse,\n WorkspaceModelDefinition,\n} from '../../types'\nimport { ProxiedModelInstance } from '../../instances/Model'\n\nexport interface ModelSelector {\n list(): Promise<StarlightListResponse<Model>>\n get(slug: string): Promise<StarlightItemResponse<Model>>\n}\n\nexport type ProxiedModelSelector<T extends WorkspaceModelDefinition> =\n ModelSelector & {\n [K in keyof T]: ProxiedModelInstance<T[K]>\n }\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CollectionTypes, SerializedData } from './entities';
|
|
2
2
|
import { ProxiedModelSelector } from '../selectors/Model';
|
|
3
|
-
import {
|
|
3
|
+
import { ProxiedModelInstance } from '../instances/Model';
|
|
4
4
|
import { SingletonSelector } from '../selectors/Singleton';
|
|
5
5
|
import { ProxiedCollectionSelector } from '../selectors/Collection';
|
|
6
6
|
import { MediaSelector } from '../selectors/Media';
|
|
@@ -21,7 +21,7 @@ export interface StarlightClient<D extends WorkspaceModelDefinition = DefaultMod
|
|
|
21
21
|
getBaseUrl(): string;
|
|
22
22
|
get<T = Record<string, unknown>>(path: string, params?: Record<string, string | number | boolean | undefined>, options?: RequestInit): Promise<T>;
|
|
23
23
|
get models(): ProxiedModelSelector<D>;
|
|
24
|
-
model<S extends keyof D>(slug: S):
|
|
24
|
+
model<S extends keyof D>(slug: S): ProxiedModelInstance<D[S]>;
|
|
25
25
|
get singletons(): SingletonSelector;
|
|
26
26
|
get collections(): ProxiedCollectionSelector;
|
|
27
27
|
collection<T extends CollectionTypes = string>(slug: string | number): CollectionInstance<T>;
|
|
@@ -29,7 +29,7 @@ export interface StarlightClient<D extends WorkspaceModelDefinition = DefaultMod
|
|
|
29
29
|
get search(): SearchSelector;
|
|
30
30
|
}
|
|
31
31
|
export declare type ProxiedStarlightClient<T extends WorkspaceModelDefinition> = StarlightClient<T> & {
|
|
32
|
-
[K in keyof T]:
|
|
32
|
+
[K in keyof T]: ProxiedModelInstance<T[K]>;
|
|
33
33
|
};
|
|
34
34
|
export interface StarlightItemResponse<T> {
|
|
35
35
|
data: T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AASA,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA","sourcesContent":["import { CollectionTypes, SerializedData } from './entities'\nimport { ProxiedModelSelector } from '../selectors/Model'\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AASA,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA","sourcesContent":["import { CollectionTypes, SerializedData } from './entities'\nimport { ProxiedModelSelector } from '../selectors/Model'\nimport { ProxiedModelInstance } from '../instances/Model'\nimport { SingletonSelector } from '../selectors/Singleton'\nimport { ProxiedCollectionSelector } from '../selectors/Collection'\nimport { MediaSelector } from '../selectors/Media'\nimport { SearchSelector } from '../selectors/Search'\nimport { CollectionInstance } from '../instances/Collection'\n\nexport * from './fields'\nexport * from './entities'\nexport * from './visual'\n\ntype BaseUrl = 'https://query.starlight.sh/v2' | string\n\nexport type StarlightConfig = {\n workspace?: string\n baseUrl?: BaseUrl\n debug?: boolean\n}\n\nexport interface StarlightClient<\n D extends WorkspaceModelDefinition = DefaultModelDefinition\n> {\n configure(config: StarlightConfig): void\n\n log(message?: unknown, ...optionalParams: unknown[]): void\n\n getBaseUrl(): string\n\n get<T = Record<string, unknown>>(\n path: string,\n params?: Record<string, string | number | boolean | undefined>,\n options?: RequestInit\n ): Promise<T>\n\n get models(): ProxiedModelSelector<D>\n\n model<S extends keyof D>(slug: S): ProxiedModelInstance<D[S]>\n\n get singletons(): SingletonSelector\n\n get collections(): ProxiedCollectionSelector\n\n collection<T extends CollectionTypes = string>(\n slug: string | number\n ): CollectionInstance<T>\n\n get media(): MediaSelector\n\n get search(): SearchSelector\n}\n\nexport type ProxiedStarlightClient<T extends WorkspaceModelDefinition> =\n StarlightClient<T> & {\n [K in keyof T]: ProxiedModelInstance<T[K]>\n }\n\nexport interface StarlightItemResponse<T> {\n data: T\n}\n\nexport interface StarlightListResponse<T> {\n data: T[]\n links: {\n first: string\n last: string\n prev?: string\n next?: string\n }\n meta: {\n current_page: number\n last_page: number\n from: number\n to: number\n per_page: number\n total: number\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface DefaultModelDefinition extends WorkspaceModelDefinition {}\n\nexport interface WorkspaceModelDefinition {\n [slug: string]: SerializedData\n}\n"]}
|