PageSourceSearch

https://app.buildcities.com/assets/useLazyQuery-G5x-f5Dy.js

js buildcities.com collected 2026-09-28 07:34:22 UTC 4,385 bytes, 104 lines download raw bytes

1import { l as __assign } from "./vendor-shared-CkCIh-Sx.js";
2import { r as rehacktExports, t as mergeOptions, v as useQueryInternals, w as getDefaultFetchPolicy, x as useIsomorphicLayoutEffect, y as createMakeWatchQueryOptions, z as getObsQueryOptions, C as toQueryResult } from "./index-Cn8jK25t.js";
3var EAGER_METHODS = [
4  "refetch",
5  "reobserve",
6  "fetchMore",
7  "updateQuery",
8  "startPolling",
9  "stopPolling",
10  "subscribeToMore"
11];
12function useLazyQuery(query, options) {
13  var _a;
14  var execOptionsRef = rehacktExports.useRef();
15  var optionsRef = rehacktExports.useRef();
16  var queryRef = rehacktExports.useRef();
17  var merged = mergeOptions(options, execOptionsRef.current || {});
18  var document = (_a = merged === null || merged === void 0 ? void 0 : merged.query) !== null && _a !== void 0 ? _a : query;
19  optionsRef.current = options;
20  queryRef.current = document;
21  var queryHookOptions = __assign(__assign({}, merged), { skip: !execOptionsRef.current });
22  var _b = useQueryInternals(document, queryHookOptions), obsQueryFields = _b.obsQueryFields, useQueryResult = _b.result, client = _b.client, resultData = _b.resultData, observable = _b.observable, onQueryExecuted = _b.onQueryExecuted;
23  var initialFetchPolicy = observable.options.initialFetchPolicy || getDefaultFetchPolicy(queryHookOptions.defaultOptions, client.defaultOptions);
24  var forceUpdateState = rehacktExports.useReducer(function(tick) {
25    return tick + 1;
26  }, 0)[1];
27  var eagerMethods = rehacktExports.useMemo(function() {
28    var eagerMethods2 = {};
29    var _loop_1 = function(key2) {
30      var method = obsQueryFields[key2];
31      eagerMethods2[key2] = function() {
32        if (!execOptionsRef.current) {
33          execOptionsRef.current = /* @__PURE__ */ Object.create(null);
34          forceUpdateState();
35        }
36        return method.apply(this, arguments);
37      };
38    };
39    for (var _i = 0, EAGER_METHODS_1 = EAGER_METHODS; _i < EAGER_METHODS_1.length; _i++) {
40      var key = EAGER_METHODS_1[_i];
41      _loop_1(key);
42    }
43    return eagerMethods2;
44  }, [forceUpdateState, obsQueryFields]);
45  var called = !!execOptionsRef.current;
46  var result = rehacktExports.useMemo(function() {
47    return __assign(__assign(__assign({}, useQueryResult), eagerMethods), { called });
48  }, [useQueryResult, eagerMethods, called]);
49  var execute = rehacktExports.useCallback(function(executeOptions) {
50    execOptionsRef.current = executeOptions ? __assign(__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {
51      fetchPolicy: initialFetchPolicy
52    };
53    var options2 = mergeOptions(optionsRef.current, __assign({ query: queryRef.current }, execOptionsRef.current));
54    var promise = executeQuery(resultData, observable, client, document, __assign(__assign({}, options2), { skip: false }), onQueryExecuted).then(function(queryResult) {
55      return Object.assign(queryResult, eagerMethods);
56    });
57    promise.catch(function() {
58    });
59    return promise;
60  }, [
61    client,
62    document,
63    eagerMethods,
64    initialFetchPolicy,
65    observable,
66    resultData,
67    onQueryExecuted
68  ]);
69  var executeRef = rehacktExports.useRef(execute);
70  useIsomorphicLayoutEffect(function() {
71    executeRef.current = execute;
72  });
73  var stableExecute = rehacktExports.useCallback(function() {
74    var args = [];
75    for (var _i = 0; _i < arguments.length; _i++) {
76      args[_i] = arguments[_i];
77    }
78    return executeRef.current.apply(executeRef, args);
79  }, []);
80  return [stableExecute, result];
81}
82function executeQuery(resultData, observable, client, currentQuery, options, onQueryExecuted) {
83  var query = options.query || currentQuery;
84  var watchQueryOptions = createMakeWatchQueryOptions(client, query, options, false)(observable);
85  var concast = observable.reobserveAsConcast(getObsQueryOptions(observable, client, options, watchQueryOptions));
86  onQueryExecuted(watchQueryOptions);
87  return new Promise(function(resolve) {
88    var result;
89    concast.subscribe({
90      next: function(value) {
91        result = value;
92      },
93      error: function() {
94        resolve(toQueryResult(observable.getCurrentResult(), resultData.previousData, observable, client));
95      },
96      complete: function() {
97        resolve(toQueryResult(result, resultData.previousData, observable, client));
98      }
99    });
100  });
101}
102export {
103  useLazyQuery as u
104};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.